@orion-agents/orion-code 0.1.9 → 0.2.2

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 (757) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +142 -323
  3. package/README.zh-CN.md +118 -578
  4. package/dist/cli.js +65 -84
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/context-commands.d.ts.map +1 -1
  7. package/dist/commands/context-commands.js +14 -7
  8. package/dist/commands/context-commands.js.map +1 -1
  9. package/dist/commands/context-tool-command-handlers.d.ts +4 -5
  10. package/dist/commands/context-tool-command-handlers.d.ts.map +1 -1
  11. package/dist/commands/context-tool-command-handlers.js +132 -208
  12. package/dist/commands/context-tool-command-handlers.js.map +1 -1
  13. package/dist/commands/core-command-handlers.d.ts +3 -6
  14. package/dist/commands/core-command-handlers.d.ts.map +1 -1
  15. package/dist/commands/core-command-handlers.js +66 -664
  16. package/dist/commands/core-command-handlers.js.map +1 -1
  17. package/dist/commands/diagnostic-command-handlers.d.ts +1 -2
  18. package/dist/commands/diagnostic-command-handlers.d.ts.map +1 -1
  19. package/dist/commands/diagnostic-command-handlers.js +3 -17
  20. package/dist/commands/diagnostic-command-handlers.js.map +1 -1
  21. package/dist/commands/diagnostic-commands.d.ts.map +1 -1
  22. package/dist/commands/diagnostic-commands.js +0 -45
  23. package/dist/commands/diagnostic-commands.js.map +1 -1
  24. package/dist/commands/index.d.ts +1 -1
  25. package/dist/commands/index.d.ts.map +1 -1
  26. package/dist/commands/index.js +2 -7
  27. package/dist/commands/index.js.map +1 -1
  28. package/dist/commands/model-command-handlers.d.ts +1 -1
  29. package/dist/commands/model-command-handlers.js +2 -2
  30. package/dist/commands/model-command-handlers.js.map +1 -1
  31. package/dist/commands/model-commands.d.ts.map +1 -1
  32. package/dist/commands/model-commands.js +0 -11
  33. package/dist/commands/model-commands.js.map +1 -1
  34. package/dist/commands/registry.d.ts.map +1 -1
  35. package/dist/commands/registry.js +1 -139
  36. package/dist/commands/registry.js.map +1 -1
  37. package/dist/commands/session-command-handlers.d.ts +1 -1
  38. package/dist/commands/session-command-handlers.d.ts.map +1 -1
  39. package/dist/commands/session-command-handlers.js +52 -214
  40. package/dist/commands/session-command-handlers.js.map +1 -1
  41. package/dist/commands/session-commands.d.ts.map +1 -1
  42. package/dist/commands/session-commands.js +0 -48
  43. package/dist/commands/session-commands.js.map +1 -1
  44. package/dist/commands/target-command.d.ts +9 -15
  45. package/dist/commands/target-command.d.ts.map +1 -1
  46. package/dist/commands/target-command.js +16 -130
  47. package/dist/commands/target-command.js.map +1 -1
  48. package/dist/commands/tool-commands.d.ts.map +1 -1
  49. package/dist/commands/tool-commands.js +0 -10
  50. package/dist/commands/tool-commands.js.map +1 -1
  51. package/dist/commands/types.d.ts +10 -14
  52. package/dist/commands/types.d.ts.map +1 -1
  53. package/dist/commands/types.js +1 -1
  54. package/dist/commands/types.js.map +1 -1
  55. package/dist/commands/workflow-command-handlers.d.ts.map +1 -1
  56. package/dist/commands/workflow-command-handlers.js +1 -3
  57. package/dist/commands/workflow-command-handlers.js.map +1 -1
  58. package/dist/commands/workflow-commands.d.ts.map +1 -1
  59. package/dist/commands/workflow-commands.js +2 -24
  60. package/dist/commands/workflow-commands.js.map +1 -1
  61. package/dist/framework/agent-mode.d.ts +2 -3
  62. package/dist/framework/agent-mode.d.ts.map +1 -1
  63. package/dist/framework/agent-mode.js +8 -31
  64. package/dist/framework/agent-mode.js.map +1 -1
  65. package/dist/framework/index.d.ts +3 -3
  66. package/dist/framework/index.d.ts.map +1 -1
  67. package/dist/framework/index.js +6 -9
  68. package/dist/framework/index.js.map +1 -1
  69. package/dist/framework/loop-budget-contract.d.ts +20 -0
  70. package/dist/framework/loop-budget-contract.d.ts.map +1 -0
  71. package/dist/framework/loop-budget-contract.js +13 -0
  72. package/dist/framework/loop-budget-contract.js.map +1 -0
  73. package/dist/framework/prompt.d.ts.map +1 -1
  74. package/dist/framework/prompt.js +5 -4
  75. package/dist/framework/prompt.js.map +1 -1
  76. package/dist/framework/query.d.ts +45 -22
  77. package/dist/framework/query.d.ts.map +1 -1
  78. package/dist/framework/query.js +64 -52
  79. package/dist/framework/query.js.map +1 -1
  80. package/dist/framework/store.d.ts +4 -2
  81. package/dist/framework/store.d.ts.map +1 -1
  82. package/dist/framework/store.js +1 -0
  83. package/dist/framework/store.js.map +1 -1
  84. package/dist/framework/tool-call-orchestrator.d.ts +80 -0
  85. package/dist/framework/tool-call-orchestrator.d.ts.map +1 -0
  86. package/dist/framework/tool-call-orchestrator.js +192 -0
  87. package/dist/framework/tool-call-orchestrator.js.map +1 -0
  88. package/dist/framework/tool-state.d.ts +12 -11
  89. package/dist/framework/tool-state.d.ts.map +1 -1
  90. package/dist/framework/tool-state.js +36 -28
  91. package/dist/framework/tool-state.js.map +1 -1
  92. package/dist/framework/tool.d.ts +0 -9
  93. package/dist/framework/tool.d.ts.map +1 -1
  94. package/dist/framework/tool.js.map +1 -1
  95. package/dist/index.d.ts +70 -26
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +64 -65
  98. package/dist/index.js.map +1 -1
  99. package/dist/print-ui/launch.d.ts.map +1 -1
  100. package/dist/print-ui/launch.js +9 -2
  101. package/dist/print-ui/launch.js.map +1 -1
  102. package/dist/product/paths.d.ts +7 -0
  103. package/dist/product/paths.d.ts.map +1 -1
  104. package/dist/product/paths.js +19 -0
  105. package/dist/product/paths.js.map +1 -1
  106. package/dist/runtime/agent-loop.d.ts +80 -0
  107. package/dist/runtime/agent-loop.d.ts.map +1 -0
  108. package/dist/runtime/agent-loop.js +419 -0
  109. package/dist/runtime/agent-loop.js.map +1 -0
  110. package/dist/runtime/agent-runtime-controller.d.ts +10 -57
  111. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  112. package/dist/runtime/agent-runtime-controller.js +270 -1216
  113. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  114. package/dist/runtime/agent-runtime-protocol.d.ts +4 -5
  115. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  116. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  117. package/dist/runtime/agent-runtime-runner.d.ts +36 -0
  118. package/dist/runtime/agent-runtime-runner.d.ts.map +1 -0
  119. package/dist/runtime/agent-runtime-runner.js +3 -0
  120. package/dist/runtime/agent-runtime-runner.js.map +1 -0
  121. package/dist/runtime/batch-read-service.d.ts +29 -0
  122. package/dist/runtime/batch-read-service.d.ts.map +1 -0
  123. package/dist/runtime/batch-read-service.js +212 -0
  124. package/dist/runtime/batch-read-service.js.map +1 -0
  125. package/dist/runtime/builtin-tool-provider.d.ts +30 -0
  126. package/dist/runtime/builtin-tool-provider.d.ts.map +1 -0
  127. package/dist/runtime/builtin-tool-provider.js +233 -0
  128. package/dist/runtime/builtin-tool-provider.js.map +1 -0
  129. package/dist/runtime/capabilities/compiler.d.ts +11 -0
  130. package/dist/runtime/capabilities/compiler.d.ts.map +1 -0
  131. package/dist/runtime/capabilities/compiler.js +719 -0
  132. package/dist/runtime/capabilities/compiler.js.map +1 -0
  133. package/dist/runtime/capabilities/index.d.ts +3 -0
  134. package/dist/runtime/capabilities/index.d.ts.map +1 -0
  135. package/dist/runtime/capabilities/index.js +9 -0
  136. package/dist/runtime/capabilities/index.js.map +1 -0
  137. package/dist/runtime/capabilities/types.d.ts +175 -0
  138. package/dist/runtime/capabilities/types.d.ts.map +1 -0
  139. package/dist/runtime/capabilities/types.js +3 -0
  140. package/dist/runtime/capabilities/types.js.map +1 -0
  141. package/dist/runtime/capability-receipt-journal.d.ts +29 -0
  142. package/dist/runtime/capability-receipt-journal.d.ts.map +1 -0
  143. package/dist/runtime/capability-receipt-journal.js +264 -0
  144. package/dist/runtime/capability-receipt-journal.js.map +1 -0
  145. package/dist/runtime/capability-step-factory.d.ts +73 -0
  146. package/dist/runtime/capability-step-factory.d.ts.map +1 -0
  147. package/dist/runtime/capability-step-factory.js +302 -0
  148. package/dist/runtime/capability-step-factory.js.map +1 -0
  149. package/dist/runtime/compact-transaction.d.ts +225 -0
  150. package/dist/runtime/compact-transaction.d.ts.map +1 -0
  151. package/dist/runtime/compact-transaction.js +622 -0
  152. package/dist/runtime/compact-transaction.js.map +1 -0
  153. package/dist/runtime/composer/buffer.d.ts +3 -4
  154. package/dist/runtime/composer/buffer.d.ts.map +1 -1
  155. package/dist/runtime/composer/buffer.js +3 -4
  156. package/dist/runtime/composer/buffer.js.map +1 -1
  157. package/dist/runtime/composer/grapheme.d.ts +2 -4
  158. package/dist/runtime/composer/grapheme.d.ts.map +1 -1
  159. package/dist/runtime/composer/grapheme.js +2 -4
  160. package/dist/runtime/composer/grapheme.js.map +1 -1
  161. package/dist/runtime/composer/layout.d.ts +1 -3
  162. package/dist/runtime/composer/layout.d.ts.map +1 -1
  163. package/dist/runtime/composer/layout.js +1 -3
  164. package/dist/runtime/composer/layout.js.map +1 -1
  165. package/dist/runtime/core-tools/descriptors.d.ts +17 -0
  166. package/dist/runtime/core-tools/descriptors.d.ts.map +1 -0
  167. package/dist/runtime/core-tools/descriptors.js +185 -0
  168. package/dist/runtime/core-tools/descriptors.js.map +1 -0
  169. package/dist/runtime/first-party-core-provider.d.ts +55 -0
  170. package/dist/runtime/first-party-core-provider.d.ts.map +1 -0
  171. package/dist/runtime/first-party-core-provider.js +197 -0
  172. package/dist/runtime/first-party-core-provider.js.map +1 -0
  173. package/dist/runtime/first-party-long-tail-provider.d.ts +57 -0
  174. package/dist/runtime/first-party-long-tail-provider.d.ts.map +1 -0
  175. package/dist/runtime/first-party-long-tail-provider.js +238 -0
  176. package/dist/runtime/first-party-long-tail-provider.js.map +1 -0
  177. package/dist/runtime/first-party-tool-services.d.ts +43 -0
  178. package/dist/runtime/first-party-tool-services.d.ts.map +1 -0
  179. package/dist/runtime/first-party-tool-services.js +200 -0
  180. package/dist/runtime/first-party-tool-services.js.map +1 -0
  181. package/dist/runtime/first-party-tool-universe.d.ts +14 -0
  182. package/dist/runtime/first-party-tool-universe.d.ts.map +1 -0
  183. package/dist/runtime/first-party-tool-universe.js +20 -0
  184. package/dist/runtime/first-party-tool-universe.js.map +1 -0
  185. package/dist/runtime/goal-lifecycle-v2.d.ts +63 -0
  186. package/dist/runtime/goal-lifecycle-v2.d.ts.map +1 -0
  187. package/dist/runtime/goal-lifecycle-v2.js +253 -0
  188. package/dist/runtime/goal-lifecycle-v2.js.map +1 -0
  189. package/dist/runtime/goal-runtime-coordinator.d.ts +111 -0
  190. package/dist/runtime/goal-runtime-coordinator.d.ts.map +1 -0
  191. package/dist/runtime/goal-runtime-coordinator.js +511 -0
  192. package/dist/runtime/goal-runtime-coordinator.js.map +1 -0
  193. package/dist/runtime/harness-confluence.d.ts +165 -0
  194. package/dist/runtime/harness-confluence.d.ts.map +1 -0
  195. package/dist/runtime/harness-confluence.js +807 -0
  196. package/dist/runtime/harness-confluence.js.map +1 -0
  197. package/dist/runtime/harness-eval.d.ts +96 -0
  198. package/dist/runtime/harness-eval.d.ts.map +1 -0
  199. package/dist/runtime/harness-eval.js +181 -0
  200. package/dist/runtime/harness-eval.js.map +1 -0
  201. package/dist/runtime/harness-metrics.d.ts +202 -0
  202. package/dist/runtime/harness-metrics.d.ts.map +1 -0
  203. package/dist/runtime/harness-metrics.js +415 -0
  204. package/dist/runtime/harness-metrics.js.map +1 -0
  205. package/dist/runtime/legacy-session-importer.d.ts +99 -0
  206. package/dist/runtime/legacy-session-importer.d.ts.map +1 -0
  207. package/dist/runtime/legacy-session-importer.js +455 -0
  208. package/dist/runtime/legacy-session-importer.js.map +1 -0
  209. package/dist/runtime/legacy-thread-materializer.d.ts +72 -0
  210. package/dist/runtime/legacy-thread-materializer.d.ts.map +1 -0
  211. package/dist/runtime/legacy-thread-materializer.js +553 -0
  212. package/dist/runtime/legacy-thread-materializer.js.map +1 -0
  213. package/dist/runtime/long-tail-tools/descriptors.d.ts +23 -0
  214. package/dist/runtime/long-tail-tools/descriptors.d.ts.map +1 -0
  215. package/dist/runtime/long-tail-tools/descriptors.js +423 -0
  216. package/dist/runtime/long-tail-tools/descriptors.js.map +1 -0
  217. package/dist/runtime/loop-budget.d.ts +1 -1
  218. package/dist/runtime/loop-budget.d.ts.map +1 -1
  219. package/dist/runtime/loop-budget.js +2 -2
  220. package/dist/runtime/loop-budget.js.map +1 -1
  221. package/dist/runtime/mcp/first-party-mcp-adapter.d.ts +75 -0
  222. package/dist/runtime/mcp/first-party-mcp-adapter.d.ts.map +1 -0
  223. package/dist/runtime/mcp/first-party-mcp-adapter.js +484 -0
  224. package/dist/runtime/mcp/first-party-mcp-adapter.js.map +1 -0
  225. package/dist/runtime/mcp/first-party-mcp-config.d.ts +13 -0
  226. package/dist/runtime/mcp/first-party-mcp-config.d.ts.map +1 -0
  227. package/dist/runtime/mcp/first-party-mcp-config.js +139 -0
  228. package/dist/runtime/mcp/first-party-mcp-config.js.map +1 -0
  229. package/dist/runtime/mcp/index.d.ts +5 -0
  230. package/dist/runtime/mcp/index.d.ts.map +1 -0
  231. package/dist/{skills → runtime/mcp}/index.js +3 -9
  232. package/dist/runtime/mcp/index.js.map +1 -0
  233. package/dist/runtime/mcp/lazy-mcp-runtime.d.ts +95 -0
  234. package/dist/runtime/mcp/lazy-mcp-runtime.d.ts.map +1 -0
  235. package/dist/runtime/mcp/lazy-mcp-runtime.js +854 -0
  236. package/dist/runtime/mcp/lazy-mcp-runtime.js.map +1 -0
  237. package/dist/runtime/mcp/types.d.ts +128 -0
  238. package/dist/runtime/mcp/types.d.ts.map +1 -0
  239. package/dist/runtime/mcp/types.js +5 -0
  240. package/dist/runtime/mcp/types.js.map +1 -0
  241. package/dist/runtime/orion-runtime-v1.d.ts +322 -0
  242. package/dist/runtime/orion-runtime-v1.d.ts.map +1 -0
  243. package/dist/runtime/orion-runtime-v1.js +959 -0
  244. package/dist/runtime/orion-runtime-v1.js.map +1 -0
  245. package/dist/runtime/orion-session-runner.d.ts +38 -0
  246. package/dist/runtime/orion-session-runner.d.ts.map +1 -0
  247. package/dist/runtime/orion-session-runner.js +168 -0
  248. package/dist/runtime/orion-session-runner.js.map +1 -0
  249. package/dist/runtime/product-orion-runtime.d.ts +35 -0
  250. package/dist/runtime/product-orion-runtime.d.ts.map +1 -0
  251. package/dist/runtime/product-orion-runtime.js +1047 -0
  252. package/dist/runtime/product-orion-runtime.js.map +1 -0
  253. package/dist/runtime/prompts/index.d.ts +3 -0
  254. package/dist/runtime/prompts/index.d.ts.map +1 -0
  255. package/dist/{ink-ui/types.js → runtime/prompts/index.js} +3 -2
  256. package/dist/runtime/prompts/index.js.map +1 -0
  257. package/dist/runtime/prompts/prompt-registry.d.ts +22 -0
  258. package/dist/runtime/prompts/prompt-registry.d.ts.map +1 -0
  259. package/dist/runtime/prompts/prompt-registry.js +356 -0
  260. package/dist/runtime/prompts/prompt-registry.js.map +1 -0
  261. package/dist/runtime/prompts/types.d.ts +111 -0
  262. package/dist/runtime/prompts/types.d.ts.map +1 -0
  263. package/dist/runtime/prompts/types.js +5 -0
  264. package/dist/runtime/prompts/types.js.map +1 -0
  265. package/dist/runtime/protocol/canonical.d.ts +3 -0
  266. package/dist/runtime/protocol/canonical.d.ts.map +1 -0
  267. package/dist/runtime/protocol/canonical.js +21 -0
  268. package/dist/runtime/protocol/canonical.js.map +1 -0
  269. package/dist/runtime/protocol/index.d.ts +4 -0
  270. package/dist/runtime/protocol/index.d.ts.map +1 -0
  271. package/dist/runtime/protocol/index.js +16 -0
  272. package/dist/runtime/protocol/index.js.map +1 -0
  273. package/dist/runtime/protocol/runtime-protocol-v1.d.ts +671 -0
  274. package/dist/runtime/protocol/runtime-protocol-v1.d.ts.map +1 -0
  275. package/dist/runtime/protocol/runtime-protocol-v1.js +557 -0
  276. package/dist/runtime/protocol/runtime-protocol-v1.js.map +1 -0
  277. package/dist/runtime/release-receipts.d.ts +110 -0
  278. package/dist/runtime/release-receipts.d.ts.map +1 -0
  279. package/dist/runtime/release-receipts.js +305 -0
  280. package/dist/runtime/release-receipts.js.map +1 -0
  281. package/dist/runtime/resource-scope.d.ts +123 -0
  282. package/dist/runtime/resource-scope.d.ts.map +1 -0
  283. package/dist/runtime/resource-scope.js +363 -0
  284. package/dist/runtime/resource-scope.js.map +1 -0
  285. package/dist/runtime/runtime-event-buffer.d.ts +78 -0
  286. package/dist/runtime/runtime-event-buffer.d.ts.map +1 -0
  287. package/dist/runtime/runtime-event-buffer.js +237 -0
  288. package/dist/runtime/runtime-event-buffer.js.map +1 -0
  289. package/dist/runtime/runtime-services.d.ts +87 -0
  290. package/dist/runtime/runtime-services.d.ts.map +1 -0
  291. package/dist/runtime/runtime-services.js +180 -0
  292. package/dist/runtime/runtime-services.js.map +1 -0
  293. package/dist/runtime/session-history-recovery.d.ts +19 -0
  294. package/dist/runtime/session-history-recovery.d.ts.map +1 -0
  295. package/dist/runtime/session-history-recovery.js +45 -0
  296. package/dist/runtime/session-history-recovery.js.map +1 -0
  297. package/dist/runtime/skills/bounded-lru-cache.d.ts +34 -0
  298. package/dist/runtime/skills/bounded-lru-cache.d.ts.map +1 -0
  299. package/dist/runtime/skills/bounded-lru-cache.js +100 -0
  300. package/dist/runtime/skills/bounded-lru-cache.js.map +1 -0
  301. package/dist/runtime/skills/filesystem-skill-provider.d.ts +96 -0
  302. package/dist/runtime/skills/filesystem-skill-provider.d.ts.map +1 -0
  303. package/dist/runtime/skills/filesystem-skill-provider.js +829 -0
  304. package/dist/runtime/skills/filesystem-skill-provider.js.map +1 -0
  305. package/dist/runtime/skills/index.d.ts +5 -0
  306. package/dist/runtime/skills/index.d.ts.map +1 -0
  307. package/dist/{ink-ui/controllers/chat-controller.js → runtime/skills/index.js} +5 -2
  308. package/dist/runtime/skills/index.js.map +1 -0
  309. package/dist/runtime/skills/lazy-skill-runtime.d.ts +77 -0
  310. package/dist/runtime/skills/lazy-skill-runtime.d.ts.map +1 -0
  311. package/dist/runtime/skills/lazy-skill-runtime.js +673 -0
  312. package/dist/runtime/skills/lazy-skill-runtime.js.map +1 -0
  313. package/dist/runtime/skills/types.d.ts +137 -0
  314. package/dist/runtime/skills/types.d.ts.map +1 -0
  315. package/dist/runtime/skills/types.js +13 -0
  316. package/dist/runtime/skills/types.js.map +1 -0
  317. package/dist/runtime/step-snapshot.d.ts +183 -0
  318. package/dist/runtime/step-snapshot.d.ts.map +1 -0
  319. package/dist/runtime/step-snapshot.js +286 -0
  320. package/dist/runtime/step-snapshot.js.map +1 -0
  321. package/dist/runtime/subagent-thread-runtime.d.ts +239 -0
  322. package/dist/runtime/subagent-thread-runtime.d.ts.map +1 -0
  323. package/dist/runtime/subagent-thread-runtime.js +876 -0
  324. package/dist/runtime/subagent-thread-runtime.js.map +1 -0
  325. package/dist/runtime/subagents/index.d.ts +4 -1
  326. package/dist/runtime/subagents/index.d.ts.map +1 -1
  327. package/dist/runtime/subagents/index.js +10 -2
  328. package/dist/runtime/subagents/index.js.map +1 -1
  329. package/dist/runtime/subagents/parent-step-fork.d.ts +36 -0
  330. package/dist/runtime/subagents/parent-step-fork.d.ts.map +1 -0
  331. package/dist/runtime/subagents/parent-step-fork.js +83 -0
  332. package/dist/runtime/subagents/parent-step-fork.js.map +1 -0
  333. package/dist/runtime/subagents/production.d.ts +65 -46
  334. package/dist/runtime/subagents/production.d.ts.map +1 -1
  335. package/dist/runtime/subagents/production.js +494 -170
  336. package/dist/runtime/subagents/production.js.map +1 -1
  337. package/dist/runtime/subagents/receipt-journal.d.ts +20 -0
  338. package/dist/runtime/subagents/receipt-journal.d.ts.map +1 -0
  339. package/dist/runtime/subagents/receipt-journal.js +74 -0
  340. package/dist/runtime/subagents/receipt-journal.js.map +1 -0
  341. package/dist/runtime/subagents/runtime-contract.d.ts +29 -0
  342. package/dist/runtime/subagents/runtime-contract.d.ts.map +1 -0
  343. package/dist/runtime/subagents/runtime-contract.js +3 -0
  344. package/dist/runtime/subagents/runtime-contract.js.map +1 -0
  345. package/dist/runtime/subagents/runtime-integration.d.ts +41 -56
  346. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  347. package/dist/runtime/subagents/runtime-integration.js +34 -198
  348. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  349. package/dist/runtime/subagents/supervisor.d.ts +19 -7
  350. package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
  351. package/dist/runtime/subagents/supervisor.js +83 -40
  352. package/dist/runtime/subagents/supervisor.js.map +1 -1
  353. package/dist/runtime/subagents/types.d.ts +1 -1
  354. package/dist/runtime/subagents/types.js +1 -1
  355. package/dist/runtime/task-context-service.d.ts +91 -0
  356. package/dist/runtime/task-context-service.d.ts.map +1 -0
  357. package/dist/runtime/task-context-service.js +122 -0
  358. package/dist/runtime/task-context-service.js.map +1 -0
  359. package/dist/runtime/thread-admission.d.ts +130 -0
  360. package/dist/runtime/thread-admission.d.ts.map +1 -0
  361. package/dist/runtime/thread-admission.js +276 -0
  362. package/dist/runtime/thread-admission.js.map +1 -0
  363. package/dist/runtime/thread-compact-persistence.d.ts +50 -0
  364. package/dist/runtime/thread-compact-persistence.d.ts.map +1 -0
  365. package/dist/runtime/thread-compact-persistence.js +176 -0
  366. package/dist/runtime/thread-compact-persistence.js.map +1 -0
  367. package/dist/runtime/thread-event-store.d.ts +98 -0
  368. package/dist/runtime/thread-event-store.d.ts.map +1 -0
  369. package/dist/runtime/thread-event-store.js +737 -0
  370. package/dist/runtime/thread-event-store.js.map +1 -0
  371. package/dist/runtime/thread-projection.d.ts +91 -0
  372. package/dist/runtime/thread-projection.d.ts.map +1 -0
  373. package/dist/runtime/thread-projection.js +407 -0
  374. package/dist/runtime/thread-projection.js.map +1 -0
  375. package/dist/runtime/thread-runtime.d.ts +165 -0
  376. package/dist/runtime/thread-runtime.d.ts.map +1 -0
  377. package/dist/runtime/thread-runtime.js +704 -0
  378. package/dist/runtime/thread-runtime.js.map +1 -0
  379. package/dist/runtime/thread-session-view.d.ts +45 -0
  380. package/dist/runtime/thread-session-view.d.ts.map +1 -0
  381. package/dist/runtime/thread-session-view.js +264 -0
  382. package/dist/runtime/thread-session-view.js.map +1 -0
  383. package/dist/runtime/thread-tool-journal.d.ts +11 -0
  384. package/dist/runtime/thread-tool-journal.d.ts.map +1 -0
  385. package/dist/runtime/thread-tool-journal.js +131 -0
  386. package/dist/runtime/thread-tool-journal.js.map +1 -0
  387. package/dist/runtime/thread-ui-adapter.d.ts +87 -0
  388. package/dist/runtime/thread-ui-adapter.d.ts.map +1 -0
  389. package/dist/runtime/thread-ui-adapter.js +580 -0
  390. package/dist/runtime/thread-ui-adapter.js.map +1 -0
  391. package/dist/runtime/tool-gateway.d.ts +159 -0
  392. package/dist/runtime/tool-gateway.d.ts.map +1 -0
  393. package/dist/runtime/tool-gateway.js +311 -0
  394. package/dist/runtime/tool-gateway.js.map +1 -0
  395. package/dist/runtime/turn-commit.d.ts +103 -0
  396. package/dist/runtime/turn-commit.d.ts.map +1 -0
  397. package/dist/runtime/turn-commit.js +321 -0
  398. package/dist/runtime/turn-commit.js.map +1 -0
  399. package/dist/runtime/ui-events.d.ts +15 -5
  400. package/dist/runtime/ui-events.d.ts.map +1 -1
  401. package/dist/runtime/ui-events.js +0 -1
  402. package/dist/runtime/ui-events.js.map +1 -1
  403. package/dist/runtime/ui-view-model.d.ts +2 -1
  404. package/dist/runtime/ui-view-model.d.ts.map +1 -1
  405. package/dist/runtime/ui-view-model.js +6 -5
  406. package/dist/runtime/ui-view-model.js.map +1 -1
  407. package/dist/services/config-dir.d.ts +1 -1
  408. package/dist/services/config-dir.d.ts.map +1 -1
  409. package/dist/services/config-dir.js +2 -1
  410. package/dist/services/config-dir.js.map +1 -1
  411. package/dist/services/config.d.ts +2 -16
  412. package/dist/services/config.d.ts.map +1 -1
  413. package/dist/services/config.js +2 -29
  414. package/dist/services/config.js.map +1 -1
  415. package/dist/services/doctor.d.ts +0 -2
  416. package/dist/services/doctor.d.ts.map +1 -1
  417. package/dist/services/doctor.js +39 -64
  418. package/dist/services/doctor.js.map +1 -1
  419. package/dist/services/file-lock.d.ts.map +1 -1
  420. package/dist/services/file-lock.js +42 -17
  421. package/dist/services/file-lock.js.map +1 -1
  422. package/dist/services/global-config.d.ts +2 -2
  423. package/dist/services/global-config.d.ts.map +1 -1
  424. package/dist/services/session-storage.d.ts +8 -0
  425. package/dist/services/session-storage.d.ts.map +1 -1
  426. package/dist/services/session-storage.js +76 -12
  427. package/dist/services/session-storage.js.map +1 -1
  428. package/dist/skills/builtin/code-review/SKILL.md +51 -0
  429. package/dist/skills/builtin/security-check/SKILL.md +54 -0
  430. package/dist/skills/builtin/test-gen/SKILL.md +49 -0
  431. package/dist/terminal-ui/launch.d.ts +3 -1
  432. package/dist/terminal-ui/launch.d.ts.map +1 -1
  433. package/dist/terminal-ui/launch.js +21 -3
  434. package/dist/terminal-ui/launch.js.map +1 -1
  435. package/dist/tools/core/common.d.ts +34 -0
  436. package/dist/tools/core/common.d.ts.map +1 -0
  437. package/dist/tools/core/common.js +164 -0
  438. package/dist/tools/core/common.js.map +1 -0
  439. package/dist/tools/core/edit-file.d.ts +10 -0
  440. package/dist/tools/core/edit-file.d.ts.map +1 -0
  441. package/dist/tools/core/edit-file.js +301 -0
  442. package/dist/tools/core/edit-file.js.map +1 -0
  443. package/dist/tools/core/exec-command.d.ts +2 -0
  444. package/dist/tools/core/exec-command.d.ts.map +1 -0
  445. package/dist/tools/core/exec-command.js +347 -0
  446. package/dist/tools/core/exec-command.js.map +1 -0
  447. package/dist/tools/core/glob.d.ts +2 -0
  448. package/dist/tools/core/glob.d.ts.map +1 -0
  449. package/dist/tools/core/glob.js +133 -0
  450. package/dist/tools/core/glob.js.map +1 -0
  451. package/dist/tools/core/grep.d.ts +12 -0
  452. package/dist/tools/core/grep.d.ts.map +1 -0
  453. package/dist/tools/core/grep.js +223 -0
  454. package/dist/tools/core/grep.js.map +1 -0
  455. package/dist/tools/core/index.d.ts +15 -0
  456. package/dist/tools/core/index.d.ts.map +1 -0
  457. package/dist/tools/core/index.js +31 -0
  458. package/dist/tools/core/index.js.map +1 -0
  459. package/dist/tools/core/list-files.d.ts +2 -0
  460. package/dist/tools/core/list-files.d.ts.map +1 -0
  461. package/dist/tools/core/list-files.js +87 -0
  462. package/dist/tools/core/list-files.js.map +1 -0
  463. package/dist/tools/core/read-file.d.ts +2 -0
  464. package/dist/tools/core/read-file.d.ts.map +1 -0
  465. package/dist/tools/core/read-file.js +129 -0
  466. package/dist/tools/core/read-file.js.map +1 -0
  467. package/dist/tools/core/write-file.d.ts +2 -0
  468. package/dist/tools/core/write-file.d.ts.map +1 -0
  469. package/dist/tools/core/write-file.js +65 -0
  470. package/dist/tools/core/write-file.js.map +1 -0
  471. package/dist/tools/todo.d.ts +3 -4
  472. package/dist/tools/todo.d.ts.map +1 -1
  473. package/dist/tools/todo.js +80 -79
  474. package/dist/tools/todo.js.map +1 -1
  475. package/dist/tools/web.js +1 -1
  476. package/dist/tools/web.js.map +1 -1
  477. package/dist/tui-ui/chrome-view-model.d.ts.map +1 -1
  478. package/dist/tui-ui/chrome-view-model.js +22 -8
  479. package/dist/tui-ui/chrome-view-model.js.map +1 -1
  480. package/dist/tui-ui/launch.d.ts.map +1 -1
  481. package/dist/tui-ui/launch.js +13 -0
  482. package/dist/tui-ui/launch.js.map +1 -1
  483. package/dist/tui-ui/layout.js +1 -1
  484. package/dist/tui-ui/layout.js.map +1 -1
  485. package/dist/tui-ui/state.d.ts.map +1 -1
  486. package/dist/tui-ui/state.js +2 -0
  487. package/dist/tui-ui/state.js.map +1 -1
  488. package/docs/migration/v0.1.9-to-v0.2.0.md +98 -0
  489. package/docs/orion.example.json +79 -0
  490. package/docs/plan/v0.2.0-dsh-harness-redesign-plan.md +1234 -0
  491. package/docs/plan/v0.2.0-release-checklist.md +91 -0
  492. package/docs/readme.md +8 -8
  493. package/npm-shrinkwrap.json +45 -450
  494. package/package.json +17 -13
  495. package/dist/agents/coder.d.ts +0 -12
  496. package/dist/agents/coder.d.ts.map +0 -1
  497. package/dist/agents/coder.js +0 -48
  498. package/dist/agents/coder.js.map +0 -1
  499. package/dist/agents/coordinator.d.ts +0 -86
  500. package/dist/agents/coordinator.d.ts.map +0 -1
  501. package/dist/agents/coordinator.js +0 -291
  502. package/dist/agents/coordinator.js.map +0 -1
  503. package/dist/agents/fork.d.ts +0 -73
  504. package/dist/agents/fork.d.ts.map +0 -1
  505. package/dist/agents/fork.js +0 -163
  506. package/dist/agents/fork.js.map +0 -1
  507. package/dist/agents/leader.d.ts +0 -12
  508. package/dist/agents/leader.d.ts.map +0 -1
  509. package/dist/agents/leader.js +0 -49
  510. package/dist/agents/leader.js.map +0 -1
  511. package/dist/agents/router.d.ts +0 -59
  512. package/dist/agents/router.d.ts.map +0 -1
  513. package/dist/agents/router.js +0 -193
  514. package/dist/agents/router.js.map +0 -1
  515. package/dist/agents/worker-pool.d.ts +0 -72
  516. package/dist/agents/worker-pool.d.ts.map +0 -1
  517. package/dist/agents/worker-pool.js +0 -229
  518. package/dist/agents/worker-pool.js.map +0 -1
  519. package/dist/commands/legacy-commands.d.ts +0 -4
  520. package/dist/commands/legacy-commands.d.ts.map +0 -1
  521. package/dist/commands/legacy-commands.js +0 -44
  522. package/dist/commands/legacy-commands.js.map +0 -1
  523. package/dist/core/agent.d.ts +0 -84
  524. package/dist/core/agent.d.ts.map +0 -1
  525. package/dist/core/agent.js +0 -58
  526. package/dist/core/agent.js.map +0 -1
  527. package/dist/core/brain.d.ts +0 -50
  528. package/dist/core/brain.d.ts.map +0 -1
  529. package/dist/core/brain.js +0 -95
  530. package/dist/core/brain.js.map +0 -1
  531. package/dist/framework/tool-scheduler.d.ts +0 -191
  532. package/dist/framework/tool-scheduler.d.ts.map +0 -1
  533. package/dist/framework/tool-scheduler.js +0 -573
  534. package/dist/framework/tool-scheduler.js.map +0 -1
  535. package/dist/harness/harness.d.ts +0 -58
  536. package/dist/harness/harness.d.ts.map +0 -1
  537. package/dist/harness/harness.js +0 -195
  538. package/dist/harness/harness.js.map +0 -1
  539. package/dist/harness/safety.d.ts +0 -101
  540. package/dist/harness/safety.d.ts.map +0 -1
  541. package/dist/harness/safety.js +0 -322
  542. package/dist/harness/safety.js.map +0 -1
  543. package/dist/init.d.ts +0 -108
  544. package/dist/init.d.ts.map +0 -1
  545. package/dist/init.js +0 -393
  546. package/dist/init.js.map +0 -1
  547. package/dist/ink-ui/App.d.ts +0 -9
  548. package/dist/ink-ui/App.d.ts.map +0 -1
  549. package/dist/ink-ui/App.js +0 -12
  550. package/dist/ink-ui/App.js.map +0 -1
  551. package/dist/ink-ui/components/Markdown.d.ts +0 -10
  552. package/dist/ink-ui/components/Markdown.d.ts.map +0 -1
  553. package/dist/ink-ui/components/Markdown.js +0 -210
  554. package/dist/ink-ui/components/Markdown.js.map +0 -1
  555. package/dist/ink-ui/components/NativeCursor.d.ts +0 -12
  556. package/dist/ink-ui/components/NativeCursor.d.ts.map +0 -1
  557. package/dist/ink-ui/components/NativeCursor.js +0 -35
  558. package/dist/ink-ui/components/NativeCursor.js.map +0 -1
  559. package/dist/ink-ui/components/PixelHorseBanner.d.ts +0 -8
  560. package/dist/ink-ui/components/PixelHorseBanner.d.ts.map +0 -1
  561. package/dist/ink-ui/components/PixelHorseBanner.js +0 -97
  562. package/dist/ink-ui/components/PixelHorseBanner.js.map +0 -1
  563. package/dist/ink-ui/components/PromptInput.d.ts +0 -13
  564. package/dist/ink-ui/components/PromptInput.d.ts.map +0 -1
  565. package/dist/ink-ui/components/PromptInput.js +0 -30
  566. package/dist/ink-ui/components/PromptInput.js.map +0 -1
  567. package/dist/ink-ui/components/RunningHorseIndicator.d.ts +0 -13
  568. package/dist/ink-ui/components/RunningHorseIndicator.d.ts.map +0 -1
  569. package/dist/ink-ui/components/RunningHorseIndicator.js +0 -53
  570. package/dist/ink-ui/components/RunningHorseIndicator.js.map +0 -1
  571. package/dist/ink-ui/components/SelectList.d.ts +0 -16
  572. package/dist/ink-ui/components/SelectList.d.ts.map +0 -1
  573. package/dist/ink-ui/components/SelectList.js +0 -60
  574. package/dist/ink-ui/components/SelectList.js.map +0 -1
  575. package/dist/ink-ui/components/StatusLine.d.ts +0 -11
  576. package/dist/ink-ui/components/StatusLine.d.ts.map +0 -1
  577. package/dist/ink-ui/components/StatusLine.js +0 -70
  578. package/dist/ink-ui/components/StatusLine.js.map +0 -1
  579. package/dist/ink-ui/components/ToolActivity.d.ts +0 -19
  580. package/dist/ink-ui/components/ToolActivity.d.ts.map +0 -1
  581. package/dist/ink-ui/components/ToolActivity.js +0 -134
  582. package/dist/ink-ui/components/ToolActivity.js.map +0 -1
  583. package/dist/ink-ui/components/Transcript.d.ts +0 -14
  584. package/dist/ink-ui/components/Transcript.d.ts.map +0 -1
  585. package/dist/ink-ui/components/Transcript.js +0 -66
  586. package/dist/ink-ui/components/Transcript.js.map +0 -1
  587. package/dist/ink-ui/controllers/chat-controller.d.ts +0 -2
  588. package/dist/ink-ui/controllers/chat-controller.d.ts.map +0 -1
  589. package/dist/ink-ui/controllers/chat-controller.js.map +0 -1
  590. package/dist/ink-ui/hooks/use-raw-input-bridge.d.ts +0 -6
  591. package/dist/ink-ui/hooks/use-raw-input-bridge.d.ts.map +0 -1
  592. package/dist/ink-ui/hooks/use-raw-input-bridge.js +0 -27
  593. package/dist/ink-ui/hooks/use-raw-input-bridge.js.map +0 -1
  594. package/dist/ink-ui/hooks/use-terminal-size.d.ts +0 -7
  595. package/dist/ink-ui/hooks/use-terminal-size.d.ts.map +0 -1
  596. package/dist/ink-ui/hooks/use-terminal-size.js +0 -34
  597. package/dist/ink-ui/hooks/use-terminal-size.js.map +0 -1
  598. package/dist/ink-ui/launch.d.ts +0 -9
  599. package/dist/ink-ui/launch.d.ts.map +0 -1
  600. package/dist/ink-ui/launch.js +0 -101
  601. package/dist/ink-ui/launch.js.map +0 -1
  602. package/dist/ink-ui/runtime/grapheme.d.ts +0 -10
  603. package/dist/ink-ui/runtime/grapheme.d.ts.map +0 -1
  604. package/dist/ink-ui/runtime/grapheme.js +0 -17
  605. package/dist/ink-ui/runtime/grapheme.js.map +0 -1
  606. package/dist/ink-ui/runtime/input-buffer.d.ts +0 -10
  607. package/dist/ink-ui/runtime/input-buffer.d.ts.map +0 -1
  608. package/dist/ink-ui/runtime/input-buffer.js +0 -18
  609. package/dist/ink-ui/runtime/input-buffer.js.map +0 -1
  610. package/dist/ink-ui/runtime/layout-budget.d.ts +0 -13
  611. package/dist/ink-ui/runtime/layout-budget.d.ts.map +0 -1
  612. package/dist/ink-ui/runtime/layout-budget.js +0 -25
  613. package/dist/ink-ui/runtime/layout-budget.js.map +0 -1
  614. package/dist/ink-ui/runtime/native-cursor.d.ts +0 -62
  615. package/dist/ink-ui/runtime/native-cursor.d.ts.map +0 -1
  616. package/dist/ink-ui/runtime/native-cursor.js +0 -398
  617. package/dist/ink-ui/runtime/native-cursor.js.map +0 -1
  618. package/dist/ink-ui/runtime/prompt-layout.d.ts +0 -10
  619. package/dist/ink-ui/runtime/prompt-layout.d.ts.map +0 -1
  620. package/dist/ink-ui/runtime/prompt-layout.js +0 -21
  621. package/dist/ink-ui/runtime/prompt-layout.js.map +0 -1
  622. package/dist/ink-ui/runtime/raw-input.d.ts +0 -4
  623. package/dist/ink-ui/runtime/raw-input.d.ts.map +0 -1
  624. package/dist/ink-ui/runtime/raw-input.js +0 -15
  625. package/dist/ink-ui/runtime/raw-input.js.map +0 -1
  626. package/dist/ink-ui/runtime/transcript-state.d.ts +0 -37
  627. package/dist/ink-ui/runtime/transcript-state.d.ts.map +0 -1
  628. package/dist/ink-ui/runtime/transcript-state.js +0 -91
  629. package/dist/ink-ui/runtime/transcript-state.js.map +0 -1
  630. package/dist/ink-ui/screens/ReplScreen.d.ts +0 -27
  631. package/dist/ink-ui/screens/ReplScreen.d.ts.map +0 -1
  632. package/dist/ink-ui/screens/ReplScreen.js +0 -781
  633. package/dist/ink-ui/screens/ReplScreen.js.map +0 -1
  634. package/dist/ink-ui/types.d.ts +0 -2
  635. package/dist/ink-ui/types.d.ts.map +0 -1
  636. package/dist/ink-ui/types.js.map +0 -1
  637. package/dist/runtime/chat-checkpoint.d.ts +0 -17
  638. package/dist/runtime/chat-checkpoint.d.ts.map +0 -1
  639. package/dist/runtime/chat-checkpoint.js +0 -105
  640. package/dist/runtime/chat-checkpoint.js.map +0 -1
  641. package/dist/runtime/chat-command-scope.d.ts +0 -5
  642. package/dist/runtime/chat-command-scope.d.ts.map +0 -1
  643. package/dist/runtime/chat-command-scope.js +0 -22
  644. package/dist/runtime/chat-command-scope.js.map +0 -1
  645. package/dist/runtime/chat-compact.d.ts +0 -26
  646. package/dist/runtime/chat-compact.d.ts.map +0 -1
  647. package/dist/runtime/chat-compact.js +0 -132
  648. package/dist/runtime/chat-compact.js.map +0 -1
  649. package/dist/runtime/chat-controller.d.ts +0 -62
  650. package/dist/runtime/chat-controller.d.ts.map +0 -1
  651. package/dist/runtime/chat-controller.js +0 -1620
  652. package/dist/runtime/chat-controller.js.map +0 -1
  653. package/dist/runtime/chat-effort.d.ts +0 -5
  654. package/dist/runtime/chat-effort.d.ts.map +0 -1
  655. package/dist/runtime/chat-effort.js +0 -47
  656. package/dist/runtime/chat-effort.js.map +0 -1
  657. package/dist/runtime/chat-presentation.d.ts +0 -63
  658. package/dist/runtime/chat-presentation.d.ts.map +0 -1
  659. package/dist/runtime/chat-presentation.js +0 -561
  660. package/dist/runtime/chat-presentation.js.map +0 -1
  661. package/dist/runtime/chat-trace.d.ts +0 -52
  662. package/dist/runtime/chat-trace.d.ts.map +0 -1
  663. package/dist/runtime/chat-trace.js +0 -234
  664. package/dist/runtime/chat-trace.js.map +0 -1
  665. package/dist/runtime/chat-workspace.d.ts +0 -22
  666. package/dist/runtime/chat-workspace.d.ts.map +0 -1
  667. package/dist/runtime/chat-workspace.js +0 -154
  668. package/dist/runtime/chat-workspace.js.map +0 -1
  669. package/dist/runtime/goals/accounting.d.ts +0 -45
  670. package/dist/runtime/goals/accounting.d.ts.map +0 -1
  671. package/dist/runtime/goals/accounting.js +0 -114
  672. package/dist/runtime/goals/accounting.js.map +0 -1
  673. package/dist/runtime/goals/coordinator.d.ts +0 -92
  674. package/dist/runtime/goals/coordinator.d.ts.map +0 -1
  675. package/dist/runtime/goals/coordinator.js +0 -1471
  676. package/dist/runtime/goals/coordinator.js.map +0 -1
  677. package/dist/runtime/goals/lifecycle.d.ts +0 -13
  678. package/dist/runtime/goals/lifecycle.d.ts.map +0 -1
  679. package/dist/runtime/goals/lifecycle.js +0 -46
  680. package/dist/runtime/goals/lifecycle.js.map +0 -1
  681. package/dist/runtime/goals/prompt.d.ts +0 -16
  682. package/dist/runtime/goals/prompt.d.ts.map +0 -1
  683. package/dist/runtime/goals/prompt.js +0 -88
  684. package/dist/runtime/goals/prompt.js.map +0 -1
  685. package/dist/runtime/goals/stop-policy.d.ts +0 -9
  686. package/dist/runtime/goals/stop-policy.d.ts.map +0 -1
  687. package/dist/runtime/goals/stop-policy.js +0 -83
  688. package/dist/runtime/goals/stop-policy.js.map +0 -1
  689. package/dist/runtime/goals/tools.d.ts +0 -61
  690. package/dist/runtime/goals/tools.d.ts.map +0 -1
  691. package/dist/runtime/goals/tools.js +0 -568
  692. package/dist/runtime/goals/tools.js.map +0 -1
  693. package/dist/sdk/index.d.ts +0 -10
  694. package/dist/sdk/index.d.ts.map +0 -1
  695. package/dist/sdk/index.js +0 -23
  696. package/dist/sdk/index.js.map +0 -1
  697. package/dist/sdk/init.d.ts +0 -24
  698. package/dist/sdk/init.d.ts.map +0 -1
  699. package/dist/sdk/init.js +0 -48
  700. package/dist/sdk/init.js.map +0 -1
  701. package/dist/sdk/query.d.ts +0 -19
  702. package/dist/sdk/query.d.ts.map +0 -1
  703. package/dist/sdk/query.js +0 -42
  704. package/dist/sdk/query.js.map +0 -1
  705. package/dist/sdk/sessions.d.ts +0 -19
  706. package/dist/sdk/sessions.d.ts.map +0 -1
  707. package/dist/sdk/sessions.js +0 -57
  708. package/dist/sdk/sessions.js.map +0 -1
  709. package/dist/sdk/types.d.ts +0 -47
  710. package/dist/sdk/types.d.ts.map +0 -1
  711. package/dist/sdk/types.js +0 -8
  712. package/dist/sdk/types.js.map +0 -1
  713. package/dist/services/agent-runner.d.ts +0 -71
  714. package/dist/services/agent-runner.d.ts.map +0 -1
  715. package/dist/services/agent-runner.js +0 -185
  716. package/dist/services/agent-runner.js.map +0 -1
  717. package/dist/services/task-manager.d.ts +0 -161
  718. package/dist/services/task-manager.d.ts.map +0 -1
  719. package/dist/services/task-manager.js +0 -315
  720. package/dist/services/task-manager.js.map +0 -1
  721. package/dist/skills/discovery.d.ts +0 -22
  722. package/dist/skills/discovery.d.ts.map +0 -1
  723. package/dist/skills/discovery.js +0 -75
  724. package/dist/skills/discovery.js.map +0 -1
  725. package/dist/skills/index.d.ts +0 -11
  726. package/dist/skills/index.d.ts.map +0 -1
  727. package/dist/skills/index.js.map +0 -1
  728. package/dist/skills/loader.d.ts +0 -53
  729. package/dist/skills/loader.d.ts.map +0 -1
  730. package/dist/skills/loader.js +0 -421
  731. package/dist/skills/loader.js.map +0 -1
  732. package/dist/skills/registry.d.ts +0 -41
  733. package/dist/skills/registry.d.ts.map +0 -1
  734. package/dist/skills/registry.js +0 -157
  735. package/dist/skills/registry.js.map +0 -1
  736. package/dist/skills/runtime.d.ts +0 -46
  737. package/dist/skills/runtime.d.ts.map +0 -1
  738. package/dist/skills/runtime.js +0 -363
  739. package/dist/skills/runtime.js.map +0 -1
  740. package/dist/skills/types.d.ts +0 -112
  741. package/dist/skills/types.d.ts.map +0 -1
  742. package/dist/skills/types.js +0 -24
  743. package/dist/skills/types.js.map +0 -1
  744. package/dist/tools/index.d.ts +0 -52
  745. package/dist/tools/index.d.ts.map +0 -1
  746. package/dist/tools/index.js +0 -2268
  747. package/dist/tools/index.js.map +0 -1
  748. package/dist/tools/mcp.d.ts +0 -99
  749. package/dist/tools/mcp.d.ts.map +0 -1
  750. package/dist/tools/mcp.js +0 -695
  751. package/dist/tools/mcp.js.map +0 -1
  752. package/dist/tools/plan.d.ts +0 -17
  753. package/dist/tools/plan.d.ts.map +0 -1
  754. package/dist/tools/plan.js +0 -84
  755. package/dist/tools/plan.js.map +0 -1
  756. package/docs/migration/v0.1.8-to-v0.1.9.md +0 -60
  757. package/docs/plan/v0.1.9-release-checklist.md +0 -64
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirstPartySandboxServiceV1 = exports.FirstPartyToolApprovalServiceV1 = exports.FirstPartyToolPolicyServiceV1 = exports.FirstPartyToolServiceError = void 0;
4
+ const path_1 = require("path");
5
+ const tool_allowlist_1 = require("../services/tool-allowlist");
6
+ const sandbox_1 = require("../tools/sandbox");
7
+ const canonical_1 = require("./protocol/canonical");
8
+ class FirstPartyToolServiceError extends Error {
9
+ constructor(message) {
10
+ super(message);
11
+ this.code = 'ORION_FIRST_PARTY_TOOL_SERVICE_INVALID';
12
+ this.name = 'FirstPartyToolServiceError';
13
+ }
14
+ }
15
+ exports.FirstPartyToolServiceError = FirstPartyToolServiceError;
16
+ /**
17
+ * Adapts existing first-party permission evaluators to the frozen v0.2.0
18
+ * policy boundary. Agent display mode is deliberately absent from decisions.
19
+ */
20
+ class FirstPartyToolPolicyServiceV1 {
21
+ constructor(catalog, context) {
22
+ this.context = context;
23
+ this.serviceId = 'first-party-tool-policy';
24
+ this.toolsByName = new Map(catalog.entries.map(entry => [entry.candidate.descriptor.name, entry]));
25
+ }
26
+ decide(input) {
27
+ const entry = this.toolsByName.get(input.descriptor.name);
28
+ if (entry) {
29
+ const expected = entry.candidate.descriptor;
30
+ if (expected.executorId !== input.descriptor.executorId ||
31
+ expected.schemaDigest !== input.descriptor.schemaDigest ||
32
+ (0, canonical_1.digestRuntimeValue)(expected.risk) !== (0, canonical_1.digestRuntimeValue)(input.descriptor.risk)) {
33
+ return decision('deny', 'snapshot', 'Tool descriptor drifted after capability capture.');
34
+ }
35
+ const inputError = entry.tool.validateInput?.({ ...input.args });
36
+ if (inputError)
37
+ return decision('deny', 'input', inputError);
38
+ }
39
+ else if (!input.descriptor.executorId.startsWith('mcp:')) {
40
+ return decision('deny', 'catalog', 'Tool is not in an approved runtime catalog.');
41
+ }
42
+ const authorityFailure = checkAuthority(input);
43
+ if (authorityFailure)
44
+ return decision('deny', 'authority', authorityFailure);
45
+ const configured = (0, tool_allowlist_1.resolveToolAllowlist)(input.snapshot.authority.projectRoot).evaluator?.(input.descriptor.name, { ...input.args });
46
+ if (configured?.effect === 'deny' || configured?.effect === 'ask') {
47
+ return decision(configured.effect, `allowlist:${configured.scope ?? 'resolved'}`, `Matched ${configured.rule}.`);
48
+ }
49
+ if (!entry) {
50
+ if (configured?.effect === 'allow') {
51
+ return decision('allow', `allowlist:${configured.scope ?? 'resolved'}`, `Matched durable grant ${configured.rule}.`);
52
+ }
53
+ return decision('ask', 'mcp-default', 'Selected MCP tools require explicit approval unless durably granted.');
54
+ }
55
+ let legacy;
56
+ try {
57
+ legacy = entry.tool.checkPermissions?.({ ...input.args }, this.context) ?? {
58
+ behavior: 'allow',
59
+ };
60
+ }
61
+ catch (error) {
62
+ return decision('deny', 'tool-policy', `Tool permission evaluator failed closed: ${errorMessage(error)}`);
63
+ }
64
+ if (!['allow', 'ask', 'deny'].includes(legacy.behavior)) {
65
+ return decision('deny', 'tool-policy', 'Tool returned an invalid permission decision.');
66
+ }
67
+ if (legacy.behavior !== 'deny' && configured?.effect === 'allow') {
68
+ return decision('allow', `allowlist:${configured.scope ?? 'resolved'}`, `Matched durable grant ${configured.rule}.`);
69
+ }
70
+ return decision(legacy.behavior, 'tool-policy', legacy.reason);
71
+ }
72
+ }
73
+ exports.FirstPartyToolPolicyServiceV1 = FirstPartyToolPolicyServiceV1;
74
+ /** Confirmation is independent from containment and from BUILD/PLAN/AUTO. */
75
+ class FirstPartyToolApprovalServiceV1 {
76
+ constructor(confirm) {
77
+ this.confirm = confirm;
78
+ this.serviceId = 'first-party-tool-approval';
79
+ }
80
+ async decide(input) {
81
+ if (input.abortSignal?.aborted) {
82
+ return approval(false, 'abort', 'Approval was aborted.');
83
+ }
84
+ switch (input.snapshot.authority.confirmation) {
85
+ case 'allow':
86
+ return approval(true, 'authority', 'Project authority pre-authorized this operation.');
87
+ case 'deny':
88
+ return approval(false, 'authority', 'Project authority denies confirmation.');
89
+ case 'ask': {
90
+ if (!this.confirm) {
91
+ return approval(false, 'unavailable', 'No approval channel is attached.');
92
+ }
93
+ try {
94
+ const approved = await this.confirm({
95
+ name: input.descriptor.name,
96
+ args: { ...input.args },
97
+ reason: input.policy.reason,
98
+ abortSignal: input.abortSignal,
99
+ });
100
+ return approval(approved, 'user', approved ? 'User approved the operation.' : 'User denied the operation.');
101
+ }
102
+ catch (error) {
103
+ return approval(false, 'approval-error', `Approval failed closed: ${errorMessage(error)}`);
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
109
+ exports.FirstPartyToolApprovalServiceV1 = FirstPartyToolApprovalServiceV1;
110
+ /**
111
+ * Produces an auditable enforcement result before ExecutionService runs. Shell
112
+ * tools use the existing OS sandbox planner; in-process file tools rely on the
113
+ * same project-root path guards as their bound executor.
114
+ */
115
+ class FirstPartySandboxServiceV1 {
116
+ constructor() {
117
+ this.serviceId = 'first-party-sandbox';
118
+ }
119
+ prepare(input) {
120
+ if (!input.snapshot.executionPolicy.sandboxRequired) {
121
+ return sandbox('none', 'none', 'Sandbox is not required by the frozen policy.');
122
+ }
123
+ const descriptor = input.descriptor;
124
+ if (descriptor.name === 'exec_command')
125
+ return this.prepareCommand(input);
126
+ if (descriptor.risk.network === 'none' &&
127
+ (descriptor.risk.effect === 'none' ||
128
+ descriptor.risk.effect === 'workspace_read' ||
129
+ descriptor.risk.fileEdit)) {
130
+ return sandbox('orion-path-containment', 'full', 'The bound in-process executor enforces the frozen project root.');
131
+ }
132
+ return sandbox('unsupported', 'partial', `No full sandbox backend is bound for ${descriptor.name}.`);
133
+ }
134
+ prepareCommand(input) {
135
+ const command = typeof input.args.command === 'string' ? input.args.command : '';
136
+ if (!command.trim())
137
+ return sandbox('invalid-command', 'partial', 'Command is empty.');
138
+ const projectRoot = (0, path_1.resolve)(input.snapshot.authority.projectRoot);
139
+ const requestedCwd = typeof input.args.cwd === 'string' && input.args.cwd.trim()
140
+ ? (0, path_1.resolve)(projectRoot, input.args.cwd)
141
+ : (0, path_1.resolve)(input.snapshot.environment.cwd);
142
+ if (!contains(projectRoot, requestedCwd)) {
143
+ return sandbox('path-containment', 'partial', 'Command cwd is outside project authority.');
144
+ }
145
+ const plan = (0, sandbox_1.planSandboxedCommand)(command, {
146
+ cwd: requestedCwd,
147
+ projectRoot,
148
+ settings: (0, sandbox_1.resolveSandboxSettings)(projectRoot),
149
+ });
150
+ if (!plan.ok)
151
+ return sandbox('unavailable', 'partial', plan.reason);
152
+ if (plan.backend === 'none') {
153
+ return sandbox('none', 'none', 'Configured shell execution has no sandbox backend.');
154
+ }
155
+ return sandbox(plan.backend, 'full', `${plan.profile}; network ${plan.network}; ${plan.writableRoots.length} writable roots.`);
156
+ }
157
+ }
158
+ exports.FirstPartySandboxServiceV1 = FirstPartySandboxServiceV1;
159
+ function checkAuthority(input) {
160
+ const { authority } = input.snapshot;
161
+ const { risk } = input.descriptor;
162
+ if (input.descriptor.name === 'exec_command' && typeof input.args.cwd === 'string') {
163
+ const requestedCwd = (0, path_1.resolve)(authority.projectRoot, input.args.cwd);
164
+ if (!contains((0, path_1.resolve)(authority.projectRoot), requestedCwd)) {
165
+ return 'Command cwd is outside project authority.';
166
+ }
167
+ }
168
+ if (risk.network === 'write' && authority.network !== 'write') {
169
+ return 'Tool requires network write authority.';
170
+ }
171
+ if (risk.network === 'read' && authority.network === 'deny') {
172
+ return 'Tool requires network read authority.';
173
+ }
174
+ if (risk.effect === 'external_write' && authority.confirmation === 'deny') {
175
+ return 'External writes are denied by the frozen authority.';
176
+ }
177
+ return undefined;
178
+ }
179
+ function decision(behavior, source, reason) {
180
+ const content = { behavior, source, ...(reason ? { reason } : {}) };
181
+ return Object.freeze({ ...content, digest: (0, canonical_1.digestRuntimeValue)(content) });
182
+ }
183
+ function approval(approved, source, reason) {
184
+ const content = { approved, source, ...(reason ? { reason } : {}) };
185
+ return Object.freeze({ ...content, digest: (0, canonical_1.digestRuntimeValue)(content) });
186
+ }
187
+ function sandbox(backend, enforcement, reason) {
188
+ const content = { backend, enforcement, ...(reason ? { reason } : {}) };
189
+ return Object.freeze({ ...content, digest: (0, canonical_1.digestRuntimeValue)(content) });
190
+ }
191
+ function contains(root, target) {
192
+ if (!(0, path_1.isAbsolute)(root) || !(0, path_1.isAbsolute)(target))
193
+ return false;
194
+ const rel = (0, path_1.relative)(root, target);
195
+ return rel === '' || (!rel.startsWith('..') && !(0, path_1.isAbsolute)(rel));
196
+ }
197
+ function errorMessage(error) {
198
+ return error instanceof Error ? error.message : String(error);
199
+ }
200
+ //# sourceMappingURL=first-party-tool-services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-party-tool-services.js","sourceRoot":"","sources":["../../src/runtime/first-party-tool-services.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ToolContext } from '../framework/tool';
2
+ import { type BuiltinToolCatalogV1 } from './builtin-tool-provider';
3
+ import { type FirstPartyCoreToolProviderV1 } from './first-party-core-provider';
4
+ import { type FirstPartyLongTailToolProviderV1 } from './first-party-long-tail-provider';
5
+ export interface ProductionFirstPartyToolUniverseV1 {
6
+ readonly core: FirstPartyCoreToolProviderV1;
7
+ readonly longTail: FirstPartyLongTailToolProviderV1;
8
+ readonly catalog: BuiltinToolCatalogV1;
9
+ }
10
+ /** Static product composition: lightweight descriptors now, exact executors on demand. */
11
+ export declare function createProductionFirstPartyToolUniverseV1(options: {
12
+ readonly context: ToolContext;
13
+ }): ProductionFirstPartyToolUniverseV1;
14
+ //# sourceMappingURL=first-party-tool-universe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-party-tool-universe.d.ts","sourceRoot":"","sources":["../../src/runtime/first-party-tool-universe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAA8B,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;CACxC;AAED,0FAA0F;AAC1F,wBAAgB,wCAAwC,CAAC,OAAO,EAAE;IAChE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;CAC/B,GAAG,kCAAkC,CAarC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createProductionFirstPartyToolUniverseV1 = createProductionFirstPartyToolUniverseV1;
4
+ const batch_read_service_1 = require("./batch-read-service");
5
+ const builtin_tool_provider_1 = require("./builtin-tool-provider");
6
+ const first_party_core_provider_1 = require("./first-party-core-provider");
7
+ const first_party_long_tail_provider_1 = require("./first-party-long-tail-provider");
8
+ /** Static product composition: lightweight descriptors now, exact executors on demand. */
9
+ function createProductionFirstPartyToolUniverseV1(options) {
10
+ const core = (0, first_party_core_provider_1.createFirstPartyCoreToolProviderV1)(options);
11
+ const longTail = (0, first_party_long_tail_provider_1.createFirstPartyLongTailToolProviderV1)(options);
12
+ const batchRead = (0, batch_read_service_1.createBatchReadToolV1)();
13
+ const catalog = (0, builtin_tool_provider_1.createBuiltinToolCatalogV1)([
14
+ ...core.catalog.entries.map(entry => entry.tool),
15
+ ...longTail.catalog.entries.map(entry => entry.tool),
16
+ batchRead,
17
+ ], { context: options.context });
18
+ return Object.freeze({ core, longTail, catalog });
19
+ }
20
+ //# sourceMappingURL=first-party-tool-universe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-party-tool-universe.js","sourceRoot":"","sources":["../../src/runtime/first-party-tool-universe.ts"],"names":[],"mappings":";;AAmBA,4FAeC;AAjCD,6DAA6D;AAC7D,mEAAgG;AAChG,2EAGqC;AACrC,qFAG0C;AAQ1C,0FAA0F;AAC1F,SAAgB,wCAAwC,CAAC,OAExD;IACC,MAAM,IAAI,GAAG,IAAA,8DAAkC,EAAC,OAAO,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAA,uEAAsC,EAAC,OAAO,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,IAAA,0CAAqB,GAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAA,kDAA0B,EACxC;QACE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QAChD,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACpD,SAAS;KACV,EACD,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAC7B,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { type StopDecision } from '../framework/stop-decision';
2
+ import type { TaskContextCompletionDecisionV1 } from './task-context-service';
3
+ export type GoalLifecycleStatusV2 = 'active' | 'paused' | 'completed' | 'failed';
4
+ export interface GoalLifecycleBudgetV2 {
5
+ readonly maxTokens: number;
6
+ readonly maxElapsedMs: number;
7
+ }
8
+ export interface GoalLifecycleStateV2 {
9
+ readonly version: 2;
10
+ readonly goalId: string;
11
+ readonly objective: string;
12
+ readonly status: GoalLifecycleStatusV2;
13
+ readonly generation: number;
14
+ readonly continuationCount: number;
15
+ readonly noProgressCount: number;
16
+ readonly blockedCount: number;
17
+ readonly tokensUsed: number;
18
+ readonly elapsedMs: number;
19
+ readonly budget: GoalLifecycleBudgetV2;
20
+ readonly lastStopDecision?: StopDecision;
21
+ readonly createdAt: number;
22
+ readonly updatedAt: number;
23
+ readonly digest: string;
24
+ }
25
+ export interface GoalTurnObservationV2 {
26
+ readonly requestDecision?: StopDecision;
27
+ readonly taskContextCompletion?: TaskContextCompletionDecisionV1;
28
+ readonly madeProgress: boolean;
29
+ readonly blocked?: string;
30
+ readonly tokenDelta: number;
31
+ readonly elapsedMs: number;
32
+ readonly persistenceFailure?: string;
33
+ readonly aborted?: boolean;
34
+ }
35
+ export interface GoalTurnResolutionV2 {
36
+ readonly state: GoalLifecycleStateV2;
37
+ readonly scheduleContinuation: boolean;
38
+ readonly decision?: StopDecision;
39
+ }
40
+ export interface GoalLifecycleOptionsV2 {
41
+ readonly goalId?: string;
42
+ readonly objective: string;
43
+ readonly budget: GoalLifecycleBudgetV2;
44
+ readonly clock?: () => number;
45
+ readonly state?: GoalLifecycleStateV2;
46
+ }
47
+ /**
48
+ * Long-lived Goal owner for lifecycle, budget and continuation only.
49
+ * Task criteria, evidence and completion remain exclusively in TaskContext.
50
+ */
51
+ export declare class GoalLifecycleServiceV2 {
52
+ readonly serviceId: "goal-lifecycle";
53
+ private stateValue;
54
+ private readonly clock;
55
+ constructor(options: GoalLifecycleOptionsV2);
56
+ get state(): GoalLifecycleStateV2;
57
+ finalizeTurn(observation: GoalTurnObservationV2): GoalTurnResolutionV2;
58
+ pause(message?: string): GoalLifecycleStateV2;
59
+ resume(): GoalLifecycleStateV2;
60
+ private transition;
61
+ }
62
+ export declare function assertGoalLifecycleStateV2(state: GoalLifecycleStateV2): void;
63
+ //# sourceMappingURL=goal-lifecycle-v2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-lifecycle-v2.d.ts","sourceRoot":"","sources":["../../src/runtime/goal-lifecycle-v2.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAI9E,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEjF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,YAAY,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC;IACxC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,+BAA+B,CAAC;IACjE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAKD;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,QAAQ,CAAC,SAAS,EAAG,gBAAgB,CAAU;IAC/C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,OAAO,EAAE,sBAAsB;IA6B3C,IAAI,KAAK,IAAI,oBAAoB,CAEhC;IAED,YAAY,CAAC,WAAW,EAAE,qBAAqB,GAAG,oBAAoB;IA+HtE,KAAK,CAAC,OAAO,SAAyB,GAAG,oBAAoB;IAK7D,MAAM,IAAI,oBAAoB;IAe9B,OAAO,CAAC,UAAU;CAwBnB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAuB5E"}
@@ -0,0 +1,253 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GoalLifecycleServiceV2 = void 0;
4
+ exports.assertGoalLifecycleStateV2 = assertGoalLifecycleStateV2;
5
+ const crypto_1 = require("crypto");
6
+ const stop_decision_1 = require("../framework/stop-decision");
7
+ const canonical_1 = require("./protocol/canonical");
8
+ const runtime_protocol_v1_1 = require("./protocol/runtime-protocol-v1");
9
+ const MAX_NO_PROGRESS_TURNS = 3;
10
+ const MAX_BLOCKED_CONTINUATIONS = 2;
11
+ /**
12
+ * Long-lived Goal owner for lifecycle, budget and continuation only.
13
+ * Task criteria, evidence and completion remain exclusively in TaskContext.
14
+ */
15
+ class GoalLifecycleServiceV2 {
16
+ constructor(options) {
17
+ this.serviceId = 'goal-lifecycle';
18
+ this.clock = options.clock ?? Date.now;
19
+ if (options.state) {
20
+ assertGoalLifecycleStateV2(options.state);
21
+ this.stateValue = deepFreeze(structuredClone(options.state));
22
+ return;
23
+ }
24
+ const objective = options.objective.trim();
25
+ validateBudget(options.budget);
26
+ if (!objective)
27
+ throw new Error('Goal objective must not be empty');
28
+ const now = this.clock();
29
+ this.stateValue = withDigest({
30
+ version: 2,
31
+ goalId: options.goalId ?? (0, crypto_1.randomUUID)(),
32
+ objective,
33
+ status: 'active',
34
+ generation: 1,
35
+ continuationCount: 0,
36
+ noProgressCount: 0,
37
+ blockedCount: 0,
38
+ tokensUsed: 0,
39
+ elapsedMs: 0,
40
+ budget: structuredClone(options.budget),
41
+ createdAt: now,
42
+ updatedAt: now,
43
+ });
44
+ assertGoalLifecycleStateV2(this.stateValue);
45
+ }
46
+ get state() {
47
+ return deepFreeze(structuredClone(this.stateValue));
48
+ }
49
+ finalizeTurn(observation) {
50
+ if (this.stateValue.status !== 'active') {
51
+ return {
52
+ state: this.state,
53
+ scheduleContinuation: false,
54
+ decision: this.stateValue.lastStopDecision,
55
+ };
56
+ }
57
+ validateObservation(observation);
58
+ const tokensUsed = this.stateValue.tokensUsed + observation.tokenDelta;
59
+ const elapsedMs = this.stateValue.elapsedMs + observation.elapsedMs;
60
+ const continuationCount = this.stateValue.continuationCount + 1;
61
+ const noProgressCount = observation.madeProgress ? 0 : this.stateValue.noProgressCount + 1;
62
+ const blockedCount = observation.blocked ? this.stateValue.blockedCount + 1 : 0;
63
+ const resourceSnapshot = {
64
+ turns: { used: continuationCount },
65
+ tokens: { used: tokensUsed, limit: this.stateValue.budget.maxTokens },
66
+ elapsedMs: { used: elapsedMs, limit: this.stateValue.budget.maxElapsedMs },
67
+ };
68
+ let status = 'active';
69
+ let decision;
70
+ if (observation.persistenceFailure) {
71
+ status = 'failed';
72
+ decision = goalDecision('failed', 'pause_scope', 'persistence_error', observation.persistenceFailure, resourceSnapshot);
73
+ }
74
+ else if (observation.aborted || observation.requestDecision?.status === 'cancelled') {
75
+ status = 'paused';
76
+ decision = goalDecision('cancelled', 'pause_scope', 'user_abort', 'Goal paused after an interrupt.', resourceSnapshot);
77
+ }
78
+ else if (observation.requestDecision?.status === 'failed' &&
79
+ isProviderFailure(observation.requestDecision)) {
80
+ status = 'paused';
81
+ decision = goalDecision('failed', 'pause_scope', 'provider_failure', observation.requestDecision.reason.message, resourceSnapshot);
82
+ }
83
+ else if (tokensUsed >= this.stateValue.budget.maxTokens ||
84
+ elapsedMs >= this.stateValue.budget.maxElapsedMs) {
85
+ status = 'paused';
86
+ decision = goalDecision('stopped', 'pause_scope', 'goal_budget', 'Goal budget reached. Raise the explicit budget before resuming.', resourceSnapshot);
87
+ }
88
+ else if (observation.taskContextCompletion?.canComplete === true) {
89
+ status = 'completed';
90
+ decision = (0, stop_decision_1.createStopDecision)({
91
+ scope: 'goal',
92
+ status: 'completed',
93
+ disposition: 'finish_scope',
94
+ reason: { code: 'verified_completion', message: 'TaskContext verified every criterion.' },
95
+ evidence: observation.taskContextCompletion.evidence.map(ref => ({
96
+ kind: 'verification',
97
+ source: 'task-context',
98
+ detail: ref,
99
+ })),
100
+ evidenceRefs: [...observation.taskContextCompletion.evidence],
101
+ criterionStates: observation.taskContextCompletion.criterionResults?.map(result => ({
102
+ id: result.criterionId,
103
+ status: result.status,
104
+ })),
105
+ nextActions: [{ kind: 'inspect', label: 'Inspect the durable completion receipt.' }],
106
+ resources: resourceSnapshot,
107
+ });
108
+ }
109
+ else if (blockedCount >= MAX_BLOCKED_CONTINUATIONS) {
110
+ status = 'paused';
111
+ decision = goalDecision('blocked', 'pause_scope', 'blocked', observation.blocked ?? 'Goal remained blocked.', resourceSnapshot);
112
+ }
113
+ else if (noProgressCount >= MAX_NO_PROGRESS_TURNS) {
114
+ status = 'paused';
115
+ decision = goalDecision('stopped', 'pause_scope', 'no_progress', `Goal made no observable progress for ${MAX_NO_PROGRESS_TURNS} turns.`, resourceSnapshot);
116
+ }
117
+ this.stateValue = withDigest({
118
+ version: 2,
119
+ goalId: this.stateValue.goalId,
120
+ objective: this.stateValue.objective,
121
+ status,
122
+ generation: this.stateValue.generation,
123
+ continuationCount,
124
+ noProgressCount,
125
+ blockedCount,
126
+ tokensUsed,
127
+ elapsedMs,
128
+ budget: structuredClone(this.stateValue.budget),
129
+ ...(decision ? { lastStopDecision: decision } : {}),
130
+ createdAt: this.stateValue.createdAt,
131
+ updatedAt: Math.max(this.stateValue.updatedAt + 1, this.clock()),
132
+ });
133
+ return {
134
+ state: this.state,
135
+ scheduleContinuation: status === 'active',
136
+ ...(decision ? { decision } : {}),
137
+ };
138
+ }
139
+ pause(message = 'Goal paused by user.') {
140
+ if (this.stateValue.status !== 'active')
141
+ return this.state;
142
+ return this.transition('paused', 'user_pause', message);
143
+ }
144
+ resume() {
145
+ if (this.stateValue.status !== 'paused')
146
+ return this.state;
147
+ const content = {
148
+ ...withoutDigest(this.stateValue),
149
+ status: 'active',
150
+ generation: this.stateValue.generation + 1,
151
+ noProgressCount: 0,
152
+ blockedCount: 0,
153
+ updatedAt: Math.max(this.stateValue.updatedAt + 1, this.clock()),
154
+ };
155
+ delete content.lastStopDecision;
156
+ this.stateValue = withDigest(content);
157
+ return this.state;
158
+ }
159
+ transition(status, code, message) {
160
+ const decision = goalDecision(status === 'failed' ? 'failed' : 'stopped', 'pause_scope', code, message, {
161
+ turns: { used: this.stateValue.continuationCount },
162
+ tokens: { used: this.stateValue.tokensUsed, limit: this.stateValue.budget.maxTokens },
163
+ elapsedMs: { used: this.stateValue.elapsedMs, limit: this.stateValue.budget.maxElapsedMs },
164
+ });
165
+ this.stateValue = withDigest({
166
+ ...withoutDigest(this.stateValue),
167
+ status,
168
+ lastStopDecision: decision,
169
+ updatedAt: Math.max(this.stateValue.updatedAt + 1, this.clock()),
170
+ });
171
+ return this.state;
172
+ }
173
+ }
174
+ exports.GoalLifecycleServiceV2 = GoalLifecycleServiceV2;
175
+ function assertGoalLifecycleStateV2(state) {
176
+ const { digest, ...content } = state;
177
+ if (state.version !== 2 ||
178
+ !(0, runtime_protocol_v1_1.isRuntimeId)(state.goalId) ||
179
+ !state.objective.trim() ||
180
+ (0, canonical_1.digestRuntimeValue)(content) !== digest) {
181
+ throw new Error('GoalLifecycleStateV2 failed integrity validation');
182
+ }
183
+ validateBudget(state.budget);
184
+ for (const value of [
185
+ state.generation,
186
+ state.continuationCount,
187
+ state.noProgressCount,
188
+ state.blockedCount,
189
+ state.tokensUsed,
190
+ state.elapsedMs,
191
+ ]) {
192
+ if (!Number.isSafeInteger(value) || value < 0) {
193
+ throw new Error('Goal lifecycle counters must be non-negative safe integers');
194
+ }
195
+ }
196
+ }
197
+ function goalDecision(status, disposition, code, message, resources) {
198
+ return (0, stop_decision_1.createStopDecision)({
199
+ scope: 'goal',
200
+ status,
201
+ disposition,
202
+ reason: { code, message },
203
+ evidence: [{ kind: 'runtime', source: 'goal-lifecycle-v2', detail: message }],
204
+ nextActions: [
205
+ { kind: 'inspect', label: 'Inspect the durable Goal state.' },
206
+ {
207
+ kind: 'resume',
208
+ label: 'Resume after resolving the stop condition.',
209
+ command: '/goal resume',
210
+ },
211
+ ],
212
+ resources,
213
+ });
214
+ }
215
+ function isProviderFailure(decision) {
216
+ return (decision.evidence.some(item => item.kind === 'provider') ||
217
+ /provider|network|auth|rate.?limit/iu.test(decision.reason.code));
218
+ }
219
+ function validateBudget(budget) {
220
+ if (!Number.isSafeInteger(budget.maxTokens) ||
221
+ budget.maxTokens <= 0 ||
222
+ !Number.isSafeInteger(budget.maxElapsedMs) ||
223
+ budget.maxElapsedMs <= 0) {
224
+ throw new Error('Goal budget values must be positive safe integers');
225
+ }
226
+ }
227
+ function validateObservation(observation) {
228
+ for (const [name, value] of [
229
+ ['tokenDelta', observation.tokenDelta],
230
+ ['elapsedMs', observation.elapsedMs],
231
+ ]) {
232
+ if (!Number.isSafeInteger(value) || value < 0) {
233
+ throw new Error(`${name} must be a non-negative safe integer`);
234
+ }
235
+ }
236
+ }
237
+ function withDigest(content) {
238
+ return deepFreeze({ ...content, digest: (0, canonical_1.digestRuntimeValue)(content) });
239
+ }
240
+ function withoutDigest(state) {
241
+ const { digest: _digest, ...content } = state;
242
+ void _digest;
243
+ return structuredClone(content);
244
+ }
245
+ function deepFreeze(value) {
246
+ if (typeof value !== 'object' || value === null || Object.isFrozen(value))
247
+ return value;
248
+ Object.freeze(value);
249
+ for (const entry of Object.values(value))
250
+ deepFreeze(entry);
251
+ return value;
252
+ }
253
+ //# sourceMappingURL=goal-lifecycle-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-lifecycle-v2.js","sourceRoot":"","sources":["../../src/runtime/goal-lifecycle-v2.ts"],"names":[],"mappings":"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"}