@orion-agents/orion-code 0.1.9 → 0.2.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 (732) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +142 -323
  3. package/README.zh-CN.md +117 -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.map +1 -1
  38. package/dist/commands/session-command-handlers.js +29 -205
  39. package/dist/commands/session-command-handlers.js.map +1 -1
  40. package/dist/commands/session-commands.d.ts.map +1 -1
  41. package/dist/commands/session-commands.js +0 -48
  42. package/dist/commands/session-commands.js.map +1 -1
  43. package/dist/commands/target-command.d.ts +9 -15
  44. package/dist/commands/target-command.d.ts.map +1 -1
  45. package/dist/commands/target-command.js +16 -130
  46. package/dist/commands/target-command.js.map +1 -1
  47. package/dist/commands/tool-commands.d.ts.map +1 -1
  48. package/dist/commands/tool-commands.js +0 -10
  49. package/dist/commands/tool-commands.js.map +1 -1
  50. package/dist/commands/types.d.ts +8 -14
  51. package/dist/commands/types.d.ts.map +1 -1
  52. package/dist/commands/types.js +1 -1
  53. package/dist/commands/types.js.map +1 -1
  54. package/dist/commands/workflow-command-handlers.d.ts.map +1 -1
  55. package/dist/commands/workflow-command-handlers.js +1 -3
  56. package/dist/commands/workflow-command-handlers.js.map +1 -1
  57. package/dist/commands/workflow-commands.d.ts.map +1 -1
  58. package/dist/commands/workflow-commands.js +2 -24
  59. package/dist/commands/workflow-commands.js.map +1 -1
  60. package/dist/framework/agent-mode.d.ts +2 -3
  61. package/dist/framework/agent-mode.d.ts.map +1 -1
  62. package/dist/framework/agent-mode.js +8 -31
  63. package/dist/framework/agent-mode.js.map +1 -1
  64. package/dist/framework/index.d.ts +3 -3
  65. package/dist/framework/index.d.ts.map +1 -1
  66. package/dist/framework/index.js +6 -9
  67. package/dist/framework/index.js.map +1 -1
  68. package/dist/framework/loop-budget-contract.d.ts +20 -0
  69. package/dist/framework/loop-budget-contract.d.ts.map +1 -0
  70. package/dist/framework/loop-budget-contract.js +13 -0
  71. package/dist/framework/loop-budget-contract.js.map +1 -0
  72. package/dist/framework/prompt.d.ts.map +1 -1
  73. package/dist/framework/prompt.js +5 -4
  74. package/dist/framework/prompt.js.map +1 -1
  75. package/dist/framework/query.d.ts +45 -22
  76. package/dist/framework/query.d.ts.map +1 -1
  77. package/dist/framework/query.js +64 -52
  78. package/dist/framework/query.js.map +1 -1
  79. package/dist/framework/store.d.ts +4 -2
  80. package/dist/framework/store.d.ts.map +1 -1
  81. package/dist/framework/store.js +1 -0
  82. package/dist/framework/store.js.map +1 -1
  83. package/dist/framework/tool-call-orchestrator.d.ts +80 -0
  84. package/dist/framework/tool-call-orchestrator.d.ts.map +1 -0
  85. package/dist/framework/tool-call-orchestrator.js +192 -0
  86. package/dist/framework/tool-call-orchestrator.js.map +1 -0
  87. package/dist/framework/tool-state.d.ts +12 -11
  88. package/dist/framework/tool-state.d.ts.map +1 -1
  89. package/dist/framework/tool-state.js +36 -28
  90. package/dist/framework/tool-state.js.map +1 -1
  91. package/dist/framework/tool.d.ts +0 -9
  92. package/dist/framework/tool.d.ts.map +1 -1
  93. package/dist/framework/tool.js.map +1 -1
  94. package/dist/index.d.ts +70 -26
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +64 -65
  97. package/dist/index.js.map +1 -1
  98. package/dist/print-ui/launch.d.ts.map +1 -1
  99. package/dist/print-ui/launch.js +9 -2
  100. package/dist/print-ui/launch.js.map +1 -1
  101. package/dist/product/paths.d.ts +7 -0
  102. package/dist/product/paths.d.ts.map +1 -1
  103. package/dist/product/paths.js +19 -0
  104. package/dist/product/paths.js.map +1 -1
  105. package/dist/runtime/agent-loop.d.ts +78 -0
  106. package/dist/runtime/agent-loop.d.ts.map +1 -0
  107. package/dist/runtime/agent-loop.js +418 -0
  108. package/dist/runtime/agent-loop.js.map +1 -0
  109. package/dist/runtime/agent-runtime-controller.d.ts +10 -57
  110. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  111. package/dist/runtime/agent-runtime-controller.js +265 -1215
  112. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  113. package/dist/runtime/agent-runtime-protocol.d.ts +4 -5
  114. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  115. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  116. package/dist/runtime/agent-runtime-runner.d.ts +34 -0
  117. package/dist/runtime/agent-runtime-runner.d.ts.map +1 -0
  118. package/dist/runtime/agent-runtime-runner.js +3 -0
  119. package/dist/runtime/agent-runtime-runner.js.map +1 -0
  120. package/dist/runtime/batch-read-service.d.ts +29 -0
  121. package/dist/runtime/batch-read-service.d.ts.map +1 -0
  122. package/dist/runtime/batch-read-service.js +212 -0
  123. package/dist/runtime/batch-read-service.js.map +1 -0
  124. package/dist/runtime/builtin-tool-provider.d.ts +30 -0
  125. package/dist/runtime/builtin-tool-provider.d.ts.map +1 -0
  126. package/dist/runtime/builtin-tool-provider.js +233 -0
  127. package/dist/runtime/builtin-tool-provider.js.map +1 -0
  128. package/dist/runtime/capabilities/compiler.d.ts +11 -0
  129. package/dist/runtime/capabilities/compiler.d.ts.map +1 -0
  130. package/dist/runtime/capabilities/compiler.js +719 -0
  131. package/dist/runtime/capabilities/compiler.js.map +1 -0
  132. package/dist/runtime/capabilities/index.d.ts +3 -0
  133. package/dist/runtime/capabilities/index.d.ts.map +1 -0
  134. package/dist/runtime/capabilities/index.js +9 -0
  135. package/dist/runtime/capabilities/index.js.map +1 -0
  136. package/dist/runtime/capabilities/types.d.ts +175 -0
  137. package/dist/runtime/capabilities/types.d.ts.map +1 -0
  138. package/dist/runtime/capabilities/types.js +3 -0
  139. package/dist/runtime/capabilities/types.js.map +1 -0
  140. package/dist/runtime/capability-receipt-journal.d.ts +29 -0
  141. package/dist/runtime/capability-receipt-journal.d.ts.map +1 -0
  142. package/dist/runtime/capability-receipt-journal.js +264 -0
  143. package/dist/runtime/capability-receipt-journal.js.map +1 -0
  144. package/dist/runtime/capability-step-factory.d.ts +73 -0
  145. package/dist/runtime/capability-step-factory.d.ts.map +1 -0
  146. package/dist/runtime/capability-step-factory.js +302 -0
  147. package/dist/runtime/capability-step-factory.js.map +1 -0
  148. package/dist/runtime/compact-transaction.d.ts +225 -0
  149. package/dist/runtime/compact-transaction.d.ts.map +1 -0
  150. package/dist/runtime/compact-transaction.js +622 -0
  151. package/dist/runtime/compact-transaction.js.map +1 -0
  152. package/dist/runtime/composer/buffer.d.ts +3 -4
  153. package/dist/runtime/composer/buffer.d.ts.map +1 -1
  154. package/dist/runtime/composer/buffer.js +3 -4
  155. package/dist/runtime/composer/buffer.js.map +1 -1
  156. package/dist/runtime/composer/grapheme.d.ts +2 -4
  157. package/dist/runtime/composer/grapheme.d.ts.map +1 -1
  158. package/dist/runtime/composer/grapheme.js +2 -4
  159. package/dist/runtime/composer/grapheme.js.map +1 -1
  160. package/dist/runtime/composer/layout.d.ts +1 -3
  161. package/dist/runtime/composer/layout.d.ts.map +1 -1
  162. package/dist/runtime/composer/layout.js +1 -3
  163. package/dist/runtime/composer/layout.js.map +1 -1
  164. package/dist/runtime/core-tools/descriptors.d.ts +17 -0
  165. package/dist/runtime/core-tools/descriptors.d.ts.map +1 -0
  166. package/dist/runtime/core-tools/descriptors.js +185 -0
  167. package/dist/runtime/core-tools/descriptors.js.map +1 -0
  168. package/dist/runtime/first-party-core-provider.d.ts +55 -0
  169. package/dist/runtime/first-party-core-provider.d.ts.map +1 -0
  170. package/dist/runtime/first-party-core-provider.js +197 -0
  171. package/dist/runtime/first-party-core-provider.js.map +1 -0
  172. package/dist/runtime/first-party-long-tail-provider.d.ts +57 -0
  173. package/dist/runtime/first-party-long-tail-provider.d.ts.map +1 -0
  174. package/dist/runtime/first-party-long-tail-provider.js +238 -0
  175. package/dist/runtime/first-party-long-tail-provider.js.map +1 -0
  176. package/dist/runtime/first-party-tool-services.d.ts +43 -0
  177. package/dist/runtime/first-party-tool-services.d.ts.map +1 -0
  178. package/dist/runtime/first-party-tool-services.js +200 -0
  179. package/dist/runtime/first-party-tool-services.js.map +1 -0
  180. package/dist/runtime/first-party-tool-universe.d.ts +14 -0
  181. package/dist/runtime/first-party-tool-universe.d.ts.map +1 -0
  182. package/dist/runtime/first-party-tool-universe.js +20 -0
  183. package/dist/runtime/first-party-tool-universe.js.map +1 -0
  184. package/dist/runtime/goal-lifecycle-v2.d.ts +63 -0
  185. package/dist/runtime/goal-lifecycle-v2.d.ts.map +1 -0
  186. package/dist/runtime/goal-lifecycle-v2.js +253 -0
  187. package/dist/runtime/goal-lifecycle-v2.js.map +1 -0
  188. package/dist/runtime/goal-runtime-coordinator.d.ts +105 -0
  189. package/dist/runtime/goal-runtime-coordinator.d.ts.map +1 -0
  190. package/dist/runtime/goal-runtime-coordinator.js +506 -0
  191. package/dist/runtime/goal-runtime-coordinator.js.map +1 -0
  192. package/dist/runtime/harness-confluence.d.ts +165 -0
  193. package/dist/runtime/harness-confluence.d.ts.map +1 -0
  194. package/dist/runtime/harness-confluence.js +807 -0
  195. package/dist/runtime/harness-confluence.js.map +1 -0
  196. package/dist/runtime/harness-eval.d.ts +96 -0
  197. package/dist/runtime/harness-eval.d.ts.map +1 -0
  198. package/dist/runtime/harness-eval.js +181 -0
  199. package/dist/runtime/harness-eval.js.map +1 -0
  200. package/dist/runtime/harness-metrics.d.ts +202 -0
  201. package/dist/runtime/harness-metrics.d.ts.map +1 -0
  202. package/dist/runtime/harness-metrics.js +415 -0
  203. package/dist/runtime/harness-metrics.js.map +1 -0
  204. package/dist/runtime/legacy-session-importer.d.ts +99 -0
  205. package/dist/runtime/legacy-session-importer.d.ts.map +1 -0
  206. package/dist/runtime/legacy-session-importer.js +455 -0
  207. package/dist/runtime/legacy-session-importer.js.map +1 -0
  208. package/dist/runtime/legacy-thread-materializer.d.ts +72 -0
  209. package/dist/runtime/legacy-thread-materializer.d.ts.map +1 -0
  210. package/dist/runtime/legacy-thread-materializer.js +553 -0
  211. package/dist/runtime/legacy-thread-materializer.js.map +1 -0
  212. package/dist/runtime/long-tail-tools/descriptors.d.ts +23 -0
  213. package/dist/runtime/long-tail-tools/descriptors.d.ts.map +1 -0
  214. package/dist/runtime/long-tail-tools/descriptors.js +423 -0
  215. package/dist/runtime/long-tail-tools/descriptors.js.map +1 -0
  216. package/dist/runtime/loop-budget.d.ts +1 -1
  217. package/dist/runtime/loop-budget.d.ts.map +1 -1
  218. package/dist/runtime/loop-budget.js +2 -2
  219. package/dist/runtime/loop-budget.js.map +1 -1
  220. package/dist/runtime/mcp/first-party-mcp-adapter.d.ts +75 -0
  221. package/dist/runtime/mcp/first-party-mcp-adapter.d.ts.map +1 -0
  222. package/dist/runtime/mcp/first-party-mcp-adapter.js +484 -0
  223. package/dist/runtime/mcp/first-party-mcp-adapter.js.map +1 -0
  224. package/dist/runtime/mcp/first-party-mcp-config.d.ts +13 -0
  225. package/dist/runtime/mcp/first-party-mcp-config.d.ts.map +1 -0
  226. package/dist/runtime/mcp/first-party-mcp-config.js +139 -0
  227. package/dist/runtime/mcp/first-party-mcp-config.js.map +1 -0
  228. package/dist/runtime/mcp/index.d.ts +5 -0
  229. package/dist/runtime/mcp/index.d.ts.map +1 -0
  230. package/dist/{skills → runtime/mcp}/index.js +3 -9
  231. package/dist/runtime/mcp/index.js.map +1 -0
  232. package/dist/runtime/mcp/lazy-mcp-runtime.d.ts +95 -0
  233. package/dist/runtime/mcp/lazy-mcp-runtime.d.ts.map +1 -0
  234. package/dist/runtime/mcp/lazy-mcp-runtime.js +854 -0
  235. package/dist/runtime/mcp/lazy-mcp-runtime.js.map +1 -0
  236. package/dist/runtime/mcp/types.d.ts +128 -0
  237. package/dist/runtime/mcp/types.d.ts.map +1 -0
  238. package/dist/runtime/mcp/types.js +5 -0
  239. package/dist/runtime/mcp/types.js.map +1 -0
  240. package/dist/runtime/orion-runtime-v1.d.ts +321 -0
  241. package/dist/runtime/orion-runtime-v1.d.ts.map +1 -0
  242. package/dist/runtime/orion-runtime-v1.js +958 -0
  243. package/dist/runtime/orion-runtime-v1.js.map +1 -0
  244. package/dist/runtime/orion-session-runner.d.ts +37 -0
  245. package/dist/runtime/orion-session-runner.d.ts.map +1 -0
  246. package/dist/runtime/orion-session-runner.js +146 -0
  247. package/dist/runtime/orion-session-runner.js.map +1 -0
  248. package/dist/runtime/product-orion-runtime.d.ts +35 -0
  249. package/dist/runtime/product-orion-runtime.d.ts.map +1 -0
  250. package/dist/runtime/product-orion-runtime.js +1019 -0
  251. package/dist/runtime/product-orion-runtime.js.map +1 -0
  252. package/dist/runtime/prompts/index.d.ts +3 -0
  253. package/dist/runtime/prompts/index.d.ts.map +1 -0
  254. package/dist/{ink-ui/types.js → runtime/prompts/index.js} +3 -2
  255. package/dist/runtime/prompts/index.js.map +1 -0
  256. package/dist/runtime/prompts/prompt-registry.d.ts +22 -0
  257. package/dist/runtime/prompts/prompt-registry.d.ts.map +1 -0
  258. package/dist/runtime/prompts/prompt-registry.js +356 -0
  259. package/dist/runtime/prompts/prompt-registry.js.map +1 -0
  260. package/dist/runtime/prompts/types.d.ts +111 -0
  261. package/dist/runtime/prompts/types.d.ts.map +1 -0
  262. package/dist/runtime/prompts/types.js +5 -0
  263. package/dist/runtime/prompts/types.js.map +1 -0
  264. package/dist/runtime/protocol/canonical.d.ts +3 -0
  265. package/dist/runtime/protocol/canonical.d.ts.map +1 -0
  266. package/dist/runtime/protocol/canonical.js +21 -0
  267. package/dist/runtime/protocol/canonical.js.map +1 -0
  268. package/dist/runtime/protocol/index.d.ts +4 -0
  269. package/dist/runtime/protocol/index.d.ts.map +1 -0
  270. package/dist/runtime/protocol/index.js +16 -0
  271. package/dist/runtime/protocol/index.js.map +1 -0
  272. package/dist/runtime/protocol/runtime-protocol-v1.d.ts +671 -0
  273. package/dist/runtime/protocol/runtime-protocol-v1.d.ts.map +1 -0
  274. package/dist/runtime/protocol/runtime-protocol-v1.js +557 -0
  275. package/dist/runtime/protocol/runtime-protocol-v1.js.map +1 -0
  276. package/dist/runtime/release-receipts.d.ts +109 -0
  277. package/dist/runtime/release-receipts.d.ts.map +1 -0
  278. package/dist/runtime/release-receipts.js +304 -0
  279. package/dist/runtime/release-receipts.js.map +1 -0
  280. package/dist/runtime/resource-scope.d.ts +123 -0
  281. package/dist/runtime/resource-scope.d.ts.map +1 -0
  282. package/dist/runtime/resource-scope.js +363 -0
  283. package/dist/runtime/resource-scope.js.map +1 -0
  284. package/dist/runtime/runtime-event-buffer.d.ts +78 -0
  285. package/dist/runtime/runtime-event-buffer.d.ts.map +1 -0
  286. package/dist/runtime/runtime-event-buffer.js +237 -0
  287. package/dist/runtime/runtime-event-buffer.js.map +1 -0
  288. package/dist/runtime/runtime-services.d.ts +87 -0
  289. package/dist/runtime/runtime-services.d.ts.map +1 -0
  290. package/dist/runtime/runtime-services.js +180 -0
  291. package/dist/runtime/runtime-services.js.map +1 -0
  292. package/dist/runtime/skills/bounded-lru-cache.d.ts +34 -0
  293. package/dist/runtime/skills/bounded-lru-cache.d.ts.map +1 -0
  294. package/dist/runtime/skills/bounded-lru-cache.js +100 -0
  295. package/dist/runtime/skills/bounded-lru-cache.js.map +1 -0
  296. package/dist/runtime/skills/filesystem-skill-provider.d.ts +96 -0
  297. package/dist/runtime/skills/filesystem-skill-provider.d.ts.map +1 -0
  298. package/dist/runtime/skills/filesystem-skill-provider.js +829 -0
  299. package/dist/runtime/skills/filesystem-skill-provider.js.map +1 -0
  300. package/dist/runtime/skills/index.d.ts +5 -0
  301. package/dist/runtime/skills/index.d.ts.map +1 -0
  302. package/dist/{ink-ui/controllers/chat-controller.js → runtime/skills/index.js} +5 -2
  303. package/dist/runtime/skills/index.js.map +1 -0
  304. package/dist/runtime/skills/lazy-skill-runtime.d.ts +77 -0
  305. package/dist/runtime/skills/lazy-skill-runtime.d.ts.map +1 -0
  306. package/dist/runtime/skills/lazy-skill-runtime.js +673 -0
  307. package/dist/runtime/skills/lazy-skill-runtime.js.map +1 -0
  308. package/dist/runtime/skills/types.d.ts +137 -0
  309. package/dist/runtime/skills/types.d.ts.map +1 -0
  310. package/dist/runtime/skills/types.js +13 -0
  311. package/dist/runtime/skills/types.js.map +1 -0
  312. package/dist/runtime/step-snapshot.d.ts +183 -0
  313. package/dist/runtime/step-snapshot.d.ts.map +1 -0
  314. package/dist/runtime/step-snapshot.js +286 -0
  315. package/dist/runtime/step-snapshot.js.map +1 -0
  316. package/dist/runtime/subagent-thread-runtime.d.ts +239 -0
  317. package/dist/runtime/subagent-thread-runtime.d.ts.map +1 -0
  318. package/dist/runtime/subagent-thread-runtime.js +876 -0
  319. package/dist/runtime/subagent-thread-runtime.js.map +1 -0
  320. package/dist/runtime/subagents/index.d.ts +4 -1
  321. package/dist/runtime/subagents/index.d.ts.map +1 -1
  322. package/dist/runtime/subagents/index.js +10 -2
  323. package/dist/runtime/subagents/index.js.map +1 -1
  324. package/dist/runtime/subagents/parent-step-fork.d.ts +36 -0
  325. package/dist/runtime/subagents/parent-step-fork.d.ts.map +1 -0
  326. package/dist/runtime/subagents/parent-step-fork.js +83 -0
  327. package/dist/runtime/subagents/parent-step-fork.js.map +1 -0
  328. package/dist/runtime/subagents/production.d.ts +65 -46
  329. package/dist/runtime/subagents/production.d.ts.map +1 -1
  330. package/dist/runtime/subagents/production.js +494 -170
  331. package/dist/runtime/subagents/production.js.map +1 -1
  332. package/dist/runtime/subagents/receipt-journal.d.ts +20 -0
  333. package/dist/runtime/subagents/receipt-journal.d.ts.map +1 -0
  334. package/dist/runtime/subagents/receipt-journal.js +74 -0
  335. package/dist/runtime/subagents/receipt-journal.js.map +1 -0
  336. package/dist/runtime/subagents/runtime-contract.d.ts +29 -0
  337. package/dist/runtime/subagents/runtime-contract.d.ts.map +1 -0
  338. package/dist/runtime/subagents/runtime-contract.js +3 -0
  339. package/dist/runtime/subagents/runtime-contract.js.map +1 -0
  340. package/dist/runtime/subagents/runtime-integration.d.ts +41 -56
  341. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  342. package/dist/runtime/subagents/runtime-integration.js +34 -198
  343. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  344. package/dist/runtime/subagents/supervisor.d.ts +19 -7
  345. package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
  346. package/dist/runtime/subagents/supervisor.js +83 -40
  347. package/dist/runtime/subagents/supervisor.js.map +1 -1
  348. package/dist/runtime/subagents/types.d.ts +1 -1
  349. package/dist/runtime/subagents/types.js +1 -1
  350. package/dist/runtime/task-context-service.d.ts +91 -0
  351. package/dist/runtime/task-context-service.d.ts.map +1 -0
  352. package/dist/runtime/task-context-service.js +122 -0
  353. package/dist/runtime/task-context-service.js.map +1 -0
  354. package/dist/runtime/thread-admission.d.ts +130 -0
  355. package/dist/runtime/thread-admission.d.ts.map +1 -0
  356. package/dist/runtime/thread-admission.js +276 -0
  357. package/dist/runtime/thread-admission.js.map +1 -0
  358. package/dist/runtime/thread-compact-persistence.d.ts +50 -0
  359. package/dist/runtime/thread-compact-persistence.d.ts.map +1 -0
  360. package/dist/runtime/thread-compact-persistence.js +176 -0
  361. package/dist/runtime/thread-compact-persistence.js.map +1 -0
  362. package/dist/runtime/thread-event-store.d.ts +98 -0
  363. package/dist/runtime/thread-event-store.d.ts.map +1 -0
  364. package/dist/runtime/thread-event-store.js +737 -0
  365. package/dist/runtime/thread-event-store.js.map +1 -0
  366. package/dist/runtime/thread-projection.d.ts +91 -0
  367. package/dist/runtime/thread-projection.d.ts.map +1 -0
  368. package/dist/runtime/thread-projection.js +407 -0
  369. package/dist/runtime/thread-projection.js.map +1 -0
  370. package/dist/runtime/thread-runtime.d.ts +165 -0
  371. package/dist/runtime/thread-runtime.d.ts.map +1 -0
  372. package/dist/runtime/thread-runtime.js +704 -0
  373. package/dist/runtime/thread-runtime.js.map +1 -0
  374. package/dist/runtime/thread-tool-journal.d.ts +11 -0
  375. package/dist/runtime/thread-tool-journal.d.ts.map +1 -0
  376. package/dist/runtime/thread-tool-journal.js +131 -0
  377. package/dist/runtime/thread-tool-journal.js.map +1 -0
  378. package/dist/runtime/thread-ui-adapter.d.ts +85 -0
  379. package/dist/runtime/thread-ui-adapter.d.ts.map +1 -0
  380. package/dist/runtime/thread-ui-adapter.js +514 -0
  381. package/dist/runtime/thread-ui-adapter.js.map +1 -0
  382. package/dist/runtime/tool-gateway.d.ts +159 -0
  383. package/dist/runtime/tool-gateway.d.ts.map +1 -0
  384. package/dist/runtime/tool-gateway.js +311 -0
  385. package/dist/runtime/tool-gateway.js.map +1 -0
  386. package/dist/runtime/turn-commit.d.ts +103 -0
  387. package/dist/runtime/turn-commit.d.ts.map +1 -0
  388. package/dist/runtime/turn-commit.js +321 -0
  389. package/dist/runtime/turn-commit.js.map +1 -0
  390. package/dist/runtime/ui-events.d.ts +13 -5
  391. package/dist/runtime/ui-events.d.ts.map +1 -1
  392. package/dist/runtime/ui-events.js +0 -1
  393. package/dist/runtime/ui-events.js.map +1 -1
  394. package/dist/runtime/ui-view-model.d.ts +1 -1
  395. package/dist/runtime/ui-view-model.d.ts.map +1 -1
  396. package/dist/runtime/ui-view-model.js +3 -5
  397. package/dist/runtime/ui-view-model.js.map +1 -1
  398. package/dist/services/config-dir.d.ts +1 -1
  399. package/dist/services/config-dir.d.ts.map +1 -1
  400. package/dist/services/config-dir.js +2 -1
  401. package/dist/services/config-dir.js.map +1 -1
  402. package/dist/services/config.d.ts +2 -16
  403. package/dist/services/config.d.ts.map +1 -1
  404. package/dist/services/config.js +2 -29
  405. package/dist/services/config.js.map +1 -1
  406. package/dist/services/doctor.d.ts +0 -2
  407. package/dist/services/doctor.d.ts.map +1 -1
  408. package/dist/services/doctor.js +39 -64
  409. package/dist/services/doctor.js.map +1 -1
  410. package/dist/services/global-config.d.ts +2 -2
  411. package/dist/services/global-config.d.ts.map +1 -1
  412. package/dist/skills/builtin/code-review/SKILL.md +51 -0
  413. package/dist/skills/builtin/security-check/SKILL.md +54 -0
  414. package/dist/skills/builtin/test-gen/SKILL.md +49 -0
  415. package/dist/terminal-ui/launch.d.ts +3 -1
  416. package/dist/terminal-ui/launch.d.ts.map +1 -1
  417. package/dist/terminal-ui/launch.js +19 -3
  418. package/dist/terminal-ui/launch.js.map +1 -1
  419. package/dist/tools/core/common.d.ts +34 -0
  420. package/dist/tools/core/common.d.ts.map +1 -0
  421. package/dist/tools/core/common.js +164 -0
  422. package/dist/tools/core/common.js.map +1 -0
  423. package/dist/tools/core/edit-file.d.ts +10 -0
  424. package/dist/tools/core/edit-file.d.ts.map +1 -0
  425. package/dist/tools/core/edit-file.js +301 -0
  426. package/dist/tools/core/edit-file.js.map +1 -0
  427. package/dist/tools/core/exec-command.d.ts +2 -0
  428. package/dist/tools/core/exec-command.d.ts.map +1 -0
  429. package/dist/tools/core/exec-command.js +347 -0
  430. package/dist/tools/core/exec-command.js.map +1 -0
  431. package/dist/tools/core/glob.d.ts +2 -0
  432. package/dist/tools/core/glob.d.ts.map +1 -0
  433. package/dist/tools/core/glob.js +133 -0
  434. package/dist/tools/core/glob.js.map +1 -0
  435. package/dist/tools/core/grep.d.ts +12 -0
  436. package/dist/tools/core/grep.d.ts.map +1 -0
  437. package/dist/tools/core/grep.js +223 -0
  438. package/dist/tools/core/grep.js.map +1 -0
  439. package/dist/tools/core/index.d.ts +15 -0
  440. package/dist/tools/core/index.d.ts.map +1 -0
  441. package/dist/tools/core/index.js +31 -0
  442. package/dist/tools/core/index.js.map +1 -0
  443. package/dist/tools/core/list-files.d.ts +2 -0
  444. package/dist/tools/core/list-files.d.ts.map +1 -0
  445. package/dist/tools/core/list-files.js +87 -0
  446. package/dist/tools/core/list-files.js.map +1 -0
  447. package/dist/tools/core/read-file.d.ts +2 -0
  448. package/dist/tools/core/read-file.d.ts.map +1 -0
  449. package/dist/tools/core/read-file.js +129 -0
  450. package/dist/tools/core/read-file.js.map +1 -0
  451. package/dist/tools/core/write-file.d.ts +2 -0
  452. package/dist/tools/core/write-file.d.ts.map +1 -0
  453. package/dist/tools/core/write-file.js +65 -0
  454. package/dist/tools/core/write-file.js.map +1 -0
  455. package/dist/tools/todo.d.ts +3 -4
  456. package/dist/tools/todo.d.ts.map +1 -1
  457. package/dist/tools/todo.js +80 -79
  458. package/dist/tools/todo.js.map +1 -1
  459. package/dist/tui-ui/chrome-view-model.js +1 -1
  460. package/dist/tui-ui/chrome-view-model.js.map +1 -1
  461. package/dist/tui-ui/layout.js +1 -1
  462. package/dist/tui-ui/layout.js.map +1 -1
  463. package/docs/migration/v0.1.9-to-v0.2.0.md +98 -0
  464. package/docs/orion.example.json +79 -0
  465. package/docs/plan/v0.2.0-dsh-harness-redesign-plan.md +1234 -0
  466. package/docs/plan/v0.2.0-release-checklist.md +91 -0
  467. package/docs/readme.md +8 -8
  468. package/npm-shrinkwrap.json +45 -450
  469. package/package.json +17 -13
  470. package/dist/agents/coder.d.ts +0 -12
  471. package/dist/agents/coder.d.ts.map +0 -1
  472. package/dist/agents/coder.js +0 -48
  473. package/dist/agents/coder.js.map +0 -1
  474. package/dist/agents/coordinator.d.ts +0 -86
  475. package/dist/agents/coordinator.d.ts.map +0 -1
  476. package/dist/agents/coordinator.js +0 -291
  477. package/dist/agents/coordinator.js.map +0 -1
  478. package/dist/agents/fork.d.ts +0 -73
  479. package/dist/agents/fork.d.ts.map +0 -1
  480. package/dist/agents/fork.js +0 -163
  481. package/dist/agents/fork.js.map +0 -1
  482. package/dist/agents/leader.d.ts +0 -12
  483. package/dist/agents/leader.d.ts.map +0 -1
  484. package/dist/agents/leader.js +0 -49
  485. package/dist/agents/leader.js.map +0 -1
  486. package/dist/agents/router.d.ts +0 -59
  487. package/dist/agents/router.d.ts.map +0 -1
  488. package/dist/agents/router.js +0 -193
  489. package/dist/agents/router.js.map +0 -1
  490. package/dist/agents/worker-pool.d.ts +0 -72
  491. package/dist/agents/worker-pool.d.ts.map +0 -1
  492. package/dist/agents/worker-pool.js +0 -229
  493. package/dist/agents/worker-pool.js.map +0 -1
  494. package/dist/commands/legacy-commands.d.ts +0 -4
  495. package/dist/commands/legacy-commands.d.ts.map +0 -1
  496. package/dist/commands/legacy-commands.js +0 -44
  497. package/dist/commands/legacy-commands.js.map +0 -1
  498. package/dist/core/agent.d.ts +0 -84
  499. package/dist/core/agent.d.ts.map +0 -1
  500. package/dist/core/agent.js +0 -58
  501. package/dist/core/agent.js.map +0 -1
  502. package/dist/core/brain.d.ts +0 -50
  503. package/dist/core/brain.d.ts.map +0 -1
  504. package/dist/core/brain.js +0 -95
  505. package/dist/core/brain.js.map +0 -1
  506. package/dist/framework/tool-scheduler.d.ts +0 -191
  507. package/dist/framework/tool-scheduler.d.ts.map +0 -1
  508. package/dist/framework/tool-scheduler.js +0 -573
  509. package/dist/framework/tool-scheduler.js.map +0 -1
  510. package/dist/harness/harness.d.ts +0 -58
  511. package/dist/harness/harness.d.ts.map +0 -1
  512. package/dist/harness/harness.js +0 -195
  513. package/dist/harness/harness.js.map +0 -1
  514. package/dist/harness/safety.d.ts +0 -101
  515. package/dist/harness/safety.d.ts.map +0 -1
  516. package/dist/harness/safety.js +0 -322
  517. package/dist/harness/safety.js.map +0 -1
  518. package/dist/init.d.ts +0 -108
  519. package/dist/init.d.ts.map +0 -1
  520. package/dist/init.js +0 -393
  521. package/dist/init.js.map +0 -1
  522. package/dist/ink-ui/App.d.ts +0 -9
  523. package/dist/ink-ui/App.d.ts.map +0 -1
  524. package/dist/ink-ui/App.js +0 -12
  525. package/dist/ink-ui/App.js.map +0 -1
  526. package/dist/ink-ui/components/Markdown.d.ts +0 -10
  527. package/dist/ink-ui/components/Markdown.d.ts.map +0 -1
  528. package/dist/ink-ui/components/Markdown.js +0 -210
  529. package/dist/ink-ui/components/Markdown.js.map +0 -1
  530. package/dist/ink-ui/components/NativeCursor.d.ts +0 -12
  531. package/dist/ink-ui/components/NativeCursor.d.ts.map +0 -1
  532. package/dist/ink-ui/components/NativeCursor.js +0 -35
  533. package/dist/ink-ui/components/NativeCursor.js.map +0 -1
  534. package/dist/ink-ui/components/PixelHorseBanner.d.ts +0 -8
  535. package/dist/ink-ui/components/PixelHorseBanner.d.ts.map +0 -1
  536. package/dist/ink-ui/components/PixelHorseBanner.js +0 -97
  537. package/dist/ink-ui/components/PixelHorseBanner.js.map +0 -1
  538. package/dist/ink-ui/components/PromptInput.d.ts +0 -13
  539. package/dist/ink-ui/components/PromptInput.d.ts.map +0 -1
  540. package/dist/ink-ui/components/PromptInput.js +0 -30
  541. package/dist/ink-ui/components/PromptInput.js.map +0 -1
  542. package/dist/ink-ui/components/RunningHorseIndicator.d.ts +0 -13
  543. package/dist/ink-ui/components/RunningHorseIndicator.d.ts.map +0 -1
  544. package/dist/ink-ui/components/RunningHorseIndicator.js +0 -53
  545. package/dist/ink-ui/components/RunningHorseIndicator.js.map +0 -1
  546. package/dist/ink-ui/components/SelectList.d.ts +0 -16
  547. package/dist/ink-ui/components/SelectList.d.ts.map +0 -1
  548. package/dist/ink-ui/components/SelectList.js +0 -60
  549. package/dist/ink-ui/components/SelectList.js.map +0 -1
  550. package/dist/ink-ui/components/StatusLine.d.ts +0 -11
  551. package/dist/ink-ui/components/StatusLine.d.ts.map +0 -1
  552. package/dist/ink-ui/components/StatusLine.js +0 -70
  553. package/dist/ink-ui/components/StatusLine.js.map +0 -1
  554. package/dist/ink-ui/components/ToolActivity.d.ts +0 -19
  555. package/dist/ink-ui/components/ToolActivity.d.ts.map +0 -1
  556. package/dist/ink-ui/components/ToolActivity.js +0 -134
  557. package/dist/ink-ui/components/ToolActivity.js.map +0 -1
  558. package/dist/ink-ui/components/Transcript.d.ts +0 -14
  559. package/dist/ink-ui/components/Transcript.d.ts.map +0 -1
  560. package/dist/ink-ui/components/Transcript.js +0 -66
  561. package/dist/ink-ui/components/Transcript.js.map +0 -1
  562. package/dist/ink-ui/controllers/chat-controller.d.ts +0 -2
  563. package/dist/ink-ui/controllers/chat-controller.d.ts.map +0 -1
  564. package/dist/ink-ui/controllers/chat-controller.js.map +0 -1
  565. package/dist/ink-ui/hooks/use-raw-input-bridge.d.ts +0 -6
  566. package/dist/ink-ui/hooks/use-raw-input-bridge.d.ts.map +0 -1
  567. package/dist/ink-ui/hooks/use-raw-input-bridge.js +0 -27
  568. package/dist/ink-ui/hooks/use-raw-input-bridge.js.map +0 -1
  569. package/dist/ink-ui/hooks/use-terminal-size.d.ts +0 -7
  570. package/dist/ink-ui/hooks/use-terminal-size.d.ts.map +0 -1
  571. package/dist/ink-ui/hooks/use-terminal-size.js +0 -34
  572. package/dist/ink-ui/hooks/use-terminal-size.js.map +0 -1
  573. package/dist/ink-ui/launch.d.ts +0 -9
  574. package/dist/ink-ui/launch.d.ts.map +0 -1
  575. package/dist/ink-ui/launch.js +0 -101
  576. package/dist/ink-ui/launch.js.map +0 -1
  577. package/dist/ink-ui/runtime/grapheme.d.ts +0 -10
  578. package/dist/ink-ui/runtime/grapheme.d.ts.map +0 -1
  579. package/dist/ink-ui/runtime/grapheme.js +0 -17
  580. package/dist/ink-ui/runtime/grapheme.js.map +0 -1
  581. package/dist/ink-ui/runtime/input-buffer.d.ts +0 -10
  582. package/dist/ink-ui/runtime/input-buffer.d.ts.map +0 -1
  583. package/dist/ink-ui/runtime/input-buffer.js +0 -18
  584. package/dist/ink-ui/runtime/input-buffer.js.map +0 -1
  585. package/dist/ink-ui/runtime/layout-budget.d.ts +0 -13
  586. package/dist/ink-ui/runtime/layout-budget.d.ts.map +0 -1
  587. package/dist/ink-ui/runtime/layout-budget.js +0 -25
  588. package/dist/ink-ui/runtime/layout-budget.js.map +0 -1
  589. package/dist/ink-ui/runtime/native-cursor.d.ts +0 -62
  590. package/dist/ink-ui/runtime/native-cursor.d.ts.map +0 -1
  591. package/dist/ink-ui/runtime/native-cursor.js +0 -398
  592. package/dist/ink-ui/runtime/native-cursor.js.map +0 -1
  593. package/dist/ink-ui/runtime/prompt-layout.d.ts +0 -10
  594. package/dist/ink-ui/runtime/prompt-layout.d.ts.map +0 -1
  595. package/dist/ink-ui/runtime/prompt-layout.js +0 -21
  596. package/dist/ink-ui/runtime/prompt-layout.js.map +0 -1
  597. package/dist/ink-ui/runtime/raw-input.d.ts +0 -4
  598. package/dist/ink-ui/runtime/raw-input.d.ts.map +0 -1
  599. package/dist/ink-ui/runtime/raw-input.js +0 -15
  600. package/dist/ink-ui/runtime/raw-input.js.map +0 -1
  601. package/dist/ink-ui/runtime/transcript-state.d.ts +0 -37
  602. package/dist/ink-ui/runtime/transcript-state.d.ts.map +0 -1
  603. package/dist/ink-ui/runtime/transcript-state.js +0 -91
  604. package/dist/ink-ui/runtime/transcript-state.js.map +0 -1
  605. package/dist/ink-ui/screens/ReplScreen.d.ts +0 -27
  606. package/dist/ink-ui/screens/ReplScreen.d.ts.map +0 -1
  607. package/dist/ink-ui/screens/ReplScreen.js +0 -781
  608. package/dist/ink-ui/screens/ReplScreen.js.map +0 -1
  609. package/dist/ink-ui/types.d.ts +0 -2
  610. package/dist/ink-ui/types.d.ts.map +0 -1
  611. package/dist/ink-ui/types.js.map +0 -1
  612. package/dist/runtime/chat-checkpoint.d.ts +0 -17
  613. package/dist/runtime/chat-checkpoint.d.ts.map +0 -1
  614. package/dist/runtime/chat-checkpoint.js +0 -105
  615. package/dist/runtime/chat-checkpoint.js.map +0 -1
  616. package/dist/runtime/chat-command-scope.d.ts +0 -5
  617. package/dist/runtime/chat-command-scope.d.ts.map +0 -1
  618. package/dist/runtime/chat-command-scope.js +0 -22
  619. package/dist/runtime/chat-command-scope.js.map +0 -1
  620. package/dist/runtime/chat-compact.d.ts +0 -26
  621. package/dist/runtime/chat-compact.d.ts.map +0 -1
  622. package/dist/runtime/chat-compact.js +0 -132
  623. package/dist/runtime/chat-compact.js.map +0 -1
  624. package/dist/runtime/chat-controller.d.ts +0 -62
  625. package/dist/runtime/chat-controller.d.ts.map +0 -1
  626. package/dist/runtime/chat-controller.js +0 -1620
  627. package/dist/runtime/chat-controller.js.map +0 -1
  628. package/dist/runtime/chat-effort.d.ts +0 -5
  629. package/dist/runtime/chat-effort.d.ts.map +0 -1
  630. package/dist/runtime/chat-effort.js +0 -47
  631. package/dist/runtime/chat-effort.js.map +0 -1
  632. package/dist/runtime/chat-presentation.d.ts +0 -63
  633. package/dist/runtime/chat-presentation.d.ts.map +0 -1
  634. package/dist/runtime/chat-presentation.js +0 -561
  635. package/dist/runtime/chat-presentation.js.map +0 -1
  636. package/dist/runtime/chat-trace.d.ts +0 -52
  637. package/dist/runtime/chat-trace.d.ts.map +0 -1
  638. package/dist/runtime/chat-trace.js +0 -234
  639. package/dist/runtime/chat-trace.js.map +0 -1
  640. package/dist/runtime/chat-workspace.d.ts +0 -22
  641. package/dist/runtime/chat-workspace.d.ts.map +0 -1
  642. package/dist/runtime/chat-workspace.js +0 -154
  643. package/dist/runtime/chat-workspace.js.map +0 -1
  644. package/dist/runtime/goals/accounting.d.ts +0 -45
  645. package/dist/runtime/goals/accounting.d.ts.map +0 -1
  646. package/dist/runtime/goals/accounting.js +0 -114
  647. package/dist/runtime/goals/accounting.js.map +0 -1
  648. package/dist/runtime/goals/coordinator.d.ts +0 -92
  649. package/dist/runtime/goals/coordinator.d.ts.map +0 -1
  650. package/dist/runtime/goals/coordinator.js +0 -1471
  651. package/dist/runtime/goals/coordinator.js.map +0 -1
  652. package/dist/runtime/goals/lifecycle.d.ts +0 -13
  653. package/dist/runtime/goals/lifecycle.d.ts.map +0 -1
  654. package/dist/runtime/goals/lifecycle.js +0 -46
  655. package/dist/runtime/goals/lifecycle.js.map +0 -1
  656. package/dist/runtime/goals/prompt.d.ts +0 -16
  657. package/dist/runtime/goals/prompt.d.ts.map +0 -1
  658. package/dist/runtime/goals/prompt.js +0 -88
  659. package/dist/runtime/goals/prompt.js.map +0 -1
  660. package/dist/runtime/goals/stop-policy.d.ts +0 -9
  661. package/dist/runtime/goals/stop-policy.d.ts.map +0 -1
  662. package/dist/runtime/goals/stop-policy.js +0 -83
  663. package/dist/runtime/goals/stop-policy.js.map +0 -1
  664. package/dist/runtime/goals/tools.d.ts +0 -61
  665. package/dist/runtime/goals/tools.d.ts.map +0 -1
  666. package/dist/runtime/goals/tools.js +0 -568
  667. package/dist/runtime/goals/tools.js.map +0 -1
  668. package/dist/sdk/index.d.ts +0 -10
  669. package/dist/sdk/index.d.ts.map +0 -1
  670. package/dist/sdk/index.js +0 -23
  671. package/dist/sdk/index.js.map +0 -1
  672. package/dist/sdk/init.d.ts +0 -24
  673. package/dist/sdk/init.d.ts.map +0 -1
  674. package/dist/sdk/init.js +0 -48
  675. package/dist/sdk/init.js.map +0 -1
  676. package/dist/sdk/query.d.ts +0 -19
  677. package/dist/sdk/query.d.ts.map +0 -1
  678. package/dist/sdk/query.js +0 -42
  679. package/dist/sdk/query.js.map +0 -1
  680. package/dist/sdk/sessions.d.ts +0 -19
  681. package/dist/sdk/sessions.d.ts.map +0 -1
  682. package/dist/sdk/sessions.js +0 -57
  683. package/dist/sdk/sessions.js.map +0 -1
  684. package/dist/sdk/types.d.ts +0 -47
  685. package/dist/sdk/types.d.ts.map +0 -1
  686. package/dist/sdk/types.js +0 -8
  687. package/dist/sdk/types.js.map +0 -1
  688. package/dist/services/agent-runner.d.ts +0 -71
  689. package/dist/services/agent-runner.d.ts.map +0 -1
  690. package/dist/services/agent-runner.js +0 -185
  691. package/dist/services/agent-runner.js.map +0 -1
  692. package/dist/services/task-manager.d.ts +0 -161
  693. package/dist/services/task-manager.d.ts.map +0 -1
  694. package/dist/services/task-manager.js +0 -315
  695. package/dist/services/task-manager.js.map +0 -1
  696. package/dist/skills/discovery.d.ts +0 -22
  697. package/dist/skills/discovery.d.ts.map +0 -1
  698. package/dist/skills/discovery.js +0 -75
  699. package/dist/skills/discovery.js.map +0 -1
  700. package/dist/skills/index.d.ts +0 -11
  701. package/dist/skills/index.d.ts.map +0 -1
  702. package/dist/skills/index.js.map +0 -1
  703. package/dist/skills/loader.d.ts +0 -53
  704. package/dist/skills/loader.d.ts.map +0 -1
  705. package/dist/skills/loader.js +0 -421
  706. package/dist/skills/loader.js.map +0 -1
  707. package/dist/skills/registry.d.ts +0 -41
  708. package/dist/skills/registry.d.ts.map +0 -1
  709. package/dist/skills/registry.js +0 -157
  710. package/dist/skills/registry.js.map +0 -1
  711. package/dist/skills/runtime.d.ts +0 -46
  712. package/dist/skills/runtime.d.ts.map +0 -1
  713. package/dist/skills/runtime.js +0 -363
  714. package/dist/skills/runtime.js.map +0 -1
  715. package/dist/skills/types.d.ts +0 -112
  716. package/dist/skills/types.d.ts.map +0 -1
  717. package/dist/skills/types.js +0 -24
  718. package/dist/skills/types.js.map +0 -1
  719. package/dist/tools/index.d.ts +0 -52
  720. package/dist/tools/index.d.ts.map +0 -1
  721. package/dist/tools/index.js +0 -2268
  722. package/dist/tools/index.js.map +0 -1
  723. package/dist/tools/mcp.d.ts +0 -99
  724. package/dist/tools/mcp.d.ts.map +0 -1
  725. package/dist/tools/mcp.js +0 -695
  726. package/dist/tools/mcp.js.map +0 -1
  727. package/dist/tools/plan.d.ts +0 -17
  728. package/dist/tools/plan.d.ts.map +0 -1
  729. package/dist/tools/plan.js +0 -84
  730. package/dist/tools/plan.js.map +0 -1
  731. package/docs/migration/v0.1.8-to-v0.1.9.md +0 -60
  732. package/docs/plan/v0.1.9-release-checklist.md +0 -64
@@ -0,0 +1,514 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ThreadUiAdmissionError = exports.ThreadUiAdapterError = exports.ThreadUiAdapterV1 = exports.THREAD_UI_ADAPTER_VERSION = void 0;
4
+ const agent_runtime_protocol_1 = require("./agent-runtime-protocol");
5
+ const runtime_protocol_v1_1 = require("./protocol/runtime-protocol-v1");
6
+ exports.THREAD_UI_ADAPTER_VERSION = 1;
7
+ /**
8
+ * Transitional projection from the durable Thread runtime to existing UI
9
+ * contracts. ThreadRuntime remains the sole owner of turn/item state; this
10
+ * adapter keeps only an acknowledged delivery cursor and event-derived handles
11
+ * needed for incremental transcript/tool updates.
12
+ */
13
+ class ThreadUiAdapterV1 {
14
+ constructor(options) {
15
+ this.version = exports.THREAD_UI_ADAPTER_VERSION;
16
+ this.presentations = new Map();
17
+ this.initialReplayComplete = false;
18
+ this.closed = false;
19
+ if (Boolean(options.eventSink) === Boolean(options.uiEventSink)) {
20
+ throw new ThreadUiAdapterError('Exactly one AgentRuntimeEventSink or UiEventSink is required.');
21
+ }
22
+ this.runtime = options.runtime;
23
+ this.sink =
24
+ options.eventSink ??
25
+ (0, agent_runtime_protocol_1.createAgentRuntimeEventSinkFromUiEvents)(options.uiEventSink);
26
+ this.mode = options.mode ?? 'build';
27
+ this.consumerId = options.consumerId?.trim() || `thread-ui-adapter:${(0, runtime_protocol_v1_1.createRuntimeId)()}`;
28
+ const liveCursor = this.runtime.getProjection().cursor;
29
+ const cursor = options.cursor ?? liveCursor;
30
+ if (!Number.isSafeInteger(cursor) || cursor < 0 || cursor > liveCursor) {
31
+ throw new ThreadUiAdapterError(`UI cursor ${cursor} is outside the durable Thread cursor 0..${liveCursor}.`);
32
+ }
33
+ this.cursorValue = cursor;
34
+ this.initialReplayTarget = liveCursor;
35
+ // Subscribe at the current edge first. Historical replay is projected
36
+ // separately, so commits that arrive after construction cannot be missed.
37
+ this.consumer = this.runtime.subscribe(this.consumerId, liveCursor, options.buffer);
38
+ }
39
+ async runInput(input, options = {}) {
40
+ const text = input.trim();
41
+ if (!text)
42
+ return;
43
+ await this.runTurn(text, this.resolveMode({ input: text, inputKind: options.inputKind }), options);
44
+ }
45
+ async runRequest(request, options = {}) {
46
+ const input = request.text?.trim() ||
47
+ 'Continue pursuing the active goal from its persisted plan and evidence.';
48
+ const mode = request.goal
49
+ ? 'goal'
50
+ : this.resolveMode({ input, inputKind: request.inputKind, request });
51
+ await this.runTurn(input, mode, options);
52
+ }
53
+ /** Deliver all available events, replaying durable facts on slow-consumer overflow. */
54
+ flush() {
55
+ this.assertOpen();
56
+ if (!this.initialReplayComplete) {
57
+ this.replayInitialHistory();
58
+ this.initialReplayComplete = true;
59
+ }
60
+ while (true) {
61
+ const delivery = this.consumer.read();
62
+ if (delivery.status === 'replay_required') {
63
+ this.replayRequired(delivery.cursor);
64
+ continue;
65
+ }
66
+ if (delivery.events.length === 0)
67
+ break;
68
+ for (const event of delivery.events) {
69
+ this.project(event);
70
+ if (event.durability === 'durable')
71
+ this.cursorValue = event.seq;
72
+ this.consumer.acknowledgeThrough(this.cursorValue);
73
+ }
74
+ }
75
+ return this.snapshot();
76
+ }
77
+ /** AgentRuntimeRunner cannot express interrupt, so the concrete adapter exposes this narrow port. */
78
+ interrupt(reason = 'user interrupted') {
79
+ if (this.closed)
80
+ return { status: 'rejected', reason: 'shutdown' };
81
+ return this.runtime.dispatch({
82
+ type: 'turn.interrupt',
83
+ data: reason.trim() ? { reason: reason.trim() } : {},
84
+ });
85
+ }
86
+ close(reason = 'thread UI adapter closed') {
87
+ if (this.closed)
88
+ return;
89
+ this.closed = true;
90
+ this.runtime.unsubscribe(this.consumerId);
91
+ this.runtime.close(reason);
92
+ this.presentations.clear();
93
+ }
94
+ snapshot() {
95
+ return Object.freeze({
96
+ version: exports.THREAD_UI_ADAPTER_VERSION,
97
+ threadId: this.runtime.threadId,
98
+ consumerId: this.consumerId,
99
+ cursor: this.cursorValue,
100
+ closed: this.closed,
101
+ });
102
+ }
103
+ async runTurn(input, mode, options) {
104
+ this.assertOpen();
105
+ throwIfAborted(options.abortSignal);
106
+ const admission = this.runtime.dispatch({ type: 'turn.start', data: { input, mode } });
107
+ if (admission.status === 'rejected') {
108
+ throw new ThreadUiAdmissionError(admission.reason);
109
+ }
110
+ if (admission.status !== 'started' && admission.status !== 'queued') {
111
+ throw new ThreadUiAdapterError(`Unexpected turn.start admission: ${admission.status}`);
112
+ }
113
+ const detachAbort = forwardAbort(options.abortSignal, reason => this.interrupt(reason));
114
+ try {
115
+ await this.waitForIdleAndFlush();
116
+ }
117
+ finally {
118
+ detachAbort();
119
+ }
120
+ }
121
+ async waitForIdleAndFlush() {
122
+ let idle = false;
123
+ const idlePromise = this.runtime.waitForIdle().finally(() => {
124
+ idle = true;
125
+ });
126
+ while (!idle) {
127
+ if (!this.closed)
128
+ this.flush();
129
+ await Promise.race([idlePromise, nextDrainTick()]);
130
+ }
131
+ await idlePromise;
132
+ if (!this.closed)
133
+ this.flush();
134
+ }
135
+ replayInitialHistory() {
136
+ while (this.cursorValue < this.initialReplayTarget) {
137
+ const replay = this.runtime.replay(this.cursorValue);
138
+ const events = replay.events.filter(event => event.seq <= this.initialReplayTarget);
139
+ if (events.length === 0) {
140
+ throw new ThreadUiAdapterError(`Thread replay stalled at cursor ${this.cursorValue} before ${this.initialReplayTarget}.`);
141
+ }
142
+ for (const event of events) {
143
+ this.project(event);
144
+ this.cursorValue = event.seq;
145
+ }
146
+ }
147
+ }
148
+ replayRequired(fromCursor) {
149
+ if (fromCursor !== this.cursorValue) {
150
+ throw new ThreadUiAdapterError(`Replay cursor ${fromCursor} differs from projected cursor ${this.cursorValue}.`);
151
+ }
152
+ while (true) {
153
+ const replay = this.runtime.replay(this.cursorValue);
154
+ for (const event of replay.events) {
155
+ this.project(event);
156
+ this.cursorValue = event.seq;
157
+ }
158
+ const required = this.consumer.getSnapshot().replayRequired;
159
+ if (!replay.hasMore && (!required || this.cursorValue >= required.latestAvailableCursor)) {
160
+ break;
161
+ }
162
+ if (replay.events.length === 0) {
163
+ throw new ThreadUiAdapterError(`Required Thread replay stalled at cursor ${this.cursorValue}.`);
164
+ }
165
+ }
166
+ this.consumer.resetAfterReplay(this.cursorValue);
167
+ }
168
+ project(event) {
169
+ switch (event.payload.type) {
170
+ case 'turn.started':
171
+ this.emit({ type: 'processing_changed', processing: true });
172
+ this.emit({
173
+ type: 'status_changed',
174
+ message: `Running · ${event.payload.data.mode.toUpperCase()}`,
175
+ });
176
+ return;
177
+ case 'turn.queued':
178
+ this.emit({
179
+ type: 'status_changed',
180
+ message: `Queued follow-up ${event.payload.data.queueId}.`,
181
+ });
182
+ return;
183
+ case 'turn.queue_expired':
184
+ this.emit({
185
+ type: 'status_changed',
186
+ message: `Queued follow-up ${event.payload.data.queueId} expired.`,
187
+ });
188
+ return;
189
+ case 'turn.steered':
190
+ this.emit({ type: 'status_changed', message: 'Updated the active turn instruction.' });
191
+ return;
192
+ case 'turn.interrupt_requested':
193
+ this.emit({ type: 'status_changed', message: 'Interrupt requested…' });
194
+ return;
195
+ case 'turn.completed':
196
+ this.emit({ type: 'processing_changed', processing: false });
197
+ this.emit({
198
+ type: 'status_changed',
199
+ message: event.payload.data.outcome?.trim() || 'Ready',
200
+ });
201
+ this.projectCompletedPlanMode(event);
202
+ return;
203
+ case 'turn.failed':
204
+ this.emit({
205
+ type: 'transcript_append',
206
+ entry: {
207
+ role: 'error',
208
+ title: 'turn failed',
209
+ content: event.payload.data.error,
210
+ errorLayer: 'runtime',
211
+ },
212
+ });
213
+ this.emit({ type: 'processing_changed', processing: false });
214
+ this.emit({ type: 'status_changed', message: 'Turn failed.' });
215
+ return;
216
+ case 'turn.interrupted':
217
+ this.emit({ type: 'processing_changed', processing: false });
218
+ this.emit({
219
+ type: 'status_changed',
220
+ message: event.payload.data.reason?.trim() || 'Turn interrupted.',
221
+ });
222
+ return;
223
+ case 'item.started':
224
+ this.startItem(event);
225
+ return;
226
+ case 'item.delta':
227
+ this.updateItem(event);
228
+ return;
229
+ case 'item.completed':
230
+ case 'item.failed':
231
+ case 'item.interrupted':
232
+ case 'item.indeterminate':
233
+ this.finishItem(event);
234
+ return;
235
+ case 'compact.started':
236
+ this.emit({ type: 'status_changed', message: 'Compacting context…' });
237
+ return;
238
+ case 'compact.completed':
239
+ this.emit({ type: 'status_changed', message: 'Context compacted.' });
240
+ return;
241
+ case 'compact.failed':
242
+ this.emit({
243
+ type: 'transcript_append',
244
+ entry: {
245
+ role: 'error',
246
+ title: 'compact',
247
+ content: event.payload.data.error,
248
+ errorLayer: 'runtime',
249
+ },
250
+ });
251
+ return;
252
+ case 'approval.requested':
253
+ this.emit({
254
+ type: 'status_changed',
255
+ message: `Approval required for ${event.payload.data.toolName}.`,
256
+ });
257
+ return;
258
+ case 'thread.started':
259
+ case 'thread.resumed':
260
+ case 'thread.forked':
261
+ case 'turn.committed':
262
+ case 'step.snapshot':
263
+ case 'capability.receipt':
264
+ case 'tool.receipt':
265
+ return;
266
+ }
267
+ }
268
+ startItem(event) {
269
+ if (event.payload.type !== 'item.started' || !event.itemId) {
270
+ throw new ThreadUiAdapterError('item.started is missing its item identity.');
271
+ }
272
+ const existing = this.presentations.get(event.itemId);
273
+ if (existing)
274
+ return existing;
275
+ const data = event.payload.data;
276
+ const presentation = {
277
+ itemId: event.itemId,
278
+ kind: data.kind,
279
+ role: data.role,
280
+ name: data.name?.trim() || defaultItemName(data.kind),
281
+ args: data.inputDigest ? { inputDigest: data.inputDigest } : {},
282
+ sequence: event.seq,
283
+ startedAt: event.timestamp,
284
+ content: '',
285
+ };
286
+ if (isToolItem(presentation.kind)) {
287
+ this.emit({
288
+ type: 'tool_started',
289
+ event: {
290
+ callId: presentation.itemId,
291
+ name: presentation.name,
292
+ args: presentation.args,
293
+ sequence: presentation.sequence,
294
+ },
295
+ });
296
+ }
297
+ else {
298
+ const id = this.emit({
299
+ type: 'transcript_append',
300
+ entry: transcriptEntry(presentation, '', true),
301
+ });
302
+ presentation.transcriptId = typeof id === 'string' && id.trim() ? id : presentation.itemId;
303
+ }
304
+ this.presentations.set(presentation.itemId, presentation);
305
+ return presentation;
306
+ }
307
+ updateItem(event) {
308
+ if (event.payload.type !== 'item.delta')
309
+ return;
310
+ const presentation = this.ensurePresentation(event);
311
+ presentation.content += event.payload.data.delta;
312
+ if (!isToolItem(presentation.kind) && presentation.transcriptId) {
313
+ this.emit({
314
+ type: 'transcript_update',
315
+ id: presentation.transcriptId,
316
+ patch: { content: presentation.content },
317
+ });
318
+ }
319
+ }
320
+ finishItem(event) {
321
+ const presentation = this.ensurePresentation(event);
322
+ const terminal = terminalItemData(event);
323
+ if (terminal.content !== undefined)
324
+ presentation.content = terminal.content;
325
+ if (!presentation.content && terminal.summary)
326
+ presentation.content = terminal.summary;
327
+ if (isToolItem(presentation.kind)) {
328
+ const success = event.payload.type === 'item.completed';
329
+ this.emit({
330
+ type: 'tool_finished',
331
+ event: {
332
+ callId: presentation.itemId,
333
+ name: presentation.name,
334
+ args: presentation.args,
335
+ success,
336
+ duration: Math.max(0, event.timestamp - presentation.startedAt),
337
+ sequence: presentation.sequence,
338
+ ...(terminal.summary ? { summary: terminal.summary } : {}),
339
+ ...(terminal.error ? { error: terminal.error } : {}),
340
+ ...(presentation.content
341
+ ? { outputBytes: Buffer.byteLength(presentation.content, 'utf8') }
342
+ : {}),
343
+ },
344
+ });
345
+ }
346
+ else if (presentation.transcriptId) {
347
+ const success = event.payload.type === 'item.completed';
348
+ this.emit({
349
+ type: 'transcript_finalize',
350
+ id: presentation.transcriptId,
351
+ patch: {
352
+ content: success ? presentation.content : terminal.error || presentation.content,
353
+ ...(success ? {} : { errorLayer: 'runtime' }),
354
+ },
355
+ });
356
+ }
357
+ this.presentations.delete(presentation.itemId);
358
+ }
359
+ ensurePresentation(event) {
360
+ if (!event.itemId)
361
+ throw new ThreadUiAdapterError(`${event.payload.type} has no itemId.`);
362
+ const existing = this.presentations.get(event.itemId);
363
+ if (existing)
364
+ return existing;
365
+ const projected = this.runtime.getProjection().items[event.itemId];
366
+ if (!projected) {
367
+ throw new ThreadUiAdapterError(`Thread projection has no item ${event.itemId}.`);
368
+ }
369
+ return this.startItem({
370
+ ...event,
371
+ durability: 'durable',
372
+ seq: projected.startedSeq,
373
+ timestamp: event.timestamp,
374
+ payload: {
375
+ type: 'item.started',
376
+ data: {
377
+ kind: projected.kind,
378
+ ...(isItemRole(projected.role) ? { role: projected.role } : {}),
379
+ ...(projected.name ? { name: projected.name } : {}),
380
+ ...(projected.inputDigest ? { inputDigest: projected.inputDigest } : {}),
381
+ },
382
+ },
383
+ });
384
+ }
385
+ resolveMode(context) {
386
+ const mode = typeof this.mode === 'function' ? this.mode(context) : this.mode;
387
+ if (mode !== 'build' && mode !== 'plan' && mode !== 'auto') {
388
+ throw new ThreadUiAdapterError(`Unsupported UI base mode: ${String(mode)}`);
389
+ }
390
+ return mode;
391
+ }
392
+ projectCompletedPlanMode(event) {
393
+ if (!event.turnId)
394
+ return;
395
+ const turn = this.runtime.getProjection().turns[event.turnId];
396
+ if (!turn || turn.mode !== 'plan')
397
+ return;
398
+ const mode = this.resolveMode({ input: turn.input });
399
+ this.emit({
400
+ type: 'agent_mode_changed',
401
+ snapshot: {
402
+ baseMode: mode === 'build' ? 'interactive' : mode,
403
+ pendingBaseMode: null,
404
+ },
405
+ });
406
+ }
407
+ emit(event) {
408
+ return this.sink.emit(event);
409
+ }
410
+ assertOpen() {
411
+ if (this.closed)
412
+ throw new ThreadUiAdapterError('Thread UI adapter is closed.');
413
+ }
414
+ }
415
+ exports.ThreadUiAdapterV1 = ThreadUiAdapterV1;
416
+ class ThreadUiAdapterError extends Error {
417
+ constructor(message) {
418
+ super(message);
419
+ this.code = 'ORION_THREAD_UI_ADAPTER_ERROR';
420
+ this.name = 'ThreadUiAdapterError';
421
+ }
422
+ }
423
+ exports.ThreadUiAdapterError = ThreadUiAdapterError;
424
+ class ThreadUiAdmissionError extends ThreadUiAdapterError {
425
+ constructor(reason) {
426
+ super(`Thread turn was rejected: ${reason}`);
427
+ this.reason = reason;
428
+ this.code = 'ORION_THREAD_UI_ADMISSION_REJECTED';
429
+ this.name = 'ThreadUiAdmissionError';
430
+ }
431
+ }
432
+ exports.ThreadUiAdmissionError = ThreadUiAdmissionError;
433
+ function transcriptEntry(presentation, content, live) {
434
+ return {
435
+ role: transcriptRole(presentation),
436
+ title: transcriptTitle(presentation),
437
+ content,
438
+ live,
439
+ };
440
+ }
441
+ function transcriptRole(presentation) {
442
+ if (presentation.kind !== 'message') {
443
+ return presentation.kind === 'compact' ? 'status' : 'assistant';
444
+ }
445
+ return presentation.role ?? 'assistant';
446
+ }
447
+ function transcriptTitle(presentation) {
448
+ switch (presentation.kind) {
449
+ case 'reasoning':
450
+ return 'reasoning';
451
+ case 'plan':
452
+ return 'plan';
453
+ case 'compact':
454
+ return 'compact';
455
+ case 'message':
456
+ return presentation.role === 'user' ? 'you' : undefined;
457
+ default:
458
+ return presentation.name;
459
+ }
460
+ }
461
+ function isToolItem(kind) {
462
+ return kind === 'command' || kind === 'file_change' || kind === 'mcp';
463
+ }
464
+ function defaultItemName(kind) {
465
+ switch (kind) {
466
+ case 'file_change':
467
+ return 'file_change';
468
+ case 'mcp':
469
+ return 'mcp';
470
+ default:
471
+ return kind;
472
+ }
473
+ }
474
+ function terminalItemData(event) {
475
+ switch (event.payload.type) {
476
+ case 'item.completed':
477
+ return {
478
+ content: event.payload.data.content,
479
+ summary: event.payload.data.summary,
480
+ };
481
+ case 'item.failed':
482
+ return { error: event.payload.data.error };
483
+ case 'item.interrupted':
484
+ return { error: event.payload.data.reason || 'Item interrupted.' };
485
+ case 'item.indeterminate':
486
+ return { error: event.payload.data.reason };
487
+ default:
488
+ throw new ThreadUiAdapterError(`${event.payload.type} is not an Item terminal event.`);
489
+ }
490
+ }
491
+ function isItemRole(value) {
492
+ return value === 'user' || value === 'assistant' || value === 'system' || value === 'tool';
493
+ }
494
+ function throwIfAborted(signal) {
495
+ if (!signal?.aborted)
496
+ return;
497
+ throw signal.reason instanceof Error ? signal.reason : new Error('Thread UI run was aborted.');
498
+ }
499
+ function forwardAbort(signal, interrupt) {
500
+ if (!signal)
501
+ return () => undefined;
502
+ const onAbort = () => {
503
+ const reason = signal.reason;
504
+ interrupt(reason instanceof Error ? reason.message : String(reason || 'user interrupted'));
505
+ };
506
+ signal.addEventListener('abort', onAbort, { once: true });
507
+ if (signal.aborted)
508
+ onAbort();
509
+ return () => signal.removeEventListener('abort', onAbort);
510
+ }
511
+ function nextDrainTick() {
512
+ return new Promise(resolve => setTimeout(resolve, 16));
513
+ }
514
+ //# sourceMappingURL=thread-ui-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-ui-adapter.js","sourceRoot":"","sources":["../../src/runtime/thread-ui-adapter.ts"],"names":[],"mappings":"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"}