pulseed 0.4.15 → 0.4.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/agents/openai-codex.d.ts +2 -2
- package/dist/adapters/agents/openai-codex.js +2 -2
- package/dist/adapters/agents/openai-codex.js.map +1 -1
- package/dist/base/config/global-config.d.ts +44 -0
- package/dist/base/config/global-config.d.ts.map +1 -1
- package/dist/base/config/global-config.js +37 -0
- package/dist/base/config/global-config.js.map +1 -1
- package/dist/base/config/tool-metadata.d.ts +1 -1
- package/dist/base/config/tool-metadata.d.ts.map +1 -1
- package/dist/base/config/tool-metadata.js +21 -0
- package/dist/base/config/tool-metadata.js.map +1 -1
- package/dist/base/llm/codex-llm-client.d.ts +7 -1
- package/dist/base/llm/codex-llm-client.d.ts.map +1 -1
- package/dist/base/llm/codex-llm-client.js +10 -4
- package/dist/base/llm/codex-llm-client.js.map +1 -1
- package/dist/base/llm/provider-config.d.ts +2 -0
- package/dist/base/llm/provider-config.d.ts.map +1 -1
- package/dist/base/llm/provider-config.js +8 -0
- package/dist/base/llm/provider-config.js.map +1 -1
- package/dist/base/llm/provider-factory.d.ts.map +1 -1
- package/dist/base/llm/provider-factory.js +15 -0
- package/dist/base/llm/provider-factory.js.map +1 -1
- package/dist/interface/chat/chat-history.d.ts +1 -0
- package/dist/interface/chat/chat-history.d.ts.map +1 -1
- package/dist/interface/chat/chat-history.js +19 -0
- package/dist/interface/chat/chat-history.js.map +1 -1
- package/dist/interface/chat/chat-runner.d.ts +6 -0
- package/dist/interface/chat/chat-runner.d.ts.map +1 -1
- package/dist/interface/chat/chat-runner.js +148 -3
- package/dist/interface/chat/chat-runner.js.map +1 -1
- package/dist/interface/chat/mutation-tool-defs.d.ts +34 -0
- package/dist/interface/chat/mutation-tool-defs.d.ts.map +1 -1
- package/dist/interface/chat/mutation-tool-defs.js +148 -1
- package/dist/interface/chat/mutation-tool-defs.js.map +1 -1
- package/dist/interface/chat/self-knowledge-mutation-tools.d.ts +12 -0
- package/dist/interface/chat/self-knowledge-mutation-tools.d.ts.map +1 -0
- package/dist/interface/chat/self-knowledge-mutation-tools.js +261 -0
- package/dist/interface/chat/self-knowledge-mutation-tools.js.map +1 -0
- package/dist/interface/chat/self-knowledge-tools.d.ts +34 -0
- package/dist/interface/chat/self-knowledge-tools.d.ts.map +1 -0
- package/dist/interface/chat/self-knowledge-tools.js +258 -0
- package/dist/interface/chat/self-knowledge-tools.js.map +1 -0
- package/dist/interface/tui/app.d.ts +8 -0
- package/dist/interface/tui/app.d.ts.map +1 -1
- package/dist/interface/tui/app.js +50 -27
- package/dist/interface/tui/app.js.map +1 -1
- package/dist/interface/tui/chat.d.ts +2 -1
- package/dist/interface/tui/chat.d.ts.map +1 -1
- package/dist/interface/tui/chat.js +17 -22
- package/dist/interface/tui/chat.js.map +1 -1
- package/dist/interface/tui/clipboard.d.ts.map +1 -1
- package/dist/interface/tui/clipboard.js +2 -1
- package/dist/interface/tui/clipboard.js.map +1 -1
- package/dist/interface/tui/cursor-tracker.d.ts +4 -4
- package/dist/interface/tui/cursor-tracker.d.ts.map +1 -1
- package/dist/interface/tui/cursor-tracker.js +6 -10
- package/dist/interface/tui/cursor-tracker.js.map +1 -1
- package/dist/interface/tui/entry.d.ts.map +1 -1
- package/dist/interface/tui/entry.js +198 -154
- package/dist/interface/tui/entry.js.map +1 -1
- package/dist/interface/tui/flicker/AlternateScreen.d.ts +2 -1
- package/dist/interface/tui/flicker/AlternateScreen.d.ts.map +1 -1
- package/dist/interface/tui/flicker/AlternateScreen.js +5 -4
- package/dist/interface/tui/flicker/AlternateScreen.js.map +1 -1
- package/dist/interface/tui/flicker/MouseTracking.d.ts +2 -1
- package/dist/interface/tui/flicker/MouseTracking.d.ts.map +1 -1
- package/dist/interface/tui/flicker/MouseTracking.js +4 -3
- package/dist/interface/tui/flicker/MouseTracking.js.map +1 -1
- package/dist/interface/tui/flicker/frame-writer.js +3 -3
- package/dist/interface/tui/flicker/frame-writer.js.map +1 -1
- package/dist/interface/tui/fullscreen-chat.d.ts +3 -1
- package/dist/interface/tui/fullscreen-chat.d.ts.map +1 -1
- package/dist/interface/tui/fullscreen-chat.js +47 -44
- package/dist/interface/tui/fullscreen-chat.js.map +1 -1
- package/dist/interface/tui/git-branch.d.ts +2 -0
- package/dist/interface/tui/git-branch.d.ts.map +1 -0
- package/dist/interface/tui/git-branch.js +14 -0
- package/dist/interface/tui/git-branch.js.map +1 -0
- package/dist/interface/tui/output-controller.d.ts +10 -0
- package/dist/interface/tui/output-controller.d.ts.map +1 -0
- package/dist/interface/tui/output-controller.js +79 -0
- package/dist/interface/tui/output-controller.js.map +1 -0
- package/dist/interface/tui/terminal-output.d.ts +6 -0
- package/dist/interface/tui/terminal-output.d.ts.map +1 -0
- package/dist/interface/tui/terminal-output.js +11 -0
- package/dist/interface/tui/terminal-output.js.map +1 -0
- package/dist/interface/tui/test-app.d.ts +2 -1
- package/dist/interface/tui/test-app.d.ts.map +1 -1
- package/dist/interface/tui/test-app.js +2 -2
- package/dist/interface/tui/test-app.js.map +1 -1
- package/dist/interface/tui/test-entry.d.ts.map +1 -1
- package/dist/interface/tui/test-entry.js +40 -42
- package/dist/interface/tui/test-entry.js.map +1 -1
- package/dist/interface/tui/text-width.d.ts +3 -0
- package/dist/interface/tui/text-width.d.ts.map +1 -0
- package/dist/interface/tui/text-width.js +8 -0
- package/dist/interface/tui/text-width.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.d.ts +4 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.js +29 -5
- package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.d.ts +3 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.js +13 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts +5 -1
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js +4 -0
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/execution-policy.d.ts +26 -0
- package/dist/orchestrator/execution/agent-loop/execution-policy.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/execution-policy.js +45 -0
- package/dist/orchestrator/execution/agent-loop/execution-policy.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/index.d.ts +1 -0
- package/dist/orchestrator/execution/agent-loop/index.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/index.js +1 -0
- package/dist/orchestrator/execution/agent-loop/index.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.d.ts +2 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.js +2 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.js +11 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.d.ts +4 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.js +3 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.js.map +1 -1
- package/dist/orchestrator/execution/task/task-executor.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-executor.js +9 -14
- package/dist/orchestrator/execution/task/task-executor.js.map +1 -1
- package/dist/platform/soil/contracts.d.ts +36 -36
- package/dist/prompt/index.d.ts +12 -0
- package/dist/prompt/index.d.ts.map +1 -0
- package/dist/prompt/index.js +9 -0
- package/dist/prompt/index.js.map +1 -0
- package/dist/runtime/builtin-integrations.d.ts.map +1 -1
- package/dist/runtime/builtin-integrations.js +23 -1
- package/dist/runtime/builtin-integrations.js.map +1 -1
- package/dist/runtime/daemon/runner-lifecycle.d.ts +5 -0
- package/dist/runtime/daemon/runner-lifecycle.d.ts.map +1 -1
- package/dist/runtime/daemon/runner-lifecycle.js +6 -4
- package/dist/runtime/daemon/runner-lifecycle.js.map +1 -1
- package/dist/runtime/daemon/runner.d.ts +3 -0
- package/dist/runtime/daemon/runner.d.ts.map +1 -1
- package/dist/runtime/daemon/runner.js +1 -0
- package/dist/runtime/daemon/runner.js.map +1 -1
- package/dist/runtime/interactive-automation/default-registry.d.ts +9 -0
- package/dist/runtime/interactive-automation/default-registry.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/default-registry.js +24 -0
- package/dist/runtime/interactive-automation/default-registry.js.map +1 -0
- package/dist/runtime/interactive-automation/index.d.ts +9 -0
- package/dist/runtime/interactive-automation/index.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/index.js +9 -0
- package/dist/runtime/interactive-automation/index.js.map +1 -0
- package/dist/runtime/interactive-automation/providers/anthropic-computer-use.d.ts +14 -0
- package/dist/runtime/interactive-automation/providers/anthropic-computer-use.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/providers/anthropic-computer-use.js +33 -0
- package/dist/runtime/interactive-automation/providers/anthropic-computer-use.js.map +1 -0
- package/dist/runtime/interactive-automation/providers/codex-app.d.ts +29 -0
- package/dist/runtime/interactive-automation/providers/codex-app.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/providers/codex-app.js +67 -0
- package/dist/runtime/interactive-automation/providers/codex-app.js.map +1 -0
- package/dist/runtime/interactive-automation/providers/manus-browser.d.ts +23 -0
- package/dist/runtime/interactive-automation/providers/manus-browser.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/providers/manus-browser.js +88 -0
- package/dist/runtime/interactive-automation/providers/manus-browser.js.map +1 -0
- package/dist/runtime/interactive-automation/providers/noop.d.ts +21 -0
- package/dist/runtime/interactive-automation/providers/noop.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/providers/noop.js +59 -0
- package/dist/runtime/interactive-automation/providers/noop.js.map +1 -0
- package/dist/runtime/interactive-automation/providers/perplexity-research.d.ts +25 -0
- package/dist/runtime/interactive-automation/providers/perplexity-research.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/providers/perplexity-research.js +124 -0
- package/dist/runtime/interactive-automation/providers/perplexity-research.js.map +1 -0
- package/dist/runtime/interactive-automation/registry.d.ts +20 -0
- package/dist/runtime/interactive-automation/registry.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/registry.js +55 -0
- package/dist/runtime/interactive-automation/registry.js.map +1 -0
- package/dist/runtime/interactive-automation/types.d.ts +132 -0
- package/dist/runtime/interactive-automation/types.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/types.js +8 -0
- package/dist/runtime/interactive-automation/types.js.map +1 -0
- package/dist/runtime/types/builtin-integration.d.ts +2 -2
- package/dist/runtime/types/builtin-integration.d.ts.map +1 -1
- package/dist/tools/automation/InteractiveAutomationTools.d.ts +333 -0
- package/dist/tools/automation/InteractiveAutomationTools.d.ts.map +1 -0
- package/dist/tools/automation/InteractiveAutomationTools.js +424 -0
- package/dist/tools/automation/InteractiveAutomationTools.js.map +1 -0
- package/dist/tools/automation/index.d.ts +2 -0
- package/dist/tools/automation/index.d.ts.map +1 -0
- package/dist/tools/automation/index.js +2 -0
- package/dist/tools/automation/index.js.map +1 -0
- package/dist/tools/builtin/index.d.ts +6 -0
- package/dist/tools/builtin/index.d.ts.map +1 -1
- package/dist/tools/builtin/index.js +25 -0
- package/dist/tools/builtin/index.js.map +1 -1
- package/dist/tools/execution/SoilOpenTool/SoilOpenTool.d.ts +4 -4
- package/dist/tools/execution/SpawnSessionTool/SpawnSessionTool.d.ts +40 -8
- package/dist/tools/execution/SpawnSessionTool/SpawnSessionTool.d.ts.map +1 -1
- package/dist/tools/execution/SpawnSessionTool/SpawnSessionTool.js +28 -4
- package/dist/tools/execution/SpawnSessionTool/SpawnSessionTool.js.map +1 -1
- package/dist/tools/executor.d.ts.map +1 -1
- package/dist/tools/executor.js +16 -0
- package/dist/tools/executor.js.map +1 -1
- package/dist/tools/fs/FileEditTool/FileEditTool.js +1 -1
- package/dist/tools/fs/FileEditTool/FileEditTool.js.map +1 -1
- package/dist/tools/fs/FileValidationTool/FileValidationTool.d.ts +1 -1
- package/dist/tools/fs/FileValidationTool/FileValidationTool.d.ts.map +1 -1
- package/dist/tools/fs/FileValidationTool/FileValidationTool.js +3 -16
- package/dist/tools/fs/FileValidationTool/FileValidationTool.js.map +1 -1
- package/dist/tools/fs/FileValidationTool/protected-path-policy.d.ts +12 -0
- package/dist/tools/fs/FileValidationTool/protected-path-policy.d.ts.map +1 -0
- package/dist/tools/fs/FileValidationTool/protected-path-policy.js +58 -0
- package/dist/tools/fs/FileValidationTool/protected-path-policy.js.map +1 -0
- package/dist/tools/fs/FileWriteTool/FileWriteTool.js +1 -1
- package/dist/tools/fs/FileWriteTool/FileWriteTool.js.map +1 -1
- package/dist/tools/fs/GlobTool/GlobTool.js +1 -1
- package/dist/tools/fs/GlobTool/GlobTool.js.map +1 -1
- package/dist/tools/fs/GrepTool/GrepTool.js +1 -1
- package/dist/tools/fs/GrepTool/GrepTool.js.map +1 -1
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.js +1 -1
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.js.map +1 -1
- package/dist/tools/fs/ListDirTool/ListDirTool.js +1 -1
- package/dist/tools/fs/ListDirTool/ListDirTool.js.map +1 -1
- package/dist/tools/fs/ReadTool/ReadTool.js +1 -1
- package/dist/tools/fs/ReadTool/ReadTool.js.map +1 -1
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.js +1 -1
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.js.map +1 -1
- package/dist/tools/network/WebSearchTool/WebSearchTool.d.ts.map +1 -1
- package/dist/tools/network/WebSearchTool/WebSearchTool.js +1 -0
- package/dist/tools/network/WebSearchTool/WebSearchTool.js.map +1 -1
- package/dist/tools/permission.d.ts +1 -0
- package/dist/tools/permission.d.ts.map +1 -1
- package/dist/tools/permission.js +33 -0
- package/dist/tools/permission.js.map +1 -1
- package/dist/tools/system/EnvTool/EnvTool.d.ts +4 -4
- package/dist/tools/system/ShellTool/ShellTool.d.ts.map +1 -1
- package/dist/tools/system/ShellTool/ShellTool.js +6 -46
- package/dist/tools/system/ShellTool/ShellTool.js.map +1 -1
- package/dist/tools/system/ShellTool/command-policy.d.ts +14 -0
- package/dist/tools/system/ShellTool/command-policy.d.ts.map +1 -0
- package/dist/tools/system/ShellTool/command-policy.js +121 -0
- package/dist/tools/system/ShellTool/command-policy.js.map +1 -0
- package/dist/tools/types.d.ts +9 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -1
- package/package.json +4 -4
|
@@ -100,6 +100,25 @@ export class ChatHistory {
|
|
|
100
100
|
await this.persist();
|
|
101
101
|
return { before, after: this.session.messages.length };
|
|
102
102
|
}
|
|
103
|
+
async removeLastTurn() {
|
|
104
|
+
if (this.session.messages.length === 0)
|
|
105
|
+
return 0;
|
|
106
|
+
let removed = 0;
|
|
107
|
+
while (this.session.messages.length > 0) {
|
|
108
|
+
const message = this.session.messages.pop();
|
|
109
|
+
if (!message)
|
|
110
|
+
break;
|
|
111
|
+
removed += 1;
|
|
112
|
+
if (message.role === "user")
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
this.session.messages = this.session.messages.map((message, index) => ({
|
|
116
|
+
...message,
|
|
117
|
+
turnIndex: index,
|
|
118
|
+
}));
|
|
119
|
+
await this.persist();
|
|
120
|
+
return removed;
|
|
121
|
+
}
|
|
103
122
|
getMessages() {
|
|
104
123
|
return [...this.session.messages];
|
|
105
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../../src/interface/chat/chat-history.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../../src/interface/chat/chat-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,6 +113,7 @@ export declare class ChatRunner {
|
|
|
113
113
|
onEvent: ((event: ChatEvent) => void) | undefined;
|
|
114
114
|
private nativeAgentLoopStatePath;
|
|
115
115
|
private runtimeControlContext;
|
|
116
|
+
private sessionExecutionPolicy;
|
|
116
117
|
constructor(deps: ChatRunnerDeps);
|
|
117
118
|
/**
|
|
118
119
|
* Initialize a persistent session for interactive (multi-turn) mode.
|
|
@@ -155,6 +156,10 @@ export declare class ChatRunner {
|
|
|
155
156
|
private handleCompact;
|
|
156
157
|
private handleCommand;
|
|
157
158
|
private handleTrack;
|
|
159
|
+
private handlePermissions;
|
|
160
|
+
private handleReview;
|
|
161
|
+
private handleFork;
|
|
162
|
+
private handleUndo;
|
|
158
163
|
private handleTend;
|
|
159
164
|
private handleTendConfirmation;
|
|
160
165
|
/**
|
|
@@ -197,6 +202,7 @@ export declare class ChatRunner {
|
|
|
197
202
|
private emitLifecycleEndEvent;
|
|
198
203
|
private emitLifecycleErrorEvent;
|
|
199
204
|
/** Build a ToolCallContext from ChatRunnerDeps for tool dispatch. */
|
|
205
|
+
private getSessionExecutionPolicy;
|
|
200
206
|
private buildToolCallContext;
|
|
201
207
|
}
|
|
202
208
|
//# sourceMappingURL=chat-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-runner.d.ts","sourceRoot":"","sources":["../../../src/interface/chat/chat-runner.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,+CAA+C,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAK/D,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAK5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAgB,SAAS,EAAoB,MAAM,kBAAkB,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mEAAmE,CAAC;AAW7G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-runner.d.ts","sourceRoot":"","sources":["../../../src/interface/chat/chat-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ import { TendCommand } from "./tend-command.js";
|
|
|
18
18
|
import { EventSubscriber } from "./event-subscriber.js";
|
|
19
19
|
import { buildPromptedToolProtocolSystemPrompt, extractPromptedToolCalls, } from "../../orchestrator/execution/agent-loop/prompted-tool-protocol.js";
|
|
20
20
|
import { recognizeRuntimeControlIntent } from "../../runtime/control/index.js";
|
|
21
|
+
import { resolveExecutionPolicy, summarizeExecutionPolicy, withExecutionPolicyOverrides, } from "../../orchestrator/execution/agent-loop/execution-policy.js";
|
|
21
22
|
const DEFAULT_TIMEOUT_MS = 120_000;
|
|
22
23
|
const MAX_VERIFY_RETRIES = 2;
|
|
23
24
|
const MAX_TOOL_LOOPS = 5;
|
|
@@ -48,10 +49,16 @@ Goals and tasks
|
|
|
48
49
|
Configuration
|
|
49
50
|
/config Show provider configuration with secrets masked
|
|
50
51
|
/model Show the active provider/model/adapter
|
|
52
|
+
/permissions [args] Show or update session execution policy
|
|
51
53
|
/plugins List installed plugins when plugin metadata is available
|
|
52
54
|
|
|
55
|
+
Review and branching
|
|
56
|
+
/review Show current diff summary and verification context
|
|
57
|
+
/fork [title] Fork the current chat session into a new session
|
|
58
|
+
/undo Remove the latest chat turn from session history
|
|
59
|
+
|
|
53
60
|
Deferred
|
|
54
|
-
/retry
|
|
61
|
+
/retry and /usage are intentionally not supported yet.`;
|
|
55
62
|
// ─── Helpers ───
|
|
56
63
|
function checkGitChanges(cwd) {
|
|
57
64
|
return new Promise((resolve) => {
|
|
@@ -114,6 +121,7 @@ export class ChatRunner {
|
|
|
114
121
|
onEvent = undefined;
|
|
115
122
|
nativeAgentLoopStatePath = null;
|
|
116
123
|
runtimeControlContext = null;
|
|
124
|
+
sessionExecutionPolicy = null;
|
|
117
125
|
constructor(deps) {
|
|
118
126
|
this.deps = deps;
|
|
119
127
|
}
|
|
@@ -130,6 +138,7 @@ export class ChatRunner {
|
|
|
130
138
|
this.sessionActive = true;
|
|
131
139
|
this.nativeAgentLoopStatePath = `chat/agentloop/${sessionId}.state.json`;
|
|
132
140
|
this.history.setAgentLoopStatePath(this.nativeAgentLoopStatePath);
|
|
141
|
+
this.sessionExecutionPolicy = null;
|
|
133
142
|
}
|
|
134
143
|
startSessionFromLoadedSession(session) {
|
|
135
144
|
const chatSession = this.loadedSessionToChatSession(session);
|
|
@@ -138,6 +147,7 @@ export class ChatRunner {
|
|
|
138
147
|
this.sessionActive = true;
|
|
139
148
|
this.nativeAgentLoopStatePath = session.agentLoopStatePath ?? `chat/agentloop/${session.id}.state.json`;
|
|
140
149
|
this.history.setAgentLoopStatePath(this.nativeAgentLoopStatePath);
|
|
150
|
+
this.sessionExecutionPolicy = null;
|
|
141
151
|
}
|
|
142
152
|
getSessionId() {
|
|
143
153
|
return this.history?.getSessionId() ?? null;
|
|
@@ -613,9 +623,21 @@ export class ChatRunner {
|
|
|
613
623
|
if (cmd === "/model") {
|
|
614
624
|
return this.handleModel(start);
|
|
615
625
|
}
|
|
626
|
+
if (cmd === "/permissions") {
|
|
627
|
+
return this.handlePermissions(trimmed.slice("/permissions".length).trim(), start);
|
|
628
|
+
}
|
|
616
629
|
if (cmd === "/plugins") {
|
|
617
630
|
return this.handlePlugins(start);
|
|
618
631
|
}
|
|
632
|
+
if (cmd === "/review") {
|
|
633
|
+
return this.handleReview(start);
|
|
634
|
+
}
|
|
635
|
+
if (cmd === "/fork") {
|
|
636
|
+
return this.handleFork(trimmed.slice("/fork".length).trim(), start);
|
|
637
|
+
}
|
|
638
|
+
if (cmd === "/undo") {
|
|
639
|
+
return this.handleUndo(start);
|
|
640
|
+
}
|
|
619
641
|
if (cmd === "/exit") {
|
|
620
642
|
return { success: true, output: "Exiting chat mode.", elapsed_ms: Date.now() - start };
|
|
621
643
|
}
|
|
@@ -668,6 +690,114 @@ export class ChatRunner {
|
|
|
668
690
|
};
|
|
669
691
|
}
|
|
670
692
|
}
|
|
693
|
+
async handlePermissions(args, start) {
|
|
694
|
+
const policy = await this.getSessionExecutionPolicy();
|
|
695
|
+
if (!args) {
|
|
696
|
+
return {
|
|
697
|
+
success: true,
|
|
698
|
+
output: summarizeExecutionPolicy(policy),
|
|
699
|
+
elapsed_ms: Date.now() - start,
|
|
700
|
+
};
|
|
701
|
+
}
|
|
702
|
+
const tokens = args.toLowerCase().split(/\s+/).filter(Boolean);
|
|
703
|
+
let nextPolicy = policy;
|
|
704
|
+
for (let index = 0; index < tokens.length; index++) {
|
|
705
|
+
const token = tokens[index];
|
|
706
|
+
if (token === "read-only" || token === "readonly" || token === "read_only") {
|
|
707
|
+
nextPolicy = withExecutionPolicyOverrides(nextPolicy, { sandboxMode: "read_only" });
|
|
708
|
+
continue;
|
|
709
|
+
}
|
|
710
|
+
if (token === "workspace-write" || token === "workspace_write") {
|
|
711
|
+
nextPolicy = withExecutionPolicyOverrides(nextPolicy, { sandboxMode: "workspace_write" });
|
|
712
|
+
continue;
|
|
713
|
+
}
|
|
714
|
+
if (token === "full-access" || token === "danger-full-access" || token === "danger_full_access") {
|
|
715
|
+
nextPolicy = withExecutionPolicyOverrides(nextPolicy, { sandboxMode: "danger_full_access" });
|
|
716
|
+
continue;
|
|
717
|
+
}
|
|
718
|
+
if (token === "network" && tokens[index + 1]) {
|
|
719
|
+
nextPolicy = withExecutionPolicyOverrides(nextPolicy, { networkAccess: tokens[index + 1] === "on" });
|
|
720
|
+
index += 1;
|
|
721
|
+
continue;
|
|
722
|
+
}
|
|
723
|
+
if (token === "approval" && tokens[index + 1]) {
|
|
724
|
+
const approvalPolicy = tokens[index + 1];
|
|
725
|
+
if (approvalPolicy === "never" || approvalPolicy === "on_request" || approvalPolicy === "untrusted") {
|
|
726
|
+
nextPolicy = withExecutionPolicyOverrides(nextPolicy, { approvalPolicy });
|
|
727
|
+
index += 1;
|
|
728
|
+
continue;
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
return {
|
|
732
|
+
success: false,
|
|
733
|
+
output: "Usage: /permissions [read-only|workspace-write|full-access] [network on|off] [approval on_request|never|untrusted]",
|
|
734
|
+
elapsed_ms: Date.now() - start,
|
|
735
|
+
};
|
|
736
|
+
}
|
|
737
|
+
this.sessionExecutionPolicy = nextPolicy;
|
|
738
|
+
return {
|
|
739
|
+
success: true,
|
|
740
|
+
output: summarizeExecutionPolicy(nextPolicy),
|
|
741
|
+
elapsed_ms: Date.now() - start,
|
|
742
|
+
};
|
|
743
|
+
}
|
|
744
|
+
async handleReview(start) {
|
|
745
|
+
const cwd = this.sessionCwd ?? process.cwd();
|
|
746
|
+
const diffStat = await checkGitChanges(cwd);
|
|
747
|
+
const policy = await this.getSessionExecutionPolicy();
|
|
748
|
+
const output = [
|
|
749
|
+
"Review summary",
|
|
750
|
+
diffStat ? diffStat : "No uncommitted changes detected.",
|
|
751
|
+
"",
|
|
752
|
+
"Execution policy",
|
|
753
|
+
summarizeExecutionPolicy(policy),
|
|
754
|
+
].join("\n");
|
|
755
|
+
return { success: true, output, elapsed_ms: Date.now() - start };
|
|
756
|
+
}
|
|
757
|
+
async handleFork(title, start) {
|
|
758
|
+
const cwd = this.sessionCwd ?? process.cwd();
|
|
759
|
+
const sessionId = crypto.randomUUID();
|
|
760
|
+
const baseSession = this.history?.getSessionData() ?? {
|
|
761
|
+
id: sessionId,
|
|
762
|
+
cwd,
|
|
763
|
+
createdAt: new Date().toISOString(),
|
|
764
|
+
updatedAt: new Date().toISOString(),
|
|
765
|
+
messages: [],
|
|
766
|
+
};
|
|
767
|
+
const now = new Date().toISOString();
|
|
768
|
+
const forkedSession = {
|
|
769
|
+
...baseSession,
|
|
770
|
+
id: sessionId,
|
|
771
|
+
createdAt: now,
|
|
772
|
+
updatedAt: now,
|
|
773
|
+
title: title || (baseSession.title ? `${baseSession.title} (fork)` : "Forked session"),
|
|
774
|
+
};
|
|
775
|
+
this.history = ChatHistory.fromSession(this.deps.stateManager, forkedSession);
|
|
776
|
+
this.sessionCwd = cwd;
|
|
777
|
+
this.sessionActive = true;
|
|
778
|
+
this.nativeAgentLoopStatePath = `chat/agentloop/${sessionId}.state.json`;
|
|
779
|
+
this.history.setAgentLoopStatePath(this.nativeAgentLoopStatePath);
|
|
780
|
+
await this.history.persist();
|
|
781
|
+
return {
|
|
782
|
+
success: true,
|
|
783
|
+
output: `Forked chat session as ${sessionId}.`,
|
|
784
|
+
elapsed_ms: Date.now() - start,
|
|
785
|
+
};
|
|
786
|
+
}
|
|
787
|
+
async handleUndo(start) {
|
|
788
|
+
if (!this.history) {
|
|
789
|
+
return { success: false, output: "No active chat session to undo.", elapsed_ms: Date.now() - start };
|
|
790
|
+
}
|
|
791
|
+
const removed = await this.history.removeLastTurn();
|
|
792
|
+
if (removed === 0) {
|
|
793
|
+
return { success: false, output: "No chat turn to undo.", elapsed_ms: Date.now() - start };
|
|
794
|
+
}
|
|
795
|
+
return {
|
|
796
|
+
success: true,
|
|
797
|
+
output: `Removed ${removed} message(s) from chat history. File changes were not reverted.`,
|
|
798
|
+
elapsed_ms: Date.now() - start,
|
|
799
|
+
};
|
|
800
|
+
}
|
|
671
801
|
async handleTend(args, start) {
|
|
672
802
|
if (!this.deps.llmClient) {
|
|
673
803
|
return {
|
|
@@ -1031,6 +1161,9 @@ export class ChatRunner {
|
|
|
1031
1161
|
}
|
|
1032
1162
|
return false;
|
|
1033
1163
|
},
|
|
1164
|
+
toolCallContext: {
|
|
1165
|
+
executionPolicy: await this.getSessionExecutionPolicy(),
|
|
1166
|
+
},
|
|
1034
1167
|
...(this.nativeAgentLoopStatePath ? { resumeStatePath: this.nativeAgentLoopStatePath } : {}),
|
|
1035
1168
|
...(resumeState ? { resumeState } : {}),
|
|
1036
1169
|
...(resumeOnly ? { resumeOnly: true } : {}),
|
|
@@ -1213,7 +1346,7 @@ export class ChatRunner {
|
|
|
1213
1346
|
async executeWithTools(prompt, eventContext, assistantBuffer, systemPrompt) {
|
|
1214
1347
|
const llmClient = this.deps.llmClient;
|
|
1215
1348
|
const messages = [{ role: "user", content: prompt }];
|
|
1216
|
-
const toolCallContext = this.buildToolCallContext();
|
|
1349
|
+
const toolCallContext = await this.buildToolCallContext();
|
|
1217
1350
|
for (let loop = 0; loop < MAX_TOOL_LOOPS; loop++) {
|
|
1218
1351
|
// Recompute tools each iteration so newly activated deferred tools are included
|
|
1219
1352
|
const tools = this.deps.registry
|
|
@@ -1667,7 +1800,18 @@ export class ChatRunner {
|
|
|
1667
1800
|
});
|
|
1668
1801
|
}
|
|
1669
1802
|
/** Build a ToolCallContext from ChatRunnerDeps for tool dispatch. */
|
|
1670
|
-
|
|
1803
|
+
async getSessionExecutionPolicy() {
|
|
1804
|
+
if (this.sessionExecutionPolicy)
|
|
1805
|
+
return this.sessionExecutionPolicy;
|
|
1806
|
+
const config = await loadProviderConfig({ saveMigration: false });
|
|
1807
|
+
this.sessionExecutionPolicy = resolveExecutionPolicy({
|
|
1808
|
+
workspaceRoot: this.sessionCwd ?? process.cwd(),
|
|
1809
|
+
security: config.agent_loop?.security,
|
|
1810
|
+
});
|
|
1811
|
+
return this.sessionExecutionPolicy;
|
|
1812
|
+
}
|
|
1813
|
+
async buildToolCallContext() {
|
|
1814
|
+
const executionPolicy = await this.getSessionExecutionPolicy();
|
|
1671
1815
|
return {
|
|
1672
1816
|
cwd: this.sessionCwd ?? process.cwd(),
|
|
1673
1817
|
goalId: this.deps.goalId ?? "",
|
|
@@ -1679,6 +1823,7 @@ export class ChatRunner {
|
|
|
1679
1823
|
}
|
|
1680
1824
|
return false;
|
|
1681
1825
|
},
|
|
1826
|
+
executionPolicy,
|
|
1682
1827
|
};
|
|
1683
1828
|
}
|
|
1684
1829
|
}
|