pulseed 0.4.6 → 0.4.8

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.
Files changed (288) hide show
  1. package/README.md +4 -0
  2. package/dist/base/llm/provider-config.d.ts.map +1 -1
  3. package/dist/base/llm/provider-config.js +33 -8
  4. package/dist/base/llm/provider-config.js.map +1 -1
  5. package/dist/base/state/state-lock.d.ts +3 -1
  6. package/dist/base/state/state-lock.d.ts.map +1 -1
  7. package/dist/base/state/state-lock.js +52 -10
  8. package/dist/base/state/state-lock.js.map +1 -1
  9. package/dist/base/state/state-manager-goal-write.d.ts +4 -0
  10. package/dist/base/state/state-manager-goal-write.d.ts.map +1 -1
  11. package/dist/base/state/state-manager-goal-write.js +45 -3
  12. package/dist/base/state/state-manager-goal-write.js.map +1 -1
  13. package/dist/base/state/state-manager-wal.d.ts.map +1 -1
  14. package/dist/base/state/state-manager-wal.js +12 -0
  15. package/dist/base/state/state-manager-wal.js.map +1 -1
  16. package/dist/base/state/state-manager.d.ts +1 -1
  17. package/dist/base/state/state-manager.d.ts.map +1 -1
  18. package/dist/base/state/state-manager.js +129 -88
  19. package/dist/base/state/state-manager.js.map +1 -1
  20. package/dist/index.d.ts +6 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +3 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/interface/chat/chat-event-state.d.ts.map +1 -1
  25. package/dist/interface/chat/chat-event-state.js +12 -24
  26. package/dist/interface/chat/chat-event-state.js.map +1 -1
  27. package/dist/interface/chat/chat-events.d.ts +9 -1
  28. package/dist/interface/chat/chat-events.d.ts.map +1 -1
  29. package/dist/interface/chat/chat-runner.d.ts +19 -0
  30. package/dist/interface/chat/chat-runner.d.ts.map +1 -1
  31. package/dist/interface/chat/chat-runner.js +101 -5
  32. package/dist/interface/chat/chat-runner.js.map +1 -1
  33. package/dist/interface/chat/cross-platform-session.d.ts.map +1 -1
  34. package/dist/interface/chat/cross-platform-session.js +36 -0
  35. package/dist/interface/chat/cross-platform-session.js.map +1 -1
  36. package/dist/interface/cli/cli-command-registry.d.ts.map +1 -1
  37. package/dist/interface/cli/cli-command-registry.js +23 -3
  38. package/dist/interface/cli/cli-command-registry.js.map +1 -1
  39. package/dist/interface/cli/commands/approval.d.ts +3 -0
  40. package/dist/interface/cli/commands/approval.d.ts.map +1 -0
  41. package/dist/interface/cli/commands/approval.js +112 -0
  42. package/dist/interface/cli/commands/approval.js.map +1 -0
  43. package/dist/interface/cli/commands/chat.d.ts.map +1 -1
  44. package/dist/interface/cli/commands/chat.js +9 -0
  45. package/dist/interface/cli/commands/chat.js.map +1 -1
  46. package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
  47. package/dist/interface/cli/commands/daemon.js +35 -7
  48. package/dist/interface/cli/commands/daemon.js.map +1 -1
  49. package/dist/interface/cli/commands/doctor.d.ts +3 -0
  50. package/dist/interface/cli/commands/doctor.d.ts.map +1 -1
  51. package/dist/interface/cli/commands/doctor.js +136 -1
  52. package/dist/interface/cli/commands/doctor.js.map +1 -1
  53. package/dist/interface/cli/commands/setup/import/apply.d.ts +3 -0
  54. package/dist/interface/cli/commands/setup/import/apply.d.ts.map +1 -0
  55. package/dist/interface/cli/commands/setup/import/apply.js +226 -0
  56. package/dist/interface/cli/commands/setup/import/apply.js.map +1 -0
  57. package/dist/interface/cli/commands/setup/import/constants.d.ts +5 -0
  58. package/dist/interface/cli/commands/setup/import/constants.d.ts.map +1 -0
  59. package/dist/interface/cli/commands/setup/import/constants.js +24 -0
  60. package/dist/interface/cli/commands/setup/import/constants.js.map +1 -0
  61. package/dist/interface/cli/commands/setup/import/discovery.d.ts +3 -0
  62. package/dist/interface/cli/commands/setup/import/discovery.d.ts.map +1 -0
  63. package/dist/interface/cli/commands/setup/import/discovery.js +171 -0
  64. package/dist/interface/cli/commands/setup/import/discovery.js.map +1 -0
  65. package/dist/interface/cli/commands/setup/import/flow.d.ts +5 -0
  66. package/dist/interface/cli/commands/setup/import/flow.d.ts.map +1 -0
  67. package/dist/interface/cli/commands/setup/import/flow.js +156 -0
  68. package/dist/interface/cli/commands/setup/import/flow.js.map +1 -0
  69. package/dist/interface/cli/commands/setup/import/fs-utils.d.ts +10 -0
  70. package/dist/interface/cli/commands/setup/import/fs-utils.d.ts.map +1 -0
  71. package/dist/interface/cli/commands/setup/import/fs-utils.js +109 -0
  72. package/dist/interface/cli/commands/setup/import/fs-utils.js.map +1 -0
  73. package/dist/interface/cli/commands/setup/import/mcp.d.ts +4 -0
  74. package/dist/interface/cli/commands/setup/import/mcp.d.ts.map +1 -0
  75. package/dist/interface/cli/commands/setup/import/mcp.js +73 -0
  76. package/dist/interface/cli/commands/setup/import/mcp.js.map +1 -0
  77. package/dist/interface/cli/commands/setup/import/parse.d.ts +7 -0
  78. package/dist/interface/cli/commands/setup/import/parse.d.ts.map +1 -0
  79. package/dist/interface/cli/commands/setup/import/parse.js +40 -0
  80. package/dist/interface/cli/commands/setup/import/parse.js.map +1 -0
  81. package/dist/interface/cli/commands/setup/import/provider.d.ts +6 -0
  82. package/dist/interface/cli/commands/setup/import/provider.d.ts.map +1 -0
  83. package/dist/interface/cli/commands/setup/import/provider.js +231 -0
  84. package/dist/interface/cli/commands/setup/import/provider.js.map +1 -0
  85. package/dist/interface/cli/commands/setup/import/telegram.d.ts +5 -0
  86. package/dist/interface/cli/commands/setup/import/telegram.d.ts.map +1 -0
  87. package/dist/interface/cli/commands/setup/import/telegram.js +109 -0
  88. package/dist/interface/cli/commands/setup/import/telegram.js.map +1 -0
  89. package/dist/interface/cli/commands/setup/import/types.d.ts +58 -0
  90. package/dist/interface/cli/commands/setup/import/types.d.ts.map +1 -0
  91. package/dist/interface/cli/commands/setup/import/types.js +2 -0
  92. package/dist/interface/cli/commands/setup/import/types.js.map +1 -0
  93. package/dist/interface/cli/commands/setup/steps-adapter.d.ts +1 -1
  94. package/dist/interface/cli/commands/setup/steps-adapter.d.ts.map +1 -1
  95. package/dist/interface/cli/commands/setup/steps-adapter.js +32 -5
  96. package/dist/interface/cli/commands/setup/steps-adapter.js.map +1 -1
  97. package/dist/interface/cli/commands/setup/steps-identity.d.ts +2 -2
  98. package/dist/interface/cli/commands/setup/steps-identity.d.ts.map +1 -1
  99. package/dist/interface/cli/commands/setup/steps-identity.js +10 -4
  100. package/dist/interface/cli/commands/setup/steps-identity.js.map +1 -1
  101. package/dist/interface/cli/commands/setup/steps-provider.d.ts +4 -4
  102. package/dist/interface/cli/commands/setup/steps-provider.d.ts.map +1 -1
  103. package/dist/interface/cli/commands/setup/steps-provider.js +109 -42
  104. package/dist/interface/cli/commands/setup/steps-provider.js.map +1 -1
  105. package/dist/interface/cli/commands/setup/steps-runtime.d.ts.map +1 -1
  106. package/dist/interface/cli/commands/setup/steps-runtime.js +2 -3
  107. package/dist/interface/cli/commands/setup/steps-runtime.js.map +1 -1
  108. package/dist/interface/cli/commands/setup-wizard.d.ts.map +1 -1
  109. package/dist/interface/cli/commands/setup-wizard.js +349 -64
  110. package/dist/interface/cli/commands/setup-wizard.js.map +1 -1
  111. package/dist/interface/cli/commands/telegram.d.ts.map +1 -1
  112. package/dist/interface/cli/commands/telegram.js +22 -20
  113. package/dist/interface/cli/commands/telegram.js.map +1 -1
  114. package/dist/interface/cli/ensure-api-key.d.ts +3 -1
  115. package/dist/interface/cli/ensure-api-key.d.ts.map +1 -1
  116. package/dist/interface/cli/ensure-api-key.js +20 -13
  117. package/dist/interface/cli/ensure-api-key.js.map +1 -1
  118. package/dist/interface/cli/setup.d.ts.map +1 -1
  119. package/dist/interface/cli/setup.js +1 -1
  120. package/dist/interface/cli/setup.js.map +1 -1
  121. package/dist/interface/cli/utils.d.ts.map +1 -1
  122. package/dist/interface/cli/utils.js +1 -0
  123. package/dist/interface/cli/utils.js.map +1 -1
  124. package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.d.ts +1 -0
  125. package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.d.ts.map +1 -1
  126. package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.js +91 -1
  127. package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.js.map +1 -1
  128. package/dist/orchestrator/execution/pipeline-executor.d.ts +1 -0
  129. package/dist/orchestrator/execution/pipeline-executor.d.ts.map +1 -1
  130. package/dist/orchestrator/execution/pipeline-executor.js +39 -8
  131. package/dist/orchestrator/execution/pipeline-executor.js.map +1 -1
  132. package/dist/orchestrator/execution/result-reconciler.d.ts.map +1 -1
  133. package/dist/orchestrator/execution/result-reconciler.js +79 -54
  134. package/dist/orchestrator/execution/result-reconciler.js.map +1 -1
  135. package/dist/orchestrator/execution/task/task-execution-helpers.d.ts +2 -1
  136. package/dist/orchestrator/execution/task/task-execution-helpers.d.ts.map +1 -1
  137. package/dist/orchestrator/execution/task/task-execution-helpers.js +11 -1
  138. package/dist/orchestrator/execution/task/task-execution-helpers.js.map +1 -1
  139. package/dist/orchestrator/execution/task/task-lifecycle.d.ts +1 -1
  140. package/dist/orchestrator/execution/task/task-lifecycle.d.ts.map +1 -1
  141. package/dist/orchestrator/execution/task/task-lifecycle.js +33 -0
  142. package/dist/orchestrator/execution/task/task-lifecycle.js.map +1 -1
  143. package/dist/orchestrator/goal/goal-dependency-graph.d.ts.map +1 -1
  144. package/dist/orchestrator/goal/goal-dependency-graph.js +20 -8
  145. package/dist/orchestrator/goal/goal-dependency-graph.js.map +1 -1
  146. package/dist/orchestrator/goal/goal-refiner.d.ts +3 -5
  147. package/dist/orchestrator/goal/goal-refiner.d.ts.map +1 -1
  148. package/dist/orchestrator/goal/goal-refiner.js +3 -5
  149. package/dist/orchestrator/goal/goal-refiner.js.map +1 -1
  150. package/dist/orchestrator/strategy/cross-goal-portfolio.d.ts.map +1 -1
  151. package/dist/orchestrator/strategy/cross-goal-portfolio.js +20 -12
  152. package/dist/orchestrator/strategy/cross-goal-portfolio.js.map +1 -1
  153. package/dist/orchestrator/strategy/portfolio-manager.d.ts.map +1 -1
  154. package/dist/orchestrator/strategy/portfolio-manager.js +8 -4
  155. package/dist/orchestrator/strategy/portfolio-manager.js.map +1 -1
  156. package/dist/orchestrator/strategy/strategy-manager-base.d.ts.map +1 -1
  157. package/dist/orchestrator/strategy/strategy-manager-base.js +29 -24
  158. package/dist/orchestrator/strategy/strategy-manager-base.js.map +1 -1
  159. package/dist/platform/dream/dream-soil-sync.d.ts +2 -0
  160. package/dist/platform/dream/dream-soil-sync.d.ts.map +1 -1
  161. package/dist/platform/dream/dream-soil-sync.js +19 -0
  162. package/dist/platform/dream/dream-soil-sync.js.map +1 -1
  163. package/dist/platform/drive/satisficing-judge.d.ts.map +1 -1
  164. package/dist/platform/drive/satisficing-judge.js +20 -6
  165. package/dist/platform/drive/satisficing-judge.js.map +1 -1
  166. package/dist/platform/knowledge/knowledge-manager-lint.d.ts.map +1 -1
  167. package/dist/platform/knowledge/knowledge-manager-lint.js +4 -3
  168. package/dist/platform/knowledge/knowledge-manager-lint.js.map +1 -1
  169. package/dist/platform/knowledge/knowledge-manager.d.ts.map +1 -1
  170. package/dist/platform/knowledge/knowledge-manager.js +2 -1
  171. package/dist/platform/knowledge/knowledge-manager.js.map +1 -1
  172. package/dist/platform/knowledge/knowledge-search.d.ts.map +1 -1
  173. package/dist/platform/knowledge/knowledge-search.js +15 -3
  174. package/dist/platform/knowledge/knowledge-search.js.map +1 -1
  175. package/dist/platform/knowledge/learning/learning-cross-goal.d.ts.map +1 -1
  176. package/dist/platform/knowledge/learning/learning-cross-goal.js +9 -5
  177. package/dist/platform/knowledge/learning/learning-cross-goal.js.map +1 -1
  178. package/dist/platform/observation/observation-apply.d.ts.map +1 -1
  179. package/dist/platform/observation/observation-apply.js +93 -99
  180. package/dist/platform/observation/observation-apply.js.map +1 -1
  181. package/dist/platform/soil/compiled-memory-projections.d.ts +12 -0
  182. package/dist/platform/soil/compiled-memory-projections.d.ts.map +1 -0
  183. package/dist/platform/soil/compiled-memory-projections.js +238 -0
  184. package/dist/platform/soil/compiled-memory-projections.js.map +1 -0
  185. package/dist/platform/soil/content-projections.d.ts +3 -7
  186. package/dist/platform/soil/content-projections.d.ts.map +1 -1
  187. package/dist/platform/soil/content-projections.js +67 -105
  188. package/dist/platform/soil/content-projections.js.map +1 -1
  189. package/dist/platform/soil/context-compiler.d.ts +34 -0
  190. package/dist/platform/soil/context-compiler.d.ts.map +1 -0
  191. package/dist/platform/soil/context-compiler.js +298 -0
  192. package/dist/platform/soil/context-compiler.js.map +1 -0
  193. package/dist/platform/soil/context-evaluation.d.ts +63 -0
  194. package/dist/platform/soil/context-evaluation.d.ts.map +1 -0
  195. package/dist/platform/soil/context-evaluation.js +90 -0
  196. package/dist/platform/soil/context-evaluation.js.map +1 -0
  197. package/dist/platform/soil/contracts.d.ts +269 -30
  198. package/dist/platform/soil/contracts.d.ts.map +1 -1
  199. package/dist/platform/soil/contracts.js +87 -0
  200. package/dist/platform/soil/contracts.js.map +1 -1
  201. package/dist/platform/soil/doctor.d.ts +5 -1
  202. package/dist/platform/soil/doctor.d.ts.map +1 -1
  203. package/dist/platform/soil/doctor.js +94 -1
  204. package/dist/platform/soil/doctor.js.map +1 -1
  205. package/dist/platform/soil/feedback-store.d.ts +10 -0
  206. package/dist/platform/soil/feedback-store.d.ts.map +1 -0
  207. package/dist/platform/soil/feedback-store.js +38 -0
  208. package/dist/platform/soil/feedback-store.js.map +1 -0
  209. package/dist/platform/soil/health.d.ts +35 -0
  210. package/dist/platform/soil/health.d.ts.map +1 -0
  211. package/dist/platform/soil/health.js +126 -0
  212. package/dist/platform/soil/health.js.map +1 -0
  213. package/dist/platform/soil/index-store.d.ts.map +1 -1
  214. package/dist/platform/soil/index-store.js +10 -1
  215. package/dist/platform/soil/index-store.js.map +1 -1
  216. package/dist/platform/soil/index.d.ts +4 -0
  217. package/dist/platform/soil/index.d.ts.map +1 -1
  218. package/dist/platform/soil/index.js +4 -0
  219. package/dist/platform/soil/index.js.map +1 -1
  220. package/dist/platform/soil/projection-support.d.ts +48 -0
  221. package/dist/platform/soil/projection-support.d.ts.map +1 -0
  222. package/dist/platform/soil/projection-support.js +107 -0
  223. package/dist/platform/soil/projection-support.js.map +1 -0
  224. package/dist/platform/soil/runtime-rebuild.d.ts.map +1 -1
  225. package/dist/platform/soil/runtime-rebuild.js +1 -2
  226. package/dist/platform/soil/runtime-rebuild.js.map +1 -1
  227. package/dist/platform/soil/sqlite-repository.d.ts.map +1 -1
  228. package/dist/platform/soil/sqlite-repository.js +51 -15
  229. package/dist/platform/soil/sqlite-repository.js.map +1 -1
  230. package/dist/runtime/command-dispatcher.d.ts +2 -0
  231. package/dist/runtime/command-dispatcher.d.ts.map +1 -1
  232. package/dist/runtime/command-dispatcher.js +11 -0
  233. package/dist/runtime/command-dispatcher.js.map +1 -1
  234. package/dist/runtime/control/daemon-runtime-control-executor.d.ts +13 -0
  235. package/dist/runtime/control/daemon-runtime-control-executor.d.ts.map +1 -0
  236. package/dist/runtime/control/daemon-runtime-control-executor.js +46 -0
  237. package/dist/runtime/control/daemon-runtime-control-executor.js.map +1 -0
  238. package/dist/runtime/control/index.d.ts +7 -0
  239. package/dist/runtime/control/index.d.ts.map +1 -0
  240. package/dist/runtime/control/index.js +4 -0
  241. package/dist/runtime/control/index.js.map +1 -0
  242. package/dist/runtime/control/runtime-control-intent.d.ts +7 -0
  243. package/dist/runtime/control/runtime-control-intent.d.ts.map +1 -0
  244. package/dist/runtime/control/runtime-control-intent.js +31 -0
  245. package/dist/runtime/control/runtime-control-intent.js.map +1 -0
  246. package/dist/runtime/control/runtime-control-service.d.ts +44 -0
  247. package/dist/runtime/control/runtime-control-service.d.ts.map +1 -0
  248. package/dist/runtime/control/runtime-control-service.js +143 -0
  249. package/dist/runtime/control/runtime-control-service.js.map +1 -0
  250. package/dist/runtime/daemon/client.d.ts +4 -0
  251. package/dist/runtime/daemon/client.d.ts.map +1 -1
  252. package/dist/runtime/daemon/client.js +9 -5
  253. package/dist/runtime/daemon/client.js.map +1 -1
  254. package/dist/runtime/daemon/runner.d.ts +2 -0
  255. package/dist/runtime/daemon/runner.d.ts.map +1 -1
  256. package/dist/runtime/daemon/runner.js +72 -1
  257. package/dist/runtime/daemon/runner.js.map +1 -1
  258. package/dist/runtime/event/server.d.ts +1 -0
  259. package/dist/runtime/event/server.d.ts.map +1 -1
  260. package/dist/runtime/event/server.js +36 -0
  261. package/dist/runtime/event/server.js.map +1 -1
  262. package/dist/runtime/store/index.d.ts +3 -0
  263. package/dist/runtime/store/index.d.ts.map +1 -1
  264. package/dist/runtime/store/index.js +2 -0
  265. package/dist/runtime/store/index.js.map +1 -1
  266. package/dist/runtime/store/runtime-operation-schemas.d.ts +213 -0
  267. package/dist/runtime/store/runtime-operation-schemas.d.ts.map +1 -0
  268. package/dist/runtime/store/runtime-operation-schemas.js +62 -0
  269. package/dist/runtime/store/runtime-operation-schemas.js.map +1 -0
  270. package/dist/runtime/store/runtime-operation-store.d.ts +17 -0
  271. package/dist/runtime/store/runtime-operation-store.d.ts.map +1 -0
  272. package/dist/runtime/store/runtime-operation-store.js +57 -0
  273. package/dist/runtime/store/runtime-operation-store.js.map +1 -0
  274. package/dist/runtime/store/runtime-schemas.d.ts +4 -4
  275. package/dist/runtime/types/daemon.d.ts +3 -0
  276. package/dist/runtime/types/daemon.d.ts.map +1 -1
  277. package/dist/runtime/types/daemon.js +1 -0
  278. package/dist/runtime/types/daemon.js.map +1 -1
  279. package/dist/runtime/types/envelope.d.ts +2 -2
  280. package/dist/tools/execution/RunAdapterTool/RunAdapterTool.d.ts.map +1 -1
  281. package/dist/tools/execution/RunAdapterTool/RunAdapterTool.js +20 -0
  282. package/dist/tools/execution/RunAdapterTool/RunAdapterTool.js.map +1 -1
  283. package/dist/tools/execution/SoilDoctorTool/prompt.d.ts +1 -1
  284. package/dist/tools/execution/SoilDoctorTool/prompt.d.ts.map +1 -1
  285. package/dist/tools/execution/SoilDoctorTool/prompt.js +1 -1
  286. package/dist/tools/execution/SoilDoctorTool/prompt.js.map +1 -1
  287. package/dist/tools/system/EnvTool/EnvTool.d.ts +4 -4
  288. package/package.json +1 -1
@@ -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":"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"}
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.pushAssistantDelta(event.contentPreview, { text: "" }, eventContext);
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;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-runner.js","sourceRoot":"","sources":["../../../src/interface/chat/chat-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-runner.js","sourceRoot":"","sources":["../../../src/interface/chat/chat-runner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cross-platform-session.d.ts","sourceRoot":"","sources":["../../../src/interface/chat/cross-platform-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cross-platform-session.d.ts","sourceRoot":"","sources":["../../../src/interface/chat/cross-platform-session.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAqBpE,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,yDAAyD;IACzD,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AA8FD,qBAAa,+BAA+B;IAG9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;gBAErC,IAAI,EAAE,cAAc;IAEjD;;;;OAIG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,+BAAoC,GAAG,OAAO,CAAC,aAAa,CAAC;IAO7F,sBAAsB,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBtF,qBAAqB,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/E,oBAAoB,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9E,cAAc,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxE;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,+BAA+B,GAAG,4BAA4B,GAAG,IAAI;IAM7F,OAAO,CAAC,kBAAkB;YAmCZ,gBAAgB;CA8B/B;AAID,wBAAgB,wCAAwC,IAAI,OAAO,CAAC,+BAA+B,CAAC,CAQnG"}
@@ -1,4 +1,5 @@
1
1
  import { randomUUID } from "node:crypto";
2
+ import * as path from "node:path";
2
3
  import { ChatRunner } from "./chat-runner.js";
3
4
  import { StateManager } from "../../base/state/state-manager.js";
4
5
  import { buildAdapterRegistry, buildLLMClient } from "../../base/llm/provider-factory.js";
@@ -6,6 +7,7 @@ import { loadProviderConfig } from "../../base/llm/provider-config.js";
6
7
  import { TrustManager } from "../../platform/traits/trust-manager.js";
7
8
  import { ConcurrencyController, createBuiltinTools, ToolExecutor, ToolPermissionManager, ToolRegistry, } from "../../tools/index.js";
8
9
  import { createNativeChatAgentLoopRunner, shouldUseNativeTaskAgentLoop, } from "../../orchestrator/execution/agent-loop/index.js";
10
+ import { RuntimeControlService, createDaemonRuntimeControlExecutor, } from "../../runtime/control/index.js";
9
11
  function normalizeIdentity(value) {
10
12
  const trimmed = value?.trim();
11
13
  return trimmed ? trimmed : null;
@@ -43,6 +45,32 @@ function buildSessionMetadata(options) {
43
45
  ...(options.user_name ? { user_name: options.user_name } : {}),
44
46
  };
45
47
  }
48
+ function buildRuntimeControlChatContext(options) {
49
+ const platform = normalizePlatform(options.platform);
50
+ const conversationId = normalizeIdentity(options.conversation_id);
51
+ const identityKey = normalizeIdentity(options.identity_key);
52
+ const userId = normalizeIdentity(options.user_id);
53
+ if (!platform && !conversationId && !identityKey && !userId)
54
+ return null;
55
+ const runtimeControlApproved = options.metadata?.["runtime_control_approved"] === true;
56
+ return {
57
+ actor: {
58
+ surface: platform ? "gateway" : "chat",
59
+ ...(platform ? { platform } : {}),
60
+ ...(conversationId ? { conversation_id: conversationId } : {}),
61
+ ...(identityKey ? { identity_key: identityKey } : {}),
62
+ ...(userId ? { user_id: userId } : {}),
63
+ },
64
+ replyTarget: {
65
+ surface: platform ? "gateway" : "chat",
66
+ ...(platform ? { platform } : {}),
67
+ ...(conversationId ? { conversation_id: conversationId } : {}),
68
+ ...(identityKey ? { identity_key: identityKey } : {}),
69
+ ...(userId ? { user_id: userId } : {}),
70
+ },
71
+ ...(runtimeControlApproved ? { approvalFn: async () => true } : {}),
72
+ };
73
+ }
46
74
  function safeInvoke(handler, event) {
47
75
  if (!handler)
48
76
  return;
@@ -158,10 +186,12 @@ export class CrossPlatformChatSessionManager {
158
186
  session.runner.onEvent = undefined;
159
187
  }
160
188
  try {
189
+ session.runner.setRuntimeControlContext(buildRuntimeControlChatContext(options));
161
190
  return await session.runner.execute(input, session.info.cwd, options.timeoutMs);
162
191
  }
163
192
  finally {
164
193
  session.runner.onEvent = previousOnEvent;
194
+ session.runner.setRuntimeControlContext(null);
165
195
  }
166
196
  }
167
197
  }
@@ -208,6 +238,12 @@ async function createGlobalCrossPlatformChatSessionManager() {
208
238
  registry: toolRegistry,
209
239
  toolExecutor,
210
240
  chatAgentLoopRunner,
241
+ runtimeControlService: new RuntimeControlService({
242
+ runtimeRoot: path.join(stateManager.getBaseDir(), "runtime"),
243
+ executor: createDaemonRuntimeControlExecutor({
244
+ baseDir: stateManager.getBaseDir(),
245
+ }),
246
+ }),
211
247
  });
212
248
  }
213
249
  //# sourceMappingURL=cross-platform-session.js.map