@roackb2/heddle 1.8.1 → 1.10.0

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 (208) hide show
  1. package/README.md +3 -3
  2. package/dist/examples/conversation-engine.js +15 -16
  3. package/dist/examples/conversation-engine.js.map +1 -1
  4. package/dist/examples/heartbeat.js +2 -2
  5. package/dist/examples/heartbeat.js.map +1 -1
  6. package/dist/examples/programmatic-loop.js +4 -4
  7. package/dist/examples/programmatic-loop.js.map +1 -1
  8. package/dist/src/cli/chat/adapters/conversation-activity-format.d.ts +3 -0
  9. package/dist/src/cli/chat/adapters/conversation-activity-format.d.ts.map +1 -0
  10. package/dist/src/cli/chat/adapters/conversation-activity-format.js +26 -0
  11. package/dist/src/cli/chat/adapters/conversation-activity-format.js.map +1 -0
  12. package/dist/src/cli/chat/hooks/controllers/run/tui-compaction-status.d.ts.map +1 -1
  13. package/dist/src/cli/chat/hooks/controllers/run/tui-compaction-status.js +13 -13
  14. package/dist/src/cli/chat/hooks/controllers/run/tui-compaction-status.js.map +1 -1
  15. package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell-result.js +1 -1
  16. package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell-result.js.map +1 -1
  17. package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell.d.ts +3 -3
  18. package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell.d.ts.map +1 -1
  19. package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell.js +19 -15
  20. package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell.js.map +1 -1
  21. package/dist/src/cli/chat/hooks/controllers/run/tui-ordinary-turn.d.ts +2 -3
  22. package/dist/src/cli/chat/hooks/controllers/run/tui-ordinary-turn.d.ts.map +1 -1
  23. package/dist/src/cli/chat/hooks/controllers/run/tui-ordinary-turn.js +5 -8
  24. package/dist/src/cli/chat/hooks/controllers/run/tui-ordinary-turn.js.map +1 -1
  25. package/dist/src/cli/chat/hooks/controllers/run/tui-run-loop-events.d.ts +2 -8
  26. package/dist/src/cli/chat/hooks/controllers/run/tui-run-loop-events.d.ts.map +1 -1
  27. package/dist/src/cli/chat/hooks/controllers/run/tui-run-loop-events.js +13 -22
  28. package/dist/src/cli/chat/hooks/controllers/run/tui-run-loop-events.js.map +1 -1
  29. package/dist/src/cli/chat/hooks/controllers/run/tui-tool-approval.d.ts +3 -4
  30. package/dist/src/cli/chat/hooks/controllers/run/tui-tool-approval.d.ts.map +1 -1
  31. package/dist/src/cli/chat/hooks/controllers/run/tui-tool-approval.js +17 -27
  32. package/dist/src/cli/chat/hooks/controllers/run/tui-tool-approval.js.map +1 -1
  33. package/dist/src/cli/chat/hooks/controllers/useAgentRunController.d.ts +3 -3
  34. package/dist/src/cli/chat/hooks/controllers/useAgentRunController.d.ts.map +1 -1
  35. package/dist/src/cli/chat/hooks/controllers/useAgentRunController.js +11 -12
  36. package/dist/src/cli/chat/hooks/controllers/useAgentRunController.js.map +1 -1
  37. package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts +2 -4
  38. package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts.map +1 -1
  39. package/dist/src/cli/chat/hooks/useApprovalFlow.js +4 -5
  40. package/dist/src/cli/chat/hooks/useApprovalFlow.js.map +1 -1
  41. package/dist/src/cli/chat/utils/format.js +1 -1
  42. package/dist/src/cli/chat/utils/format.js.map +1 -1
  43. package/dist/src/cli/remote/control-plane-client.d.ts +18 -3
  44. package/dist/src/cli/remote/control-plane-client.d.ts.map +1 -1
  45. package/dist/src/core/agent/context/run-context-builder.d.ts.map +1 -1
  46. package/dist/src/core/agent/context/run-context-builder.js +14 -6
  47. package/dist/src/core/agent/context/run-context-builder.js.map +1 -1
  48. package/dist/src/core/agent/finish/run-finisher.d.ts.map +1 -1
  49. package/dist/src/core/agent/finish/run-finisher.js +5 -4
  50. package/dist/src/core/agent/finish/run-finisher.js.map +1 -1
  51. package/dist/src/core/agent/index.d.ts +1 -1
  52. package/dist/src/core/agent/index.d.ts.map +1 -1
  53. package/dist/src/core/agent/memory/memory-checkpoint-tracker.d.ts.map +1 -1
  54. package/dist/src/core/agent/memory/memory-checkpoint-tracker.js +5 -4
  55. package/dist/src/core/agent/memory/memory-checkpoint-tracker.js.map +1 -1
  56. package/dist/src/core/agent/model/model-turn-service.d.ts.map +1 -1
  57. package/dist/src/core/agent/model/model-turn-service.js +10 -4
  58. package/dist/src/core/agent/model/model-turn-service.js.map +1 -1
  59. package/dist/src/core/agent/service.d.ts.map +1 -1
  60. package/dist/src/core/agent/service.js +2 -1
  61. package/dist/src/core/agent/service.js.map +1 -1
  62. package/dist/src/core/agent/tools/tool-dispatcher.d.ts +4 -4
  63. package/dist/src/core/agent/tools/tool-dispatcher.d.ts.map +1 -1
  64. package/dist/src/core/agent/tools/tool-dispatcher.js +105 -22
  65. package/dist/src/core/agent/tools/tool-dispatcher.js.map +1 -1
  66. package/dist/src/core/agent/tools/tool-turn-service.d.ts.map +1 -1
  67. package/dist/src/core/agent/tools/tool-turn-service.js +5 -12
  68. package/dist/src/core/agent/tools/tool-turn-service.js.map +1 -1
  69. package/dist/src/core/agent/types.d.ts +23 -13
  70. package/dist/src/core/agent/types.d.ts.map +1 -1
  71. package/dist/src/core/approvals/index.d.ts +2 -2
  72. package/dist/src/core/approvals/index.d.ts.map +1 -1
  73. package/dist/src/core/approvals/index.js +0 -1
  74. package/dist/src/core/approvals/index.js.map +1 -1
  75. package/dist/src/core/approvals/remembered-rules/schemas.d.ts +6 -6
  76. package/dist/src/core/approvals/service.d.ts +26 -6
  77. package/dist/src/core/approvals/service.d.ts.map +1 -1
  78. package/dist/src/core/approvals/service.js +96 -5
  79. package/dist/src/core/approvals/service.js.map +1 -1
  80. package/dist/src/core/approvals/types.d.ts +24 -8
  81. package/dist/src/core/approvals/types.d.ts.map +1 -1
  82. package/dist/src/core/chat/engine/compaction/service.d.ts.map +1 -1
  83. package/dist/src/core/chat/engine/compaction/service.js +15 -2
  84. package/dist/src/core/chat/engine/compaction/service.js.map +1 -1
  85. package/dist/src/core/chat/engine/compaction/types.d.ts +2 -6
  86. package/dist/src/core/chat/engine/compaction/types.d.ts.map +1 -1
  87. package/dist/src/core/chat/engine/index.d.ts +1 -0
  88. package/dist/src/core/chat/engine/index.d.ts.map +1 -1
  89. package/dist/src/core/chat/engine/sessions/repository/chat-session-schemas.d.ts +3 -3
  90. package/dist/src/core/chat/engine/turns/host/host-normalizer.d.ts +1 -0
  91. package/dist/src/core/chat/engine/turns/host/host-normalizer.d.ts.map +1 -1
  92. package/dist/src/core/chat/engine/turns/host/host-normalizer.js +12 -18
  93. package/dist/src/core/chat/engine/turns/host/host-normalizer.js.map +1 -1
  94. package/dist/src/core/chat/engine/turns/host/types.d.ts +1 -2
  95. package/dist/src/core/chat/engine/turns/host/types.d.ts.map +1 -1
  96. package/dist/src/core/chat/engine/turns/persistence/types.d.ts +2 -6
  97. package/dist/src/core/chat/engine/turns/persistence/types.d.ts.map +1 -1
  98. package/dist/src/core/chat/engine/turns/preflight/types.d.ts +2 -6
  99. package/dist/src/core/chat/engine/turns/preflight/types.d.ts.map +1 -1
  100. package/dist/src/core/chat/engine/turns/service.d.ts.map +1 -1
  101. package/dist/src/core/chat/engine/turns/service.js +2 -3
  102. package/dist/src/core/chat/engine/turns/service.js.map +1 -1
  103. package/dist/src/core/chat/engine/turns/types.d.ts +4 -4
  104. package/dist/src/core/chat/engine/turns/types.d.ts.map +1 -1
  105. package/dist/src/core/chat/engine/types.d.ts +3 -7
  106. package/dist/src/core/chat/engine/types.d.ts.map +1 -1
  107. package/dist/src/core/chat/types.d.ts +3 -5
  108. package/dist/src/core/chat/types.d.ts.map +1 -1
  109. package/dist/src/core/eval/trace-analyzer.d.ts.map +1 -1
  110. package/dist/src/core/eval/trace-analyzer.js +5 -4
  111. package/dist/src/core/eval/trace-analyzer.js.map +1 -1
  112. package/dist/src/core/event-types.d.ts +34 -0
  113. package/dist/src/core/event-types.d.ts.map +1 -0
  114. package/dist/src/core/event-types.js +33 -0
  115. package/dist/src/core/event-types.js.map +1 -0
  116. package/dist/src/core/heartbeat/tasks/schemas.d.ts +3 -3
  117. package/dist/src/core/live/index.d.ts +3 -0
  118. package/dist/src/core/live/index.d.ts.map +1 -0
  119. package/dist/src/core/live/index.js +2 -0
  120. package/dist/src/core/live/index.js.map +1 -0
  121. package/dist/src/core/live/tool-activity-summarizer.d.ts.map +1 -0
  122. package/dist/src/core/{observability/activity → live}/tool-activity-summarizer.js +1 -1
  123. package/dist/src/core/live/tool-activity-summarizer.js.map +1 -0
  124. package/dist/src/core/live/types.d.ts +145 -0
  125. package/dist/src/core/live/types.d.ts.map +1 -0
  126. package/dist/src/core/live/types.js.map +1 -0
  127. package/dist/src/core/observability/index.d.ts +0 -2
  128. package/dist/src/core/observability/index.d.ts.map +1 -1
  129. package/dist/src/core/observability/index.js +0 -1
  130. package/dist/src/core/observability/index.js.map +1 -1
  131. package/dist/src/core/observability/semantics/trace-semantics.d.ts +2 -2
  132. package/dist/src/core/observability/semantics/trace-semantics.d.ts.map +1 -1
  133. package/dist/src/core/observability/semantics/trace-semantics.js +16 -15
  134. package/dist/src/core/observability/semantics/trace-semantics.js.map +1 -1
  135. package/dist/src/core/observability/summaries/default-trace-summarizers.d.ts.map +1 -1
  136. package/dist/src/core/observability/summaries/default-trace-summarizers.js +17 -16
  137. package/dist/src/core/observability/summaries/default-trace-summarizers.js.map +1 -1
  138. package/dist/src/core/runtime/loop/service.d.ts +1 -0
  139. package/dist/src/core/runtime/loop/service.d.ts.map +1 -1
  140. package/dist/src/core/runtime/loop/service.js +16 -38
  141. package/dist/src/core/runtime/loop/service.js.map +1 -1
  142. package/dist/src/core/runtime/loop/types.d.ts +8 -52
  143. package/dist/src/core/runtime/loop/types.d.ts.map +1 -1
  144. package/dist/src/core/trace/format.js +3 -3
  145. package/dist/src/core/trace/format.js.map +1 -1
  146. package/dist/src/core/types.d.ts +19 -16
  147. package/dist/src/core/types.d.ts.map +1 -1
  148. package/dist/src/index.d.ts +8 -5
  149. package/dist/src/index.d.ts.map +1 -1
  150. package/dist/src/index.js +4 -3
  151. package/dist/src/index.js.map +1 -1
  152. package/dist/src/integrations/cyberloop.d.ts.map +1 -1
  153. package/dist/src/integrations/cyberloop.js +4 -3
  154. package/dist/src/integrations/cyberloop.js.map +1 -1
  155. package/dist/src/server/app.d.ts.map +1 -1
  156. package/dist/src/server/app.js +2 -0
  157. package/dist/src/server/app.js.map +1 -1
  158. package/dist/src/server/features/control-plane/controllers/chat-session-events.d.ts +5 -14
  159. package/dist/src/server/features/control-plane/controllers/chat-session-events.d.ts.map +1 -1
  160. package/dist/src/server/features/control-plane/controllers/chat-session-events.js +11 -31
  161. package/dist/src/server/features/control-plane/controllers/chat-session-events.js.map +1 -1
  162. package/dist/src/server/features/control-plane/controllers/chat-sessions-controller.d.ts +11 -6
  163. package/dist/src/server/features/control-plane/controllers/chat-sessions-controller.d.ts.map +1 -1
  164. package/dist/src/server/features/control-plane/controllers/chat-sessions-controller.js +150 -30
  165. package/dist/src/server/features/control-plane/controllers/chat-sessions-controller.js.map +1 -1
  166. package/dist/src/server/features/control-plane/controllers/chat-turn-review-presenter.d.ts.map +1 -1
  167. package/dist/src/server/features/control-plane/controllers/chat-turn-review-presenter.js +7 -5
  168. package/dist/src/server/features/control-plane/controllers/chat-turn-review-presenter.js.map +1 -1
  169. package/dist/src/server/features/control-plane/router.d.ts +18 -3
  170. package/dist/src/server/features/control-plane/router.d.ts.map +1 -1
  171. package/dist/src/server/features/control-plane/router.js +25 -6
  172. package/dist/src/server/features/control-plane/router.js.map +1 -1
  173. package/dist/src/server/features/control-plane/types.d.ts +9 -13
  174. package/dist/src/server/features/control-plane/types.d.ts.map +1 -1
  175. package/dist/src/server/router.d.ts +18 -3
  176. package/dist/src/server/router.d.ts.map +1 -1
  177. package/dist/src/web/assets/{MonacoDiffViewer-D_Fh9ndN.js → MonacoDiffViewer-DpG9qWtb.js} +1 -1
  178. package/dist/src/web/assets/index-CG8nDVOo.js +87 -0
  179. package/dist/src/web/index.html +1 -1
  180. package/package.json +5 -2
  181. package/dist/src/cli/chat/adapters/conversation-activity-adapter.d.ts +0 -5
  182. package/dist/src/cli/chat/adapters/conversation-activity-adapter.d.ts.map +0 -1
  183. package/dist/src/cli/chat/adapters/conversation-activity-adapter.js +0 -55
  184. package/dist/src/cli/chat/adapters/conversation-activity-adapter.js.map +0 -1
  185. package/dist/src/cli/chat/hooks/useProjectApprovals.d.ts +0 -8
  186. package/dist/src/cli/chat/hooks/useProjectApprovals.d.ts.map +0 -1
  187. package/dist/src/cli/chat/hooks/useProjectApprovals.js +0 -42
  188. package/dist/src/cli/chat/hooks/useProjectApprovals.js.map +0 -1
  189. package/dist/src/core/approvals/pending-approval.d.ts +0 -17
  190. package/dist/src/core/approvals/pending-approval.d.ts.map +0 -1
  191. package/dist/src/core/approvals/pending-approval.js +0 -27
  192. package/dist/src/core/approvals/pending-approval.js.map +0 -1
  193. package/dist/src/core/observability/activity/conversation-activity-projector.d.ts +0 -24
  194. package/dist/src/core/observability/activity/conversation-activity-projector.d.ts.map +0 -1
  195. package/dist/src/core/observability/activity/conversation-activity-projector.js +0 -146
  196. package/dist/src/core/observability/activity/conversation-activity-projector.js.map +0 -1
  197. package/dist/src/core/observability/activity/index.d.ts +0 -4
  198. package/dist/src/core/observability/activity/index.d.ts.map +0 -1
  199. package/dist/src/core/observability/activity/index.js +0 -3
  200. package/dist/src/core/observability/activity/index.js.map +0 -1
  201. package/dist/src/core/observability/activity/tool-activity-summarizer.d.ts.map +0 -1
  202. package/dist/src/core/observability/activity/tool-activity-summarizer.js.map +0 -1
  203. package/dist/src/core/observability/activity/types.d.ts +0 -87
  204. package/dist/src/core/observability/activity/types.d.ts.map +0 -1
  205. package/dist/src/core/observability/activity/types.js.map +0 -1
  206. package/dist/src/web/assets/index-B1wQ0pS4.js +0 -87
  207. /package/dist/src/core/{observability/activity → live}/tool-activity-summarizer.d.ts +0 -0
  208. /package/dist/src/core/{observability/activity → live}/types.js +0 -0
package/README.md CHANGED
@@ -72,9 +72,9 @@ Terminal chat/dev workflow showing file edits, inline diff output, and verificat
72
72
 
73
73
  ### Browser control plane overview
74
74
 
75
- The local control plane gives you a browser-based view of the current workspace, saved sessions, heartbeat tasks, workspace memory, and recent activity. It also shows which workspace is active, so browser sessions follow the selected project instead of the daemon launch directory:
75
+ The next-generation local control plane is a browser-based workspace for sessions, tool approvals, and live diff review. This v2 interface is **work in progress and not yet released**; it shows the direction for the control plane rewrite, while the current released control plane remains the supported browser UI:
76
76
 
77
- ![Heddle control plane overview with workspace memory](docs/images/control-plane-overview-workspace-memory.png)
77
+ ![Heddle web-v2 control plane work in progress](docs/images/control-plane-v2.png)
78
78
 
79
79
  ### Browser session review
80
80
 
@@ -280,7 +280,7 @@ The `Workspaces` section lets you register local projects, switch the control pl
280
280
 
281
281
  The `Sessions` section supports a coding-review flow built around current work first. Review starts from the live Git working tree for the active workspace, with changed files, structured read-only diffs, and a larger full-diff viewer when the side panel is too tight. Historical turn diffs, review commands, verification commands, approvals, and trace events are still available, but they are separated from current review so old evidence does not distract from the task at hand.
282
282
 
283
- Session chat in the control plane renders assistant markdown, preserves streamed thinking summaries as internal progress text, and keeps model/reasoning controls aligned with the terminal workflow.
283
+ Session chat in the control plane renders assistant markdown, receives per-session live updates for assistant streaming, tool progress, approvals, and saved-session refreshes, and keeps model/reasoning controls aligned with the terminal workflow.
284
284
 
285
285
  This is useful if you want a more inspectable and operator-friendly workflow than a plain CLI transcript. The layout adapts for phone use as well, with mobile-native navigation for Overview, Sessions, Tasks, and Workspaces, plus a focused Chat/Review session workflow.
286
286
 
@@ -43,23 +43,24 @@ async function main() {
43
43
  console.log(`Starting session ${session.id} with model ${model} (${provider})`);
44
44
  console.log(`workspaceRoot=${workspaceRoot}`);
45
45
  console.log(`stateRoot=${stateRoot}`);
46
+ let streamedAssistantText = '';
46
47
  const result = await engine.turns.submit({
47
48
  sessionId: session.id,
48
49
  prompt: 'Summarize this repository, explain what Heddle is for, and list the main verification commands in a short bullet list.',
49
50
  host: {
50
51
  events: {
51
52
  onActivity(activity) {
53
+ if (activity.type === 'assistant.stream') {
54
+ process.stdout.write(activity.text.slice(streamedAssistantText.length));
55
+ streamedAssistantText = activity.text;
56
+ return;
57
+ }
52
58
  console.log(formatActivity(activity));
53
59
  },
54
60
  },
55
61
  approvals: {
56
62
  requestToolApproval: requestExampleToolApproval,
57
63
  },
58
- assistant: {
59
- onText(text) {
60
- process.stdout.write(text);
61
- },
62
- },
63
64
  trace: {
64
65
  onEvent(event) {
65
66
  console.log(`\n[trace] ${formatTraceEvent(event)}`);
@@ -89,20 +90,18 @@ const requestExampleToolApproval = async (request) => {
89
90
  };
90
91
  function formatActivity(activity) {
91
92
  switch (activity.type) {
92
- case 'run.started':
93
- return `[activity] run.started run=${activity.correlation.runId ?? 'unknown'}`;
93
+ case 'loop.started':
94
+ return `[activity] loop.started goal=${activity.goal}`;
94
95
  case 'assistant.stream':
95
- return activity.event.done
96
- ? `[activity] assistant.stream done chars=${activity.event.text.length}`
97
- : `[activity] assistant.stream chunk chars=${activity.event.text.length}`;
96
+ return activity.done
97
+ ? `[activity] assistant.stream done chars=${activity.text.length}`
98
+ : `[activity] assistant.stream chunk chars=${activity.text.length}`;
98
99
  case 'tool.calling':
99
- return `[activity] tool.calling tool=${activity.event.tool} step=${activity.correlation.step ?? 'n/a'}`;
100
+ return `[activity] tool.calling tool=${activity.tool} step=${activity.step}`;
100
101
  case 'tool.approval_requested':
101
- return `[activity] tool.approval_requested tool=${activity.event.call.tool} step=${activity.correlation.step ?? 'n/a'}`;
102
- case 'memory.maintenance_started':
103
- return `[activity] memory.maintenance_started candidates=${activity.event.candidateIds.length}`;
104
- case 'run.finished':
105
- return `[activity] run.finished outcome=${activity.event.outcome}`;
102
+ return `[activity] tool.approval_requested tool=${activity.call.tool} step=${activity.step}`;
103
+ case 'loop.finished':
104
+ return `[activity] loop.finished outcome=${activity.outcome}`;
106
105
  default:
107
106
  return `[activity] ${activity.type}`;
108
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-engine.js","sourceRoot":"","sources":["../../examples/conversation-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-engine.js","sourceRoot":"","sources":["../../examples/conversation-engine.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qCAAqC;AACrC,EAAE;AACF,SAAS;AACT,2DAA2D;AAC3D,EAAE;AACF,YAAY;AACZ,+GAA+G;AAC/G,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,4BAA4B;AAC5B,8EAA8E;AAE9E,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,GAKzB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAEnD,KAAK,UAAU,IAAI;IACjB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,GAAG,aAAa,UAAU,CAAC;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,qBAAqB,CAAC;IACpG,MAAM,QAAQ,GAAG,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,wBAAwB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAExE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb;YACE,uBAAuB,QAAQ,GAAG;YAClC,QAAQ,KAAK,QAAQ;gBACnB,CAAC,CAAC,iDAAiD;gBACnD,CAAC,CAAC,QAAQ,KAAK,WAAW;oBACxB,CAAC,CAAC,oDAAoD;oBACtD,CAAC,CAAC,sCAAsC,QAAQ,+BAA+B;YACnF,4FAA4F;SAC7F,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,wBAAwB,CAAC;QACtC,aAAa;QACb,SAAS;QACT,KAAK;QACL,MAAM;QACN,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrC,IAAI,EAAE,0CAA0C;KACjD,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,EAAE,eAAe,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,iBAAiB,aAAa,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC;IACtC,IAAI,qBAAqB,GAAG,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,MAAM,EACJ,wHAAwH;QAC1H,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,UAAU,CAAC,QAAQ;oBACjB,IAAI,QAAQ,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;wBACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;wBACxE,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC;wBACtC,OAAO;oBACT,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxC,CAAC;aACF;YACD,SAAS,EAAE;gBACT,mBAAmB,EAAE,0BAA0B;aAChD;YACD,KAAK,EAAE;gBACL,OAAO,CAAC,KAAK;oBACX,OAAO,CAAC,GAAG,CAAC,aAAa,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACtD,CAAC;aACF;YACD,UAAU,EAAE;gBACV,QAAQ,CAAC,KAAK;oBACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC/D,CAAC;aACF;SACF;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,0BAA0B,GAAG,KAAK,EAAE,OAAkC,EAAE,EAAE;IAC9E,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,6BAA6B,CAAC,CAAC;IACjF,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,sDAAsD;KAC/D,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,cAAc,CAAC,QAA8B;IACpD,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,cAAc;YACjB,OAAO,gCAAgC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzD,KAAK,kBAAkB;YACrB,OAAO,QAAQ,CAAC,IAAI;gBAClB,CAAC,CAAC,0CAA0C,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;gBAClE,CAAC,CAAC,2CAA2C,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACxE,KAAK,cAAc;YACjB,OAAO,gCAAgC,QAAQ,CAAC,IAAI,SAAS,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/E,KAAK,yBAAyB;YAC5B,OAAO,2CAA2C,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/F,KAAK,eAAe;YAClB,OAAO,oCAAoC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChE;YACE,OAAO,cAAc,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAiB;IACzC,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAmC;IACjE,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAClF,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClE,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -38,8 +38,8 @@ async function main() {
38
38
  if (event.type === 'loop.started') {
39
39
  console.log(`[event] heartbeat.started model=${event.model} provider=${event.provider}`);
40
40
  }
41
- if (event.type === 'trace' && event.event.type === 'tool.call') {
42
- console.log(`[trace] tool.call step=${event.event.step} tool=${event.event.call.tool}`);
41
+ if (event.type === 'trace' && event.event.type === 'tool.calling') {
42
+ console.log(`[trace] tool.calling step=${event.event.step} tool=${event.event.call.tool}`);
43
43
  }
44
44
  if (event.type === 'loop.finished') {
45
45
  console.log(`[event] heartbeat.finished outcome=${event.outcome} trace=${event.state.trace.length}`);
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../examples/heartbeat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../examples/heartbeat.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qBAAqB;AACrB,EAAE;AACF,SAAS;AACT,iDAAiD;AACjD,EAAE;AACF,YAAY;AACZ,qGAAqG;AACrG,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,iEAAiE;AACjE,8EAA8E;AAE9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,iCAAiC,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE3G,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AACnD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,gCAAgC,CAAC,CAAC;AAErG,KAAK,UAAU,IAAI;IACjB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,qBAAqB,CAAC;IACpG,MAAM,QAAQ,GAAG,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,wBAAwB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,uBAAuB,QAAQ,IAAI;YACnC,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,iCAAiC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,GAAG,CAAC;QAC9C,KAAK;QACL,IAAI,EACF,iMAAiM;QACnM,KAAK;QACL,MAAM;QACN,KAAK,EAAE,EAAE;QACT,mBAAmB,EAAE,KAAK;QAC1B,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE;QAC5B,OAAO,CAAC,KAAK;YACX,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,KAAK,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,CAAC,OAAO,UAAU,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACvG,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,cAAc,eAAe,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -101,10 +101,10 @@ function formatTraceEvent(event) {
101
101
  return `[trace] tool.approval_resolved step=${event.step} tool=${event.call.tool} approved=${event.approved}`;
102
102
  case 'tool.fallback':
103
103
  return `[trace] tool.fallback step=${event.step} from=${event.fromCall.tool} to=${event.toCall.tool} reason=${JSON.stringify(shorten(event.reason))}`;
104
- case 'tool.call':
105
- return `[trace] tool.call step=${event.step} tool=${event.call.tool} input=${JSON.stringify(event.call.input)}`;
106
- case 'tool.result':
107
- return `[trace] tool.result step=${event.step} tool=${event.tool} ok=${event.result.ok} output=${JSON.stringify(formatUnknown(event.result.output ?? event.result.error ?? ''))}`;
104
+ case 'tool.calling':
105
+ return `[trace] tool.calling step=${event.step} tool=${event.call.tool} input=${JSON.stringify(event.call.input)}`;
106
+ case 'tool.completed':
107
+ return `[trace] tool.completed step=${event.step} tool=${event.call.tool} ok=${event.result.ok} output=${JSON.stringify(formatUnknown(event.result.output ?? event.result.error ?? ''))}`;
108
108
  case 'memory.candidate_recorded':
109
109
  return `[trace] memory.candidate_recorded step=${event.step} candidate=${event.candidateId}`;
110
110
  case 'memory.checkpoint_skipped':
@@ -1 +1 @@
1
- {"version":3,"file":"programmatic-loop.js","sourceRoot":"","sources":["../../examples/programmatic-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"programmatic-loop.js","sourceRoot":"","sources":["../../examples/programmatic-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ConversationActivity } from '../../../core/live/index.js';
2
+ export declare function formatTuiConversationActivity(activity: ConversationActivity): string | undefined;
3
+ //# sourceMappingURL=conversation-activity-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-activity-format.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/adapters/conversation-activity-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAkC,MAAM,sBAAsB,CAAC;AAwBjG,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAGhG"}
@@ -0,0 +1,26 @@
1
+ import { truncate } from '../../../core/utils/text.js';
2
+ const tuiActivityFormatters = {
3
+ 'loop.started': () => 'thinking',
4
+ 'tool.approval_requested': (activity) => `approval needed for ${activity.derived?.kind === 'tool-summary' ? activity.derived.summary : activity.call.tool}`,
5
+ 'tool.approval_resolved': (activity) => {
6
+ const summary = activity.derived?.kind === 'tool-summary' ? activity.derived.summary : activity.call.tool;
7
+ return `approval ${activity.approved ? 'granted' : 'denied'} for ${summary}${activity.reason ? ` (${truncate(activity.reason, 80)})` : ''}`;
8
+ },
9
+ 'tool.fallback': (activity) => {
10
+ const fallback = activity.derived?.kind === 'tool-fallback-summary' ? activity.derived : undefined;
11
+ return `retrying with ${fallback?.toSummary ?? activity.toCall.tool} after ${fallback?.fromSummary ?? activity.fromCall.tool} was blocked (${truncate(activity.reason, 80)})`;
12
+ },
13
+ 'tool.calling': (activity) => `running ${activity.derived?.kind === 'tool-summary' ? activity.derived.summary : activity.tool}`,
14
+ 'tool.completed': (activity) => `${activity.tool} completed in ${Math.round(activity.durationMs)}ms`,
15
+ 'compaction.running': () => 'Compacting earlier conversation history…',
16
+ 'compaction.failed': (activity) => `Compaction failed: ${activity.error ?? 'unknown error'}`,
17
+ 'compaction.finished': () => 'Compaction finished.',
18
+ 'loop.finished': (activity) => {
19
+ return activity.outcome === 'done' ? undefined : `stopped: ${activity.outcome}`;
20
+ },
21
+ };
22
+ export function formatTuiConversationActivity(activity) {
23
+ const formatter = tuiActivityFormatters[activity.type];
24
+ return formatter?.(activity);
25
+ }
26
+ //# sourceMappingURL=conversation-activity-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-activity-format.js","sourceRoot":"","sources":["../../../../../src/cli/chat/adapters/conversation-activity-format.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,MAAM,qBAAqB,GAAkE;IAC3F,cAAc,EAAE,GAAG,EAAE,CAAC,UAAU;IAChC,yBAAyB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,uBAAuB,QAAQ,CAAC,OAAO,EAAE,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;IAC3J,wBAAwB,EAAE,CAAC,QAAQ,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1G,OAAO,YAAY,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,QAAQ,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9I,CAAC;IACD,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,KAAK,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACnG,OAAO,iBAAiB,QAAQ,EAAE,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,QAAQ,EAAE,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,iBAAiB,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC;IAChL,CAAC;IACD,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,QAAQ,CAAC,OAAO,EAAE,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;IAC/H,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,iBAAiB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;IACpG,oBAAoB,EAAE,GAAG,EAAE,CAAC,0CAA0C;IACtE,mBAAmB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,sBAAsB,QAAQ,CAAC,KAAK,IAAI,eAAe,EAAE;IAC5F,qBAAqB,EAAE,GAAG,EAAE,CAAC,sBAAsB;IACnD,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC5B,OAAO,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,OAAO,EAAE,CAAC;IAClF,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAAC,QAA8B;IAC1E,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAyE,CAAC;IAC/H,OAAO,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tui-compaction-status.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-compaction-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AACnH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,0BAA0B,CAAC;IAC3C,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,GAAG,WAAW,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,GAAG;IACtD,uBAAuB,EAAE,CAAC,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;CAClG,CAuBA;AAED,wBAAgB,2CAA2C,CAAC,IAAI,EAAE;IAChE,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,0BAA0B,CAAC;IAC3C,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,IAGS,OAAO,wBAAwB,EAAE,eAAe,WAAW,EAAE,UActE"}
1
+ {"version":3,"file":"tui-compaction-status.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-compaction-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AACnH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,0BAA0B,CAAC;IAC3C,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,GAAG,WAAW,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,GAAG;IACtD,uBAAuB,EAAE,CAAC,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;CAClG,CAqBA;AAED,wBAAgB,2CAA2C,CAAC,IAAI,EAAE;IAChE,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,0BAA0B,CAAC;IAC3C,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,IAGS,OAAO,wBAAwB,EAAE,eAAe,WAAW,EAAE,UActE"}
@@ -1,7 +1,6 @@
1
1
  export function createTuiCompactionStatusPort(args) {
2
2
  const { state, sessionId, sessionService, refreshSessions } = args;
3
3
  const handleWithSourceHistory = (event, sourceHistory) => {
4
- appendCompactionLiveEvent(state, event);
5
4
  if (event.status !== 'running') {
6
5
  return;
7
6
  }
@@ -34,20 +33,21 @@ export function createTuiDirectShellCompactionStatusHandler(args) {
34
33
  };
35
34
  }
36
35
  function appendCompactionLiveEvent(state, event) {
37
- const liveText = compactionLiveEventText(event);
38
- if (!liveText) {
36
+ const text = formatDirectShellCompactionStatus(event);
37
+ if (!text) {
39
38
  return;
40
39
  }
41
- state.setLiveEvents((current) => [...current, { id: state.nextLocalId(), text: liveText }].slice(-8));
40
+ state.setLiveEvents((current) => [
41
+ ...current,
42
+ { id: state.nextLocalId(), text },
43
+ ].slice(-8));
42
44
  }
43
- function compactionLiveEventText(event) {
44
- switch (event.status) {
45
- case 'running':
46
- return 'Compacting earlier conversation history…';
47
- case 'failed':
48
- return `Compaction failed: ${event.error ?? 'unknown error'}`;
49
- case 'finished':
50
- return 'Compaction finished.';
51
- }
45
+ function formatDirectShellCompactionStatus(event) {
46
+ const formatters = {
47
+ running: () => 'Compacting earlier conversation history…',
48
+ failed: () => `Compaction failed: ${event.error ?? 'unknown error'}`,
49
+ finished: () => 'Compaction finished.',
50
+ };
51
+ return formatters[event.status]();
52
52
  }
53
53
  //# sourceMappingURL=tui-compaction-status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-compaction-status.js","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-compaction-status.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,6BAA6B,CAAC,IAK7C;IAGC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAEnE,MAAM,uBAAuB,GAAG,CAAC,KAA+B,EAAE,aAA4B,EAAE,EAAE;QAChG,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAExC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC9B,cAAc,CAAC,qBAAqB,CAAC,SAAS,EAAE;YAC9C,aAAa;YACb,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;QACH,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO;QACL,2BAA2B,EAAE,CAAC,KAA+B,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,EAAE,CAAC;QACpG,uBAAuB,EAAE,CAAC,KAA+B,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,EAAE,CAAC;QAChG,uBAAuB;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2CAA2C,CAAC,IAK3D;IACC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAEnE,OAAO,CAAC,KAA+B,EAAE,aAA4B,EAAE,EAAE;QACvE,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAExC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC9B,cAAc,CAAC,qBAAqB,CAAC,SAAS,EAAE;YAC9C,aAAa;YACb,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;QACH,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAkB,EAAE,KAA+B;IACpF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA+B;IAC9D,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,0CAA0C,CAAC;QACpD,KAAK,QAAQ;YACX,OAAO,sBAAsB,KAAK,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;QAChE,KAAK,UAAU;YACb,OAAO,sBAAsB,CAAC;IAClC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tui-compaction-status.js","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-compaction-status.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,6BAA6B,CAAC,IAK7C;IAGC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAEnE,MAAM,uBAAuB,GAAG,CAAC,KAA+B,EAAE,aAA4B,EAAE,EAAE;QAChG,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC9B,cAAc,CAAC,qBAAqB,CAAC,SAAS,EAAE;YAC9C,aAAa;YACb,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;QACH,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO;QACL,2BAA2B,EAAE,CAAC,KAA+B,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,EAAE,CAAC;QACpG,uBAAuB,EAAE,CAAC,KAA+B,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,EAAE,CAAC;QAChG,uBAAuB;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2CAA2C,CAAC,IAK3D;IACC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAEnE,OAAO,CAAC,KAA+B,EAAE,aAA4B,EAAE,EAAE;QACvE,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAExC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC9B,cAAc,CAAC,qBAAqB,CAAC,SAAS,EAAE;YAC9C,aAAa;YACb,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;QACH,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAkB,EAAE,KAA+B;IACpF,MAAM,IAAI,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/B,GAAG,OAAO;QACV,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE;KAClC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iCAAiC,CAAC,KAA+B;IACxE,MAAM,UAAU,GAAG;QACjB,OAAO,EAAE,GAAG,EAAE,CAAC,0CAA0C;QACzD,MAAM,EAAE,GAAG,EAAE,CAAC,sBAAsB,KAAK,CAAC,KAAK,IAAI,eAAe,EAAE;QACpE,QAAQ,EAAE,GAAG,EAAE,CAAC,sBAAsB;KACwC,CAAC;IAEjF,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AACpC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ToolActivitySummarizer } from '../../../../../core/observability/index.js';
1
+ import { ToolActivitySummarizer } from '../../../../../core/live/index.js';
2
2
  import { appendDirectShellHistory, formatDirectShellResponse } from '../../../utils/format.js';
3
3
  import { ConversationCompactionService } from '../../../state/compaction.js';
4
4
  import { createTuiDirectShellCompactionStatusHandler } from './tui-compaction-status.js';
@@ -1 +1 @@
1
- {"version":3,"file":"tui-direct-shell-result.js","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-direct-shell-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAI7E,OAAO,EAAE,2CAA2C,EAAE,MAAM,4BAA4B,CAAC;AAEzF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,IAcnD;IACC,MAAM,EACJ,UAAU,EACV,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,KAAK,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,KAAK,EACL,KAAK,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,GAAG,IAAI,CAAC;IAET,MAAM,YAAY,GAAG,yBAAyB,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACvF,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACxH,MAAM,oBAAoB,GAAG,2CAA2C,CAAC;QACvE,KAAK;QACL,SAAS,EAAE,eAAe;QAC1B,cAAc;QACd,eAAe;KAChB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC;QAC5D,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE;YACP,KAAK;YACL,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC;QACD,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE;YACP,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YACzC,IAAI,EAAE,YAAY;SACnB;QACD,UAAU,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,wBAAwB,EAAE;QAClE,cAAc,EAAE,CAAC,KAA0F,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,CAAC;KAChK,CAAC,CAAC;IACH,cAAc,CAAC,qBAAqB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACjE,eAAe,EAAE,CAAC;IAClB,KAAK,CAAC,aAAa,CAAC;QAClB;YACE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE;YACvB,IAAI,EACF,YAAY,CAAC,EAAE,CAAC,CAAC;gBACf,GAAG,sBAAsB,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY;gBACjE,CAAC,CAAC,GAAG,sBAAsB,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS;SACjE;KACF,CAAC,CAAC;IACH,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QAC3C,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"tui-direct-shell-result.js","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-direct-shell-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAI7E,OAAO,EAAE,2CAA2C,EAAE,MAAM,4BAA4B,CAAC;AAEzF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,IAcnD;IACC,MAAM,EACJ,UAAU,EACV,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,KAAK,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,KAAK,EACL,KAAK,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,GAAG,IAAI,CAAC;IAET,MAAM,YAAY,GAAG,yBAAyB,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACvF,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACxH,MAAM,oBAAoB,GAAG,2CAA2C,CAAC;QACvE,KAAK;QACL,SAAS,EAAE,eAAe;QAC1B,cAAc;QACd,eAAe;KAChB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC;QAC5D,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE;YACP,KAAK;YACL,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC;QACD,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE;YACP,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YACzC,IAAI,EAAE,YAAY;SACnB;QACD,UAAU,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,wBAAwB,EAAE;QAClE,cAAc,EAAE,CAAC,KAA0F,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,CAAC;KAChK,CAAC,CAAC;IACH,cAAc,CAAC,qBAAqB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACjE,eAAe,EAAE,CAAC;IAClB,KAAK,CAAC,aAAa,CAAC;QAClB;YACE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE;YACvB,IAAI,EACF,YAAY,CAAC,EAAE,CAAC,CAAC;gBACf,GAAG,sBAAsB,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY;gBACjE,CAAC,CAAC,GAAG,sBAAsB,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS;SACjE;KACF,CAAC,CAAC;IACH,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QAC3C,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC"}
@@ -1,5 +1,6 @@
1
+ import { ToolApprovalService } from '../../../../../core/approvals/index.js';
1
2
  import type { ConversationSessionService } from '../../../../../core/chat/engine/types.js';
2
- import type { ToolCall, ToolDefinition } from '../../../../../core/types.js';
3
+ import type { ToolDefinition } from '../../../../../core/types.js';
3
4
  import type { ChatRuntimeConfig } from '../../../utils/runtime.js';
4
5
  import type { ActionState } from '../useAgentRunController.js';
5
6
  import type { ChatSession } from '../../../state/types.js';
@@ -15,7 +16,6 @@ export declare function executeTuiDirectShell(args: {
15
16
  sessionService: ConversationSessionService;
16
17
  refreshSessions: () => void;
17
18
  maybeAutoNameSession: (sessionId: string, prompt: string, responseText: string) => void;
18
- isProjectApproved: (call: ToolCall) => boolean;
19
- rememberProjectApproval: (call: ToolCall) => void;
19
+ approvalService: ToolApprovalService;
20
20
  }): Promise<void>;
21
21
  //# sourceMappingURL=tui-direct-shell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-direct-shell.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-direct-shell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAG9E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAc,MAAM,iBAAiB,CAAC;AAE5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,0BAA0B,CAAC;IAC3C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,iBAAiB,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IAC/C,uBAAuB,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CACnD,iBAoKA"}
1
+ {"version":3,"file":"tui-direct-shell.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-direct-shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAG9E,OAAO,KAAK,EAAY,cAAc,EAAc,MAAM,iBAAiB,CAAC;AAE5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,0BAA0B,CAAC;IAC3C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,eAAe,EAAE,mBAAmB,CAAC;CACtC,iBAwKA"}
@@ -1,12 +1,11 @@
1
- import { ToolApprovalPolicies, ToolApprovalService } from '../../../../../core/approvals/index.js';
2
- import { ProjectApprovalRules } from '../../../../../core/approvals/remembered-rules/index.js';
3
- import { ToolActivitySummarizer } from '../../../../../core/observability/index.js';
1
+ import { ToolApprovalPolicies } from '../../../../../core/approvals/index.js';
2
+ import { ToolActivitySummarizer } from '../../../../../core/live/index.js';
4
3
  import { DEFAULT_INSPECT_RULES, DEFAULT_MUTATE_RULES, runShellCommand } from '../../../../../core/tools/toolkits/shell-process/run-shell.js';
5
4
  import { shouldFallbackToMutate } from '../../../utils/format.js';
6
5
  import { beginTuiDirectShellAction, finishTuiDirectShellAction } from './tui-agent-turn-lifecycle.js';
7
6
  import { finalizeTuiDirectShellSuccess } from './tui-direct-shell-result.js';
8
7
  export async function executeTuiDirectShell(args) {
9
- const { command, shellDisplay, model, activeSessionId, activeSession, runtime, tools, state, sessionService, refreshSessions, maybeAutoNameSession, isProjectApproved, rememberProjectApproval, } = args;
8
+ const { command, shellDisplay, model, activeSessionId, activeSession, runtime, tools, state, sessionService, refreshSessions, maybeAutoNameSession, approvalService, } = args;
10
9
  const leaseOwner = {
11
10
  ownerKind: 'tui',
12
11
  ownerId: `tui-${process.pid}`,
@@ -61,11 +60,11 @@ export async function executeTuiDirectShell(args) {
61
60
  if (!directShellTool) {
62
61
  throw new Error('run_shell_mutate tool is not registered');
63
62
  }
64
- const approval = await ToolApprovalService.resolve({
63
+ const approval = await approvalService.resolve({
65
64
  policies: [
66
65
  () => ({ type: 'request', reason: 'Direct shell mutation requires approval' }),
67
66
  ToolApprovalPolicies.rememberedProjectRule({
68
- isApproved: ({ call }) => isProjectApproved(call),
67
+ isApproved: (context) => approvalService.isApprovedByRememberedProjectRule(context),
69
68
  }),
70
69
  ],
71
70
  context: {
@@ -73,15 +72,20 @@ export async function executeTuiDirectShell(args) {
73
72
  tool: directShellTool,
74
73
  workspaceRoot: runtime.workspaceRoot,
75
74
  },
76
- requestHumanApproval: async () => await new Promise((resolve) => {
77
- const rememberedRule = ProjectApprovalRules.createForCall(mutateCall);
78
- state.setPendingApproval({
79
- call: mutateCall,
80
- tool: directShellTool,
81
- rememberForProject: rememberedRule ? () => rememberProjectApproval(mutateCall) : undefined,
82
- rememberLabel: rememberedRule ? ProjectApprovalRules.describe(rememberedRule) : undefined,
83
- resolve,
84
- });
75
+ requestHumanApproval: async (_context, reason) => await approvalService.requestHumanApproval({
76
+ call: mutateCall,
77
+ tool: directShellTool,
78
+ workspaceRoot: runtime.workspaceRoot,
79
+ reason,
80
+ storePending: ({ request: approvalRequest, resolve }) => {
81
+ state.setPendingApproval({
82
+ call: mutateCall,
83
+ tool: directShellTool,
84
+ canRememberForProject: Boolean(approvalRequest.rememberProjectApproval),
85
+ rememberLabel: approvalRequest.rememberProjectApproval?.label,
86
+ resolve,
87
+ });
88
+ },
85
89
  }),
86
90
  });
87
91
  if (!approval.approved) {
@@ -1 +1 @@
1
- {"version":3,"file":"tui-direct-shell.js","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-direct-shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui-direct-shell.js","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-direct-shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAuB,MAAM,2BAA2B,CAAC;AAEtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEhI,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAI7E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAa3C;IACC,MAAM,EACJ,OAAO,EACP,YAAY,EACZ,KAAK,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,KAAK,EACL,KAAK,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,eAAe,GAChB,GAAG,IAAI,CAAC;IAET,MAAM,UAAU,GAAG;QACjB,SAAS,EAAE,KAAc;QACzB,OAAO,EAAE,OAAO,OAAO,CAAC,GAAG,EAAE;QAC7B,WAAW,EAAE,eAAe;KAC7B,CAAC;IACF,IAAI,gBAA6B,CAAC;IAClC,IAAI,CAAC;QACH,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,gBAAgB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC9E,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3B,cAAc,CAAC,aAAa,CAAC,eAAe,EAAE;YAC5C,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE;YACvB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QACH,eAAe,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IACD,gBAAgB,GAAG,cAAc,CAAC,YAAY,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC5E,eAAe,EAAE,CAAC;IAClB,MAAM,0BAA0B,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7E,cAAc,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAC7G,cAAc,CAAC,qBAAqB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACjE,eAAe,EAAE,CAAC;IAElB,IAAI,CAAC;QACH,MAAM,WAAW,GAAa;YAC5B,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,UAAU;YACxC,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,EAAE,OAAO,EAAE;SACnB,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,eAAe,CACzC,WAAW,CAAC,KAAK,EACjB;YACE,QAAQ,EAAE,WAAW,CAAC,IAAI;YAC1B,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,KAAK;SACpB,EACD,0BAA0B,CAAC,MAAM,CAClC,CAAC;QAEF,IAAI,UAAU,GAAG,WAAW,CAAC;QAC7B,IAAI,YAAY,GAAe,aAAa,CAAC;QAE7C,IAAI,sBAAsB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,UAAU,GAAa;gBAC3B,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,SAAS;gBACvC,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,EAAE,OAAO,EAAE;aACnB,CAAC;YAEF,IAAI,OAAO,CAAC,mBAAmB,KAAK,QAAQ,EAAE,CAAC;gBAC7C,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;gBAC/E,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC;oBAC7C,QAAQ,EAAE;wBACR,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;wBAC9E,oBAAoB,CAAC,qBAAqB,CAAC;4BACzC,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,iCAAiC,CAAC,OAAO,CAAC;yBACpF,CAAC;qBACH;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,eAAe;wBACrB,aAAa,EAAE,OAAO,CAAC,aAAa;qBACrC;oBACD,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,eAAe,CAAC,oBAAoB,CAAC;wBAC3F,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,eAAe;wBACrB,aAAa,EAAE,OAAO,CAAC,aAAa;wBACpC,MAAM;wBACN,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE;4BACtD,KAAK,CAAC,kBAAkB,CAAC;gCACvB,IAAI,EAAE,UAAU;gCAChB,IAAI,EAAE,eAAe;gCACrB,qBAAqB,EAAE,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC;gCACvE,aAAa,EAAE,eAAe,CAAC,uBAAuB,EAAE,KAAK;gCAC7D,OAAO;6BACR,CAAC,CAAC;wBACL,CAAC;qBACF,CAAC;iBACH,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACvB,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;oBAClG,cAAc,CAAC,aAAa,CAAC,eAAe,EAAE;wBAC5C,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE;wBACvB,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,aAAa;qBACpB,CAAC,CAAC;oBACH,eAAe,EAAE,CAAC;oBAClB,KAAK,CAAC,aAAa,CAAC;wBAClB;4BACE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE;4BACvB,IAAI,EAAE,uBAAuB,sBAAsB,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;yBAChF;qBACF,CAAC,CAAC;oBACH,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;YACH,CAAC;YAED,UAAU,GAAG,UAAU,CAAC;YACxB,YAAY,GAAG,MAAM,eAAe,CAClC,UAAU,CAAC,KAAK,EAChB;gBACE,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,KAAK,EAAE,oBAAoB;gBAC3B,YAAY,EAAE,IAAI;aACnB,EACD,0BAA0B,CAAC,MAAM,CAClC,CAAC;QACJ,CAAC;QAED,MAAM,6BAA6B,CAAC;YAClC,UAAU;YACV,YAAY;YACZ,OAAO;YACP,YAAY;YACZ,KAAK;YACL,eAAe;YACf,aAAa,EAAE,aAAa,IAAI,gBAAgB;YAChD,OAAO;YACP,KAAK;YACL,KAAK;YACL,cAAc;YACd,eAAe;YACf,oBAAoB;SACrB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,UAAU,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtF,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzB,cAAc,CAAC,aAAa,CAAC,eAAe,EAAE;YAC5C,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE;YACvB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,mCAAmC,OAAO,EAAE;SACnD,CAAC,CAAC;QACH,eAAe,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,cAAc,CAAC,YAAY,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACzD,eAAe,EAAE,CAAC;QAClB,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;AACH,CAAC"}
@@ -2,7 +2,7 @@ import type { RunResult } from '../../../../../index.js';
2
2
  import type { ConversationSessionService } from '../../../../../core/chat/engine/types.js';
3
3
  import type { ChatSession } from '../../../state/types.js';
4
4
  import type { ChatRuntimeConfig } from '../../../utils/runtime.js';
5
- import { createTuiRememberedApprovalPolicies, createTuiToolApprovalPort } from './tui-tool-approval.js';
5
+ import type { ToolApprovalService } from '../../../../../core/approvals/index.js';
6
6
  import type { ActionState } from '../useAgentRunController.js';
7
7
  import type { CyberLoopKinematicsObserver } from '../../../../../index.js';
8
8
  type SessionUpdater = (sessionId: string, updater: (session: ChatSession) => ChatSession) => void;
@@ -20,8 +20,7 @@ export declare function executeTuiOrdinaryTurn(args: {
20
20
  updateSessionById: SessionUpdater;
21
21
  parsePlanState: ParsePlanState;
22
22
  maybeAutoNameSession: (sessionId: string, prompt: string, responseText: string) => void;
23
- isProjectApproved: Parameters<typeof createTuiRememberedApprovalPolicies>[0]['isProjectApproved'];
24
- rememberProjectApproval: Parameters<typeof createTuiToolApprovalPort>[0]['rememberProjectApproval'];
23
+ approvalService: ToolApprovalService;
25
24
  driftObserver: CyberLoopKinematicsObserver | undefined;
26
25
  turnAbortSignal: AbortSignal;
27
26
  leaseOwner: {
@@ -1 +1 @@
1
- {"version":3,"file":"tui-ordinary-turn.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-ordinary-turn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAInE,OAAO,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE3E,KAAK,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,KAAK,IAAI,CAAC;AAElG,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,SAAS;IAAE,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAExH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,0BAA0B,CAAC;IAC3C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,iBAAiB,EAAE,cAAc,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,iBAAiB,EAAE,UAAU,CAAC,OAAO,mCAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClG,uBAAuB,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACpG,aAAa,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACvD,eAAe,EAAE,WAAW,CAAC;IAC7B,UAAU,EAAE;QAAE,SAAS,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACxE,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CA4GjC"}
1
+ {"version":3,"file":"tui-ordinary-turn.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-ordinary-turn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE3E,KAAK,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,KAAK,IAAI,CAAC;AAElG,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,SAAS;IAAE,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAExH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,0BAA0B,CAAC;IAC3C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,iBAAiB,EAAE,cAAc,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,eAAe,EAAE,mBAAmB,CAAC;IACrC,aAAa,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACvD,eAAe,EAAE,WAAW,CAAC;IAC7B,UAAU,EAAE;QAAE,SAAS,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACxE,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAwGjC"}
@@ -4,7 +4,7 @@ import { finalizeSuccessfulTuiOrdinaryTurn } from './tui-agent-turn-result.js';
4
4
  import { createTuiRunLoopEventAdapter } from './tui-run-loop-events.js';
5
5
  import { createTuiRememberedApprovalPolicies, createTuiToolApprovalPort } from './tui-tool-approval.js';
6
6
  export async function executeTuiOrdinaryTurn(args) {
7
- const { prompt, displayText, sessionId, runtime, state, sessionService, refreshSessions, updateSessionById, parsePlanState, maybeAutoNameSession, isProjectApproved, rememberProjectApproval, driftObserver, turnAbortSignal, leaseOwner, } = args;
7
+ const { prompt, displayText, sessionId, runtime, state, sessionService, refreshSessions, updateSessionById, parsePlanState, maybeAutoNameSession, approvalService, driftObserver, turnAbortSignal, leaseOwner, } = args;
8
8
  const compactionPort = createTuiCompactionStatusPort({
9
9
  state,
10
10
  sessionId,
@@ -24,9 +24,9 @@ export async function executeTuiOrdinaryTurn(args) {
24
24
  });
25
25
  const approvalPort = createTuiToolApprovalPort({
26
26
  state,
27
- rememberProjectApproval,
27
+ approvalService,
28
28
  });
29
- const approvalPolicies = createTuiRememberedApprovalPolicies({ isProjectApproved });
29
+ const approvalPolicies = createTuiRememberedApprovalPolicies({ approvalService });
30
30
  const engine = createConversationEngine({
31
31
  workspaceRoot: runtime.workspaceRoot,
32
32
  stateRoot: runtime.stateRoot,
@@ -46,16 +46,13 @@ export async function executeTuiOrdinaryTurn(args) {
46
46
  searchIgnoreDirs: runtime.searchIgnoreDirs,
47
47
  host: {
48
48
  events: {
49
- onAgentLoopEvent: (event) => {
49
+ onEvent: (event) => {
50
50
  driftObserver?.observer.handleEvent(event);
51
- runLoopEvents.onAgentLoopEvent(event);
52
51
  },
52
+ onActivity: runLoopEvents.onActivity,
53
53
  },
54
54
  compaction: compactionPort,
55
55
  approvals: approvalPort,
56
- assistant: {
57
- onStream: runLoopEvents.onAssistantStream,
58
- },
59
56
  trace: {
60
57
  onEvent: runLoopEvents.onTraceEvent,
61
58
  },
@@ -1 +1 @@
1
- {"version":3,"file":"tui-ordinary-turn.js","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-ordinary-turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui-ordinary-turn.js","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-ordinary-turn.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,7 @@
1
1
  import type { TraceEvent } from '../../../../../index.js';
2
2
  import type { ConversationSessionService } from '../../../../../core/chat/engine/types.js';
3
- import type { AgentLoopEvent } from '../../../../../core/runtime/loop/index.js';
3
+ import type { ConversationActivity } from '../../../../../core/live/index.js';
4
4
  import type { ActionState } from '../useAgentRunController.js';
5
- export type TuiAssistantStreamUpdate = {
6
- step: number;
7
- text: string;
8
- done: boolean;
9
- };
10
5
  type PlanStateParser = (output: unknown) => ActionState extends {
11
6
  setCurrentPlan: (value: infer T) => void;
12
7
  } ? T : never;
@@ -17,8 +12,7 @@ export declare function createTuiRunLoopEventAdapter(args: {
17
12
  refreshSessions: () => void;
18
13
  parsePlanState: PlanStateParser;
19
14
  }): {
20
- onAssistantStream(update: TuiAssistantStreamUpdate): void;
21
- onAgentLoopEvent(event: AgentLoopEvent): void;
15
+ onActivity(activity: ConversationActivity): void;
22
16
  onTraceEvent(event: TraceEvent): void;
23
17
  };
24
18
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"tui-run-loop-events.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-run-loop-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAKnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,MAAM,wBAAwB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAErF,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,SAAS;IAAE,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAEzH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,0BAA0B,CAAC;IAC3C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,eAAe,CAAC;CACjC;8BAO6B,wBAAwB;4BAQ1B,cAAc;wBAalB,UAAU;EA+CjC"}
1
+ {"version":3,"file":"tui-run-loop-events.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-run-loop-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAKjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,SAAS;IAAE,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAEzH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,0BAA0B,CAAC;IAC3C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,eAAe,CAAC;CACjC;yBAOwB,oBAAoB;wBAWrB,UAAU;EA2CjC"}