open-multi-agent-kit 0.79.1 → 0.79.3

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 (2322) hide show
  1. package/AGENTS.md +679 -0
  2. package/CHANGELOG.md +414 -4237
  3. package/CLAUDE.md +110 -0
  4. package/DESIGN.md +358 -0
  5. package/GEMINI.md +8 -0
  6. package/LICENSE +21 -0
  7. package/MATURITY.md +76 -0
  8. package/README.md +71 -626
  9. package/ROADMAP.md +124 -0
  10. package/SECURITY.md +83 -0
  11. package/WORKER_MANIFEST.md +35 -0
  12. package/dist/adapters/commandcode/commandcode-cli-adapter.d.ts +10 -0
  13. package/dist/adapters/commandcode/commandcode-cli-adapter.js +57 -0
  14. package/dist/adapters/kimi/ascii-art.d.ts +1 -0
  15. package/dist/adapters/kimi/ascii-art.js +23 -0
  16. package/dist/adapters/kimi/banner.d.ts +53 -0
  17. package/dist/adapters/kimi/banner.js +284 -0
  18. package/dist/adapters/kimi/bug-filter.d.ts +15 -0
  19. package/dist/adapters/kimi/bug-filter.js +150 -0
  20. package/dist/adapters/kimi/capability.d.ts +25 -0
  21. package/dist/adapters/kimi/capability.js +68 -0
  22. package/dist/adapters/kimi/continue-prompt-guard.d.ts +20 -0
  23. package/dist/adapters/kimi/continue-prompt-guard.js +70 -0
  24. package/dist/adapters/kimi/isolated-home.d.ts +21 -0
  25. package/dist/adapters/kimi/isolated-home.js +270 -0
  26. package/dist/adapters/kimi/runner.d.ts +71 -0
  27. package/dist/adapters/kimi/runner.js +1084 -0
  28. package/dist/adapters/kimi/simple-art.d.ts +1 -0
  29. package/dist/adapters/kimi/simple-art.js +1 -0
  30. package/dist/adapters/kimi/statusline.d.ts +26 -0
  31. package/dist/adapters/kimi/statusline.js +142 -0
  32. package/dist/adapters/kimi/usage.d.ts +52 -0
  33. package/dist/adapters/kimi/usage.js +481 -0
  34. package/dist/adapters/kimi/wire-client.d.ts +142 -0
  35. package/dist/adapters/kimi/wire-client.js +725 -0
  36. package/dist/adapters/kimi/wire-protocol-types.d.ts +549 -0
  37. package/dist/adapters/kimi/wire-protocol-types.js +59 -0
  38. package/dist/adapters/opencode/opencode-cli-adapter.d.ts +9 -0
  39. package/dist/adapters/opencode/opencode-cli-adapter.js +43 -0
  40. package/dist/awareness/classifiers/browser-console-classifier.d.ts +3 -0
  41. package/dist/awareness/classifiers/browser-console-classifier.js +47 -0
  42. package/dist/awareness/classifiers/evidence-gap-classifier.d.ts +3 -0
  43. package/dist/awareness/classifiers/evidence-gap-classifier.js +31 -0
  44. package/dist/awareness/classifiers/stalled-run-classifier.d.ts +2 -0
  45. package/dist/awareness/classifiers/stalled-run-classifier.js +24 -0
  46. package/dist/awareness/notice-store.d.ts +6 -0
  47. package/dist/awareness/notice-store.js +91 -0
  48. package/dist/awareness/notice.d.ts +17 -0
  49. package/dist/awareness/notice.js +1 -0
  50. package/dist/awareness/noticer-engine.d.ts +42 -0
  51. package/dist/awareness/noticer-engine.js +63 -0
  52. package/dist/awareness/router.d.ts +6 -0
  53. package/dist/awareness/router.js +46 -0
  54. package/dist/benchmark/contracts.d.ts +116 -0
  55. package/dist/benchmark/contracts.js +6 -0
  56. package/dist/benchmark/fixtures.d.ts +11 -0
  57. package/dist/benchmark/fixtures.js +124 -0
  58. package/dist/benchmark/harness.d.ts +13 -0
  59. package/dist/benchmark/harness.js +191 -0
  60. package/dist/benchmark/shadow-mode.d.ts +17 -0
  61. package/dist/benchmark/shadow-mode.js +95 -0
  62. package/dist/brand/matrix-rain.d.ts +15 -0
  63. package/dist/brand/matrix-rain.js +132 -0
  64. package/dist/brand/night-city.theme.json +80 -0
  65. package/dist/brand/omk-matrix-art.d.ts +1 -0
  66. package/dist/brand/omk-matrix-art.js +10 -0
  67. package/dist/brand/omk-simple-art.d.ts +7 -0
  68. package/dist/brand/omk-simple-art.js +13 -0
  69. package/dist/brand/palette.d.ts +90 -0
  70. package/dist/brand/palette.js +129 -0
  71. package/dist/brand/rust-forge.theme.json +216 -0
  72. package/dist/brand/theme-compiled.d.ts +61 -0
  73. package/dist/brand/theme-compiled.js +241 -0
  74. package/dist/brand/theme.d.ts +41 -0
  75. package/dist/brand/theme.js +275 -0
  76. package/dist/browser/browser-feedback.d.ts +10 -0
  77. package/dist/browser/browser-feedback.js +84 -0
  78. package/dist/browser/browser-observer.d.ts +21 -0
  79. package/dist/browser/browser-observer.js +159 -0
  80. package/dist/browser/browser-session.d.ts +26 -0
  81. package/dist/browser/browser-session.js +63 -0
  82. package/dist/cli/command-registry.d.ts +2 -0
  83. package/dist/cli/command-registry.js +20 -0
  84. package/dist/cli/input/argv-parser.d.ts +16 -0
  85. package/dist/cli/input/argv-parser.js +50 -0
  86. package/dist/cli/input/command-envelope.d.ts +16 -0
  87. package/dist/cli/input/command-envelope.js +64 -0
  88. package/dist/cli/input/config-loader.d.ts +16 -0
  89. package/dist/cli/input/config-loader.js +48 -0
  90. package/dist/cli/input/index.d.ts +8 -0
  91. package/dist/cli/input/index.js +8 -0
  92. package/dist/cli/input/input-resolver.d.ts +13 -0
  93. package/dist/cli/input/input-resolver.js +50 -0
  94. package/dist/cli/input/validator.d.ts +10 -0
  95. package/dist/cli/input/validator.js +37 -0
  96. package/dist/cli/main.d.ts +4 -0
  97. package/dist/cli/main.js +34 -0
  98. package/dist/cli/output/error-renderer.d.ts +10 -0
  99. package/dist/cli/output/error-renderer.js +68 -0
  100. package/dist/cli/output/hash.d.ts +1 -0
  101. package/dist/cli/output/hash.js +10 -0
  102. package/dist/cli/output/index.d.ts +9 -0
  103. package/dist/cli/output/index.js +9 -0
  104. package/dist/cli/output/json-renderer.d.ts +7 -0
  105. package/dist/cli/output/json-renderer.js +35 -0
  106. package/dist/cli/output/markdown-renderer.d.ts +5 -0
  107. package/dist/cli/output/markdown-renderer.js +86 -0
  108. package/dist/cli/output/nlp-renderer.d.ts +7 -0
  109. package/dist/cli/output/nlp-renderer.js +96 -0
  110. package/dist/cli/output/output-router.d.ts +5 -0
  111. package/dist/cli/output/output-router.js +33 -0
  112. package/dist/cli/register-awareness-commands.d.ts +2 -0
  113. package/dist/cli/register-awareness-commands.js +133 -0
  114. package/dist/cli/register-basic-commands.d.ts +2 -0
  115. package/dist/cli/register-basic-commands.js +489 -0
  116. package/dist/cli/register-integration-commands.d.ts +2 -0
  117. package/dist/cli/register-integration-commands.js +59 -0
  118. package/dist/cli/register-mcp-dag-cron-screenshot-commands.d.ts +2 -0
  119. package/dist/cli/register-mcp-dag-cron-screenshot-commands.js +275 -0
  120. package/dist/cli/register-openai-codex-commands.d.ts +2 -0
  121. package/dist/cli/register-openai-codex-commands.js +55 -0
  122. package/dist/cli/register-provider-commands.d.ts +2 -0
  123. package/dist/cli/register-provider-commands.js +244 -0
  124. package/dist/cli/register-spec-agent-goal-commands.d.ts +2 -0
  125. package/dist/cli/register-spec-agent-goal-commands.js +486 -0
  126. package/dist/cli/register-tool-commands.d.ts +2 -0
  127. package/dist/cli/register-tool-commands.js +202 -0
  128. package/dist/cli/register-workflow-commands.d.ts +2 -0
  129. package/dist/cli/register-workflow-commands.js +158 -0
  130. package/dist/cli/registry/core.d.ts +2 -0
  131. package/dist/cli/registry/core.js +27 -0
  132. package/dist/cli/registry/session.d.ts +2 -0
  133. package/dist/cli/registry/session.js +137 -0
  134. package/dist/cli/registry/system.d.ts +2 -0
  135. package/dist/cli/registry/system.js +95 -0
  136. package/dist/cli/registry/tooling.d.ts +2 -0
  137. package/dist/cli/registry/tooling.js +112 -0
  138. package/dist/cli/registry/visual.d.ts +2 -0
  139. package/dist/cli/registry/visual.js +91 -0
  140. package/dist/cli/release-promotion-gate.d.ts +21 -0
  141. package/dist/cli/release-promotion-gate.js +93 -0
  142. package/dist/cli/root.d.ts +12 -0
  143. package/dist/cli/root.js +121 -0
  144. package/dist/cli/runtime/capability-selector.d.ts +18 -0
  145. package/dist/cli/runtime/capability-selector.js +208 -0
  146. package/dist/cli/runtime/cli-runtime.d.ts +10 -0
  147. package/dist/cli/runtime/cli-runtime.js +35 -0
  148. package/dist/cli/runtime/cli-writer.d.ts +18 -0
  149. package/dist/cli/runtime/cli-writer.js +87 -0
  150. package/dist/cli/runtime/command-bus.d.ts +45 -0
  151. package/dist/cli/runtime/command-bus.js +145 -0
  152. package/dist/cli/runtime/event-bus.d.ts +12 -0
  153. package/dist/cli/runtime/event-bus.js +31 -0
  154. package/dist/cli/runtime/generic-provider-adapter.d.ts +24 -0
  155. package/dist/cli/runtime/generic-provider-adapter.js +38 -0
  156. package/dist/cli/runtime/index.d.ts +17 -0
  157. package/dist/cli/runtime/index.js +18 -0
  158. package/dist/cli/runtime/intent-classifier.d.ts +16 -0
  159. package/dist/cli/runtime/intent-classifier.js +113 -0
  160. package/dist/cli/runtime/plan-controller.d.ts +7 -0
  161. package/dist/cli/runtime/plan-controller.js +29 -0
  162. package/dist/cli/runtime/provider-adapter-registry.d.ts +32 -0
  163. package/dist/cli/runtime/provider-adapter-registry.js +60 -0
  164. package/dist/cli/runtime/provider-event-normalizer.d.ts +19 -0
  165. package/dist/cli/runtime/provider-event-normalizer.js +150 -0
  166. package/dist/cli/runtime/run-controller.d.ts +7 -0
  167. package/dist/cli/runtime/run-controller.js +30 -0
  168. package/dist/cli/runtime/runtime-sidecar.d.ts +17 -0
  169. package/dist/cli/runtime/runtime-sidecar.js +138 -0
  170. package/dist/cli/runtime/task-controller.d.ts +7 -0
  171. package/dist/cli/runtime/task-controller.js +29 -0
  172. package/dist/cli/runtime/types.d.ts +312 -0
  173. package/dist/cli/runtime/types.js +6 -0
  174. package/dist/cli/theme/index.d.ts +18 -0
  175. package/dist/cli/theme/index.js +11 -0
  176. package/dist/cli/theme/oklab-quantize.d.ts +29 -0
  177. package/dist/cli/theme/oklab-quantize.js +105 -0
  178. package/dist/cli/theme/render-table.d.ts +59 -0
  179. package/dist/cli/theme/render-table.js +112 -0
  180. package/dist/cli/theme/status-frame.d.ts +10 -0
  181. package/dist/cli/theme/status-frame.js +22 -0
  182. package/dist/cli/theme/terminal-capability.d.ts +23 -0
  183. package/dist/cli/theme/terminal-capability.js +104 -0
  184. package/dist/cli/theme/theme-doc.d.ts +22 -0
  185. package/dist/cli/theme/theme-doc.js +97 -0
  186. package/dist/cli/theme/theme-registry.d.ts +25 -0
  187. package/dist/cli/theme/theme-registry.js +445 -0
  188. package/dist/cli/theme/theme-resolver.d.ts +12 -0
  189. package/dist/cli/theme/theme-resolver.js +38 -0
  190. package/dist/cli/theme/tier-explain.d.ts +21 -0
  191. package/dist/cli/theme/tier-explain.js +60 -0
  192. package/dist/cli/ui/event.d.ts +66 -0
  193. package/dist/cli/ui/event.js +1 -0
  194. package/dist/cli/ui/green-rain-renderer.d.ts +17 -0
  195. package/dist/cli/ui/green-rain-renderer.js +97 -0
  196. package/dist/cli/ui/neon-grid-renderer.d.ts +25 -0
  197. package/dist/cli/ui/neon-grid-renderer.js +170 -0
  198. package/dist/cli/ui/plain-renderer.d.ts +37 -0
  199. package/dist/cli/ui/plain-renderer.js +162 -0
  200. package/dist/cli/ui/renderer.d.ts +7 -0
  201. package/dist/cli/ui/renderer.js +1 -0
  202. package/dist/cli/ui/rich-renderer.d.ts +32 -0
  203. package/dist/cli/ui/rich-renderer.js +234 -0
  204. package/dist/cli/ui/route-blocked-panel.d.ts +5 -0
  205. package/dist/cli/ui/route-blocked-panel.js +67 -0
  206. package/dist/cli/ui/rust-forge-renderer.d.ts +19 -0
  207. package/dist/cli/ui/rust-forge-renderer.js +143 -0
  208. package/dist/cli/ui/system24-renderer.d.ts +96 -0
  209. package/dist/cli/ui/system24-renderer.js +533 -0
  210. package/dist/cli/v2/chat-repl.d.ts +38 -0
  211. package/dist/cli/v2/chat-repl.js +338 -0
  212. package/dist/cli/v2/cli-v2-skeleton.d.ts +105 -0
  213. package/dist/cli/v2/cli-v2-skeleton.js +465 -0
  214. package/dist/cli/v2/interactive-prompt.d.ts +52 -0
  215. package/dist/cli/v2/interactive-prompt.js +192 -0
  216. package/dist/cli/v2/persistent-memory.d.ts +70 -0
  217. package/dist/cli/v2/persistent-memory.js +229 -0
  218. package/dist/cli/v2/provider-commands.d.ts +120 -0
  219. package/dist/cli/v2/provider-commands.js +244 -0
  220. package/dist/cli/v2/release-commands.d.ts +29 -0
  221. package/dist/cli/v2/release-commands.js +95 -0
  222. package/dist/cli/v2/workflow-commands.d.ts +72 -0
  223. package/dist/cli/v2/workflow-commands.js +198 -0
  224. package/dist/cli.d.ts +0 -1
  225. package/dist/cli.js +16 -17
  226. package/dist/cockpit/git-numstat.d.ts +10 -0
  227. package/dist/cockpit/git-numstat.js +97 -0
  228. package/dist/cockpit/lsp-status.d.ts +5 -0
  229. package/dist/cockpit/lsp-status.js +51 -0
  230. package/dist/cockpit/types.d.ts +66 -0
  231. package/dist/cockpit/types.js +4 -0
  232. package/dist/cockpit/views/rail-view.d.ts +9 -0
  233. package/dist/cockpit/views/rail-view.js +160 -0
  234. package/dist/commands/agent.d.ts +6 -0
  235. package/dist/commands/agent.js +263 -0
  236. package/dist/commands/appshot.d.ts +15 -0
  237. package/dist/commands/appshot.js +122 -0
  238. package/dist/commands/auth.d.ts +43 -0
  239. package/dist/commands/auth.js +169 -0
  240. package/dist/commands/browser.d.ts +18 -0
  241. package/dist/commands/browser.js +110 -0
  242. package/dist/commands/chat/chat-turn-dag.d.ts +21 -0
  243. package/dist/commands/chat/chat-turn-dag.js +72 -0
  244. package/dist/commands/chat/core.d.ts +27 -0
  245. package/dist/commands/chat/core.js +423 -0
  246. package/dist/commands/chat/index.d.ts +5 -0
  247. package/dist/commands/chat/index.js +5 -0
  248. package/dist/commands/chat/native-root-loop.d.ts +58 -0
  249. package/dist/commands/chat/native-root-loop.js +1263 -0
  250. package/dist/commands/chat/runtime.d.ts +46 -0
  251. package/dist/commands/chat/runtime.js +406 -0
  252. package/dist/commands/chat/slash/commands/control.d.ts +2 -0
  253. package/dist/commands/chat/slash/commands/control.js +196 -0
  254. package/dist/commands/chat/slash/commands/diagnostics.d.ts +2 -0
  255. package/dist/commands/chat/slash/commands/diagnostics.js +64 -0
  256. package/dist/commands/chat/slash/commands/harness.d.ts +2 -0
  257. package/dist/commands/chat/slash/commands/harness.js +21 -0
  258. package/dist/commands/chat/slash/commands/index.d.ts +2 -0
  259. package/dist/commands/chat/slash/commands/index.js +18 -0
  260. package/dist/commands/chat/slash/commands/routing.d.ts +2 -0
  261. package/dist/commands/chat/slash/commands/routing.js +385 -0
  262. package/dist/commands/chat/slash/commands/session.d.ts +2 -0
  263. package/dist/commands/chat/slash/commands/session.js +104 -0
  264. package/dist/commands/chat/slash/commands/tool-plane.d.ts +2 -0
  265. package/dist/commands/chat/slash/commands/tool-plane.js +64 -0
  266. package/dist/commands/chat/slash/commands/ui.d.ts +2 -0
  267. package/dist/commands/chat/slash/commands/ui.js +108 -0
  268. package/dist/commands/chat/slash/context.d.ts +3 -0
  269. package/dist/commands/chat/slash/context.js +9 -0
  270. package/dist/commands/chat/slash/format.d.ts +3 -0
  271. package/dist/commands/chat/slash/format.js +19 -0
  272. package/dist/commands/chat/slash/parser.d.ts +15 -0
  273. package/dist/commands/chat/slash/parser.js +97 -0
  274. package/dist/commands/chat/slash/registry.d.ts +13 -0
  275. package/dist/commands/chat/slash/registry.js +38 -0
  276. package/dist/commands/chat/slash/result.d.ts +7 -0
  277. package/dist/commands/chat/slash/result.js +35 -0
  278. package/dist/commands/chat/slash/types.d.ts +32 -0
  279. package/dist/commands/chat/slash/types.js +1 -0
  280. package/dist/commands/chat/startup.d.ts +68 -0
  281. package/dist/commands/chat/startup.js +150 -0
  282. package/dist/commands/chat/state.d.ts +3 -0
  283. package/dist/commands/chat/state.js +100 -0
  284. package/dist/commands/chat/utils.d.ts +25 -0
  285. package/dist/commands/chat/utils.js +218 -0
  286. package/dist/commands/chat.d.ts +2 -0
  287. package/dist/commands/chat.js +2 -0
  288. package/dist/commands/cockpit/core.d.ts +5 -0
  289. package/dist/commands/cockpit/core.js +91 -0
  290. package/dist/commands/cockpit/render.d.ts +5 -0
  291. package/dist/commands/cockpit/render.js +970 -0
  292. package/dist/commands/cockpit/scroll.d.ts +39 -0
  293. package/dist/commands/cockpit/scroll.js +87 -0
  294. package/dist/commands/cockpit/telemetry.d.ts +30 -0
  295. package/dist/commands/cockpit/telemetry.js +361 -0
  296. package/dist/commands/cockpit/update-loop.d.ts +54 -0
  297. package/dist/commands/cockpit/update-loop.js +285 -0
  298. package/dist/commands/cockpit/utils.d.ts +233 -0
  299. package/dist/commands/cockpit/utils.js +388 -0
  300. package/dist/commands/cockpit.d.ts +8 -0
  301. package/dist/commands/cockpit.js +7 -0
  302. package/dist/commands/codex.d.ts +70 -0
  303. package/dist/commands/codex.js +597 -0
  304. package/dist/commands/consent.d.ts +24 -0
  305. package/dist/commands/consent.js +255 -0
  306. package/dist/commands/cron.d.ts +16 -0
  307. package/dist/commands/cron.js +187 -0
  308. package/dist/commands/dag-from-spec.d.ts +31 -0
  309. package/dist/commands/dag-from-spec.js +344 -0
  310. package/dist/commands/dag.d.ts +10 -0
  311. package/dist/commands/dag.js +467 -0
  312. package/dist/commands/design.d.ts +73 -0
  313. package/dist/commands/design.js +1253 -0
  314. package/dist/commands/diff-runs.d.ts +3 -0
  315. package/dist/commands/diff-runs.js +36 -0
  316. package/dist/commands/do.d.ts +29 -0
  317. package/dist/commands/do.js +196 -0
  318. package/dist/commands/doctor/checks.d.ts +19 -0
  319. package/dist/commands/doctor/checks.js +861 -0
  320. package/dist/commands/doctor/core.d.ts +2 -0
  321. package/dist/commands/doctor/core.js +53 -0
  322. package/dist/commands/doctor/fix-plan.d.ts +69 -0
  323. package/dist/commands/doctor/fix-plan.js +78 -0
  324. package/dist/commands/doctor/fix.d.ts +5 -0
  325. package/dist/commands/doctor/fix.js +1002 -0
  326. package/dist/commands/doctor/report.d.ts +7 -0
  327. package/dist/commands/doctor/report.js +140 -0
  328. package/dist/commands/doctor/utils.d.ts +52 -0
  329. package/dist/commands/doctor/utils.js +124 -0
  330. package/dist/commands/doctor.d.ts +2 -0
  331. package/dist/commands/doctor.js +1 -0
  332. package/dist/commands/goal-interview.d.ts +18 -0
  333. package/dist/commands/goal-interview.js +396 -0
  334. package/dist/commands/goal.d.ts +46 -0
  335. package/dist/commands/goal.js +492 -0
  336. package/dist/commands/google.d.ts +1 -0
  337. package/dist/commands/google.js +27 -0
  338. package/dist/commands/graph.d.ts +71 -0
  339. package/dist/commands/graph.js +208 -0
  340. package/dist/commands/hud.d.ts +57 -0
  341. package/dist/commands/hud.js +1031 -0
  342. package/dist/commands/image.d.ts +16 -0
  343. package/dist/commands/image.js +102 -0
  344. package/dist/commands/init/config.d.ts +8 -0
  345. package/dist/commands/init/config.js +97 -0
  346. package/dist/commands/init/constants.d.ts +7 -0
  347. package/dist/commands/init/constants.js +49 -0
  348. package/dist/commands/init/content.d.ts +12 -0
  349. package/dist/commands/init/content.js +1775 -0
  350. package/dist/commands/init/core.d.ts +2 -0
  351. package/dist/commands/init/core.js +298 -0
  352. package/dist/commands/init/interactive.d.ts +9 -0
  353. package/dist/commands/init/interactive.js +170 -0
  354. package/dist/commands/init/scaffold.d.ts +17 -0
  355. package/dist/commands/init/scaffold.js +146 -0
  356. package/dist/commands/init/types.d.ts +35 -0
  357. package/dist/commands/init/types.js +1 -0
  358. package/dist/commands/init/utils.d.ts +13 -0
  359. package/dist/commands/init/utils.js +107 -0
  360. package/dist/commands/init.d.ts +32 -0
  361. package/dist/commands/init.js +2581 -0
  362. package/dist/commands/inspect.d.ts +9 -0
  363. package/dist/commands/inspect.js +12 -0
  364. package/dist/commands/lsp.d.ts +8 -0
  365. package/dist/commands/lsp.js +60 -0
  366. package/dist/commands/mcp/config.d.ts +32 -0
  367. package/dist/commands/mcp/config.js +286 -0
  368. package/dist/commands/mcp/doctor-fix.d.ts +12 -0
  369. package/dist/commands/mcp/doctor-fix.js +261 -0
  370. package/dist/commands/mcp/doctor.d.ts +55 -0
  371. package/dist/commands/mcp/doctor.js +400 -0
  372. package/dist/commands/mcp/list.d.ts +1 -0
  373. package/dist/commands/mcp/list.js +57 -0
  374. package/dist/commands/mcp/shared.d.ts +50 -0
  375. package/dist/commands/mcp/shared.js +210 -0
  376. package/dist/commands/mcp/test.d.ts +5 -0
  377. package/dist/commands/mcp/test.js +458 -0
  378. package/dist/commands/mcp.d.ts +8 -0
  379. package/dist/commands/mcp.js +5 -0
  380. package/dist/commands/menu.d.ts +4 -0
  381. package/dist/commands/menu.js +213 -0
  382. package/dist/commands/merge.d.ts +9 -0
  383. package/dist/commands/merge.js +363 -0
  384. package/dist/commands/mode.d.ts +3 -0
  385. package/dist/commands/mode.js +60 -0
  386. package/dist/commands/model.d.ts +15 -0
  387. package/dist/commands/model.js +219 -0
  388. package/dist/commands/notice.d.ts +7 -0
  389. package/dist/commands/notice.js +76 -0
  390. package/dist/commands/open-design-agent.d.ts +46 -0
  391. package/dist/commands/open-design-agent.js +569 -0
  392. package/dist/commands/orchestrate.d.ts +18 -0
  393. package/dist/commands/orchestrate.js +284 -0
  394. package/dist/commands/parallel/core.d.ts +34 -0
  395. package/dist/commands/parallel/core.js +296 -0
  396. package/dist/commands/parallel/index.d.ts +5 -0
  397. package/dist/commands/parallel/index.js +5 -0
  398. package/dist/commands/parallel/interactive.d.ts +27 -0
  399. package/dist/commands/parallel/interactive.js +172 -0
  400. package/dist/commands/parallel/orchestrator.d.ts +40 -0
  401. package/dist/commands/parallel/orchestrator.js +564 -0
  402. package/dist/commands/parallel/utils.d.ts +12 -0
  403. package/dist/commands/parallel/utils.js +114 -0
  404. package/dist/commands/parallel/worker.d.ts +43 -0
  405. package/dist/commands/parallel/worker.js +276 -0
  406. package/dist/commands/parallel.d.ts +4 -0
  407. package/dist/commands/parallel.js +3 -0
  408. package/dist/commands/plan.d.ts +6 -0
  409. package/dist/commands/plan.js +113 -0
  410. package/dist/commands/project-index.d.ts +18 -0
  411. package/dist/commands/project-index.js +312 -0
  412. package/dist/commands/provider.d.ts +65 -0
  413. package/dist/commands/provider.js +625 -0
  414. package/dist/commands/rail.d.ts +6 -0
  415. package/dist/commands/rail.js +7 -0
  416. package/dist/commands/replay.d.ts +7 -0
  417. package/dist/commands/replay.js +10 -0
  418. package/dist/commands/research.d.ts +5 -0
  419. package/dist/commands/research.js +48 -0
  420. package/dist/commands/run.d.ts +15 -0
  421. package/dist/commands/run.js +312 -0
  422. package/dist/commands/runs.d.ts +36 -0
  423. package/dist/commands/runs.js +504 -0
  424. package/dist/commands/screenshot.d.ts +10 -0
  425. package/dist/commands/screenshot.js +72 -0
  426. package/dist/commands/skill.d.ts +28 -0
  427. package/dist/commands/skill.js +382 -0
  428. package/dist/commands/snip.d.ts +8 -0
  429. package/dist/commands/snip.js +77 -0
  430. package/dist/commands/spec.d.ts +17 -0
  431. package/dist/commands/spec.js +262 -0
  432. package/dist/commands/specify.d.ts +18 -0
  433. package/dist/commands/specify.js +111 -0
  434. package/dist/commands/star.d.ts +3 -0
  435. package/dist/commands/star.js +35 -0
  436. package/dist/commands/summary.d.ts +5 -0
  437. package/dist/commands/summary.js +445 -0
  438. package/dist/commands/sync.d.ts +6 -0
  439. package/dist/commands/sync.js +129 -0
  440. package/dist/commands/team.d.ts +8 -0
  441. package/dist/commands/team.js +302 -0
  442. package/dist/commands/verify.d.ts +4 -0
  443. package/dist/commands/verify.js +320 -0
  444. package/dist/commands/version.d.ts +7 -0
  445. package/dist/commands/version.js +101 -0
  446. package/dist/commands/web-bridge.d.ts +12 -0
  447. package/dist/commands/web-bridge.js +75 -0
  448. package/dist/commands/why.d.ts +14 -0
  449. package/dist/commands/why.js +46 -0
  450. package/dist/commands/workflow.d.ts +13 -0
  451. package/dist/commands/workflow.js +385 -0
  452. package/dist/contracts/command.d.ts +25 -0
  453. package/dist/contracts/command.js +1 -0
  454. package/dist/contracts/dag.d.ts +134 -0
  455. package/dist/contracts/dag.js +4 -0
  456. package/dist/contracts/decision.d.ts +23 -0
  457. package/dist/contracts/decision.js +1 -0
  458. package/dist/contracts/envelope.d.ts +29 -0
  459. package/dist/contracts/envelope.js +1 -0
  460. package/dist/contracts/errors.d.ts +13 -0
  461. package/dist/contracts/errors.js +15 -0
  462. package/dist/contracts/evidence-bundle.d.ts +52 -0
  463. package/dist/contracts/evidence-bundle.js +1 -0
  464. package/dist/contracts/evidence.d.ts +23 -0
  465. package/dist/contracts/evidence.js +1 -0
  466. package/dist/contracts/goal.d.ts +169 -0
  467. package/dist/contracts/goal.js +4 -0
  468. package/dist/contracts/hud.d.ts +17 -0
  469. package/dist/contracts/hud.js +4 -0
  470. package/dist/contracts/index.d.ts +10 -0
  471. package/dist/contracts/index.js +10 -0
  472. package/dist/contracts/interview.d.ts +106 -0
  473. package/dist/contracts/interview.js +9 -0
  474. package/dist/contracts/orchestration.d.ts +215 -0
  475. package/dist/contracts/orchestration.js +4 -0
  476. package/dist/contracts/proof.d.ts +32 -0
  477. package/dist/contracts/proof.js +1 -0
  478. package/dist/contracts/provider-health.d.ts +79 -0
  479. package/dist/contracts/provider-health.js +57 -0
  480. package/dist/contracts/provider.d.ts +35 -0
  481. package/dist/contracts/provider.js +1 -0
  482. package/dist/contracts/replay.d.ts +95 -0
  483. package/dist/contracts/replay.js +7 -0
  484. package/dist/contracts/run.d.ts +34 -0
  485. package/dist/contracts/run.js +1 -0
  486. package/dist/contracts/safety.d.ts +10 -0
  487. package/dist/contracts/safety.js +4 -0
  488. package/dist/contracts/version.d.ts +21 -0
  489. package/dist/contracts/version.js +1 -0
  490. package/dist/contracts/web-bridge.d.ts +95 -0
  491. package/dist/contracts/web-bridge.js +168 -0
  492. package/dist/contracts/worker-context.d.ts +70 -0
  493. package/dist/contracts/worker-context.js +1 -0
  494. package/dist/evidence/attempt-record.d.ts +78 -0
  495. package/dist/evidence/attempt-record.js +16 -0
  496. package/dist/evidence/bundle-validator.d.ts +7 -0
  497. package/dist/evidence/bundle-validator.js +103 -0
  498. package/dist/evidence/context-snapshot.d.ts +20 -0
  499. package/dist/evidence/context-snapshot.js +81 -0
  500. package/dist/evidence/decision-trace.d.ts +14 -0
  501. package/dist/evidence/decision-trace.js +54 -0
  502. package/dist/evidence/diagnosis.d.ts +15 -0
  503. package/dist/evidence/diagnosis.js +279 -0
  504. package/dist/evidence/evidence-recorder.d.ts +19 -0
  505. package/dist/evidence/evidence-recorder.js +55 -0
  506. package/dist/evidence/evidence-trust-score.d.ts +101 -0
  507. package/dist/evidence/evidence-trust-score.js +408 -0
  508. package/dist/evidence/index.d.ts +26 -0
  509. package/dist/evidence/index.js +12 -0
  510. package/dist/evidence/proof-trust-cli.d.ts +8 -0
  511. package/dist/evidence/proof-trust-cli.js +27 -0
  512. package/dist/evidence/proof-trust.d.ts +14 -0
  513. package/dist/evidence/proof-trust.js +373 -0
  514. package/dist/evidence/regression-proof-matrix.d.ts +42 -0
  515. package/dist/evidence/regression-proof-matrix.js +72 -0
  516. package/dist/evidence/run-trace.d.ts +103 -0
  517. package/dist/evidence/run-trace.js +191 -0
  518. package/dist/evidence/trust-calibration.d.ts +25 -0
  519. package/dist/evidence/trust-calibration.js +151 -0
  520. package/dist/goal/compiler.d.ts +5 -0
  521. package/dist/goal/compiler.js +350 -0
  522. package/dist/goal/control-loop.d.ts +124 -0
  523. package/dist/goal/control-loop.js +1123 -0
  524. package/dist/goal/ensemble-memory.d.ts +26 -0
  525. package/dist/goal/ensemble-memory.js +55 -0
  526. package/dist/goal/eval-criteria.d.ts +3 -0
  527. package/dist/goal/eval-criteria.js +72 -0
  528. package/dist/goal/evidence.d.ts +20 -0
  529. package/dist/goal/evidence.js +321 -0
  530. package/dist/goal/goal-daemon.d.ts +40 -0
  531. package/dist/goal/goal-daemon.js +318 -0
  532. package/dist/goal/intake.d.ts +48 -0
  533. package/dist/goal/intake.js +561 -0
  534. package/dist/goal/intent-analyzer.d.ts +9 -0
  535. package/dist/goal/intent-analyzer.js +322 -0
  536. package/dist/goal/intent-frame.d.ts +65 -0
  537. package/dist/goal/intent-frame.js +596 -0
  538. package/dist/goal/interview-assimilation.d.ts +13 -0
  539. package/dist/goal/interview-assimilation.js +383 -0
  540. package/dist/goal/interview-question-bank.d.ts +11 -0
  541. package/dist/goal/interview-question-bank.js +225 -0
  542. package/dist/goal/interview-scoring.d.ts +31 -0
  543. package/dist/goal/interview-scoring.js +187 -0
  544. package/dist/goal/interview-session.d.ts +25 -0
  545. package/dist/goal/interview-session.js +116 -0
  546. package/dist/goal/persistence.d.ts +11 -0
  547. package/dist/goal/persistence.js +134 -0
  548. package/dist/goal/prompt-digest.d.ts +13 -0
  549. package/dist/goal/prompt-digest.js +111 -0
  550. package/dist/goal/scoring.d.ts +2 -0
  551. package/dist/goal/scoring.js +69 -0
  552. package/dist/goal/wake-policy.d.ts +26 -0
  553. package/dist/goal/wake-policy.js +58 -0
  554. package/dist/harness/create-harness-task-runner.d.ts +43 -0
  555. package/dist/harness/create-harness-task-runner.js +56 -0
  556. package/dist/harness/execute-harness-run.d.ts +34 -0
  557. package/dist/harness/execute-harness-run.js +109 -0
  558. package/dist/hooks/events.d.ts +71 -0
  559. package/dist/hooks/events.js +1 -0
  560. package/dist/hooks/hook-bus.d.ts +13 -0
  561. package/dist/hooks/hook-bus.js +59 -0
  562. package/dist/hooks/hook-registry.d.ts +6 -0
  563. package/dist/hooks/hook-registry.js +64 -0
  564. package/dist/hooks/index.d.ts +3 -0
  565. package/dist/hooks/index.js +2 -0
  566. package/dist/hud/index.d.ts +9 -0
  567. package/dist/hud/index.js +11 -0
  568. package/dist/hud/live-renderer.d.ts +17 -0
  569. package/dist/hud/live-renderer.js +52 -0
  570. package/dist/hud/render.d.ts +64 -0
  571. package/dist/hud/render.js +960 -0
  572. package/dist/hud/types.d.ts +58 -0
  573. package/dist/hud/types.js +7 -0
  574. package/dist/input/input-artifacts.d.ts +10 -0
  575. package/dist/input/input-artifacts.js +19 -0
  576. package/dist/input/input-envelope.d.ts +86 -0
  577. package/dist/input/input-envelope.js +87 -0
  578. package/dist/integrations/servarr/adapter.d.ts +29 -0
  579. package/dist/integrations/servarr/adapter.js +156 -0
  580. package/dist/integrations/servarr/commands.d.ts +15 -0
  581. package/dist/integrations/servarr/commands.js +119 -0
  582. package/dist/integrations/servarr/schema.d.ts +34 -0
  583. package/dist/integrations/servarr/schema.js +149 -0
  584. package/dist/kimi/ascii-art.d.ts +1 -0
  585. package/dist/kimi/ascii-art.js +23 -0
  586. package/dist/kimi/banner.d.ts +53 -0
  587. package/dist/kimi/banner.js +284 -0
  588. package/dist/kimi/bug-filter.d.ts +15 -0
  589. package/dist/kimi/bug-filter.js +150 -0
  590. package/dist/kimi/capability.d.ts +25 -0
  591. package/dist/kimi/capability.js +68 -0
  592. package/dist/kimi/isolated-home.d.ts +21 -0
  593. package/dist/kimi/isolated-home.js +270 -0
  594. package/dist/kimi/runner.d.ts +74 -0
  595. package/dist/kimi/runner.js +1052 -0
  596. package/dist/kimi/simple-art.d.ts +1 -0
  597. package/dist/kimi/simple-art.js +1 -0
  598. package/dist/kimi/statusline.d.ts +26 -0
  599. package/dist/kimi/statusline.js +142 -0
  600. package/dist/kimi/usage.d.ts +52 -0
  601. package/dist/kimi/usage.js +481 -0
  602. package/dist/kimi/wire-client.d.ts +95 -0
  603. package/dist/kimi/wire-client.js +338 -0
  604. package/dist/lsp/default-config.d.ts +16 -0
  605. package/dist/lsp/default-config.js +26 -0
  606. package/dist/mcp/acp-server.d.ts +2 -0
  607. package/dist/mcp/acp-server.js +357 -0
  608. package/dist/mcp/autoconnect.d.ts +60 -0
  609. package/dist/mcp/autoconnect.js +192 -0
  610. package/dist/mcp/client.d.ts +112 -0
  611. package/dist/mcp/client.js +276 -0
  612. package/dist/mcp/config-permissions.d.ts +23 -0
  613. package/dist/mcp/config-permissions.js +66 -0
  614. package/dist/mcp/consent-flow.d.ts +152 -0
  615. package/dist/mcp/consent-flow.js +329 -0
  616. package/dist/mcp/filesystem-readonly-server.d.ts +2 -0
  617. package/dist/mcp/filesystem-readonly-server.js +320 -0
  618. package/dist/mcp/governance.d.ts +292 -0
  619. package/dist/mcp/governance.js +602 -0
  620. package/dist/mcp/host.d.ts +154 -0
  621. package/dist/mcp/host.js +792 -0
  622. package/dist/mcp/omk-project-server.d.ts +2 -0
  623. package/dist/mcp/omk-project-server.js +1632 -0
  624. package/dist/mcp/omk-web-bridge-server.d.ts +14 -0
  625. package/dist/mcp/omk-web-bridge-server.js +154 -0
  626. package/dist/mcp/permission-resolver.d.ts +67 -0
  627. package/dist/mcp/permission-resolver.js +124 -0
  628. package/dist/mcp/quality-gate.d.ts +36 -0
  629. package/dist/mcp/quality-gate.js +247 -0
  630. package/dist/mcp/quarantine.d.ts +11 -0
  631. package/dist/mcp/quarantine.js +79 -0
  632. package/dist/mcp/secret-scanner.d.ts +195 -0
  633. package/dist/mcp/secret-scanner.js +742 -0
  634. package/dist/mcp/server-catalog.d.ts +36 -0
  635. package/dist/mcp/server-catalog.js +168 -0
  636. package/dist/mcp/shared-secret-registry.d.ts +61 -0
  637. package/dist/mcp/shared-secret-registry.js +171 -0
  638. package/dist/mcp/transports/stdio.d.ts +22 -0
  639. package/dist/mcp/transports/stdio.js +165 -0
  640. package/dist/mcp/transports/streamable-http.d.ts +31 -0
  641. package/dist/mcp/transports/streamable-http.js +289 -0
  642. package/dist/mcp/transports/transport.d.ts +20 -0
  643. package/dist/mcp/transports/transport.js +3 -0
  644. package/dist/memory/embedding.d.ts +11 -0
  645. package/dist/memory/embedding.js +24 -0
  646. package/dist/memory/graph-delta-log.d.ts +137 -0
  647. package/dist/memory/graph-delta-log.js +650 -0
  648. package/dist/memory/graph-viewer.d.ts +72 -0
  649. package/dist/memory/graph-viewer.js +383 -0
  650. package/dist/memory/kuzu-memory-store.d.ts +37 -0
  651. package/dist/memory/kuzu-memory-store.js +453 -0
  652. package/dist/memory/local-graph-memory-store.d.ts +189 -0
  653. package/dist/memory/local-graph-memory-store.js +1305 -0
  654. package/dist/memory/memory-config.d.ts +51 -0
  655. package/dist/memory/memory-config.js +187 -0
  656. package/dist/memory/memory-store.d.ts +66 -0
  657. package/dist/memory/memory-store.js +228 -0
  658. package/dist/memory/ontology-model.d.ts +175 -0
  659. package/dist/memory/ontology-model.js +131 -0
  660. package/dist/metrics/provenance-ratio.d.ts +16 -0
  661. package/dist/metrics/provenance-ratio.js +33 -0
  662. package/dist/openai/image-client.d.ts +103 -0
  663. package/dist/openai/image-client.js +380 -0
  664. package/dist/orchestration/adaptorch-topology.d.ts +59 -0
  665. package/dist/orchestration/adaptorch-topology.js +194 -0
  666. package/dist/orchestration/agent-worker.d.ts +72 -0
  667. package/dist/orchestration/agent-worker.js +278 -0
  668. package/dist/orchestration/capability-agents.d.ts +14 -0
  669. package/dist/orchestration/capability-agents.js +180 -0
  670. package/dist/orchestration/capability-routing.d.ts +65 -0
  671. package/dist/orchestration/capability-routing.js +121 -0
  672. package/dist/orchestration/compiled-dag-executor.d.ts +56 -0
  673. package/dist/orchestration/compiled-dag-executor.js +88 -0
  674. package/dist/orchestration/completion-artifacts.d.ts +37 -0
  675. package/dist/orchestration/completion-artifacts.js +84 -0
  676. package/dist/orchestration/completion-sentinel.d.ts +37 -0
  677. package/dist/orchestration/completion-sentinel.js +66 -0
  678. package/dist/orchestration/contracts/index.d.ts +45 -0
  679. package/dist/orchestration/contracts/index.js +6 -0
  680. package/dist/orchestration/dag-artifacts.d.ts +11 -0
  681. package/dist/orchestration/dag-artifacts.js +42 -0
  682. package/dist/orchestration/dag-compiler-presets.d.ts +20 -0
  683. package/dist/orchestration/dag-compiler-presets.js +476 -0
  684. package/dist/orchestration/dag-compiler-types.d.ts +43 -0
  685. package/dist/orchestration/dag-compiler-types.js +1 -0
  686. package/dist/orchestration/dag-compiler.d.ts +3 -0
  687. package/dist/orchestration/dag-compiler.js +135 -0
  688. package/dist/orchestration/dag.d.ts +175 -0
  689. package/dist/orchestration/dag.js +310 -0
  690. package/dist/orchestration/diagnostics.d.ts +27 -0
  691. package/dist/orchestration/diagnostics.js +262 -0
  692. package/dist/orchestration/enhanced-modes.d.ts +116 -0
  693. package/dist/orchestration/enhanced-modes.js +231 -0
  694. package/dist/orchestration/enhanced-parallel-orchestrator.d.ts +127 -0
  695. package/dist/orchestration/enhanced-parallel-orchestrator.js +734 -0
  696. package/dist/orchestration/ensemble-decision.d.ts +42 -0
  697. package/dist/orchestration/ensemble-decision.js +301 -0
  698. package/dist/orchestration/ensemble.d.ts +22 -0
  699. package/dist/orchestration/ensemble.js +558 -0
  700. package/dist/orchestration/eta.d.ts +10 -0
  701. package/dist/orchestration/eta.js +75 -0
  702. package/dist/orchestration/evidence-check.d.ts +36 -0
  703. package/dist/orchestration/evidence-check.js +257 -0
  704. package/dist/orchestration/evidence-gate.d.ts +34 -0
  705. package/dist/orchestration/evidence-gate.js +501 -0
  706. package/dist/orchestration/execution-planner.d.ts +40 -0
  707. package/dist/orchestration/execution-planner.js +252 -0
  708. package/dist/orchestration/executor.d.ts +11 -0
  709. package/dist/orchestration/executor.js +979 -0
  710. package/dist/orchestration/hedge-persona-weights.d.ts +25 -0
  711. package/dist/orchestration/hedge-persona-weights.js +43 -0
  712. package/dist/orchestration/interactive-orchestrator.d.ts +134 -0
  713. package/dist/orchestration/interactive-orchestrator.js +450 -0
  714. package/dist/orchestration/log-streamer.d.ts +104 -0
  715. package/dist/orchestration/log-streamer.js +293 -0
  716. package/dist/orchestration/loop-artifacts.d.ts +14 -0
  717. package/dist/orchestration/loop-artifacts.js +20 -0
  718. package/dist/orchestration/loop-controller.d.ts +14 -0
  719. package/dist/orchestration/loop-controller.js +311 -0
  720. package/dist/orchestration/loop-guard.d.ts +28 -0
  721. package/dist/orchestration/loop-guard.js +104 -0
  722. package/dist/orchestration/loop-state.d.ts +86 -0
  723. package/dist/orchestration/loop-state.js +1 -0
  724. package/dist/orchestration/merge-arbiter.d.ts +91 -0
  725. package/dist/orchestration/merge-arbiter.js +376 -0
  726. package/dist/orchestration/node-monitor.d.ts +18 -0
  727. package/dist/orchestration/node-monitor.js +98 -0
  728. package/dist/orchestration/orchestrate-prompt.d.ts +43 -0
  729. package/dist/orchestration/orchestrate-prompt.js +533 -0
  730. package/dist/orchestration/orchestration-state.d.ts +3 -0
  731. package/dist/orchestration/orchestration-state.js +2 -0
  732. package/dist/orchestration/parallel-orchestrator.d.ts +165 -0
  733. package/dist/orchestration/parallel-orchestrator.js +607 -0
  734. package/dist/orchestration/parallel-ui.d.ts +52 -0
  735. package/dist/orchestration/parallel-ui.js +479 -0
  736. package/dist/orchestration/repair-policy.d.ts +20 -0
  737. package/dist/orchestration/repair-policy.js +221 -0
  738. package/dist/orchestration/route-calibration.d.ts +27 -0
  739. package/dist/orchestration/route-calibration.js +123 -0
  740. package/dist/orchestration/routing/inventory.d.ts +9 -0
  741. package/dist/orchestration/routing/inventory.js +273 -0
  742. package/dist/orchestration/routing/mcp-config.d.ts +17 -0
  743. package/dist/orchestration/routing/mcp-config.js +158 -0
  744. package/dist/orchestration/routing/types.d.ts +59 -0
  745. package/dist/orchestration/routing/types.js +4 -0
  746. package/dist/orchestration/routing.d.ts +45 -0
  747. package/dist/orchestration/routing.js +1072 -0
  748. package/dist/orchestration/run-state.d.ts +36 -0
  749. package/dist/orchestration/run-state.js +176 -0
  750. package/dist/orchestration/scheduler.d.ts +9 -0
  751. package/dist/orchestration/scheduler.js +85 -0
  752. package/dist/orchestration/skill-assigner.d.ts +22 -0
  753. package/dist/orchestration/skill-assigner.js +345 -0
  754. package/dist/orchestration/state-machine/index.d.ts +3 -0
  755. package/dist/orchestration/state-machine/index.js +3 -0
  756. package/dist/orchestration/state-machine/node-state-machine.d.ts +24 -0
  757. package/dist/orchestration/state-machine/node-state-machine.js +35 -0
  758. package/dist/orchestration/state-machine/run-state-machine.d.ts +38 -0
  759. package/dist/orchestration/state-machine/run-state-machine.js +161 -0
  760. package/dist/orchestration/state-machine/run-state-manager.d.ts +108 -0
  761. package/dist/orchestration/state-machine/run-state-manager.js +314 -0
  762. package/dist/orchestration/state-persister.d.ts +7 -0
  763. package/dist/orchestration/state-persister.js +84 -0
  764. package/dist/orchestration/task-graph.d.ts +29 -0
  765. package/dist/orchestration/task-graph.js +261 -0
  766. package/dist/orchestration/verification-only.d.ts +28 -0
  767. package/dist/orchestration/verification-only.js +94 -0
  768. package/dist/providers/anthropic-messages-runner.d.ts +17 -0
  769. package/dist/providers/anthropic-messages-runner.js +197 -0
  770. package/dist/providers/attempt-recorder.d.ts +10 -0
  771. package/dist/providers/attempt-recorder.js +38 -0
  772. package/dist/providers/codex-cli-runner.d.ts +11 -0
  773. package/dist/providers/codex-cli-runner.js +129 -0
  774. package/dist/providers/context-preflight.d.ts +47 -0
  775. package/dist/providers/context-preflight.js +134 -0
  776. package/dist/providers/deepseek/deepseek-balance.d.ts +29 -0
  777. package/dist/providers/deepseek/deepseek-balance.js +80 -0
  778. package/dist/providers/deepseek/deepseek-client.d.ts +53 -0
  779. package/dist/providers/deepseek/deepseek-client.js +164 -0
  780. package/dist/providers/deepseek/deepseek-config.d.ts +89 -0
  781. package/dist/providers/deepseek/deepseek-config.js +272 -0
  782. package/dist/providers/deepseek/deepseek-errors.d.ts +5 -0
  783. package/dist/providers/deepseek/deepseek-errors.js +48 -0
  784. package/dist/providers/deepseek/deepseek-provider.d.ts +10 -0
  785. package/dist/providers/deepseek/deepseek-provider.js +162 -0
  786. package/dist/providers/deepseek/deepseek-super-config.d.ts +31 -0
  787. package/dist/providers/deepseek/deepseek-super-config.js +136 -0
  788. package/dist/providers/deepseek-provider.d.ts +8 -0
  789. package/dist/providers/deepseek-provider.js +78 -0
  790. package/dist/providers/health.d.ts +16 -0
  791. package/dist/providers/health.js +101 -0
  792. package/dist/providers/index.d.ts +23 -0
  793. package/dist/providers/index.js +23 -0
  794. package/dist/providers/kimi-provider-failure.d.ts +8 -0
  795. package/dist/providers/kimi-provider-failure.js +56 -0
  796. package/dist/providers/kimi-provider.d.ts +7 -0
  797. package/dist/providers/kimi-provider.js +27 -0
  798. package/dist/providers/model-registry.d.ts +104 -0
  799. package/dist/providers/model-registry.js +677 -0
  800. package/dist/providers/model-table.d.ts +24 -0
  801. package/dist/providers/model-table.js +140 -0
  802. package/dist/providers/model-tabs.d.ts +33 -0
  803. package/dist/providers/model-tabs.js +98 -0
  804. package/dist/providers/openai-compatible-runner.d.ts +17 -0
  805. package/dist/providers/openai-compatible-runner.js +180 -0
  806. package/dist/providers/provider-health.d.ts +46 -0
  807. package/dist/providers/provider-health.js +200 -0
  808. package/dist/providers/provider-router.d.ts +8 -0
  809. package/dist/providers/provider-router.js +174 -0
  810. package/dist/providers/provider-runtime.d.ts +17 -0
  811. package/dist/providers/provider-runtime.js +270 -0
  812. package/dist/providers/provider-stats.d.ts +56 -0
  813. package/dist/providers/provider-stats.js +303 -0
  814. package/dist/providers/provider-task-runner.d.ts +23 -0
  815. package/dist/providers/provider-task-runner.js +1202 -0
  816. package/dist/providers/provider.d.ts +76 -0
  817. package/dist/providers/provider.js +9 -0
  818. package/dist/providers/router.d.ts +14 -0
  819. package/dist/providers/router.js +563 -0
  820. package/dist/providers/runner/deepseek-helpers.d.ts +38 -0
  821. package/dist/providers/runner/deepseek-helpers.js +150 -0
  822. package/dist/providers/runner/env.d.ts +12 -0
  823. package/dist/providers/runner/env.js +98 -0
  824. package/dist/providers/runner/execution.d.ts +26 -0
  825. package/dist/providers/runner/execution.js +42 -0
  826. package/dist/providers/runner/helpers.d.ts +9 -0
  827. package/dist/providers/runner/helpers.js +38 -0
  828. package/dist/providers/runner/results.d.ts +26 -0
  829. package/dist/providers/runner/results.js +104 -0
  830. package/dist/providers/thinking-levels.d.ts +7 -0
  831. package/dist/providers/thinking-levels.js +72 -0
  832. package/dist/providers/types.d.ts +143 -0
  833. package/dist/providers/types.js +60 -0
  834. package/dist/replay/differ.d.ts +5 -0
  835. package/dist/replay/differ.js +314 -0
  836. package/dist/replay/index.d.ts +6 -0
  837. package/dist/replay/index.js +4 -0
  838. package/dist/replay/inspector.d.ts +14 -0
  839. package/dist/replay/inspector.js +264 -0
  840. package/dist/replay/manifest-builder.d.ts +11 -0
  841. package/dist/replay/manifest-builder.js +184 -0
  842. package/dist/replay/replay-engine.d.ts +18 -0
  843. package/dist/replay/replay-engine.js +265 -0
  844. package/dist/runtime/adapter.d.ts +77 -0
  845. package/dist/runtime/adapter.js +28 -0
  846. package/dist/runtime/advanced-control-loop.d.ts +60 -0
  847. package/dist/runtime/advanced-control-loop.js +136 -0
  848. package/dist/runtime/agent-runtime.d.ts +133 -0
  849. package/dist/runtime/agent-runtime.js +18 -0
  850. package/dist/runtime/blast-radius.d.ts +10 -0
  851. package/dist/runtime/blast-radius.js +14 -0
  852. package/dist/runtime/cache-stable-session.d.ts +55 -0
  853. package/dist/runtime/cache-stable-session.js +108 -0
  854. package/dist/runtime/capability-injection.d.ts +39 -0
  855. package/dist/runtime/capability-injection.js +93 -0
  856. package/dist/runtime/chat-advisory-runtime.d.ts +2 -0
  857. package/dist/runtime/chat-advisory-runtime.js +71 -0
  858. package/dist/runtime/child-env.d.ts +31 -0
  859. package/dist/runtime/child-env.js +131 -0
  860. package/dist/runtime/codex-cli-runtime.d.ts +10 -0
  861. package/dist/runtime/codex-cli-runtime.js +78 -0
  862. package/dist/runtime/codex-runtime.d.ts +35 -0
  863. package/dist/runtime/codex-runtime.js +264 -0
  864. package/dist/runtime/command-bus.d.ts +13 -0
  865. package/dist/runtime/command-bus.js +57 -0
  866. package/dist/runtime/context-broker-converter.d.ts +9 -0
  867. package/dist/runtime/context-broker-converter.js +96 -0
  868. package/dist/runtime/context-broker.d.ts +34 -0
  869. package/dist/runtime/context-broker.js +321 -0
  870. package/dist/runtime/context-budget-optimizer.d.ts +73 -0
  871. package/dist/runtime/context-budget-optimizer.js +300 -0
  872. package/dist/runtime/context-capsule.d.ts +81 -0
  873. package/dist/runtime/context-capsule.js +46 -0
  874. package/dist/runtime/contracts/command-envelope.d.ts +99 -0
  875. package/dist/runtime/contracts/command-envelope.js +5 -0
  876. package/dist/runtime/contracts/evidence.d.ts +87 -0
  877. package/dist/runtime/contracts/evidence.js +7 -0
  878. package/dist/runtime/contracts/reasoning-trace.d.ts +120 -0
  879. package/dist/runtime/contracts/reasoning-trace.js +10 -0
  880. package/dist/runtime/contracts/router-v2.d.ts +44 -0
  881. package/dist/runtime/contracts/router-v2.js +4 -0
  882. package/dist/runtime/contracts/shared.d.ts +34 -0
  883. package/dist/runtime/contracts/shared.js +12 -0
  884. package/dist/runtime/contracts/weakness-remediation.d.ts +83 -0
  885. package/dist/runtime/contracts/weakness-remediation.js +44 -0
  886. package/dist/runtime/core-verified-preset.d.ts +37 -0
  887. package/dist/runtime/core-verified-preset.js +205 -0
  888. package/dist/runtime/debloat-nlp.d.ts +140 -0
  889. package/dist/runtime/debloat-nlp.js +398 -0
  890. package/dist/runtime/deepseek-runtime.d.ts +28 -0
  891. package/dist/runtime/deepseek-runtime.js +270 -0
  892. package/dist/runtime/external-cli-adapter.d.ts +29 -0
  893. package/dist/runtime/external-cli-adapter.js +283 -0
  894. package/dist/runtime/glm-api-runtime.d.ts +4 -0
  895. package/dist/runtime/glm-api-runtime.js +15 -0
  896. package/dist/runtime/headroom-policy.d.ts +37 -0
  897. package/dist/runtime/headroom-policy.js +122 -0
  898. package/dist/runtime/index.d.ts +9 -0
  899. package/dist/runtime/index.js +9 -0
  900. package/dist/runtime/kimi-api-runtime.d.ts +57 -0
  901. package/dist/runtime/kimi-api-runtime.js +431 -0
  902. package/dist/runtime/kimi-print-runtime.d.ts +10 -0
  903. package/dist/runtime/kimi-print-runtime.js +87 -0
  904. package/dist/runtime/kimi-wire-protocol-runtime.d.ts +44 -0
  905. package/dist/runtime/kimi-wire-protocol-runtime.js +436 -0
  906. package/dist/runtime/kimi-wire-runtime.d.ts +17 -0
  907. package/dist/runtime/kimi-wire-runtime.js +112 -0
  908. package/dist/runtime/legacy-bridge.d.ts +14 -0
  909. package/dist/runtime/legacy-bridge.js +27 -0
  910. package/dist/runtime/local-llm-runtime.d.ts +29 -0
  911. package/dist/runtime/local-llm-runtime.js +231 -0
  912. package/dist/runtime/mimo-api-runtime.d.ts +13 -0
  913. package/dist/runtime/mimo-api-runtime.js +24 -0
  914. package/dist/runtime/nlg-renderer.d.ts +38 -0
  915. package/dist/runtime/nlg-renderer.js +132 -0
  916. package/dist/runtime/ouroboros-policy.d.ts +57 -0
  917. package/dist/runtime/ouroboros-policy.js +134 -0
  918. package/dist/runtime/output-router.d.ts +20 -0
  919. package/dist/runtime/output-router.js +171 -0
  920. package/dist/runtime/process-session.d.ts +27 -0
  921. package/dist/runtime/process-session.js +35 -0
  922. package/dist/runtime/prompt-envelope.d.ts +28 -0
  923. package/dist/runtime/prompt-envelope.js +78 -0
  924. package/dist/runtime/proof-bundle-trust.d.ts +74 -0
  925. package/dist/runtime/proof-bundle-trust.js +100 -0
  926. package/dist/runtime/provider-event-normalizer.d.ts +117 -0
  927. package/dist/runtime/provider-event-normalizer.js +454 -0
  928. package/dist/runtime/provider-maturity-gate.d.ts +43 -0
  929. package/dist/runtime/provider-maturity-gate.js +127 -0
  930. package/dist/runtime/provider-tool-contracts.d.ts +24 -0
  931. package/dist/runtime/provider-tool-contracts.js +56 -0
  932. package/dist/runtime/public-surface.d.ts +93 -0
  933. package/dist/runtime/public-surface.js +146 -0
  934. package/dist/runtime/reasoning-trace.d.ts +46 -0
  935. package/dist/runtime/reasoning-trace.js +289 -0
  936. package/dist/runtime/recovery-artifact-store.d.ts +39 -0
  937. package/dist/runtime/recovery-artifact-store.js +111 -0
  938. package/dist/runtime/renderers.d.ts +33 -0
  939. package/dist/runtime/renderers.js +221 -0
  940. package/dist/runtime/router-v2-scoring.d.ts +16 -0
  941. package/dist/runtime/router-v2-scoring.js +156 -0
  942. package/dist/runtime/runtime-backed-task-runner.d.ts +20 -0
  943. package/dist/runtime/runtime-backed-task-runner.js +184 -0
  944. package/dist/runtime/runtime-bootstrap.d.ts +21 -0
  945. package/dist/runtime/runtime-bootstrap.js +224 -0
  946. package/dist/runtime/runtime-registry.d.ts +23 -0
  947. package/dist/runtime/runtime-registry.js +95 -0
  948. package/dist/runtime/runtime-router.d.ts +56 -0
  949. package/dist/runtime/runtime-router.js +652 -0
  950. package/dist/runtime/sandbox-profile.d.ts +54 -0
  951. package/dist/runtime/sandbox-profile.js +136 -0
  952. package/dist/runtime/slash-commands.d.ts +46 -0
  953. package/dist/runtime/slash-commands.js +652 -0
  954. package/dist/runtime/stable-json.d.ts +9 -0
  955. package/dist/runtime/stable-json.js +45 -0
  956. package/dist/runtime/tool-call-repair.d.ts +35 -0
  957. package/dist/runtime/tool-call-repair.js +181 -0
  958. package/dist/runtime/tool-dispatch-contracts.d.ts +100 -0
  959. package/dist/runtime/tool-dispatch-contracts.js +160 -0
  960. package/dist/runtime/tool-plane.d.ts +31 -0
  961. package/dist/runtime/tool-plane.js +112 -0
  962. package/dist/runtime/tool-proxy.d.ts +20 -0
  963. package/dist/runtime/tool-proxy.js +109 -0
  964. package/dist/runtime/tool-registry-contract.d.ts +40 -0
  965. package/dist/runtime/tool-registry-contract.js +52 -0
  966. package/dist/runtime/ui-components.d.ts +64 -0
  967. package/dist/runtime/ui-components.js +232 -0
  968. package/dist/runtime/weakness-remediation-index.d.ts +27 -0
  969. package/dist/runtime/weakness-remediation-index.js +37 -0
  970. package/dist/runtime/weights-config.d.ts +90 -0
  971. package/dist/runtime/weights-config.js +249 -0
  972. package/dist/runtime/worker-manifest.d.ts +34 -0
  973. package/dist/runtime/worker-manifest.js +204 -0
  974. package/dist/safety/approval-policy.d.ts +4 -0
  975. package/dist/safety/approval-policy.js +33 -0
  976. package/dist/safety/enforcement-engine.d.ts +89 -0
  977. package/dist/safety/enforcement-engine.js +279 -0
  978. package/dist/safety/guard-hooks.d.ts +3 -0
  979. package/dist/safety/guard-hooks.js +64 -0
  980. package/dist/safety/tool-authority-gate.d.ts +102 -0
  981. package/dist/safety/tool-authority-gate.js +200 -0
  982. package/dist/schema/command.schema.d.ts +121 -0
  983. package/dist/schema/command.schema.js +25 -0
  984. package/dist/schema/decision.schema.d.ts +57 -0
  985. package/dist/schema/decision.schema.js +32 -0
  986. package/dist/schema/envelope.schema.d.ts +216 -0
  987. package/dist/schema/envelope.schema.js +38 -0
  988. package/dist/schema/error.schema.d.ts +51 -0
  989. package/dist/schema/error.schema.js +12 -0
  990. package/dist/schema/evidence-bundle.schema.d.ts +196 -0
  991. package/dist/schema/evidence-bundle.schema.js +38 -0
  992. package/dist/schema/evidence.schema.d.ts +58 -0
  993. package/dist/schema/evidence.schema.js +31 -0
  994. package/dist/schema/index.d.ts +10 -0
  995. package/dist/schema/index.js +10 -0
  996. package/dist/schema/proof-bundle.schema.d.ts +150 -0
  997. package/dist/schema/proof-bundle.schema.js +41 -0
  998. package/dist/schema/provider.schema.d.ts +138 -0
  999. package/dist/schema/provider.schema.js +35 -0
  1000. package/dist/schema/run-manifest.schema.d.ts +168 -0
  1001. package/dist/schema/run-manifest.schema.js +35 -0
  1002. package/dist/schema/version.schema.d.ts +64 -0
  1003. package/dist/schema/version.schema.js +21 -0
  1004. package/dist/theme/ansi.d.ts +15 -0
  1005. package/dist/theme/ansi.js +48 -0
  1006. package/dist/theme/colors.d.ts +87 -0
  1007. package/dist/theme/colors.js +105 -0
  1008. package/dist/theme/extended-palette.d.ts +85 -0
  1009. package/dist/theme/extended-palette.js +108 -0
  1010. package/dist/theme/external-theme-adapters.d.ts +27 -0
  1011. package/dist/theme/external-theme-adapters.js +52 -0
  1012. package/dist/theme/hud-theme.d.ts +6 -0
  1013. package/dist/theme/hud-theme.js +41 -0
  1014. package/dist/theme/index.d.ts +12 -0
  1015. package/dist/theme/index.js +20 -0
  1016. package/dist/theme/layout.d.ts +24 -0
  1017. package/dist/theme/layout.js +160 -0
  1018. package/dist/theme/library-effects.d.ts +12 -0
  1019. package/dist/theme/library-effects.js +47 -0
  1020. package/dist/theme/metrics.d.ts +23 -0
  1021. package/dist/theme/metrics.js +93 -0
  1022. package/dist/theme/parallel.d.ts +68 -0
  1023. package/dist/theme/parallel.js +356 -0
  1024. package/dist/theme/working-indicator.d.ts +38 -0
  1025. package/dist/theme/working-indicator.js +149 -0
  1026. package/dist/tui/model.d.ts +28 -0
  1027. package/dist/tui/model.js +1 -0
  1028. package/dist/tui/terminal-frame-renderer.d.ts +27 -0
  1029. package/dist/tui/terminal-frame-renderer.js +130 -0
  1030. package/dist/tui/views/capabilities-view.d.ts +3 -0
  1031. package/dist/tui/views/capabilities-view.js +13 -0
  1032. package/dist/tui/views/common.d.ts +11 -0
  1033. package/dist/tui/views/common.js +35 -0
  1034. package/dist/tui/views/dag-view.d.ts +3 -0
  1035. package/dist/tui/views/dag-view.js +12 -0
  1036. package/dist/tui/views/evidence-view.d.ts +3 -0
  1037. package/dist/tui/views/evidence-view.js +18 -0
  1038. package/dist/tui/views/index.d.ts +4 -0
  1039. package/dist/tui/views/index.js +3 -0
  1040. package/dist/ui/omk-sigil.d.ts +13 -0
  1041. package/dist/ui/omk-sigil.js +268 -0
  1042. package/dist/ui/omk-working-sweep.d.ts +61 -0
  1043. package/dist/ui/omk-working-sweep.js +406 -0
  1044. package/dist/util/agent-schema.d.ts +24 -0
  1045. package/dist/util/agent-schema.js +293 -0
  1046. package/dist/util/appshot-store.d.ts +68 -0
  1047. package/dist/util/appshot-store.js +506 -0
  1048. package/dist/util/chat-agent-mode.d.ts +184 -0
  1049. package/dist/util/chat-agent-mode.js +938 -0
  1050. package/dist/util/chat-cockpit.d.ts +56 -0
  1051. package/dist/util/chat-cockpit.js +389 -0
  1052. package/dist/util/chat-startup.d.ts +35 -0
  1053. package/dist/util/chat-startup.js +330 -0
  1054. package/dist/util/chat-state.d.ts +27 -0
  1055. package/dist/util/chat-state.js +105 -0
  1056. package/dist/util/checkpoint.d.ts +21 -0
  1057. package/dist/util/checkpoint.js +238 -0
  1058. package/dist/util/cli-contract.d.ts +46 -0
  1059. package/dist/util/cli-contract.js +72 -0
  1060. package/dist/util/clipboard-image.d.ts +49 -0
  1061. package/dist/util/clipboard-image.js +263 -0
  1062. package/dist/util/command-envelope.d.ts +19 -0
  1063. package/dist/util/command-envelope.js +31 -0
  1064. package/dist/util/cron-engine.d.ts +24 -0
  1065. package/dist/util/cron-engine.js +227 -0
  1066. package/dist/util/events-logger.d.ts +30 -0
  1067. package/dist/util/events-logger.js +142 -0
  1068. package/dist/util/execution-selection.d.ts +13 -0
  1069. package/dist/util/execution-selection.js +82 -0
  1070. package/dist/util/first-run-star.d.ts +58 -0
  1071. package/dist/util/first-run-star.js +264 -0
  1072. package/dist/util/fs/core.d.ts +5 -0
  1073. package/dist/util/fs/core.js +35 -0
  1074. package/dist/util/fs/internal.d.ts +14 -0
  1075. package/dist/util/fs/internal.js +169 -0
  1076. package/dist/util/fs/kimi-sync.d.ts +41 -0
  1077. package/dist/util/fs/kimi-sync.js +495 -0
  1078. package/dist/util/fs/logo.d.ts +2 -0
  1079. package/dist/util/fs/logo.js +78 -0
  1080. package/dist/util/fs/manifest.d.ts +6 -0
  1081. package/dist/util/fs/manifest.js +40 -0
  1082. package/dist/util/fs/mcp-diagnose.d.ts +15 -0
  1083. package/dist/util/fs/mcp-diagnose.js +205 -0
  1084. package/dist/util/fs/mcp-runtime-config.d.ts +23 -0
  1085. package/dist/util/fs/mcp-runtime-config.js +424 -0
  1086. package/dist/util/fs/paths.d.ts +13 -0
  1087. package/dist/util/fs/paths.js +82 -0
  1088. package/dist/util/fs/preflight.d.ts +27 -0
  1089. package/dist/util/fs/preflight.js +271 -0
  1090. package/dist/util/fs.d.ts +8 -0
  1091. package/dist/util/fs.js +8 -0
  1092. package/dist/util/git.d.ts +11 -0
  1093. package/dist/util/git.js +39 -0
  1094. package/dist/util/help-text.d.ts +1 -0
  1095. package/dist/util/help-text.js +60 -0
  1096. package/dist/util/i18n.d.ts +10 -0
  1097. package/dist/util/i18n.js +848 -0
  1098. package/dist/util/json-envelope.d.ts +15 -0
  1099. package/dist/util/json-envelope.js +28 -0
  1100. package/dist/util/mcp-preflight.d.ts +26 -0
  1101. package/dist/util/mcp-preflight.js +29 -0
  1102. package/dist/util/mode-preset.d.ts +29 -0
  1103. package/dist/util/mode-preset.js +222 -0
  1104. package/dist/util/mode-selector.d.ts +6 -0
  1105. package/dist/util/mode-selector.js +74 -0
  1106. package/dist/util/output-buffer.d.ts +12 -0
  1107. package/dist/util/output-buffer.js +59 -0
  1108. package/dist/util/process-tree.d.ts +18 -0
  1109. package/dist/util/process-tree.js +102 -0
  1110. package/dist/util/project-root.d.ts +27 -0
  1111. package/dist/util/project-root.js +382 -0
  1112. package/dist/util/provider-usage.d.ts +2 -0
  1113. package/dist/util/provider-usage.js +1 -0
  1114. package/dist/util/reasoning-nlp.d.ts +84 -0
  1115. package/dist/util/reasoning-nlp.js +325 -0
  1116. package/dist/util/resource-profile.d.ts +32 -0
  1117. package/dist/util/resource-profile.js +219 -0
  1118. package/dist/util/run-store.d.ts +38 -0
  1119. package/dist/util/run-store.js +151 -0
  1120. package/dist/util/run-view-model.d.ts +111 -0
  1121. package/dist/util/run-view-model.js +333 -0
  1122. package/dist/util/runtime-profile.d.ts +34 -0
  1123. package/dist/util/runtime-profile.js +149 -0
  1124. package/dist/util/runtime-scope.d.ts +2 -0
  1125. package/dist/util/runtime-scope.js +19 -0
  1126. package/dist/util/scoped-agent-file.d.ts +47 -0
  1127. package/dist/util/scoped-agent-file.js +121 -0
  1128. package/dist/util/screenshot-store.d.ts +42 -0
  1129. package/dist/util/screenshot-store.js +340 -0
  1130. package/dist/util/secret-mask.d.ts +5 -0
  1131. package/dist/util/secret-mask.js +41 -0
  1132. package/dist/util/session.d.ts +19 -0
  1133. package/dist/util/session.js +80 -0
  1134. package/dist/util/shell.d.ts +30 -0
  1135. package/dist/util/shell.js +350 -0
  1136. package/dist/util/snippet.d.ts +17 -0
  1137. package/dist/util/snippet.js +110 -0
  1138. package/dist/util/sync-manifest.d.ts +13 -0
  1139. package/dist/util/sync-manifest.js +22 -0
  1140. package/dist/util/terminal-input.d.ts +45 -0
  1141. package/dist/util/terminal-input.js +67 -0
  1142. package/dist/util/terminal-kit-bridge.d.ts +24 -0
  1143. package/dist/util/terminal-kit-bridge.js +60 -0
  1144. package/dist/util/terminal-layout.d.ts +18 -0
  1145. package/dist/util/terminal-layout.js +112 -0
  1146. package/dist/util/terminal-owner.d.ts +20 -0
  1147. package/dist/util/terminal-owner.js +95 -0
  1148. package/dist/util/theme.d.ts +9 -0
  1149. package/dist/util/theme.js +9 -0
  1150. package/dist/util/timeout-config.d.ts +18 -0
  1151. package/dist/util/timeout-config.js +101 -0
  1152. package/dist/util/todo-sync.d.ts +58 -0
  1153. package/dist/util/todo-sync.js +473 -0
  1154. package/dist/util/update-check.d.ts +94 -0
  1155. package/dist/util/update-check.js +355 -0
  1156. package/dist/util/usage-view-model.d.ts +22 -0
  1157. package/dist/util/usage-view-model.js +57 -0
  1158. package/dist/util/user-visible-output.d.ts +19 -0
  1159. package/dist/util/user-visible-output.js +48 -0
  1160. package/dist/util/version.d.ts +4 -0
  1161. package/dist/util/version.js +52 -0
  1162. package/dist/util/worktree.d.ts +10 -0
  1163. package/dist/util/worktree.js +165 -0
  1164. package/dist/ux/explain-loop-decision.d.ts +4 -0
  1165. package/dist/ux/explain-loop-decision.js +55 -0
  1166. package/dist/ux/intent-router.d.ts +15 -0
  1167. package/dist/ux/intent-router.js +64 -0
  1168. package/dist/ux/natural-entrypoint.d.ts +21 -0
  1169. package/dist/ux/natural-entrypoint.js +122 -0
  1170. package/dist/version.d.ts +13 -0
  1171. package/dist/version.js +22 -0
  1172. package/dist/web-bridge/host.d.ts +8 -0
  1173. package/dist/web-bridge/host.js +109 -0
  1174. package/dist/web-bridge/native-host.d.ts +6 -0
  1175. package/dist/web-bridge/native-host.js +40 -0
  1176. package/dist/web-bridge/status.d.ts +84 -0
  1177. package/dist/web-bridge/status.js +201 -0
  1178. package/docs/2026-05-01-16gb-lite-mode.md +37 -0
  1179. package/docs/2026-05-01-critical-issues-and-improvements.md +361 -0
  1180. package/docs/2026-05-01-dag-ensemble-runtime.md +74 -0
  1181. package/docs/2026-05-02-p1-p2-hardening-handoff.md +139 -0
  1182. package/docs/2026-05-05-adjustable-timeouts-and-cron-jobs.md +252 -0
  1183. package/docs/2026-05-08-omk-hardening-plan.md +62 -0
  1184. package/docs/2026-05-14/critical-issues.md +20 -0
  1185. package/docs/2026-05-14/improvements.md +14 -0
  1186. package/docs/2026-05-14/init-checklist.md +25 -0
  1187. package/docs/2026-05-14/plan.md +20 -0
  1188. package/docs/2026-05-15/critical-issues.md +20 -0
  1189. package/docs/2026-05-15/improvements.md +14 -0
  1190. package/docs/2026-05-15/init-checklist.md +25 -0
  1191. package/docs/2026-05-15/plan.md +20 -0
  1192. package/docs/2026-05-16/critical-issues.md +20 -0
  1193. package/docs/2026-05-16/improvements.md +14 -0
  1194. package/docs/2026-05-16/init-checklist.md +25 -0
  1195. package/docs/2026-05-16/plan.md +20 -0
  1196. package/docs/2026-05-17/critical-issues.md +20 -0
  1197. package/docs/2026-05-17/improvements.md +14 -0
  1198. package/docs/2026-05-17/init-checklist.md +25 -0
  1199. package/docs/2026-05-17/plan.md +20 -0
  1200. package/docs/2026-05-18/improvements.md +14 -0
  1201. package/docs/2026-05-18/init-checklist.md +25 -0
  1202. package/docs/2026-05-18/plan.md +20 -0
  1203. package/docs/2026-05-18-critical-issues-and-improvements.md +441 -0
  1204. package/docs/2026-05-18-project-direction.md +223 -0
  1205. package/docs/2026-05-19/critical-issues.md +20 -0
  1206. package/docs/2026-05-19/improvements.md +14 -0
  1207. package/docs/2026-05-19/init-checklist.md +25 -0
  1208. package/docs/2026-05-19/plan.md +20 -0
  1209. package/docs/2026-05-20/critical-issues.md +20 -0
  1210. package/docs/2026-05-20/improvements.md +14 -0
  1211. package/docs/2026-05-20/init-checklist.md +25 -0
  1212. package/docs/2026-05-20/plan.md +20 -0
  1213. package/docs/2026-05-21/critical-issues.md +20 -0
  1214. package/docs/2026-05-21/improvements.md +14 -0
  1215. package/docs/2026-05-21/init-checklist.md +25 -0
  1216. package/docs/2026-05-21/plan.md +20 -0
  1217. package/docs/2026-05-22/critical-issues.md +20 -0
  1218. package/docs/2026-05-22/improvements.md +14 -0
  1219. package/docs/2026-05-22/init-checklist.md +25 -0
  1220. package/docs/2026-05-22/plan.md +20 -0
  1221. package/docs/2026-05-23/critical-issues.md +20 -0
  1222. package/docs/2026-05-23/improvements.md +14 -0
  1223. package/docs/2026-05-23/init-checklist.md +25 -0
  1224. package/docs/2026-05-23/plan.md +20 -0
  1225. package/docs/2026-05-24/critical-issues.md +30 -0
  1226. package/docs/2026-05-24/improvements.md +23 -0
  1227. package/docs/2026-05-24/init-checklist.md +25 -0
  1228. package/docs/2026-05-24/plan.md +22 -0
  1229. package/docs/2026-05-25/critical-issues.md +20 -0
  1230. package/docs/2026-05-25/improvements.md +14 -0
  1231. package/docs/2026-05-25/init-checklist.md +25 -0
  1232. package/docs/2026-05-25/plan.md +20 -0
  1233. package/docs/2026-05-26/critical-issues.md +20 -0
  1234. package/docs/2026-05-26/improvements.md +14 -0
  1235. package/docs/2026-05-26/init-checklist.md +25 -0
  1236. package/docs/2026-05-26/plan.md +20 -0
  1237. package/docs/2026-05-27/critical-issues.md +20 -0
  1238. package/docs/2026-05-27/improvements.md +14 -0
  1239. package/docs/2026-05-27/init-checklist.md +25 -0
  1240. package/docs/2026-05-27/plan.md +20 -0
  1241. package/docs/2026-05-28/critical-issues.md +20 -0
  1242. package/docs/2026-05-28/improvements.md +14 -0
  1243. package/docs/2026-05-28/init-checklist.md +25 -0
  1244. package/docs/2026-05-28/plan.md +20 -0
  1245. package/docs/2026-05-29/critical-issues.md +20 -0
  1246. package/docs/2026-05-29/improvements.md +14 -0
  1247. package/docs/2026-05-29/init-checklist.md +25 -0
  1248. package/docs/2026-05-29/plan.md +20 -0
  1249. package/docs/2026-05-30/critical-issues.md +20 -0
  1250. package/docs/2026-05-30/improvements.md +14 -0
  1251. package/docs/2026-05-30/init-checklist.md +25 -0
  1252. package/docs/2026-05-30/plan.md +20 -0
  1253. package/docs/2026-05-31/critical-issues.md +20 -0
  1254. package/docs/2026-05-31/improvements.md +14 -0
  1255. package/docs/2026-05-31/init-checklist.md +25 -0
  1256. package/docs/2026-05-31/plan.md +20 -0
  1257. package/docs/2026-06-01/critical-issues.md +20 -0
  1258. package/docs/2026-06-01/improvements.md +14 -0
  1259. package/docs/2026-06-01/init-checklist.md +25 -0
  1260. package/docs/2026-06-01/plan.md +20 -0
  1261. package/docs/2026-06-02/critical-issues.md +20 -0
  1262. package/docs/2026-06-02/improvements.md +14 -0
  1263. package/docs/2026-06-02/init-checklist.md +25 -0
  1264. package/docs/2026-06-02/plan.md +20 -0
  1265. package/docs/2026-06-03/critical-issues.md +20 -0
  1266. package/docs/2026-06-03/improvements.md +14 -0
  1267. package/docs/2026-06-03/init-checklist.md +25 -0
  1268. package/docs/2026-06-03/plan.md +20 -0
  1269. package/docs/2026-06-04/critical-issues.md +20 -0
  1270. package/docs/2026-06-04/improvements.md +14 -0
  1271. package/docs/2026-06-04/init-checklist.md +25 -0
  1272. package/docs/2026-06-04/plan.md +20 -0
  1273. package/docs/2026-06-05/critical-issues.md +20 -0
  1274. package/docs/2026-06-05/improvements.md +14 -0
  1275. package/docs/2026-06-05/init-checklist.md +25 -0
  1276. package/docs/2026-06-05/plan.md +20 -0
  1277. package/docs/2026-06-06/critical-issues.md +20 -0
  1278. package/docs/2026-06-06/improvements.md +14 -0
  1279. package/docs/2026-06-06/init-checklist.md +25 -0
  1280. package/docs/2026-06-06/plan.md +20 -0
  1281. package/docs/2026-06-07/critical-issues.md +20 -0
  1282. package/docs/2026-06-07/improvements.md +14 -0
  1283. package/docs/2026-06-07/init-checklist.md +25 -0
  1284. package/docs/2026-06-07/plan.md +20 -0
  1285. package/docs/2026-06-08/critical-issues.md +20 -0
  1286. package/docs/2026-06-08/improvements.md +14 -0
  1287. package/docs/2026-06-08/init-checklist.md +25 -0
  1288. package/docs/2026-06-08/plan.md +20 -0
  1289. package/docs/2026-06-09/critical-issues.md +20 -0
  1290. package/docs/2026-06-09/improvements.md +14 -0
  1291. package/docs/2026-06-09/init-checklist.md +25 -0
  1292. package/docs/2026-06-09/plan.md +20 -0
  1293. package/docs/2026-06-10/critical-issues.md +20 -0
  1294. package/docs/2026-06-10/improvements.md +14 -0
  1295. package/docs/2026-06-10/init-checklist.md +25 -0
  1296. package/docs/2026-06-10/plan.md +20 -0
  1297. package/docs/2026-06-11/critical-issues.md +20 -0
  1298. package/docs/2026-06-11/improvements.md +14 -0
  1299. package/docs/2026-06-11/init-checklist.md +25 -0
  1300. package/docs/2026-06-11/plan.md +20 -0
  1301. package/docs/2026-06-14/critical-issues.md +19 -0
  1302. package/docs/2026-06-14/improvements.md +15 -0
  1303. package/docs/2026-06-14/init-checklist.md +25 -0
  1304. package/docs/2026-06-14/plan.md +20 -0
  1305. package/docs/2026-06-15/critical-issues.md +19 -0
  1306. package/docs/2026-06-15/improvements.md +15 -0
  1307. package/docs/2026-06-15/init-checklist.md +25 -0
  1308. package/docs/2026-06-15/plan.md +20 -0
  1309. package/docs/ARCHITECTURE_ANALYSIS_CODEGRAPH.md +223 -0
  1310. package/docs/GSTACK_MIGRATION.md +169 -0
  1311. package/docs/OMK_CLI_V2_RUNTIME_ARCHITECTURE.md +2058 -0
  1312. package/docs/adr/0001-no-native-rust-lane.md +52 -0
  1313. package/docs/benchmark-design.md +122 -0
  1314. package/docs/claims.md +85 -0
  1315. package/docs/cli-v2-migration.md +87 -0
  1316. package/docs/codex-oauth-setup.md +62 -0
  1317. package/docs/comparisons/omk-vs-claude-code.md +31 -0
  1318. package/docs/comparisons/omk-vs-codex.md +33 -0
  1319. package/docs/comparisons/omk-vs-mcp-agent.md +33 -0
  1320. package/docs/comparisons/omk-vs-opencode.md +32 -0
  1321. package/docs/decision-layer-calibration.md +20 -0
  1322. package/docs/decisions/2026-06-10-git-history-bloat.md +61 -0
  1323. package/docs/decisions/ADR-theme-dark-only-assets.md +43 -0
  1324. package/docs/demo/verified-run/README.md +32 -0
  1325. package/docs/demo/verified-run/artifacts/README.md +18 -0
  1326. package/docs/demo/verified-run/capture-plan.md +51 -0
  1327. package/docs/demo/verified-run/generated-diff.md +27 -0
  1328. package/docs/demo/verified-run/raw-prompt.md +21 -0
  1329. package/docs/demo/verified-run/video-shot-list.md +14 -0
  1330. package/docs/design-md.md +35 -0
  1331. package/docs/geo-eval-prompts.md +53 -0
  1332. package/docs/getting-started.md +37 -0
  1333. package/docs/github-organic-promotion.md +127 -0
  1334. package/docs/headroom-omk-final-summary.md +188 -0
  1335. package/docs/headroom-omk-integration.md +394 -0
  1336. package/docs/headroom-omk-setup-guide.md +422 -0
  1337. package/docs/headroom-omk-usage-examples.md +371 -0
  1338. package/docs/hud-and-parallel-ux.md +155 -0
  1339. package/docs/integrations/adaptorch.md +46 -0
  1340. package/docs/integrations/ouroboros.md +96 -0
  1341. package/docs/kimi-oauth-usage-status.md +33 -0
  1342. package/docs/kimi-okabe-dmail.md +44 -0
  1343. package/docs/local-graph-memory.md +102 -0
  1344. package/docs/lsp.md +48 -0
  1345. package/docs/mcp-ontology-proposal.md +12 -0
  1346. package/docs/native-root-runtime-algorithms.md +402 -0
  1347. package/docs/native-root-runtime-hardening.md +131 -0
  1348. package/docs/neo4j-memory.md +5 -0
  1349. package/docs/openai-platform-image-keys.md +23 -0
  1350. package/docs/phase1-final-report.md +154 -0
  1351. package/docs/provider-maturity.md +44 -0
  1352. package/docs/runtime-architecture.md +89 -0
  1353. package/docs/use-cases/evidence-gated-coding-agents.md +52 -0
  1354. package/docs/use-cases/no-kimi-mode.md +38 -0
  1355. package/docs/use-cases/provider-routing-for-ai-coding.md +36 -0
  1356. package/docs/use-cases/replayable-agent-runs.md +40 -0
  1357. package/docs/use-cases/scoped-mcp-for-coding-agents.md +34 -0
  1358. package/docs/versioning.md +55 -0
  1359. package/docs/what-is-omk.md +64 -0
  1360. package/llms.txt +48 -0
  1361. package/package.json +196 -97
  1362. package/readmeasset/.npmignore +25 -0
  1363. package/readmeasset/ASSET_INDEX.md +42 -0
  1364. package/readmeasset/ASSET_PROVENANCE.md +116 -0
  1365. package/readmeasset/omk-adaptorch-ouroboros-supermemory.svg +95 -0
  1366. package/readmeasset/omk-control-surfaces.svg +55 -0
  1367. package/readmeasset/omk-core-loop.svg +26 -0
  1368. package/readmeasset/omk-evidence-gate-card.png +0 -0
  1369. package/readmeasset/omk-github-banner.webp +0 -0
  1370. package/readmeasset/omk-github-header.webp +0 -0
  1371. package/readmeasset/omk-init-control-loop.svg +118 -0
  1372. package/readmeasset/omk-install-card.png +0 -0
  1373. package/readmeasset/omk-logo-512.png +0 -0
  1374. package/readmeasset/omk-logo-mark.svg +8 -0
  1375. package/readmeasset/omk-parallel-subagents.svg +97 -0
  1376. package/readmeasset/omk-provider-router-card.png +0 -0
  1377. package/readmeasset/omk-release-assertions.svg +51 -0
  1378. package/readmeasset/omk-runtime-flow-0.78.0.webp +0 -0
  1379. package/readmeasset/omk-social-preview.png +0 -0
  1380. package/readmeasset/omk-tui-0.78.0.webp +0 -0
  1381. package/readmeasset/omk_tui.png +0 -0
  1382. package/templates/.kimi/AGENTS.md +93 -0
  1383. package/templates/.omk/agents/okabe.yaml +30 -0
  1384. package/templates/.omk/agents/roles/aggregator.yaml +13 -0
  1385. package/templates/.omk/agents/roles/architect.yaml +13 -0
  1386. package/templates/.omk/agents/roles/coder.yaml +9 -0
  1387. package/templates/.omk/agents/roles/explorer.yaml +13 -0
  1388. package/templates/.omk/agents/roles/integrator.yaml +13 -0
  1389. package/templates/.omk/agents/roles/interviewer.yaml +13 -0
  1390. package/templates/.omk/agents/roles/ontology.yaml +18 -0
  1391. package/templates/.omk/agents/roles/planner.yaml +13 -0
  1392. package/templates/.omk/agents/roles/qa.yaml +12 -0
  1393. package/templates/.omk/agents/roles/researcher.yaml +13 -0
  1394. package/templates/.omk/agents/roles/reviewer.yaml +13 -0
  1395. package/templates/.omk/agents/roles/router.yaml +13 -0
  1396. package/templates/.omk/agents/roles/security.yaml +12 -0
  1397. package/templates/.omk/agents/roles/tester.yaml +12 -0
  1398. package/templates/.omk/agents/roles/vision-debugger.yaml +12 -0
  1399. package/templates/.omk/agents/root.yaml +62 -0
  1400. package/templates/.omk/lsp.json +27 -0
  1401. package/templates/.omk/prompts/root.md +74 -0
  1402. package/templates/AGENTS.md +510 -0
  1403. package/templates/skills/agents/agentmemory/SKILL.md +40 -0
  1404. package/templates/skills/agents/andrej-karpathy-skills/SKILL.md +41 -0
  1405. package/templates/skills/agents/claude-for-legal/SKILL.md +63 -0
  1406. package/templates/skills/agents/claude-for-legal/references/workflow-catalog.md +38 -0
  1407. package/templates/skills/agents/matt-pocock-skills/SKILL.md +40 -0
  1408. package/templates/skills/agents/multica/SKILL.md +40 -0
  1409. package/templates/skills/agents/omk-agent-reach-websearch/SKILL.md +55 -0
  1410. package/templates/skills/agents/omk-backend-api-review/SKILL.md +30 -0
  1411. package/templates/skills/agents/omk-code-review/SKILL.md +40 -0
  1412. package/templates/skills/agents/omk-context-broker/SKILL.md +57 -0
  1413. package/templates/skills/agents/omk-control-loop-debugger/SKILL.md +49 -0
  1414. package/templates/skills/agents/omk-design-system/SKILL.md +22 -0
  1415. package/templates/skills/agents/omk-docs-release/SKILL.md +42 -0
  1416. package/templates/skills/agents/omk-evidence-contract/SKILL.md +52 -0
  1417. package/templates/skills/agents/omk-frontend-implementation/SKILL.md +13 -0
  1418. package/templates/skills/agents/omk-frontend-ui-review/SKILL.md +29 -0
  1419. package/templates/skills/agents/omk-git-commit-pr/SKILL.md +45 -0
  1420. package/templates/skills/agents/omk-industrial-control-loop/SKILL.md +33 -0
  1421. package/templates/skills/agents/omk-plan-first/SKILL.md +39 -0
  1422. package/templates/skills/agents/omk-project-rules/SKILL.md +46 -0
  1423. package/templates/skills/agents/omk-python-typing/SKILL.md +33 -0
  1424. package/templates/skills/agents/omk-quality-gate/SKILL.md +54 -0
  1425. package/templates/skills/agents/omk-repo-explorer/SKILL.md +33 -0
  1426. package/templates/skills/agents/omk-research-verify/SKILL.md +30 -0
  1427. package/templates/skills/agents/omk-secret-guard/SKILL.md +23 -0
  1428. package/templates/skills/agents/omk-security-review/SKILL.md +49 -0
  1429. package/templates/skills/agents/omk-test-debug-loop/SKILL.md +43 -0
  1430. package/templates/skills/agents/omk-troubleshooting/SKILL.md +14 -0
  1431. package/templates/skills/agents/omk-typescript-strict/SKILL.md +38 -0
  1432. package/templates/skills/agents/omk-worktree-team/SKILL.md +44 -0
  1433. package/templates/skills/agents/react-doctor/SKILL.md +46 -0
  1434. package/templates/skills/kimi/agentmemory/SKILL.md +40 -0
  1435. package/templates/skills/kimi/andrej-karpathy-skills/SKILL.md +41 -0
  1436. package/templates/skills/kimi/awesome-design-md/SKILL.md +54 -0
  1437. package/templates/skills/kimi/claude-for-legal/SKILL.md +63 -0
  1438. package/templates/skills/kimi/claude-for-legal/references/workflow-catalog.md +38 -0
  1439. package/templates/skills/kimi/deepseek-api/SKILL.md +27 -0
  1440. package/templates/skills/kimi/deepseek-disable/SKILL.md +20 -0
  1441. package/templates/skills/kimi/deepseek-enable/SKILL.md +20 -0
  1442. package/templates/skills/kimi/deepseekset/SKILL.md +27 -0
  1443. package/templates/skills/kimi/graph-view/SKILL.md +29 -0
  1444. package/templates/skills/kimi/matt-pocock-skills/SKILL.md +40 -0
  1445. package/templates/skills/kimi/multica/SKILL.md +40 -0
  1446. package/templates/skills/kimi/omk-agent-reach-websearch/SKILL.md +55 -0
  1447. package/templates/skills/kimi/omk-backend-api-review/SKILL.md +30 -0
  1448. package/templates/skills/kimi/omk-code-review/SKILL.md +34 -0
  1449. package/templates/skills/kimi/omk-context-broker/SKILL.md +57 -0
  1450. package/templates/skills/kimi/omk-control-loop-debugger/SKILL.md +49 -0
  1451. package/templates/skills/kimi/omk-design-md/SKILL.md +55 -0
  1452. package/templates/skills/kimi/omk-design-system/SKILL.md +22 -0
  1453. package/templates/skills/kimi/omk-docs-release/SKILL.md +42 -0
  1454. package/templates/skills/kimi/omk-evidence-contract/SKILL.md +52 -0
  1455. package/templates/skills/kimi/omk-flow-bugfix/SKILL.md +20 -0
  1456. package/templates/skills/kimi/omk-flow-design-to-code/SKILL.md +23 -0
  1457. package/templates/skills/kimi/omk-flow-feature-dev/SKILL.md +24 -0
  1458. package/templates/skills/kimi/omk-flow-pr-review/SKILL.md +17 -0
  1459. package/templates/skills/kimi/omk-flow-refactor/SKILL.md +21 -0
  1460. package/templates/skills/kimi/omk-flow-release/SKILL.md +20 -0
  1461. package/templates/skills/kimi/omk-flow-team-run/SKILL.md +24 -0
  1462. package/templates/skills/kimi/omk-frontend-implementation/SKILL.md +13 -0
  1463. package/templates/skills/kimi/omk-frontend-ui-review/SKILL.md +29 -0
  1464. package/templates/skills/kimi/omk-git-commit-pr/SKILL.md +45 -0
  1465. package/templates/skills/kimi/omk-global-rules/SKILL.md +31 -0
  1466. package/templates/skills/kimi/omk-industrial-control-loop/SKILL.md +33 -0
  1467. package/templates/skills/kimi/omk-kimi-runtime/SKILL.md +46 -0
  1468. package/templates/skills/kimi/omk-multimodal-ui-review/SKILL.md +26 -0
  1469. package/templates/skills/kimi/omk-plan-first/SKILL.md +39 -0
  1470. package/templates/skills/kimi/omk-project-rules/SKILL.md +21 -0
  1471. package/templates/skills/kimi/omk-python-typing/SKILL.md +33 -0
  1472. package/templates/skills/kimi/omk-quality-gate/SKILL.md +36 -0
  1473. package/templates/skills/kimi/omk-repo-explorer/SKILL.md +33 -0
  1474. package/templates/skills/kimi/omk-research-verify/SKILL.md +30 -0
  1475. package/templates/skills/kimi/omk-secret-guard/SKILL.md +23 -0
  1476. package/templates/skills/kimi/omk-security-review/SKILL.md +49 -0
  1477. package/templates/skills/kimi/omk-task-router/SKILL.md +27 -0
  1478. package/templates/skills/kimi/omk-test-debug-loop/SKILL.md +43 -0
  1479. package/templates/skills/kimi/omk-typescript-strict/SKILL.md +38 -0
  1480. package/templates/skills/kimi/omk-worktree-team/SKILL.md +44 -0
  1481. package/templates/skills/kimi/open-design/SKILL.md +56 -0
  1482. package/templates/skills/kimi/provider/SKILL.md +47 -0
  1483. package/templates/skills/kimi/react-doctor/SKILL.md +46 -0
  1484. package/templates/skills/kimi/speckit-analyze/SKILL.md +255 -0
  1485. package/templates/skills/kimi/speckit-checklist/SKILL.md +367 -0
  1486. package/templates/skills/kimi/speckit-clarify/SKILL.md +249 -0
  1487. package/templates/skills/kimi/speckit-constitution/SKILL.md +152 -0
  1488. package/templates/skills/kimi/speckit-implement/SKILL.md +204 -0
  1489. package/templates/skills/kimi/speckit-plan/SKILL.md +147 -0
  1490. package/templates/skills/kimi/speckit-specify/SKILL.md +325 -0
  1491. package/templates/skills/kimi/speckit-tasks/SKILL.md +197 -0
  1492. package/templates/skills/kimi/speckit-taskstoissues/SKILL.md +101 -0
  1493. package/templates/skills/kimi/think/SKILL.md +41 -0
  1494. package/templates/spec-kit-omk-preset/commands/plan.md +21 -0
  1495. package/templates/spec-kit-omk-preset/commands/tasks.md +21 -0
  1496. package/templates/spec-kit-omk-preset/preset.yml +12 -0
  1497. package/templates/spec-kit-omk-preset/templates/plan-template.md +75 -0
  1498. package/templates/spec-kit-omk-preset/templates/spec-template.md +80 -0
  1499. package/templates/spec-kit-omk-preset/templates/tasks-template.md +160 -0
  1500. package/templates/web-bridge/chrome-extension/README.md +18 -0
  1501. package/templates/web-bridge/chrome-extension/background.js +57 -0
  1502. package/templates/web-bridge/chrome-extension/content-script.js +46 -0
  1503. package/templates/web-bridge/chrome-extension/manifest.json +16 -0
  1504. package/templates/web-bridge/chrome-extension/popup.html +21 -0
  1505. package/templates/web-bridge/chrome-extension/popup.js +9 -0
  1506. package/dist/bun/cli.d.ts +0 -3
  1507. package/dist/bun/cli.d.ts.map +0 -1
  1508. package/dist/bun/cli.js +0 -10
  1509. package/dist/bun/cli.js.map +0 -1
  1510. package/dist/bun/register-bedrock.d.ts +0 -2
  1511. package/dist/bun/register-bedrock.d.ts.map +0 -1
  1512. package/dist/bun/register-bedrock.js +0 -4
  1513. package/dist/bun/register-bedrock.js.map +0 -1
  1514. package/dist/bun/restore-sandbox-env.d.ts +0 -13
  1515. package/dist/bun/restore-sandbox-env.d.ts.map +0 -1
  1516. package/dist/bun/restore-sandbox-env.js +0 -32
  1517. package/dist/bun/restore-sandbox-env.js.map +0 -1
  1518. package/dist/cli/args.d.ts +0 -56
  1519. package/dist/cli/args.d.ts.map +0 -1
  1520. package/dist/cli/args.js +0 -392
  1521. package/dist/cli/args.js.map +0 -1
  1522. package/dist/cli/config-selector.d.ts +0 -14
  1523. package/dist/cli/config-selector.d.ts.map +0 -1
  1524. package/dist/cli/config-selector.js +0 -31
  1525. package/dist/cli/config-selector.js.map +0 -1
  1526. package/dist/cli/file-processor.d.ts +0 -15
  1527. package/dist/cli/file-processor.d.ts.map +0 -1
  1528. package/dist/cli/file-processor.js +0 -82
  1529. package/dist/cli/file-processor.js.map +0 -1
  1530. package/dist/cli/initial-message.d.ts +0 -18
  1531. package/dist/cli/initial-message.d.ts.map +0 -1
  1532. package/dist/cli/initial-message.js +0 -22
  1533. package/dist/cli/initial-message.js.map +0 -1
  1534. package/dist/cli/list-models.d.ts +0 -9
  1535. package/dist/cli/list-models.d.ts.map +0 -1
  1536. package/dist/cli/list-models.js +0 -98
  1537. package/dist/cli/list-models.js.map +0 -1
  1538. package/dist/cli/session-picker.d.ts +0 -9
  1539. package/dist/cli/session-picker.d.ts.map +0 -1
  1540. package/dist/cli/session-picker.js +0 -35
  1541. package/dist/cli/session-picker.js.map +0 -1
  1542. package/dist/cli.d.ts.map +0 -1
  1543. package/dist/cli.js.map +0 -1
  1544. package/dist/config.d.ts +0 -132
  1545. package/dist/config.d.ts.map +0 -1
  1546. package/dist/config.js +0 -529
  1547. package/dist/config.js.map +0 -1
  1548. package/dist/core/adaptive-runtime.d.ts +0 -150
  1549. package/dist/core/adaptive-runtime.d.ts.map +0 -1
  1550. package/dist/core/adaptive-runtime.js +0 -378
  1551. package/dist/core/adaptive-runtime.js.map +0 -1
  1552. package/dist/core/agent-session-runtime.d.ts +0 -117
  1553. package/dist/core/agent-session-runtime.d.ts.map +0 -1
  1554. package/dist/core/agent-session-runtime.js +0 -300
  1555. package/dist/core/agent-session-runtime.js.map +0 -1
  1556. package/dist/core/agent-session-services.d.ts +0 -87
  1557. package/dist/core/agent-session-services.d.ts.map +0 -1
  1558. package/dist/core/agent-session-services.js +0 -119
  1559. package/dist/core/agent-session-services.js.map +0 -1
  1560. package/dist/core/agent-session.d.ts +0 -604
  1561. package/dist/core/agent-session.d.ts.map +0 -1
  1562. package/dist/core/agent-session.js +0 -2535
  1563. package/dist/core/agent-session.js.map +0 -1
  1564. package/dist/core/auth-guidance.d.ts +0 -5
  1565. package/dist/core/auth-guidance.d.ts.map +0 -1
  1566. package/dist/core/auth-guidance.js +0 -21
  1567. package/dist/core/auth-guidance.js.map +0 -1
  1568. package/dist/core/auth-storage.d.ts +0 -141
  1569. package/dist/core/auth-storage.d.ts.map +0 -1
  1570. package/dist/core/auth-storage.js +0 -445
  1571. package/dist/core/auth-storage.js.map +0 -1
  1572. package/dist/core/bash-executor.d.ts +0 -32
  1573. package/dist/core/bash-executor.d.ts.map +0 -1
  1574. package/dist/core/bash-executor.js +0 -111
  1575. package/dist/core/bash-executor.js.map +0 -1
  1576. package/dist/core/compaction/branch-summarization.d.ts +0 -90
  1577. package/dist/core/compaction/branch-summarization.d.ts.map +0 -1
  1578. package/dist/core/compaction/branch-summarization.js +0 -249
  1579. package/dist/core/compaction/branch-summarization.js.map +0 -1
  1580. package/dist/core/compaction/compaction.d.ts +0 -132
  1581. package/dist/core/compaction/compaction.d.ts.map +0 -1
  1582. package/dist/core/compaction/compaction.js +0 -635
  1583. package/dist/core/compaction/compaction.js.map +0 -1
  1584. package/dist/core/compaction/index.d.ts +0 -7
  1585. package/dist/core/compaction/index.d.ts.map +0 -1
  1586. package/dist/core/compaction/index.js +0 -7
  1587. package/dist/core/compaction/index.js.map +0 -1
  1588. package/dist/core/compaction/utils.d.ts +0 -38
  1589. package/dist/core/compaction/utils.d.ts.map +0 -1
  1590. package/dist/core/compaction/utils.js +0 -153
  1591. package/dist/core/compaction/utils.js.map +0 -1
  1592. package/dist/core/defaults.d.ts +0 -3
  1593. package/dist/core/defaults.d.ts.map +0 -1
  1594. package/dist/core/defaults.js +0 -2
  1595. package/dist/core/defaults.js.map +0 -1
  1596. package/dist/core/diagnostics.d.ts +0 -15
  1597. package/dist/core/diagnostics.d.ts.map +0 -1
  1598. package/dist/core/diagnostics.js +0 -2
  1599. package/dist/core/diagnostics.js.map +0 -1
  1600. package/dist/core/event-bus.d.ts +0 -9
  1601. package/dist/core/event-bus.d.ts.map +0 -1
  1602. package/dist/core/event-bus.js +0 -25
  1603. package/dist/core/event-bus.js.map +0 -1
  1604. package/dist/core/exec.d.ts +0 -29
  1605. package/dist/core/exec.d.ts.map +0 -1
  1606. package/dist/core/exec.js +0 -75
  1607. package/dist/core/exec.js.map +0 -1
  1608. package/dist/core/export-html/ansi-to-html.d.ts +0 -22
  1609. package/dist/core/export-html/ansi-to-html.d.ts.map +0 -1
  1610. package/dist/core/export-html/ansi-to-html.js +0 -249
  1611. package/dist/core/export-html/ansi-to-html.js.map +0 -1
  1612. package/dist/core/export-html/index.d.ts +0 -37
  1613. package/dist/core/export-html/index.d.ts.map +0 -1
  1614. package/dist/core/export-html/index.js +0 -226
  1615. package/dist/core/export-html/index.js.map +0 -1
  1616. package/dist/core/export-html/template.css +0 -1066
  1617. package/dist/core/export-html/template.html +0 -55
  1618. package/dist/core/export-html/template.js +0 -1864
  1619. package/dist/core/export-html/tool-renderer.d.ts +0 -34
  1620. package/dist/core/export-html/tool-renderer.d.ts.map +0 -1
  1621. package/dist/core/export-html/tool-renderer.js +0 -108
  1622. package/dist/core/export-html/tool-renderer.js.map +0 -1
  1623. package/dist/core/export-html/vendor/highlight.min.js +0 -1213
  1624. package/dist/core/export-html/vendor/marked.min.js +0 -6
  1625. package/dist/core/extensions/index.d.ts +0 -12
  1626. package/dist/core/extensions/index.d.ts.map +0 -1
  1627. package/dist/core/extensions/index.js +0 -9
  1628. package/dist/core/extensions/index.js.map +0 -1
  1629. package/dist/core/extensions/loader.d.ts +0 -24
  1630. package/dist/core/extensions/loader.d.ts.map +0 -1
  1631. package/dist/core/extensions/loader.js +0 -494
  1632. package/dist/core/extensions/loader.js.map +0 -1
  1633. package/dist/core/extensions/runner.d.ts +0 -161
  1634. package/dist/core/extensions/runner.d.ts.map +0 -1
  1635. package/dist/core/extensions/runner.js +0 -842
  1636. package/dist/core/extensions/runner.js.map +0 -1
  1637. package/dist/core/extensions/types.d.ts +0 -1181
  1638. package/dist/core/extensions/types.d.ts.map +0 -1
  1639. package/dist/core/extensions/types.js +0 -45
  1640. package/dist/core/extensions/types.js.map +0 -1
  1641. package/dist/core/extensions/wrapper.d.ts +0 -20
  1642. package/dist/core/extensions/wrapper.d.ts.map +0 -1
  1643. package/dist/core/extensions/wrapper.js +0 -22
  1644. package/dist/core/extensions/wrapper.js.map +0 -1
  1645. package/dist/core/footer-data-provider.d.ts +0 -54
  1646. package/dist/core/footer-data-provider.d.ts.map +0 -1
  1647. package/dist/core/footer-data-provider.js +0 -338
  1648. package/dist/core/footer-data-provider.js.map +0 -1
  1649. package/dist/core/http-dispatcher.d.ts +0 -21
  1650. package/dist/core/http-dispatcher.d.ts.map +0 -1
  1651. package/dist/core/http-dispatcher.js +0 -48
  1652. package/dist/core/http-dispatcher.js.map +0 -1
  1653. package/dist/core/index.d.ts +0 -12
  1654. package/dist/core/index.d.ts.map +0 -1
  1655. package/dist/core/index.js +0 -12
  1656. package/dist/core/index.js.map +0 -1
  1657. package/dist/core/keybindings.d.ts +0 -353
  1658. package/dist/core/keybindings.d.ts.map +0 -1
  1659. package/dist/core/keybindings.js +0 -295
  1660. package/dist/core/keybindings.js.map +0 -1
  1661. package/dist/core/messages.d.ts +0 -77
  1662. package/dist/core/messages.d.ts.map +0 -1
  1663. package/dist/core/messages.js +0 -123
  1664. package/dist/core/messages.js.map +0 -1
  1665. package/dist/core/model-registry.d.ts +0 -150
  1666. package/dist/core/model-registry.d.ts.map +0 -1
  1667. package/dist/core/model-registry.js +0 -789
  1668. package/dist/core/model-registry.js.map +0 -1
  1669. package/dist/core/model-resolver.d.ts +0 -110
  1670. package/dist/core/model-resolver.d.ts.map +0 -1
  1671. package/dist/core/model-resolver.js +0 -495
  1672. package/dist/core/model-resolver.js.map +0 -1
  1673. package/dist/core/omk-control.d.ts +0 -62
  1674. package/dist/core/omk-control.d.ts.map +0 -1
  1675. package/dist/core/omk-control.js +0 -190
  1676. package/dist/core/omk-control.js.map +0 -1
  1677. package/dist/core/omk-subagent.d.ts +0 -17
  1678. package/dist/core/omk-subagent.d.ts.map +0 -1
  1679. package/dist/core/omk-subagent.js +0 -704
  1680. package/dist/core/omk-subagent.js.map +0 -1
  1681. package/dist/core/output-guard.d.ts +0 -7
  1682. package/dist/core/output-guard.d.ts.map +0 -1
  1683. package/dist/core/output-guard.js +0 -89
  1684. package/dist/core/output-guard.js.map +0 -1
  1685. package/dist/core/package-manager.d.ts +0 -206
  1686. package/dist/core/package-manager.d.ts.map +0 -1
  1687. package/dist/core/package-manager.js +0 -2056
  1688. package/dist/core/package-manager.js.map +0 -1
  1689. package/dist/core/prompt-templates.d.ts +0 -52
  1690. package/dist/core/prompt-templates.d.ts.map +0 -1
  1691. package/dist/core/prompt-templates.js +0 -238
  1692. package/dist/core/prompt-templates.js.map +0 -1
  1693. package/dist/core/provider-attribution.d.ts +0 -4
  1694. package/dist/core/provider-attribution.d.ts.map +0 -1
  1695. package/dist/core/provider-attribution.js +0 -78
  1696. package/dist/core/provider-attribution.js.map +0 -1
  1697. package/dist/core/provider-display-names.d.ts +0 -2
  1698. package/dist/core/provider-display-names.d.ts.map +0 -1
  1699. package/dist/core/provider-display-names.js +0 -35
  1700. package/dist/core/provider-display-names.js.map +0 -1
  1701. package/dist/core/resolve-config-value.d.ts +0 -31
  1702. package/dist/core/resolve-config-value.d.ts.map +0 -1
  1703. package/dist/core/resolve-config-value.js +0 -249
  1704. package/dist/core/resolve-config-value.js.map +0 -1
  1705. package/dist/core/resource-loader.d.ts +0 -194
  1706. package/dist/core/resource-loader.d.ts.map +0 -1
  1707. package/dist/core/resource-loader.js +0 -740
  1708. package/dist/core/resource-loader.js.map +0 -1
  1709. package/dist/core/runtime-defaults.d.ts +0 -14
  1710. package/dist/core/runtime-defaults.d.ts.map +0 -1
  1711. package/dist/core/runtime-defaults.js +0 -15
  1712. package/dist/core/runtime-defaults.js.map +0 -1
  1713. package/dist/core/sdk.d.ts +0 -109
  1714. package/dist/core/sdk.d.ts.map +0 -1
  1715. package/dist/core/sdk.js +0 -270
  1716. package/dist/core/sdk.js.map +0 -1
  1717. package/dist/core/session-cwd.d.ts +0 -19
  1718. package/dist/core/session-cwd.d.ts.map +0 -1
  1719. package/dist/core/session-cwd.js +0 -38
  1720. package/dist/core/session-cwd.js.map +0 -1
  1721. package/dist/core/session-manager.d.ts +0 -332
  1722. package/dist/core/session-manager.d.ts.map +0 -1
  1723. package/dist/core/session-manager.js +0 -1218
  1724. package/dist/core/session-manager.js.map +0 -1
  1725. package/dist/core/settings-manager.d.ts +0 -273
  1726. package/dist/core/settings-manager.d.ts.map +0 -1
  1727. package/dist/core/settings-manager.js +0 -839
  1728. package/dist/core/settings-manager.js.map +0 -1
  1729. package/dist/core/skills.d.ts +0 -60
  1730. package/dist/core/skills.d.ts.map +0 -1
  1731. package/dist/core/skills.js +0 -387
  1732. package/dist/core/skills.js.map +0 -1
  1733. package/dist/core/slash-commands.d.ts +0 -26
  1734. package/dist/core/slash-commands.d.ts.map +0 -1
  1735. package/dist/core/slash-commands.js +0 -98
  1736. package/dist/core/slash-commands.js.map +0 -1
  1737. package/dist/core/source-info.d.ts +0 -18
  1738. package/dist/core/source-info.d.ts.map +0 -1
  1739. package/dist/core/source-info.js +0 -19
  1740. package/dist/core/source-info.js.map +0 -1
  1741. package/dist/core/system-prompt.d.ts +0 -28
  1742. package/dist/core/system-prompt.d.ts.map +0 -1
  1743. package/dist/core/system-prompt.js +0 -120
  1744. package/dist/core/system-prompt.js.map +0 -1
  1745. package/dist/core/telemetry.d.ts +0 -3
  1746. package/dist/core/telemetry.d.ts.map +0 -1
  1747. package/dist/core/telemetry.js +0 -10
  1748. package/dist/core/telemetry.js.map +0 -1
  1749. package/dist/core/timings.d.ts +0 -4
  1750. package/dist/core/timings.d.ts.map +0 -1
  1751. package/dist/core/timings.js +0 -32
  1752. package/dist/core/timings.js.map +0 -1
  1753. package/dist/core/tools/bash.d.ts +0 -68
  1754. package/dist/core/tools/bash.d.ts.map +0 -1
  1755. package/dist/core/tools/bash.js +0 -337
  1756. package/dist/core/tools/bash.js.map +0 -1
  1757. package/dist/core/tools/edit-diff.d.ts +0 -87
  1758. package/dist/core/tools/edit-diff.d.ts.map +0 -1
  1759. package/dist/core/tools/edit-diff.js +0 -345
  1760. package/dist/core/tools/edit-diff.js.map +0 -1
  1761. package/dist/core/tools/edit.d.ts +0 -51
  1762. package/dist/core/tools/edit.d.ts.map +0 -1
  1763. package/dist/core/tools/edit.js +0 -284
  1764. package/dist/core/tools/edit.js.map +0 -1
  1765. package/dist/core/tools/file-mutation-queue.d.ts +0 -6
  1766. package/dist/core/tools/file-mutation-queue.d.ts.map +0 -1
  1767. package/dist/core/tools/file-mutation-queue.js +0 -52
  1768. package/dist/core/tools/file-mutation-queue.js.map +0 -1
  1769. package/dist/core/tools/find.d.ts +0 -35
  1770. package/dist/core/tools/find.d.ts.map +0 -1
  1771. package/dist/core/tools/find.js +0 -297
  1772. package/dist/core/tools/find.js.map +0 -1
  1773. package/dist/core/tools/grep.d.ts +0 -37
  1774. package/dist/core/tools/grep.d.ts.map +0 -1
  1775. package/dist/core/tools/grep.js +0 -304
  1776. package/dist/core/tools/grep.js.map +0 -1
  1777. package/dist/core/tools/index.d.ts +0 -40
  1778. package/dist/core/tools/index.d.ts.map +0 -1
  1779. package/dist/core/tools/index.js +0 -112
  1780. package/dist/core/tools/index.js.map +0 -1
  1781. package/dist/core/tools/ls.d.ts +0 -37
  1782. package/dist/core/tools/ls.d.ts.map +0 -1
  1783. package/dist/core/tools/ls.js +0 -167
  1784. package/dist/core/tools/ls.js.map +0 -1
  1785. package/dist/core/tools/output-accumulator.d.ts +0 -52
  1786. package/dist/core/tools/output-accumulator.d.ts.map +0 -1
  1787. package/dist/core/tools/output-accumulator.js +0 -184
  1788. package/dist/core/tools/output-accumulator.js.map +0 -1
  1789. package/dist/core/tools/path-utils.d.ts +0 -10
  1790. package/dist/core/tools/path-utils.d.ts.map +0 -1
  1791. package/dist/core/tools/path-utils.js +0 -99
  1792. package/dist/core/tools/path-utils.js.map +0 -1
  1793. package/dist/core/tools/read.d.ts +0 -35
  1794. package/dist/core/tools/read.d.ts.map +0 -1
  1795. package/dist/core/tools/read.js +0 -289
  1796. package/dist/core/tools/read.js.map +0 -1
  1797. package/dist/core/tools/render-utils.d.ts +0 -24
  1798. package/dist/core/tools/render-utils.d.ts.map +0 -1
  1799. package/dist/core/tools/render-utils.js +0 -65
  1800. package/dist/core/tools/render-utils.js.map +0 -1
  1801. package/dist/core/tools/tool-definition-wrapper.d.ts +0 -14
  1802. package/dist/core/tools/tool-definition-wrapper.d.ts.map +0 -1
  1803. package/dist/core/tools/tool-definition-wrapper.js +0 -34
  1804. package/dist/core/tools/tool-definition-wrapper.js.map +0 -1
  1805. package/dist/core/tools/truncate.d.ts +0 -70
  1806. package/dist/core/tools/truncate.d.ts.map +0 -1
  1807. package/dist/core/tools/truncate.js +0 -215
  1808. package/dist/core/tools/truncate.js.map +0 -1
  1809. package/dist/core/tools/write.d.ts +0 -26
  1810. package/dist/core/tools/write.d.ts.map +0 -1
  1811. package/dist/core/tools/write.js +0 -197
  1812. package/dist/core/tools/write.js.map +0 -1
  1813. package/dist/index.d.ts +0 -32
  1814. package/dist/index.d.ts.map +0 -1
  1815. package/dist/index.js +0 -45
  1816. package/dist/index.js.map +0 -1
  1817. package/dist/main.d.ts +0 -12
  1818. package/dist/main.d.ts.map +0 -1
  1819. package/dist/main.js +0 -673
  1820. package/dist/main.js.map +0 -1
  1821. package/dist/migrations.d.ts +0 -35
  1822. package/dist/migrations.d.ts.map +0 -1
  1823. package/dist/migrations.js +0 -401
  1824. package/dist/migrations.js.map +0 -1
  1825. package/dist/modes/index.d.ts +0 -9
  1826. package/dist/modes/index.d.ts.map +0 -1
  1827. package/dist/modes/index.js +0 -8
  1828. package/dist/modes/index.js.map +0 -1
  1829. package/dist/modes/interactive/assets/clankolas.png +0 -0
  1830. package/dist/modes/interactive/cockpit-scroll.d.ts +0 -54
  1831. package/dist/modes/interactive/cockpit-scroll.d.ts.map +0 -1
  1832. package/dist/modes/interactive/cockpit-scroll.js +0 -133
  1833. package/dist/modes/interactive/cockpit-scroll.js.map +0 -1
  1834. package/dist/modes/interactive/components/armin.d.ts +0 -34
  1835. package/dist/modes/interactive/components/armin.d.ts.map +0 -1
  1836. package/dist/modes/interactive/components/armin.js +0 -333
  1837. package/dist/modes/interactive/components/armin.js.map +0 -1
  1838. package/dist/modes/interactive/components/assistant-message.d.ts +0 -20
  1839. package/dist/modes/interactive/components/assistant-message.d.ts.map +0 -1
  1840. package/dist/modes/interactive/components/assistant-message.js +0 -121
  1841. package/dist/modes/interactive/components/assistant-message.js.map +0 -1
  1842. package/dist/modes/interactive/components/bash-execution.d.ts +0 -34
  1843. package/dist/modes/interactive/components/bash-execution.d.ts.map +0 -1
  1844. package/dist/modes/interactive/components/bash-execution.js +0 -175
  1845. package/dist/modes/interactive/components/bash-execution.js.map +0 -1
  1846. package/dist/modes/interactive/components/bordered-loader.d.ts +0 -16
  1847. package/dist/modes/interactive/components/bordered-loader.d.ts.map +0 -1
  1848. package/dist/modes/interactive/components/bordered-loader.js +0 -54
  1849. package/dist/modes/interactive/components/bordered-loader.js.map +0 -1
  1850. package/dist/modes/interactive/components/branch-summary-message.d.ts +0 -16
  1851. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +0 -1
  1852. package/dist/modes/interactive/components/branch-summary-message.js +0 -44
  1853. package/dist/modes/interactive/components/branch-summary-message.js.map +0 -1
  1854. package/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -16
  1855. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +0 -1
  1856. package/dist/modes/interactive/components/compaction-summary-message.js +0 -45
  1857. package/dist/modes/interactive/components/compaction-summary-message.js.map +0 -1
  1858. package/dist/modes/interactive/components/config-selector.d.ts +0 -71
  1859. package/dist/modes/interactive/components/config-selector.d.ts.map +0 -1
  1860. package/dist/modes/interactive/components/config-selector.js +0 -506
  1861. package/dist/modes/interactive/components/config-selector.js.map +0 -1
  1862. package/dist/modes/interactive/components/countdown-timer.d.ts +0 -14
  1863. package/dist/modes/interactive/components/countdown-timer.d.ts.map +0 -1
  1864. package/dist/modes/interactive/components/countdown-timer.js +0 -33
  1865. package/dist/modes/interactive/components/countdown-timer.js.map +0 -1
  1866. package/dist/modes/interactive/components/custom-editor.d.ts +0 -21
  1867. package/dist/modes/interactive/components/custom-editor.d.ts.map +0 -1
  1868. package/dist/modes/interactive/components/custom-editor.js +0 -70
  1869. package/dist/modes/interactive/components/custom-editor.js.map +0 -1
  1870. package/dist/modes/interactive/components/custom-message.d.ts +0 -20
  1871. package/dist/modes/interactive/components/custom-message.d.ts.map +0 -1
  1872. package/dist/modes/interactive/components/custom-message.js +0 -79
  1873. package/dist/modes/interactive/components/custom-message.js.map +0 -1
  1874. package/dist/modes/interactive/components/diff.d.ts +0 -12
  1875. package/dist/modes/interactive/components/diff.d.ts.map +0 -1
  1876. package/dist/modes/interactive/components/diff.js +0 -133
  1877. package/dist/modes/interactive/components/diff.js.map +0 -1
  1878. package/dist/modes/interactive/components/dynamic-border.d.ts +0 -15
  1879. package/dist/modes/interactive/components/dynamic-border.d.ts.map +0 -1
  1880. package/dist/modes/interactive/components/dynamic-border.js +0 -21
  1881. package/dist/modes/interactive/components/dynamic-border.js.map +0 -1
  1882. package/dist/modes/interactive/components/earendil-announcement.d.ts +0 -5
  1883. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +0 -1
  1884. package/dist/modes/interactive/components/earendil-announcement.js +0 -42
  1885. package/dist/modes/interactive/components/earendil-announcement.js.map +0 -1
  1886. package/dist/modes/interactive/components/extension-editor.d.ts +0 -20
  1887. package/dist/modes/interactive/components/extension-editor.d.ts.map +0 -1
  1888. package/dist/modes/interactive/components/extension-editor.js +0 -119
  1889. package/dist/modes/interactive/components/extension-editor.js.map +0 -1
  1890. package/dist/modes/interactive/components/extension-input.d.ts +0 -23
  1891. package/dist/modes/interactive/components/extension-input.d.ts.map +0 -1
  1892. package/dist/modes/interactive/components/extension-input.js +0 -61
  1893. package/dist/modes/interactive/components/extension-input.js.map +0 -1
  1894. package/dist/modes/interactive/components/extension-selector.d.ts +0 -26
  1895. package/dist/modes/interactive/components/extension-selector.d.ts.map +0 -1
  1896. package/dist/modes/interactive/components/extension-selector.js +0 -83
  1897. package/dist/modes/interactive/components/extension-selector.js.map +0 -1
  1898. package/dist/modes/interactive/components/footer.d.ts +0 -35
  1899. package/dist/modes/interactive/components/footer.d.ts.map +0 -1
  1900. package/dist/modes/interactive/components/footer.js +0 -223
  1901. package/dist/modes/interactive/components/footer.js.map +0 -1
  1902. package/dist/modes/interactive/components/index.d.ts +0 -36
  1903. package/dist/modes/interactive/components/index.d.ts.map +0 -1
  1904. package/dist/modes/interactive/components/index.js +0 -37
  1905. package/dist/modes/interactive/components/index.js.map +0 -1
  1906. package/dist/modes/interactive/components/keybinding-hints.d.ts +0 -13
  1907. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +0 -1
  1908. package/dist/modes/interactive/components/keybinding-hints.js +0 -36
  1909. package/dist/modes/interactive/components/keybinding-hints.js.map +0 -1
  1910. package/dist/modes/interactive/components/login-dialog.d.ts +0 -51
  1911. package/dist/modes/interactive/components/login-dialog.d.ts.map +0 -1
  1912. package/dist/modes/interactive/components/login-dialog.js +0 -174
  1913. package/dist/modes/interactive/components/login-dialog.js.map +0 -1
  1914. package/dist/modes/interactive/components/model-selector.d.ts +0 -69
  1915. package/dist/modes/interactive/components/model-selector.d.ts.map +0 -1
  1916. package/dist/modes/interactive/components/model-selector.js +0 -411
  1917. package/dist/modes/interactive/components/model-selector.js.map +0 -1
  1918. package/dist/modes/interactive/components/oauth-selector.d.ts +0 -31
  1919. package/dist/modes/interactive/components/oauth-selector.d.ts.map +0 -1
  1920. package/dist/modes/interactive/components/oauth-selector.js +0 -165
  1921. package/dist/modes/interactive/components/oauth-selector.js.map +0 -1
  1922. package/dist/modes/interactive/components/omk-brand-surface.d.ts +0 -58
  1923. package/dist/modes/interactive/components/omk-brand-surface.d.ts.map +0 -1
  1924. package/dist/modes/interactive/components/omk-brand-surface.js +0 -330
  1925. package/dist/modes/interactive/components/omk-brand-surface.js.map +0 -1
  1926. package/dist/modes/interactive/components/omk-brand.d.ts +0 -10
  1927. package/dist/modes/interactive/components/omk-brand.d.ts.map +0 -1
  1928. package/dist/modes/interactive/components/omk-brand.js +0 -12
  1929. package/dist/modes/interactive/components/omk-brand.js.map +0 -1
  1930. package/dist/modes/interactive/components/omk-control-dashboard.d.ts +0 -36
  1931. package/dist/modes/interactive/components/omk-control-dashboard.d.ts.map +0 -1
  1932. package/dist/modes/interactive/components/omk-control-dashboard.js +0 -348
  1933. package/dist/modes/interactive/components/omk-control-dashboard.js.map +0 -1
  1934. package/dist/modes/interactive/components/omk-control-layout.d.ts +0 -34
  1935. package/dist/modes/interactive/components/omk-control-layout.d.ts.map +0 -1
  1936. package/dist/modes/interactive/components/omk-control-layout.js +0 -85
  1937. package/dist/modes/interactive/components/omk-control-layout.js.map +0 -1
  1938. package/dist/modes/interactive/components/omk-history-panel.d.ts +0 -27
  1939. package/dist/modes/interactive/components/omk-history-panel.d.ts.map +0 -1
  1940. package/dist/modes/interactive/components/omk-history-panel.js +0 -162
  1941. package/dist/modes/interactive/components/omk-history-panel.js.map +0 -1
  1942. package/dist/modes/interactive/components/omk-neon-hud.d.ts +0 -19
  1943. package/dist/modes/interactive/components/omk-neon-hud.d.ts.map +0 -1
  1944. package/dist/modes/interactive/components/omk-neon-hud.js +0 -75
  1945. package/dist/modes/interactive/components/omk-neon-hud.js.map +0 -1
  1946. package/dist/modes/interactive/components/omk-tabbed-panel.d.ts +0 -30
  1947. package/dist/modes/interactive/components/omk-tabbed-panel.d.ts.map +0 -1
  1948. package/dist/modes/interactive/components/omk-tabbed-panel.js +0 -99
  1949. package/dist/modes/interactive/components/omk-tabbed-panel.js.map +0 -1
  1950. package/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -42
  1951. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +0 -1
  1952. package/dist/modes/interactive/components/scoped-models-selector.js +0 -290
  1953. package/dist/modes/interactive/components/scoped-models-selector.js.map +0 -1
  1954. package/dist/modes/interactive/components/scrollable-transcript.d.ts +0 -20
  1955. package/dist/modes/interactive/components/scrollable-transcript.d.ts.map +0 -1
  1956. package/dist/modes/interactive/components/scrollable-transcript.js +0 -25
  1957. package/dist/modes/interactive/components/scrollable-transcript.js.map +0 -1
  1958. package/dist/modes/interactive/components/session-selector-search.d.ts +0 -23
  1959. package/dist/modes/interactive/components/session-selector-search.d.ts.map +0 -1
  1960. package/dist/modes/interactive/components/session-selector-search.js +0 -155
  1961. package/dist/modes/interactive/components/session-selector-search.js.map +0 -1
  1962. package/dist/modes/interactive/components/session-selector.d.ts +0 -96
  1963. package/dist/modes/interactive/components/session-selector.d.ts.map +0 -1
  1964. package/dist/modes/interactive/components/session-selector.js +0 -861
  1965. package/dist/modes/interactive/components/session-selector.js.map +0 -1
  1966. package/dist/modes/interactive/components/settings-selector.d.ts +0 -69
  1967. package/dist/modes/interactive/components/settings-selector.d.ts.map +0 -1
  1968. package/dist/modes/interactive/components/settings-selector.js +0 -391
  1969. package/dist/modes/interactive/components/settings-selector.js.map +0 -1
  1970. package/dist/modes/interactive/components/show-images-selector.d.ts +0 -10
  1971. package/dist/modes/interactive/components/show-images-selector.d.ts.map +0 -1
  1972. package/dist/modes/interactive/components/show-images-selector.js +0 -39
  1973. package/dist/modes/interactive/components/show-images-selector.js.map +0 -1
  1974. package/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -17
  1975. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +0 -1
  1976. package/dist/modes/interactive/components/skill-invocation-message.js +0 -47
  1977. package/dist/modes/interactive/components/skill-invocation-message.js.map +0 -1
  1978. package/dist/modes/interactive/components/theme-selector.d.ts +0 -11
  1979. package/dist/modes/interactive/components/theme-selector.d.ts.map +0 -1
  1980. package/dist/modes/interactive/components/theme-selector.js +0 -50
  1981. package/dist/modes/interactive/components/theme-selector.js.map +0 -1
  1982. package/dist/modes/interactive/components/thinking-selector.d.ts +0 -11
  1983. package/dist/modes/interactive/components/thinking-selector.d.ts.map +0 -1
  1984. package/dist/modes/interactive/components/thinking-selector.js +0 -52
  1985. package/dist/modes/interactive/components/thinking-selector.js.map +0 -1
  1986. package/dist/modes/interactive/components/tool-execution.d.ts +0 -63
  1987. package/dist/modes/interactive/components/tool-execution.d.ts.map +0 -1
  1988. package/dist/modes/interactive/components/tool-execution.js +0 -317
  1989. package/dist/modes/interactive/components/tool-execution.js.map +0 -1
  1990. package/dist/modes/interactive/components/tree-selector.d.ts +0 -89
  1991. package/dist/modes/interactive/components/tree-selector.d.ts.map +0 -1
  1992. package/dist/modes/interactive/components/tree-selector.js +0 -1093
  1993. package/dist/modes/interactive/components/tree-selector.js.map +0 -1
  1994. package/dist/modes/interactive/components/user-message-selector.d.ts +0 -30
  1995. package/dist/modes/interactive/components/user-message-selector.d.ts.map +0 -1
  1996. package/dist/modes/interactive/components/user-message-selector.js +0 -114
  1997. package/dist/modes/interactive/components/user-message-selector.js.map +0 -1
  1998. package/dist/modes/interactive/components/user-message.d.ts +0 -10
  1999. package/dist/modes/interactive/components/user-message.d.ts.map +0 -1
  2000. package/dist/modes/interactive/components/user-message.js +0 -29
  2001. package/dist/modes/interactive/components/user-message.js.map +0 -1
  2002. package/dist/modes/interactive/components/visual-truncate.d.ts +0 -24
  2003. package/dist/modes/interactive/components/visual-truncate.d.ts.map +0 -1
  2004. package/dist/modes/interactive/components/visual-truncate.js +0 -33
  2005. package/dist/modes/interactive/components/visual-truncate.js.map +0 -1
  2006. package/dist/modes/interactive/interactive-mode.d.ts +0 -422
  2007. package/dist/modes/interactive/interactive-mode.d.ts.map +0 -1
  2008. package/dist/modes/interactive/interactive-mode.js +0 -5388
  2009. package/dist/modes/interactive/interactive-mode.js.map +0 -1
  2010. package/dist/modes/interactive/theme/dark.json +0 -87
  2011. package/dist/modes/interactive/theme/light.json +0 -86
  2012. package/dist/modes/interactive/theme/omk-control.json +0 -92
  2013. package/dist/modes/interactive/theme/omk-rust.json +0 -94
  2014. package/dist/modes/interactive/theme/theme-schema.json +0 -340
  2015. package/dist/modes/interactive/theme/theme.d.ts +0 -102
  2016. package/dist/modes/interactive/theme/theme.d.ts.map +0 -1
  2017. package/dist/modes/interactive/theme/theme.js +0 -1093
  2018. package/dist/modes/interactive/theme/theme.js.map +0 -1
  2019. package/dist/modes/print-mode.d.ts +0 -28
  2020. package/dist/modes/print-mode.d.ts.map +0 -1
  2021. package/dist/modes/print-mode.js +0 -132
  2022. package/dist/modes/print-mode.js.map +0 -1
  2023. package/dist/modes/rpc/jsonl.d.ts +0 -17
  2024. package/dist/modes/rpc/jsonl.d.ts.map +0 -1
  2025. package/dist/modes/rpc/jsonl.js +0 -49
  2026. package/dist/modes/rpc/jsonl.js.map +0 -1
  2027. package/dist/modes/rpc/rpc-client.d.ts +0 -227
  2028. package/dist/modes/rpc/rpc-client.d.ts.map +0 -1
  2029. package/dist/modes/rpc/rpc-client.js +0 -467
  2030. package/dist/modes/rpc/rpc-client.js.map +0 -1
  2031. package/dist/modes/rpc/rpc-mode.d.ts +0 -20
  2032. package/dist/modes/rpc/rpc-mode.d.ts.map +0 -1
  2033. package/dist/modes/rpc/rpc-mode.js +0 -616
  2034. package/dist/modes/rpc/rpc-mode.js.map +0 -1
  2035. package/dist/modes/rpc/rpc-types.d.ts +0 -420
  2036. package/dist/modes/rpc/rpc-types.d.ts.map +0 -1
  2037. package/dist/modes/rpc/rpc-types.js +0 -8
  2038. package/dist/modes/rpc/rpc-types.js.map +0 -1
  2039. package/dist/omk-env.d.ts +0 -2
  2040. package/dist/omk-env.d.ts.map +0 -1
  2041. package/dist/omk-env.js +0 -3
  2042. package/dist/omk-env.js.map +0 -1
  2043. package/dist/omk.d.ts +0 -4
  2044. package/dist/omk.d.ts.map +0 -1
  2045. package/dist/omk.js +0 -4
  2046. package/dist/omk.js.map +0 -1
  2047. package/dist/package-manager-cli.d.ts +0 -4
  2048. package/dist/package-manager-cli.d.ts.map +0 -1
  2049. package/dist/package-manager-cli.js +0 -528
  2050. package/dist/package-manager-cli.js.map +0 -1
  2051. package/dist/package.json +0 -97
  2052. package/dist/utils/ansi.d.ts +0 -2
  2053. package/dist/utils/ansi.d.ts.map +0 -1
  2054. package/dist/utils/ansi.js +0 -52
  2055. package/dist/utils/ansi.js.map +0 -1
  2056. package/dist/utils/changelog.d.ts +0 -21
  2057. package/dist/utils/changelog.d.ts.map +0 -1
  2058. package/dist/utils/changelog.js +0 -87
  2059. package/dist/utils/changelog.js.map +0 -1
  2060. package/dist/utils/child-process.d.ts +0 -15
  2061. package/dist/utils/child-process.d.ts.map +0 -1
  2062. package/dist/utils/child-process.js +0 -88
  2063. package/dist/utils/child-process.js.map +0 -1
  2064. package/dist/utils/clipboard-image.d.ts +0 -11
  2065. package/dist/utils/clipboard-image.d.ts.map +0 -1
  2066. package/dist/utils/clipboard-image.js +0 -249
  2067. package/dist/utils/clipboard-image.js.map +0 -1
  2068. package/dist/utils/clipboard-native.d.ts +0 -10
  2069. package/dist/utils/clipboard-native.d.ts.map +0 -1
  2070. package/dist/utils/clipboard-native.js +0 -20
  2071. package/dist/utils/clipboard-native.js.map +0 -1
  2072. package/dist/utils/clipboard.d.ts +0 -2
  2073. package/dist/utils/clipboard.d.ts.map +0 -1
  2074. package/dist/utils/clipboard.js +0 -117
  2075. package/dist/utils/clipboard.js.map +0 -1
  2076. package/dist/utils/deprecation.d.ts +0 -4
  2077. package/dist/utils/deprecation.d.ts.map +0 -1
  2078. package/dist/utils/deprecation.js +0 -13
  2079. package/dist/utils/deprecation.js.map +0 -1
  2080. package/dist/utils/exif-orientation.d.ts +0 -5
  2081. package/dist/utils/exif-orientation.d.ts.map +0 -1
  2082. package/dist/utils/exif-orientation.js +0 -158
  2083. package/dist/utils/exif-orientation.js.map +0 -1
  2084. package/dist/utils/frontmatter.d.ts +0 -8
  2085. package/dist/utils/frontmatter.d.ts.map +0 -1
  2086. package/dist/utils/frontmatter.js +0 -26
  2087. package/dist/utils/frontmatter.js.map +0 -1
  2088. package/dist/utils/fs-watch.d.ts +0 -5
  2089. package/dist/utils/fs-watch.d.ts.map +0 -1
  2090. package/dist/utils/fs-watch.js +0 -25
  2091. package/dist/utils/fs-watch.js.map +0 -1
  2092. package/dist/utils/git.d.ts +0 -26
  2093. package/dist/utils/git.d.ts.map +0 -1
  2094. package/dist/utils/git.js +0 -195
  2095. package/dist/utils/git.js.map +0 -1
  2096. package/dist/utils/html.d.ts +0 -7
  2097. package/dist/utils/html.d.ts.map +0 -1
  2098. package/dist/utils/html.js +0 -40
  2099. package/dist/utils/html.js.map +0 -1
  2100. package/dist/utils/image-convert.d.ts +0 -9
  2101. package/dist/utils/image-convert.d.ts.map +0 -1
  2102. package/dist/utils/image-convert.js +0 -39
  2103. package/dist/utils/image-convert.js.map +0 -1
  2104. package/dist/utils/image-resize-core.d.ts +0 -30
  2105. package/dist/utils/image-resize-core.d.ts.map +0 -1
  2106. package/dist/utils/image-resize-core.js +0 -124
  2107. package/dist/utils/image-resize-core.js.map +0 -1
  2108. package/dist/utils/image-resize-worker.d.ts +0 -2
  2109. package/dist/utils/image-resize-worker.d.ts.map +0 -1
  2110. package/dist/utils/image-resize-worker.js +0 -31
  2111. package/dist/utils/image-resize-worker.js.map +0 -1
  2112. package/dist/utils/image-resize.d.ts +0 -16
  2113. package/dist/utils/image-resize.d.ts.map +0 -1
  2114. package/dist/utils/image-resize.js +0 -97
  2115. package/dist/utils/image-resize.js.map +0 -1
  2116. package/dist/utils/json.d.ts +0 -3
  2117. package/dist/utils/json.d.ts.map +0 -1
  2118. package/dist/utils/json.js +0 -7
  2119. package/dist/utils/json.js.map +0 -1
  2120. package/dist/utils/mime.d.ts +0 -3
  2121. package/dist/utils/mime.d.ts.map +0 -1
  2122. package/dist/utils/mime.js +0 -69
  2123. package/dist/utils/mime.js.map +0 -1
  2124. package/dist/utils/open-browser.d.ts +0 -9
  2125. package/dist/utils/open-browser.d.ts.map +0 -1
  2126. package/dist/utils/open-browser.js +0 -22
  2127. package/dist/utils/open-browser.js.map +0 -1
  2128. package/dist/utils/paths.d.ts +0 -31
  2129. package/dist/utils/paths.d.ts.map +0 -1
  2130. package/dist/utils/paths.js +0 -92
  2131. package/dist/utils/paths.js.map +0 -1
  2132. package/dist/utils/photon.d.ts +0 -21
  2133. package/dist/utils/photon.d.ts.map +0 -1
  2134. package/dist/utils/photon.js +0 -121
  2135. package/dist/utils/photon.js.map +0 -1
  2136. package/dist/utils/pi-user-agent.d.ts +0 -2
  2137. package/dist/utils/pi-user-agent.d.ts.map +0 -1
  2138. package/dist/utils/pi-user-agent.js +0 -6
  2139. package/dist/utils/pi-user-agent.js.map +0 -1
  2140. package/dist/utils/shell.d.ts +0 -30
  2141. package/dist/utils/shell.d.ts.map +0 -1
  2142. package/dist/utils/shell.js +0 -195
  2143. package/dist/utils/shell.js.map +0 -1
  2144. package/dist/utils/sleep.d.ts +0 -5
  2145. package/dist/utils/sleep.d.ts.map +0 -1
  2146. package/dist/utils/sleep.js +0 -17
  2147. package/dist/utils/sleep.js.map +0 -1
  2148. package/dist/utils/syntax-highlight.d.ts +0 -12
  2149. package/dist/utils/syntax-highlight.d.ts.map +0 -1
  2150. package/dist/utils/syntax-highlight.js +0 -118
  2151. package/dist/utils/syntax-highlight.js.map +0 -1
  2152. package/dist/utils/tools-manager.d.ts +0 -3
  2153. package/dist/utils/tools-manager.d.ts.map +0 -1
  2154. package/dist/utils/tools-manager.js +0 -325
  2155. package/dist/utils/tools-manager.js.map +0 -1
  2156. package/dist/utils/version-check.d.ts +0 -15
  2157. package/dist/utils/version-check.d.ts.map +0 -1
  2158. package/dist/utils/version-check.js +0 -85
  2159. package/dist/utils/version-check.js.map +0 -1
  2160. package/dist/utils/windows-self-update.d.ts +0 -3
  2161. package/dist/utils/windows-self-update.d.ts.map +0 -1
  2162. package/dist/utils/windows-self-update.js +0 -77
  2163. package/dist/utils/windows-self-update.js.map +0 -1
  2164. package/docs/compaction.md +0 -394
  2165. package/docs/containerization.md +0 -111
  2166. package/docs/custom-provider.md +0 -736
  2167. package/docs/development.md +0 -71
  2168. package/docs/docs.json +0 -152
  2169. package/docs/extensions.md +0 -2627
  2170. package/docs/images/doom-extension.png +0 -0
  2171. package/docs/images/exy.png +0 -0
  2172. package/docs/images/interactive-mode.png +0 -0
  2173. package/docs/images/tree-view.png +0 -0
  2174. package/docs/index.md +0 -81
  2175. package/docs/json.md +0 -82
  2176. package/docs/keybindings.md +0 -197
  2177. package/docs/models.md +0 -493
  2178. package/docs/packages.md +0 -226
  2179. package/docs/prompt-templates.md +0 -88
  2180. package/docs/providers.md +0 -256
  2181. package/docs/quickstart.md +0 -165
  2182. package/docs/rpc.md +0 -1408
  2183. package/docs/sdk.md +0 -1137
  2184. package/docs/session-format.md +0 -412
  2185. package/docs/sessions.md +0 -145
  2186. package/docs/settings.md +0 -281
  2187. package/docs/shell-aliases.md +0 -13
  2188. package/docs/skills.md +0 -231
  2189. package/docs/terminal-setup.md +0 -114
  2190. package/docs/termux.md +0 -127
  2191. package/docs/themes.md +0 -297
  2192. package/docs/tmux.md +0 -61
  2193. package/docs/tui.md +0 -927
  2194. package/docs/usage.md +0 -288
  2195. package/docs/windows.md +0 -17
  2196. package/examples/README.md +0 -25
  2197. package/examples/extensions/README.md +0 -210
  2198. package/examples/extensions/auto-commit-on-exit.ts +0 -49
  2199. package/examples/extensions/bash-spawn-hook.ts +0 -30
  2200. package/examples/extensions/bookmark.ts +0 -50
  2201. package/examples/extensions/border-status-editor.ts +0 -150
  2202. package/examples/extensions/built-in-tool-renderer.ts +0 -249
  2203. package/examples/extensions/claude-rules.ts +0 -86
  2204. package/examples/extensions/commands.ts +0 -72
  2205. package/examples/extensions/confirm-destructive.ts +0 -59
  2206. package/examples/extensions/custom-compaction.ts +0 -127
  2207. package/examples/extensions/custom-footer.ts +0 -64
  2208. package/examples/extensions/custom-header.ts +0 -73
  2209. package/examples/extensions/custom-provider-anthropic/index.ts +0 -604
  2210. package/examples/extensions/custom-provider-anthropic/package-lock.json +0 -24
  2211. package/examples/extensions/custom-provider-anthropic/package.json +0 -19
  2212. package/examples/extensions/custom-provider-gitlab-duo/index.ts +0 -400
  2213. package/examples/extensions/custom-provider-gitlab-duo/package.json +0 -16
  2214. package/examples/extensions/custom-provider-gitlab-duo/test.ts +0 -82
  2215. package/examples/extensions/dirty-repo-guard.ts +0 -56
  2216. package/examples/extensions/doom-overlay/README.md +0 -46
  2217. package/examples/extensions/doom-overlay/doom/build/doom.js +0 -21
  2218. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  2219. package/examples/extensions/doom-overlay/doom/build.sh +0 -152
  2220. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +0 -72
  2221. package/examples/extensions/doom-overlay/doom-component.ts +0 -132
  2222. package/examples/extensions/doom-overlay/doom-engine.ts +0 -173
  2223. package/examples/extensions/doom-overlay/doom-keys.ts +0 -104
  2224. package/examples/extensions/doom-overlay/index.ts +0 -74
  2225. package/examples/extensions/doom-overlay/wad-finder.ts +0 -51
  2226. package/examples/extensions/dynamic-resources/SKILL.md +0 -8
  2227. package/examples/extensions/dynamic-resources/dynamic.json +0 -79
  2228. package/examples/extensions/dynamic-resources/dynamic.md +0 -5
  2229. package/examples/extensions/dynamic-resources/index.ts +0 -15
  2230. package/examples/extensions/dynamic-tools.ts +0 -74
  2231. package/examples/extensions/event-bus.ts +0 -43
  2232. package/examples/extensions/file-trigger.ts +0 -41
  2233. package/examples/extensions/git-checkpoint.ts +0 -53
  2234. package/examples/extensions/git-merge-and-resolve.ts +0 -115
  2235. package/examples/extensions/github-issue-autocomplete.ts +0 -185
  2236. package/examples/extensions/gondolin/index.ts +0 -531
  2237. package/examples/extensions/gondolin/package-lock.json +0 -185
  2238. package/examples/extensions/gondolin/package.json +0 -19
  2239. package/examples/extensions/handoff.ts +0 -191
  2240. package/examples/extensions/hello.ts +0 -26
  2241. package/examples/extensions/hidden-thinking-label.ts +0 -53
  2242. package/examples/extensions/inline-bash.ts +0 -94
  2243. package/examples/extensions/input-transform-streaming.ts +0 -39
  2244. package/examples/extensions/input-transform.ts +0 -43
  2245. package/examples/extensions/interactive-shell.ts +0 -196
  2246. package/examples/extensions/mac-system-theme.ts +0 -47
  2247. package/examples/extensions/message-renderer.ts +0 -59
  2248. package/examples/extensions/minimal-mode.ts +0 -426
  2249. package/examples/extensions/modal-editor.ts +0 -85
  2250. package/examples/extensions/model-status.ts +0 -31
  2251. package/examples/extensions/notify.ts +0 -55
  2252. package/examples/extensions/overlay-qa-tests.ts +0 -1450
  2253. package/examples/extensions/overlay-test.ts +0 -153
  2254. package/examples/extensions/permission-gate.ts +0 -34
  2255. package/examples/extensions/pirate.ts +0 -47
  2256. package/examples/extensions/plan-mode/README.md +0 -65
  2257. package/examples/extensions/plan-mode/index.ts +0 -340
  2258. package/examples/extensions/plan-mode/utils.ts +0 -168
  2259. package/examples/extensions/preset.ts +0 -430
  2260. package/examples/extensions/prompt-customizer.ts +0 -97
  2261. package/examples/extensions/protected-paths.ts +0 -30
  2262. package/examples/extensions/provider-payload.ts +0 -18
  2263. package/examples/extensions/qna.ts +0 -122
  2264. package/examples/extensions/question.ts +0 -264
  2265. package/examples/extensions/questionnaire.ts +0 -427
  2266. package/examples/extensions/rainbow-editor.ts +0 -88
  2267. package/examples/extensions/reload-runtime.ts +0 -37
  2268. package/examples/extensions/rpc-demo.ts +0 -118
  2269. package/examples/extensions/sandbox/index.ts +0 -321
  2270. package/examples/extensions/sandbox/package-lock.json +0 -92
  2271. package/examples/extensions/sandbox/package.json +0 -19
  2272. package/examples/extensions/send-user-message.ts +0 -97
  2273. package/examples/extensions/session-name.ts +0 -27
  2274. package/examples/extensions/shutdown-command.ts +0 -63
  2275. package/examples/extensions/snake.ts +0 -343
  2276. package/examples/extensions/space-invaders.ts +0 -560
  2277. package/examples/extensions/ssh.ts +0 -220
  2278. package/examples/extensions/status-line.ts +0 -32
  2279. package/examples/extensions/structured-output.ts +0 -65
  2280. package/examples/extensions/subagent/README.md +0 -175
  2281. package/examples/extensions/subagent/agents/planner.md +0 -37
  2282. package/examples/extensions/subagent/agents/reviewer.md +0 -35
  2283. package/examples/extensions/subagent/agents/scout.md +0 -50
  2284. package/examples/extensions/subagent/agents/worker.md +0 -24
  2285. package/examples/extensions/subagent/agents.ts +0 -126
  2286. package/examples/extensions/subagent/index.ts +0 -1009
  2287. package/examples/extensions/subagent/prompts/implement-and-review.md +0 -10
  2288. package/examples/extensions/subagent/prompts/implement.md +0 -10
  2289. package/examples/extensions/subagent/prompts/scout-and-plan.md +0 -9
  2290. package/examples/extensions/summarize.ts +0 -206
  2291. package/examples/extensions/system-prompt-header.ts +0 -17
  2292. package/examples/extensions/tic-tac-toe.ts +0 -1008
  2293. package/examples/extensions/timed-confirm.ts +0 -70
  2294. package/examples/extensions/titlebar-spinner.ts +0 -58
  2295. package/examples/extensions/todo.ts +0 -297
  2296. package/examples/extensions/tool-override.ts +0 -144
  2297. package/examples/extensions/tools.ts +0 -146
  2298. package/examples/extensions/trigger-compact.ts +0 -50
  2299. package/examples/extensions/truncated-tool.ts +0 -195
  2300. package/examples/extensions/widget-placement.ts +0 -9
  2301. package/examples/extensions/with-deps/index.ts +0 -32
  2302. package/examples/extensions/with-deps/package-lock.json +0 -31
  2303. package/examples/extensions/with-deps/package.json +0 -22
  2304. package/examples/extensions/working-indicator.ts +0 -123
  2305. package/examples/extensions/working-message-test.ts +0 -25
  2306. package/examples/rpc-extension-ui.ts +0 -632
  2307. package/examples/sdk/01-minimal.ts +0 -26
  2308. package/examples/sdk/02-custom-model.ts +0 -53
  2309. package/examples/sdk/03-custom-prompt.ts +0 -75
  2310. package/examples/sdk/04-skills.ts +0 -55
  2311. package/examples/sdk/05-tools.ts +0 -48
  2312. package/examples/sdk/06-extensions.ts +0 -99
  2313. package/examples/sdk/07-context-files.ts +0 -47
  2314. package/examples/sdk/08-prompt-templates.ts +0 -51
  2315. package/examples/sdk/09-api-keys-and-oauth.ts +0 -52
  2316. package/examples/sdk/10-settings.ts +0 -53
  2317. package/examples/sdk/11-sessions.ts +0 -52
  2318. package/examples/sdk/12-full-control.ts +0 -77
  2319. package/examples/sdk/13-session-runtime.ts +0 -67
  2320. package/examples/sdk/README.md +0 -144
  2321. package/npm-shrinkwrap.json +0 -512
  2322. /package/{dist/modes/interactive/assets → readmeasset}/omk-control.webp +0 -0
@@ -1,150 +0,0 @@
1
- /**
2
- * Adaptive runtime algorithms for the OMK hardfork.
3
- *
4
- * This module hosts pure, side-effect-free helpers that drive adaptive behaviour:
5
- * - Headroom thresholds (when to compact / hand off before the context limit).
6
- * - Topology routing (classify a task DAG into an execution topology).
7
- * - Ouroboros preference detection (presence-only, never throws, no secret reads).
8
- * - First-run adaptive plan generation (JSON-serializable artifact).
9
- *
10
- * The only non-pure helper is `writeFirstRunAdaptivePlan`, which performs an
11
- * idempotent, non-fatal filesystem write of the generated plan. It is kept here
12
- * so the behaviour stays unit-testable.
13
- */
14
- /** Minimal environment shape consumed by adaptive helpers. */
15
- export type AdaptiveEnv = Record<string, string | undefined>;
16
- /** Directed edge in a task DAG. */
17
- export interface AdaptiveEdge {
18
- from: string;
19
- to: string;
20
- }
21
- export declare const DEFAULT_HEADROOM_THRESHOLD = 0.9;
22
- export declare const MIN_HEADROOM_THRESHOLD = 0.5;
23
- export declare const MAX_HEADROOM_THRESHOLD = 0.99;
24
- /** Whether the adaptive headroom feature is explicitly disabled via OMK_HEADROOM. */
25
- export declare function isHeadroomDisabled(env?: AdaptiveEnv): boolean;
26
- /**
27
- * Resolve the adaptive headroom utilization threshold.
28
- *
29
- * - Default 0.90.
30
- * - `OMK_HEADROOM_THRESHOLD` overrides (accepts a fraction `0.9` or percentage `90`).
31
- * - Clamped to [0.5, 0.99].
32
- * - Returns `0` when disabled via `OMK_HEADROOM=off|0|false|no`.
33
- */
34
- export declare function resolveAdaptiveHeadroomThreshold(env?: AdaptiveEnv): number;
35
- /**
36
- * Whether to invoke headroom (compact / hand off) before hitting the hard context limit.
37
- * True only when the feature is enabled and utilization meets the resolved threshold.
38
- */
39
- export declare function shouldUseHeadroomBeforeLimit(contextTokens: number, contextWindow: number, env?: AdaptiveEnv): boolean;
40
- export type AdaptiveTopology = "singleton" | "parallel" | "pipeline" | "map_reduce" | "hierarchical" | "dag" | "hybrid";
41
- export interface AdaptiveTopologyFeatures {
42
- nodeCount: number;
43
- edgeCount: number;
44
- /** Maximum number of nodes in a single Kahn layer (parallel width). */
45
- width: number;
46
- /** Number of layers / longest dependency chain in node terms. */
47
- criticalDepth: number;
48
- /** Edges / possible edges (0 = fully parallel, 1 = fully sequential). */
49
- couplingDensity: number;
50
- /** width / nodeCount (inherent parallelism potential). */
51
- parallelRatio: number;
52
- }
53
- export interface AdaptiveTopologyDecision {
54
- topology: AdaptiveTopology;
55
- features: AdaptiveTopologyFeatures;
56
- /** Kahn layering; each entry is the set of node ids executable in that wave. */
57
- waves: string[][];
58
- reason: string;
59
- hasCycle: boolean;
60
- }
61
- /**
62
- * Compute structural features and an execution topology for a task DAG.
63
- *
64
- * Pure: uses Kahn layering with a cycle guard. Dangling edges (endpoints not in
65
- * `nodes`) and duplicate edges are ignored; self loops mark the graph as cyclic.
66
- */
67
- export declare function computeAdaptiveTopology(nodes: readonly string[], edges: readonly AdaptiveEdge[]): AdaptiveTopologyDecision;
68
- export type OuroborosMode = "always" | "auto" | "off";
69
- export interface OuroborosIndicators {
70
- mcp: boolean;
71
- skills: boolean;
72
- binary: boolean;
73
- }
74
- export interface OuroborosPreference {
75
- mode: OuroborosMode;
76
- /** True when not off and at least one indicator is present. */
77
- preferred: boolean;
78
- /** True when any indicator is present (mcp/skills/binary). */
79
- available: boolean;
80
- fallback: "ouroboros" | "native";
81
- indicators: OuroborosIndicators;
82
- reason: string;
83
- }
84
- export interface OuroborosDetectionInput {
85
- env?: AdaptiveEnv;
86
- agentDir?: string;
87
- cwd?: string;
88
- home?: string;
89
- /** Injectable existence check (defaults to fs.existsSync); used for the binary indicator. */
90
- exists?: (path: string) => boolean;
91
- }
92
- /**
93
- * Detect whether the Ouroboros runtime should be preferred.
94
- *
95
- * Presence-only: never throws, performs no secret reads. When indicators are
96
- * absent the preference falls back to the native runtime.
97
- */
98
- export declare function detectOuroborosPreference(input?: OuroborosDetectionInput): OuroborosPreference;
99
- export declare const ADAPTIVE_PLAN_VERSION = 1;
100
- export declare const DEFAULT_ADAPTIVE_RUNTIME = "omk-parallel-orchestrator";
101
- /** Startup DAG used to seed the first-run adaptive plan. */
102
- export declare const OMK_STARTUP_DAG_NODES: readonly string[];
103
- export declare const OMK_STARTUP_DAG_EDGES: readonly AdaptiveEdge[];
104
- export interface FirstRunAdaptivePlanInput {
105
- nodes?: readonly string[];
106
- edges?: readonly AdaptiveEdge[];
107
- env?: AdaptiveEnv;
108
- agentDir?: string;
109
- cwd?: string;
110
- home?: string;
111
- runtime?: string;
112
- /** Injectable clock (defaults to Date.now) for deterministic tests. */
113
- now?: () => number;
114
- exists?: (path: string) => boolean;
115
- }
116
- export interface FirstRunAdaptivePlan {
117
- version: number;
118
- runtime: string;
119
- createdAt: string;
120
- cwd: string | null;
121
- topology: AdaptiveTopologyDecision;
122
- headroom: {
123
- enabled: boolean;
124
- threshold: number;
125
- };
126
- ouroboros: OuroborosPreference;
127
- }
128
- /** Build a JSON-serializable first-run adaptive plan. Pure. */
129
- export declare function createFirstRunAdaptivePlan(input?: FirstRunAdaptivePlanInput): FirstRunAdaptivePlan;
130
- export interface WriteAdaptivePlanInput extends FirstRunAdaptivePlanInput {
131
- agentDir: string;
132
- /** Force rewrite even if the artifact already exists. */
133
- refresh?: boolean;
134
- }
135
- export interface WriteAdaptivePlanResult {
136
- path: string;
137
- written: boolean;
138
- plan?: FirstRunAdaptivePlan;
139
- reason: "created" | "refreshed" | "exists" | "error";
140
- error?: string;
141
- }
142
- /** Path of the first-run adaptive plan artifact. */
143
- export declare function getAdaptivePlanPath(agentDir: string): string;
144
- /**
145
- * Idempotently write the first-run adaptive plan. Non-fatal: any error is
146
- * captured in the result rather than thrown. Skips writing when the artifact
147
- * already exists unless `refresh` (or `OMK_ADAPTIVE_PLAN_REFRESH=1`) is set.
148
- */
149
- export declare function writeFirstRunAdaptivePlan(input: WriteAdaptivePlanInput): WriteAdaptivePlanResult;
150
- //# sourceMappingURL=adaptive-runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adaptive-runtime.d.ts","sourceRoot":"","sources":["../../src/core/adaptive-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Adaptive runtime algorithms for the OMK hardfork.\n *\n * This module hosts pure, side-effect-free helpers that drive adaptive behaviour:\n * - Headroom thresholds (when to compact / hand off before the context limit).\n * - Topology routing (classify a task DAG into an execution topology).\n * - Ouroboros preference detection (presence-only, never throws, no secret reads).\n * - First-run adaptive plan generation (JSON-serializable artifact).\n *\n * The only non-pure helper is `writeFirstRunAdaptivePlan`, which performs an\n * idempotent, non-fatal filesystem write of the generated plan. It is kept here\n * so the behaviour stays unit-testable.\n */\n\nimport { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { dirname, join } from \"node:path\";\n\n// ============================================================================\n// Shared types\n// ============================================================================\n\n/** Minimal environment shape consumed by adaptive helpers. */\nexport type AdaptiveEnv = Record<string, string | undefined>;\n\n/** Directed edge in a task DAG. */\nexport interface AdaptiveEdge {\n\tfrom: string;\n\tto: string;\n}\n\n// ============================================================================\n// Headroom thresholds\n// ============================================================================\n\nexport const DEFAULT_HEADROOM_THRESHOLD = 0.9;\nexport const MIN_HEADROOM_THRESHOLD = 0.5;\nexport const MAX_HEADROOM_THRESHOLD = 0.99;\n\nfunction normalizeFlag(value: string | undefined): string {\n\treturn value?.trim().toLowerCase() ?? \"\";\n}\n\n/** Whether the adaptive headroom feature is explicitly disabled via OMK_HEADROOM. */\nexport function isHeadroomDisabled(env: AdaptiveEnv = {}): boolean {\n\tconst raw = normalizeFlag(env.OMK_HEADROOM);\n\treturn raw === \"off\" || raw === \"0\" || raw === \"false\" || raw === \"no\";\n}\n\n/**\n * Resolve the adaptive headroom utilization threshold.\n *\n * - Default 0.90.\n * - `OMK_HEADROOM_THRESHOLD` overrides (accepts a fraction `0.9` or percentage `90`).\n * - Clamped to [0.5, 0.99].\n * - Returns `0` when disabled via `OMK_HEADROOM=off|0|false|no`.\n */\nexport function resolveAdaptiveHeadroomThreshold(env: AdaptiveEnv = {}): number {\n\tif (isHeadroomDisabled(env)) {\n\t\treturn 0;\n\t}\n\tlet threshold = DEFAULT_HEADROOM_THRESHOLD;\n\tconst raw = env.OMK_HEADROOM_THRESHOLD;\n\tif (raw !== undefined && raw.trim().length > 0) {\n\t\tconst parsed = Number.parseFloat(raw);\n\t\tif (Number.isFinite(parsed)) {\n\t\t\tthreshold = parsed > 1 ? parsed / 100 : parsed;\n\t\t}\n\t}\n\treturn Math.min(MAX_HEADROOM_THRESHOLD, Math.max(MIN_HEADROOM_THRESHOLD, threshold));\n}\n\n/**\n * Whether to invoke headroom (compact / hand off) before hitting the hard context limit.\n * True only when the feature is enabled and utilization meets the resolved threshold.\n */\nexport function shouldUseHeadroomBeforeLimit(\n\tcontextTokens: number,\n\tcontextWindow: number,\n\tenv: AdaptiveEnv = {},\n): boolean {\n\tconst threshold = resolveAdaptiveHeadroomThreshold(env);\n\tif (threshold <= 0) {\n\t\treturn false;\n\t}\n\tif (!Number.isFinite(contextWindow) || contextWindow <= 0) {\n\t\treturn false;\n\t}\n\tif (!Number.isFinite(contextTokens) || contextTokens < 0) {\n\t\treturn false;\n\t}\n\treturn contextTokens / contextWindow >= threshold;\n}\n\n// ============================================================================\n// Topology routing\n// ============================================================================\n\nexport type AdaptiveTopology = \"singleton\" | \"parallel\" | \"pipeline\" | \"map_reduce\" | \"hierarchical\" | \"dag\" | \"hybrid\";\n\nexport interface AdaptiveTopologyFeatures {\n\tnodeCount: number;\n\tedgeCount: number;\n\t/** Maximum number of nodes in a single Kahn layer (parallel width). */\n\twidth: number;\n\t/** Number of layers / longest dependency chain in node terms. */\n\tcriticalDepth: number;\n\t/** Edges / possible edges (0 = fully parallel, 1 = fully sequential). */\n\tcouplingDensity: number;\n\t/** width / nodeCount (inherent parallelism potential). */\n\tparallelRatio: number;\n}\n\nexport interface AdaptiveTopologyDecision {\n\ttopology: AdaptiveTopology;\n\tfeatures: AdaptiveTopologyFeatures;\n\t/** Kahn layering; each entry is the set of node ids executable in that wave. */\n\twaves: string[][];\n\treason: string;\n\thasCycle: boolean;\n}\n\n/** Routing thresholds for the OMK topology router. */\nconst THETA_OMEGA = 0.5; // parallel ratio above this -> parallel/map_reduce\nconst THETA_GAMMA = 0.6; // coupling density above this -> high coupling\nconst THETA_DELTA = 5; // node-count / depth threshold for hierarchical\n\ninterface GraphStats {\n\trootCount: number;\n\thasFanInSink: boolean;\n\thasFanOutRoot: boolean;\n\thasCycle: boolean;\n}\n\nfunction classifyTopology(\n\tfeatures: AdaptiveTopologyFeatures,\n\tstats: GraphStats,\n): { topology: AdaptiveTopology; reason: string } {\n\tconst { nodeCount, width, criticalDepth, couplingDensity, parallelRatio } = features;\n\n\tif (nodeCount === 0) {\n\t\treturn { topology: \"dag\", reason: \"empty DAG\" };\n\t}\n\tif (nodeCount === 1) {\n\t\treturn { topology: \"singleton\", reason: \"single node, no parallelism\" };\n\t}\n\tif (stats.hasCycle) {\n\t\treturn { topology: \"dag\", reason: \"cycle detected; treating as general DAG\" };\n\t}\n\n\tconst wide = parallelRatio >= THETA_OMEGA;\n\tconst highCoupling = couplingDensity >= THETA_GAMMA;\n\tconst deep = criticalDepth >= THETA_DELTA;\n\n\tif (width === 1) {\n\t\treturn { topology: \"pipeline\", reason: \"fully sequential chain (width 1)\" };\n\t}\n\tif (wide && highCoupling) {\n\t\treturn { topology: \"hybrid\", reason: \"high parallelism with high coupling (mixed signals)\" };\n\t}\n\tif (wide) {\n\t\tif (stats.rootCount <= 1 && stats.hasFanOutRoot && stats.hasFanInSink) {\n\t\t\treturn { topology: \"map_reduce\", reason: \"fan-out then fan-in with low coupling\" };\n\t\t}\n\t\treturn { topology: \"parallel\", reason: \"wide DAG with low coupling\" };\n\t}\n\tif (highCoupling) {\n\t\treturn { topology: \"pipeline\", reason: \"high coupling, sequential stages\" };\n\t}\n\tif (deep && nodeCount > THETA_DELTA) {\n\t\treturn { topology: \"hierarchical\", reason: \"deep, large dependency tree\" };\n\t}\n\treturn { topology: \"dag\", reason: \"general DAG with mixed parallelism\" };\n}\n\n/**\n * Compute structural features and an execution topology for a task DAG.\n *\n * Pure: uses Kahn layering with a cycle guard. Dangling edges (endpoints not in\n * `nodes`) and duplicate edges are ignored; self loops mark the graph as cyclic.\n */\nexport function computeAdaptiveTopology(\n\tnodes: readonly string[],\n\tedges: readonly AdaptiveEdge[],\n): AdaptiveTopologyDecision {\n\t// De-duplicate nodes while preserving input order for deterministic layering.\n\tconst orderedNodes: string[] = [];\n\tconst nodeSet = new Set<string>();\n\tfor (const node of nodes) {\n\t\tif (!nodeSet.has(node)) {\n\t\t\tnodeSet.add(node);\n\t\t\torderedNodes.push(node);\n\t\t}\n\t}\n\tconst indexOf = new Map<string, number>();\n\torderedNodes.forEach((node, index) => {\n\t\tindexOf.set(node, index);\n\t});\n\n\tconst adjacency = new Map<string, Set<string>>();\n\tconst inDegree = new Map<string, number>();\n\tconst outDegree = new Map<string, number>();\n\tfor (const node of orderedNodes) {\n\t\tadjacency.set(node, new Set());\n\t\tinDegree.set(node, 0);\n\t\toutDegree.set(node, 0);\n\t}\n\n\tlet edgeCount = 0;\n\tlet hasCycle = false;\n\tconst edgeSeen = new Set<string>();\n\tfor (const edge of edges) {\n\t\tif (!nodeSet.has(edge.from) || !nodeSet.has(edge.to)) {\n\t\t\tcontinue; // ignore dangling edges\n\t\t}\n\t\tif (edge.from === edge.to) {\n\t\t\thasCycle = true; // self loop\n\t\t\tcontinue;\n\t\t}\n\t\tconst key = `${edge.from}\\u0000${edge.to}`;\n\t\tif (edgeSeen.has(key)) {\n\t\t\tcontinue; // dedupe\n\t\t}\n\t\tedgeSeen.add(key);\n\t\tconst targets = adjacency.get(edge.from);\n\t\tif (targets && !targets.has(edge.to)) {\n\t\t\ttargets.add(edge.to);\n\t\t\tinDegree.set(edge.to, (inDegree.get(edge.to) ?? 0) + 1);\n\t\t\toutDegree.set(edge.from, (outDegree.get(edge.from) ?? 0) + 1);\n\t\t\tedgeCount++;\n\t\t}\n\t}\n\n\t// Kahn layering.\n\tconst remaining = new Map(inDegree);\n\tlet frontier = orderedNodes.filter((node) => (remaining.get(node) ?? 0) === 0);\n\tconst waves: string[][] = [];\n\tlet processed = 0;\n\twhile (frontier.length > 0) {\n\t\tconst wave = [...frontier].sort((a, b) => (indexOf.get(a) ?? 0) - (indexOf.get(b) ?? 0));\n\t\twaves.push(wave);\n\t\tconst next: string[] = [];\n\t\tfor (const node of wave) {\n\t\t\tprocessed++;\n\t\t\tfor (const neighbor of adjacency.get(node) ?? []) {\n\t\t\t\tconst degree = (remaining.get(neighbor) ?? 0) - 1;\n\t\t\t\tremaining.set(neighbor, degree);\n\t\t\t\tif (degree === 0) {\n\t\t\t\t\tnext.push(neighbor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfrontier = next;\n\t}\n\n\tif (processed < orderedNodes.length) {\n\t\thasCycle = true;\n\t\tconst placed = new Set(waves.flat());\n\t\tconst leftover = orderedNodes.filter((node) => !placed.has(node));\n\t\tif (leftover.length > 0) {\n\t\t\twaves.push(leftover);\n\t\t}\n\t}\n\n\tconst nodeCount = orderedNodes.length;\n\tconst width = waves.reduce((max, wave) => Math.max(max, wave.length), 0);\n\tconst criticalDepth = waves.length;\n\tconst maxEdges = nodeCount > 1 ? (nodeCount * (nodeCount - 1)) / 2 : 0;\n\tconst couplingDensity = maxEdges > 0 ? Math.min(1, edgeCount / maxEdges) : 0;\n\tconst parallelRatio = nodeCount > 0 ? width / nodeCount : 0;\n\n\tconst features: AdaptiveTopologyFeatures = {\n\t\tnodeCount,\n\t\tedgeCount,\n\t\twidth,\n\t\tcriticalDepth,\n\t\tcouplingDensity,\n\t\tparallelRatio,\n\t};\n\n\tconst roots = orderedNodes.filter((node) => (inDegree.get(node) ?? 0) === 0);\n\tconst stats: GraphStats = {\n\t\trootCount: roots.length,\n\t\thasFanOutRoot: roots.some((node) => (outDegree.get(node) ?? 0) > 1),\n\t\thasFanInSink: orderedNodes.some((node) => (outDegree.get(node) ?? 0) === 0 && (inDegree.get(node) ?? 0) > 1),\n\t\thasCycle,\n\t};\n\n\tconst { topology, reason } = classifyTopology(features, stats);\n\treturn { topology, features, waves, reason, hasCycle };\n}\n\n// ============================================================================\n// Ouroboros preference detection\n// ============================================================================\n\nexport type OuroborosMode = \"always\" | \"auto\" | \"off\";\n\nexport interface OuroborosIndicators {\n\tmcp: boolean;\n\tskills: boolean;\n\tbinary: boolean;\n}\n\nexport interface OuroborosPreference {\n\tmode: OuroborosMode;\n\t/** True when not off and at least one indicator is present. */\n\tpreferred: boolean;\n\t/** True when any indicator is present (mcp/skills/binary). */\n\tavailable: boolean;\n\tfallback: \"ouroboros\" | \"native\";\n\tindicators: OuroborosIndicators;\n\treason: string;\n}\n\nexport interface OuroborosDetectionInput {\n\tenv?: AdaptiveEnv;\n\tagentDir?: string;\n\tcwd?: string;\n\thome?: string;\n\t/** Injectable existence check (defaults to fs.existsSync); used for the binary indicator. */\n\texists?: (path: string) => boolean;\n}\n\nfunction resolveOuroborosMode(env: AdaptiveEnv): OuroborosMode {\n\tconst raw = normalizeFlag(env.OMK_OUROBOROS);\n\tif (raw === \"off\" || raw === \"0\" || raw === \"false\" || raw === \"no\") {\n\t\treturn \"off\";\n\t}\n\tif (raw === \"auto\") {\n\t\treturn \"auto\";\n\t}\n\treturn \"always\"; // default, also \"always\" | \"1\" | \"true\" | \"on\" | unset\n}\n\nfunction safeExists(exists: (path: string) => boolean, path: string): boolean {\n\ttry {\n\t\treturn exists(path);\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction detectMcpIndicator(agentDir: string, exists: (path: string) => boolean): boolean {\n\tconst mcpPath = join(agentDir, \"mcp.json\");\n\tif (!safeExists(exists, mcpPath)) {\n\t\treturn false;\n\t}\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(mcpPath, \"utf-8\")) as Record<string, unknown>;\n\t\tconst serversValue = parsed.mcpServers ?? parsed.servers ?? parsed;\n\t\tif (serversValue && typeof serversValue === \"object\") {\n\t\t\treturn Object.keys(serversValue as Record<string, unknown>).some((key) =>\n\t\t\t\tkey.toLowerCase().includes(\"ouroboros\"),\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction detectSkillsIndicator(agentDir: string, exists: (path: string) => boolean): boolean {\n\tconst skillsDir = join(agentDir, \"skills\");\n\tif (!safeExists(exists, skillsDir)) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn readdirSync(skillsDir).some((name) => name.toLowerCase().startsWith(\"ouroboros-\"));\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction detectBinaryIndicator(home: string, exists: (path: string) => boolean): boolean {\n\treturn safeExists(exists, join(home, \".local\", \"bin\", \"ouroboros\"));\n}\n\n/**\n * Detect whether the Ouroboros runtime should be preferred.\n *\n * Presence-only: never throws, performs no secret reads. When indicators are\n * absent the preference falls back to the native runtime.\n */\nexport function detectOuroborosPreference(input: OuroborosDetectionInput = {}): OuroborosPreference {\n\tconst env = input.env ?? {};\n\tconst exists = input.exists ?? existsSync;\n\tconst home = input.home ?? env.HOME ?? env.USERPROFILE ?? homedir();\n\tconst agentDir = input.agentDir;\n\n\tconst mode = resolveOuroborosMode(env);\n\n\tconst indicators: OuroborosIndicators = {\n\t\tmcp: agentDir ? detectMcpIndicator(agentDir, exists) : false,\n\t\tskills: agentDir ? detectSkillsIndicator(agentDir, exists) : false,\n\t\tbinary: detectBinaryIndicator(home, exists),\n\t};\n\n\tconst available = indicators.mcp || indicators.skills || indicators.binary;\n\tconst preferred = mode !== \"off\" && available;\n\tconst fallback: OuroborosPreference[\"fallback\"] = preferred ? \"ouroboros\" : \"native\";\n\n\tlet reason: string;\n\tif (mode === \"off\") {\n\t\treason = \"ouroboros disabled via OMK_OUROBOROS\";\n\t} else if (available) {\n\t\tconst present = [\n\t\t\tindicators.mcp ? \"mcp\" : undefined,\n\t\t\tindicators.skills ? \"skills\" : undefined,\n\t\t\tindicators.binary ? \"binary\" : undefined,\n\t\t].filter((value): value is string => value !== undefined);\n\t\treason = `ouroboros preferred (${present.join(\", \")})`;\n\t} else {\n\t\treason = \"ouroboros unavailable; falling back to native runtime\";\n\t}\n\n\treturn { mode, preferred, available, fallback, indicators, reason };\n}\n\n// ============================================================================\n// First-run adaptive plan\n// ============================================================================\n\nexport const ADAPTIVE_PLAN_VERSION = 1;\nexport const DEFAULT_ADAPTIVE_RUNTIME = \"omk-parallel-orchestrator\";\n\n/** Startup DAG used to seed the first-run adaptive plan. */\nexport const OMK_STARTUP_DAG_NODES: readonly string[] = [\n\t\"session_start\",\n\t\"resources_discover\",\n\t\"model_select\",\n\t\"run_loop\",\n];\n\nexport const OMK_STARTUP_DAG_EDGES: readonly AdaptiveEdge[] = [\n\t{ from: \"session_start\", to: \"resources_discover\" },\n\t{ from: \"resources_discover\", to: \"model_select\" },\n\t{ from: \"model_select\", to: \"run_loop\" },\n];\n\nexport interface FirstRunAdaptivePlanInput {\n\tnodes?: readonly string[];\n\tedges?: readonly AdaptiveEdge[];\n\tenv?: AdaptiveEnv;\n\tagentDir?: string;\n\tcwd?: string;\n\thome?: string;\n\truntime?: string;\n\t/** Injectable clock (defaults to Date.now) for deterministic tests. */\n\tnow?: () => number;\n\texists?: (path: string) => boolean;\n}\n\nexport interface FirstRunAdaptivePlan {\n\tversion: number;\n\truntime: string;\n\tcreatedAt: string;\n\tcwd: string | null;\n\ttopology: AdaptiveTopologyDecision;\n\theadroom: { enabled: boolean; threshold: number };\n\touroboros: OuroborosPreference;\n}\n\n/** Build a JSON-serializable first-run adaptive plan. Pure. */\nexport function createFirstRunAdaptivePlan(input: FirstRunAdaptivePlanInput = {}): FirstRunAdaptivePlan {\n\tconst env = input.env ?? {};\n\tconst now = input.now ?? Date.now;\n\tconst nodes = input.nodes ?? OMK_STARTUP_DAG_NODES;\n\tconst edges = input.edges ?? OMK_STARTUP_DAG_EDGES;\n\n\tconst topology = computeAdaptiveTopology(nodes, edges);\n\tconst threshold = resolveAdaptiveHeadroomThreshold(env);\n\tconst headroom = {\n\t\tenabled: threshold > 0,\n\t\tthreshold: threshold > 0 ? threshold : DEFAULT_HEADROOM_THRESHOLD,\n\t};\n\tconst ouroboros = detectOuroborosPreference({\n\t\tenv,\n\t\tagentDir: input.agentDir,\n\t\tcwd: input.cwd,\n\t\thome: input.home,\n\t\texists: input.exists,\n\t});\n\n\treturn {\n\t\tversion: ADAPTIVE_PLAN_VERSION,\n\t\truntime: input.runtime ?? DEFAULT_ADAPTIVE_RUNTIME,\n\t\tcreatedAt: new Date(now()).toISOString(),\n\t\tcwd: input.cwd ?? null,\n\t\ttopology,\n\t\theadroom,\n\t\touroboros,\n\t};\n}\n\nexport interface WriteAdaptivePlanInput extends FirstRunAdaptivePlanInput {\n\tagentDir: string;\n\t/** Force rewrite even if the artifact already exists. */\n\trefresh?: boolean;\n}\n\nexport interface WriteAdaptivePlanResult {\n\tpath: string;\n\twritten: boolean;\n\tplan?: FirstRunAdaptivePlan;\n\treason: \"created\" | \"refreshed\" | \"exists\" | \"error\";\n\terror?: string;\n}\n\n/** Path of the first-run adaptive plan artifact. */\nexport function getAdaptivePlanPath(agentDir: string): string {\n\treturn join(agentDir, \"runs\", \"adaptive-runtime-plan.json\");\n}\n\nfunction isTruthyFlag(value: string | undefined): boolean {\n\tconst raw = normalizeFlag(value);\n\treturn raw === \"1\" || raw === \"true\" || raw === \"yes\" || raw === \"on\";\n}\n\n/**\n * Idempotently write the first-run adaptive plan. Non-fatal: any error is\n * captured in the result rather than thrown. Skips writing when the artifact\n * already exists unless `refresh` (or `OMK_ADAPTIVE_PLAN_REFRESH=1`) is set.\n */\nexport function writeFirstRunAdaptivePlan(input: WriteAdaptivePlanInput): WriteAdaptivePlanResult {\n\tconst env = input.env ?? {};\n\tconst exists = input.exists ?? existsSync;\n\tconst path = getAdaptivePlanPath(input.agentDir);\n\tconst refresh = input.refresh ?? isTruthyFlag(env.OMK_ADAPTIVE_PLAN_REFRESH);\n\n\ttry {\n\t\tconst alreadyExists = safeExists(exists, path);\n\t\tif (alreadyExists && !refresh) {\n\t\t\treturn { path, written: false, reason: \"exists\" };\n\t\t}\n\t\tconst plan = createFirstRunAdaptivePlan(input);\n\t\tmkdirSync(dirname(path), { recursive: true });\n\t\twriteFileSync(path, `${JSON.stringify(plan, null, 2)}\\n`, \"utf-8\");\n\t\treturn { path, written: true, plan, reason: alreadyExists ? \"refreshed\" : \"created\" };\n\t} catch (error) {\n\t\treturn { path, written: false, reason: \"error\", error: error instanceof Error ? error.message : String(error) };\n\t}\n}\n"]}
@@ -1,378 +0,0 @@
1
- /**
2
- * Adaptive runtime algorithms for the OMK hardfork.
3
- *
4
- * This module hosts pure, side-effect-free helpers that drive adaptive behaviour:
5
- * - Headroom thresholds (when to compact / hand off before the context limit).
6
- * - Topology routing (classify a task DAG into an execution topology).
7
- * - Ouroboros preference detection (presence-only, never throws, no secret reads).
8
- * - First-run adaptive plan generation (JSON-serializable artifact).
9
- *
10
- * The only non-pure helper is `writeFirstRunAdaptivePlan`, which performs an
11
- * idempotent, non-fatal filesystem write of the generated plan. It is kept here
12
- * so the behaviour stays unit-testable.
13
- */
14
- import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from "node:fs";
15
- import { homedir } from "node:os";
16
- import { dirname, join } from "node:path";
17
- // ============================================================================
18
- // Headroom thresholds
19
- // ============================================================================
20
- export const DEFAULT_HEADROOM_THRESHOLD = 0.9;
21
- export const MIN_HEADROOM_THRESHOLD = 0.5;
22
- export const MAX_HEADROOM_THRESHOLD = 0.99;
23
- function normalizeFlag(value) {
24
- return value?.trim().toLowerCase() ?? "";
25
- }
26
- /** Whether the adaptive headroom feature is explicitly disabled via OMK_HEADROOM. */
27
- export function isHeadroomDisabled(env = {}) {
28
- const raw = normalizeFlag(env.OMK_HEADROOM);
29
- return raw === "off" || raw === "0" || raw === "false" || raw === "no";
30
- }
31
- /**
32
- * Resolve the adaptive headroom utilization threshold.
33
- *
34
- * - Default 0.90.
35
- * - `OMK_HEADROOM_THRESHOLD` overrides (accepts a fraction `0.9` or percentage `90`).
36
- * - Clamped to [0.5, 0.99].
37
- * - Returns `0` when disabled via `OMK_HEADROOM=off|0|false|no`.
38
- */
39
- export function resolveAdaptiveHeadroomThreshold(env = {}) {
40
- if (isHeadroomDisabled(env)) {
41
- return 0;
42
- }
43
- let threshold = DEFAULT_HEADROOM_THRESHOLD;
44
- const raw = env.OMK_HEADROOM_THRESHOLD;
45
- if (raw !== undefined && raw.trim().length > 0) {
46
- const parsed = Number.parseFloat(raw);
47
- if (Number.isFinite(parsed)) {
48
- threshold = parsed > 1 ? parsed / 100 : parsed;
49
- }
50
- }
51
- return Math.min(MAX_HEADROOM_THRESHOLD, Math.max(MIN_HEADROOM_THRESHOLD, threshold));
52
- }
53
- /**
54
- * Whether to invoke headroom (compact / hand off) before hitting the hard context limit.
55
- * True only when the feature is enabled and utilization meets the resolved threshold.
56
- */
57
- export function shouldUseHeadroomBeforeLimit(contextTokens, contextWindow, env = {}) {
58
- const threshold = resolveAdaptiveHeadroomThreshold(env);
59
- if (threshold <= 0) {
60
- return false;
61
- }
62
- if (!Number.isFinite(contextWindow) || contextWindow <= 0) {
63
- return false;
64
- }
65
- if (!Number.isFinite(contextTokens) || contextTokens < 0) {
66
- return false;
67
- }
68
- return contextTokens / contextWindow >= threshold;
69
- }
70
- /** Routing thresholds for the OMK topology router. */
71
- const THETA_OMEGA = 0.5; // parallel ratio above this -> parallel/map_reduce
72
- const THETA_GAMMA = 0.6; // coupling density above this -> high coupling
73
- const THETA_DELTA = 5; // node-count / depth threshold for hierarchical
74
- function classifyTopology(features, stats) {
75
- const { nodeCount, width, criticalDepth, couplingDensity, parallelRatio } = features;
76
- if (nodeCount === 0) {
77
- return { topology: "dag", reason: "empty DAG" };
78
- }
79
- if (nodeCount === 1) {
80
- return { topology: "singleton", reason: "single node, no parallelism" };
81
- }
82
- if (stats.hasCycle) {
83
- return { topology: "dag", reason: "cycle detected; treating as general DAG" };
84
- }
85
- const wide = parallelRatio >= THETA_OMEGA;
86
- const highCoupling = couplingDensity >= THETA_GAMMA;
87
- const deep = criticalDepth >= THETA_DELTA;
88
- if (width === 1) {
89
- return { topology: "pipeline", reason: "fully sequential chain (width 1)" };
90
- }
91
- if (wide && highCoupling) {
92
- return { topology: "hybrid", reason: "high parallelism with high coupling (mixed signals)" };
93
- }
94
- if (wide) {
95
- if (stats.rootCount <= 1 && stats.hasFanOutRoot && stats.hasFanInSink) {
96
- return { topology: "map_reduce", reason: "fan-out then fan-in with low coupling" };
97
- }
98
- return { topology: "parallel", reason: "wide DAG with low coupling" };
99
- }
100
- if (highCoupling) {
101
- return { topology: "pipeline", reason: "high coupling, sequential stages" };
102
- }
103
- if (deep && nodeCount > THETA_DELTA) {
104
- return { topology: "hierarchical", reason: "deep, large dependency tree" };
105
- }
106
- return { topology: "dag", reason: "general DAG with mixed parallelism" };
107
- }
108
- /**
109
- * Compute structural features and an execution topology for a task DAG.
110
- *
111
- * Pure: uses Kahn layering with a cycle guard. Dangling edges (endpoints not in
112
- * `nodes`) and duplicate edges are ignored; self loops mark the graph as cyclic.
113
- */
114
- export function computeAdaptiveTopology(nodes, edges) {
115
- // De-duplicate nodes while preserving input order for deterministic layering.
116
- const orderedNodes = [];
117
- const nodeSet = new Set();
118
- for (const node of nodes) {
119
- if (!nodeSet.has(node)) {
120
- nodeSet.add(node);
121
- orderedNodes.push(node);
122
- }
123
- }
124
- const indexOf = new Map();
125
- orderedNodes.forEach((node, index) => {
126
- indexOf.set(node, index);
127
- });
128
- const adjacency = new Map();
129
- const inDegree = new Map();
130
- const outDegree = new Map();
131
- for (const node of orderedNodes) {
132
- adjacency.set(node, new Set());
133
- inDegree.set(node, 0);
134
- outDegree.set(node, 0);
135
- }
136
- let edgeCount = 0;
137
- let hasCycle = false;
138
- const edgeSeen = new Set();
139
- for (const edge of edges) {
140
- if (!nodeSet.has(edge.from) || !nodeSet.has(edge.to)) {
141
- continue; // ignore dangling edges
142
- }
143
- if (edge.from === edge.to) {
144
- hasCycle = true; // self loop
145
- continue;
146
- }
147
- const key = `${edge.from}\u0000${edge.to}`;
148
- if (edgeSeen.has(key)) {
149
- continue; // dedupe
150
- }
151
- edgeSeen.add(key);
152
- const targets = adjacency.get(edge.from);
153
- if (targets && !targets.has(edge.to)) {
154
- targets.add(edge.to);
155
- inDegree.set(edge.to, (inDegree.get(edge.to) ?? 0) + 1);
156
- outDegree.set(edge.from, (outDegree.get(edge.from) ?? 0) + 1);
157
- edgeCount++;
158
- }
159
- }
160
- // Kahn layering.
161
- const remaining = new Map(inDegree);
162
- let frontier = orderedNodes.filter((node) => (remaining.get(node) ?? 0) === 0);
163
- const waves = [];
164
- let processed = 0;
165
- while (frontier.length > 0) {
166
- const wave = [...frontier].sort((a, b) => (indexOf.get(a) ?? 0) - (indexOf.get(b) ?? 0));
167
- waves.push(wave);
168
- const next = [];
169
- for (const node of wave) {
170
- processed++;
171
- for (const neighbor of adjacency.get(node) ?? []) {
172
- const degree = (remaining.get(neighbor) ?? 0) - 1;
173
- remaining.set(neighbor, degree);
174
- if (degree === 0) {
175
- next.push(neighbor);
176
- }
177
- }
178
- }
179
- frontier = next;
180
- }
181
- if (processed < orderedNodes.length) {
182
- hasCycle = true;
183
- const placed = new Set(waves.flat());
184
- const leftover = orderedNodes.filter((node) => !placed.has(node));
185
- if (leftover.length > 0) {
186
- waves.push(leftover);
187
- }
188
- }
189
- const nodeCount = orderedNodes.length;
190
- const width = waves.reduce((max, wave) => Math.max(max, wave.length), 0);
191
- const criticalDepth = waves.length;
192
- const maxEdges = nodeCount > 1 ? (nodeCount * (nodeCount - 1)) / 2 : 0;
193
- const couplingDensity = maxEdges > 0 ? Math.min(1, edgeCount / maxEdges) : 0;
194
- const parallelRatio = nodeCount > 0 ? width / nodeCount : 0;
195
- const features = {
196
- nodeCount,
197
- edgeCount,
198
- width,
199
- criticalDepth,
200
- couplingDensity,
201
- parallelRatio,
202
- };
203
- const roots = orderedNodes.filter((node) => (inDegree.get(node) ?? 0) === 0);
204
- const stats = {
205
- rootCount: roots.length,
206
- hasFanOutRoot: roots.some((node) => (outDegree.get(node) ?? 0) > 1),
207
- hasFanInSink: orderedNodes.some((node) => (outDegree.get(node) ?? 0) === 0 && (inDegree.get(node) ?? 0) > 1),
208
- hasCycle,
209
- };
210
- const { topology, reason } = classifyTopology(features, stats);
211
- return { topology, features, waves, reason, hasCycle };
212
- }
213
- function resolveOuroborosMode(env) {
214
- const raw = normalizeFlag(env.OMK_OUROBOROS);
215
- if (raw === "off" || raw === "0" || raw === "false" || raw === "no") {
216
- return "off";
217
- }
218
- if (raw === "auto") {
219
- return "auto";
220
- }
221
- return "always"; // default, also "always" | "1" | "true" | "on" | unset
222
- }
223
- function safeExists(exists, path) {
224
- try {
225
- return exists(path);
226
- }
227
- catch {
228
- return false;
229
- }
230
- }
231
- function detectMcpIndicator(agentDir, exists) {
232
- const mcpPath = join(agentDir, "mcp.json");
233
- if (!safeExists(exists, mcpPath)) {
234
- return false;
235
- }
236
- try {
237
- const parsed = JSON.parse(readFileSync(mcpPath, "utf-8"));
238
- const serversValue = parsed.mcpServers ?? parsed.servers ?? parsed;
239
- if (serversValue && typeof serversValue === "object") {
240
- return Object.keys(serversValue).some((key) => key.toLowerCase().includes("ouroboros"));
241
- }
242
- return false;
243
- }
244
- catch {
245
- return false;
246
- }
247
- }
248
- function detectSkillsIndicator(agentDir, exists) {
249
- const skillsDir = join(agentDir, "skills");
250
- if (!safeExists(exists, skillsDir)) {
251
- return false;
252
- }
253
- try {
254
- return readdirSync(skillsDir).some((name) => name.toLowerCase().startsWith("ouroboros-"));
255
- }
256
- catch {
257
- return false;
258
- }
259
- }
260
- function detectBinaryIndicator(home, exists) {
261
- return safeExists(exists, join(home, ".local", "bin", "ouroboros"));
262
- }
263
- /**
264
- * Detect whether the Ouroboros runtime should be preferred.
265
- *
266
- * Presence-only: never throws, performs no secret reads. When indicators are
267
- * absent the preference falls back to the native runtime.
268
- */
269
- export function detectOuroborosPreference(input = {}) {
270
- const env = input.env ?? {};
271
- const exists = input.exists ?? existsSync;
272
- const home = input.home ?? env.HOME ?? env.USERPROFILE ?? homedir();
273
- const agentDir = input.agentDir;
274
- const mode = resolveOuroborosMode(env);
275
- const indicators = {
276
- mcp: agentDir ? detectMcpIndicator(agentDir, exists) : false,
277
- skills: agentDir ? detectSkillsIndicator(agentDir, exists) : false,
278
- binary: detectBinaryIndicator(home, exists),
279
- };
280
- const available = indicators.mcp || indicators.skills || indicators.binary;
281
- const preferred = mode !== "off" && available;
282
- const fallback = preferred ? "ouroboros" : "native";
283
- let reason;
284
- if (mode === "off") {
285
- reason = "ouroboros disabled via OMK_OUROBOROS";
286
- }
287
- else if (available) {
288
- const present = [
289
- indicators.mcp ? "mcp" : undefined,
290
- indicators.skills ? "skills" : undefined,
291
- indicators.binary ? "binary" : undefined,
292
- ].filter((value) => value !== undefined);
293
- reason = `ouroboros preferred (${present.join(", ")})`;
294
- }
295
- else {
296
- reason = "ouroboros unavailable; falling back to native runtime";
297
- }
298
- return { mode, preferred, available, fallback, indicators, reason };
299
- }
300
- // ============================================================================
301
- // First-run adaptive plan
302
- // ============================================================================
303
- export const ADAPTIVE_PLAN_VERSION = 1;
304
- export const DEFAULT_ADAPTIVE_RUNTIME = "omk-parallel-orchestrator";
305
- /** Startup DAG used to seed the first-run adaptive plan. */
306
- export const OMK_STARTUP_DAG_NODES = [
307
- "session_start",
308
- "resources_discover",
309
- "model_select",
310
- "run_loop",
311
- ];
312
- export const OMK_STARTUP_DAG_EDGES = [
313
- { from: "session_start", to: "resources_discover" },
314
- { from: "resources_discover", to: "model_select" },
315
- { from: "model_select", to: "run_loop" },
316
- ];
317
- /** Build a JSON-serializable first-run adaptive plan. Pure. */
318
- export function createFirstRunAdaptivePlan(input = {}) {
319
- const env = input.env ?? {};
320
- const now = input.now ?? Date.now;
321
- const nodes = input.nodes ?? OMK_STARTUP_DAG_NODES;
322
- const edges = input.edges ?? OMK_STARTUP_DAG_EDGES;
323
- const topology = computeAdaptiveTopology(nodes, edges);
324
- const threshold = resolveAdaptiveHeadroomThreshold(env);
325
- const headroom = {
326
- enabled: threshold > 0,
327
- threshold: threshold > 0 ? threshold : DEFAULT_HEADROOM_THRESHOLD,
328
- };
329
- const ouroboros = detectOuroborosPreference({
330
- env,
331
- agentDir: input.agentDir,
332
- cwd: input.cwd,
333
- home: input.home,
334
- exists: input.exists,
335
- });
336
- return {
337
- version: ADAPTIVE_PLAN_VERSION,
338
- runtime: input.runtime ?? DEFAULT_ADAPTIVE_RUNTIME,
339
- createdAt: new Date(now()).toISOString(),
340
- cwd: input.cwd ?? null,
341
- topology,
342
- headroom,
343
- ouroboros,
344
- };
345
- }
346
- /** Path of the first-run adaptive plan artifact. */
347
- export function getAdaptivePlanPath(agentDir) {
348
- return join(agentDir, "runs", "adaptive-runtime-plan.json");
349
- }
350
- function isTruthyFlag(value) {
351
- const raw = normalizeFlag(value);
352
- return raw === "1" || raw === "true" || raw === "yes" || raw === "on";
353
- }
354
- /**
355
- * Idempotently write the first-run adaptive plan. Non-fatal: any error is
356
- * captured in the result rather than thrown. Skips writing when the artifact
357
- * already exists unless `refresh` (or `OMK_ADAPTIVE_PLAN_REFRESH=1`) is set.
358
- */
359
- export function writeFirstRunAdaptivePlan(input) {
360
- const env = input.env ?? {};
361
- const exists = input.exists ?? existsSync;
362
- const path = getAdaptivePlanPath(input.agentDir);
363
- const refresh = input.refresh ?? isTruthyFlag(env.OMK_ADAPTIVE_PLAN_REFRESH);
364
- try {
365
- const alreadyExists = safeExists(exists, path);
366
- if (alreadyExists && !refresh) {
367
- return { path, written: false, reason: "exists" };
368
- }
369
- const plan = createFirstRunAdaptivePlan(input);
370
- mkdirSync(dirname(path), { recursive: true });
371
- writeFileSync(path, `${JSON.stringify(plan, null, 2)}\n`, "utf-8");
372
- return { path, written: true, plan, reason: alreadyExists ? "refreshed" : "created" };
373
- }
374
- catch (error) {
375
- return { path, written: false, reason: "error", error: error instanceof Error ? error.message : String(error) };
376
- }
377
- }
378
- //# sourceMappingURL=adaptive-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adaptive-runtime.js","sourceRoot":"","sources":["../../src/core/adaptive-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Adaptive runtime algorithms for the OMK hardfork.\n *\n * This module hosts pure, side-effect-free helpers that drive adaptive behaviour:\n * - Headroom thresholds (when to compact / hand off before the context limit).\n * - Topology routing (classify a task DAG into an execution topology).\n * - Ouroboros preference detection (presence-only, never throws, no secret reads).\n * - First-run adaptive plan generation (JSON-serializable artifact).\n *\n * The only non-pure helper is `writeFirstRunAdaptivePlan`, which performs an\n * idempotent, non-fatal filesystem write of the generated plan. It is kept here\n * so the behaviour stays unit-testable.\n */\n\nimport { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { dirname, join } from \"node:path\";\n\n// ============================================================================\n// Shared types\n// ============================================================================\n\n/** Minimal environment shape consumed by adaptive helpers. */\nexport type AdaptiveEnv = Record<string, string | undefined>;\n\n/** Directed edge in a task DAG. */\nexport interface AdaptiveEdge {\n\tfrom: string;\n\tto: string;\n}\n\n// ============================================================================\n// Headroom thresholds\n// ============================================================================\n\nexport const DEFAULT_HEADROOM_THRESHOLD = 0.9;\nexport const MIN_HEADROOM_THRESHOLD = 0.5;\nexport const MAX_HEADROOM_THRESHOLD = 0.99;\n\nfunction normalizeFlag(value: string | undefined): string {\n\treturn value?.trim().toLowerCase() ?? \"\";\n}\n\n/** Whether the adaptive headroom feature is explicitly disabled via OMK_HEADROOM. */\nexport function isHeadroomDisabled(env: AdaptiveEnv = {}): boolean {\n\tconst raw = normalizeFlag(env.OMK_HEADROOM);\n\treturn raw === \"off\" || raw === \"0\" || raw === \"false\" || raw === \"no\";\n}\n\n/**\n * Resolve the adaptive headroom utilization threshold.\n *\n * - Default 0.90.\n * - `OMK_HEADROOM_THRESHOLD` overrides (accepts a fraction `0.9` or percentage `90`).\n * - Clamped to [0.5, 0.99].\n * - Returns `0` when disabled via `OMK_HEADROOM=off|0|false|no`.\n */\nexport function resolveAdaptiveHeadroomThreshold(env: AdaptiveEnv = {}): number {\n\tif (isHeadroomDisabled(env)) {\n\t\treturn 0;\n\t}\n\tlet threshold = DEFAULT_HEADROOM_THRESHOLD;\n\tconst raw = env.OMK_HEADROOM_THRESHOLD;\n\tif (raw !== undefined && raw.trim().length > 0) {\n\t\tconst parsed = Number.parseFloat(raw);\n\t\tif (Number.isFinite(parsed)) {\n\t\t\tthreshold = parsed > 1 ? parsed / 100 : parsed;\n\t\t}\n\t}\n\treturn Math.min(MAX_HEADROOM_THRESHOLD, Math.max(MIN_HEADROOM_THRESHOLD, threshold));\n}\n\n/**\n * Whether to invoke headroom (compact / hand off) before hitting the hard context limit.\n * True only when the feature is enabled and utilization meets the resolved threshold.\n */\nexport function shouldUseHeadroomBeforeLimit(\n\tcontextTokens: number,\n\tcontextWindow: number,\n\tenv: AdaptiveEnv = {},\n): boolean {\n\tconst threshold = resolveAdaptiveHeadroomThreshold(env);\n\tif (threshold <= 0) {\n\t\treturn false;\n\t}\n\tif (!Number.isFinite(contextWindow) || contextWindow <= 0) {\n\t\treturn false;\n\t}\n\tif (!Number.isFinite(contextTokens) || contextTokens < 0) {\n\t\treturn false;\n\t}\n\treturn contextTokens / contextWindow >= threshold;\n}\n\n// ============================================================================\n// Topology routing\n// ============================================================================\n\nexport type AdaptiveTopology = \"singleton\" | \"parallel\" | \"pipeline\" | \"map_reduce\" | \"hierarchical\" | \"dag\" | \"hybrid\";\n\nexport interface AdaptiveTopologyFeatures {\n\tnodeCount: number;\n\tedgeCount: number;\n\t/** Maximum number of nodes in a single Kahn layer (parallel width). */\n\twidth: number;\n\t/** Number of layers / longest dependency chain in node terms. */\n\tcriticalDepth: number;\n\t/** Edges / possible edges (0 = fully parallel, 1 = fully sequential). */\n\tcouplingDensity: number;\n\t/** width / nodeCount (inherent parallelism potential). */\n\tparallelRatio: number;\n}\n\nexport interface AdaptiveTopologyDecision {\n\ttopology: AdaptiveTopology;\n\tfeatures: AdaptiveTopologyFeatures;\n\t/** Kahn layering; each entry is the set of node ids executable in that wave. */\n\twaves: string[][];\n\treason: string;\n\thasCycle: boolean;\n}\n\n/** Routing thresholds for the OMK topology router. */\nconst THETA_OMEGA = 0.5; // parallel ratio above this -> parallel/map_reduce\nconst THETA_GAMMA = 0.6; // coupling density above this -> high coupling\nconst THETA_DELTA = 5; // node-count / depth threshold for hierarchical\n\ninterface GraphStats {\n\trootCount: number;\n\thasFanInSink: boolean;\n\thasFanOutRoot: boolean;\n\thasCycle: boolean;\n}\n\nfunction classifyTopology(\n\tfeatures: AdaptiveTopologyFeatures,\n\tstats: GraphStats,\n): { topology: AdaptiveTopology; reason: string } {\n\tconst { nodeCount, width, criticalDepth, couplingDensity, parallelRatio } = features;\n\n\tif (nodeCount === 0) {\n\t\treturn { topology: \"dag\", reason: \"empty DAG\" };\n\t}\n\tif (nodeCount === 1) {\n\t\treturn { topology: \"singleton\", reason: \"single node, no parallelism\" };\n\t}\n\tif (stats.hasCycle) {\n\t\treturn { topology: \"dag\", reason: \"cycle detected; treating as general DAG\" };\n\t}\n\n\tconst wide = parallelRatio >= THETA_OMEGA;\n\tconst highCoupling = couplingDensity >= THETA_GAMMA;\n\tconst deep = criticalDepth >= THETA_DELTA;\n\n\tif (width === 1) {\n\t\treturn { topology: \"pipeline\", reason: \"fully sequential chain (width 1)\" };\n\t}\n\tif (wide && highCoupling) {\n\t\treturn { topology: \"hybrid\", reason: \"high parallelism with high coupling (mixed signals)\" };\n\t}\n\tif (wide) {\n\t\tif (stats.rootCount <= 1 && stats.hasFanOutRoot && stats.hasFanInSink) {\n\t\t\treturn { topology: \"map_reduce\", reason: \"fan-out then fan-in with low coupling\" };\n\t\t}\n\t\treturn { topology: \"parallel\", reason: \"wide DAG with low coupling\" };\n\t}\n\tif (highCoupling) {\n\t\treturn { topology: \"pipeline\", reason: \"high coupling, sequential stages\" };\n\t}\n\tif (deep && nodeCount > THETA_DELTA) {\n\t\treturn { topology: \"hierarchical\", reason: \"deep, large dependency tree\" };\n\t}\n\treturn { topology: \"dag\", reason: \"general DAG with mixed parallelism\" };\n}\n\n/**\n * Compute structural features and an execution topology for a task DAG.\n *\n * Pure: uses Kahn layering with a cycle guard. Dangling edges (endpoints not in\n * `nodes`) and duplicate edges are ignored; self loops mark the graph as cyclic.\n */\nexport function computeAdaptiveTopology(\n\tnodes: readonly string[],\n\tedges: readonly AdaptiveEdge[],\n): AdaptiveTopologyDecision {\n\t// De-duplicate nodes while preserving input order for deterministic layering.\n\tconst orderedNodes: string[] = [];\n\tconst nodeSet = new Set<string>();\n\tfor (const node of nodes) {\n\t\tif (!nodeSet.has(node)) {\n\t\t\tnodeSet.add(node);\n\t\t\torderedNodes.push(node);\n\t\t}\n\t}\n\tconst indexOf = new Map<string, number>();\n\torderedNodes.forEach((node, index) => {\n\t\tindexOf.set(node, index);\n\t});\n\n\tconst adjacency = new Map<string, Set<string>>();\n\tconst inDegree = new Map<string, number>();\n\tconst outDegree = new Map<string, number>();\n\tfor (const node of orderedNodes) {\n\t\tadjacency.set(node, new Set());\n\t\tinDegree.set(node, 0);\n\t\toutDegree.set(node, 0);\n\t}\n\n\tlet edgeCount = 0;\n\tlet hasCycle = false;\n\tconst edgeSeen = new Set<string>();\n\tfor (const edge of edges) {\n\t\tif (!nodeSet.has(edge.from) || !nodeSet.has(edge.to)) {\n\t\t\tcontinue; // ignore dangling edges\n\t\t}\n\t\tif (edge.from === edge.to) {\n\t\t\thasCycle = true; // self loop\n\t\t\tcontinue;\n\t\t}\n\t\tconst key = `${edge.from}\\u0000${edge.to}`;\n\t\tif (edgeSeen.has(key)) {\n\t\t\tcontinue; // dedupe\n\t\t}\n\t\tedgeSeen.add(key);\n\t\tconst targets = adjacency.get(edge.from);\n\t\tif (targets && !targets.has(edge.to)) {\n\t\t\ttargets.add(edge.to);\n\t\t\tinDegree.set(edge.to, (inDegree.get(edge.to) ?? 0) + 1);\n\t\t\toutDegree.set(edge.from, (outDegree.get(edge.from) ?? 0) + 1);\n\t\t\tedgeCount++;\n\t\t}\n\t}\n\n\t// Kahn layering.\n\tconst remaining = new Map(inDegree);\n\tlet frontier = orderedNodes.filter((node) => (remaining.get(node) ?? 0) === 0);\n\tconst waves: string[][] = [];\n\tlet processed = 0;\n\twhile (frontier.length > 0) {\n\t\tconst wave = [...frontier].sort((a, b) => (indexOf.get(a) ?? 0) - (indexOf.get(b) ?? 0));\n\t\twaves.push(wave);\n\t\tconst next: string[] = [];\n\t\tfor (const node of wave) {\n\t\t\tprocessed++;\n\t\t\tfor (const neighbor of adjacency.get(node) ?? []) {\n\t\t\t\tconst degree = (remaining.get(neighbor) ?? 0) - 1;\n\t\t\t\tremaining.set(neighbor, degree);\n\t\t\t\tif (degree === 0) {\n\t\t\t\t\tnext.push(neighbor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfrontier = next;\n\t}\n\n\tif (processed < orderedNodes.length) {\n\t\thasCycle = true;\n\t\tconst placed = new Set(waves.flat());\n\t\tconst leftover = orderedNodes.filter((node) => !placed.has(node));\n\t\tif (leftover.length > 0) {\n\t\t\twaves.push(leftover);\n\t\t}\n\t}\n\n\tconst nodeCount = orderedNodes.length;\n\tconst width = waves.reduce((max, wave) => Math.max(max, wave.length), 0);\n\tconst criticalDepth = waves.length;\n\tconst maxEdges = nodeCount > 1 ? (nodeCount * (nodeCount - 1)) / 2 : 0;\n\tconst couplingDensity = maxEdges > 0 ? Math.min(1, edgeCount / maxEdges) : 0;\n\tconst parallelRatio = nodeCount > 0 ? width / nodeCount : 0;\n\n\tconst features: AdaptiveTopologyFeatures = {\n\t\tnodeCount,\n\t\tedgeCount,\n\t\twidth,\n\t\tcriticalDepth,\n\t\tcouplingDensity,\n\t\tparallelRatio,\n\t};\n\n\tconst roots = orderedNodes.filter((node) => (inDegree.get(node) ?? 0) === 0);\n\tconst stats: GraphStats = {\n\t\trootCount: roots.length,\n\t\thasFanOutRoot: roots.some((node) => (outDegree.get(node) ?? 0) > 1),\n\t\thasFanInSink: orderedNodes.some((node) => (outDegree.get(node) ?? 0) === 0 && (inDegree.get(node) ?? 0) > 1),\n\t\thasCycle,\n\t};\n\n\tconst { topology, reason } = classifyTopology(features, stats);\n\treturn { topology, features, waves, reason, hasCycle };\n}\n\n// ============================================================================\n// Ouroboros preference detection\n// ============================================================================\n\nexport type OuroborosMode = \"always\" | \"auto\" | \"off\";\n\nexport interface OuroborosIndicators {\n\tmcp: boolean;\n\tskills: boolean;\n\tbinary: boolean;\n}\n\nexport interface OuroborosPreference {\n\tmode: OuroborosMode;\n\t/** True when not off and at least one indicator is present. */\n\tpreferred: boolean;\n\t/** True when any indicator is present (mcp/skills/binary). */\n\tavailable: boolean;\n\tfallback: \"ouroboros\" | \"native\";\n\tindicators: OuroborosIndicators;\n\treason: string;\n}\n\nexport interface OuroborosDetectionInput {\n\tenv?: AdaptiveEnv;\n\tagentDir?: string;\n\tcwd?: string;\n\thome?: string;\n\t/** Injectable existence check (defaults to fs.existsSync); used for the binary indicator. */\n\texists?: (path: string) => boolean;\n}\n\nfunction resolveOuroborosMode(env: AdaptiveEnv): OuroborosMode {\n\tconst raw = normalizeFlag(env.OMK_OUROBOROS);\n\tif (raw === \"off\" || raw === \"0\" || raw === \"false\" || raw === \"no\") {\n\t\treturn \"off\";\n\t}\n\tif (raw === \"auto\") {\n\t\treturn \"auto\";\n\t}\n\treturn \"always\"; // default, also \"always\" | \"1\" | \"true\" | \"on\" | unset\n}\n\nfunction safeExists(exists: (path: string) => boolean, path: string): boolean {\n\ttry {\n\t\treturn exists(path);\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction detectMcpIndicator(agentDir: string, exists: (path: string) => boolean): boolean {\n\tconst mcpPath = join(agentDir, \"mcp.json\");\n\tif (!safeExists(exists, mcpPath)) {\n\t\treturn false;\n\t}\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(mcpPath, \"utf-8\")) as Record<string, unknown>;\n\t\tconst serversValue = parsed.mcpServers ?? parsed.servers ?? parsed;\n\t\tif (serversValue && typeof serversValue === \"object\") {\n\t\t\treturn Object.keys(serversValue as Record<string, unknown>).some((key) =>\n\t\t\t\tkey.toLowerCase().includes(\"ouroboros\"),\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction detectSkillsIndicator(agentDir: string, exists: (path: string) => boolean): boolean {\n\tconst skillsDir = join(agentDir, \"skills\");\n\tif (!safeExists(exists, skillsDir)) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn readdirSync(skillsDir).some((name) => name.toLowerCase().startsWith(\"ouroboros-\"));\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction detectBinaryIndicator(home: string, exists: (path: string) => boolean): boolean {\n\treturn safeExists(exists, join(home, \".local\", \"bin\", \"ouroboros\"));\n}\n\n/**\n * Detect whether the Ouroboros runtime should be preferred.\n *\n * Presence-only: never throws, performs no secret reads. When indicators are\n * absent the preference falls back to the native runtime.\n */\nexport function detectOuroborosPreference(input: OuroborosDetectionInput = {}): OuroborosPreference {\n\tconst env = input.env ?? {};\n\tconst exists = input.exists ?? existsSync;\n\tconst home = input.home ?? env.HOME ?? env.USERPROFILE ?? homedir();\n\tconst agentDir = input.agentDir;\n\n\tconst mode = resolveOuroborosMode(env);\n\n\tconst indicators: OuroborosIndicators = {\n\t\tmcp: agentDir ? detectMcpIndicator(agentDir, exists) : false,\n\t\tskills: agentDir ? detectSkillsIndicator(agentDir, exists) : false,\n\t\tbinary: detectBinaryIndicator(home, exists),\n\t};\n\n\tconst available = indicators.mcp || indicators.skills || indicators.binary;\n\tconst preferred = mode !== \"off\" && available;\n\tconst fallback: OuroborosPreference[\"fallback\"] = preferred ? \"ouroboros\" : \"native\";\n\n\tlet reason: string;\n\tif (mode === \"off\") {\n\t\treason = \"ouroboros disabled via OMK_OUROBOROS\";\n\t} else if (available) {\n\t\tconst present = [\n\t\t\tindicators.mcp ? \"mcp\" : undefined,\n\t\t\tindicators.skills ? \"skills\" : undefined,\n\t\t\tindicators.binary ? \"binary\" : undefined,\n\t\t].filter((value): value is string => value !== undefined);\n\t\treason = `ouroboros preferred (${present.join(\", \")})`;\n\t} else {\n\t\treason = \"ouroboros unavailable; falling back to native runtime\";\n\t}\n\n\treturn { mode, preferred, available, fallback, indicators, reason };\n}\n\n// ============================================================================\n// First-run adaptive plan\n// ============================================================================\n\nexport const ADAPTIVE_PLAN_VERSION = 1;\nexport const DEFAULT_ADAPTIVE_RUNTIME = \"omk-parallel-orchestrator\";\n\n/** Startup DAG used to seed the first-run adaptive plan. */\nexport const OMK_STARTUP_DAG_NODES: readonly string[] = [\n\t\"session_start\",\n\t\"resources_discover\",\n\t\"model_select\",\n\t\"run_loop\",\n];\n\nexport const OMK_STARTUP_DAG_EDGES: readonly AdaptiveEdge[] = [\n\t{ from: \"session_start\", to: \"resources_discover\" },\n\t{ from: \"resources_discover\", to: \"model_select\" },\n\t{ from: \"model_select\", to: \"run_loop\" },\n];\n\nexport interface FirstRunAdaptivePlanInput {\n\tnodes?: readonly string[];\n\tedges?: readonly AdaptiveEdge[];\n\tenv?: AdaptiveEnv;\n\tagentDir?: string;\n\tcwd?: string;\n\thome?: string;\n\truntime?: string;\n\t/** Injectable clock (defaults to Date.now) for deterministic tests. */\n\tnow?: () => number;\n\texists?: (path: string) => boolean;\n}\n\nexport interface FirstRunAdaptivePlan {\n\tversion: number;\n\truntime: string;\n\tcreatedAt: string;\n\tcwd: string | null;\n\ttopology: AdaptiveTopologyDecision;\n\theadroom: { enabled: boolean; threshold: number };\n\touroboros: OuroborosPreference;\n}\n\n/** Build a JSON-serializable first-run adaptive plan. Pure. */\nexport function createFirstRunAdaptivePlan(input: FirstRunAdaptivePlanInput = {}): FirstRunAdaptivePlan {\n\tconst env = input.env ?? {};\n\tconst now = input.now ?? Date.now;\n\tconst nodes = input.nodes ?? OMK_STARTUP_DAG_NODES;\n\tconst edges = input.edges ?? OMK_STARTUP_DAG_EDGES;\n\n\tconst topology = computeAdaptiveTopology(nodes, edges);\n\tconst threshold = resolveAdaptiveHeadroomThreshold(env);\n\tconst headroom = {\n\t\tenabled: threshold > 0,\n\t\tthreshold: threshold > 0 ? threshold : DEFAULT_HEADROOM_THRESHOLD,\n\t};\n\tconst ouroboros = detectOuroborosPreference({\n\t\tenv,\n\t\tagentDir: input.agentDir,\n\t\tcwd: input.cwd,\n\t\thome: input.home,\n\t\texists: input.exists,\n\t});\n\n\treturn {\n\t\tversion: ADAPTIVE_PLAN_VERSION,\n\t\truntime: input.runtime ?? DEFAULT_ADAPTIVE_RUNTIME,\n\t\tcreatedAt: new Date(now()).toISOString(),\n\t\tcwd: input.cwd ?? null,\n\t\ttopology,\n\t\theadroom,\n\t\touroboros,\n\t};\n}\n\nexport interface WriteAdaptivePlanInput extends FirstRunAdaptivePlanInput {\n\tagentDir: string;\n\t/** Force rewrite even if the artifact already exists. */\n\trefresh?: boolean;\n}\n\nexport interface WriteAdaptivePlanResult {\n\tpath: string;\n\twritten: boolean;\n\tplan?: FirstRunAdaptivePlan;\n\treason: \"created\" | \"refreshed\" | \"exists\" | \"error\";\n\terror?: string;\n}\n\n/** Path of the first-run adaptive plan artifact. */\nexport function getAdaptivePlanPath(agentDir: string): string {\n\treturn join(agentDir, \"runs\", \"adaptive-runtime-plan.json\");\n}\n\nfunction isTruthyFlag(value: string | undefined): boolean {\n\tconst raw = normalizeFlag(value);\n\treturn raw === \"1\" || raw === \"true\" || raw === \"yes\" || raw === \"on\";\n}\n\n/**\n * Idempotently write the first-run adaptive plan. Non-fatal: any error is\n * captured in the result rather than thrown. Skips writing when the artifact\n * already exists unless `refresh` (or `OMK_ADAPTIVE_PLAN_REFRESH=1`) is set.\n */\nexport function writeFirstRunAdaptivePlan(input: WriteAdaptivePlanInput): WriteAdaptivePlanResult {\n\tconst env = input.env ?? {};\n\tconst exists = input.exists ?? existsSync;\n\tconst path = getAdaptivePlanPath(input.agentDir);\n\tconst refresh = input.refresh ?? isTruthyFlag(env.OMK_ADAPTIVE_PLAN_REFRESH);\n\n\ttry {\n\t\tconst alreadyExists = safeExists(exists, path);\n\t\tif (alreadyExists && !refresh) {\n\t\t\treturn { path, written: false, reason: \"exists\" };\n\t\t}\n\t\tconst plan = createFirstRunAdaptivePlan(input);\n\t\tmkdirSync(dirname(path), { recursive: true });\n\t\twriteFileSync(path, `${JSON.stringify(plan, null, 2)}\\n`, \"utf-8\");\n\t\treturn { path, written: true, plan, reason: alreadyExists ? \"refreshed\" : \"created\" };\n\t} catch (error) {\n\t\treturn { path, written: false, reason: \"error\", error: error instanceof Error ? error.message : String(error) };\n\t}\n}\n"]}