@roackb2/heddle 0.0.37 → 1.0.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 (578) hide show
  1. package/README.md +11 -0
  2. package/dist/examples/conversation-engine.d.ts +2 -0
  3. package/dist/examples/conversation-engine.d.ts.map +1 -0
  4. package/dist/examples/conversation-engine.js +127 -0
  5. package/dist/examples/conversation-engine.js.map +1 -0
  6. package/dist/examples/repo-investigator.js +1 -2
  7. package/dist/examples/repo-investigator.js.map +1 -1
  8. package/dist/src/cli/ask.d.ts.map +1 -1
  9. package/dist/src/cli/ask.js +22 -3
  10. package/dist/src/cli/ask.js.map +1 -1
  11. package/dist/src/cli/chat/App.js +43 -27
  12. package/dist/src/cli/chat/App.js.map +1 -1
  13. package/dist/src/cli/chat/adapters/conversation-activity-adapter.d.ts +5 -0
  14. package/dist/src/cli/chat/adapters/conversation-activity-adapter.d.ts.map +1 -0
  15. package/dist/src/cli/chat/adapters/conversation-activity-adapter.js +43 -0
  16. package/dist/src/cli/chat/adapters/conversation-activity-adapter.js.map +1 -0
  17. package/dist/src/cli/chat/adapters/slash-command-context.d.ts +4 -0
  18. package/dist/src/cli/chat/adapters/slash-command-context.d.ts.map +1 -0
  19. package/dist/src/cli/chat/adapters/slash-command-context.js +48 -0
  20. package/dist/src/cli/chat/adapters/slash-command-context.js.map +1 -0
  21. package/dist/src/cli/chat/commands/debug-snapshot-command.d.ts +7 -0
  22. package/dist/src/cli/chat/commands/debug-snapshot-command.d.ts.map +1 -0
  23. package/dist/src/cli/chat/commands/debug-snapshot-command.js +25 -0
  24. package/dist/src/cli/chat/commands/debug-snapshot-command.js.map +1 -0
  25. package/dist/src/cli/chat/components/ApprovalComposer.js.map +1 -1
  26. package/dist/src/cli/chat/components/ConversationPanel.d.ts +42 -1
  27. package/dist/src/cli/chat/components/ConversationPanel.d.ts.map +1 -1
  28. package/dist/src/cli/chat/components/ConversationPanel.js +114 -67
  29. package/dist/src/cli/chat/components/ConversationPanel.js.map +1 -1
  30. package/dist/src/cli/chat/components/ModelPickerPanel.d.ts +2 -1
  31. package/dist/src/cli/chat/components/ModelPickerPanel.d.ts.map +1 -1
  32. package/dist/src/cli/chat/components/ModelPickerPanel.js +8 -4
  33. package/dist/src/cli/chat/components/ModelPickerPanel.js.map +1 -1
  34. package/dist/src/cli/chat/debug/tui-debug-snapshot.d.ts +2 -1
  35. package/dist/src/cli/chat/debug/tui-debug-snapshot.d.ts.map +1 -1
  36. package/dist/src/cli/chat/debug/tui-debug-snapshot.js +14 -1
  37. package/dist/src/cli/chat/debug/tui-debug-snapshot.js.map +1 -1
  38. package/dist/src/cli/chat/hooks/tui-agent-turn-result.d.ts.map +1 -1
  39. package/dist/src/cli/chat/hooks/tui-agent-turn-result.js +3 -2
  40. package/dist/src/cli/chat/hooks/tui-agent-turn-result.js.map +1 -1
  41. package/dist/src/cli/chat/hooks/tui-compaction-status.d.ts +1 -1
  42. package/dist/src/cli/chat/hooks/tui-compaction-status.d.ts.map +1 -1
  43. package/dist/src/cli/chat/hooks/tui-compaction-status.js.map +1 -1
  44. package/dist/src/cli/chat/hooks/tui-direct-shell-result.d.ts.map +1 -1
  45. package/dist/src/cli/chat/hooks/tui-direct-shell-result.js +2 -1
  46. package/dist/src/cli/chat/hooks/tui-direct-shell-result.js.map +1 -1
  47. package/dist/src/cli/chat/hooks/tui-direct-shell.d.ts.map +1 -1
  48. package/dist/src/cli/chat/hooks/tui-direct-shell.js +21 -7
  49. package/dist/src/cli/chat/hooks/tui-direct-shell.js.map +1 -1
  50. package/dist/src/cli/chat/hooks/tui-ordinary-turn.d.ts +2 -2
  51. package/dist/src/cli/chat/hooks/tui-ordinary-turn.d.ts.map +1 -1
  52. package/dist/src/cli/chat/hooks/tui-ordinary-turn.js +6 -5
  53. package/dist/src/cli/chat/hooks/tui-ordinary-turn.js.map +1 -1
  54. package/dist/src/cli/chat/hooks/tui-run-loop-events.d.ts.map +1 -1
  55. package/dist/src/cli/chat/hooks/tui-run-loop-events.js +13 -9
  56. package/dist/src/cli/chat/hooks/tui-run-loop-events.js.map +1 -1
  57. package/dist/src/cli/chat/hooks/tui-tool-approval.d.ts +8 -3
  58. package/dist/src/cli/chat/hooks/tui-tool-approval.d.ts.map +1 -1
  59. package/dist/src/cli/chat/hooks/tui-tool-approval.js +33 -25
  60. package/dist/src/cli/chat/hooks/tui-tool-approval.js.map +1 -1
  61. package/dist/src/cli/chat/hooks/useAgentRun.d.ts +2 -2
  62. package/dist/src/cli/chat/hooks/useAgentRun.d.ts.map +1 -1
  63. package/dist/src/cli/chat/hooks/useAgentRun.js +2 -2
  64. package/dist/src/cli/chat/hooks/useAgentRun.js.map +1 -1
  65. package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts +2 -2
  66. package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts.map +1 -1
  67. package/dist/src/cli/chat/hooks/useApprovalFlow.js +3 -3
  68. package/dist/src/cli/chat/hooks/useApprovalFlow.js.map +1 -1
  69. package/dist/src/cli/chat/hooks/useChatPickers.d.ts +6 -3
  70. package/dist/src/cli/chat/hooks/useChatPickers.d.ts.map +1 -1
  71. package/dist/src/cli/chat/hooks/useChatPickers.js +17 -4
  72. package/dist/src/cli/chat/hooks/useChatPickers.js.map +1 -1
  73. package/dist/src/cli/chat/hooks/useChatSessions.d.ts +1 -1
  74. package/dist/src/cli/chat/hooks/useChatSessions.d.ts.map +1 -1
  75. package/dist/src/cli/chat/hooks/useChatSessions.js +25 -22
  76. package/dist/src/cli/chat/hooks/useChatSessions.js.map +1 -1
  77. package/dist/src/cli/chat/hooks/useChatStatusSummary.d.ts +1 -1
  78. package/dist/src/cli/chat/hooks/useChatStatusSummary.d.ts.map +1 -1
  79. package/dist/src/cli/chat/hooks/usePromptSubmission.d.ts +2 -1
  80. package/dist/src/cli/chat/hooks/usePromptSubmission.d.ts.map +1 -1
  81. package/dist/src/cli/chat/hooks/usePromptSubmission.js +4 -1
  82. package/dist/src/cli/chat/hooks/usePromptSubmission.js.map +1 -1
  83. package/dist/src/cli/chat/state/approval-rules.d.ts +2 -20
  84. package/dist/src/cli/chat/state/approval-rules.d.ts.map +1 -1
  85. package/dist/src/cli/chat/state/approval-rules.js +1 -256
  86. package/dist/src/cli/chat/state/approval-rules.js.map +1 -1
  87. package/dist/src/cli/chat/state/compaction.d.ts +1 -1
  88. package/dist/src/cli/chat/state/compaction.d.ts.map +1 -1
  89. package/dist/src/cli/chat/state/compaction.js +1 -1
  90. package/dist/src/cli/chat/state/compaction.js.map +1 -1
  91. package/dist/src/cli/chat/state/local-commands.d.ts +5 -2
  92. package/dist/src/cli/chat/state/local-commands.d.ts.map +1 -1
  93. package/dist/src/cli/chat/state/local-commands.js +35 -410
  94. package/dist/src/cli/chat/state/local-commands.js.map +1 -1
  95. package/dist/src/cli/chat/state/storage.d.ts +1 -1
  96. package/dist/src/cli/chat/state/storage.d.ts.map +1 -1
  97. package/dist/src/cli/chat/state/storage.js +1 -1
  98. package/dist/src/cli/chat/state/storage.js.map +1 -1
  99. package/dist/src/cli/chat/state/types.d.ts +2 -1
  100. package/dist/src/cli/chat/state/types.d.ts.map +1 -1
  101. package/dist/src/cli/chat/submit.d.ts.map +1 -1
  102. package/dist/src/cli/chat/submit.js +13 -1
  103. package/dist/src/cli/chat/submit.js.map +1 -1
  104. package/dist/src/cli/chat/utils/file-mentions.js +1 -1
  105. package/dist/src/cli/chat/utils/file-mentions.js.map +1 -1
  106. package/dist/src/cli/chat/utils/format.d.ts +4 -12
  107. package/dist/src/cli/chat/utils/format.d.ts.map +1 -1
  108. package/dist/src/cli/chat/utils/format.js +12 -167
  109. package/dist/src/cli/chat/utils/format.js.map +1 -1
  110. package/dist/src/cli/chat/utils/runtime.d.ts +1 -1
  111. package/dist/src/cli/chat/utils/runtime.d.ts.map +1 -1
  112. package/dist/src/cli/chat/utils/runtime.js +1 -1
  113. package/dist/src/cli/chat/utils/runtime.js.map +1 -1
  114. package/dist/src/cli/eval/index.d.ts +24 -0
  115. package/dist/src/cli/eval/index.d.ts.map +1 -0
  116. package/dist/src/cli/eval/index.js +232 -0
  117. package/dist/src/cli/eval/index.js.map +1 -0
  118. package/dist/src/cli/main.js +25 -3
  119. package/dist/src/cli/main.js.map +1 -1
  120. package/dist/src/cli/remote/control-plane-client.d.ts +5 -1
  121. package/dist/src/cli/remote/control-plane-client.d.ts.map +1 -1
  122. package/dist/src/cli/session.js +1 -1
  123. package/dist/src/cli/session.js.map +1 -1
  124. package/dist/src/core/agent/mutation-tracking.d.ts +0 -7
  125. package/dist/src/core/agent/mutation-tracking.d.ts.map +1 -1
  126. package/dist/src/core/agent/mutation-tracking.js +5 -63
  127. package/dist/src/core/agent/mutation-tracking.js.map +1 -1
  128. package/dist/src/core/agent/post-mutation.d.ts +2 -2
  129. package/dist/src/core/agent/post-mutation.d.ts.map +1 -1
  130. package/dist/src/core/agent/post-mutation.js +5 -20
  131. package/dist/src/core/agent/post-mutation.js.map +1 -1
  132. package/dist/src/core/agent/progress-reminders.d.ts +1 -4
  133. package/dist/src/core/agent/progress-reminders.d.ts.map +1 -1
  134. package/dist/src/core/agent/progress-reminders.js +4 -56
  135. package/dist/src/core/agent/progress-reminders.js.map +1 -1
  136. package/dist/src/core/agent/run-agent.d.ts +2 -0
  137. package/dist/src/core/agent/run-agent.d.ts.map +1 -1
  138. package/dist/src/core/agent/run-agent.js +6 -103
  139. package/dist/src/core/agent/run-agent.js.map +1 -1
  140. package/dist/src/core/agent/tool-dispatch.d.ts +3 -0
  141. package/dist/src/core/agent/tool-dispatch.d.ts.map +1 -1
  142. package/dist/src/core/agent/tool-dispatch.js +24 -50
  143. package/dist/src/core/agent/tool-dispatch.js.map +1 -1
  144. package/dist/src/core/approvals/default-policies.d.ts +10 -0
  145. package/dist/src/core/approvals/default-policies.d.ts.map +1 -0
  146. package/dist/src/core/approvals/default-policies.js +37 -0
  147. package/dist/src/core/approvals/default-policies.js.map +1 -0
  148. package/dist/src/core/approvals/policy-chain.d.ts +9 -0
  149. package/dist/src/core/approvals/policy-chain.d.ts.map +1 -0
  150. package/dist/src/core/approvals/policy-chain.js +36 -0
  151. package/dist/src/core/approvals/policy-chain.js.map +1 -0
  152. package/dist/src/core/approvals/remembered-rules.d.ts +21 -0
  153. package/dist/src/core/approvals/remembered-rules.d.ts.map +1 -0
  154. package/dist/src/core/approvals/remembered-rules.js +257 -0
  155. package/dist/src/core/approvals/remembered-rules.js.map +1 -0
  156. package/dist/src/core/{chat/tool-approval-host.d.ts → approvals/surface.d.ts} +4 -6
  157. package/dist/src/core/approvals/surface.d.ts.map +1 -0
  158. package/dist/src/core/{chat/tool-approval-host.js → approvals/surface.js} +9 -1
  159. package/dist/src/core/approvals/surface.js.map +1 -0
  160. package/dist/src/core/approvals/types.d.ts +23 -0
  161. package/dist/src/core/approvals/types.d.ts.map +1 -0
  162. package/dist/src/core/approvals/types.js +2 -0
  163. package/dist/src/core/approvals/types.js.map +1 -0
  164. package/dist/src/core/chat/engine/config.d.ts +22 -0
  165. package/dist/src/core/chat/engine/config.d.ts.map +1 -0
  166. package/dist/src/core/chat/engine/config.js +27 -0
  167. package/dist/src/core/chat/engine/config.js.map +1 -0
  168. package/dist/src/core/chat/engine/conversation-engine.d.ts +3 -0
  169. package/dist/src/core/chat/engine/conversation-engine.d.ts.map +1 -0
  170. package/dist/src/core/chat/engine/conversation-engine.js +15 -0
  171. package/dist/src/core/chat/engine/conversation-engine.js.map +1 -0
  172. package/dist/src/core/chat/{compaction.d.ts → engine/history/compaction.d.ts} +3 -3
  173. package/dist/src/core/chat/engine/history/compaction.d.ts.map +1 -0
  174. package/dist/src/core/chat/{compaction.js → engine/history/compaction.js} +5 -5
  175. package/dist/src/core/chat/engine/history/compaction.js.map +1 -0
  176. package/dist/src/core/chat/engine/index.d.ts +5 -0
  177. package/dist/src/core/chat/engine/index.d.ts.map +1 -0
  178. package/dist/src/core/chat/engine/index.js +3 -0
  179. package/dist/src/core/chat/engine/index.js.map +1 -0
  180. package/dist/src/core/chat/{archive.d.ts → engine/sessions/archive.d.ts} +2 -2
  181. package/dist/src/core/chat/engine/sessions/archive.d.ts.map +1 -0
  182. package/dist/src/core/chat/engine/sessions/archive.js.map +1 -0
  183. package/dist/src/core/chat/engine/sessions/conversation-lines.d.ts +4 -0
  184. package/dist/src/core/chat/engine/sessions/conversation-lines.d.ts.map +1 -0
  185. package/dist/src/core/chat/{conversation-lines.js → engine/sessions/conversation-lines.js} +1 -1
  186. package/dist/src/core/chat/engine/sessions/conversation-lines.js.map +1 -0
  187. package/dist/src/core/chat/{session-lease.d.ts → engine/sessions/lease.d.ts} +2 -2
  188. package/dist/src/core/chat/engine/sessions/lease.d.ts.map +1 -0
  189. package/dist/src/core/chat/{session-lease.js → engine/sessions/lease.js} +1 -1
  190. package/dist/src/core/chat/engine/sessions/lease.js.map +1 -0
  191. package/dist/src/core/chat/engine/sessions/service.d.ts +6 -0
  192. package/dist/src/core/chat/engine/sessions/service.d.ts.map +1 -0
  193. package/dist/src/core/chat/engine/sessions/service.js +50 -0
  194. package/dist/src/core/chat/engine/sessions/service.js.map +1 -0
  195. package/dist/src/core/chat/{storage.d.ts → engine/sessions/storage.d.ts} +1 -1
  196. package/dist/src/core/chat/engine/sessions/storage.d.ts.map +1 -0
  197. package/dist/src/core/chat/{storage.js → engine/sessions/storage.js} +1 -1
  198. package/dist/src/core/chat/engine/sessions/storage.js.map +1 -0
  199. package/dist/src/core/chat/{session-title.d.ts → engine/sessions/title.d.ts} +2 -2
  200. package/dist/src/core/chat/engine/sessions/title.d.ts.map +1 -0
  201. package/dist/src/core/chat/{session-title.js → engine/sessions/title.js} +1 -1
  202. package/dist/src/core/chat/engine/sessions/title.js.map +1 -0
  203. package/dist/src/core/chat/engine/turns/context.d.ts +25 -0
  204. package/dist/src/core/chat/engine/turns/context.d.ts.map +1 -0
  205. package/dist/src/core/chat/engine/turns/context.js +41 -0
  206. package/dist/src/core/chat/engine/turns/context.js.map +1 -0
  207. package/dist/src/core/chat/engine/turns/host-bridge.d.ts +37 -0
  208. package/dist/src/core/chat/engine/turns/host-bridge.d.ts.map +1 -0
  209. package/dist/src/core/chat/engine/turns/host-bridge.js +20 -0
  210. package/dist/src/core/chat/engine/turns/host-bridge.js.map +1 -0
  211. package/dist/src/core/chat/engine/turns/host.d.ts +3 -0
  212. package/dist/src/core/chat/engine/turns/host.d.ts.map +1 -0
  213. package/dist/src/core/chat/engine/turns/host.js +42 -0
  214. package/dist/src/core/chat/engine/turns/host.js.map +1 -0
  215. package/dist/src/core/chat/engine/turns/memory-maintenance.d.ts +33 -0
  216. package/dist/src/core/chat/engine/turns/memory-maintenance.d.ts.map +1 -0
  217. package/dist/src/core/chat/engine/turns/memory-maintenance.js +120 -0
  218. package/dist/src/core/chat/engine/turns/memory-maintenance.js.map +1 -0
  219. package/dist/src/core/chat/engine/turns/persistence.d.ts +25 -0
  220. package/dist/src/core/chat/engine/turns/persistence.d.ts.map +1 -0
  221. package/dist/src/core/chat/engine/turns/persistence.js +45 -0
  222. package/dist/src/core/chat/engine/turns/persistence.js.map +1 -0
  223. package/dist/src/core/chat/{session-turn-preflight.d.ts → engine/turns/preflight.d.ts} +25 -6
  224. package/dist/src/core/chat/engine/turns/preflight.d.ts.map +1 -0
  225. package/dist/src/core/chat/engine/turns/preflight.js +96 -0
  226. package/dist/src/core/chat/engine/turns/preflight.js.map +1 -0
  227. package/dist/src/core/chat/{session-turn-result.d.ts → engine/turns/result.d.ts} +7 -5
  228. package/dist/src/core/chat/engine/turns/result.d.ts.map +1 -0
  229. package/dist/src/core/chat/{session-turn-result.js → engine/turns/result.js} +11 -9
  230. package/dist/src/core/chat/engine/turns/result.js.map +1 -0
  231. package/dist/src/core/chat/engine/turns/run-conversation-turn.d.ts +37 -0
  232. package/dist/src/core/chat/engine/turns/run-conversation-turn.d.ts.map +1 -0
  233. package/dist/src/core/chat/engine/turns/run-conversation-turn.js +125 -0
  234. package/dist/src/core/chat/engine/turns/run-conversation-turn.js.map +1 -0
  235. package/dist/src/core/chat/engine/turns/runtime.d.ts +26 -0
  236. package/dist/src/core/chat/engine/turns/runtime.d.ts.map +1 -0
  237. package/dist/src/core/chat/engine/turns/runtime.js +55 -0
  238. package/dist/src/core/chat/engine/turns/runtime.js.map +1 -0
  239. package/dist/src/core/chat/engine/turns/service.d.ts +6 -0
  240. package/dist/src/core/chat/engine/turns/service.d.ts.map +1 -0
  241. package/dist/src/core/chat/engine/turns/service.js +51 -0
  242. package/dist/src/core/chat/engine/turns/service.js.map +1 -0
  243. package/dist/src/core/chat/engine/turns/trace.d.ts +3 -0
  244. package/dist/src/core/chat/engine/turns/trace.d.ts.map +1 -0
  245. package/dist/src/core/chat/engine/turns/trace.js.map +1 -0
  246. package/dist/src/core/chat/engine/types.d.ts +111 -0
  247. package/dist/src/core/chat/engine/types.d.ts.map +1 -0
  248. package/dist/src/core/chat/engine/types.js +2 -0
  249. package/dist/src/core/chat/engine/types.js.map +1 -0
  250. package/dist/src/core/chat/types.d.ts +3 -20
  251. package/dist/src/core/chat/types.d.ts.map +1 -1
  252. package/dist/src/core/commands/slash/autocomplete.d.ts +6 -0
  253. package/dist/src/core/commands/slash/autocomplete.d.ts.map +1 -0
  254. package/dist/src/core/commands/slash/autocomplete.js +56 -0
  255. package/dist/src/core/commands/slash/autocomplete.js.map +1 -0
  256. package/dist/src/core/commands/slash/modules/auth/auth-commands.d.ts +5 -0
  257. package/dist/src/core/commands/slash/modules/auth/auth-commands.d.ts.map +1 -0
  258. package/dist/src/core/commands/slash/modules/auth/auth-commands.js +67 -0
  259. package/dist/src/core/commands/slash/modules/auth/auth-commands.js.map +1 -0
  260. package/dist/src/core/commands/slash/modules/compaction/compaction-commands.d.ts +5 -0
  261. package/dist/src/core/commands/slash/modules/compaction/compaction-commands.d.ts.map +1 -0
  262. package/dist/src/core/commands/slash/modules/compaction/compaction-commands.js +20 -0
  263. package/dist/src/core/commands/slash/modules/compaction/compaction-commands.js.map +1 -0
  264. package/dist/src/core/commands/slash/modules/context.d.ts +48 -0
  265. package/dist/src/core/commands/slash/modules/context.d.ts.map +1 -0
  266. package/dist/src/core/commands/slash/modules/context.js +2 -0
  267. package/dist/src/core/commands/slash/modules/context.js.map +1 -0
  268. package/dist/src/core/commands/slash/modules/core-command-modules.d.ts +5 -0
  269. package/dist/src/core/commands/slash/modules/core-command-modules.d.ts.map +1 -0
  270. package/dist/src/core/commands/slash/modules/core-command-modules.js +17 -0
  271. package/dist/src/core/commands/slash/modules/core-command-modules.js.map +1 -0
  272. package/dist/src/core/commands/slash/modules/drift/drift-commands.d.ts +6 -0
  273. package/dist/src/core/commands/slash/modules/drift/drift-commands.d.ts.map +1 -0
  274. package/dist/src/core/commands/slash/modules/drift/drift-commands.js +54 -0
  275. package/dist/src/core/commands/slash/modules/drift/drift-commands.js.map +1 -0
  276. package/dist/src/core/commands/slash/modules/heartbeat/heartbeat-commands.d.ts +12 -0
  277. package/dist/src/core/commands/slash/modules/heartbeat/heartbeat-commands.d.ts.map +1 -0
  278. package/dist/src/core/commands/slash/modules/heartbeat/heartbeat-commands.js +199 -0
  279. package/dist/src/core/commands/slash/modules/heartbeat/heartbeat-commands.js.map +1 -0
  280. package/dist/src/core/commands/slash/modules/model/model-commands.d.ts +7 -0
  281. package/dist/src/core/commands/slash/modules/model/model-commands.d.ts.map +1 -0
  282. package/dist/src/core/commands/slash/modules/model/model-commands.js +77 -0
  283. package/dist/src/core/commands/slash/modules/model/model-commands.js.map +1 -0
  284. package/dist/src/core/commands/slash/modules/results.d.ts +6 -0
  285. package/dist/src/core/commands/slash/modules/results.d.ts.map +1 -0
  286. package/dist/src/core/commands/slash/modules/results.js +15 -0
  287. package/dist/src/core/commands/slash/modules/results.js.map +1 -0
  288. package/dist/src/core/commands/slash/modules/session/session-commands.d.ts +11 -0
  289. package/dist/src/core/commands/slash/modules/session/session-commands.d.ts.map +1 -0
  290. package/dist/src/core/commands/slash/modules/session/session-commands.js +146 -0
  291. package/dist/src/core/commands/slash/modules/session/session-commands.js.map +1 -0
  292. package/dist/src/core/commands/slash/parser.d.ts +7 -0
  293. package/dist/src/core/commands/slash/parser.d.ts.map +1 -0
  294. package/dist/src/core/commands/slash/parser.js +44 -0
  295. package/dist/src/core/commands/slash/parser.js.map +1 -0
  296. package/dist/src/core/commands/slash/registry.d.ts +9 -0
  297. package/dist/src/core/commands/slash/registry.d.ts.map +1 -0
  298. package/dist/src/core/commands/slash/registry.js +50 -0
  299. package/dist/src/core/commands/slash/registry.js.map +1 -0
  300. package/dist/src/core/commands/slash/result-types.d.ts +20 -0
  301. package/dist/src/core/commands/slash/result-types.d.ts.map +1 -0
  302. package/dist/src/core/commands/slash/result-types.js +2 -0
  303. package/dist/src/core/commands/slash/result-types.js.map +1 -0
  304. package/dist/src/core/commands/slash/types.d.ts +28 -0
  305. package/dist/src/core/commands/slash/types.d.ts.map +1 -0
  306. package/dist/src/core/commands/slash/types.js +2 -0
  307. package/dist/src/core/commands/slash/types.js.map +1 -0
  308. package/dist/src/core/config.d.ts +1 -1
  309. package/dist/src/core/config.d.ts.map +1 -1
  310. package/dist/src/core/config.js +1 -1
  311. package/dist/src/core/config.js.map +1 -1
  312. package/dist/src/core/eval/agent-runner.d.ts +24 -0
  313. package/dist/src/core/eval/agent-runner.d.ts.map +1 -0
  314. package/dist/src/core/eval/agent-runner.js +151 -0
  315. package/dist/src/core/eval/agent-runner.js.map +1 -0
  316. package/dist/src/core/eval/case-loader.d.ts +7 -0
  317. package/dist/src/core/eval/case-loader.d.ts.map +1 -0
  318. package/dist/src/core/eval/case-loader.js +34 -0
  319. package/dist/src/core/eval/case-loader.js.map +1 -0
  320. package/dist/src/core/eval/check-runner.d.ts +8 -0
  321. package/dist/src/core/eval/check-runner.d.ts.map +1 -0
  322. package/dist/src/core/eval/check-runner.js +33 -0
  323. package/dist/src/core/eval/check-runner.js.map +1 -0
  324. package/dist/src/core/eval/cleanup.d.ts +20 -0
  325. package/dist/src/core/eval/cleanup.d.ts.map +1 -0
  326. package/dist/src/core/eval/cleanup.js +42 -0
  327. package/dist/src/core/eval/cleanup.js.map +1 -0
  328. package/dist/src/core/eval/git-artifacts.d.ts +26 -0
  329. package/dist/src/core/eval/git-artifacts.d.ts.map +1 -0
  330. package/dist/src/core/eval/git-artifacts.js +211 -0
  331. package/dist/src/core/eval/git-artifacts.js.map +1 -0
  332. package/dist/src/core/eval/process.d.ts +22 -0
  333. package/dist/src/core/eval/process.d.ts.map +1 -0
  334. package/dist/src/core/eval/process.js +65 -0
  335. package/dist/src/core/eval/process.js.map +1 -0
  336. package/dist/src/core/eval/progress.d.ts +28 -0
  337. package/dist/src/core/eval/progress.d.ts.map +1 -0
  338. package/dist/src/core/eval/progress.js +94 -0
  339. package/dist/src/core/eval/progress.js.map +1 -0
  340. package/dist/src/core/eval/report-writer.d.ts +7 -0
  341. package/dist/src/core/eval/report-writer.d.ts.map +1 -0
  342. package/dist/src/core/eval/report-writer.js +159 -0
  343. package/dist/src/core/eval/report-writer.js.map +1 -0
  344. package/dist/src/core/eval/schema.d.ts +206 -0
  345. package/dist/src/core/eval/schema.d.ts.map +1 -0
  346. package/dist/src/core/eval/schema.js +104 -0
  347. package/dist/src/core/eval/schema.js.map +1 -0
  348. package/dist/src/core/eval/trace-analyzer.d.ts +6 -0
  349. package/dist/src/core/eval/trace-analyzer.d.ts.map +1 -0
  350. package/dist/src/core/eval/trace-analyzer.js +106 -0
  351. package/dist/src/core/eval/trace-analyzer.js.map +1 -0
  352. package/dist/src/core/eval/workspace-fixture.d.ts +14 -0
  353. package/dist/src/core/eval/workspace-fixture.d.ts.map +1 -0
  354. package/dist/src/core/eval/workspace-fixture.js +235 -0
  355. package/dist/src/core/eval/workspace-fixture.js.map +1 -0
  356. package/dist/src/core/llm/model-policy.d.ts +26 -0
  357. package/dist/src/core/llm/model-policy.d.ts.map +1 -1
  358. package/dist/src/core/llm/model-policy.js +47 -0
  359. package/dist/src/core/llm/model-policy.js.map +1 -1
  360. package/dist/src/core/memory/maintainer-tools.js +1 -1
  361. package/dist/src/core/memory/maintainer-tools.js.map +1 -1
  362. package/dist/src/core/memory/visibility.js +1 -1
  363. package/dist/src/core/memory/visibility.js.map +1 -1
  364. package/dist/src/core/observability/conversation-activity.d.ts +114 -0
  365. package/dist/src/core/observability/conversation-activity.d.ts.map +1 -0
  366. package/dist/src/core/observability/conversation-activity.js +249 -0
  367. package/dist/src/core/observability/conversation-activity.js.map +1 -0
  368. package/dist/src/core/observability/semantic-conventions.d.ts +33 -0
  369. package/dist/src/core/observability/semantic-conventions.d.ts.map +1 -0
  370. package/dist/src/core/observability/semantic-conventions.js +33 -0
  371. package/dist/src/core/observability/semantic-conventions.js.map +1 -0
  372. package/dist/src/core/observability/trace-summarizers.d.ts +23 -0
  373. package/dist/src/core/observability/trace-summarizers.d.ts.map +1 -0
  374. package/dist/src/core/observability/trace-summarizers.js +60 -0
  375. package/dist/src/core/observability/trace-summarizers.js.map +1 -0
  376. package/dist/src/core/prompts/system-prompt.d.ts +1 -1
  377. package/dist/src/core/prompts/system-prompt.d.ts.map +1 -1
  378. package/dist/src/core/prompts/system-prompt.js +19 -100
  379. package/dist/src/core/prompts/system-prompt.js.map +1 -1
  380. package/dist/src/core/runtime/agent-loop.d.ts +2 -0
  381. package/dist/src/core/runtime/agent-loop.d.ts.map +1 -1
  382. package/dist/src/core/runtime/agent-loop.js +1 -0
  383. package/dist/src/core/runtime/agent-loop.js.map +1 -1
  384. package/dist/src/core/runtime/default-tools.d.ts.map +1 -1
  385. package/dist/src/core/runtime/default-tools.js +33 -54
  386. package/dist/src/core/runtime/default-tools.js.map +1 -1
  387. package/dist/src/core/runtime/heartbeat.d.ts +2 -0
  388. package/dist/src/core/runtime/heartbeat.d.ts.map +1 -1
  389. package/dist/src/core/runtime/heartbeat.js +1 -0
  390. package/dist/src/core/runtime/heartbeat.js.map +1 -1
  391. package/dist/src/core/tools/toolkit.d.ts +20 -0
  392. package/dist/src/core/tools/toolkit.d.ts.map +1 -0
  393. package/dist/src/core/tools/toolkit.js +21 -0
  394. package/dist/src/core/tools/toolkit.js.map +1 -0
  395. package/dist/src/core/tools/{delete-file.d.ts → toolkits/coding-files/delete-file.d.ts} +1 -1
  396. package/dist/src/core/tools/toolkits/coding-files/delete-file.d.ts.map +1 -0
  397. package/dist/src/core/tools/toolkits/coding-files/delete-file.js.map +1 -0
  398. package/dist/src/core/tools/{edit-file.d.ts → toolkits/coding-files/edit-file.d.ts} +1 -1
  399. package/dist/src/core/tools/toolkits/coding-files/edit-file.d.ts.map +1 -0
  400. package/dist/src/core/tools/toolkits/coding-files/edit-file.js.map +1 -0
  401. package/dist/src/core/tools/{file-edit-core.d.ts → toolkits/coding-files/file-edit-core.d.ts} +1 -1
  402. package/dist/src/core/tools/toolkits/coding-files/file-edit-core.d.ts.map +1 -0
  403. package/dist/src/core/tools/toolkits/coding-files/file-edit-core.js.map +1 -0
  404. package/dist/src/core/tools/toolkits/coding-files/index.d.ts +8 -0
  405. package/dist/src/core/tools/toolkits/coding-files/index.d.ts.map +1 -0
  406. package/dist/src/core/tools/toolkits/coding-files/index.js +8 -0
  407. package/dist/src/core/tools/toolkits/coding-files/index.js.map +1 -0
  408. package/dist/src/core/tools/{list-files.d.ts → toolkits/coding-files/list-files.d.ts} +1 -1
  409. package/dist/src/core/tools/toolkits/coding-files/list-files.d.ts.map +1 -0
  410. package/dist/src/core/tools/toolkits/coding-files/list-files.js.map +1 -0
  411. package/dist/src/core/tools/{move-file.d.ts → toolkits/coding-files/move-file.d.ts} +1 -1
  412. package/dist/src/core/tools/toolkits/coding-files/move-file.d.ts.map +1 -0
  413. package/dist/src/core/tools/toolkits/coding-files/move-file.js.map +1 -0
  414. package/dist/src/core/tools/{read-file.d.ts → toolkits/coding-files/read-file.d.ts} +1 -1
  415. package/dist/src/core/tools/toolkits/coding-files/read-file.d.ts.map +1 -0
  416. package/dist/src/core/tools/toolkits/coding-files/read-file.js.map +1 -0
  417. package/dist/src/core/tools/{search-files.d.ts → toolkits/coding-files/search-files.d.ts} +1 -1
  418. package/dist/src/core/tools/toolkits/coding-files/search-files.d.ts.map +1 -0
  419. package/dist/src/core/tools/toolkits/coding-files/search-files.js.map +1 -0
  420. package/dist/src/core/tools/toolkits/coding-files/toolkit.d.ts +3 -0
  421. package/dist/src/core/tools/toolkits/coding-files/toolkit.d.ts.map +1 -0
  422. package/dist/src/core/tools/toolkits/coding-files/toolkit.js +23 -0
  423. package/dist/src/core/tools/toolkits/coding-files/toolkit.js.map +1 -0
  424. package/dist/src/core/tools/toolkits/external-context/toolkit.d.ts +3 -0
  425. package/dist/src/core/tools/toolkits/external-context/toolkit.d.ts.map +1 -0
  426. package/dist/src/core/tools/toolkits/external-context/toolkit.js +23 -0
  427. package/dist/src/core/tools/toolkits/external-context/toolkit.js.map +1 -0
  428. package/dist/src/core/tools/{view-image.d.ts → toolkits/external-context/view-image.d.ts} +3 -3
  429. package/dist/src/core/tools/toolkits/external-context/view-image.d.ts.map +1 -0
  430. package/dist/src/core/tools/{view-image.js → toolkits/external-context/view-image.js} +5 -5
  431. package/dist/src/core/tools/toolkits/external-context/view-image.js.map +1 -0
  432. package/dist/src/core/tools/{web-search.d.ts → toolkits/external-context/web-search.d.ts} +3 -3
  433. package/dist/src/core/tools/toolkits/external-context/web-search.d.ts.map +1 -0
  434. package/dist/src/core/tools/{web-search.js → toolkits/external-context/web-search.js} +5 -5
  435. package/dist/src/core/tools/toolkits/external-context/web-search.js.map +1 -0
  436. package/dist/src/core/tools/toolkits/internal/toolkit.d.ts +3 -0
  437. package/dist/src/core/tools/toolkits/internal/toolkit.d.ts.map +1 -0
  438. package/dist/src/core/tools/toolkits/internal/toolkit.js +8 -0
  439. package/dist/src/core/tools/toolkits/internal/toolkit.js.map +1 -0
  440. package/dist/src/core/tools/{update-plan.d.ts → toolkits/internal/update-plan.d.ts} +1 -1
  441. package/dist/src/core/tools/toolkits/internal/update-plan.d.ts.map +1 -0
  442. package/dist/src/core/tools/toolkits/internal/update-plan.js.map +1 -0
  443. package/dist/src/core/tools/{memory-checkpoint.d.ts → toolkits/knowledge/memory-checkpoint.d.ts} +1 -1
  444. package/dist/src/core/tools/toolkits/knowledge/memory-checkpoint.d.ts.map +1 -0
  445. package/dist/src/core/tools/toolkits/knowledge/memory-checkpoint.js.map +1 -0
  446. package/dist/src/core/tools/{memory-notes.d.ts → toolkits/knowledge/memory-notes.d.ts} +1 -1
  447. package/dist/src/core/tools/toolkits/knowledge/memory-notes.d.ts.map +1 -0
  448. package/dist/src/core/tools/{memory-notes.js → toolkits/knowledge/memory-notes.js} +1 -1
  449. package/dist/src/core/tools/toolkits/knowledge/memory-notes.js.map +1 -0
  450. package/dist/src/core/tools/{record-knowledge.d.ts → toolkits/knowledge/record-knowledge.d.ts} +1 -1
  451. package/dist/src/core/tools/toolkits/knowledge/record-knowledge.d.ts.map +1 -0
  452. package/dist/src/core/tools/toolkits/knowledge/record-knowledge.js.map +1 -0
  453. package/dist/src/core/tools/toolkits/knowledge/toolkit.d.ts +3 -0
  454. package/dist/src/core/tools/toolkits/knowledge/toolkit.d.ts.map +1 -0
  455. package/dist/src/core/tools/toolkits/knowledge/toolkit.js +29 -0
  456. package/dist/src/core/tools/toolkits/knowledge/toolkit.js.map +1 -0
  457. package/dist/src/core/tools/toolkits/shell-process/index.d.ts +4 -0
  458. package/dist/src/core/tools/toolkits/shell-process/index.d.ts.map +1 -0
  459. package/dist/src/core/tools/toolkits/shell-process/index.js +3 -0
  460. package/dist/src/core/tools/toolkits/shell-process/index.js.map +1 -0
  461. package/dist/src/core/tools/toolkits/shell-process/run-shell.d.ts +18 -0
  462. package/dist/src/core/tools/toolkits/shell-process/run-shell.d.ts.map +1 -0
  463. package/dist/src/core/tools/toolkits/shell-process/run-shell.js +210 -0
  464. package/dist/src/core/tools/toolkits/shell-process/run-shell.js.map +1 -0
  465. package/dist/src/core/tools/{run-shell.d.ts → toolkits/shell-process/shell-policy.d.ts} +4 -17
  466. package/dist/src/core/tools/toolkits/shell-process/shell-policy.d.ts.map +1 -0
  467. package/dist/src/core/tools/{run-shell.js → toolkits/shell-process/shell-policy.js} +41 -238
  468. package/dist/src/core/tools/toolkits/shell-process/shell-policy.js.map +1 -0
  469. package/dist/src/core/tools/toolkits/shell-process/toolkit.d.ts +3 -0
  470. package/dist/src/core/tools/toolkits/shell-process/toolkit.d.ts.map +1 -0
  471. package/dist/src/core/tools/toolkits/shell-process/toolkit.js +11 -0
  472. package/dist/src/core/tools/toolkits/shell-process/toolkit.js.map +1 -0
  473. package/dist/src/index.d.ts +37 -25
  474. package/dist/src/index.d.ts.map +1 -1
  475. package/dist/src/index.js +24 -15
  476. package/dist/src/index.js.map +1 -1
  477. package/dist/src/server/features/control-plane/router.d.ts +5 -1
  478. package/dist/src/server/features/control-plane/router.d.ts.map +1 -1
  479. package/dist/src/server/features/control-plane/router.js +17 -2
  480. package/dist/src/server/features/control-plane/router.js.map +1 -1
  481. package/dist/src/server/features/control-plane/services/chat-session-events.d.ts +1 -1
  482. package/dist/src/server/features/control-plane/services/chat-session-events.d.ts.map +1 -1
  483. package/dist/src/server/features/control-plane/services/chat-sessions.d.ts +5 -2
  484. package/dist/src/server/features/control-plane/services/chat-sessions.d.ts.map +1 -1
  485. package/dist/src/server/features/control-plane/services/chat-sessions.js +67 -29
  486. package/dist/src/server/features/control-plane/services/chat-sessions.js.map +1 -1
  487. package/dist/src/server/router.d.ts +5 -1
  488. package/dist/src/server/router.d.ts.map +1 -1
  489. package/dist/src/web/assets/{MonacoDiffViewer-DM8Cy5Xf.js → MonacoDiffViewer-tvXEFlgh.js} +1 -1
  490. package/dist/src/web/assets/index-CYd4sslC.css +2 -0
  491. package/dist/src/web/assets/index-WQmlPSO9.js +56 -0
  492. package/dist/src/web/index.html +2 -2
  493. package/package.json +8 -2
  494. package/dist/src/core/chat/archive.d.ts.map +0 -1
  495. package/dist/src/core/chat/archive.js.map +0 -1
  496. package/dist/src/core/chat/compaction.d.ts.map +0 -1
  497. package/dist/src/core/chat/compaction.js.map +0 -1
  498. package/dist/src/core/chat/conversation-lines.d.ts +0 -4
  499. package/dist/src/core/chat/conversation-lines.d.ts.map +0 -1
  500. package/dist/src/core/chat/conversation-lines.js.map +0 -1
  501. package/dist/src/core/chat/ordinary-turn.d.ts +0 -34
  502. package/dist/src/core/chat/ordinary-turn.d.ts.map +0 -1
  503. package/dist/src/core/chat/ordinary-turn.js +0 -274
  504. package/dist/src/core/chat/ordinary-turn.js.map +0 -1
  505. package/dist/src/core/chat/session-lease.d.ts.map +0 -1
  506. package/dist/src/core/chat/session-lease.js.map +0 -1
  507. package/dist/src/core/chat/session-submit.d.ts +0 -35
  508. package/dist/src/core/chat/session-submit.d.ts.map +0 -1
  509. package/dist/src/core/chat/session-submit.js +0 -30
  510. package/dist/src/core/chat/session-submit.js.map +0 -1
  511. package/dist/src/core/chat/session-title.d.ts.map +0 -1
  512. package/dist/src/core/chat/session-title.js.map +0 -1
  513. package/dist/src/core/chat/session-turn-preflight.d.ts.map +0 -1
  514. package/dist/src/core/chat/session-turn-preflight.js +0 -43
  515. package/dist/src/core/chat/session-turn-preflight.js.map +0 -1
  516. package/dist/src/core/chat/session-turn-result.d.ts.map +0 -1
  517. package/dist/src/core/chat/session-turn-result.js.map +0 -1
  518. package/dist/src/core/chat/storage.d.ts.map +0 -1
  519. package/dist/src/core/chat/storage.js.map +0 -1
  520. package/dist/src/core/chat/tool-approval-host.d.ts.map +0 -1
  521. package/dist/src/core/chat/tool-approval-host.js.map +0 -1
  522. package/dist/src/core/chat/trace-summary.d.ts +0 -4
  523. package/dist/src/core/chat/trace-summary.d.ts.map +0 -1
  524. package/dist/src/core/chat/trace-summary.js +0 -76
  525. package/dist/src/core/chat/trace-summary.js.map +0 -1
  526. package/dist/src/core/chat/trace.d.ts +0 -3
  527. package/dist/src/core/chat/trace.d.ts.map +0 -1
  528. package/dist/src/core/chat/trace.js.map +0 -1
  529. package/dist/src/core/chat/turn-host.d.ts +0 -25
  530. package/dist/src/core/chat/turn-host.d.ts.map +0 -1
  531. package/dist/src/core/chat/turn-host.js +0 -2
  532. package/dist/src/core/chat/turn-host.js.map +0 -1
  533. package/dist/src/core/tools/delete-file.d.ts.map +0 -1
  534. package/dist/src/core/tools/delete-file.js.map +0 -1
  535. package/dist/src/core/tools/edit-file.d.ts.map +0 -1
  536. package/dist/src/core/tools/edit-file.js.map +0 -1
  537. package/dist/src/core/tools/file-edit-core.d.ts.map +0 -1
  538. package/dist/src/core/tools/file-edit-core.js.map +0 -1
  539. package/dist/src/core/tools/list-files.d.ts.map +0 -1
  540. package/dist/src/core/tools/list-files.js.map +0 -1
  541. package/dist/src/core/tools/memory-checkpoint.d.ts.map +0 -1
  542. package/dist/src/core/tools/memory-checkpoint.js.map +0 -1
  543. package/dist/src/core/tools/memory-notes.d.ts.map +0 -1
  544. package/dist/src/core/tools/memory-notes.js.map +0 -1
  545. package/dist/src/core/tools/move-file.d.ts.map +0 -1
  546. package/dist/src/core/tools/move-file.js.map +0 -1
  547. package/dist/src/core/tools/read-file.d.ts.map +0 -1
  548. package/dist/src/core/tools/read-file.js.map +0 -1
  549. package/dist/src/core/tools/record-knowledge.d.ts.map +0 -1
  550. package/dist/src/core/tools/record-knowledge.js.map +0 -1
  551. package/dist/src/core/tools/report-state.d.ts +0 -3
  552. package/dist/src/core/tools/report-state.d.ts.map +0 -1
  553. package/dist/src/core/tools/report-state.js +0 -63
  554. package/dist/src/core/tools/report-state.js.map +0 -1
  555. package/dist/src/core/tools/run-shell.d.ts.map +0 -1
  556. package/dist/src/core/tools/run-shell.js.map +0 -1
  557. package/dist/src/core/tools/search-files.d.ts.map +0 -1
  558. package/dist/src/core/tools/search-files.js.map +0 -1
  559. package/dist/src/core/tools/update-plan.d.ts.map +0 -1
  560. package/dist/src/core/tools/update-plan.js.map +0 -1
  561. package/dist/src/core/tools/view-image.d.ts.map +0 -1
  562. package/dist/src/core/tools/view-image.js.map +0 -1
  563. package/dist/src/core/tools/web-search.d.ts.map +0 -1
  564. package/dist/src/core/tools/web-search.js.map +0 -1
  565. package/dist/src/web/assets/index-BEeN-RT5.css +0 -2
  566. package/dist/src/web/assets/index-BKDg9H_-.js +0 -56
  567. /package/dist/src/core/chat/{archive.js → engine/sessions/archive.js} +0 -0
  568. /package/dist/src/core/chat/{trace.js → engine/turns/trace.js} +0 -0
  569. /package/dist/src/core/tools/{delete-file.js → toolkits/coding-files/delete-file.js} +0 -0
  570. /package/dist/src/core/tools/{edit-file.js → toolkits/coding-files/edit-file.js} +0 -0
  571. /package/dist/src/core/tools/{file-edit-core.js → toolkits/coding-files/file-edit-core.js} +0 -0
  572. /package/dist/src/core/tools/{list-files.js → toolkits/coding-files/list-files.js} +0 -0
  573. /package/dist/src/core/tools/{move-file.js → toolkits/coding-files/move-file.js} +0 -0
  574. /package/dist/src/core/tools/{read-file.js → toolkits/coding-files/read-file.js} +0 -0
  575. /package/dist/src/core/tools/{search-files.js → toolkits/coding-files/search-files.js} +0 -0
  576. /package/dist/src/core/tools/{update-plan.js → toolkits/internal/update-plan.js} +0 -0
  577. /package/dist/src/core/tools/{memory-checkpoint.js → toolkits/knowledge/memory-checkpoint.js} +0 -0
  578. /package/dist/src/core/tools/{record-knowledge.js → toolkits/knowledge/record-knowledge.js} +0 -0
@@ -0,0 +1,249 @@
1
+ import { truncate } from '../utils/text.js';
2
+ const DEFAULT_MAX_TOOL_SUMMARY_CHARS = 96;
3
+ export function applyConversationActivityHandler(activity, handlers, context) {
4
+ const handler = handlers[activity.type];
5
+ return handler?.(activity, context);
6
+ }
7
+ const traceProjectors = {
8
+ 'run.started': (event) => [{ type: 'run.started', ...traceCorrelation(event) }],
9
+ 'assistant.turn': (event) => [{
10
+ type: 'assistant.turn',
11
+ requestedTools: event.requestedTools,
12
+ rationale: event.diagnostics?.rationale,
13
+ ...traceCorrelation(event),
14
+ }],
15
+ 'host.warning': () => [],
16
+ 'tool.approval_requested': (event) => [{
17
+ type: 'tool.approval_requested',
18
+ tool: event.call.tool,
19
+ toolSummary: summarizeToolCall(event.call.tool, event.call.input),
20
+ call: event.call,
21
+ ...traceCorrelation(event),
22
+ }],
23
+ 'tool.approval_resolved': (event) => [{
24
+ type: 'tool.approval_resolved',
25
+ tool: event.call.tool,
26
+ toolSummary: summarizeToolCall(event.call.tool, event.call.input),
27
+ approved: event.approved,
28
+ reason: event.reason,
29
+ call: event.call,
30
+ ...traceCorrelation(event),
31
+ }],
32
+ 'tool.fallback': (event) => [{
33
+ type: 'tool.fallback',
34
+ fromTool: event.fromCall.tool,
35
+ toTool: event.toCall.tool,
36
+ fromSummary: summarizeToolCall(event.fromCall.tool, event.fromCall.input),
37
+ toSummary: summarizeToolCall(event.toCall.tool, event.toCall.input),
38
+ reason: event.reason,
39
+ ...traceCorrelation(event),
40
+ }],
41
+ 'tool.call': (event) => [{
42
+ type: 'tool.call',
43
+ toolSummary: summarizeToolCall(event.call.tool, event.call.input),
44
+ ...traceCorrelation(event),
45
+ }],
46
+ 'tool.result': (event) => [{
47
+ type: 'tool.result',
48
+ tool: event.tool,
49
+ toolSummary: summarizeToolResult(event.tool, { output: event.result.output }),
50
+ ok: event.result.ok,
51
+ error: event.result.error,
52
+ ...traceCorrelation(event),
53
+ }],
54
+ 'memory.candidate_recorded': (event) => [{
55
+ type: 'memory.candidate_recorded',
56
+ candidateId: event.candidateId,
57
+ ...traceCorrelation(event),
58
+ }],
59
+ 'memory.checkpoint_skipped': () => [],
60
+ 'memory.maintenance_started': (event) => [{
61
+ type: 'memory.maintenance_started',
62
+ candidateCount: event.candidateIds.length,
63
+ ...traceCorrelation(event),
64
+ }],
65
+ 'memory.maintenance_finished': (event) => [{
66
+ type: 'memory.maintenance_finished',
67
+ outcome: event.outcome,
68
+ summary: event.summary,
69
+ ...traceCorrelation(event),
70
+ }],
71
+ 'memory.maintenance_failed': (event) => [{
72
+ type: 'memory.maintenance_failed',
73
+ error: event.error,
74
+ ...traceCorrelation(event),
75
+ }],
76
+ 'cyberloop.annotation': (event) => (event.driftLevel === 'unknown' ? [] : [{
77
+ type: 'cyberloop.annotation',
78
+ driftLevel: event.driftLevel,
79
+ metrics: formatCyberLoopMetrics(event.metadata),
80
+ ...traceCorrelation(event),
81
+ }]),
82
+ 'run.finished': (event) => [{ type: 'run.finished', outcome: event.outcome, ...traceCorrelation(event) }],
83
+ };
84
+ const agentLoopProjectors = {
85
+ 'loop.started': (event) => [{ type: 'loop.started', ...agentLoopCorrelation(event) }],
86
+ 'assistant.stream': (event) => [{
87
+ type: 'assistant.stream',
88
+ text: event.text,
89
+ done: event.done,
90
+ ...agentLoopCorrelation(event),
91
+ }],
92
+ 'tool.calling': (event) => [{ type: 'tool.calling', tool: event.tool, ...agentLoopCorrelation(event) }],
93
+ 'tool.completed': (event) => [{
94
+ type: 'tool.completed',
95
+ tool: event.tool,
96
+ durationMs: event.durationMs,
97
+ ...agentLoopCorrelation(event),
98
+ }],
99
+ trace: (event) => projectTraceEventToConversationActivities(event.event)
100
+ .map((activity) => ({ runId: event.runId, ...activity })),
101
+ 'loop.finished': (event) => [{ type: 'loop.finished', ...agentLoopCorrelation(event) }],
102
+ };
103
+ const compactionProjectors = {
104
+ running: (event) => [{ type: 'compaction.running', archivePath: event.archivePath }],
105
+ finished: (event) => [{ type: 'compaction.finished', summaryPath: event.summaryPath }],
106
+ failed: (event) => [{ type: 'compaction.failed', error: event.error }],
107
+ };
108
+ export function projectTraceEventToConversationActivities(event) {
109
+ const projector = traceProjectors[event.type];
110
+ return projector(event);
111
+ }
112
+ export function projectAgentLoopEventToConversationActivities(event) {
113
+ const projector = agentLoopProjectors[event.type];
114
+ return projector?.(event) ?? [];
115
+ }
116
+ export function projectCompactionStatusToConversationActivities(event) {
117
+ const projector = compactionProjectors[event.status];
118
+ return projector(event);
119
+ }
120
+ function traceCorrelation(event) {
121
+ const correlation = { timestamp: event.timestamp };
122
+ if ('runId' in event) {
123
+ correlation.runId = event.runId;
124
+ }
125
+ if ('step' in event) {
126
+ correlation.step = event.step;
127
+ }
128
+ return correlation;
129
+ }
130
+ function agentLoopCorrelation(event) {
131
+ const correlation = {
132
+ runId: event.runId,
133
+ timestamp: event.timestamp,
134
+ };
135
+ if ('step' in event) {
136
+ correlation.step = event.step;
137
+ }
138
+ return correlation;
139
+ }
140
+ export function summarizeToolCall(tool, input, maxChars = DEFAULT_MAX_TOOL_SUMMARY_CHARS) {
141
+ if (tool === 'update_plan') {
142
+ return summarizePlanInput(tool, input, maxChars);
143
+ }
144
+ const command = readStringField(input, 'command');
145
+ if (command) {
146
+ return `${tool} (${truncate(command, maxChars)})`;
147
+ }
148
+ if (tool === 'search_files') {
149
+ return summarizeSearchInput(tool, input, maxChars);
150
+ }
151
+ const moveSummary = summarizeMoveInput(tool, input, maxChars);
152
+ if (moveSummary) {
153
+ return moveSummary;
154
+ }
155
+ const path = readStringField(input, 'path');
156
+ return path ? `${tool} (${truncate(path, maxChars)})` : tool;
157
+ }
158
+ export function summarizeToolResult(tool, options = {}) {
159
+ const maxChars = options.maxChars ?? DEFAULT_MAX_TOOL_SUMMARY_CHARS;
160
+ const command = readStringField(options.output, 'command');
161
+ if (command) {
162
+ return `${tool} (${truncate(command, maxChars)})`;
163
+ }
164
+ const moveSummary = summarizeMoveInput(tool, options.output, maxChars);
165
+ if (moveSummary) {
166
+ return moveSummary;
167
+ }
168
+ const outputPath = readStringField(options.output, 'path');
169
+ if (outputPath) {
170
+ return `${tool} (${truncate(outputPath, maxChars)})`;
171
+ }
172
+ return tool;
173
+ }
174
+ function summarizeMoveInput(tool, input, maxChars) {
175
+ const from = readStringField(input, 'from');
176
+ const to = readStringField(input, 'to');
177
+ if (!from && !to) {
178
+ return undefined;
179
+ }
180
+ const segmentChars = Math.max(12, Math.floor(maxChars / 2));
181
+ return `${tool} (${from ? truncate(from, segmentChars) : '?'} -> ${to ? truncate(to, segmentChars) : '?'})`;
182
+ }
183
+ function summarizeSearchInput(tool, input, maxChars) {
184
+ const query = readStringField(input, 'query');
185
+ if (!query) {
186
+ return tool;
187
+ }
188
+ const path = readStringField(input, 'path');
189
+ const segmentChars = Math.max(12, Math.floor(maxChars / 2));
190
+ const querySummary = truncate(JSON.stringify(query), segmentChars);
191
+ return path ?
192
+ `${tool} (${querySummary} in ${truncate(path, segmentChars)})`
193
+ : `${tool} (${querySummary})`;
194
+ }
195
+ function summarizePlanInput(tool, input, maxChars) {
196
+ if (!input || typeof input !== 'object' || Array.isArray(input)) {
197
+ return tool;
198
+ }
199
+ const plan = input.plan;
200
+ if (!Array.isArray(plan) || plan.length === 0) {
201
+ return tool;
202
+ }
203
+ const currentStep = plan
204
+ .map((item) => getPlanItemStep(item, 'in_progress'))
205
+ .find((step) => Boolean(step));
206
+ return currentStep ? `${tool} (${truncate(currentStep, maxChars)})` : `${tool} (${plan.length} items)`;
207
+ }
208
+ function getPlanItemStep(item, status) {
209
+ if (!item || typeof item !== 'object' || Array.isArray(item)) {
210
+ return undefined;
211
+ }
212
+ const candidate = item;
213
+ return candidate.status === status && typeof candidate.step === 'string' ? candidate.step : undefined;
214
+ }
215
+ function readStringField(value, field) {
216
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
217
+ return undefined;
218
+ }
219
+ const candidate = value[field];
220
+ return typeof candidate === 'string' && candidate.trim() ? candidate.trim() : undefined;
221
+ }
222
+ function formatCyberLoopMetrics(metadata) {
223
+ const kinematics = metadata.kinematics;
224
+ if (!kinematics || typeof kinematics !== 'object' || Array.isArray(kinematics)) {
225
+ return '';
226
+ }
227
+ const snapshot = kinematics;
228
+ const parts = [];
229
+ if (typeof snapshot.errorMagnitude === 'number') {
230
+ parts.push(`err=${formatMetric(snapshot.errorMagnitude)}`);
231
+ }
232
+ if (typeof snapshot.correctionMagnitude === 'number') {
233
+ parts.push(`corr=${formatMetric(snapshot.correctionMagnitude)}`);
234
+ }
235
+ if (typeof snapshot.isStable === 'boolean') {
236
+ parts.push(`stable=${snapshot.isStable}`);
237
+ }
238
+ return parts.length ? ` (${parts.join(' ')})` : '';
239
+ }
240
+ function formatMetric(value) {
241
+ if (!Number.isFinite(value)) {
242
+ return String(value);
243
+ }
244
+ if (Math.abs(value) < 0.001 && value !== 0) {
245
+ return value.toExponential(2);
246
+ }
247
+ return value.toFixed(3);
248
+ }
249
+ //# sourceMappingURL=conversation-activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-activity.js","sourceRoot":"","sources":["../../../../src/core/observability/conversation-activity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export declare const TRACE_EVENT_DOMAINS: {
2
+ readonly run: "run";
3
+ readonly assistant: "assistant";
4
+ readonly host: "host";
5
+ readonly tool: "tool";
6
+ readonly memory: "memory";
7
+ readonly cyberloop: "cyberloop";
8
+ };
9
+ export declare const TRACE_EVENT_TYPES: {
10
+ readonly runStarted: "run.started";
11
+ readonly runFinished: "run.finished";
12
+ readonly assistantTurn: "assistant.turn";
13
+ readonly hostWarning: "host.warning";
14
+ readonly toolApprovalRequested: "tool.approval_requested";
15
+ readonly toolApprovalResolved: "tool.approval_resolved";
16
+ readonly toolFallback: "tool.fallback";
17
+ readonly toolCall: "tool.call";
18
+ readonly toolResult: "tool.result";
19
+ readonly memoryCandidateRecorded: "memory.candidate_recorded";
20
+ readonly memoryCheckpointSkipped: "memory.checkpoint_skipped";
21
+ readonly memoryMaintenanceStarted: "memory.maintenance_started";
22
+ readonly memoryMaintenanceFinished: "memory.maintenance_finished";
23
+ readonly memoryMaintenanceFailed: "memory.maintenance_failed";
24
+ readonly cyberloopAnnotation: "cyberloop.annotation";
25
+ };
26
+ export declare const TRACE_CORRELATION_FIELDS: {
27
+ readonly runId: "runId";
28
+ readonly sessionId: "sessionId";
29
+ readonly turnId: "turnId";
30
+ readonly step: "step";
31
+ readonly timestamp: "timestamp";
32
+ };
33
+ //# sourceMappingURL=semantic-conventions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-conventions.d.ts","sourceRoot":"","sources":["../../../../src/core/observability/semantic-conventions.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;;;;;CAOtB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CAgByB,CAAC;AAExD,eAAO,MAAM,wBAAwB;;;;;;CAM3B,CAAC"}
@@ -0,0 +1,33 @@
1
+ export const TRACE_EVENT_DOMAINS = {
2
+ run: 'run',
3
+ assistant: 'assistant',
4
+ host: 'host',
5
+ tool: 'tool',
6
+ memory: 'memory',
7
+ cyberloop: 'cyberloop',
8
+ };
9
+ export const TRACE_EVENT_TYPES = {
10
+ runStarted: 'run.started',
11
+ runFinished: 'run.finished',
12
+ assistantTurn: 'assistant.turn',
13
+ hostWarning: 'host.warning',
14
+ toolApprovalRequested: 'tool.approval_requested',
15
+ toolApprovalResolved: 'tool.approval_resolved',
16
+ toolFallback: 'tool.fallback',
17
+ toolCall: 'tool.call',
18
+ toolResult: 'tool.result',
19
+ memoryCandidateRecorded: 'memory.candidate_recorded',
20
+ memoryCheckpointSkipped: 'memory.checkpoint_skipped',
21
+ memoryMaintenanceStarted: 'memory.maintenance_started',
22
+ memoryMaintenanceFinished: 'memory.maintenance_finished',
23
+ memoryMaintenanceFailed: 'memory.maintenance_failed',
24
+ cyberloopAnnotation: 'cyberloop.annotation',
25
+ };
26
+ export const TRACE_CORRELATION_FIELDS = {
27
+ runId: 'runId',
28
+ sessionId: 'sessionId',
29
+ turnId: 'turnId',
30
+ step: 'step',
31
+ timestamp: 'timestamp',
32
+ };
33
+ //# sourceMappingURL=semantic-conventions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-conventions.js","sourceRoot":"","sources":["../../../../src/core/observability/semantic-conventions.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;CACd,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;IAC3B,qBAAqB,EAAE,yBAAyB;IAChD,oBAAoB,EAAE,wBAAwB;IAC9C,YAAY,EAAE,eAAe;IAC7B,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,aAAa;IACzB,uBAAuB,EAAE,2BAA2B;IACpD,uBAAuB,EAAE,2BAA2B;IACpD,wBAAwB,EAAE,4BAA4B;IACtD,yBAAyB,EAAE,6BAA6B;IACxD,uBAAuB,EAAE,2BAA2B;IACpD,mBAAmB,EAAE,sBAAsB;CACU,CAAC;AAExD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;CACd,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { TraceEvent } from '../types.js';
2
+ export type TraceEventType = TraceEvent['type'];
3
+ export type TraceSummaryContext = {
4
+ trace: TraceEvent[];
5
+ index: number;
6
+ };
7
+ export type TraceEventOfType<Type extends TraceEventType> = Extract<TraceEvent, {
8
+ type: Type;
9
+ }>;
10
+ export type TraceSummarizer<Type extends TraceEventType = TraceEventType> = (event: TraceEventOfType<Type>, context: TraceSummaryContext) => string | string[] | undefined;
11
+ export type TraceSummarizerMap = {
12
+ [Type in TraceEventType]?: TraceSummarizer<Type>;
13
+ };
14
+ export type TraceSummarizerRegistry = {
15
+ summarizeEvent: (event: TraceEvent, context: TraceSummaryContext) => string[];
16
+ summarizeTrace: (trace: TraceEvent[]) => string[];
17
+ countAssistantSteps: (trace: TraceEvent[]) => number;
18
+ };
19
+ export declare const DEFAULT_TRACE_SUMMARIZERS: TraceSummarizerMap;
20
+ export declare function createTraceSummarizerRegistry(summarizers?: TraceSummarizerMap): TraceSummarizerRegistry;
21
+ export declare function summarizeTrace(trace: TraceEvent[]): string[];
22
+ export declare function countAssistantSteps(trace: TraceEvent[]): number;
23
+ //# sourceMappingURL=trace-summarizers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-summarizers.d.ts","sourceRoot":"","sources":["../../../../src/core/observability/trace-summarizers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AAEhG,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,cAAc,GAAG,cAAc,IAAI,CAC1E,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAC7B,OAAO,EAAE,mBAAmB,KACzB,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAEnC,MAAM,MAAM,kBAAkB,GAAG;KAC9B,IAAI,IAAI,cAAc,CAAC,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,KAAK,MAAM,EAAE,CAAC;IAC9E,cAAc,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAClD,mBAAmB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,MAAM,CAAC;CACtD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAyBvC,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,WAAW,GAAE,kBAAuB,GAAG,uBAAuB,CAc3G;AAID,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAE5D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAE/D"}
@@ -0,0 +1,60 @@
1
+ import { truncate } from '../utils/text.js';
2
+ import { summarizeToolCall } from './conversation-activity.js';
3
+ export const DEFAULT_TRACE_SUMMARIZERS = {
4
+ 'run.started': () => undefined,
5
+ 'assistant.turn': (event) => [
6
+ ...(event.diagnostics?.rationale ? [`reasoning: ${truncate(event.diagnostics.rationale, 140)}`] : []),
7
+ event.requestedTools ?
8
+ `assistant requested ${event.toolCalls?.map((call) => summarizeToolCall(call.tool, call.input)).join(', ')}`
9
+ : 'assistant answered',
10
+ ],
11
+ 'host.warning': (event) => [`host warning ${event.code}: ${truncate(event.message, 140)}`],
12
+ 'tool.approval_requested': (event) => [`approval requested for ${summarizeToolCall(event.call.tool, event.call.input)}`],
13
+ 'tool.approval_resolved': (event) => [
14
+ `approval ${event.approved ? 'granted' : 'denied'} for ${summarizeToolCall(event.call.tool, event.call.input)}${event.reason ? ` (${truncate(event.reason, 80)})` : ''}`,
15
+ ],
16
+ 'tool.fallback': (event) => [
17
+ `fallback ${summarizeToolCall(event.fromCall.tool, event.fromCall.input)} -> ${summarizeToolCall(event.toCall.tool, event.toCall.input)} (${event.reason})`,
18
+ ],
19
+ 'tool.call': (event) => [`tool call ${summarizeToolCall(event.call.tool, event.call.input)}`],
20
+ 'tool.result': (event) => [`tool result ${event.tool}: ${event.result.ok ? 'ok' : event.result.error ?? 'error'}`],
21
+ 'memory.candidate_recorded': (event) => [`memory candidate recorded: ${event.candidateId}`],
22
+ 'memory.checkpoint_skipped': (event) => [`memory checkpoint skipped: ${truncate(event.rationale, 100)}`],
23
+ 'memory.maintenance_started': (event) => [`memory maintenance started: ${event.candidateIds.join(', ')}`],
24
+ 'memory.maintenance_finished': (event) => [`memory maintenance finished: ${event.outcome}`],
25
+ 'memory.maintenance_failed': (event) => [`memory maintenance failed: ${event.error}`],
26
+ 'cyberloop.annotation': () => undefined,
27
+ 'run.finished': (event) => [`run finished: ${event.outcome}`],
28
+ };
29
+ export function createTraceSummarizerRegistry(summarizers = {}) {
30
+ const handlers = { ...DEFAULT_TRACE_SUMMARIZERS, ...summarizers };
31
+ const summarizeEvent = (event, context) => {
32
+ const summary = summarizeWithHandler(handlers, event, context);
33
+ return normalizeSummary(summary);
34
+ };
35
+ return {
36
+ summarizeEvent,
37
+ summarizeTrace: (trace) => trace.flatMap((event, index) => summarizeEvent(event, { trace, index })),
38
+ countAssistantSteps(trace) {
39
+ return trace.filter((event) => event.type === 'assistant.turn').length;
40
+ },
41
+ };
42
+ }
43
+ const DEFAULT_TRACE_SUMMARIZER_REGISTRY = createTraceSummarizerRegistry();
44
+ export function summarizeTrace(trace) {
45
+ return DEFAULT_TRACE_SUMMARIZER_REGISTRY.summarizeTrace(trace);
46
+ }
47
+ export function countAssistantSteps(trace) {
48
+ return DEFAULT_TRACE_SUMMARIZER_REGISTRY.countAssistantSteps(trace);
49
+ }
50
+ function summarizeWithHandler(handlers, event, context) {
51
+ const handler = handlers[event.type];
52
+ return handler?.(event, context);
53
+ }
54
+ function normalizeSummary(summary) {
55
+ if (Array.isArray(summary)) {
56
+ return summary;
57
+ }
58
+ return summary ? [summary] : [];
59
+ }
60
+ //# sourceMappingURL=trace-summarizers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-summarizers.js","sourceRoot":"","sources":["../../../../src/core/observability/trace-summarizers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AA0B/D,MAAM,CAAC,MAAM,yBAAyB,GAAuB;IAC3D,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;IAC9B,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,KAAK,CAAC,cAAc,CAAC,CAAC;YACpB,uBAAuB,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9G,CAAC,CAAC,oBAAoB;KACvB;IACD,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,gBAAgB,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;IAC1F,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,0BAA0B,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACxH,wBAAwB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;QACnC,YAAY,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,QAAQ,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;KACzK;IACD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;QAC1B,YAAY,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG;KAC5J;IACD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7F,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC;IAClH,2BAA2B,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,8BAA8B,KAAK,CAAC,WAAW,EAAE,CAAC;IAC3F,2BAA2B,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,8BAA8B,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;IACxG,4BAA4B,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,+BAA+B,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACzG,6BAA6B,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC;IAC3F,2BAA2B,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,8BAA8B,KAAK,CAAC,KAAK,EAAE,CAAC;IACrF,sBAAsB,EAAE,GAAG,EAAE,CAAC,SAAS;IACvC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,iBAAiB,KAAK,CAAC,OAAO,EAAE,CAAC;CAC9D,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAAC,cAAkC,EAAE;IAChF,MAAM,QAAQ,GAAG,EAAE,GAAG,yBAAyB,EAAE,GAAG,WAAW,EAAE,CAAC;IAClE,MAAM,cAAc,GAAG,CAAC,KAAiB,EAAE,OAA4B,EAAY,EAAE;QACnF,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO;QACL,cAAc;QACd,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACnG,mBAAmB,CAAC,KAAK;YACvB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,MAAM,CAAC;QACzE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,iCAAiC,GAAG,6BAA6B,EAAE,CAAC;AAE1E,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,OAAO,iCAAiC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAmB;IACrD,OAAO,iCAAiC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAA4B,EAC5B,KAAiB,EACjB,OAA4B;IAE5B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAqG,CAAC;IACzI,OAAO,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAsC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Build the system prompt for the agent.
3
- * Encourages purposeful tool use and a clear execution workflow.
3
+ * Keep it high-level and concise unless stronger steering is clearly needed.
4
4
  */
5
5
  export declare function buildSystemPrompt(toolNames: string[], projectContext?: string): string;
6
6
  //# sourceMappingURL=system-prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../../src/core/prompts/system-prompt.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAuHtF"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../../src/core/prompts/system-prompt.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAsCtF"}
@@ -4,118 +4,37 @@
4
4
  // ---------------------------------------------------------------------------
5
5
  /**
6
6
  * Build the system prompt for the agent.
7
- * Encourages purposeful tool use and a clear execution workflow.
7
+ * Keep it high-level and concise unless stronger steering is clearly needed.
8
8
  */
9
9
  export function buildSystemPrompt(toolNames, projectContext) {
10
- return `You are Heddle, a conversational coding and workspace agent.
10
+ return `You are Heddle, a task-owning coding and workspace agent.
11
11
 
12
- You help a user understand, inspect, change, verify, and explain work in the current project using the tools the host gives you.
12
+ You help the user inspect, understand, change, verify, and explain work in the current project using the tools the host gives you.
13
13
 
14
14
  You are not a generic chatbot. You are an operator-facing agent working in a real workspace with traces, approvals, and tool execution.
15
15
 
16
+ ## What You Should Do
16
17
 
17
- ## Your Goal
18
+ - Complete the user's intended task or milestone as far as the current environment reasonably allows.
19
+ - Prefer doing the work over talking about doing the work.
20
+ - Gather enough evidence to act confidently, but do not use investigation as a substitute for progress.
21
+ - Continue toward the broader intended outcome, not just the first reasonable substep, unless you are genuinely blocked or the task is complete.
22
+ - Be honest about what you observed, what you changed, and what you could not verify.
18
23
 
19
- Your job is to help the user complete their requested task. When the given task and intention are clear, continue the work to help the user complete their goal.
20
-
21
- Only stop and ask the user if something is genuinely unclear and you need clarification from the user.
22
-
23
- ## What Heddle Is
24
-
25
- - Heddle helps with repository inspection, bounded coding work, verification, and shell-assisted workflows.
26
- - Heddle should be honest about what it can and cannot do in the current environment.
27
- - When the user asks what Heddle can do, how it works, or what changed recently, answer from current tool/runtime behavior and direct evidence rather than marketing language.
28
- - When describing capabilities to the user, start with user-facing outcomes such as inspect, explain, change, verify, or run commands. Do not lead with internal tool names or implementation details unless the user explicitly asks for technical detail.
29
- - If the user asks what Heddle itself is, explain it as a coding/workspace agent runtime that is still evolving, not a finished general intelligence system.
30
-
31
- ## Operating Principles
24
+ ## High-Level Behavior
32
25
 
33
26
  - Be direct, calm, and practical.
34
- - Prefer short progress-oriented explanations over long preambles.
35
- - Gather evidence before concluding.
36
- - Do not pretend you ran a command, read a file, or observed a result if you did not.
37
- - If the user already gave you direct shell output or other concrete evidence in the conversation, you may use it.
38
- - Do not ask unnecessary questions when the answer can be discovered from the workspace, tools, docs, traces, or repo state.
39
-
40
- ## Default Workflow
41
-
42
- Follow this default workflow unless the user clearly wants something narrower:
43
-
44
- 1. Clarify the real task.
45
- Decide whether the user wants inspection, explanation, implementation, verification, comparison, or a proposed next step.
46
-
47
- 2. Gather the minimum relevant evidence first.
48
- Start from the current workspace and nearby context before exploring broader parts of the environment.
49
- If the goal clearly points to an obvious file or folder from the workspace structure, inspect that directly before using broad text search.
50
- When the user asks whether something passed, failed, changed, or exists, prefer direct evidence such as command output, file contents, diffs, or test results.
51
-
52
- 3. Form a grounded conclusion or proposal.
53
- Do not jump from one narrow local detail to a project-level recommendation without checking the docs, roadmap, or implementation context that defines the broader goal.
54
- If the user asks for the next step, propose a concrete high-leverage next step based on the project goal and current state, not just the nearest incidental task you last touched.
55
- When proposing next steps, include why that step matters and what concrete work it would involve.
56
- For substantial open-ended or multi-step work, record a short plan with update_plan before or as you begin execution, then keep it updated as items move from pending to in_progress to completed.
57
-
58
- 4. Carry the task through when action is needed.
59
- If the user asks for a real repository change such as fixing a bug, improving tests, increasing coverage, or updating docs, prefer carrying the task through implementation and verification instead of stopping at analysis or a plan unless you are blocked.
60
- If you identify a reasonable bounded change that directly serves the user goal, make it and verify it instead of only describing it.
61
- Once you choose a concrete next step, execute that step instead of repeatedly restating the plan in slightly different words.
62
- Do not spend multiple turns narrating the same intent without either gathering new evidence or making progress on the implementation.
63
- If you recorded a plan, do not stop after only one small slice unless the remaining items are explicitly blocked or no longer needed. Update the plan to show what completed and what remains, then continue toward the planned outcome.
64
-
65
- 5. Finish with a useful operator answer.
66
- Summarize what you found or did in a readable form.
67
- If the task involved changes or verification, prefer a short summary followed by high-level bullets over a vague “done”.
27
+ - Prefer concise, progress-oriented responses.
28
+ - Use tools purposefully and choose the most direct tool for the job.
29
+ - For substantial multi-step work, you may use update_plan to track progress.
30
+ - After workspace changes, prefer checking repo state and relevant verification before concluding.
31
+ - Do not invent results, files, command output, or verification you did not actually observe.
68
32
 
69
- ## Tool Use Rules
70
-
71
- - Use tools purposefully. Each tool call should have a clear reason.
72
- - Use only the parameters that a tool actually documents. Do not invent extra fields.
73
- - Prefer the most direct tool for the job: inspect directories with directory-oriented tools, read known files with file-reading tools, and broaden scope only when the goal requires it.
74
- - Prefer the first-class file editing tool for creating or changing file contents instead of shell redirection, heredocs, or other shell-based file-writing workarounds.
75
- - If the user references a concrete local screenshot or image path and the visual contents matter, use view_image instead of guessing from the filename or path alone.
76
- - If the host tells you the user explicitly mentioned files with @mentions, inspect those mentioned files before answering. Use targeted reads when files are large, but do not skip mentioned files unless a path is invalid.
77
- - Use update_plan for substantial tasks that have multiple meaningful steps. Keep plans short, concrete, and progress-oriented rather than aspirational.
78
- - Treat mutate-oriented tools as higher-risk than inspection tools, but do not treat them as forbidden.
79
- - Use run_shell_inspect for bounded read-oriented commands the host is likely to allow directly.
80
- - If a shell command is arbitrary, uses inline scripts, needs redirects/heredocs, or inspect rejects it, switch to run_shell_mutate and continue through approval instead of concluding the command cannot be run.
81
- - If run_shell_inspect fails with a policy restriction, do not stop at "inspect is blocked." Either rely on the host's mutate fallback or explicitly retry with run_shell_mutate when the command is still needed.
82
- - If a tool reports invalid input or suggests a better tool, correct the call immediately instead of exploring unrelated paths.
83
- - Avoid repeating the same action if it already gave you the answer.
84
-
85
- ## Reasoning About Scope
86
-
87
- - Distinguish broader project questions from narrow local questions.
88
- - If the user asks about the end goal, roadmap, architecture, or next major step, prefer primary sources such as roadmap docs, framework docs, system behavior, and implementation state over the most recently edited test or file.
89
- - Do not anchor on the most recent diff or failing test unless the user is explicitly asking about that local workstream.
90
- - When the goal asks about capabilities, behavior, limits, or safety rules, prefer primary sources such as implementation artifacts, tool definitions, or direct system evidence over higher-level summaries.
91
-
92
- ## Verification And Reporting
93
-
94
- - After edits or mutation-oriented commands, prefer verifying and summarizing concrete outcomes over giving a vague response.
95
- - After workspace-changing actions, prefer explicit repo review evidence such as git status --short or git diff --stat, and mention the exact review and verification commands you used in the final summary.
96
- - If the user asks to improve tests or coverage, use existing coverage evidence or generate it when possible, identify a bounded gap, add or adjust tests, then verify the result.
97
- - Before calling tools, briefly state what you are about to check when that would help a human follow your process.
98
- - If you cannot find sufficient information, say so honestly rather than guessing.
99
- - When you have enough information, provide a clear, concise answer with evidence from what you found and distinguish observed facts from inference.
100
-
101
- ## Help And Product Questions
102
-
103
- - If the user asks for help using Heddle itself, explain the relevant commands, shell behavior, sessions, approvals, or current limitations based on the runtime behavior you can observe.
104
- - If the user asks what you can help with, prefer plain-language descriptions over enumerating internal tool names.
105
- - If the user asks how to use Heddle, include the most relevant commands or interaction patterns.
106
- - For conversational usage, prefer examples like normal questions, slash commands, and direct shell commands.
107
- - If the user asks about sessions, explain session listing, switching, continuation, and any important limits you can infer from the environment.
108
- - If the user asks what changed in the current repo, prefer repo evidence over abstract summaries.
109
-
110
- ## Blocked State
111
-
112
- - Use report_state only when you are genuinely blocked, when a tool/runtime limitation prevents the next concrete action, or when you need to capture a grounded blocker for a future maintainer. Do not use it for ordinary progress updates, plan restatements, or cases where the next concrete action is already available and can be executed now.
113
- - When you have enough evidence to continue, continue. Do not stop after intermediate inspection or partial progress just to restate the plan in different words.
114
- - For bounded implementation work, carry the current slice through until it is actually complete or honestly blocked, even if the user did not explicitly say "continue" again.
115
-
116
- ## When to Stop
33
+ ## What Heddle Is
117
34
 
118
- When you have gathered enough information to fully answer the goal, provide your final answer as a normal message without calling any more tools. Your final message should directly answer the goal and should be useful to an operator, not just technically correct.
35
+ - Heddle helps with repository inspection, coding work, verification, and shell-assisted workflows.
36
+ - Describe Heddle as an evolving coding/workspace agent runtime, not a finished general intelligence system.
37
+ - When asked about capabilities or recent behavior, answer from runtime behavior and direct evidence.
119
38
 
120
39
  ## Available Tools
121
40
 
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../../src/core/prompts/system-prompt.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wBAAwB;AACxB,uCAAuC;AACvC,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAmB,EAAE,cAAuB;IAC5E,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAgHyB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIpD,cAAc,IAAI,KAAK;CACxB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../../src/core/prompts/system-prompt.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wBAAwB;AACxB,uCAAuC;AACvC,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAmB,EAAE,cAAuB;IAC5E,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA+ByB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIpD,cAAc,IAAI,KAAK;CACxB,CAAC;AACF,CAAC"}
@@ -2,6 +2,7 @@ import type { Logger } from 'pino';
2
2
  import type { ChatMessage, LlmAdapter, LlmProvider } from '../llm/types.js';
3
3
  import type { RunAgentOptions } from '../agent/run-agent.js';
4
4
  import type { RunResult, ToolCall, ToolDefinition, TraceEvent } from '../types.js';
5
+ import type { ToolApprovalPolicy } from '../approvals/types.js';
5
6
  import type { AgentLoopCheckpoint, AgentLoopEvent, AgentLoopState } from './events.js';
6
7
  export type { AgentLoopCheckpoint, AgentLoopEvent, AgentLoopState } from './events.js';
7
8
  export type RunAgentLoopOptions = {
@@ -25,6 +26,7 @@ export type RunAgentLoopOptions = {
25
26
  onEvent?: (event: AgentLoopEvent) => void;
26
27
  onTraceEvent?: (event: TraceEvent) => void;
27
28
  onAssistantStream?: RunAgentOptions['onAssistantStream'];
29
+ approvalPolicies?: ToolApprovalPolicy[];
28
30
  approveToolCall?: (call: ToolCall, tool: ToolDefinition) => Promise<{
29
31
  approved: boolean;
30
32
  reason?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../../../src/core/runtime/agent-loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC;IAClD,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5G,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CA4IzF"}
1
+ {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../../../src/core/runtime/agent-loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAShE,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC;IAClD,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACzD,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5G,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CA6IzF"}