pulseed 0.4.6 → 0.4.7
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/README.md +4 -0
- package/dist/adapters/agents/openclaw-acp.d.ts +32 -0
- package/dist/adapters/agents/openclaw-acp.d.ts.map +1 -0
- package/dist/adapters/agents/openclaw-acp.js +212 -0
- package/dist/adapters/agents/openclaw-acp.js.map +1 -0
- package/dist/adapters/datasources/openclaw-datasource.d.ts +33 -0
- package/dist/adapters/datasources/openclaw-datasource.d.ts.map +1 -0
- package/dist/adapters/datasources/openclaw-datasource.js +176 -0
- package/dist/adapters/datasources/openclaw-datasource.js.map +1 -0
- package/dist/base/state/state-lock.d.ts +3 -1
- package/dist/base/state/state-lock.d.ts.map +1 -1
- package/dist/base/state/state-lock.js +52 -10
- package/dist/base/state/state-lock.js.map +1 -1
- package/dist/base/state/state-manager-goal-write.d.ts +4 -0
- package/dist/base/state/state-manager-goal-write.d.ts.map +1 -1
- package/dist/base/state/state-manager-goal-write.js +45 -3
- package/dist/base/state/state-manager-goal-write.js.map +1 -1
- package/dist/base/state/state-manager-wal.d.ts.map +1 -1
- package/dist/base/state/state-manager-wal.js +12 -0
- package/dist/base/state/state-manager-wal.js.map +1 -1
- package/dist/base/state/state-manager.d.ts +1 -1
- package/dist/base/state/state-manager.d.ts.map +1 -1
- package/dist/base/state/state-manager.js +129 -88
- package/dist/base/state/state-manager.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/interface/chat/chat-event-state.d.ts.map +1 -1
- package/dist/interface/chat/chat-event-state.js +12 -24
- package/dist/interface/chat/chat-event-state.js.map +1 -1
- package/dist/interface/chat/chat-events.d.ts +9 -1
- package/dist/interface/chat/chat-events.d.ts.map +1 -1
- package/dist/interface/chat/chat-runner.d.ts +19 -0
- package/dist/interface/chat/chat-runner.d.ts.map +1 -1
- package/dist/interface/chat/chat-runner.js +101 -5
- package/dist/interface/chat/chat-runner.js.map +1 -1
- package/dist/interface/chat/cross-platform-session.d.ts.map +1 -1
- package/dist/interface/chat/cross-platform-session.js +36 -0
- package/dist/interface/chat/cross-platform-session.js.map +1 -1
- package/dist/interface/cli/commands/chat.d.ts.map +1 -1
- package/dist/interface/cli/commands/chat.js +9 -0
- package/dist/interface/cli/commands/chat.js.map +1 -1
- package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
- package/dist/interface/cli/commands/daemon.js +14 -0
- package/dist/interface/cli/commands/daemon.js.map +1 -1
- package/dist/interface/cli/commands/doctor.d.ts +3 -0
- package/dist/interface/cli/commands/doctor.d.ts.map +1 -1
- package/dist/interface/cli/commands/doctor.js +136 -1
- package/dist/interface/cli/commands/doctor.js.map +1 -1
- package/dist/interface/cli/commands/setup/import/apply.d.ts +3 -0
- package/dist/interface/cli/commands/setup/import/apply.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/apply.js +140 -0
- package/dist/interface/cli/commands/setup/import/apply.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/constants.d.ts +5 -0
- package/dist/interface/cli/commands/setup/import/constants.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/constants.js +19 -0
- package/dist/interface/cli/commands/setup/import/constants.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/discovery.d.ts +3 -0
- package/dist/interface/cli/commands/setup/import/discovery.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/discovery.js +140 -0
- package/dist/interface/cli/commands/setup/import/discovery.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/flow.d.ts +5 -0
- package/dist/interface/cli/commands/setup/import/flow.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/flow.js +138 -0
- package/dist/interface/cli/commands/setup/import/flow.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/fs-utils.d.ts +9 -0
- package/dist/interface/cli/commands/setup/import/fs-utils.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/fs-utils.js +83 -0
- package/dist/interface/cli/commands/setup/import/fs-utils.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/mcp.d.ts +4 -0
- package/dist/interface/cli/commands/setup/import/mcp.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/mcp.js +71 -0
- package/dist/interface/cli/commands/setup/import/mcp.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/parse.d.ts +7 -0
- package/dist/interface/cli/commands/setup/import/parse.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/parse.js +40 -0
- package/dist/interface/cli/commands/setup/import/parse.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/provider.d.ts +4 -0
- package/dist/interface/cli/commands/setup/import/provider.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/provider.js +142 -0
- package/dist/interface/cli/commands/setup/import/provider.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/types.d.ts +53 -0
- package/dist/interface/cli/commands/setup/import/types.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/types.js +2 -0
- package/dist/interface/cli/commands/setup/import/types.js.map +1 -0
- package/dist/interface/cli/commands/setup/steps-adapter.d.ts +1 -1
- package/dist/interface/cli/commands/setup/steps-adapter.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/steps-adapter.js +32 -5
- package/dist/interface/cli/commands/setup/steps-adapter.js.map +1 -1
- package/dist/interface/cli/commands/setup/steps-identity.d.ts +2 -2
- package/dist/interface/cli/commands/setup/steps-identity.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/steps-identity.js +10 -4
- package/dist/interface/cli/commands/setup/steps-identity.js.map +1 -1
- package/dist/interface/cli/commands/setup/steps-provider.d.ts +4 -4
- package/dist/interface/cli/commands/setup/steps-provider.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/steps-provider.js +58 -10
- package/dist/interface/cli/commands/setup/steps-provider.js.map +1 -1
- package/dist/interface/cli/commands/setup/steps-runtime.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/steps-runtime.js +2 -3
- package/dist/interface/cli/commands/setup/steps-runtime.js.map +1 -1
- package/dist/interface/cli/commands/setup-wizard.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup-wizard.js +309 -62
- package/dist/interface/cli/commands/setup-wizard.js.map +1 -1
- package/dist/interface/cli/setup.d.ts.map +1 -1
- package/dist/interface/cli/setup.js +1 -1
- package/dist/interface/cli/setup.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.d.ts +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.js +91 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.js.map +1 -1
- package/dist/orchestrator/execution/pipeline-executor.d.ts +1 -0
- package/dist/orchestrator/execution/pipeline-executor.d.ts.map +1 -1
- package/dist/orchestrator/execution/pipeline-executor.js +39 -8
- package/dist/orchestrator/execution/pipeline-executor.js.map +1 -1
- package/dist/orchestrator/execution/result-reconciler.d.ts.map +1 -1
- package/dist/orchestrator/execution/result-reconciler.js +79 -54
- package/dist/orchestrator/execution/result-reconciler.js.map +1 -1
- package/dist/orchestrator/execution/task/task-execution-helpers.d.ts +2 -1
- package/dist/orchestrator/execution/task/task-execution-helpers.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-execution-helpers.js +11 -1
- package/dist/orchestrator/execution/task/task-execution-helpers.js.map +1 -1
- package/dist/orchestrator/execution/task/task-lifecycle.d.ts +1 -1
- package/dist/orchestrator/execution/task/task-lifecycle.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-lifecycle.js +33 -0
- package/dist/orchestrator/execution/task/task-lifecycle.js.map +1 -1
- package/dist/orchestrator/goal/goal-dependency-graph.d.ts.map +1 -1
- package/dist/orchestrator/goal/goal-dependency-graph.js +20 -8
- package/dist/orchestrator/goal/goal-dependency-graph.js.map +1 -1
- package/dist/orchestrator/goal/goal-refiner.d.ts +3 -5
- package/dist/orchestrator/goal/goal-refiner.d.ts.map +1 -1
- package/dist/orchestrator/goal/goal-refiner.js +3 -5
- package/dist/orchestrator/goal/goal-refiner.js.map +1 -1
- package/dist/orchestrator/knowledge/memory/memory-lifecycle.d.ts +2 -0
- package/dist/orchestrator/knowledge/memory/memory-lifecycle.d.ts.map +1 -0
- package/dist/orchestrator/knowledge/memory/memory-lifecycle.js +2 -0
- package/dist/orchestrator/knowledge/memory/memory-lifecycle.js.map +1 -0
- package/dist/orchestrator/strategy/cross-goal-portfolio.d.ts.map +1 -1
- package/dist/orchestrator/strategy/cross-goal-portfolio.js +20 -12
- package/dist/orchestrator/strategy/cross-goal-portfolio.js.map +1 -1
- package/dist/orchestrator/strategy/portfolio-manager.d.ts.map +1 -1
- package/dist/orchestrator/strategy/portfolio-manager.js +8 -4
- package/dist/orchestrator/strategy/portfolio-manager.js.map +1 -1
- package/dist/orchestrator/strategy/strategy-manager-base.d.ts.map +1 -1
- package/dist/orchestrator/strategy/strategy-manager-base.js +29 -24
- package/dist/orchestrator/strategy/strategy-manager-base.js.map +1 -1
- package/dist/platform/dream/dream-soil-sync.d.ts +2 -0
- package/dist/platform/dream/dream-soil-sync.d.ts.map +1 -1
- package/dist/platform/dream/dream-soil-sync.js +19 -0
- package/dist/platform/dream/dream-soil-sync.js.map +1 -1
- package/dist/platform/drive/satisficing-judge.d.ts.map +1 -1
- package/dist/platform/drive/satisficing-judge.js +20 -6
- package/dist/platform/drive/satisficing-judge.js.map +1 -1
- package/dist/platform/knowledge/knowledge-manager-lint.d.ts.map +1 -1
- package/dist/platform/knowledge/knowledge-manager-lint.js +4 -3
- package/dist/platform/knowledge/knowledge-manager-lint.js.map +1 -1
- package/dist/platform/knowledge/knowledge-manager.d.ts.map +1 -1
- package/dist/platform/knowledge/knowledge-manager.js +2 -1
- package/dist/platform/knowledge/knowledge-manager.js.map +1 -1
- package/dist/platform/knowledge/knowledge-search.d.ts.map +1 -1
- package/dist/platform/knowledge/knowledge-search.js +15 -3
- package/dist/platform/knowledge/knowledge-search.js.map +1 -1
- package/dist/platform/knowledge/learning/learning-cross-goal.d.ts.map +1 -1
- package/dist/platform/knowledge/learning/learning-cross-goal.js +9 -5
- package/dist/platform/knowledge/learning/learning-cross-goal.js.map +1 -1
- package/dist/platform/observation/observation-apply.d.ts.map +1 -1
- package/dist/platform/observation/observation-apply.js +93 -99
- package/dist/platform/observation/observation-apply.js.map +1 -1
- package/dist/platform/soil/compiled-memory-projections.d.ts +12 -0
- package/dist/platform/soil/compiled-memory-projections.d.ts.map +1 -0
- package/dist/platform/soil/compiled-memory-projections.js +238 -0
- package/dist/platform/soil/compiled-memory-projections.js.map +1 -0
- package/dist/platform/soil/content-projections.d.ts +3 -7
- package/dist/platform/soil/content-projections.d.ts.map +1 -1
- package/dist/platform/soil/content-projections.js +67 -105
- package/dist/platform/soil/content-projections.js.map +1 -1
- package/dist/platform/soil/context-compiler.d.ts +34 -0
- package/dist/platform/soil/context-compiler.d.ts.map +1 -0
- package/dist/platform/soil/context-compiler.js +298 -0
- package/dist/platform/soil/context-compiler.js.map +1 -0
- package/dist/platform/soil/context-evaluation.d.ts +63 -0
- package/dist/platform/soil/context-evaluation.d.ts.map +1 -0
- package/dist/platform/soil/context-evaluation.js +90 -0
- package/dist/platform/soil/context-evaluation.js.map +1 -0
- package/dist/platform/soil/contracts.d.ts +269 -30
- package/dist/platform/soil/contracts.d.ts.map +1 -1
- package/dist/platform/soil/contracts.js +87 -0
- package/dist/platform/soil/contracts.js.map +1 -1
- package/dist/platform/soil/doctor.d.ts +5 -1
- package/dist/platform/soil/doctor.d.ts.map +1 -1
- package/dist/platform/soil/doctor.js +94 -1
- package/dist/platform/soil/doctor.js.map +1 -1
- package/dist/platform/soil/feedback-store.d.ts +10 -0
- package/dist/platform/soil/feedback-store.d.ts.map +1 -0
- package/dist/platform/soil/feedback-store.js +38 -0
- package/dist/platform/soil/feedback-store.js.map +1 -0
- package/dist/platform/soil/health.d.ts +35 -0
- package/dist/platform/soil/health.d.ts.map +1 -0
- package/dist/platform/soil/health.js +126 -0
- package/dist/platform/soil/health.js.map +1 -0
- package/dist/platform/soil/index-store.d.ts.map +1 -1
- package/dist/platform/soil/index-store.js +10 -1
- package/dist/platform/soil/index-store.js.map +1 -1
- package/dist/platform/soil/index.d.ts +4 -0
- package/dist/platform/soil/index.d.ts.map +1 -1
- package/dist/platform/soil/index.js +4 -0
- package/dist/platform/soil/index.js.map +1 -1
- package/dist/platform/soil/projection-support.d.ts +48 -0
- package/dist/platform/soil/projection-support.d.ts.map +1 -0
- package/dist/platform/soil/projection-support.js +107 -0
- package/dist/platform/soil/projection-support.js.map +1 -0
- package/dist/platform/soil/runtime-rebuild.d.ts.map +1 -1
- package/dist/platform/soil/runtime-rebuild.js +1 -2
- package/dist/platform/soil/runtime-rebuild.js.map +1 -1
- package/dist/platform/soil/sqlite-repository.d.ts.map +1 -1
- package/dist/platform/soil/sqlite-repository.js +51 -15
- package/dist/platform/soil/sqlite-repository.js.map +1 -1
- package/dist/runtime/command-dispatcher.d.ts +2 -0
- package/dist/runtime/command-dispatcher.d.ts.map +1 -1
- package/dist/runtime/command-dispatcher.js +11 -0
- package/dist/runtime/command-dispatcher.js.map +1 -1
- package/dist/runtime/control/daemon-runtime-control-executor.d.ts +13 -0
- package/dist/runtime/control/daemon-runtime-control-executor.d.ts.map +1 -0
- package/dist/runtime/control/daemon-runtime-control-executor.js +46 -0
- package/dist/runtime/control/daemon-runtime-control-executor.js.map +1 -0
- package/dist/runtime/control/index.d.ts +7 -0
- package/dist/runtime/control/index.d.ts.map +1 -0
- package/dist/runtime/control/index.js +4 -0
- package/dist/runtime/control/index.js.map +1 -0
- package/dist/runtime/control/runtime-control-intent.d.ts +7 -0
- package/dist/runtime/control/runtime-control-intent.d.ts.map +1 -0
- package/dist/runtime/control/runtime-control-intent.js +31 -0
- package/dist/runtime/control/runtime-control-intent.js.map +1 -0
- package/dist/runtime/control/runtime-control-service.d.ts +44 -0
- package/dist/runtime/control/runtime-control-service.d.ts.map +1 -0
- package/dist/runtime/control/runtime-control-service.js +143 -0
- package/dist/runtime/control/runtime-control-service.js.map +1 -0
- package/dist/runtime/daemon/client.d.ts +4 -0
- package/dist/runtime/daemon/client.d.ts.map +1 -1
- package/dist/runtime/daemon/client.js +9 -5
- package/dist/runtime/daemon/client.js.map +1 -1
- package/dist/runtime/daemon/runner.d.ts +2 -0
- package/dist/runtime/daemon/runner.d.ts.map +1 -1
- package/dist/runtime/daemon/runner.js +72 -1
- package/dist/runtime/daemon/runner.js.map +1 -1
- package/dist/runtime/event/server.d.ts +1 -0
- package/dist/runtime/event/server.d.ts.map +1 -1
- package/dist/runtime/event/server.js +36 -0
- package/dist/runtime/event/server.js.map +1 -1
- package/dist/runtime/store/index.d.ts +3 -0
- package/dist/runtime/store/index.d.ts.map +1 -1
- package/dist/runtime/store/index.js +2 -0
- package/dist/runtime/store/index.js.map +1 -1
- package/dist/runtime/store/runtime-operation-schemas.d.ts +213 -0
- package/dist/runtime/store/runtime-operation-schemas.d.ts.map +1 -0
- package/dist/runtime/store/runtime-operation-schemas.js +62 -0
- package/dist/runtime/store/runtime-operation-schemas.js.map +1 -0
- package/dist/runtime/store/runtime-operation-store.d.ts +17 -0
- package/dist/runtime/store/runtime-operation-store.d.ts.map +1 -0
- package/dist/runtime/store/runtime-operation-store.js +57 -0
- package/dist/runtime/store/runtime-operation-store.js.map +1 -0
- package/dist/runtime/store/runtime-schemas.d.ts +2 -2
- package/dist/runtime/types/daemon.d.ts +3 -0
- package/dist/runtime/types/daemon.d.ts.map +1 -1
- package/dist/runtime/types/daemon.js +1 -0
- package/dist/runtime/types/daemon.js.map +1 -1
- package/dist/tools/execution/RunAdapterTool/RunAdapterTool.d.ts.map +1 -1
- package/dist/tools/execution/RunAdapterTool/RunAdapterTool.js +20 -0
- package/dist/tools/execution/RunAdapterTool/RunAdapterTool.js.map +1 -1
- package/dist/tools/execution/SoilDoctorTool/prompt.d.ts +1 -1
- package/dist/tools/execution/SoilDoctorTool/prompt.d.ts.map +1 -1
- package/dist/tools/execution/SoilDoctorTool/prompt.js +1 -1
- package/dist/tools/execution/SoilDoctorTool/prompt.js.map +1 -1
- package/dist/tools/system/EnvTool/EnvTool.d.ts +4 -4
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-event-state.d.ts","sourceRoot":"","sources":["../../../src/interface/chat/chat-event-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;CACxD;
|
|
1
|
+
{"version":3,"file":"chat-event-state.d.ts","sourceRoot":"","sources":["../../../src/interface/chat/chat-event-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;CACxD;AAgBD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,GAClB,iBAAiB,EAAE,CA4DrB"}
|
|
@@ -7,9 +7,6 @@ function upsertMessage(messages, nextMessage, maxMessages) {
|
|
|
7
7
|
}
|
|
8
8
|
return [...next, nextMessage].slice(-maxMessages);
|
|
9
9
|
}
|
|
10
|
-
function toolMessageType(success) {
|
|
11
|
-
return success ? "info" : "error";
|
|
12
|
-
}
|
|
13
10
|
export function applyChatEventToMessages(messages, event, maxMessages) {
|
|
14
11
|
const timestamp = new Date(event.createdAt);
|
|
15
12
|
if (event.type === "assistant_delta") {
|
|
@@ -30,6 +27,15 @@ export function applyChatEventToMessages(messages, event, maxMessages) {
|
|
|
30
27
|
messageType: event.persisted ? "info" : "warning",
|
|
31
28
|
}, maxMessages);
|
|
32
29
|
}
|
|
30
|
+
if (event.type === "activity") {
|
|
31
|
+
return upsertMessage(messages, {
|
|
32
|
+
id: `activity:${event.turnId}`,
|
|
33
|
+
role: "pulseed",
|
|
34
|
+
text: event.message,
|
|
35
|
+
timestamp,
|
|
36
|
+
messageType: "info",
|
|
37
|
+
}, maxMessages);
|
|
38
|
+
}
|
|
33
39
|
if (event.type === "lifecycle_error") {
|
|
34
40
|
const messageId = event.partialText ? event.turnId : `error:${event.runId}`;
|
|
35
41
|
const text = event.partialText
|
|
@@ -44,31 +50,13 @@ export function applyChatEventToMessages(messages, event, maxMessages) {
|
|
|
44
50
|
}, maxMessages);
|
|
45
51
|
}
|
|
46
52
|
if (event.type === "tool_start") {
|
|
47
|
-
return
|
|
48
|
-
id: `tool:${event.toolCallId}`,
|
|
49
|
-
role: "pulseed",
|
|
50
|
-
text: `[tool:${event.toolName}] started`,
|
|
51
|
-
timestamp,
|
|
52
|
-
messageType: "info",
|
|
53
|
-
}, maxMessages);
|
|
53
|
+
return messages;
|
|
54
54
|
}
|
|
55
55
|
if (event.type === "tool_update") {
|
|
56
|
-
return
|
|
57
|
-
id: `tool:${event.toolCallId}`,
|
|
58
|
-
role: "pulseed",
|
|
59
|
-
text: `[tool:${event.toolName}] ${event.status}: ${event.message}`,
|
|
60
|
-
timestamp,
|
|
61
|
-
messageType: event.status === "awaiting_approval" ? "warning" : "info",
|
|
62
|
-
}, maxMessages);
|
|
56
|
+
return messages;
|
|
63
57
|
}
|
|
64
58
|
if (event.type === "tool_end") {
|
|
65
|
-
return
|
|
66
|
-
id: `tool:${event.toolCallId}`,
|
|
67
|
-
role: "pulseed",
|
|
68
|
-
text: `[tool:${event.toolName}] ${event.success ? "done" : "failed"}: ${event.summary}`,
|
|
69
|
-
timestamp,
|
|
70
|
-
messageType: toolMessageType(event.success),
|
|
71
|
-
}, maxMessages);
|
|
59
|
+
return messages;
|
|
72
60
|
}
|
|
73
61
|
return messages;
|
|
74
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-event-state.js","sourceRoot":"","sources":["../../../src/interface/chat/chat-event-state.ts"],"names":[],"mappings":"AAUA,SAAS,aAAa,CACpB,QAA6B,EAC7B,WAA8B,EAC9B,WAAmB;IAEnB,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;IACzE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;AACpD,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"chat-event-state.js","sourceRoot":"","sources":["../../../src/interface/chat/chat-event-state.ts"],"names":[],"mappings":"AAUA,SAAS,aAAa,CACpB,QAA6B,EAC7B,WAA8B,EAC9B,WAAmB;IAEnB,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;IACzE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAA6B,EAC7B,KAAgB,EAChB,WAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE5C,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO,aAAa,CAAC,QAAQ,EAAE;YAC7B,EAAE,EAAE,KAAK,CAAC,MAAM;YAChB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS;YACT,WAAW,EAAE,MAAM;SACpB,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO,aAAa,CAAC,QAAQ,EAAE;YAC7B,EAAE,EAAE,KAAK,CAAC,MAAM;YAChB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS;YACT,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAClD,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,aAAa,CAAC,QAAQ,EAAE;YAC7B,EAAE,EAAE,YAAY,KAAK,CAAC,MAAM,EAAE;YAC9B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK,CAAC,OAAO;YACnB,SAAS;YACT,WAAW,EAAE,MAAM;SACpB,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW;YAC5B,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,qBAAqB,KAAK,CAAC,KAAK,GAAG;YACzD,CAAC,CAAC,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC,QAAQ,EAAE;YAC7B,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,SAAS;YACf,IAAI;YACJ,SAAS;YACT,WAAW,EAAE,OAAO;SACrB,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -17,6 +17,14 @@ export interface AssistantFinalEvent extends ChatEventBase {
|
|
|
17
17
|
text: string;
|
|
18
18
|
persisted: boolean;
|
|
19
19
|
}
|
|
20
|
+
export type ActivityKind = "lifecycle" | "commentary" | "tool" | "plugin" | "skill";
|
|
21
|
+
export interface ActivityEvent extends ChatEventBase {
|
|
22
|
+
type: "activity";
|
|
23
|
+
kind: ActivityKind;
|
|
24
|
+
message: string;
|
|
25
|
+
sourceId?: string;
|
|
26
|
+
transient?: boolean;
|
|
27
|
+
}
|
|
20
28
|
export interface ToolStartEvent extends ChatEventBase {
|
|
21
29
|
type: "tool_start";
|
|
22
30
|
toolCallId: string;
|
|
@@ -50,7 +58,7 @@ export interface LifecycleErrorEvent extends ChatEventBase {
|
|
|
50
58
|
partialText: string;
|
|
51
59
|
persisted: false;
|
|
52
60
|
}
|
|
53
|
-
export type ChatEvent = LifecycleStartEvent | AssistantDeltaEvent | AssistantFinalEvent | ToolStartEvent | ToolUpdateEvent | ToolEndEvent | LifecycleEndEvent | LifecycleErrorEvent;
|
|
61
|
+
export type ChatEvent = LifecycleStartEvent | AssistantDeltaEvent | AssistantFinalEvent | ActivityEvent | ToolStartEvent | ToolUpdateEvent | ToolEndEvent | LifecycleEndEvent | LifecycleErrorEvent;
|
|
54
62
|
export type ChatEventHandler = (event: ChatEvent) => Promise<void> | void;
|
|
55
63
|
export interface ChatEventContext {
|
|
56
64
|
runId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-events.d.ts","sourceRoot":"","sources":["../../../src/interface/chat/chat-events.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,mBAAmB,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,MAAM,SAAS,GACjB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,cAAc,GACd,eAAe,GACf,YAAY,GACZ,iBAAiB,GACjB,mBAAmB,CAAC;AAExB,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
1
|
+
{"version":3,"file":"chat-events.d.ts","sourceRoot":"","sources":["../../../src/interface/chat/chat-events.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpF,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,mBAAmB,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,MAAM,SAAS,GACjB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,aAAa,GACb,cAAc,GACd,eAAe,GACf,YAAY,GACZ,iBAAiB,GACjB,mBAAmB,CAAC;AAExB,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -9,6 +9,8 @@ import type { DaemonClient } from "../../runtime/daemon/client.js";
|
|
|
9
9
|
import type { GoalNegotiator } from "../../orchestrator/goal/goal-negotiator.js";
|
|
10
10
|
import type { ChatEvent } from "./chat-events.js";
|
|
11
11
|
import type { ChatAgentLoopRunner } from "../../orchestrator/execution/agent-loop/chat-agent-loop-runner.js";
|
|
12
|
+
import type { RuntimeControlService } from "../../runtime/control/index.js";
|
|
13
|
+
import type { RuntimeControlActor, RuntimeControlReplyTarget } from "../../runtime/store/runtime-operation-schemas.js";
|
|
12
14
|
export interface ChatRunnerDeps {
|
|
13
15
|
stateManager: StateManager;
|
|
14
16
|
adapter: IAdapter;
|
|
@@ -61,12 +63,25 @@ export interface ChatRunnerDeps {
|
|
|
61
63
|
onEvent?: (event: ChatEvent) => void;
|
|
62
64
|
/** Optional: native agentloop runner for chat turns. */
|
|
63
65
|
chatAgentLoopRunner?: ChatAgentLoopRunner;
|
|
66
|
+
/** Optional: first-class runtime control service for natural-language restart/update requests. */
|
|
67
|
+
runtimeControlService?: Pick<RuntimeControlService, "request">;
|
|
68
|
+
/** Optional: approval handler scoped to runtime-control operations only. */
|
|
69
|
+
runtimeControlApprovalFn?: (description: string) => Promise<boolean>;
|
|
70
|
+
/** Optional: durable reply target for post-restart reporting. */
|
|
71
|
+
runtimeReplyTarget?: RuntimeControlReplyTarget;
|
|
72
|
+
/** Optional: source metadata for runtime control operation records. */
|
|
73
|
+
runtimeControlActor?: RuntimeControlActor;
|
|
64
74
|
}
|
|
65
75
|
export interface ChatRunResult {
|
|
66
76
|
success: boolean;
|
|
67
77
|
output: string;
|
|
68
78
|
elapsed_ms: number;
|
|
69
79
|
}
|
|
80
|
+
export interface RuntimeControlChatContext {
|
|
81
|
+
replyTarget?: RuntimeControlReplyTarget;
|
|
82
|
+
actor?: RuntimeControlActor;
|
|
83
|
+
approvalFn?: (description: string) => Promise<boolean>;
|
|
84
|
+
}
|
|
70
85
|
export declare class ChatRunner {
|
|
71
86
|
private readonly deps;
|
|
72
87
|
private history;
|
|
@@ -88,6 +103,7 @@ export declare class ChatRunner {
|
|
|
88
103
|
onNotification: ((message: string) => void) | undefined;
|
|
89
104
|
onEvent: ((event: ChatEvent) => void) | undefined;
|
|
90
105
|
private nativeAgentLoopStatePath;
|
|
106
|
+
private runtimeControlContext;
|
|
91
107
|
constructor(deps: ChatRunnerDeps);
|
|
92
108
|
/**
|
|
93
109
|
* Initialize a persistent session for interactive (multi-turn) mode.
|
|
@@ -95,6 +111,7 @@ export declare class ChatRunner {
|
|
|
95
111
|
* If not called, execute() auto-creates a new session per call (Phase 1a behavior).
|
|
96
112
|
*/
|
|
97
113
|
startSession(cwd: string): void;
|
|
114
|
+
setRuntimeControlContext(context: RuntimeControlChatContext | null): void;
|
|
98
115
|
private handleCommand;
|
|
99
116
|
private handleTrack;
|
|
100
117
|
private handleTend;
|
|
@@ -112,6 +129,7 @@ export declare class ChatRunner {
|
|
|
112
129
|
* 7. Persist assistant response only after the final assistant text is complete
|
|
113
130
|
*/
|
|
114
131
|
execute(input: string, cwd: string, timeoutMs?: number): Promise<ChatRunResult>;
|
|
132
|
+
private handleRuntimeControlIntent;
|
|
115
133
|
/**
|
|
116
134
|
* Execute a chat turn using llmClient with self-knowledge tools (function calling).
|
|
117
135
|
* Loops up to MAX_TOOL_LOOPS times to resolve tool calls, then returns final text.
|
|
@@ -133,6 +151,7 @@ export declare class ChatRunner {
|
|
|
133
151
|
private createEventContext;
|
|
134
152
|
private eventBase;
|
|
135
153
|
private emitEvent;
|
|
154
|
+
private emitActivity;
|
|
136
155
|
private pushAssistantDelta;
|
|
137
156
|
private emitLifecycleEndEvent;
|
|
138
157
|
private emitLifecycleErrorEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-runner.d.ts","sourceRoot":"","sources":["../../../src/interface/chat/chat-runner.ts"],"names":[],"mappings":"AAMA,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;AAG/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,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,
|
|
1
|
+
{"version":3,"file":"chat-runner.d.ts","sourceRoot":"","sources":["../../../src/interface/chat/chat-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,11 @@ import { verifyChatAction } from "./chat-verifier.js";
|
|
|
10
10
|
import { toToolDefinitionsFiltered } from "../../tools/tool-definition-adapter.js";
|
|
11
11
|
import { TendCommand } from "./tend-command.js";
|
|
12
12
|
import { EventSubscriber } from "./event-subscriber.js";
|
|
13
|
+
import { recognizeRuntimeControlIntent } from "../../runtime/control/index.js";
|
|
13
14
|
const DEFAULT_TIMEOUT_MS = 120_000;
|
|
14
15
|
const MAX_VERIFY_RETRIES = 2;
|
|
15
16
|
const MAX_TOOL_LOOPS = 5;
|
|
17
|
+
const ACTIVITY_PREVIEW_CHARS = 40;
|
|
16
18
|
// ─── Command help text ───
|
|
17
19
|
const COMMAND_HELP = `Available commands:
|
|
18
20
|
/help Show this help message
|
|
@@ -29,6 +31,14 @@ function checkGitChanges(cwd) {
|
|
|
29
31
|
});
|
|
30
32
|
});
|
|
31
33
|
}
|
|
34
|
+
function previewActivityText(value, maxChars = ACTIVITY_PREVIEW_CHARS) {
|
|
35
|
+
const normalized = value.replace(/\s+/g, " ").trim();
|
|
36
|
+
return normalized.length > maxChars ? `${normalized.slice(0, maxChars)}...` : normalized;
|
|
37
|
+
}
|
|
38
|
+
function formatToolActivity(action, toolName, detail) {
|
|
39
|
+
const preview = detail ? previewActivityText(detail) : "";
|
|
40
|
+
return preview ? `${action} tool: ${toolName} - ${preview}` : `${action} tool: ${toolName}`;
|
|
41
|
+
}
|
|
32
42
|
// ─── ChatRunner ───
|
|
33
43
|
export class ChatRunner {
|
|
34
44
|
deps;
|
|
@@ -51,6 +61,7 @@ export class ChatRunner {
|
|
|
51
61
|
onNotification = undefined;
|
|
52
62
|
onEvent = undefined;
|
|
53
63
|
nativeAgentLoopStatePath = null;
|
|
64
|
+
runtimeControlContext = null;
|
|
54
65
|
constructor(deps) {
|
|
55
66
|
this.deps = deps;
|
|
56
67
|
}
|
|
@@ -67,6 +78,9 @@ export class ChatRunner {
|
|
|
67
78
|
this.sessionActive = true;
|
|
68
79
|
this.nativeAgentLoopStatePath = `chat/agentloop/${sessionId}.state.json`;
|
|
69
80
|
}
|
|
81
|
+
setRuntimeControlContext(context) {
|
|
82
|
+
this.runtimeControlContext = context;
|
|
83
|
+
}
|
|
70
84
|
async handleCommand(input) {
|
|
71
85
|
const trimmed = input.trim();
|
|
72
86
|
if (!trimmed.startsWith("/"))
|
|
@@ -276,6 +290,21 @@ export class ChatRunner {
|
|
|
276
290
|
this.emitLifecycleEndEvent(confirmationResult.success ? "completed" : "error", confirmationResult.elapsed_ms, eventContext, false);
|
|
277
291
|
return confirmationResult;
|
|
278
292
|
}
|
|
293
|
+
const runtimeControlResult = resumeOnly
|
|
294
|
+
? null
|
|
295
|
+
: await this.handleRuntimeControlIntent(input, cwd, Date.now());
|
|
296
|
+
if (runtimeControlResult !== null) {
|
|
297
|
+
if (runtimeControlResult.output) {
|
|
298
|
+
this.emitEvent({
|
|
299
|
+
type: "assistant_final",
|
|
300
|
+
text: runtimeControlResult.output,
|
|
301
|
+
persisted: false,
|
|
302
|
+
...this.eventBase(eventContext),
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
this.emitLifecycleEndEvent(runtimeControlResult.success ? "completed" : "error", runtimeControlResult.elapsed_ms, eventContext, false);
|
|
306
|
+
return runtimeControlResult;
|
|
307
|
+
}
|
|
279
308
|
// Reuse session (interactive mode) or create a fresh one per call (1-shot mode)
|
|
280
309
|
if (!this.sessionActive) {
|
|
281
310
|
const gitRoot = resolveGitRoot(cwd);
|
|
@@ -286,15 +315,15 @@ export class ChatRunner {
|
|
|
286
315
|
const gitRoot = this.sessionCwd ?? resolveGitRoot(cwd);
|
|
287
316
|
// history is always assigned by this point (either by startSession or the block above)
|
|
288
317
|
const history = this.history;
|
|
289
|
-
// Persist-before-execute: user message written to disk first
|
|
290
|
-
if (!resumeOnly) {
|
|
291
|
-
await history.appendUserMessage(input);
|
|
292
|
-
}
|
|
293
318
|
this.emitEvent({
|
|
294
319
|
type: "lifecycle_start",
|
|
295
320
|
input,
|
|
296
321
|
...this.eventBase(eventContext),
|
|
297
322
|
});
|
|
323
|
+
// Persist-before-execute: user message written to disk before model or adapter execution.
|
|
324
|
+
if (!resumeOnly) {
|
|
325
|
+
await history.appendUserMessage(input);
|
|
326
|
+
}
|
|
298
327
|
// Build static grounding once per session; dynamic context is rebuilt each turn.
|
|
299
328
|
if (this.cachedStaticSystemPrompt === null) {
|
|
300
329
|
try {
|
|
@@ -306,6 +335,7 @@ export class ChatRunner {
|
|
|
306
335
|
}
|
|
307
336
|
let dynamicSystemPrompt = "";
|
|
308
337
|
try {
|
|
338
|
+
this.emitActivity("lifecycle", "Preparing context...", eventContext, "lifecycle:context");
|
|
309
339
|
dynamicSystemPrompt = await buildDynamicContextPrompt({ stateManager: this.deps.stateManager });
|
|
310
340
|
}
|
|
311
341
|
catch {
|
|
@@ -363,6 +393,7 @@ export class ChatRunner {
|
|
|
363
393
|
elapsed_ms,
|
|
364
394
|
};
|
|
365
395
|
}
|
|
396
|
+
this.emitActivity("lifecycle", "Calling model...", eventContext, "lifecycle:model");
|
|
366
397
|
const result = await this.deps.chatAgentLoopRunner.execute({
|
|
367
398
|
message: basePrompt,
|
|
368
399
|
cwd,
|
|
@@ -389,6 +420,7 @@ export class ChatRunner {
|
|
|
389
420
|
}
|
|
390
421
|
if (result.success) {
|
|
391
422
|
await history.appendAssistantMessage(result.output);
|
|
423
|
+
this.emitActivity("lifecycle", "Finalizing response...", eventContext, "lifecycle:finalizing");
|
|
392
424
|
this.emitEvent({
|
|
393
425
|
type: "assistant_final",
|
|
394
426
|
text: result.output,
|
|
@@ -427,6 +459,7 @@ export class ChatRunner {
|
|
|
427
459
|
const toolResult = await this.executeWithTools(prompt, eventContext, assistantBuffer, systemPrompt || undefined);
|
|
428
460
|
const elapsed_ms = Date.now() - start;
|
|
429
461
|
await history.appendAssistantMessage(toolResult);
|
|
462
|
+
this.emitActivity("lifecycle", "Finalizing response...", eventContext, "lifecycle:finalizing");
|
|
430
463
|
this.emitEvent({
|
|
431
464
|
type: "assistant_final",
|
|
432
465
|
text: toolResult,
|
|
@@ -457,6 +490,7 @@ export class ChatRunner {
|
|
|
457
490
|
...(systemPrompt ? { system_prompt: systemPrompt } : {}),
|
|
458
491
|
};
|
|
459
492
|
const resolvedTimeoutMs = task.timeout_ms ?? DEFAULT_TIMEOUT_MS;
|
|
493
|
+
this.emitActivity("lifecycle", "Calling adapter...", eventContext, "lifecycle:adapter");
|
|
460
494
|
const adapterPromise = this.deps.adapter.execute(task);
|
|
461
495
|
const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error(`Chat adapter timed out after ${resolvedTimeoutMs}ms`)), resolvedTimeoutMs));
|
|
462
496
|
let result = await Promise.race([adapterPromise, timeoutPromise]);
|
|
@@ -473,6 +507,7 @@ export class ChatRunner {
|
|
|
473
507
|
if (gitChanges !== null && gitChanges !== "") {
|
|
474
508
|
let retries = 0;
|
|
475
509
|
const VERIFY_TIMEOUT_MS = 30_000;
|
|
510
|
+
this.emitActivity("lifecycle", "Checking result...", eventContext, "lifecycle:checking");
|
|
476
511
|
let verification = await Promise.race([
|
|
477
512
|
verifyChatAction(gitRoot, this.deps.toolExecutor),
|
|
478
513
|
new Promise((resolve) => setTimeout(() => resolve({ passed: true }), VERIFY_TIMEOUT_MS)),
|
|
@@ -496,6 +531,7 @@ export class ChatRunner {
|
|
|
496
531
|
}
|
|
497
532
|
if (result.success) {
|
|
498
533
|
await history.appendAssistantMessage(result.output);
|
|
534
|
+
this.emitActivity("lifecycle", "Finalizing response...", eventContext, "lifecycle:finalizing");
|
|
499
535
|
this.emitEvent({
|
|
500
536
|
type: "assistant_final",
|
|
501
537
|
text: result.output,
|
|
@@ -515,6 +551,40 @@ export class ChatRunner {
|
|
|
515
551
|
elapsed_ms,
|
|
516
552
|
};
|
|
517
553
|
}
|
|
554
|
+
async handleRuntimeControlIntent(input, cwd, start) {
|
|
555
|
+
const intent = recognizeRuntimeControlIntent(input);
|
|
556
|
+
if (intent === null)
|
|
557
|
+
return null;
|
|
558
|
+
if (!this.deps.runtimeControlService) {
|
|
559
|
+
return {
|
|
560
|
+
success: false,
|
|
561
|
+
output: "Runtime control is not available in this chat surface yet.",
|
|
562
|
+
elapsed_ms: Date.now() - start,
|
|
563
|
+
};
|
|
564
|
+
}
|
|
565
|
+
const replyTarget = this.runtimeControlContext?.replyTarget ?? this.deps.runtimeReplyTarget;
|
|
566
|
+
const actor = this.runtimeControlContext?.actor ?? this.deps.runtimeControlActor;
|
|
567
|
+
const result = await this.deps.runtimeControlService.request({
|
|
568
|
+
intent,
|
|
569
|
+
cwd,
|
|
570
|
+
requestedBy: actor ?? {
|
|
571
|
+
surface: replyTarget?.surface ?? "chat",
|
|
572
|
+
platform: replyTarget?.platform,
|
|
573
|
+
conversation_id: replyTarget?.conversation_id,
|
|
574
|
+
identity_key: replyTarget?.identity_key,
|
|
575
|
+
user_id: replyTarget?.user_id,
|
|
576
|
+
},
|
|
577
|
+
replyTarget: replyTarget ?? { surface: "chat" },
|
|
578
|
+
approvalFn: this.runtimeControlContext?.approvalFn
|
|
579
|
+
?? this.deps.runtimeControlApprovalFn
|
|
580
|
+
?? this.deps.approvalFn,
|
|
581
|
+
});
|
|
582
|
+
return {
|
|
583
|
+
success: result.success,
|
|
584
|
+
output: result.message,
|
|
585
|
+
elapsed_ms: Date.now() - start,
|
|
586
|
+
};
|
|
587
|
+
}
|
|
518
588
|
/**
|
|
519
589
|
* Execute a chat turn using llmClient with self-knowledge tools (function calling).
|
|
520
590
|
* Loops up to MAX_TOOL_LOOPS times to resolve tool calls, then returns final text.
|
|
@@ -530,6 +600,7 @@ export class ChatRunner {
|
|
|
530
600
|
: [];
|
|
531
601
|
let response;
|
|
532
602
|
try {
|
|
603
|
+
this.emitActivity("lifecycle", "Calling model...", eventContext, "lifecycle:model");
|
|
533
604
|
response = await this.sendLLMMessage(llmClient, messages, {
|
|
534
605
|
tools,
|
|
535
606
|
...(systemPrompt ? { system: systemPrompt } : {}),
|
|
@@ -590,6 +661,8 @@ export class ChatRunner {
|
|
|
590
661
|
return {
|
|
591
662
|
emit: async (event) => {
|
|
592
663
|
if (event.type === "tool_call_started") {
|
|
664
|
+
const detail = event.inputPreview ? previewActivityText(event.inputPreview) : undefined;
|
|
665
|
+
this.emitActivity("tool", formatToolActivity("Running", event.toolName, detail), eventContext, event.callId);
|
|
593
666
|
this.emitEvent({
|
|
594
667
|
type: "tool_start",
|
|
595
668
|
toolCallId: event.callId,
|
|
@@ -608,6 +681,7 @@ export class ChatRunner {
|
|
|
608
681
|
return;
|
|
609
682
|
}
|
|
610
683
|
if (event.type === "tool_call_finished") {
|
|
684
|
+
this.emitActivity("tool", formatToolActivity(event.success ? "Finished" : "Failed", event.toolName, event.outputPreview), eventContext, event.callId);
|
|
611
685
|
this.emitEvent({
|
|
612
686
|
type: "tool_end",
|
|
613
687
|
toolCallId: event.callId,
|
|
@@ -620,10 +694,11 @@ export class ChatRunner {
|
|
|
620
694
|
return;
|
|
621
695
|
}
|
|
622
696
|
if (event.type === "assistant_message" && event.phase === "commentary" && event.contentPreview) {
|
|
623
|
-
this.
|
|
697
|
+
this.emitActivity("commentary", previewActivityText(event.contentPreview, 120), eventContext, `commentary:${event.eventId}`);
|
|
624
698
|
return;
|
|
625
699
|
}
|
|
626
700
|
if (event.type === "plan_update") {
|
|
701
|
+
this.emitActivity("tool", `Updated plan: ${previewActivityText(event.summary)}`, eventContext, `plan:${event.turnId}`);
|
|
627
702
|
this.emitEvent({
|
|
628
703
|
type: "tool_update",
|
|
629
704
|
toolCallId: `plan:${event.turnId}:${event.createdAt}`,
|
|
@@ -635,6 +710,7 @@ export class ChatRunner {
|
|
|
635
710
|
return;
|
|
636
711
|
}
|
|
637
712
|
if (event.type === "approval_request") {
|
|
713
|
+
this.emitActivity("tool", formatToolActivity("Running", event.toolName, `awaiting approval: ${event.reason}`), eventContext, event.callId);
|
|
638
714
|
this.emitEvent({
|
|
639
715
|
type: "tool_update",
|
|
640
716
|
toolCallId: event.callId,
|
|
@@ -646,6 +722,7 @@ export class ChatRunner {
|
|
|
646
722
|
return;
|
|
647
723
|
}
|
|
648
724
|
if (event.type === "approval") {
|
|
725
|
+
this.emitActivity("tool", formatToolActivity("Finished", event.toolName, `approval ${event.status}: ${event.reason}`), eventContext);
|
|
649
726
|
this.emitEvent({
|
|
650
727
|
type: "tool_update",
|
|
651
728
|
toolCallId: `approval:${event.turnId}:${event.createdAt}`,
|
|
@@ -726,16 +803,19 @@ export class ChatRunner {
|
|
|
726
803
|
/** Dispatch a tool call through the registry. */
|
|
727
804
|
async dispatchToolCall(toolCallId, name, args, context, eventContext) {
|
|
728
805
|
if (!this.deps.registry) {
|
|
806
|
+
this.emitActivity("tool", formatToolActivity("Failed", name, "No tool registry configured"), eventContext, toolCallId);
|
|
729
807
|
return JSON.stringify({ error: `No tool registry configured` });
|
|
730
808
|
}
|
|
731
809
|
const tool = this.deps.registry.get(name);
|
|
732
810
|
if (!tool) {
|
|
811
|
+
this.emitActivity("tool", formatToolActivity("Failed", name, `Unknown tool: ${name}`), eventContext, toolCallId);
|
|
733
812
|
return JSON.stringify({ error: `Unknown tool: ${name}` });
|
|
734
813
|
}
|
|
735
814
|
const startTime = Date.now();
|
|
736
815
|
try {
|
|
737
816
|
const parsed = tool.inputSchema.safeParse(args);
|
|
738
817
|
if (!parsed.success) {
|
|
818
|
+
this.emitActivity("tool", formatToolActivity("Failed", name, `Invalid input: ${parsed.error.message}`), eventContext, toolCallId);
|
|
739
819
|
this.emitEvent({
|
|
740
820
|
type: "tool_end",
|
|
741
821
|
toolCallId,
|
|
@@ -754,6 +834,7 @@ export class ChatRunner {
|
|
|
754
834
|
args,
|
|
755
835
|
...this.eventBase(eventContext),
|
|
756
836
|
});
|
|
837
|
+
this.emitActivity("tool", formatToolActivity("Running", name, JSON.stringify(args)), eventContext, toolCallId);
|
|
757
838
|
let result;
|
|
758
839
|
if (this.deps.toolExecutor) {
|
|
759
840
|
this.emitEvent({
|
|
@@ -783,6 +864,7 @@ export class ChatRunner {
|
|
|
783
864
|
return `Tool ${name} denied: ${permResult.reason}`;
|
|
784
865
|
}
|
|
785
866
|
if (permResult.status === "needs_approval") {
|
|
867
|
+
this.emitActivity("tool", formatToolActivity("Running", name, `awaiting approval: ${permResult.reason}`), eventContext, toolCallId);
|
|
786
868
|
this.emitEvent({
|
|
787
869
|
type: "tool_update",
|
|
788
870
|
toolCallId,
|
|
@@ -825,6 +907,7 @@ export class ChatRunner {
|
|
|
825
907
|
}
|
|
826
908
|
const durationMs = Date.now() - startTime;
|
|
827
909
|
this.deps.onToolEnd?.(name, { success: result.success, summary: result.summary || '...', durationMs });
|
|
910
|
+
this.emitActivity("tool", formatToolActivity(result.success ? "Finished" : "Failed", name, result.summary || "..."), eventContext, toolCallId);
|
|
828
911
|
this.emitEvent({
|
|
829
912
|
type: "tool_update",
|
|
830
913
|
toolCallId,
|
|
@@ -849,6 +932,7 @@ export class ChatRunner {
|
|
|
849
932
|
const message = err instanceof Error ? err.message : String(err);
|
|
850
933
|
const durationMs = Date.now() - startTime;
|
|
851
934
|
this.deps.onToolEnd?.(name, { success: false, summary: message, durationMs });
|
|
935
|
+
this.emitActivity("tool", formatToolActivity("Failed", name, message), eventContext, toolCallId);
|
|
852
936
|
this.emitEvent({
|
|
853
937
|
type: "tool_end",
|
|
854
938
|
toolCallId,
|
|
@@ -894,6 +978,18 @@ export class ChatRunner {
|
|
|
894
978
|
const handler = this.onEvent ?? this.deps.onEvent;
|
|
895
979
|
handler?.(event);
|
|
896
980
|
}
|
|
981
|
+
emitActivity(kind, message, eventContext, sourceId) {
|
|
982
|
+
if (!message.trim())
|
|
983
|
+
return;
|
|
984
|
+
this.emitEvent({
|
|
985
|
+
type: "activity",
|
|
986
|
+
kind,
|
|
987
|
+
message,
|
|
988
|
+
...(sourceId ? { sourceId } : {}),
|
|
989
|
+
transient: true,
|
|
990
|
+
...this.eventBase(eventContext),
|
|
991
|
+
});
|
|
992
|
+
}
|
|
897
993
|
pushAssistantDelta(delta, assistantBuffer, eventContext) {
|
|
898
994
|
if (!delta)
|
|
899
995
|
return;
|