@orion-agents/orion-code 0.1.8 → 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 (861) hide show
  1. package/CHANGELOG.md +495 -0
  2. package/README.md +142 -314
  3. package/README.zh-CN.md +117 -559
  4. package/dist/cli.js +71 -90
  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 +174 -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 +2 -2
  29. package/dist/commands/model-command-handlers.d.ts.map +1 -1
  30. package/dist/commands/model-command-handlers.js +168 -3
  31. package/dist/commands/model-command-handlers.js.map +1 -1
  32. package/dist/commands/model-commands.d.ts.map +1 -1
  33. package/dist/commands/model-commands.js +0 -11
  34. package/dist/commands/model-commands.js.map +1 -1
  35. package/dist/commands/registry.d.ts.map +1 -1
  36. package/dist/commands/registry.js +1 -139
  37. package/dist/commands/registry.js.map +1 -1
  38. package/dist/commands/session-command-handlers.d.ts.map +1 -1
  39. package/dist/commands/session-command-handlers.js +35 -119
  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 +2 -50
  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 +14 -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 +8 -6
  66. package/dist/framework/index.d.ts.map +1 -1
  67. package/dist/framework/index.js +14 -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 +71 -26
  77. package/dist/framework/query.d.ts.map +1 -1
  78. package/dist/framework/query.js +371 -102
  79. package/dist/framework/query.js.map +1 -1
  80. package/dist/framework/stop-decision.d.ts +56 -0
  81. package/dist/framework/stop-decision.d.ts.map +1 -0
  82. package/dist/framework/stop-decision.js +36 -0
  83. package/dist/framework/stop-decision.js.map +1 -0
  84. package/dist/framework/store.d.ts +4 -2
  85. package/dist/framework/store.d.ts.map +1 -1
  86. package/dist/framework/store.js +1 -0
  87. package/dist/framework/store.js.map +1 -1
  88. package/dist/framework/tool-call-orchestrator.d.ts +80 -0
  89. package/dist/framework/tool-call-orchestrator.d.ts.map +1 -0
  90. package/dist/framework/tool-call-orchestrator.js +192 -0
  91. package/dist/framework/tool-call-orchestrator.js.map +1 -0
  92. package/dist/framework/tool-state.d.ts +12 -11
  93. package/dist/framework/tool-state.d.ts.map +1 -1
  94. package/dist/framework/tool-state.js +36 -28
  95. package/dist/framework/tool-state.js.map +1 -1
  96. package/dist/framework/tool.d.ts +0 -9
  97. package/dist/framework/tool.d.ts.map +1 -1
  98. package/dist/framework/tool.js.map +1 -1
  99. package/dist/harness/assembler.d.ts.map +1 -1
  100. package/dist/harness/assembler.js +77 -19
  101. package/dist/harness/assembler.js.map +1 -1
  102. package/dist/harness/capability-profile.d.ts +3 -0
  103. package/dist/harness/capability-profile.d.ts.map +1 -0
  104. package/dist/harness/capability-profile.js +44 -0
  105. package/dist/harness/capability-profile.js.map +1 -0
  106. package/dist/harness/capsule.d.ts.map +1 -1
  107. package/dist/harness/capsule.js +22 -3
  108. package/dist/harness/capsule.js.map +1 -1
  109. package/dist/harness/compact-benchmark-corpus.d.ts +10 -0
  110. package/dist/harness/compact-benchmark-corpus.d.ts.map +1 -0
  111. package/dist/harness/compact-benchmark-corpus.js +56 -0
  112. package/dist/harness/compact-benchmark-corpus.js.map +1 -0
  113. package/dist/harness/context-harness.d.ts +23 -3
  114. package/dist/harness/context-harness.d.ts.map +1 -1
  115. package/dist/harness/context-harness.js +183 -11
  116. package/dist/harness/context-harness.js.map +1 -1
  117. package/dist/harness/contract.d.ts.map +1 -1
  118. package/dist/harness/contract.js +106 -11
  119. package/dist/harness/contract.js.map +1 -1
  120. package/dist/harness/drift-guard.d.ts +2 -1
  121. package/dist/harness/drift-guard.d.ts.map +1 -1
  122. package/dist/harness/drift-guard.js +315 -20
  123. package/dist/harness/drift-guard.js.map +1 -1
  124. package/dist/harness/evidence.d.ts.map +1 -1
  125. package/dist/harness/evidence.js +25 -12
  126. package/dist/harness/evidence.js.map +1 -1
  127. package/dist/harness/index.d.ts +7 -2
  128. package/dist/harness/index.d.ts.map +1 -1
  129. package/dist/harness/index.js +19 -1
  130. package/dist/harness/index.js.map +1 -1
  131. package/dist/harness/ledger.d.ts.map +1 -1
  132. package/dist/harness/ledger.js +44 -14
  133. package/dist/harness/ledger.js.map +1 -1
  134. package/dist/harness/progress-controller.d.ts +14 -0
  135. package/dist/harness/progress-controller.d.ts.map +1 -0
  136. package/dist/harness/progress-controller.js +110 -0
  137. package/dist/harness/progress-controller.js.map +1 -0
  138. package/dist/harness/state.d.ts.map +1 -1
  139. package/dist/harness/state.js +5 -2
  140. package/dist/harness/state.js.map +1 -1
  141. package/dist/harness/stop-controller.d.ts +15 -0
  142. package/dist/harness/stop-controller.d.ts.map +1 -0
  143. package/dist/harness/stop-controller.js +87 -0
  144. package/dist/harness/stop-controller.js.map +1 -0
  145. package/dist/harness/types.d.ts +137 -0
  146. package/dist/harness/types.d.ts.map +1 -1
  147. package/dist/harness/verification.d.ts +7 -0
  148. package/dist/harness/verification.d.ts.map +1 -0
  149. package/dist/harness/verification.js +122 -0
  150. package/dist/harness/verification.js.map +1 -0
  151. package/dist/index.d.ts +70 -26
  152. package/dist/index.d.ts.map +1 -1
  153. package/dist/index.js +64 -59
  154. package/dist/index.js.map +1 -1
  155. package/dist/memory/index.d.ts +1 -0
  156. package/dist/memory/index.d.ts.map +1 -1
  157. package/dist/memory/index.js +1 -0
  158. package/dist/memory/index.js.map +1 -1
  159. package/dist/memory/prompt-context.d.ts +42 -0
  160. package/dist/memory/prompt-context.d.ts.map +1 -0
  161. package/dist/memory/prompt-context.js +129 -0
  162. package/dist/memory/prompt-context.js.map +1 -0
  163. package/dist/print-ui/launch.d.ts.map +1 -1
  164. package/dist/print-ui/launch.js +9 -2
  165. package/dist/print-ui/launch.js.map +1 -1
  166. package/dist/product/paths.d.ts +7 -0
  167. package/dist/product/paths.d.ts.map +1 -1
  168. package/dist/product/paths.js +19 -0
  169. package/dist/product/paths.js.map +1 -1
  170. package/dist/runtime/agent-loop.d.ts +78 -0
  171. package/dist/runtime/agent-loop.d.ts.map +1 -0
  172. package/dist/runtime/agent-loop.js +418 -0
  173. package/dist/runtime/agent-loop.js.map +1 -0
  174. package/dist/runtime/agent-runtime-controller.d.ts +10 -57
  175. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  176. package/dist/runtime/agent-runtime-controller.js +265 -1215
  177. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  178. package/dist/runtime/agent-runtime-protocol.d.ts +4 -5
  179. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  180. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  181. package/dist/runtime/agent-runtime-runner.d.ts +34 -0
  182. package/dist/runtime/agent-runtime-runner.d.ts.map +1 -0
  183. package/dist/runtime/agent-runtime-runner.js +3 -0
  184. package/dist/runtime/agent-runtime-runner.js.map +1 -0
  185. package/dist/runtime/batch-read-service.d.ts +29 -0
  186. package/dist/runtime/batch-read-service.d.ts.map +1 -0
  187. package/dist/runtime/batch-read-service.js +212 -0
  188. package/dist/runtime/batch-read-service.js.map +1 -0
  189. package/dist/runtime/builtin-tool-provider.d.ts +30 -0
  190. package/dist/runtime/builtin-tool-provider.d.ts.map +1 -0
  191. package/dist/runtime/builtin-tool-provider.js +233 -0
  192. package/dist/runtime/builtin-tool-provider.js.map +1 -0
  193. package/dist/runtime/capabilities/compiler.d.ts +11 -0
  194. package/dist/runtime/capabilities/compiler.d.ts.map +1 -0
  195. package/dist/runtime/capabilities/compiler.js +719 -0
  196. package/dist/runtime/capabilities/compiler.js.map +1 -0
  197. package/dist/runtime/capabilities/index.d.ts +3 -0
  198. package/dist/runtime/capabilities/index.d.ts.map +1 -0
  199. package/dist/runtime/capabilities/index.js +9 -0
  200. package/dist/runtime/capabilities/index.js.map +1 -0
  201. package/dist/runtime/capabilities/types.d.ts +175 -0
  202. package/dist/runtime/capabilities/types.d.ts.map +1 -0
  203. package/dist/runtime/capabilities/types.js +3 -0
  204. package/dist/runtime/capabilities/types.js.map +1 -0
  205. package/dist/runtime/capability-receipt-journal.d.ts +29 -0
  206. package/dist/runtime/capability-receipt-journal.d.ts.map +1 -0
  207. package/dist/runtime/capability-receipt-journal.js +264 -0
  208. package/dist/runtime/capability-receipt-journal.js.map +1 -0
  209. package/dist/runtime/capability-step-factory.d.ts +73 -0
  210. package/dist/runtime/capability-step-factory.d.ts.map +1 -0
  211. package/dist/runtime/capability-step-factory.js +302 -0
  212. package/dist/runtime/capability-step-factory.js.map +1 -0
  213. package/dist/runtime/compact-transaction.d.ts +225 -0
  214. package/dist/runtime/compact-transaction.d.ts.map +1 -0
  215. package/dist/runtime/compact-transaction.js +622 -0
  216. package/dist/runtime/compact-transaction.js.map +1 -0
  217. package/dist/runtime/composer/buffer.d.ts +3 -4
  218. package/dist/runtime/composer/buffer.d.ts.map +1 -1
  219. package/dist/runtime/composer/buffer.js +3 -4
  220. package/dist/runtime/composer/buffer.js.map +1 -1
  221. package/dist/runtime/composer/grapheme.d.ts +2 -4
  222. package/dist/runtime/composer/grapheme.d.ts.map +1 -1
  223. package/dist/runtime/composer/grapheme.js +2 -4
  224. package/dist/runtime/composer/grapheme.js.map +1 -1
  225. package/dist/runtime/composer/layout.d.ts +1 -3
  226. package/dist/runtime/composer/layout.d.ts.map +1 -1
  227. package/dist/runtime/composer/layout.js +1 -3
  228. package/dist/runtime/composer/layout.js.map +1 -1
  229. package/dist/runtime/core-tools/descriptors.d.ts +17 -0
  230. package/dist/runtime/core-tools/descriptors.d.ts.map +1 -0
  231. package/dist/runtime/core-tools/descriptors.js +185 -0
  232. package/dist/runtime/core-tools/descriptors.js.map +1 -0
  233. package/dist/runtime/first-party-core-provider.d.ts +55 -0
  234. package/dist/runtime/first-party-core-provider.d.ts.map +1 -0
  235. package/dist/runtime/first-party-core-provider.js +197 -0
  236. package/dist/runtime/first-party-core-provider.js.map +1 -0
  237. package/dist/runtime/first-party-long-tail-provider.d.ts +57 -0
  238. package/dist/runtime/first-party-long-tail-provider.d.ts.map +1 -0
  239. package/dist/runtime/first-party-long-tail-provider.js +238 -0
  240. package/dist/runtime/first-party-long-tail-provider.js.map +1 -0
  241. package/dist/runtime/first-party-tool-services.d.ts +43 -0
  242. package/dist/runtime/first-party-tool-services.d.ts.map +1 -0
  243. package/dist/runtime/first-party-tool-services.js +200 -0
  244. package/dist/runtime/first-party-tool-services.js.map +1 -0
  245. package/dist/runtime/first-party-tool-universe.d.ts +14 -0
  246. package/dist/runtime/first-party-tool-universe.d.ts.map +1 -0
  247. package/dist/runtime/first-party-tool-universe.js +20 -0
  248. package/dist/runtime/first-party-tool-universe.js.map +1 -0
  249. package/dist/runtime/goal-lifecycle-v2.d.ts +63 -0
  250. package/dist/runtime/goal-lifecycle-v2.d.ts.map +1 -0
  251. package/dist/runtime/goal-lifecycle-v2.js +253 -0
  252. package/dist/runtime/goal-lifecycle-v2.js.map +1 -0
  253. package/dist/runtime/goal-runtime-coordinator.d.ts +105 -0
  254. package/dist/runtime/goal-runtime-coordinator.d.ts.map +1 -0
  255. package/dist/runtime/goal-runtime-coordinator.js +506 -0
  256. package/dist/runtime/goal-runtime-coordinator.js.map +1 -0
  257. package/dist/runtime/goals/types.d.ts +0 -1
  258. package/dist/runtime/goals/types.d.ts.map +1 -1
  259. package/dist/runtime/goals/types.js +0 -1
  260. package/dist/runtime/goals/types.js.map +1 -1
  261. package/dist/runtime/harness-confluence.d.ts +165 -0
  262. package/dist/runtime/harness-confluence.d.ts.map +1 -0
  263. package/dist/runtime/harness-confluence.js +807 -0
  264. package/dist/runtime/harness-confluence.js.map +1 -0
  265. package/dist/runtime/harness-eval.d.ts +96 -0
  266. package/dist/runtime/harness-eval.d.ts.map +1 -0
  267. package/dist/runtime/harness-eval.js +181 -0
  268. package/dist/runtime/harness-eval.js.map +1 -0
  269. package/dist/runtime/harness-metrics.d.ts +202 -0
  270. package/dist/runtime/harness-metrics.d.ts.map +1 -0
  271. package/dist/runtime/harness-metrics.js +415 -0
  272. package/dist/runtime/harness-metrics.js.map +1 -0
  273. package/dist/runtime/legacy-session-importer.d.ts +99 -0
  274. package/dist/runtime/legacy-session-importer.d.ts.map +1 -0
  275. package/dist/runtime/legacy-session-importer.js +455 -0
  276. package/dist/runtime/legacy-session-importer.js.map +1 -0
  277. package/dist/runtime/legacy-thread-materializer.d.ts +72 -0
  278. package/dist/runtime/legacy-thread-materializer.d.ts.map +1 -0
  279. package/dist/runtime/legacy-thread-materializer.js +553 -0
  280. package/dist/runtime/legacy-thread-materializer.js.map +1 -0
  281. package/dist/runtime/long-tail-tools/descriptors.d.ts +23 -0
  282. package/dist/runtime/long-tail-tools/descriptors.d.ts.map +1 -0
  283. package/dist/runtime/long-tail-tools/descriptors.js +423 -0
  284. package/dist/runtime/long-tail-tools/descriptors.js.map +1 -0
  285. package/dist/runtime/loop-budget.d.ts +1 -1
  286. package/dist/runtime/loop-budget.d.ts.map +1 -1
  287. package/dist/runtime/loop-budget.js +2 -2
  288. package/dist/runtime/loop-budget.js.map +1 -1
  289. package/dist/runtime/mcp/first-party-mcp-adapter.d.ts +75 -0
  290. package/dist/runtime/mcp/first-party-mcp-adapter.d.ts.map +1 -0
  291. package/dist/runtime/mcp/first-party-mcp-adapter.js +484 -0
  292. package/dist/runtime/mcp/first-party-mcp-adapter.js.map +1 -0
  293. package/dist/runtime/mcp/first-party-mcp-config.d.ts +13 -0
  294. package/dist/runtime/mcp/first-party-mcp-config.d.ts.map +1 -0
  295. package/dist/runtime/mcp/first-party-mcp-config.js +139 -0
  296. package/dist/runtime/mcp/first-party-mcp-config.js.map +1 -0
  297. package/dist/runtime/mcp/index.d.ts +5 -0
  298. package/dist/runtime/mcp/index.d.ts.map +1 -0
  299. package/dist/{skills → runtime/mcp}/index.js +3 -9
  300. package/dist/runtime/mcp/index.js.map +1 -0
  301. package/dist/runtime/mcp/lazy-mcp-runtime.d.ts +95 -0
  302. package/dist/runtime/mcp/lazy-mcp-runtime.d.ts.map +1 -0
  303. package/dist/runtime/mcp/lazy-mcp-runtime.js +854 -0
  304. package/dist/runtime/mcp/lazy-mcp-runtime.js.map +1 -0
  305. package/dist/runtime/mcp/types.d.ts +128 -0
  306. package/dist/runtime/mcp/types.d.ts.map +1 -0
  307. package/dist/runtime/mcp/types.js +5 -0
  308. package/dist/runtime/mcp/types.js.map +1 -0
  309. package/dist/runtime/model-coordinator.d.ts +44 -1
  310. package/dist/runtime/model-coordinator.d.ts.map +1 -1
  311. package/dist/runtime/model-coordinator.js +161 -19
  312. package/dist/runtime/model-coordinator.js.map +1 -1
  313. package/dist/runtime/orion-runtime-v1.d.ts +321 -0
  314. package/dist/runtime/orion-runtime-v1.d.ts.map +1 -0
  315. package/dist/runtime/orion-runtime-v1.js +958 -0
  316. package/dist/runtime/orion-runtime-v1.js.map +1 -0
  317. package/dist/runtime/orion-session-runner.d.ts +37 -0
  318. package/dist/runtime/orion-session-runner.d.ts.map +1 -0
  319. package/dist/runtime/orion-session-runner.js +146 -0
  320. package/dist/runtime/orion-session-runner.js.map +1 -0
  321. package/dist/runtime/product-orion-runtime.d.ts +35 -0
  322. package/dist/runtime/product-orion-runtime.d.ts.map +1 -0
  323. package/dist/runtime/product-orion-runtime.js +1019 -0
  324. package/dist/runtime/product-orion-runtime.js.map +1 -0
  325. package/dist/runtime/prompts/index.d.ts +3 -0
  326. package/dist/runtime/prompts/index.d.ts.map +1 -0
  327. package/dist/{ink-ui/types.js → runtime/prompts/index.js} +3 -2
  328. package/dist/runtime/prompts/index.js.map +1 -0
  329. package/dist/runtime/prompts/prompt-registry.d.ts +22 -0
  330. package/dist/runtime/prompts/prompt-registry.d.ts.map +1 -0
  331. package/dist/runtime/prompts/prompt-registry.js +356 -0
  332. package/dist/runtime/prompts/prompt-registry.js.map +1 -0
  333. package/dist/runtime/prompts/types.d.ts +111 -0
  334. package/dist/runtime/prompts/types.d.ts.map +1 -0
  335. package/dist/runtime/prompts/types.js +5 -0
  336. package/dist/runtime/prompts/types.js.map +1 -0
  337. package/dist/runtime/protocol/canonical.d.ts +3 -0
  338. package/dist/runtime/protocol/canonical.d.ts.map +1 -0
  339. package/dist/runtime/protocol/canonical.js +21 -0
  340. package/dist/runtime/protocol/canonical.js.map +1 -0
  341. package/dist/runtime/protocol/index.d.ts +4 -0
  342. package/dist/runtime/protocol/index.d.ts.map +1 -0
  343. package/dist/runtime/protocol/index.js +16 -0
  344. package/dist/runtime/protocol/index.js.map +1 -0
  345. package/dist/runtime/protocol/runtime-protocol-v1.d.ts +671 -0
  346. package/dist/runtime/protocol/runtime-protocol-v1.d.ts.map +1 -0
  347. package/dist/runtime/protocol/runtime-protocol-v1.js +557 -0
  348. package/dist/runtime/protocol/runtime-protocol-v1.js.map +1 -0
  349. package/dist/runtime/release-receipts.d.ts +109 -0
  350. package/dist/runtime/release-receipts.d.ts.map +1 -0
  351. package/dist/runtime/release-receipts.js +304 -0
  352. package/dist/runtime/release-receipts.js.map +1 -0
  353. package/dist/runtime/resource-scope.d.ts +123 -0
  354. package/dist/runtime/resource-scope.d.ts.map +1 -0
  355. package/dist/runtime/resource-scope.js +363 -0
  356. package/dist/runtime/resource-scope.js.map +1 -0
  357. package/dist/runtime/runtime-event-buffer.d.ts +78 -0
  358. package/dist/runtime/runtime-event-buffer.d.ts.map +1 -0
  359. package/dist/runtime/runtime-event-buffer.js +237 -0
  360. package/dist/runtime/runtime-event-buffer.js.map +1 -0
  361. package/dist/runtime/runtime-services.d.ts +87 -0
  362. package/dist/runtime/runtime-services.d.ts.map +1 -0
  363. package/dist/runtime/runtime-services.js +180 -0
  364. package/dist/runtime/runtime-services.js.map +1 -0
  365. package/dist/runtime/skills/bounded-lru-cache.d.ts +34 -0
  366. package/dist/runtime/skills/bounded-lru-cache.d.ts.map +1 -0
  367. package/dist/runtime/skills/bounded-lru-cache.js +100 -0
  368. package/dist/runtime/skills/bounded-lru-cache.js.map +1 -0
  369. package/dist/runtime/skills/filesystem-skill-provider.d.ts +96 -0
  370. package/dist/runtime/skills/filesystem-skill-provider.d.ts.map +1 -0
  371. package/dist/runtime/skills/filesystem-skill-provider.js +829 -0
  372. package/dist/runtime/skills/filesystem-skill-provider.js.map +1 -0
  373. package/dist/runtime/skills/index.d.ts +5 -0
  374. package/dist/runtime/skills/index.d.ts.map +1 -0
  375. package/dist/{ink-ui/controllers/chat-controller.js → runtime/skills/index.js} +5 -2
  376. package/dist/runtime/skills/index.js.map +1 -0
  377. package/dist/runtime/skills/lazy-skill-runtime.d.ts +77 -0
  378. package/dist/runtime/skills/lazy-skill-runtime.d.ts.map +1 -0
  379. package/dist/runtime/skills/lazy-skill-runtime.js +673 -0
  380. package/dist/runtime/skills/lazy-skill-runtime.js.map +1 -0
  381. package/dist/runtime/skills/types.d.ts +137 -0
  382. package/dist/runtime/skills/types.d.ts.map +1 -0
  383. package/dist/runtime/skills/types.js +13 -0
  384. package/dist/runtime/skills/types.js.map +1 -0
  385. package/dist/runtime/step-snapshot.d.ts +183 -0
  386. package/dist/runtime/step-snapshot.d.ts.map +1 -0
  387. package/dist/runtime/step-snapshot.js +286 -0
  388. package/dist/runtime/step-snapshot.js.map +1 -0
  389. package/dist/runtime/subagent-thread-runtime.d.ts +239 -0
  390. package/dist/runtime/subagent-thread-runtime.d.ts.map +1 -0
  391. package/dist/runtime/subagent-thread-runtime.js +876 -0
  392. package/dist/runtime/subagent-thread-runtime.js.map +1 -0
  393. package/dist/runtime/subagents/index.d.ts +5 -2
  394. package/dist/runtime/subagents/index.d.ts.map +1 -1
  395. package/dist/runtime/subagents/index.js +10 -2
  396. package/dist/runtime/subagents/index.js.map +1 -1
  397. package/dist/runtime/subagents/parent-step-fork.d.ts +36 -0
  398. package/dist/runtime/subagents/parent-step-fork.d.ts.map +1 -0
  399. package/dist/runtime/subagents/parent-step-fork.js +83 -0
  400. package/dist/runtime/subagents/parent-step-fork.js.map +1 -0
  401. package/dist/runtime/subagents/production.d.ts +65 -42
  402. package/dist/runtime/subagents/production.d.ts.map +1 -1
  403. package/dist/runtime/subagents/production.js +494 -151
  404. package/dist/runtime/subagents/production.js.map +1 -1
  405. package/dist/runtime/subagents/receipt-journal.d.ts +20 -0
  406. package/dist/runtime/subagents/receipt-journal.d.ts.map +1 -0
  407. package/dist/runtime/subagents/receipt-journal.js +74 -0
  408. package/dist/runtime/subagents/receipt-journal.js.map +1 -0
  409. package/dist/runtime/subagents/runner.d.ts +12 -1
  410. package/dist/runtime/subagents/runner.d.ts.map +1 -1
  411. package/dist/runtime/subagents/runner.js +62 -1
  412. package/dist/runtime/subagents/runner.js.map +1 -1
  413. package/dist/runtime/subagents/runtime-contract.d.ts +29 -0
  414. package/dist/runtime/subagents/runtime-contract.d.ts.map +1 -0
  415. package/dist/runtime/subagents/runtime-contract.js +3 -0
  416. package/dist/runtime/subagents/runtime-contract.js.map +1 -0
  417. package/dist/runtime/subagents/runtime-integration.d.ts +41 -56
  418. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  419. package/dist/runtime/subagents/runtime-integration.js +34 -197
  420. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  421. package/dist/runtime/subagents/supervisor.d.ts +19 -7
  422. package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
  423. package/dist/runtime/subagents/supervisor.js +88 -39
  424. package/dist/runtime/subagents/supervisor.js.map +1 -1
  425. package/dist/runtime/subagents/types.d.ts +5 -2
  426. package/dist/runtime/subagents/types.d.ts.map +1 -1
  427. package/dist/runtime/subagents/types.js +1 -1
  428. package/dist/runtime/subagents/types.js.map +1 -1
  429. package/dist/runtime/task-context-service.d.ts +91 -0
  430. package/dist/runtime/task-context-service.d.ts.map +1 -0
  431. package/dist/runtime/task-context-service.js +122 -0
  432. package/dist/runtime/task-context-service.js.map +1 -0
  433. package/dist/runtime/thread-admission.d.ts +130 -0
  434. package/dist/runtime/thread-admission.d.ts.map +1 -0
  435. package/dist/runtime/thread-admission.js +276 -0
  436. package/dist/runtime/thread-admission.js.map +1 -0
  437. package/dist/runtime/thread-compact-persistence.d.ts +50 -0
  438. package/dist/runtime/thread-compact-persistence.d.ts.map +1 -0
  439. package/dist/runtime/thread-compact-persistence.js +176 -0
  440. package/dist/runtime/thread-compact-persistence.js.map +1 -0
  441. package/dist/runtime/thread-event-store.d.ts +98 -0
  442. package/dist/runtime/thread-event-store.d.ts.map +1 -0
  443. package/dist/runtime/thread-event-store.js +737 -0
  444. package/dist/runtime/thread-event-store.js.map +1 -0
  445. package/dist/runtime/thread-projection.d.ts +91 -0
  446. package/dist/runtime/thread-projection.d.ts.map +1 -0
  447. package/dist/runtime/thread-projection.js +407 -0
  448. package/dist/runtime/thread-projection.js.map +1 -0
  449. package/dist/runtime/thread-runtime.d.ts +165 -0
  450. package/dist/runtime/thread-runtime.d.ts.map +1 -0
  451. package/dist/runtime/thread-runtime.js +704 -0
  452. package/dist/runtime/thread-runtime.js.map +1 -0
  453. package/dist/runtime/thread-tool-journal.d.ts +11 -0
  454. package/dist/runtime/thread-tool-journal.d.ts.map +1 -0
  455. package/dist/runtime/thread-tool-journal.js +131 -0
  456. package/dist/runtime/thread-tool-journal.js.map +1 -0
  457. package/dist/runtime/thread-ui-adapter.d.ts +85 -0
  458. package/dist/runtime/thread-ui-adapter.d.ts.map +1 -0
  459. package/dist/runtime/thread-ui-adapter.js +514 -0
  460. package/dist/runtime/thread-ui-adapter.js.map +1 -0
  461. package/dist/runtime/tool-gateway.d.ts +159 -0
  462. package/dist/runtime/tool-gateway.d.ts.map +1 -0
  463. package/dist/runtime/tool-gateway.js +311 -0
  464. package/dist/runtime/tool-gateway.js.map +1 -0
  465. package/dist/runtime/turn-commit.d.ts +103 -0
  466. package/dist/runtime/turn-commit.d.ts.map +1 -0
  467. package/dist/runtime/turn-commit.js +321 -0
  468. package/dist/runtime/turn-commit.js.map +1 -0
  469. package/dist/runtime/ui-events.d.ts +15 -5
  470. package/dist/runtime/ui-events.d.ts.map +1 -1
  471. package/dist/runtime/ui-events.js +0 -1
  472. package/dist/runtime/ui-events.js.map +1 -1
  473. package/dist/runtime/ui-view-model.d.ts +1 -1
  474. package/dist/runtime/ui-view-model.d.ts.map +1 -1
  475. package/dist/runtime/ui-view-model.js +3 -5
  476. package/dist/runtime/ui-view-model.js.map +1 -1
  477. package/dist/services/compact/auto-compact.d.ts +82 -2
  478. package/dist/services/compact/auto-compact.d.ts.map +1 -1
  479. package/dist/services/compact/auto-compact.js +226 -44
  480. package/dist/services/compact/auto-compact.js.map +1 -1
  481. package/dist/services/compact/compact.d.ts +54 -37
  482. package/dist/services/compact/compact.d.ts.map +1 -1
  483. package/dist/services/compact/compact.js +512 -127
  484. package/dist/services/compact/compact.js.map +1 -1
  485. package/dist/services/compact/coordinator.d.ts +5 -1
  486. package/dist/services/compact/coordinator.d.ts.map +1 -1
  487. package/dist/services/compact/coordinator.js +10 -1
  488. package/dist/services/compact/coordinator.js.map +1 -1
  489. package/dist/services/compact/fingerprint.d.ts +27 -0
  490. package/dist/services/compact/fingerprint.d.ts.map +1 -0
  491. package/dist/services/compact/fingerprint.js +69 -0
  492. package/dist/services/compact/fingerprint.js.map +1 -0
  493. package/dist/services/compact/index.d.ts +7 -5
  494. package/dist/services/compact/index.d.ts.map +1 -1
  495. package/dist/services/compact/index.js +19 -6
  496. package/dist/services/compact/index.js.map +1 -1
  497. package/dist/services/compact/planner.d.ts +41 -0
  498. package/dist/services/compact/planner.d.ts.map +1 -0
  499. package/dist/services/compact/planner.js +102 -0
  500. package/dist/services/compact/planner.js.map +1 -0
  501. package/dist/services/compact/semantic-summary.d.ts +93 -0
  502. package/dist/services/compact/semantic-summary.d.ts.map +1 -0
  503. package/dist/services/compact/semantic-summary.js +158 -0
  504. package/dist/services/compact/semantic-summary.js.map +1 -0
  505. package/dist/services/compact/summary-generator.d.ts +23 -0
  506. package/dist/services/compact/summary-generator.d.ts.map +1 -1
  507. package/dist/services/compact/summary-generator.js +173 -39
  508. package/dist/services/compact/summary-generator.js.map +1 -1
  509. package/dist/services/config-dir.d.ts +1 -1
  510. package/dist/services/config-dir.d.ts.map +1 -1
  511. package/dist/services/config-dir.js +2 -1
  512. package/dist/services/config-dir.js.map +1 -1
  513. package/dist/services/config.d.ts +2 -16
  514. package/dist/services/config.d.ts.map +1 -1
  515. package/dist/services/config.js +2 -29
  516. package/dist/services/config.js.map +1 -1
  517. package/dist/services/doctor.d.ts +0 -2
  518. package/dist/services/doctor.d.ts.map +1 -1
  519. package/dist/services/doctor.js +39 -64
  520. package/dist/services/doctor.js.map +1 -1
  521. package/dist/services/file-context.d.ts.map +1 -1
  522. package/dist/services/file-context.js +29 -33
  523. package/dist/services/file-context.js.map +1 -1
  524. package/dist/services/global-config.d.ts +8 -2
  525. package/dist/services/global-config.d.ts.map +1 -1
  526. package/dist/services/global-config.js +8 -0
  527. package/dist/services/global-config.js.map +1 -1
  528. package/dist/services/llm.d.ts +3 -0
  529. package/dist/services/llm.d.ts.map +1 -1
  530. package/dist/services/llm.js +7 -0
  531. package/dist/services/llm.js.map +1 -1
  532. package/dist/services/project-instructions.d.ts.map +1 -1
  533. package/dist/services/project-instructions.js +10 -17
  534. package/dist/services/project-instructions.js.map +1 -1
  535. package/dist/services/safe-project-reader.d.ts +30 -0
  536. package/dist/services/safe-project-reader.d.ts.map +1 -0
  537. package/dist/services/safe-project-reader.js +141 -0
  538. package/dist/services/safe-project-reader.js.map +1 -0
  539. package/dist/services/session-storage.d.ts +134 -5
  540. package/dist/services/session-storage.d.ts.map +1 -1
  541. package/dist/services/session-storage.js +727 -57
  542. package/dist/services/session-storage.js.map +1 -1
  543. package/dist/services/usage-state.d.ts +7 -0
  544. package/dist/services/usage-state.d.ts.map +1 -1
  545. package/dist/services/usage-state.js +117 -16
  546. package/dist/services/usage-state.js.map +1 -1
  547. package/dist/skills/builtin/code-review/SKILL.md +51 -0
  548. package/dist/skills/builtin/security-check/SKILL.md +54 -0
  549. package/dist/skills/builtin/test-gen/SKILL.md +49 -0
  550. package/dist/terminal-ui/launch.d.ts +3 -1
  551. package/dist/terminal-ui/launch.d.ts.map +1 -1
  552. package/dist/terminal-ui/launch.js +19 -3
  553. package/dist/terminal-ui/launch.js.map +1 -1
  554. package/dist/tools/core/common.d.ts +34 -0
  555. package/dist/tools/core/common.d.ts.map +1 -0
  556. package/dist/tools/core/common.js +164 -0
  557. package/dist/tools/core/common.js.map +1 -0
  558. package/dist/tools/core/edit-file.d.ts +10 -0
  559. package/dist/tools/core/edit-file.d.ts.map +1 -0
  560. package/dist/tools/core/edit-file.js +301 -0
  561. package/dist/tools/core/edit-file.js.map +1 -0
  562. package/dist/tools/core/exec-command.d.ts +2 -0
  563. package/dist/tools/core/exec-command.d.ts.map +1 -0
  564. package/dist/tools/core/exec-command.js +347 -0
  565. package/dist/tools/core/exec-command.js.map +1 -0
  566. package/dist/tools/core/glob.d.ts +2 -0
  567. package/dist/tools/core/glob.d.ts.map +1 -0
  568. package/dist/tools/core/glob.js +133 -0
  569. package/dist/tools/core/glob.js.map +1 -0
  570. package/dist/tools/core/grep.d.ts +12 -0
  571. package/dist/tools/core/grep.d.ts.map +1 -0
  572. package/dist/tools/core/grep.js +223 -0
  573. package/dist/tools/core/grep.js.map +1 -0
  574. package/dist/tools/core/index.d.ts +15 -0
  575. package/dist/tools/core/index.d.ts.map +1 -0
  576. package/dist/tools/core/index.js +31 -0
  577. package/dist/tools/core/index.js.map +1 -0
  578. package/dist/tools/core/list-files.d.ts +2 -0
  579. package/dist/tools/core/list-files.d.ts.map +1 -0
  580. package/dist/tools/core/list-files.js +87 -0
  581. package/dist/tools/core/list-files.js.map +1 -0
  582. package/dist/tools/core/read-file.d.ts +2 -0
  583. package/dist/tools/core/read-file.d.ts.map +1 -0
  584. package/dist/tools/core/read-file.js +129 -0
  585. package/dist/tools/core/read-file.js.map +1 -0
  586. package/dist/tools/core/write-file.d.ts +2 -0
  587. package/dist/tools/core/write-file.d.ts.map +1 -0
  588. package/dist/tools/core/write-file.js +65 -0
  589. package/dist/tools/core/write-file.js.map +1 -0
  590. package/dist/tools/todo.d.ts +3 -4
  591. package/dist/tools/todo.d.ts.map +1 -1
  592. package/dist/tools/todo.js +80 -79
  593. package/dist/tools/todo.js.map +1 -1
  594. package/dist/tui-ui/chrome-view-model.js +1 -1
  595. package/dist/tui-ui/chrome-view-model.js.map +1 -1
  596. package/dist/tui-ui/layout.js +1 -1
  597. package/dist/tui-ui/layout.js.map +1 -1
  598. package/docs/migration/v0.1.9-to-v0.2.0.md +98 -0
  599. package/docs/orion.example.json +79 -0
  600. package/docs/plan/v0.2.0-dsh-harness-redesign-plan.md +1234 -0
  601. package/docs/plan/v0.2.0-release-checklist.md +91 -0
  602. package/docs/readme.md +27 -0
  603. package/npm-shrinkwrap.json +9 -438
  604. package/package.json +19 -11
  605. package/dist/agents/coder.d.ts +0 -12
  606. package/dist/agents/coder.d.ts.map +0 -1
  607. package/dist/agents/coder.js +0 -48
  608. package/dist/agents/coder.js.map +0 -1
  609. package/dist/agents/coordinator.d.ts +0 -86
  610. package/dist/agents/coordinator.d.ts.map +0 -1
  611. package/dist/agents/coordinator.js +0 -251
  612. package/dist/agents/coordinator.js.map +0 -1
  613. package/dist/agents/fork.d.ts +0 -69
  614. package/dist/agents/fork.d.ts.map +0 -1
  615. package/dist/agents/fork.js +0 -164
  616. package/dist/agents/fork.js.map +0 -1
  617. package/dist/agents/leader.d.ts +0 -12
  618. package/dist/agents/leader.d.ts.map +0 -1
  619. package/dist/agents/leader.js +0 -49
  620. package/dist/agents/leader.js.map +0 -1
  621. package/dist/agents/router.d.ts +0 -59
  622. package/dist/agents/router.d.ts.map +0 -1
  623. package/dist/agents/router.js +0 -193
  624. package/dist/agents/router.js.map +0 -1
  625. package/dist/agents/worker-pool.d.ts +0 -72
  626. package/dist/agents/worker-pool.d.ts.map +0 -1
  627. package/dist/agents/worker-pool.js +0 -224
  628. package/dist/agents/worker-pool.js.map +0 -1
  629. package/dist/commands/legacy-commands.d.ts +0 -4
  630. package/dist/commands/legacy-commands.d.ts.map +0 -1
  631. package/dist/commands/legacy-commands.js +0 -44
  632. package/dist/commands/legacy-commands.js.map +0 -1
  633. package/dist/core/agent.d.ts +0 -84
  634. package/dist/core/agent.d.ts.map +0 -1
  635. package/dist/core/agent.js +0 -58
  636. package/dist/core/agent.js.map +0 -1
  637. package/dist/core/brain.d.ts +0 -50
  638. package/dist/core/brain.d.ts.map +0 -1
  639. package/dist/core/brain.js +0 -95
  640. package/dist/core/brain.js.map +0 -1
  641. package/dist/framework/tool-scheduler.d.ts +0 -186
  642. package/dist/framework/tool-scheduler.d.ts.map +0 -1
  643. package/dist/framework/tool-scheduler.js +0 -558
  644. package/dist/framework/tool-scheduler.js.map +0 -1
  645. package/dist/harness/harness.d.ts +0 -58
  646. package/dist/harness/harness.d.ts.map +0 -1
  647. package/dist/harness/harness.js +0 -195
  648. package/dist/harness/harness.js.map +0 -1
  649. package/dist/harness/safety.d.ts +0 -101
  650. package/dist/harness/safety.d.ts.map +0 -1
  651. package/dist/harness/safety.js +0 -322
  652. package/dist/harness/safety.js.map +0 -1
  653. package/dist/init.d.ts +0 -108
  654. package/dist/init.d.ts.map +0 -1
  655. package/dist/init.js +0 -393
  656. package/dist/init.js.map +0 -1
  657. package/dist/ink-ui/App.d.ts +0 -9
  658. package/dist/ink-ui/App.d.ts.map +0 -1
  659. package/dist/ink-ui/App.js +0 -12
  660. package/dist/ink-ui/App.js.map +0 -1
  661. package/dist/ink-ui/components/Markdown.d.ts +0 -10
  662. package/dist/ink-ui/components/Markdown.d.ts.map +0 -1
  663. package/dist/ink-ui/components/Markdown.js +0 -210
  664. package/dist/ink-ui/components/Markdown.js.map +0 -1
  665. package/dist/ink-ui/components/NativeCursor.d.ts +0 -12
  666. package/dist/ink-ui/components/NativeCursor.d.ts.map +0 -1
  667. package/dist/ink-ui/components/NativeCursor.js +0 -35
  668. package/dist/ink-ui/components/NativeCursor.js.map +0 -1
  669. package/dist/ink-ui/components/PixelHorseBanner.d.ts +0 -8
  670. package/dist/ink-ui/components/PixelHorseBanner.d.ts.map +0 -1
  671. package/dist/ink-ui/components/PixelHorseBanner.js +0 -97
  672. package/dist/ink-ui/components/PixelHorseBanner.js.map +0 -1
  673. package/dist/ink-ui/components/PromptInput.d.ts +0 -13
  674. package/dist/ink-ui/components/PromptInput.d.ts.map +0 -1
  675. package/dist/ink-ui/components/PromptInput.js +0 -30
  676. package/dist/ink-ui/components/PromptInput.js.map +0 -1
  677. package/dist/ink-ui/components/RunningHorseIndicator.d.ts +0 -13
  678. package/dist/ink-ui/components/RunningHorseIndicator.d.ts.map +0 -1
  679. package/dist/ink-ui/components/RunningHorseIndicator.js +0 -53
  680. package/dist/ink-ui/components/RunningHorseIndicator.js.map +0 -1
  681. package/dist/ink-ui/components/SelectList.d.ts +0 -16
  682. package/dist/ink-ui/components/SelectList.d.ts.map +0 -1
  683. package/dist/ink-ui/components/SelectList.js +0 -60
  684. package/dist/ink-ui/components/SelectList.js.map +0 -1
  685. package/dist/ink-ui/components/StatusLine.d.ts +0 -11
  686. package/dist/ink-ui/components/StatusLine.d.ts.map +0 -1
  687. package/dist/ink-ui/components/StatusLine.js +0 -70
  688. package/dist/ink-ui/components/StatusLine.js.map +0 -1
  689. package/dist/ink-ui/components/ToolActivity.d.ts +0 -19
  690. package/dist/ink-ui/components/ToolActivity.d.ts.map +0 -1
  691. package/dist/ink-ui/components/ToolActivity.js +0 -134
  692. package/dist/ink-ui/components/ToolActivity.js.map +0 -1
  693. package/dist/ink-ui/components/Transcript.d.ts +0 -14
  694. package/dist/ink-ui/components/Transcript.d.ts.map +0 -1
  695. package/dist/ink-ui/components/Transcript.js +0 -66
  696. package/dist/ink-ui/components/Transcript.js.map +0 -1
  697. package/dist/ink-ui/controllers/chat-controller.d.ts +0 -2
  698. package/dist/ink-ui/controllers/chat-controller.d.ts.map +0 -1
  699. package/dist/ink-ui/controllers/chat-controller.js.map +0 -1
  700. package/dist/ink-ui/hooks/use-raw-input-bridge.d.ts +0 -6
  701. package/dist/ink-ui/hooks/use-raw-input-bridge.d.ts.map +0 -1
  702. package/dist/ink-ui/hooks/use-raw-input-bridge.js +0 -27
  703. package/dist/ink-ui/hooks/use-raw-input-bridge.js.map +0 -1
  704. package/dist/ink-ui/hooks/use-terminal-size.d.ts +0 -7
  705. package/dist/ink-ui/hooks/use-terminal-size.d.ts.map +0 -1
  706. package/dist/ink-ui/hooks/use-terminal-size.js +0 -34
  707. package/dist/ink-ui/hooks/use-terminal-size.js.map +0 -1
  708. package/dist/ink-ui/launch.d.ts +0 -9
  709. package/dist/ink-ui/launch.d.ts.map +0 -1
  710. package/dist/ink-ui/launch.js +0 -101
  711. package/dist/ink-ui/launch.js.map +0 -1
  712. package/dist/ink-ui/runtime/grapheme.d.ts +0 -10
  713. package/dist/ink-ui/runtime/grapheme.d.ts.map +0 -1
  714. package/dist/ink-ui/runtime/grapheme.js +0 -17
  715. package/dist/ink-ui/runtime/grapheme.js.map +0 -1
  716. package/dist/ink-ui/runtime/input-buffer.d.ts +0 -10
  717. package/dist/ink-ui/runtime/input-buffer.d.ts.map +0 -1
  718. package/dist/ink-ui/runtime/input-buffer.js +0 -18
  719. package/dist/ink-ui/runtime/input-buffer.js.map +0 -1
  720. package/dist/ink-ui/runtime/layout-budget.d.ts +0 -13
  721. package/dist/ink-ui/runtime/layout-budget.d.ts.map +0 -1
  722. package/dist/ink-ui/runtime/layout-budget.js +0 -25
  723. package/dist/ink-ui/runtime/layout-budget.js.map +0 -1
  724. package/dist/ink-ui/runtime/native-cursor.d.ts +0 -62
  725. package/dist/ink-ui/runtime/native-cursor.d.ts.map +0 -1
  726. package/dist/ink-ui/runtime/native-cursor.js +0 -398
  727. package/dist/ink-ui/runtime/native-cursor.js.map +0 -1
  728. package/dist/ink-ui/runtime/prompt-layout.d.ts +0 -10
  729. package/dist/ink-ui/runtime/prompt-layout.d.ts.map +0 -1
  730. package/dist/ink-ui/runtime/prompt-layout.js +0 -21
  731. package/dist/ink-ui/runtime/prompt-layout.js.map +0 -1
  732. package/dist/ink-ui/runtime/raw-input.d.ts +0 -4
  733. package/dist/ink-ui/runtime/raw-input.d.ts.map +0 -1
  734. package/dist/ink-ui/runtime/raw-input.js +0 -15
  735. package/dist/ink-ui/runtime/raw-input.js.map +0 -1
  736. package/dist/ink-ui/runtime/transcript-state.d.ts +0 -37
  737. package/dist/ink-ui/runtime/transcript-state.d.ts.map +0 -1
  738. package/dist/ink-ui/runtime/transcript-state.js +0 -91
  739. package/dist/ink-ui/runtime/transcript-state.js.map +0 -1
  740. package/dist/ink-ui/screens/ReplScreen.d.ts +0 -24
  741. package/dist/ink-ui/screens/ReplScreen.d.ts.map +0 -1
  742. package/dist/ink-ui/screens/ReplScreen.js +0 -756
  743. package/dist/ink-ui/screens/ReplScreen.js.map +0 -1
  744. package/dist/ink-ui/types.d.ts +0 -2
  745. package/dist/ink-ui/types.d.ts.map +0 -1
  746. package/dist/ink-ui/types.js.map +0 -1
  747. package/dist/runtime/chat-checkpoint.d.ts +0 -17
  748. package/dist/runtime/chat-checkpoint.d.ts.map +0 -1
  749. package/dist/runtime/chat-checkpoint.js +0 -105
  750. package/dist/runtime/chat-checkpoint.js.map +0 -1
  751. package/dist/runtime/chat-command-scope.d.ts +0 -5
  752. package/dist/runtime/chat-command-scope.d.ts.map +0 -1
  753. package/dist/runtime/chat-command-scope.js +0 -22
  754. package/dist/runtime/chat-command-scope.js.map +0 -1
  755. package/dist/runtime/chat-controller.d.ts +0 -62
  756. package/dist/runtime/chat-controller.d.ts.map +0 -1
  757. package/dist/runtime/chat-controller.js +0 -1630
  758. package/dist/runtime/chat-controller.js.map +0 -1
  759. package/dist/runtime/chat-effort.d.ts +0 -5
  760. package/dist/runtime/chat-effort.d.ts.map +0 -1
  761. package/dist/runtime/chat-effort.js +0 -47
  762. package/dist/runtime/chat-effort.js.map +0 -1
  763. package/dist/runtime/chat-presentation.d.ts +0 -63
  764. package/dist/runtime/chat-presentation.d.ts.map +0 -1
  765. package/dist/runtime/chat-presentation.js +0 -561
  766. package/dist/runtime/chat-presentation.js.map +0 -1
  767. package/dist/runtime/chat-trace.d.ts +0 -52
  768. package/dist/runtime/chat-trace.d.ts.map +0 -1
  769. package/dist/runtime/chat-trace.js +0 -234
  770. package/dist/runtime/chat-trace.js.map +0 -1
  771. package/dist/runtime/chat-workspace.d.ts +0 -22
  772. package/dist/runtime/chat-workspace.d.ts.map +0 -1
  773. package/dist/runtime/chat-workspace.js +0 -154
  774. package/dist/runtime/chat-workspace.js.map +0 -1
  775. package/dist/runtime/goals/accounting.d.ts +0 -45
  776. package/dist/runtime/goals/accounting.d.ts.map +0 -1
  777. package/dist/runtime/goals/accounting.js +0 -114
  778. package/dist/runtime/goals/accounting.js.map +0 -1
  779. package/dist/runtime/goals/coordinator.d.ts +0 -89
  780. package/dist/runtime/goals/coordinator.d.ts.map +0 -1
  781. package/dist/runtime/goals/coordinator.js +0 -1481
  782. package/dist/runtime/goals/coordinator.js.map +0 -1
  783. package/dist/runtime/goals/lifecycle.d.ts +0 -13
  784. package/dist/runtime/goals/lifecycle.d.ts.map +0 -1
  785. package/dist/runtime/goals/lifecycle.js +0 -46
  786. package/dist/runtime/goals/lifecycle.js.map +0 -1
  787. package/dist/runtime/goals/prompt.d.ts +0 -16
  788. package/dist/runtime/goals/prompt.d.ts.map +0 -1
  789. package/dist/runtime/goals/prompt.js +0 -88
  790. package/dist/runtime/goals/prompt.js.map +0 -1
  791. package/dist/runtime/goals/tools.d.ts +0 -61
  792. package/dist/runtime/goals/tools.d.ts.map +0 -1
  793. package/dist/runtime/goals/tools.js +0 -568
  794. package/dist/runtime/goals/tools.js.map +0 -1
  795. package/dist/sdk/index.d.ts +0 -10
  796. package/dist/sdk/index.d.ts.map +0 -1
  797. package/dist/sdk/index.js +0 -23
  798. package/dist/sdk/index.js.map +0 -1
  799. package/dist/sdk/init.d.ts +0 -24
  800. package/dist/sdk/init.d.ts.map +0 -1
  801. package/dist/sdk/init.js +0 -48
  802. package/dist/sdk/init.js.map +0 -1
  803. package/dist/sdk/query.d.ts +0 -19
  804. package/dist/sdk/query.d.ts.map +0 -1
  805. package/dist/sdk/query.js +0 -42
  806. package/dist/sdk/query.js.map +0 -1
  807. package/dist/sdk/sessions.d.ts +0 -19
  808. package/dist/sdk/sessions.d.ts.map +0 -1
  809. package/dist/sdk/sessions.js +0 -57
  810. package/dist/sdk/sessions.js.map +0 -1
  811. package/dist/sdk/types.d.ts +0 -47
  812. package/dist/sdk/types.d.ts.map +0 -1
  813. package/dist/sdk/types.js +0 -8
  814. package/dist/sdk/types.js.map +0 -1
  815. package/dist/services/agent-runner.d.ts +0 -71
  816. package/dist/services/agent-runner.d.ts.map +0 -1
  817. package/dist/services/agent-runner.js +0 -185
  818. package/dist/services/agent-runner.js.map +0 -1
  819. package/dist/services/compact/micro-compact.d.ts +0 -21
  820. package/dist/services/compact/micro-compact.d.ts.map +0 -1
  821. package/dist/services/compact/micro-compact.js +0 -99
  822. package/dist/services/compact/micro-compact.js.map +0 -1
  823. package/dist/services/task-manager.d.ts +0 -161
  824. package/dist/services/task-manager.d.ts.map +0 -1
  825. package/dist/services/task-manager.js +0 -315
  826. package/dist/services/task-manager.js.map +0 -1
  827. package/dist/skills/discovery.d.ts +0 -22
  828. package/dist/skills/discovery.d.ts.map +0 -1
  829. package/dist/skills/discovery.js +0 -75
  830. package/dist/skills/discovery.js.map +0 -1
  831. package/dist/skills/index.d.ts +0 -11
  832. package/dist/skills/index.d.ts.map +0 -1
  833. package/dist/skills/index.js.map +0 -1
  834. package/dist/skills/loader.d.ts +0 -53
  835. package/dist/skills/loader.d.ts.map +0 -1
  836. package/dist/skills/loader.js +0 -421
  837. package/dist/skills/loader.js.map +0 -1
  838. package/dist/skills/registry.d.ts +0 -41
  839. package/dist/skills/registry.d.ts.map +0 -1
  840. package/dist/skills/registry.js +0 -157
  841. package/dist/skills/registry.js.map +0 -1
  842. package/dist/skills/runtime.d.ts +0 -46
  843. package/dist/skills/runtime.d.ts.map +0 -1
  844. package/dist/skills/runtime.js +0 -364
  845. package/dist/skills/runtime.js.map +0 -1
  846. package/dist/skills/types.d.ts +0 -112
  847. package/dist/skills/types.d.ts.map +0 -1
  848. package/dist/skills/types.js +0 -24
  849. package/dist/skills/types.js.map +0 -1
  850. package/dist/tools/index.d.ts +0 -52
  851. package/dist/tools/index.d.ts.map +0 -1
  852. package/dist/tools/index.js +0 -2268
  853. package/dist/tools/index.js.map +0 -1
  854. package/dist/tools/mcp.d.ts +0 -99
  855. package/dist/tools/mcp.d.ts.map +0 -1
  856. package/dist/tools/mcp.js +0 -695
  857. package/dist/tools/mcp.js.map +0 -1
  858. package/dist/tools/plan.d.ts +0 -17
  859. package/dist/tools/plan.d.ts.map +0 -1
  860. package/dist/tools/plan.js +0 -84
  861. package/dist/tools/plan.js.map +0 -1
package/README.zh-CN.md CHANGED
@@ -1,636 +1,194 @@
1
1
  # Orion Code
2
2
 
3
- > **Orion Code — 通用 Agent 驾驭框架**
4
- > 一个 CLI 驱动的编码 Agent,具备安全边界、工具编排、记忆系统和上下文管理。
5
- >
6
- > v0.1.8 — 仓库治理、经审计的 issue 修复与可操作的运行时恢复
3
+ 面向终端的目标驱动 Coding Agent
7
4
 
8
- [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
9
- [![Node.js](https://img.shields.io/badge/node-%3E%3D20.0-green.svg)](https://nodejs.org)
10
- [![TypeScript](https://img.shields.io/badge/typescript-5.0-blue.svg)](https://www.typescriptlang.org)
11
- [![npm](https://img.shields.io/npm/v/%40orion-agents%2Forion-code.svg)](https://www.npmjs.com/package/@orion-agents/orion-code)
5
+ > v0.2.0 发布候选:单一 Agent Loop、精确能力选择、按需 Skill/MCP、证据驱动 Goal 完成与崩溃可恢复。
12
6
 
13
- ---
7
+ [English](README.md) · [架构主计划](docs/plan/v0.2.0-dsh-harness-redesign-plan.md) ·
8
+ [迁移指南](docs/migration/v0.1.9-to-v0.2.0.md) ·
9
+ [准出清单](docs/plan/v0.2.0-release-checklist.md)
14
10
 
15
- **🌍 语言**: [English](README.md) | 简体中文
11
+ ## v0.2.0 带来了什么
16
12
 
17
- ---
13
+ Orion 现在只有一条产品执行主干:
18
14
 
19
- ## 概览
20
-
21
- **Orion Code** 是一个终端编码 Agent,它将 LLM API 封装在安全检查、工具编排、会话管理和上下文感知的驾驭层中。
22
-
23
- ### 核心理念
24
-
25
- | 维度 | 说明 |
26
- | ------------------- | --------------------------------------- |
27
- | **AI 如马** | 强大的模型需要引导和约束 |
28
- | **Orion Code 如缰** | 精准控制方向,防止跑偏失控 |
29
- | **Harness 系统** | 安全边界、任务约束、结果验证 |
30
- | **工具调用** | LLM 自动调用工具完成任务 |
31
- | **记忆系统** | 分层记忆:工作 / 短期 / 长期 / 语义搜索 |
32
- | **MCP 协议** | 支持连接外部 MCP Server |
33
-
34
- ---
15
+ ```text
16
+ Thread → Turn → Step → Item
17
+
18
+ ├─ 冻结的 prompt/model/capability 快照
19
+ └─ Capability → Policy → Approval → Sandbox → Execute → durable receipt
20
+ ```
35
21
 
36
- ## 核心特性
22
+ - **默认更轻。** 普通 coding 首步只暴露 7 个精确 core tools,不再把全部 built-in schema
23
+ 重复发送给模型。Git、LSP、Web、Skill、MCP、batch 和 subagent 按任务选择。
24
+ - **执行路径唯一。** root turn 与 child agent 共用同一种 Agent Loop 和 ToolGateway;模型看到的 schema
25
+ 与实际 dispatch 由同一个 Step Snapshot 绑定。
26
+ - **扩展真正按需。** Skill catalog 只含有界描述,选中后才读取定义和资源;MCP server 在精确选择前
27
+ 不连接、不起进程、不打开 socket,空闲后释放 lease。
28
+ - **完成状态可证明。** history、TaskContext evidence、Goal、StopDecision、Capability 与 Plan receipts
29
+ 在同一个 TurnCommit 中提交。持续有进展的 Goal 可以运行 20+ turns,只在 completion audit 通过后
30
+ 自动退出。
31
+ - **崩溃后可恢复。** append-only runtime facts 是权威源;UI projection、Compact、旧 Session 迁移和
32
+ resume 都进行 digest 校验,半提交或冲突状态 fail closed。
33
+ - **交互一致。** TUI、terminal、print、Plan、Goal、Compact 与 subagent 使用同一版本化协议。
37
34
 
38
- | 特性 | 说明 |
39
- | --------------- | -------------------------------------------------------------------------- |
40
- | **工具编排** | 29 个内置工具:文件读写、Shell、网页、记忆、Git、LSP、Goal 和计划 |
41
- | **多模型支持** | OpenAI、Claude、DashScope(GLM/Qwen/Kimi)、自定义端点 |
42
- | **上下文感知** | 每个模型独立的上下文窗口,95% 自动压缩 |
43
- | **动态发现** | 启动时自动通过 `/models` 端点发现模型信息 |
44
- | **MCP 协议** | 完整 MCP 支持,心跳检测 + 指数退避重连 |
45
- | **记忆系统** | 用户 / 项目 / 会话记忆,支持语义搜索 |
46
- | **会话管理** | 会话持久化、历史恢复、摘要生成 |
47
- | **持久 Goal** | typed 多轮 continuation、安全 restart/resume、逐项证据审计 |
48
- | **安全边界** | Bash 安全检查、审计日志、权限模式 |
49
- | **流式输出** | 实时 LLM 响应,Markdown 渲染 |
50
- | **TUI** | 默认且面向公众的主产品界面;支持 transcript、inspector、CJK 输入和工具输出 |
51
- | **terminal-ui** | 仅用于 runtime 验证、诊断、兼容性排查和必要回退的技术版本 |
52
- | **Ink** | 已废弃,不再承接新功能,计划在 v0.2.0 删除 |
53
- | **Print Mode** | 实验性 `-p/--print` 一次性入口,用于后续自动化/remote UI 验证 |
54
- | **状态栏** | 实时显示 Token 用量、成本、模型、上下文百分比 |
55
- | **模型配置** | `providers + models` profile,可显式绑定端点、协议和上下文能力 |
35
+ 架构借鉴 DeepSeek Harness 的 scope/resource lifecycle 和 Codex 的不可变执行契约,同时保留 Orion
36
+ 自己的 Goal/Evidence 完成模型。Orion **不是**插件市场或任意 JavaScript 插件宿主;Model、Skills、
37
+ MCP 仍是用户可见的扩展边界。
56
38
 
57
- ---
39
+ ## 安装
58
40
 
59
- ## 快速开始
41
+ 支持 Node.js 20、22、24。
60
42
 
61
- ### 环境要求
43
+ npm 已存在不可变的 `0.2.0` 发布凭据后:
62
44
 
63
- - Node.js 20、22 或 24 LTS
64
- - npm >= 9.0
45
+ ```bash
46
+ npm install -g @orion-agents/orion-code@0.2.0
47
+ orion --version
48
+ orion doctor
49
+ ```
65
50
 
66
- ### 安装运行
51
+ 从源码运行:
67
52
 
68
53
  ```bash
69
- # 克隆
70
54
  git clone https://github.com/orion-agents/orion-code.git
71
55
  cd orion-code
72
-
73
- # 安装依赖
74
56
  npm install
75
-
76
- # 构建
77
57
  npm run build
78
-
79
- # 配置 API Key(任选一种)
80
- # 方式 1: 环境变量
81
- export ORION_CODE_API_KEY=your-api-key
82
-
83
- # 方式 2: .env 文件
84
- cp .env.example .env
85
-
86
- # 方式 3: ~/.orion-code/orion.json(推荐)
87
- # 首次运行时自动创建
88
-
89
- # 启动默认公众产品 TUI
90
- npm start
91
-
92
- # 显式启动 TUI
93
- npm start -- --ui tui
94
-
95
- # 技术诊断/兼容回退
96
- npm start -- --ui terminal
97
-
98
- # 已废弃的兼容 renderer(v0.2.0 删除)
99
- npm start -- --ui ink
100
-
101
- # 尝试早期实验性的非交互入口
102
- npm start -- --print "review the current git diff"
103
- ```
104
-
105
- ### 全局安装
106
-
107
- 固定安装该精确发布版本:
108
-
109
- ```bash
110
- npm install -g @orion-agents/orion-code@0.1.8
111
- # 安装当前预发布渠道:
112
- npm install -g @orion-agents/orion-code@next
113
- # 任意目录运行
114
- orion
58
+ npm run start
115
59
  ```
116
60
 
117
- 也可以在源码工作树中使用 `npm ci && npm run build && npm start`。
118
-
119
- > **发布状态**:`0.1.8` 已通过 npm `next` dist-tag 发布,并由 `v0.1.8` tag 标识。
120
- > 稳定版 `latest` 仍为 `0.1.4`;稳定版提升是独立决策。
121
-
122
- 公众体验、交互优化和新增工作流优先落在 TUI。`terminal-ui` 不作为与
123
- TUI 并行发展的公众产品;Ink 只保留迁移期兼容,不再增加产品能力。
124
-
125
- ### 持久 Goal 安全契约
126
-
127
- `/target <目标>` 在当前 session 创建唯一 Active Goal。自动 continuation 是结构化 runtime
128
- 请求,不会伪装成用户输入,也不会写入 transcript。进程重启或 `/resume` 后,原 Active Goal
129
- 会以可见的 paused 恢复态加载;用户必须显式执行 `/target resume` 才会继续。
130
-
131
- 模型只能请求 `complete` 或 `blocked`,不能直接写入终态。Orion 会记录真实工具/runtime
132
- 证据并逐项审计 success criterion;缺失、失败、未映射、类型不匹配、过期或 stale 证据都会让 Goal 保持未完成。
133
- 需要人工验收的 criterion 只能由用户执行 `/target confirm <criterion-id>` 生成可信的 `user`
134
- evidence,模型工具不能伪造该确认。
135
- v0.1.2 只覆盖单 Session、单 Active Goal,不承诺多 Goal 调度或无人值守后台执行。
61
+ ## 配置模型
136
62
 
137
- 完成审计通过后,Orion 会自动清除 session 的 Active Goal 绑定,回到当前
138
- BUILD/PLAN/AUTO 基础模式,并保留 terminal Goal sidecar 作为可审计的完成凭据。若要在完成前
139
- 放弃 Goal,使用 `/goal exit`:它会中止当前 turn、拒绝待确认工具并删除持久 Goal。明确的自然语言请求(如
140
- `退出 goal 模式`)会走同一个确定性 runtime 边界,不再依赖模型自行判断。完成请求被拒绝后,
141
- 同一 turn 没有新增 runtime 证据就不能重复提交;自动 continuation 的模型/工具预算也低于新的
142
- 用户 turn。v0.1.6 明确不再支持旧 `/goal clear --yes` 与 `/target clear --yes` 语法。
63
+ Orion 读取 `~/.orion-code/orion.json`。可从
64
+ [`docs/orion.example.json`](docs/orion.example.json) 开始。Provider key 可使用本地值或
65
+ `$HUOSHAN_API_KEY` 这样的环境变量引用;不要提交密钥。
143
66
 
144
- ---
145
-
146
- ## 配置
147
-
148
- ### 用户配置 (`~/.orion-code/orion.json`)
149
-
150
- 当前推荐使用 `providers + models` 格式。旧的
151
- `apiKey/apiBaseUrl/defaultModel/fallbackModel` 四字段格式仍可兼容读取,但启动时会提示迁移:
67
+ 最小 OpenAI-compatible 示例:
152
68
 
153
69
  ```json
154
70
  {
71
+ "schemaVersion": 1,
155
72
  "providers": [
156
73
  {
157
74
  "id": "my-provider",
158
- "baseUrl": "https://api.example.com/v1",
159
- "apiKey": "$MY_API_KEY",
75
+ "displayName": "My Provider",
76
+ "baseUrl": "https://example.invalid/v1",
77
+ "apiKey": "$MY_PROVIDER_API_KEY",
160
78
  "protocol": "openai-completions"
161
79
  }
162
80
  ],
163
81
  "models": [
164
82
  {
165
83
  "id": "my-model",
84
+ "displayName": "My Model",
166
85
  "provider": "my-provider",
167
86
  "model": "model-name",
168
87
  "contextWindow": 200000,
169
- "maxOutputTokens": 64000
88
+ "maxOutputTokens": 8192
170
89
  }
171
90
  ],
172
91
  "defaultModel": "my-model",
173
- "toolConfirmation": "deny",
174
- "subagents": { "mode": "auto", "maxParallel": 3 }
92
+ "toolConfirmation": "allow"
175
93
  }
176
94
  ```
177
95
 
178
- `provider.apiKey` 支持 `$ENV_VAR` 引用;模型上下文和最大输出应按实际 Provider
179
- 能力填写。renderer 不从配置文件持久化读取:直接运行 `orion` 使用默认 TUI,
180
- `--ui terminal` 只用于技术诊断和兼容回退。
96
+ 配置后运行 `orion doctor`。诊断不需要输出密钥本身。
181
97
 
182
- ### 配置优先级
183
-
184
- ```
185
- CLI 参数 > ~/.orion-code/orion.json > 环境变量 > 内部默认
186
- ```
187
-
188
- ### 项目级工具规则(`allowedTools`)
189
-
190
- 权限规则写在 `projects["<项目绝对路径>"].allowedTools`,只作用于该仓库。规则叠加在
191
- 工具自身的权限策略之上:**只能收紧,不能放宽**。
192
-
193
- ```json
194
- {
195
- "projects": {
196
- "/Users/me/work/api": {
197
- "allowedTools": [
198
- "exec_command(git status*)",
199
- "exec_command(npm test*)",
200
- "ask:exec_command(git push*)",
201
- "deny:read_file(*.env)"
202
- ]
203
- }
204
- }
205
- }
206
- ```
207
-
208
- - 语法:`[allow|ask|deny:]工具名[(参数通配)]`;`*` 匹配任意字符串,`?` 匹配单个字符,
209
- 工具名写 `*` 表示匹配所有工具。
210
- - 参数通配匹配的是调用参数中的 `command` / `file_path` / `path` / `url` / `pattern` /
211
- `query`(按此顺序取第一个非空字符串)。
212
- - 冲突时按“最严格优先”解析:`deny` > `ask` > `allow`,与书写顺序无关。
213
- - `allow` 仅用于免去交互确认,**不会**覆盖工具自身的 `deny`、**不会**突破 plan 模式的
214
- 只读约束,也**不会**自动放行破坏性调用。
215
- - 无法解析的条目会被忽略而不是静默放行,可通过 `/config` 查看解析结果与非法条目。
216
-
217
- ### 命令执行沙箱(`sandbox`)
218
-
219
- `exec_command` 可在操作系统级沙箱内执行。这是**安全 POC**:后端在运行
220
- 时实测探测,已配置但不可用的沙箱会**fail closed**(拒绝执行),而不会静默降级为
221
- 无沙箱执行。
222
-
223
- ```json
224
- {
225
- "sandbox": {
226
- "profile": "none",
227
- "backend": "auto",
228
- "allowNetwork": false,
229
- "writableRoots": [],
230
- "image": "alpine:latest"
231
- }
232
- }
233
- ```
234
-
235
- - **归属** — `sandbox` 位于全局配置(`~/.orion-code/orion.json`),并可在项目级
236
- `projects["<项目绝对路径>"].sandbox` 覆盖。项目级按 key 单独覆盖,缺省 key 继承全局。
237
- - **`profile`** — `none`(默认,不隔离,等价于旧版 `sh -c`)、`read-only`(任何位置不可写、无网络)、
238
- `workspace-write`(写权限限定在工作区与临时目录,除非 `allowNetwork: true` 否则仍禁网)。
239
- 未知取值(如新版 Orion 写入的更严格值)一律硬失败,绝不降级为 `none`。
240
- - **`backend`** — `auto`(默认,自动选首个可用后端)、`seatbelt`(macOS `sandbox-exec`)、
241
- `bubblewrap`(Linux `bwrap`)或 `docker`。每个后端都用真实执行探针校验,从不靠 `which` 推断。
242
- - **`image`** — 仅 `docker` 需要,指定运行所用的容器镜像。
243
- - **`writableRoots`** — `workspace-write` 可写入的额外宿主根目录(除工作区与临时目录外)。
244
- 非字符串 / 空项会被丢弃。
245
- - **迁移 / 回滚** — 新增 `sandbox` 完全向后兼容:默认 `profile: "none"` 与旧行为完全一致。
246
- 删除该 key(或回退到沙箱前的版本)是安全回滚;旧版 Orion 会忽略该未知字段。不涉及任何敏感信息,无需脱敏。
247
- - **已知限制** — `seatbelt` 不能嵌套在另一沙箱内(例如 Orion 自身运行在应用沙箱中时);
248
- `docker` 在独立进程树中运行命令,只约束被 bind-mount 的部分(镜像根文件系统已通过 `--read-only` 设为只读);
249
- 各后端均不限制 CPU / 内存。
250
-
251
- ### 环境变量
252
-
253
- | 变量 | 默认值 | 说明 |
254
- | ------------------------------- | ------------- | ------------------------------- |
255
- | `ORION_CODE_API_KEY` | - | LLM API 密钥 |
256
- | `ORION_CODE_API_BASE_URL` | - | API 基础 URL |
257
- | `ORION_CODE_MODEL` | `gpt-4o` | 默认模型 |
258
- | `ORION_CODE_MODE` | `development` | 运行模式 |
259
- | `ORION_CODE_LOG_LEVEL` | `info` | 日志级别 |
260
- | `ORION_CODE_EMBEDDING_PROVIDER` | - | Embedding 服务(ollama/openai) |
261
-
262
- 运行 `/config` 可查看当前生效配置,`orion --help` 可查看 CLI 级覆盖方式。
263
-
264
- ---
265
-
266
- ## 支持的模型
267
-
268
- ### 模型家族
269
-
270
- | 服务商 | 模型 | 端点 |
271
- | ---------------- | -------------------------------------------------- | ---------------- |
272
- | **GLM(智谱)** | `glm-5`, `glm-4` | DashScope coding |
273
- | **Qwen(通义)** | `qwen-turbo`, `qwen-plus`, `qwen-max`, `qwen-long` | DashScope coding |
274
- | **OpenAI** | `gpt-4o`, `gpt-4o-mini`, `gpt-4` | OpenAI API |
275
- | **Claude** | `claude-sonnet-4-6`, `claude-opus-4-8` | Anthropic API |
276
- | **DeepSeek** | `deepseek-chat`, `deepseek-reasoner` | DeepSeek API |
277
-
278
- ### 上下文窗口
279
-
280
- Orion Code 跟踪每个模型的上下文窗口,在 **95% 用量时自动压缩**:
281
-
282
- | 模型 | 上下文 | 最大输出 |
283
- | ------------------- | --------- | -------- |
284
- | `glm-5` | 202,752 | 8,192 |
285
- | `qwen-long` | 1,000,000 | 8,192 |
286
- | `qwen-plus` | 131,072 | 8,192 |
287
- | `gpt-4o` | 128,000 | 16,384 |
288
- | `claude-sonnet-4-6` | 200,000 | 16,000 |
289
- | `claude-opus-4-8` | 200,000 | 32,000 |
290
-
291
- 未知模型默认使用 **128,000** 上下文。
292
-
293
- ### 动态发现
294
-
295
- 启动时 Orion Code 会查询 `/models` 端点获取上下文数据。若端点不支持(如 DashScope coding 返回 404),则静默回退到内置数据库。
296
-
297
- ### 模型命令
98
+ ## 使用 Orion
298
99
 
299
100
  ```bash
300
- /model # 显示当前模型
301
- /model list # 列出所有可用模型
302
- /model glm-5 # 切换到 GLM-5
303
- ```
304
-
305
- ---
306
-
307
- ## 工具列表
308
-
309
- ### 文件操作
310
-
311
- | 工具 | 说明 |
312
- | ------------ | ------------------ |
313
- | `read_file` | 读取文件内容 |
314
- | `write_file` | 写入文件 |
315
- | `edit_file` | 编辑文件(行替换) |
316
- | `list_files` | 列出目录内容 |
317
- | `glob` | Glob 模式搜索文件 |
318
- | `grep` | 正则搜索文件内容 |
319
-
320
- ### Shell 执行
321
-
322
- | 工具 | 说明 |
323
- | -------------- | ----------------------------- |
324
- | `exec_command` | 执行 Shell 命令(带安全检查) |
325
-
326
- ### 网络工具
327
-
328
- | 工具 | 说明 |
329
- | ------------ | ------------ |
330
- | `web_fetch` | 抓取网页内容 |
331
- | `web_search` | 网络搜索 |
332
-
333
- ### 记忆系统
334
-
335
- | 工具 | 说明 |
336
- | --------------- | -------- |
337
- | `memory_save` | 保存记忆 |
338
- | `memory_recall` | 搜索记忆 |
339
- | `memory_forget` | 删除记忆 |
340
-
341
- ### 任务管理
342
-
343
- | 工具 | 说明 |
344
- | ---------------- | ------------------------------------------ |
345
- | `todo_write` | 创建/更新任务列表 |
346
- | `exit_plan_mode` | 提交计划并自动退出计划模式(模型内部工具) |
347
-
348
- ---
349
-
350
- ## 上下文管理
351
-
352
- ### 自动压缩 (Auto-Compact)
353
-
354
- 当上下文使用量达到 **95%** 时,Orion Code 自动压缩对话历史:
355
-
356
- 1. **生成摘要** — 通过 LLM 对早期消息生成摘要
357
- 2. **替换旧消息** — 用 `[Context Summary]` 块替代
358
- 3. **保留关键信息** — 保留系统消息和最近消息
359
- 4. **状态栏通知** — 显示压缩信息
360
-
361
- ```
362
- Compact: 30 → 8 messages | Context: 45% → 12%
363
- ```
364
-
365
- ### 基于 Token 的阈值
366
-
367
- 与基于消息数量的方案不同,Orion Code 使用 API 返回的 **实际 Token 数** 进行精确的上下文感知:
368
-
369
- ```
370
- ctxPercent = (promptTokens / 模型上下文窗口) × 100
101
+ orion # 默认产品 TUI
102
+ orion --ui terminal # 技术诊断 terminal fallback
103
+ orion -p "解释这个仓库" # 实验性的非交互模式
104
+ orion -p --output-format json "运行 focused tests"
105
+ orion diff
106
+ orion commit
371
107
  ```
372
108
 
373
- 仅当 `ctxPercent >= 95%` 时触发压缩,不基于消息数量。
109
+ `orion -p` 是早期实验性的非交互入口;需要确认弹层或实时 steering 的任务应使用 TUI。
374
110
 
375
- ### 30 秒间隔
111
+ ### BUILD、PLAN、AUTO
376
112
 
377
- 为避免过度压缩,自动压缩最多每 30 秒执行一次。手动 `/compact` 命令可绕过此限制。
113
+ `Shift+Tab` 循环 `BUILD → PLAN → AUTO`。状态栏和输入框边框会显示当前模式。Mode 决定工作流,
114
+ Authority、approval、路径边界和 sandbox policy 是独立状态轴。
378
115
 
379
- ---
116
+ - **BUILD**:正常协作开发。
117
+ - **PLAN**:使用同一套可用工具完成探索;将 decision-complete plan 写入 durable PlanReceipt;自动退出
118
+ Plan、恢复 BUILD/AUTO,并在新的 logical turn 中执行。
119
+ - **AUTO**:在已配置 Authority 内取消交互确认;hard policy 与 sandbox 边界仍然 fail closed。
380
120
 
381
- ## MCP 协议
121
+ 任务式进入:
382
122
 
383
- 完整支持 MCP (Model Context Protocol) 服务器:
384
-
385
- ### 配置 MCP Server
386
-
387
- 创建 `~/.orion-code/mcp.json`:
388
-
389
- ```json
390
- {
391
- "servers": {
392
- "telegram": {
393
- "command": "node",
394
- "args": ["path/to/plugin-telegram/dist/index.js"],
395
- "env": {}
396
- },
397
- "filesystem": {
398
- "command": "npx",
399
- "args": ["-y", "@anthropic/mcp-server-filesystem", "/allowed/dir"]
400
- }
401
- }
402
- }
123
+ ```text
124
+ /plan 重构 storage boundary 并验证 crash recovery
403
125
  ```
404
126
 
405
- ### MCP 命令
406
-
407
- ```bash
408
- /mcp # 显示 MCP Server 连接状态
409
- ```
127
+ 不存在 `exit_plan_mode` 工具,也没有 `/mode` 命令。
410
128
 
411
- 启动时自动连接,支持心跳检测和指数退避重连。
412
-
413
- ---
414
-
415
- ## 常用交互命令
416
-
417
- | 命令 | 说明 |
418
- | ---------------------- | --------------------------------------------------- |
419
- | `/help` | 显示当前 renderer 可用的完整命令列表 |
420
- | `/goal` | 创建、查看、暂停、恢复、替换、预算或退出持久 Goal |
421
- | `/plan [任务]` | 先只读规划,再自动进入独立执行阶段 |
422
- | `/status` | 系统状态总览 |
423
- | `/model` | 查看或切换模型 |
424
- | `/config` | 显示当前生效配置 |
425
- | `/usage` | 显示详细 Token 用量和成本 |
426
- | `/compact` | 手动触发上下文压缩 |
427
- | `/session list` | 列出或搜索最近会话 |
428
- | `/resume` | 恢复已有会话 |
429
- | `/memory` | 记忆状态、引用漂移校验与语义索引重建 |
430
- | `/skills` | 列出已加载技能 |
431
- | `/tools` | 列出内置和 MCP 工具 |
432
- | `/mcp` | 查看 MCP Server 状态 |
433
- | `/doctor` | 运行配置、工具、MCP、Skill、Session 和 Harness 诊断 |
434
- | `/diff` | 只读汇总当前 Git 工作区改动 |
435
- | `/commit-plan` | 生成只读 commit 计划和建议消息 |
436
- | `/context clear --yes` | 清除当前内存中的模型上下文,保留已保存 session |
437
- | `/clear` | 只清理当前视图,不删除 session 数据 |
438
- | `/exit` | 安全关闭并退出 |
439
-
440
- Agent mode 是 TUI 交互状态:使用 `Shift+Tab` 循环 `BUILD → PLAN → AUTO`;`/mode` 与 `/perm`
441
- 不再注册。其余旧拼写保留到 v0.3.0 兼容窗口结束:`/target` → `/goal`、`/commit` →
442
- `/commit-plan`、`/sessions` → `/session list`、`/session-rename` → `/session rename`、
443
- `/context-clear` 与 `/clear-history` → `/context clear`、`/models` → `/model`、
444
- `/loop-stats` → `/usage loop`、`/checkpoint` → `/rewind`、`/cost` → `/usage`、`/agents` →
445
- `/subagents`、`/task` → `/goal`,以及 `/run`、`/chat` → 直接输入自然语言。
446
-
447
- 完整列表及 renderer 范围以 `/help` 为准;deprecated/compatibility 命令不属于公开主工作流。
448
-
449
- ---
450
-
451
- ### 任务级 Plan 模式
452
-
453
- 执行 `/plan` 后,下一条消息进入计划任务;也可以用 `/plan <任务>` 立即开始,或使用
454
- `Shift+Tab` 在 `BUILD → PLAN → AUTO → BUILD` 间循环并保留输入草稿。Plan 模式先只读探索,
455
- 禁止文件修改、变更命令和外部操作;计划完整后,模型只调用一次 `exit_plan_mode`,Orion
456
- 保存计划并在独立 logical request 中自动开始执行。Build 是普通协作模式;Auto 不弹权限或
457
- 澄清问题,但仍执行 hard deny、沙箱、危险命令和用户明确边界。基础模式只通过 `Shift+Tab`
458
- 切换;已移除的 `/mode` 与 `/perm` 不保留兼容入口。
459
-
460
- 详见 [Plan 模式生命周期契约](docs/plan/plan-mode-contract.md)。
461
-
462
- ---
463
-
464
- ## 项目结构
129
+ ### Durable Goal
465
130
 
131
+ ```text
132
+ /goal 修复开放问题,运行准出门禁,仅在证据完整后停止
133
+ /goal status
134
+ /goal pause
135
+ /goal resume
136
+ /goal clear
466
137
  ```
467
- orion-code/
468
- ├── bin/
469
- │ └── orion # npm 全局命令入口
470
- ├── src/
471
- │ ├── cli.ts # CLI 入口和 renderer 选择
472
- │ ├── commands/ # 斜杠命令注册表与处理器
473
- │ ├── core/ # Agent 核心状态
474
- │ ├── framework/ # Query 与 Tool 抽象
475
- │ ├── runtime/ # Shared runtime、Goal、事件与 Subagent
476
- │ ├── services/ # 配置、LLM、Session、Storage、MCP
477
- │ ├── tools/ # 内置工具
478
- │ ├── tui-ui/ # 默认公众 TUI
479
- │ ├── terminal-ui/ # 技术诊断 renderer
480
- │ ├── print-ui/ # 实验性 Print/Text 与 Print/JSON
481
- │ └── skills/ # 内置 Skill
482
- ├── tests/ # Jest 测试套件
483
- ├── scripts/smoke/ # 真实终端与 PTY smoke 脚本
484
- ├── docs/
485
- │ ├── goals/ # 项目 Goal、证据与恢复说明
486
- │ ├── mvp/ # 版本计划与发布说明
487
- │ └── plan/ # 执行计划与准出报告
488
- ├── package.json
489
- └── tsconfig.json
490
- ```
491
-
492
- ---
493
-
494
- ## 版本历史
495
-
496
- ### v0.1.8(当前版本,已发布至 next)
497
-
498
- - 收敛 npm 发布白名单与包体积门禁,归档历史计划并删除已证明无引用的旧资产、脚本和 UI 实验目录;
499
- - 完成 33 个 open issues 的逐项账本,补齐数值型工具参数边界、budget-stop 恢复提示、renderer scope 与 AUTO 网络授权可见性;
500
- - 真实验证 BUILD/PLAN/AUTO、Goal 自动退出、TUI/Terminal/Print/Research 以及旧 Ink 兼容入口;
501
- - 已合并、创建 `v0.1.8` tag,并通过 npm `next` 发布;未移动稳定版 `latest`。
502
-
503
- ### v0.1.7(已发布至 next)
504
-
505
- - 引入原创 Orion Pixel 与“星际小猎人”,并为 classic、NO_COLOR、窄终端提供安全降级;
506
- - 使用类型化 Chrome 统一 Goal、权限、模型、上下文、队列与 Active Work 状态层级;
507
- - Enter 继续 steering,Tab 加入有界 FIFO follow-up 队列,Shift+Tab 循环 BUILD/PLAN/AUTO;
508
- - 已合并、创建 `v0.1.7` tag 和 GitHub prerelease,并通过 npm `next` 发布;未移动稳定版
509
- `latest`。
510
-
511
- ### v0.1.6(已发布至 next)
512
138
 
513
- - Goal 创建需要显式用户授权,自动 continuation 有界,`/goal exit` 提供确定退出路径;
514
- - 修复 native migration、测试确定性、seatbelt/exec cwd terminal control-sequence 安全问题;
515
- - 已合并、创建 `v0.1.6` tag 和 GitHub Release,并通过 npm `next` 发布;未移动稳定版 `latest`。
139
+ `/goal <objective>` 创建 Goal。有进展的 Goal 没有固定 turn-count 上限;资源预算、连续无进展、阻塞、
140
+ provider/persistence 错误和用户中断仍产生明确 StopDecision。证据审计通过后,Goal 提交完成并自动退出。
516
141
 
517
- ### v0.1.5(已发布至 next)
142
+ v0.2.0 breaking cut 已删除 `/target`、`/goal exit`、`edit`、`replace`、`confirm`、`budget` 和
143
+ `clear --yes`,不会把旧命令静默解释为新目标。
518
144
 
519
- - 统一类型化命令描述、TUI 命令控制面与 Provider-aware Effort;
520
- - 修复 Goal/TUI 展示与授权边界,并加强跨进程持久化、安全和发布门禁;
521
- - 以 npm `next` dist-tag 发布,不移动稳定版 `latest`。
145
+ ### 常用命令
522
146
 
523
- ### v0.1.4-2(已发布至 next)
147
+ - `/help`、`/status`、`/doctor`、`/harness explain`
148
+ - `/tools`、`/skills`、`/skill <name>`、`/mcp`
149
+ - `/context`、`/memory`、`/usage`、`/trace`、`/last-tool`
150
+ - `/model`、`/effort`、`/permissions`、`/config`
151
+ - `/compact`、`/resume`、`/session`
152
+ - `/diff`、`/commit-plan`、`/review`、`/research`、`/security`、`/test-gen`
524
153
 
525
- - 汇总 v0.1.4 后续的安全、持久化、Goal/runtime、Research、依赖与发布门禁修复;
526
- - 以 npm `next` dist-tag 发布,不移动稳定版 `latest`。
154
+ 安装版本中的 `/help` 是命令清单的权威来源。
527
155
 
528
- ### v0.1.4(已发布)
156
+ ## Runtime 保证
529
157
 
530
- - 版本元数据对齐:`package.json` / `package-lock.json` 升至 `0.1.4`,`orion --version`、
531
- 出站 `User-Agent` 与崩溃/遥测上报不再误报 `0.1.3`;
532
- - 类型安全推进:外部边界(LLM provider、MCP wire、工具返回)由 `any` 收窄为 `unknown` +
533
- 类型守卫,顺带修复被 `any` 掩盖的真实缺陷;
534
- - 可靠性:持久化与鉴权路径不再静默吞掉异常,ESLint 启用 `no-empty` 门禁。
158
+ - 每个 Thread 最多一个 active turn;steer、follow-up、interrupt、overload maintenance 都返回 typed
159
+ admission outcome。
160
+ - 每个已开始的 tool Item 恰好一个 durable terminal outcome。嵌套 batch child 保留 parent/child
161
+ invocation lineage,并重新进入 ToolGateway。
162
+ - renderer 可以合并 ephemeral delta,但 durable events 不会静默丢失且可以 replay。
163
+ - Compact 只有在 source history、TaskContext、projection 与 pointer CAS 都通过后才提交。
164
+ - v0.1.9 Session 采用 side-by-side materialization;event replay 与 projection digest 验证后才切 active
165
+ index。
166
+ - public exports 只提供产品 runtime/protocol 与 Model/Skill/MCP 配置边界,不暴露内部 service locator
167
+ 或插件 SDK。
535
168
 
536
- ### v0.1.3(已发布)
537
-
538
- - `/model` 与 `/models` 拆分:`/model` 只显示当前模型信息,`/models` 承接交互式切换;
539
- - `modelRegistry` 成为模型展示与切换的唯一事实源,静态 catalog 退为 legacy fallback;
540
- - 内置 catalog 补全(火山方舟 / xf-yun / deepseek 等),未配置上下文时正确回退;
541
- - 命令沙箱 POC、只读 Git 工具与工具 allowlist 的安全基线。
542
-
543
- > 完整变更与交付状态(已发布 / 已合并 / 候选)以 `CHANGELOG.md` 为准。
544
-
545
- ### v0.1.2(已发布)
546
-
547
- - 单 Session、单 Active Goal 的 typed continuation;
548
- - restart/resume 后安全暂停,必须显式恢复;
549
- - runtime evidence ledger、逐 criterion completion audit 与精确 stop reason;
550
- - TUI 主产品体验和 terminal-ui/Print 事件语义一致。
551
-
552
- ### v0.1.1(已发布)
553
-
554
- - 命令契约、TUI 默认路径、OpenHorse 迁移和数据安全收敛;
555
- - terminal-ui 定位为技术诊断版本,Ink 正式废弃。
556
-
557
- ### v0.1.0(已发布)
558
-
559
- - Orion Code 首个公开基线版本。
560
-
561
- 详见 `docs/mvp/` 和 `docs/plan/`。
562
-
563
- ---
564
-
565
- ## Research-to-Evidence(v0.1.4,实验性)
566
-
567
- > **状态标记:experimental(实验性)。** 把只读 `research` 子 agent 的结果转化为**可追踪、可恢复**的研究→证据闭环。
568
-
569
- 核心保证(违反任一即 No-Go,绝不发布):
570
-
571
- - **只接专用 WebSearch / WebFetch**,不暴露通用 MCP、不授予 write/exec。
572
- - **SSRF / DNS 重解析 / 重定向 / 响应大小 / 超时** 全部走既有守卫:选择期做 lexical SSRF 预检,逐跳防护委托给真实 WebFetch 工具。
573
- - **claim 必须有 source 绑定**才能进入 `observed`;无独立验证的 claim 永远停在 `partial`/`unmet`,绝不被算作已验证/完成。
574
- - **安全闸门失败 → `blocked`/`failed` + 结构化原因**,绝不伪装成命中;provider fallback 只换 provider,不降级 source status,也不把失败写成成功。
575
- - 研究证据(web)与执行验证证据(file / 测试 / 构建 / 文件事实)**明确区分**,web 摘要不能替代执行验证。
576
- - 包与源元数据**原子 CAS 保存**,project / session / Goal 作用域隔离;恢复只推导状态、不重放外部副作用;旧 schema 版本 fail-closed。
577
-
578
- 模块:`src/runtime/subagents/{research-types,research-contract,research-citation,web-research-adapter,research-renderer,research-artifact,research-quality}.ts`。
579
-
580
- > 真实终端(PTY)与外部状态证据在 CI 中标记为 `not_run`;本地测试不视为发布完成。
581
-
582
- ---
583
-
584
- ## 开发
169
+ ## 开发与验证
585
170
 
586
171
  ```bash
587
- # 安装依赖
588
- npm install
589
-
590
- # 开发模式(热重载)
591
- npm run dev
592
-
593
- # 构建
594
- npm run build
595
-
596
- # 运行测试
597
- npm test
598
-
599
- # 代码检查
600
172
  npm run lint
601
-
602
- # 格式化
603
- npm run format
604
-
605
- # 发布前只读检查(不会 tag / push / publish)
606
- npm run release:check
173
+ npm run build
174
+ npm test -- --runInBand
175
+ npm run test:coverage -- --runInBand
176
+ npm run test:harness-confluence
177
+ npm run bench:harness:baseline
178
+ npm run bench:harness
179
+ npm run bench:harness:compare -- <baseline.json> <candidate.json>
180
+ npm run prepublishOnly
607
181
  ```
608
182
 
609
- ---
610
-
611
- ## Roadmap
612
-
613
- | 版本 | 目标 |
614
- | ------ | --------------------------------------------------- |
615
- | v0.1.2 | Goal 连续性、证据审计、恢复与发布可信度 |
616
- | v0.2.0 | 在项目级 Goal 约束下评估多目标等非 patch 兼容性能力 |
617
-
618
- 详见[项目级目标](https://github.com/orion-agents/orion-code/blob/main/docs/goals/orion-code-项目级目标.md)。
619
-
620
- ---
621
-
622
- ## 贡献
623
-
624
- 欢迎提交 Issue 和 Pull Request!
625
-
626
- ---
627
-
628
- ## 许可
183
+ 正式准出还会只构建一次 exact tarball,并在 Node 20/22/24 安装同一个 hash,验证 package identity、
184
+ native SQLite、TUI、terminal、print、Goal、subagent、Skill、MCP、Compact 与 resume。详见
185
+ [`v0.2.0 准出清单`](docs/plan/v0.2.0-release-checklist.md)。
629
186
 
630
- MIT License — 详见 [LICENSE](LICENSE)
187
+ ## 安全
631
188
 
632
- ---
189
+ 不要提交 `.env`、`~/.orion-code`、本地数据库或凭据。文件访问受 project boundary 限制,symlink 和
190
+ non-regular path escape 会 fail closed,所有副作用通过同一 Authority/Policy/Approval/Sandbox 链。
633
191
 
634
- **Orion Code — Universal Agent Harness Framework.**
192
+ ## License
635
193
 
636
- _"AI 如马,Orion Code 如缰。"_
194
+ MIT,见 [LICENSE](LICENSE)。