refactor(default-mode): inject ultrawork via system prompt instead of visible text
When default_mode.ultrawork is enabled, inject the ultrawork behavioral instructions into the system prompt (experimental.chat.system.transform) instead of prepending them to the user's visible chat message. - system-transform.ts: No-op handler now injects ultrawork message into output.system[] when defaultMode.ultrawork is active. Checks for existing <ultrawork-mode> tag to avoid re-injection after compaction. - keyword-detector/hook.ts: Removes the visible text injection (output.parts[].text prepend) for default_mode.ultrawork path. Only shows the toast as the user-facing indicator. - plugin-interface.ts: Wires getUltraworkMessage from keyword-detector into createSystemTransformHandler. Result: Ultrawork mode activates silently via system prompt — the chat stays clean, and only a toast shows 'Ultrawork Mode Active'.
This commit is contained in:
@@ -7,6 +7,7 @@ import { createChatMessageHandler } from "./plugin/chat-message"
|
||||
import { createCommandExecuteBeforeHandler } from "./plugin/command-execute-before"
|
||||
import { createMessagesTransformHandler } from "./plugin/messages-transform"
|
||||
import { createSystemTransformHandler } from "./plugin/system-transform"
|
||||
import { getUltraworkMessage } from "./hooks/keyword-detector/ultrawork"
|
||||
import { createEventHandler } from "./plugin/event"
|
||||
import { createToolExecuteAfterHandler } from "./plugin/tool-execute-after"
|
||||
import { createToolExecuteBeforeHandler } from "./plugin/tool-execute-before"
|
||||
@@ -58,7 +59,10 @@ export function createPluginInterface(args: {
|
||||
hooks,
|
||||
}),
|
||||
|
||||
"experimental.chat.system.transform": createSystemTransformHandler(),
|
||||
"experimental.chat.system.transform": createSystemTransformHandler(
|
||||
pluginConfig.default_mode,
|
||||
getUltraworkMessage,
|
||||
),
|
||||
|
||||
config: managers.configHandler,
|
||||
|
||||
|
||||
Reference in New Issue
Block a user