open-multi-agent-kit 0.80.2 → 0.80.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 (2330) hide show
  1. package/CHANGELOG.md +4219 -431
  2. package/README.md +627 -100
  3. package/dist/bun/cli.d.ts +3 -0
  4. package/dist/bun/cli.d.ts.map +1 -0
  5. package/dist/bun/cli.js +9 -0
  6. package/dist/bun/cli.js.map +1 -0
  7. package/dist/bun/register-bedrock.d.ts +2 -0
  8. package/dist/bun/register-bedrock.d.ts.map +1 -0
  9. package/dist/bun/register-bedrock.js +4 -0
  10. package/dist/bun/register-bedrock.js.map +1 -0
  11. package/dist/bun/restore-sandbox-env.d.ts +13 -0
  12. package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
  13. package/dist/bun/restore-sandbox-env.js +32 -0
  14. package/dist/bun/restore-sandbox-env.js.map +1 -0
  15. package/dist/cli/args.d.ts +56 -0
  16. package/dist/cli/args.d.ts.map +1 -0
  17. package/dist/cli/args.js +371 -0
  18. package/dist/cli/args.js.map +1 -0
  19. package/dist/cli/config-selector.d.ts +14 -0
  20. package/dist/cli/config-selector.d.ts.map +1 -0
  21. package/dist/cli/config-selector.js +31 -0
  22. package/dist/cli/config-selector.js.map +1 -0
  23. package/dist/cli/file-processor.d.ts +15 -0
  24. package/dist/cli/file-processor.d.ts.map +1 -0
  25. package/dist/cli/file-processor.js +82 -0
  26. package/dist/cli/file-processor.js.map +1 -0
  27. package/dist/cli/initial-message.d.ts +18 -0
  28. package/dist/cli/initial-message.d.ts.map +1 -0
  29. package/dist/cli/initial-message.js +22 -0
  30. package/dist/cli/initial-message.js.map +1 -0
  31. package/dist/cli/list-models.d.ts +9 -0
  32. package/dist/cli/list-models.d.ts.map +1 -0
  33. package/dist/cli/list-models.js +98 -0
  34. package/dist/cli/list-models.js.map +1 -0
  35. package/dist/cli/session-picker.d.ts +9 -0
  36. package/dist/cli/session-picker.d.ts.map +1 -0
  37. package/dist/cli/session-picker.js +35 -0
  38. package/dist/cli/session-picker.js.map +1 -0
  39. package/dist/cli.d.ts +1 -0
  40. package/dist/cli.d.ts.map +1 -0
  41. package/dist/cli.js +17 -16
  42. package/dist/cli.js.map +1 -0
  43. package/dist/config.d.ts +92 -0
  44. package/dist/config.d.ts.map +1 -0
  45. package/dist/config.js +437 -0
  46. package/dist/config.js.map +1 -0
  47. package/dist/core/agent-session-runtime.d.ts +117 -0
  48. package/dist/core/agent-session-runtime.d.ts.map +1 -0
  49. package/dist/core/agent-session-runtime.js +300 -0
  50. package/dist/core/agent-session-runtime.js.map +1 -0
  51. package/dist/core/agent-session-services.d.ts +87 -0
  52. package/dist/core/agent-session-services.d.ts.map +1 -0
  53. package/dist/core/agent-session-services.js +119 -0
  54. package/dist/core/agent-session-services.js.map +1 -0
  55. package/dist/core/agent-session.d.ts +605 -0
  56. package/dist/core/agent-session.d.ts.map +1 -0
  57. package/dist/core/agent-session.js +2551 -0
  58. package/dist/core/agent-session.js.map +1 -0
  59. package/dist/core/auth-guidance.d.ts +5 -0
  60. package/dist/core/auth-guidance.d.ts.map +1 -0
  61. package/dist/core/auth-guidance.js +21 -0
  62. package/dist/core/auth-guidance.js.map +1 -0
  63. package/dist/core/auth-storage.d.ts +141 -0
  64. package/dist/core/auth-storage.d.ts.map +1 -0
  65. package/dist/core/auth-storage.js +443 -0
  66. package/dist/core/auth-storage.js.map +1 -0
  67. package/dist/core/bash-executor.d.ts +32 -0
  68. package/dist/core/bash-executor.d.ts.map +1 -0
  69. package/dist/core/bash-executor.js +141 -0
  70. package/dist/core/bash-executor.js.map +1 -0
  71. package/dist/core/compaction/branch-summarization.d.ts +90 -0
  72. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  73. package/dist/core/compaction/branch-summarization.js +249 -0
  74. package/dist/core/compaction/branch-summarization.js.map +1 -0
  75. package/dist/core/compaction/compaction.d.ts +136 -0
  76. package/dist/core/compaction/compaction.d.ts.map +1 -0
  77. package/dist/core/compaction/compaction.js +646 -0
  78. package/dist/core/compaction/compaction.js.map +1 -0
  79. package/dist/core/compaction/index.d.ts +7 -0
  80. package/dist/core/compaction/index.d.ts.map +1 -0
  81. package/dist/core/compaction/index.js +7 -0
  82. package/dist/core/compaction/index.js.map +1 -0
  83. package/dist/core/compaction/utils.d.ts +38 -0
  84. package/dist/core/compaction/utils.d.ts.map +1 -0
  85. package/dist/core/compaction/utils.js +153 -0
  86. package/dist/core/compaction/utils.js.map +1 -0
  87. package/dist/core/defaults.d.ts +3 -0
  88. package/dist/core/defaults.d.ts.map +1 -0
  89. package/dist/core/defaults.js +2 -0
  90. package/dist/core/defaults.js.map +1 -0
  91. package/dist/core/diagnostics.d.ts +15 -0
  92. package/dist/core/diagnostics.d.ts.map +1 -0
  93. package/dist/core/diagnostics.js +2 -0
  94. package/dist/core/diagnostics.js.map +1 -0
  95. package/dist/core/event-bus.d.ts +9 -0
  96. package/dist/core/event-bus.d.ts.map +1 -0
  97. package/dist/core/event-bus.js +25 -0
  98. package/dist/core/event-bus.js.map +1 -0
  99. package/dist/core/exec.d.ts +29 -0
  100. package/dist/core/exec.d.ts.map +1 -0
  101. package/dist/core/exec.js +79 -0
  102. package/dist/core/exec.js.map +1 -0
  103. package/dist/core/export-html/ansi-to-html.d.ts +22 -0
  104. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  105. package/dist/core/export-html/ansi-to-html.js +249 -0
  106. package/dist/core/export-html/ansi-to-html.js.map +1 -0
  107. package/dist/core/export-html/index.d.ts +37 -0
  108. package/dist/core/export-html/index.d.ts.map +1 -0
  109. package/dist/core/export-html/index.js +226 -0
  110. package/dist/core/export-html/index.js.map +1 -0
  111. package/dist/core/export-html/template.css +1066 -0
  112. package/dist/core/export-html/template.html +55 -0
  113. package/dist/core/export-html/template.js +1864 -0
  114. package/dist/core/export-html/tool-renderer.d.ts +34 -0
  115. package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  116. package/dist/core/export-html/tool-renderer.js +108 -0
  117. package/dist/core/export-html/tool-renderer.js.map +1 -0
  118. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  119. package/dist/core/export-html/vendor/marked.min.js +6 -0
  120. package/dist/core/extensions/index.d.ts +12 -0
  121. package/dist/core/extensions/index.d.ts.map +1 -0
  122. package/dist/core/extensions/index.js +9 -0
  123. package/dist/core/extensions/index.js.map +1 -0
  124. package/dist/core/extensions/loader.d.ts +24 -0
  125. package/dist/core/extensions/loader.d.ts.map +1 -0
  126. package/dist/core/extensions/loader.js +502 -0
  127. package/dist/core/extensions/loader.js.map +1 -0
  128. package/dist/core/extensions/runner.d.ts +161 -0
  129. package/dist/core/extensions/runner.d.ts.map +1 -0
  130. package/dist/core/extensions/runner.js +842 -0
  131. package/dist/core/extensions/runner.js.map +1 -0
  132. package/dist/core/extensions/types.d.ts +1183 -0
  133. package/dist/core/extensions/types.d.ts.map +1 -0
  134. package/dist/core/extensions/types.js +45 -0
  135. package/dist/core/extensions/types.js.map +1 -0
  136. package/dist/core/extensions/wrapper.d.ts +20 -0
  137. package/dist/core/extensions/wrapper.d.ts.map +1 -0
  138. package/dist/core/extensions/wrapper.js +22 -0
  139. package/dist/core/extensions/wrapper.js.map +1 -0
  140. package/dist/core/footer-data-provider.d.ts +59 -0
  141. package/dist/core/footer-data-provider.d.ts.map +1 -0
  142. package/dist/core/footer-data-provider.js +351 -0
  143. package/dist/core/footer-data-provider.js.map +1 -0
  144. package/dist/core/hooks/fail-closed.d.ts +7 -0
  145. package/dist/core/hooks/fail-closed.d.ts.map +1 -0
  146. package/dist/core/hooks/fail-closed.js +58 -0
  147. package/dist/core/hooks/fail-closed.js.map +1 -0
  148. package/dist/core/hooks/index.d.ts +3 -0
  149. package/dist/core/hooks/index.d.ts.map +1 -0
  150. package/dist/core/hooks/index.js +2 -0
  151. package/dist/core/hooks/index.js.map +1 -0
  152. package/dist/core/hooks/types.d.ts +28 -0
  153. package/dist/core/hooks/types.d.ts.map +1 -0
  154. package/dist/core/hooks/types.js +2 -0
  155. package/dist/core/hooks/types.js.map +1 -0
  156. package/dist/core/http-dispatcher.d.ts +21 -0
  157. package/dist/core/http-dispatcher.d.ts.map +1 -0
  158. package/dist/core/http-dispatcher.js +48 -0
  159. package/dist/core/http-dispatcher.js.map +1 -0
  160. package/dist/core/index.d.ts +12 -0
  161. package/dist/core/index.d.ts.map +1 -0
  162. package/dist/core/index.js +12 -0
  163. package/dist/core/index.js.map +1 -0
  164. package/dist/core/keybindings.d.ts +353 -0
  165. package/dist/core/keybindings.d.ts.map +1 -0
  166. package/dist/core/keybindings.js +295 -0
  167. package/dist/core/keybindings.js.map +1 -0
  168. package/dist/core/messages.d.ts +77 -0
  169. package/dist/core/messages.d.ts.map +1 -0
  170. package/dist/core/messages.js +123 -0
  171. package/dist/core/messages.js.map +1 -0
  172. package/dist/core/metrics-sampler.d.ts +57 -0
  173. package/dist/core/metrics-sampler.d.ts.map +1 -0
  174. package/dist/core/metrics-sampler.js +135 -0
  175. package/dist/core/metrics-sampler.js.map +1 -0
  176. package/dist/core/model-registry.d.ts +150 -0
  177. package/dist/core/model-registry.d.ts.map +1 -0
  178. package/dist/core/model-registry.js +784 -0
  179. package/dist/core/model-registry.js.map +1 -0
  180. package/dist/core/model-resolver.d.ts +110 -0
  181. package/dist/core/model-resolver.d.ts.map +1 -0
  182. package/dist/core/model-resolver.js +498 -0
  183. package/dist/core/model-resolver.js.map +1 -0
  184. package/dist/core/output-guard.d.ts +7 -0
  185. package/dist/core/output-guard.d.ts.map +1 -0
  186. package/dist/core/output-guard.js +89 -0
  187. package/dist/core/output-guard.js.map +1 -0
  188. package/dist/core/package-manager.d.ts +211 -0
  189. package/dist/core/package-manager.d.ts.map +1 -0
  190. package/dist/core/package-manager.js +2088 -0
  191. package/dist/core/package-manager.js.map +1 -0
  192. package/dist/core/prompt-templates.d.ts +52 -0
  193. package/dist/core/prompt-templates.d.ts.map +1 -0
  194. package/dist/core/prompt-templates.js +238 -0
  195. package/dist/core/prompt-templates.js.map +1 -0
  196. package/dist/core/provider-attribution.d.ts +4 -0
  197. package/dist/core/provider-attribution.d.ts.map +1 -0
  198. package/dist/core/provider-attribution.js +72 -0
  199. package/dist/core/provider-attribution.js.map +1 -0
  200. package/dist/core/provider-display-names.d.ts +2 -0
  201. package/dist/core/provider-display-names.d.ts.map +1 -0
  202. package/dist/core/provider-display-names.js +36 -0
  203. package/dist/core/provider-display-names.js.map +1 -0
  204. package/dist/core/resolve-config-value.d.ts +31 -0
  205. package/dist/core/resolve-config-value.d.ts.map +1 -0
  206. package/dist/core/resolve-config-value.js +249 -0
  207. package/dist/core/resolve-config-value.js.map +1 -0
  208. package/dist/core/resource-loader.d.ts +202 -0
  209. package/dist/core/resource-loader.d.ts.map +1 -0
  210. package/dist/core/resource-loader.js +759 -0
  211. package/dist/core/resource-loader.js.map +1 -0
  212. package/dist/core/sdk.d.ts +109 -0
  213. package/dist/core/sdk.d.ts.map +1 -0
  214. package/dist/core/sdk.js +265 -0
  215. package/dist/core/sdk.js.map +1 -0
  216. package/dist/core/session-cwd.d.ts +19 -0
  217. package/dist/core/session-cwd.d.ts.map +1 -0
  218. package/dist/core/session-cwd.js +38 -0
  219. package/dist/core/session-cwd.js.map +1 -0
  220. package/dist/core/session-manager.d.ts +332 -0
  221. package/dist/core/session-manager.d.ts.map +1 -0
  222. package/dist/core/session-manager.js +1246 -0
  223. package/dist/core/session-manager.js.map +1 -0
  224. package/dist/core/settings-manager.d.ts +269 -0
  225. package/dist/core/settings-manager.d.ts.map +1 -0
  226. package/dist/core/settings-manager.js +805 -0
  227. package/dist/core/settings-manager.js.map +1 -0
  228. package/dist/core/skills.d.ts +60 -0
  229. package/dist/core/skills.d.ts.map +1 -0
  230. package/dist/core/skills.js +387 -0
  231. package/dist/core/skills.js.map +1 -0
  232. package/dist/core/slash-commands.d.ts +14 -0
  233. package/dist/core/slash-commands.d.ts.map +1 -0
  234. package/dist/core/slash-commands.js +25 -0
  235. package/dist/core/slash-commands.js.map +1 -0
  236. package/dist/core/source-info.d.ts +18 -0
  237. package/dist/core/source-info.d.ts.map +1 -0
  238. package/dist/core/source-info.js +19 -0
  239. package/dist/core/source-info.js.map +1 -0
  240. package/dist/core/system-prompt.d.ts +28 -0
  241. package/dist/core/system-prompt.d.ts.map +1 -0
  242. package/dist/core/system-prompt.js +120 -0
  243. package/dist/core/system-prompt.js.map +1 -0
  244. package/dist/core/telemetry.d.ts +3 -0
  245. package/dist/core/telemetry.d.ts.map +1 -0
  246. package/dist/core/telemetry.js +9 -0
  247. package/dist/core/telemetry.js.map +1 -0
  248. package/dist/core/timings.d.ts +8 -0
  249. package/dist/core/timings.d.ts.map +1 -0
  250. package/dist/core/timings.js +31 -0
  251. package/dist/core/timings.js.map +1 -0
  252. package/dist/core/tools/bash.d.ts +68 -0
  253. package/dist/core/tools/bash.d.ts.map +1 -0
  254. package/dist/core/tools/bash.js +337 -0
  255. package/dist/core/tools/bash.js.map +1 -0
  256. package/dist/core/tools/edit-diff.d.ts +122 -0
  257. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  258. package/dist/core/tools/edit-diff.js +459 -0
  259. package/dist/core/tools/edit-diff.js.map +1 -0
  260. package/dist/core/tools/edit.d.ts +51 -0
  261. package/dist/core/tools/edit.d.ts.map +1 -0
  262. package/dist/core/tools/edit.js +284 -0
  263. package/dist/core/tools/edit.js.map +1 -0
  264. package/dist/core/tools/file-mutation-queue.d.ts +6 -0
  265. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
  266. package/dist/core/tools/file-mutation-queue.js +52 -0
  267. package/dist/core/tools/file-mutation-queue.js.map +1 -0
  268. package/dist/core/tools/find.d.ts +35 -0
  269. package/dist/core/tools/find.d.ts.map +1 -0
  270. package/dist/core/tools/find.js +297 -0
  271. package/dist/core/tools/find.js.map +1 -0
  272. package/dist/core/tools/grep.d.ts +37 -0
  273. package/dist/core/tools/grep.d.ts.map +1 -0
  274. package/dist/core/tools/grep.js +304 -0
  275. package/dist/core/tools/grep.js.map +1 -0
  276. package/dist/core/tools/index.d.ts +40 -0
  277. package/dist/core/tools/index.d.ts.map +1 -0
  278. package/dist/core/tools/index.js +112 -0
  279. package/dist/core/tools/index.js.map +1 -0
  280. package/dist/core/tools/ls.d.ts +37 -0
  281. package/dist/core/tools/ls.d.ts.map +1 -0
  282. package/dist/core/tools/ls.js +167 -0
  283. package/dist/core/tools/ls.js.map +1 -0
  284. package/dist/core/tools/output-accumulator.d.ts +52 -0
  285. package/dist/core/tools/output-accumulator.d.ts.map +1 -0
  286. package/dist/core/tools/output-accumulator.js +185 -0
  287. package/dist/core/tools/output-accumulator.js.map +1 -0
  288. package/dist/core/tools/path-utils.d.ts +10 -0
  289. package/dist/core/tools/path-utils.d.ts.map +1 -0
  290. package/dist/core/tools/path-utils.js +99 -0
  291. package/dist/core/tools/path-utils.js.map +1 -0
  292. package/dist/core/tools/read.d.ts +35 -0
  293. package/dist/core/tools/read.d.ts.map +1 -0
  294. package/dist/core/tools/read.js +289 -0
  295. package/dist/core/tools/read.js.map +1 -0
  296. package/dist/core/tools/render-utils.d.ts +24 -0
  297. package/dist/core/tools/render-utils.d.ts.map +1 -0
  298. package/dist/core/tools/render-utils.js +65 -0
  299. package/dist/core/tools/render-utils.js.map +1 -0
  300. package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
  301. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
  302. package/dist/core/tools/tool-definition-wrapper.js +34 -0
  303. package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
  304. package/dist/core/tools/truncate.d.ts +70 -0
  305. package/dist/core/tools/truncate.d.ts.map +1 -0
  306. package/dist/core/tools/truncate.js +215 -0
  307. package/dist/core/tools/truncate.js.map +1 -0
  308. package/dist/core/tools/write.d.ts +26 -0
  309. package/dist/core/tools/write.d.ts.map +1 -0
  310. package/dist/core/tools/write.js +197 -0
  311. package/dist/core/tools/write.js.map +1 -0
  312. package/dist/index.d.ts +31 -0
  313. package/dist/index.d.ts.map +1 -0
  314. package/dist/index.js +44 -0
  315. package/dist/index.js.map +1 -0
  316. package/dist/main.d.ts +12 -0
  317. package/dist/main.d.ts.map +1 -0
  318. package/dist/main.js +633 -0
  319. package/dist/main.js.map +1 -0
  320. package/dist/migrations.d.ts +33 -0
  321. package/dist/migrations.d.ts.map +1 -0
  322. package/dist/migrations.js +398 -0
  323. package/dist/migrations.js.map +1 -0
  324. package/dist/modes/index.d.ts +9 -0
  325. package/dist/modes/index.d.ts.map +1 -0
  326. package/dist/modes/index.js +8 -0
  327. package/dist/modes/index.js.map +1 -0
  328. package/dist/modes/interactive/assets/clankolas.png +0 -0
  329. package/dist/modes/interactive/components/armin.d.ts +34 -0
  330. package/dist/modes/interactive/components/armin.d.ts.map +1 -0
  331. package/dist/modes/interactive/components/armin.js +333 -0
  332. package/dist/modes/interactive/components/armin.js.map +1 -0
  333. package/dist/modes/interactive/components/assistant-message.d.ts +20 -0
  334. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  335. package/dist/modes/interactive/components/assistant-message.js +121 -0
  336. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  337. package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
  338. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  339. package/dist/modes/interactive/components/bash-execution.js +175 -0
  340. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  341. package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  342. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  343. package/dist/modes/interactive/components/bordered-loader.js +54 -0
  344. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  345. package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  346. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  347. package/dist/modes/interactive/components/branch-summary-message.js +44 -0
  348. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  349. package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  350. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  351. package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
  352. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  353. package/dist/modes/interactive/components/config-selector.d.ts +71 -0
  354. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
  355. package/dist/modes/interactive/components/config-selector.js +506 -0
  356. package/dist/modes/interactive/components/config-selector.js.map +1 -0
  357. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  358. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  359. package/dist/modes/interactive/components/countdown-timer.js +33 -0
  360. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  361. package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  362. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  363. package/dist/modes/interactive/components/custom-editor.js +70 -0
  364. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  365. package/dist/modes/interactive/components/custom-message.d.ts +20 -0
  366. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  367. package/dist/modes/interactive/components/custom-message.js +79 -0
  368. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  369. package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  370. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
  371. package/dist/modes/interactive/components/daxnuts.js +140 -0
  372. package/dist/modes/interactive/components/daxnuts.js.map +1 -0
  373. package/dist/modes/interactive/components/diff.d.ts +12 -0
  374. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  375. package/dist/modes/interactive/components/diff.js +133 -0
  376. package/dist/modes/interactive/components/diff.js.map +1 -0
  377. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  378. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  379. package/dist/modes/interactive/components/dynamic-border.js +21 -0
  380. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  381. package/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
  382. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -0
  383. package/dist/modes/interactive/components/earendil-announcement.js +40 -0
  384. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -0
  385. package/dist/modes/interactive/components/extension-editor.d.ts +20 -0
  386. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
  387. package/dist/modes/interactive/components/extension-editor.js +119 -0
  388. package/dist/modes/interactive/components/extension-editor.js.map +1 -0
  389. package/dist/modes/interactive/components/extension-input.d.ts +23 -0
  390. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
  391. package/dist/modes/interactive/components/extension-input.js +61 -0
  392. package/dist/modes/interactive/components/extension-input.js.map +1 -0
  393. package/dist/modes/interactive/components/extension-selector.d.ts +26 -0
  394. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
  395. package/dist/modes/interactive/components/extension-selector.js +83 -0
  396. package/dist/modes/interactive/components/extension-selector.js.map +1 -0
  397. package/dist/modes/interactive/components/footer.d.ts +34 -0
  398. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  399. package/dist/modes/interactive/components/footer.js +254 -0
  400. package/dist/modes/interactive/components/footer.js.map +1 -0
  401. package/dist/modes/interactive/components/index.d.ts +32 -0
  402. package/dist/modes/interactive/components/index.d.ts.map +1 -0
  403. package/dist/modes/interactive/components/index.js +33 -0
  404. package/dist/modes/interactive/components/index.js.map +1 -0
  405. package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
  406. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
  407. package/dist/modes/interactive/components/keybinding-hints.js +36 -0
  408. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
  409. package/dist/modes/interactive/components/login-dialog.d.ts +51 -0
  410. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  411. package/dist/modes/interactive/components/login-dialog.js +174 -0
  412. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  413. package/dist/modes/interactive/components/model-selector.d.ts +47 -0
  414. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  415. package/dist/modes/interactive/components/model-selector.js +278 -0
  416. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  417. package/dist/modes/interactive/components/oauth-selector.d.ts +31 -0
  418. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  419. package/dist/modes/interactive/components/oauth-selector.js +165 -0
  420. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  421. package/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
  422. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  423. package/dist/modes/interactive/components/scoped-models-selector.js +290 -0
  424. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  425. package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  426. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
  427. package/dist/modes/interactive/components/session-selector-search.js +155 -0
  428. package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
  429. package/dist/modes/interactive/components/session-selector.d.ts +96 -0
  430. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  431. package/dist/modes/interactive/components/session-selector.js +861 -0
  432. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  433. package/dist/modes/interactive/components/settings-selector.d.ts +69 -0
  434. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  435. package/dist/modes/interactive/components/settings-selector.js +390 -0
  436. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  437. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  438. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  439. package/dist/modes/interactive/components/show-images-selector.js +39 -0
  440. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  441. package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  442. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
  443. package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
  444. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
  445. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  446. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  447. package/dist/modes/interactive/components/theme-selector.js +50 -0
  448. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  449. package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  450. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  451. package/dist/modes/interactive/components/thinking-selector.js +51 -0
  452. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  453. package/dist/modes/interactive/components/tool-execution.d.ts +63 -0
  454. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  455. package/dist/modes/interactive/components/tool-execution.js +317 -0
  456. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  457. package/dist/modes/interactive/components/tree-selector.d.ts +89 -0
  458. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  459. package/dist/modes/interactive/components/tree-selector.js +1093 -0
  460. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  461. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  462. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  463. package/dist/modes/interactive/components/user-message-selector.js +114 -0
  464. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  465. package/dist/modes/interactive/components/user-message.d.ts +10 -0
  466. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  467. package/dist/modes/interactive/components/user-message.js +29 -0
  468. package/dist/modes/interactive/components/user-message.js.map +1 -0
  469. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  470. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  471. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  472. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  473. package/dist/modes/interactive/interactive-mode.d.ts +375 -0
  474. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  475. package/dist/modes/interactive/interactive-mode.js +4722 -0
  476. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  477. package/dist/modes/interactive/theme/dark.json +86 -0
  478. package/dist/modes/interactive/theme/light.json +85 -0
  479. package/dist/modes/interactive/theme/omk-control-grid-dark.json +93 -0
  480. package/dist/modes/interactive/theme/omk-control-light.json +87 -0
  481. package/dist/modes/interactive/theme/omk-control.json +87 -0
  482. package/dist/modes/interactive/theme/rust-forge.json +91 -0
  483. package/dist/modes/interactive/theme/theme-schema.json +335 -0
  484. package/dist/modes/interactive/theme/theme.d.ts +103 -0
  485. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  486. package/dist/modes/interactive/theme/theme.js +1070 -0
  487. package/dist/modes/interactive/theme/theme.js.map +1 -0
  488. package/dist/modes/print-mode.d.ts +28 -0
  489. package/dist/modes/print-mode.d.ts.map +1 -0
  490. package/dist/modes/print-mode.js +132 -0
  491. package/dist/modes/print-mode.js.map +1 -0
  492. package/dist/modes/rpc/jsonl.d.ts +17 -0
  493. package/dist/modes/rpc/jsonl.d.ts.map +1 -0
  494. package/dist/modes/rpc/jsonl.js +49 -0
  495. package/dist/modes/rpc/jsonl.js.map +1 -0
  496. package/dist/modes/rpc/rpc-client.d.ts +227 -0
  497. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  498. package/dist/modes/rpc/rpc-client.js +467 -0
  499. package/dist/modes/rpc/rpc-client.js.map +1 -0
  500. package/dist/modes/rpc/rpc-mode.d.ts +20 -0
  501. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  502. package/dist/modes/rpc/rpc-mode.js +616 -0
  503. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  504. package/dist/modes/rpc/rpc-types.d.ts +420 -0
  505. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  506. package/dist/modes/rpc/rpc-types.js +8 -0
  507. package/dist/modes/rpc/rpc-types.js.map +1 -0
  508. package/dist/package-manager-cli.d.ts +4 -0
  509. package/dist/package-manager-cli.d.ts.map +1 -0
  510. package/dist/package-manager-cli.js +515 -0
  511. package/dist/package-manager-cli.js.map +1 -0
  512. package/dist/utils/ansi.d.ts +2 -0
  513. package/dist/utils/ansi.d.ts.map +1 -0
  514. package/dist/utils/ansi.js +52 -0
  515. package/dist/utils/ansi.js.map +1 -0
  516. package/dist/utils/changelog.d.ts +21 -0
  517. package/dist/utils/changelog.d.ts.map +1 -0
  518. package/dist/utils/changelog.js +87 -0
  519. package/dist/utils/changelog.js.map +1 -0
  520. package/dist/utils/child-process.d.ts +15 -0
  521. package/dist/utils/child-process.d.ts.map +1 -0
  522. package/dist/utils/child-process.js +88 -0
  523. package/dist/utils/child-process.js.map +1 -0
  524. package/dist/utils/clipboard-image.d.ts +11 -0
  525. package/dist/utils/clipboard-image.d.ts.map +1 -0
  526. package/dist/utils/clipboard-image.js +249 -0
  527. package/dist/utils/clipboard-image.js.map +1 -0
  528. package/dist/utils/clipboard-native.d.ts +10 -0
  529. package/dist/utils/clipboard-native.d.ts.map +1 -0
  530. package/dist/utils/clipboard-native.js +20 -0
  531. package/dist/utils/clipboard-native.js.map +1 -0
  532. package/dist/utils/clipboard.d.ts +2 -0
  533. package/dist/utils/clipboard.d.ts.map +1 -0
  534. package/dist/utils/clipboard.js +117 -0
  535. package/dist/utils/clipboard.js.map +1 -0
  536. package/dist/utils/deprecation.d.ts +4 -0
  537. package/dist/utils/deprecation.d.ts.map +1 -0
  538. package/dist/utils/deprecation.js +13 -0
  539. package/dist/utils/deprecation.js.map +1 -0
  540. package/dist/utils/exif-orientation.d.ts +5 -0
  541. package/dist/utils/exif-orientation.d.ts.map +1 -0
  542. package/dist/utils/exif-orientation.js +158 -0
  543. package/dist/utils/exif-orientation.js.map +1 -0
  544. package/dist/utils/frontmatter.d.ts +8 -0
  545. package/dist/utils/frontmatter.d.ts.map +1 -0
  546. package/dist/utils/frontmatter.js +26 -0
  547. package/dist/utils/frontmatter.js.map +1 -0
  548. package/dist/utils/fs-watch.d.ts +5 -0
  549. package/dist/utils/fs-watch.d.ts.map +1 -0
  550. package/dist/utils/fs-watch.js +25 -0
  551. package/dist/utils/fs-watch.js.map +1 -0
  552. package/dist/utils/git.d.ts +26 -0
  553. package/dist/utils/git.d.ts.map +1 -0
  554. package/dist/utils/git.js +195 -0
  555. package/dist/utils/git.js.map +1 -0
  556. package/dist/utils/html.d.ts +7 -0
  557. package/dist/utils/html.d.ts.map +1 -0
  558. package/dist/utils/html.js +40 -0
  559. package/dist/utils/html.js.map +1 -0
  560. package/dist/utils/image-convert.d.ts +9 -0
  561. package/dist/utils/image-convert.d.ts.map +1 -0
  562. package/dist/utils/image-convert.js +39 -0
  563. package/dist/utils/image-convert.js.map +1 -0
  564. package/dist/utils/image-resize-core.d.ts +30 -0
  565. package/dist/utils/image-resize-core.d.ts.map +1 -0
  566. package/dist/utils/image-resize-core.js +124 -0
  567. package/dist/utils/image-resize-core.js.map +1 -0
  568. package/dist/utils/image-resize-worker.d.ts +2 -0
  569. package/dist/utils/image-resize-worker.d.ts.map +1 -0
  570. package/dist/utils/image-resize-worker.js +31 -0
  571. package/dist/utils/image-resize-worker.js.map +1 -0
  572. package/dist/utils/image-resize.d.ts +16 -0
  573. package/dist/utils/image-resize.d.ts.map +1 -0
  574. package/dist/utils/image-resize.js +97 -0
  575. package/dist/utils/image-resize.js.map +1 -0
  576. package/dist/utils/json.d.ts +3 -0
  577. package/dist/utils/json.d.ts.map +1 -0
  578. package/dist/utils/json.js +7 -0
  579. package/dist/utils/json.js.map +1 -0
  580. package/dist/utils/mime.d.ts +3 -0
  581. package/dist/utils/mime.d.ts.map +1 -0
  582. package/dist/utils/mime.js +69 -0
  583. package/dist/utils/mime.js.map +1 -0
  584. package/dist/utils/open-browser.d.ts +9 -0
  585. package/dist/utils/open-browser.d.ts.map +1 -0
  586. package/dist/utils/open-browser.js +22 -0
  587. package/dist/utils/open-browser.js.map +1 -0
  588. package/dist/utils/paths.d.ts +31 -0
  589. package/dist/utils/paths.d.ts.map +1 -0
  590. package/dist/utils/paths.js +92 -0
  591. package/dist/utils/paths.js.map +1 -0
  592. package/dist/utils/photon.d.ts +21 -0
  593. package/dist/utils/photon.d.ts.map +1 -0
  594. package/dist/utils/photon.js +121 -0
  595. package/dist/utils/photon.js.map +1 -0
  596. package/dist/utils/pi-user-agent.d.ts +2 -0
  597. package/dist/utils/pi-user-agent.d.ts.map +1 -0
  598. package/dist/utils/pi-user-agent.js +5 -0
  599. package/dist/utils/pi-user-agent.js.map +1 -0
  600. package/dist/utils/shell.d.ts +30 -0
  601. package/dist/utils/shell.d.ts.map +1 -0
  602. package/dist/utils/shell.js +195 -0
  603. package/dist/utils/shell.js.map +1 -0
  604. package/dist/utils/sleep.d.ts +5 -0
  605. package/dist/utils/sleep.d.ts.map +1 -0
  606. package/dist/utils/sleep.js +17 -0
  607. package/dist/utils/sleep.js.map +1 -0
  608. package/dist/utils/syntax-highlight.d.ts +12 -0
  609. package/dist/utils/syntax-highlight.d.ts.map +1 -0
  610. package/dist/utils/syntax-highlight.js +118 -0
  611. package/dist/utils/syntax-highlight.js.map +1 -0
  612. package/dist/utils/tools-manager.d.ts +3 -0
  613. package/dist/utils/tools-manager.d.ts.map +1 -0
  614. package/dist/utils/tools-manager.js +328 -0
  615. package/dist/utils/tools-manager.js.map +1 -0
  616. package/dist/utils/version-check.d.ts +15 -0
  617. package/dist/utils/version-check.d.ts.map +1 -0
  618. package/dist/utils/version-check.js +86 -0
  619. package/dist/utils/version-check.js.map +1 -0
  620. package/dist/utils/windows-self-update.d.ts +3 -0
  621. package/dist/utils/windows-self-update.d.ts.map +1 -0
  622. package/dist/utils/windows-self-update.js +77 -0
  623. package/dist/utils/windows-self-update.js.map +1 -0
  624. package/docs/compaction.md +394 -0
  625. package/docs/containerization.md +111 -0
  626. package/docs/custom-provider.md +736 -0
  627. package/docs/development.md +71 -0
  628. package/docs/docs.json +152 -0
  629. package/docs/extensions.md +2627 -0
  630. package/docs/images/doom-extension.png +0 -0
  631. package/docs/images/exy.png +0 -0
  632. package/docs/images/interactive-mode.png +0 -0
  633. package/docs/images/tree-view.png +0 -0
  634. package/docs/index.md +75 -0
  635. package/docs/json.md +82 -0
  636. package/docs/keybindings.md +197 -0
  637. package/docs/models.md +493 -0
  638. package/docs/packages.md +226 -0
  639. package/docs/prompt-templates.md +88 -0
  640. package/docs/providers.md +256 -0
  641. package/docs/quickstart.md +165 -0
  642. package/docs/rpc.md +1408 -0
  643. package/docs/sdk.md +1137 -0
  644. package/docs/session-format.md +412 -0
  645. package/docs/sessions.md +145 -0
  646. package/docs/settings.md +281 -0
  647. package/docs/shell-aliases.md +13 -0
  648. package/docs/skills.md +231 -0
  649. package/docs/terminal-setup.md +114 -0
  650. package/docs/termux.md +127 -0
  651. package/docs/themes.md +297 -0
  652. package/docs/tmux.md +61 -0
  653. package/docs/tui.md +927 -0
  654. package/docs/usage.md +288 -0
  655. package/docs/windows.md +17 -0
  656. package/examples/README.md +25 -0
  657. package/examples/extensions/README.md +210 -0
  658. package/examples/extensions/auto-commit-on-exit.ts +49 -0
  659. package/examples/extensions/bash-spawn-hook.ts +30 -0
  660. package/examples/extensions/bookmark.ts +50 -0
  661. package/examples/extensions/border-status-editor.ts +145 -0
  662. package/examples/extensions/built-in-tool-renderer.ts +249 -0
  663. package/examples/extensions/claude-rules.ts +86 -0
  664. package/examples/extensions/commands.ts +72 -0
  665. package/examples/extensions/confirm-destructive.ts +59 -0
  666. package/examples/extensions/custom-compaction.ts +127 -0
  667. package/examples/extensions/custom-footer.ts +64 -0
  668. package/examples/extensions/custom-header.ts +73 -0
  669. package/examples/extensions/custom-provider-anthropic/index.ts +604 -0
  670. package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
  671. package/examples/extensions/custom-provider-anthropic/package.json +19 -0
  672. package/examples/extensions/custom-provider-gitlab-duo/index.ts +400 -0
  673. package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
  674. package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
  675. package/examples/extensions/dirty-repo-guard.ts +56 -0
  676. package/examples/extensions/doom-overlay/README.md +46 -0
  677. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
  678. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  679. package/examples/extensions/doom-overlay/doom/build.sh +152 -0
  680. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
  681. package/examples/extensions/doom-overlay/doom-component.ts +132 -0
  682. package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
  683. package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
  684. package/examples/extensions/doom-overlay/index.ts +74 -0
  685. package/examples/extensions/doom-overlay/wad-finder.ts +51 -0
  686. package/examples/extensions/dynamic-resources/SKILL.md +8 -0
  687. package/examples/extensions/dynamic-resources/dynamic.json +79 -0
  688. package/examples/extensions/dynamic-resources/dynamic.md +5 -0
  689. package/examples/extensions/dynamic-resources/index.ts +15 -0
  690. package/examples/extensions/dynamic-tools.ts +74 -0
  691. package/examples/extensions/event-bus.ts +43 -0
  692. package/examples/extensions/file-trigger.ts +41 -0
  693. package/examples/extensions/git-checkpoint.ts +53 -0
  694. package/examples/extensions/git-merge-and-resolve.ts +115 -0
  695. package/examples/extensions/github-issue-autocomplete.ts +185 -0
  696. package/examples/extensions/gondolin/index.ts +531 -0
  697. package/examples/extensions/gondolin/package-lock.json +185 -0
  698. package/examples/extensions/gondolin/package.json +19 -0
  699. package/examples/extensions/handoff.ts +191 -0
  700. package/examples/extensions/hello.ts +26 -0
  701. package/examples/extensions/hidden-thinking-label.ts +53 -0
  702. package/examples/extensions/inline-bash.ts +94 -0
  703. package/examples/extensions/input-transform-streaming.ts +39 -0
  704. package/examples/extensions/input-transform.ts +43 -0
  705. package/examples/extensions/interactive-shell.ts +196 -0
  706. package/examples/extensions/mac-system-theme.ts +47 -0
  707. package/examples/extensions/message-renderer.ts +59 -0
  708. package/examples/extensions/minimal-mode.ts +426 -0
  709. package/examples/extensions/modal-editor.ts +85 -0
  710. package/examples/extensions/model-status.ts +31 -0
  711. package/examples/extensions/notify.ts +55 -0
  712. package/examples/extensions/overlay-qa-tests.ts +1450 -0
  713. package/examples/extensions/overlay-test.ts +153 -0
  714. package/examples/extensions/permission-gate.ts +34 -0
  715. package/examples/extensions/pirate.ts +47 -0
  716. package/examples/extensions/plan-mode/README.md +65 -0
  717. package/examples/extensions/plan-mode/index.ts +340 -0
  718. package/examples/extensions/plan-mode/utils.ts +168 -0
  719. package/examples/extensions/preset.ts +430 -0
  720. package/examples/extensions/prompt-customizer.ts +97 -0
  721. package/examples/extensions/protected-paths.ts +30 -0
  722. package/examples/extensions/provider-payload.ts +18 -0
  723. package/examples/extensions/qna.ts +122 -0
  724. package/examples/extensions/question.ts +264 -0
  725. package/examples/extensions/questionnaire.ts +427 -0
  726. package/examples/extensions/rainbow-editor.ts +88 -0
  727. package/examples/extensions/reload-runtime.ts +37 -0
  728. package/examples/extensions/rpc-demo.ts +118 -0
  729. package/examples/extensions/sandbox/index.ts +321 -0
  730. package/examples/extensions/sandbox/package-lock.json +92 -0
  731. package/examples/extensions/sandbox/package.json +19 -0
  732. package/examples/extensions/send-user-message.ts +97 -0
  733. package/examples/extensions/session-name.ts +27 -0
  734. package/examples/extensions/shutdown-command.ts +63 -0
  735. package/examples/extensions/snake.ts +343 -0
  736. package/examples/extensions/space-invaders.ts +560 -0
  737. package/examples/extensions/ssh.ts +220 -0
  738. package/examples/extensions/status-line.ts +32 -0
  739. package/examples/extensions/structured-output.ts +65 -0
  740. package/examples/extensions/subagent/README.md +175 -0
  741. package/examples/extensions/subagent/agents/planner.md +37 -0
  742. package/examples/extensions/subagent/agents/reviewer.md +35 -0
  743. package/examples/extensions/subagent/agents/scout.md +50 -0
  744. package/examples/extensions/subagent/agents/worker.md +24 -0
  745. package/examples/extensions/subagent/agents.ts +126 -0
  746. package/examples/extensions/subagent/index.ts +1009 -0
  747. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
  748. package/examples/extensions/subagent/prompts/implement.md +10 -0
  749. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
  750. package/examples/extensions/summarize.ts +206 -0
  751. package/examples/extensions/system-prompt-header.ts +17 -0
  752. package/examples/extensions/tic-tac-toe.ts +1008 -0
  753. package/examples/extensions/timed-confirm.ts +70 -0
  754. package/examples/extensions/titlebar-spinner.ts +58 -0
  755. package/examples/extensions/todo.ts +297 -0
  756. package/examples/extensions/tool-override.ts +144 -0
  757. package/examples/extensions/tools.ts +146 -0
  758. package/examples/extensions/trigger-compact.ts +50 -0
  759. package/examples/extensions/truncated-tool.ts +195 -0
  760. package/examples/extensions/widget-placement.ts +9 -0
  761. package/examples/extensions/with-deps/index.ts +32 -0
  762. package/examples/extensions/with-deps/package-lock.json +31 -0
  763. package/examples/extensions/with-deps/package.json +22 -0
  764. package/examples/extensions/working-indicator.ts +123 -0
  765. package/examples/extensions/working-message-test.ts +25 -0
  766. package/examples/rpc-extension-ui.ts +640 -0
  767. package/examples/sdk/01-minimal.ts +26 -0
  768. package/examples/sdk/02-custom-model.ts +53 -0
  769. package/examples/sdk/03-custom-prompt.ts +70 -0
  770. package/examples/sdk/04-skills.ts +55 -0
  771. package/examples/sdk/05-tools.ts +48 -0
  772. package/examples/sdk/06-extensions.ts +94 -0
  773. package/examples/sdk/07-context-files.ts +42 -0
  774. package/examples/sdk/08-prompt-templates.ts +51 -0
  775. package/examples/sdk/09-api-keys-and-oauth.ts +52 -0
  776. package/examples/sdk/10-settings.ts +53 -0
  777. package/examples/sdk/11-sessions.ts +52 -0
  778. package/examples/sdk/12-full-control.ts +77 -0
  779. package/examples/sdk/13-session-runtime.ts +67 -0
  780. package/examples/sdk/README.md +144 -0
  781. package/package.json +104 -200
  782. package/AGENTS.md +0 -679
  783. package/CLAUDE.md +0 -110
  784. package/DESIGN.md +0 -358
  785. package/GEMINI.md +0 -8
  786. package/LICENSE +0 -21
  787. package/MATURITY.md +0 -76
  788. package/ROADMAP.md +0 -127
  789. package/SECURITY.md +0 -83
  790. package/WORKER_MANIFEST.md +0 -35
  791. package/dist/adapters/commandcode/commandcode-cli-adapter.d.ts +0 -10
  792. package/dist/adapters/commandcode/commandcode-cli-adapter.js +0 -57
  793. package/dist/adapters/kimi/ascii-art.d.ts +0 -1
  794. package/dist/adapters/kimi/ascii-art.js +0 -23
  795. package/dist/adapters/kimi/banner.d.ts +0 -53
  796. package/dist/adapters/kimi/banner.js +0 -284
  797. package/dist/adapters/kimi/bug-filter.d.ts +0 -15
  798. package/dist/adapters/kimi/bug-filter.js +0 -150
  799. package/dist/adapters/kimi/capability.d.ts +0 -25
  800. package/dist/adapters/kimi/capability.js +0 -68
  801. package/dist/adapters/kimi/continue-prompt-guard.d.ts +0 -20
  802. package/dist/adapters/kimi/continue-prompt-guard.js +0 -70
  803. package/dist/adapters/kimi/isolated-home.d.ts +0 -21
  804. package/dist/adapters/kimi/isolated-home.js +0 -270
  805. package/dist/adapters/kimi/runner.d.ts +0 -71
  806. package/dist/adapters/kimi/runner.js +0 -1084
  807. package/dist/adapters/kimi/simple-art.d.ts +0 -1
  808. package/dist/adapters/kimi/simple-art.js +0 -1
  809. package/dist/adapters/kimi/statusline.d.ts +0 -26
  810. package/dist/adapters/kimi/statusline.js +0 -142
  811. package/dist/adapters/kimi/usage.d.ts +0 -52
  812. package/dist/adapters/kimi/usage.js +0 -481
  813. package/dist/adapters/kimi/wire-client.d.ts +0 -142
  814. package/dist/adapters/kimi/wire-client.js +0 -725
  815. package/dist/adapters/kimi/wire-protocol-types.d.ts +0 -549
  816. package/dist/adapters/kimi/wire-protocol-types.js +0 -59
  817. package/dist/adapters/opencode/opencode-cli-adapter.d.ts +0 -9
  818. package/dist/adapters/opencode/opencode-cli-adapter.js +0 -43
  819. package/dist/awareness/classifiers/browser-console-classifier.d.ts +0 -3
  820. package/dist/awareness/classifiers/browser-console-classifier.js +0 -47
  821. package/dist/awareness/classifiers/evidence-gap-classifier.d.ts +0 -3
  822. package/dist/awareness/classifiers/evidence-gap-classifier.js +0 -31
  823. package/dist/awareness/classifiers/stalled-run-classifier.d.ts +0 -2
  824. package/dist/awareness/classifiers/stalled-run-classifier.js +0 -24
  825. package/dist/awareness/notice-store.d.ts +0 -6
  826. package/dist/awareness/notice-store.js +0 -91
  827. package/dist/awareness/notice.d.ts +0 -17
  828. package/dist/awareness/notice.js +0 -1
  829. package/dist/awareness/noticer-engine.d.ts +0 -42
  830. package/dist/awareness/noticer-engine.js +0 -63
  831. package/dist/awareness/router.d.ts +0 -6
  832. package/dist/awareness/router.js +0 -46
  833. package/dist/benchmark/contracts.d.ts +0 -116
  834. package/dist/benchmark/contracts.js +0 -6
  835. package/dist/benchmark/fixtures.d.ts +0 -11
  836. package/dist/benchmark/fixtures.js +0 -124
  837. package/dist/benchmark/harness.d.ts +0 -13
  838. package/dist/benchmark/harness.js +0 -191
  839. package/dist/benchmark/shadow-mode.d.ts +0 -17
  840. package/dist/benchmark/shadow-mode.js +0 -95
  841. package/dist/brand/matrix-rain.d.ts +0 -15
  842. package/dist/brand/matrix-rain.js +0 -132
  843. package/dist/brand/night-city.theme.json +0 -178
  844. package/dist/brand/omk-matrix-art.d.ts +0 -1
  845. package/dist/brand/omk-matrix-art.js +0 -10
  846. package/dist/brand/omk-simple-art.d.ts +0 -7
  847. package/dist/brand/omk-simple-art.js +0 -13
  848. package/dist/brand/palette.d.ts +0 -90
  849. package/dist/brand/palette.js +0 -129
  850. package/dist/brand/rust-forge.theme.json +0 -216
  851. package/dist/brand/theme-compiled.d.ts +0 -61
  852. package/dist/brand/theme-compiled.js +0 -241
  853. package/dist/brand/theme.d.ts +0 -41
  854. package/dist/brand/theme.js +0 -275
  855. package/dist/browser/browser-feedback.d.ts +0 -10
  856. package/dist/browser/browser-feedback.js +0 -84
  857. package/dist/browser/browser-observer.d.ts +0 -21
  858. package/dist/browser/browser-observer.js +0 -159
  859. package/dist/browser/browser-session.d.ts +0 -26
  860. package/dist/browser/browser-session.js +0 -63
  861. package/dist/cli/command-registry.d.ts +0 -2
  862. package/dist/cli/command-registry.js +0 -20
  863. package/dist/cli/input/argv-parser.d.ts +0 -16
  864. package/dist/cli/input/argv-parser.js +0 -50
  865. package/dist/cli/input/command-envelope.d.ts +0 -16
  866. package/dist/cli/input/command-envelope.js +0 -64
  867. package/dist/cli/input/config-loader.d.ts +0 -16
  868. package/dist/cli/input/config-loader.js +0 -48
  869. package/dist/cli/input/index.d.ts +0 -8
  870. package/dist/cli/input/index.js +0 -8
  871. package/dist/cli/input/input-resolver.d.ts +0 -13
  872. package/dist/cli/input/input-resolver.js +0 -50
  873. package/dist/cli/input/validator.d.ts +0 -10
  874. package/dist/cli/input/validator.js +0 -37
  875. package/dist/cli/main.d.ts +0 -4
  876. package/dist/cli/main.js +0 -34
  877. package/dist/cli/output/error-renderer.d.ts +0 -10
  878. package/dist/cli/output/error-renderer.js +0 -68
  879. package/dist/cli/output/hash.d.ts +0 -1
  880. package/dist/cli/output/hash.js +0 -10
  881. package/dist/cli/output/index.d.ts +0 -9
  882. package/dist/cli/output/index.js +0 -9
  883. package/dist/cli/output/json-renderer.d.ts +0 -7
  884. package/dist/cli/output/json-renderer.js +0 -35
  885. package/dist/cli/output/markdown-renderer.d.ts +0 -5
  886. package/dist/cli/output/markdown-renderer.js +0 -86
  887. package/dist/cli/output/nlp-renderer.d.ts +0 -7
  888. package/dist/cli/output/nlp-renderer.js +0 -96
  889. package/dist/cli/output/output-router.d.ts +0 -5
  890. package/dist/cli/output/output-router.js +0 -33
  891. package/dist/cli/register-awareness-commands.d.ts +0 -2
  892. package/dist/cli/register-awareness-commands.js +0 -133
  893. package/dist/cli/register-basic-commands.d.ts +0 -2
  894. package/dist/cli/register-basic-commands.js +0 -489
  895. package/dist/cli/register-integration-commands.d.ts +0 -2
  896. package/dist/cli/register-integration-commands.js +0 -59
  897. package/dist/cli/register-mcp-dag-cron-screenshot-commands.d.ts +0 -2
  898. package/dist/cli/register-mcp-dag-cron-screenshot-commands.js +0 -275
  899. package/dist/cli/register-openai-codex-commands.d.ts +0 -2
  900. package/dist/cli/register-openai-codex-commands.js +0 -55
  901. package/dist/cli/register-provider-commands.d.ts +0 -2
  902. package/dist/cli/register-provider-commands.js +0 -244
  903. package/dist/cli/register-spec-agent-goal-commands.d.ts +0 -2
  904. package/dist/cli/register-spec-agent-goal-commands.js +0 -486
  905. package/dist/cli/register-tool-commands.d.ts +0 -2
  906. package/dist/cli/register-tool-commands.js +0 -202
  907. package/dist/cli/register-workflow-commands.d.ts +0 -2
  908. package/dist/cli/register-workflow-commands.js +0 -158
  909. package/dist/cli/registry/core.d.ts +0 -2
  910. package/dist/cli/registry/core.js +0 -27
  911. package/dist/cli/registry/session.d.ts +0 -2
  912. package/dist/cli/registry/session.js +0 -137
  913. package/dist/cli/registry/system.d.ts +0 -2
  914. package/dist/cli/registry/system.js +0 -95
  915. package/dist/cli/registry/tooling.d.ts +0 -2
  916. package/dist/cli/registry/tooling.js +0 -112
  917. package/dist/cli/registry/visual.d.ts +0 -2
  918. package/dist/cli/registry/visual.js +0 -91
  919. package/dist/cli/release-promotion-gate.d.ts +0 -21
  920. package/dist/cli/release-promotion-gate.js +0 -93
  921. package/dist/cli/root.d.ts +0 -12
  922. package/dist/cli/root.js +0 -121
  923. package/dist/cli/runtime/capability-selector.d.ts +0 -18
  924. package/dist/cli/runtime/capability-selector.js +0 -208
  925. package/dist/cli/runtime/cli-runtime.d.ts +0 -10
  926. package/dist/cli/runtime/cli-runtime.js +0 -35
  927. package/dist/cli/runtime/cli-writer.d.ts +0 -18
  928. package/dist/cli/runtime/cli-writer.js +0 -87
  929. package/dist/cli/runtime/command-bus.d.ts +0 -45
  930. package/dist/cli/runtime/command-bus.js +0 -145
  931. package/dist/cli/runtime/event-bus.d.ts +0 -12
  932. package/dist/cli/runtime/event-bus.js +0 -31
  933. package/dist/cli/runtime/generic-provider-adapter.d.ts +0 -24
  934. package/dist/cli/runtime/generic-provider-adapter.js +0 -38
  935. package/dist/cli/runtime/index.d.ts +0 -17
  936. package/dist/cli/runtime/index.js +0 -18
  937. package/dist/cli/runtime/intent-classifier.d.ts +0 -16
  938. package/dist/cli/runtime/intent-classifier.js +0 -113
  939. package/dist/cli/runtime/plan-controller.d.ts +0 -7
  940. package/dist/cli/runtime/plan-controller.js +0 -29
  941. package/dist/cli/runtime/provider-adapter-registry.d.ts +0 -32
  942. package/dist/cli/runtime/provider-adapter-registry.js +0 -60
  943. package/dist/cli/runtime/provider-event-normalizer.d.ts +0 -19
  944. package/dist/cli/runtime/provider-event-normalizer.js +0 -150
  945. package/dist/cli/runtime/run-controller.d.ts +0 -7
  946. package/dist/cli/runtime/run-controller.js +0 -30
  947. package/dist/cli/runtime/runtime-sidecar.d.ts +0 -17
  948. package/dist/cli/runtime/runtime-sidecar.js +0 -138
  949. package/dist/cli/runtime/task-controller.d.ts +0 -7
  950. package/dist/cli/runtime/task-controller.js +0 -29
  951. package/dist/cli/runtime/types.d.ts +0 -312
  952. package/dist/cli/runtime/types.js +0 -6
  953. package/dist/cli/theme/index.d.ts +0 -18
  954. package/dist/cli/theme/index.js +0 -11
  955. package/dist/cli/theme/oklab-quantize.d.ts +0 -29
  956. package/dist/cli/theme/oklab-quantize.js +0 -105
  957. package/dist/cli/theme/render-table.d.ts +0 -59
  958. package/dist/cli/theme/render-table.js +0 -112
  959. package/dist/cli/theme/status-frame.d.ts +0 -10
  960. package/dist/cli/theme/status-frame.js +0 -22
  961. package/dist/cli/theme/terminal-capability.d.ts +0 -23
  962. package/dist/cli/theme/terminal-capability.js +0 -104
  963. package/dist/cli/theme/theme-doc.d.ts +0 -22
  964. package/dist/cli/theme/theme-doc.js +0 -97
  965. package/dist/cli/theme/theme-registry.d.ts +0 -25
  966. package/dist/cli/theme/theme-registry.js +0 -445
  967. package/dist/cli/theme/theme-resolver.d.ts +0 -12
  968. package/dist/cli/theme/theme-resolver.js +0 -38
  969. package/dist/cli/theme/tier-explain.d.ts +0 -21
  970. package/dist/cli/theme/tier-explain.js +0 -60
  971. package/dist/cli/ui/event.d.ts +0 -66
  972. package/dist/cli/ui/event.js +0 -1
  973. package/dist/cli/ui/green-rain-renderer.d.ts +0 -17
  974. package/dist/cli/ui/green-rain-renderer.js +0 -97
  975. package/dist/cli/ui/neon-grid-renderer.d.ts +0 -25
  976. package/dist/cli/ui/neon-grid-renderer.js +0 -170
  977. package/dist/cli/ui/plain-renderer.d.ts +0 -37
  978. package/dist/cli/ui/plain-renderer.js +0 -162
  979. package/dist/cli/ui/renderer.d.ts +0 -7
  980. package/dist/cli/ui/renderer.js +0 -1
  981. package/dist/cli/ui/rich-renderer.d.ts +0 -32
  982. package/dist/cli/ui/rich-renderer.js +0 -234
  983. package/dist/cli/ui/route-blocked-panel.d.ts +0 -5
  984. package/dist/cli/ui/route-blocked-panel.js +0 -67
  985. package/dist/cli/ui/rust-forge-renderer.d.ts +0 -19
  986. package/dist/cli/ui/rust-forge-renderer.js +0 -143
  987. package/dist/cli/ui/system24-renderer.d.ts +0 -96
  988. package/dist/cli/ui/system24-renderer.js +0 -533
  989. package/dist/cli/v2/chat-repl.d.ts +0 -38
  990. package/dist/cli/v2/chat-repl.js +0 -338
  991. package/dist/cli/v2/cli-v2-skeleton.d.ts +0 -105
  992. package/dist/cli/v2/cli-v2-skeleton.js +0 -465
  993. package/dist/cli/v2/interactive-prompt.d.ts +0 -52
  994. package/dist/cli/v2/interactive-prompt.js +0 -192
  995. package/dist/cli/v2/persistent-memory.d.ts +0 -70
  996. package/dist/cli/v2/persistent-memory.js +0 -229
  997. package/dist/cli/v2/provider-commands.d.ts +0 -120
  998. package/dist/cli/v2/provider-commands.js +0 -244
  999. package/dist/cli/v2/release-commands.d.ts +0 -29
  1000. package/dist/cli/v2/release-commands.js +0 -95
  1001. package/dist/cli/v2/workflow-commands.d.ts +0 -72
  1002. package/dist/cli/v2/workflow-commands.js +0 -198
  1003. package/dist/cockpit/git-numstat.d.ts +0 -10
  1004. package/dist/cockpit/git-numstat.js +0 -97
  1005. package/dist/cockpit/lsp-status.d.ts +0 -5
  1006. package/dist/cockpit/lsp-status.js +0 -51
  1007. package/dist/cockpit/types.d.ts +0 -66
  1008. package/dist/cockpit/types.js +0 -4
  1009. package/dist/cockpit/views/rail-view.d.ts +0 -9
  1010. package/dist/cockpit/views/rail-view.js +0 -160
  1011. package/dist/commands/agent.d.ts +0 -6
  1012. package/dist/commands/agent.js +0 -263
  1013. package/dist/commands/appshot.d.ts +0 -15
  1014. package/dist/commands/appshot.js +0 -122
  1015. package/dist/commands/auth.d.ts +0 -43
  1016. package/dist/commands/auth.js +0 -169
  1017. package/dist/commands/browser.d.ts +0 -18
  1018. package/dist/commands/browser.js +0 -110
  1019. package/dist/commands/chat/chat-turn-dag.d.ts +0 -21
  1020. package/dist/commands/chat/chat-turn-dag.js +0 -72
  1021. package/dist/commands/chat/core.d.ts +0 -27
  1022. package/dist/commands/chat/core.js +0 -423
  1023. package/dist/commands/chat/index.d.ts +0 -5
  1024. package/dist/commands/chat/index.js +0 -5
  1025. package/dist/commands/chat/native-root-loop.d.ts +0 -82
  1026. package/dist/commands/chat/native-root-loop.js +0 -1584
  1027. package/dist/commands/chat/runtime.d.ts +0 -46
  1028. package/dist/commands/chat/runtime.js +0 -406
  1029. package/dist/commands/chat/slash/commands/control.d.ts +0 -2
  1030. package/dist/commands/chat/slash/commands/control.js +0 -196
  1031. package/dist/commands/chat/slash/commands/diagnostics.d.ts +0 -2
  1032. package/dist/commands/chat/slash/commands/diagnostics.js +0 -64
  1033. package/dist/commands/chat/slash/commands/harness.d.ts +0 -2
  1034. package/dist/commands/chat/slash/commands/harness.js +0 -21
  1035. package/dist/commands/chat/slash/commands/index.d.ts +0 -2
  1036. package/dist/commands/chat/slash/commands/index.js +0 -18
  1037. package/dist/commands/chat/slash/commands/routing.d.ts +0 -2
  1038. package/dist/commands/chat/slash/commands/routing.js +0 -385
  1039. package/dist/commands/chat/slash/commands/session.d.ts +0 -2
  1040. package/dist/commands/chat/slash/commands/session.js +0 -104
  1041. package/dist/commands/chat/slash/commands/tool-plane.d.ts +0 -2
  1042. package/dist/commands/chat/slash/commands/tool-plane.js +0 -64
  1043. package/dist/commands/chat/slash/commands/ui.d.ts +0 -2
  1044. package/dist/commands/chat/slash/commands/ui.js +0 -108
  1045. package/dist/commands/chat/slash/context.d.ts +0 -3
  1046. package/dist/commands/chat/slash/context.js +0 -9
  1047. package/dist/commands/chat/slash/format.d.ts +0 -3
  1048. package/dist/commands/chat/slash/format.js +0 -19
  1049. package/dist/commands/chat/slash/parser.d.ts +0 -15
  1050. package/dist/commands/chat/slash/parser.js +0 -97
  1051. package/dist/commands/chat/slash/registry.d.ts +0 -13
  1052. package/dist/commands/chat/slash/registry.js +0 -38
  1053. package/dist/commands/chat/slash/result.d.ts +0 -7
  1054. package/dist/commands/chat/slash/result.js +0 -35
  1055. package/dist/commands/chat/slash/types.d.ts +0 -32
  1056. package/dist/commands/chat/slash/types.js +0 -1
  1057. package/dist/commands/chat/startup.d.ts +0 -68
  1058. package/dist/commands/chat/startup.js +0 -150
  1059. package/dist/commands/chat/state.d.ts +0 -3
  1060. package/dist/commands/chat/state.js +0 -100
  1061. package/dist/commands/chat/utils.d.ts +0 -25
  1062. package/dist/commands/chat/utils.js +0 -218
  1063. package/dist/commands/chat.d.ts +0 -2
  1064. package/dist/commands/chat.js +0 -2
  1065. package/dist/commands/cockpit/core.d.ts +0 -5
  1066. package/dist/commands/cockpit/core.js +0 -91
  1067. package/dist/commands/cockpit/render.d.ts +0 -5
  1068. package/dist/commands/cockpit/render.js +0 -970
  1069. package/dist/commands/cockpit/scroll.d.ts +0 -39
  1070. package/dist/commands/cockpit/scroll.js +0 -87
  1071. package/dist/commands/cockpit/telemetry.d.ts +0 -30
  1072. package/dist/commands/cockpit/telemetry.js +0 -361
  1073. package/dist/commands/cockpit/update-loop.d.ts +0 -54
  1074. package/dist/commands/cockpit/update-loop.js +0 -285
  1075. package/dist/commands/cockpit/utils.d.ts +0 -233
  1076. package/dist/commands/cockpit/utils.js +0 -388
  1077. package/dist/commands/cockpit.d.ts +0 -8
  1078. package/dist/commands/cockpit.js +0 -7
  1079. package/dist/commands/codex.d.ts +0 -70
  1080. package/dist/commands/codex.js +0 -597
  1081. package/dist/commands/consent.d.ts +0 -24
  1082. package/dist/commands/consent.js +0 -255
  1083. package/dist/commands/cron.d.ts +0 -16
  1084. package/dist/commands/cron.js +0 -187
  1085. package/dist/commands/dag-from-spec.d.ts +0 -31
  1086. package/dist/commands/dag-from-spec.js +0 -344
  1087. package/dist/commands/dag.d.ts +0 -10
  1088. package/dist/commands/dag.js +0 -512
  1089. package/dist/commands/design.d.ts +0 -73
  1090. package/dist/commands/design.js +0 -1253
  1091. package/dist/commands/diff-runs.d.ts +0 -3
  1092. package/dist/commands/diff-runs.js +0 -36
  1093. package/dist/commands/do.d.ts +0 -29
  1094. package/dist/commands/do.js +0 -196
  1095. package/dist/commands/doctor/checks.d.ts +0 -19
  1096. package/dist/commands/doctor/checks.js +0 -861
  1097. package/dist/commands/doctor/core.d.ts +0 -2
  1098. package/dist/commands/doctor/core.js +0 -53
  1099. package/dist/commands/doctor/fix-plan.d.ts +0 -69
  1100. package/dist/commands/doctor/fix-plan.js +0 -78
  1101. package/dist/commands/doctor/fix.d.ts +0 -5
  1102. package/dist/commands/doctor/fix.js +0 -1002
  1103. package/dist/commands/doctor/report.d.ts +0 -7
  1104. package/dist/commands/doctor/report.js +0 -140
  1105. package/dist/commands/doctor/utils.d.ts +0 -52
  1106. package/dist/commands/doctor/utils.js +0 -124
  1107. package/dist/commands/doctor.d.ts +0 -2
  1108. package/dist/commands/doctor.js +0 -1
  1109. package/dist/commands/goal-interview.d.ts +0 -18
  1110. package/dist/commands/goal-interview.js +0 -396
  1111. package/dist/commands/goal.d.ts +0 -46
  1112. package/dist/commands/goal.js +0 -492
  1113. package/dist/commands/google.d.ts +0 -1
  1114. package/dist/commands/google.js +0 -27
  1115. package/dist/commands/graph.d.ts +0 -71
  1116. package/dist/commands/graph.js +0 -208
  1117. package/dist/commands/hud.d.ts +0 -57
  1118. package/dist/commands/hud.js +0 -1031
  1119. package/dist/commands/image.d.ts +0 -16
  1120. package/dist/commands/image.js +0 -102
  1121. package/dist/commands/init/config.d.ts +0 -8
  1122. package/dist/commands/init/config.js +0 -97
  1123. package/dist/commands/init/constants.d.ts +0 -7
  1124. package/dist/commands/init/constants.js +0 -49
  1125. package/dist/commands/init/content.d.ts +0 -12
  1126. package/dist/commands/init/content.js +0 -1775
  1127. package/dist/commands/init/core.d.ts +0 -2
  1128. package/dist/commands/init/core.js +0 -298
  1129. package/dist/commands/init/interactive.d.ts +0 -9
  1130. package/dist/commands/init/interactive.js +0 -170
  1131. package/dist/commands/init/scaffold.d.ts +0 -17
  1132. package/dist/commands/init/scaffold.js +0 -146
  1133. package/dist/commands/init/types.d.ts +0 -35
  1134. package/dist/commands/init/types.js +0 -1
  1135. package/dist/commands/init/utils.d.ts +0 -13
  1136. package/dist/commands/init/utils.js +0 -107
  1137. package/dist/commands/init.d.ts +0 -32
  1138. package/dist/commands/init.js +0 -2581
  1139. package/dist/commands/inspect.d.ts +0 -9
  1140. package/dist/commands/inspect.js +0 -12
  1141. package/dist/commands/lsp.d.ts +0 -8
  1142. package/dist/commands/lsp.js +0 -60
  1143. package/dist/commands/mcp/config.d.ts +0 -32
  1144. package/dist/commands/mcp/config.js +0 -286
  1145. package/dist/commands/mcp/doctor-fix.d.ts +0 -12
  1146. package/dist/commands/mcp/doctor-fix.js +0 -261
  1147. package/dist/commands/mcp/doctor.d.ts +0 -55
  1148. package/dist/commands/mcp/doctor.js +0 -400
  1149. package/dist/commands/mcp/list.d.ts +0 -1
  1150. package/dist/commands/mcp/list.js +0 -57
  1151. package/dist/commands/mcp/shared.d.ts +0 -50
  1152. package/dist/commands/mcp/shared.js +0 -210
  1153. package/dist/commands/mcp/test.d.ts +0 -5
  1154. package/dist/commands/mcp/test.js +0 -458
  1155. package/dist/commands/mcp.d.ts +0 -8
  1156. package/dist/commands/mcp.js +0 -5
  1157. package/dist/commands/menu.d.ts +0 -4
  1158. package/dist/commands/menu.js +0 -213
  1159. package/dist/commands/merge.d.ts +0 -9
  1160. package/dist/commands/merge.js +0 -363
  1161. package/dist/commands/mode.d.ts +0 -3
  1162. package/dist/commands/mode.js +0 -60
  1163. package/dist/commands/model.d.ts +0 -15
  1164. package/dist/commands/model.js +0 -219
  1165. package/dist/commands/notice.d.ts +0 -7
  1166. package/dist/commands/notice.js +0 -76
  1167. package/dist/commands/open-design-agent.d.ts +0 -46
  1168. package/dist/commands/open-design-agent.js +0 -569
  1169. package/dist/commands/orchestrate.d.ts +0 -18
  1170. package/dist/commands/orchestrate.js +0 -284
  1171. package/dist/commands/parallel/core.d.ts +0 -34
  1172. package/dist/commands/parallel/core.js +0 -296
  1173. package/dist/commands/parallel/index.d.ts +0 -5
  1174. package/dist/commands/parallel/index.js +0 -5
  1175. package/dist/commands/parallel/interactive.d.ts +0 -27
  1176. package/dist/commands/parallel/interactive.js +0 -172
  1177. package/dist/commands/parallel/orchestrator.d.ts +0 -40
  1178. package/dist/commands/parallel/orchestrator.js +0 -564
  1179. package/dist/commands/parallel/utils.d.ts +0 -12
  1180. package/dist/commands/parallel/utils.js +0 -114
  1181. package/dist/commands/parallel/worker.d.ts +0 -43
  1182. package/dist/commands/parallel/worker.js +0 -276
  1183. package/dist/commands/parallel.d.ts +0 -4
  1184. package/dist/commands/parallel.js +0 -3
  1185. package/dist/commands/plan.d.ts +0 -6
  1186. package/dist/commands/plan.js +0 -113
  1187. package/dist/commands/project-index.d.ts +0 -18
  1188. package/dist/commands/project-index.js +0 -312
  1189. package/dist/commands/provider.d.ts +0 -65
  1190. package/dist/commands/provider.js +0 -625
  1191. package/dist/commands/rail.d.ts +0 -6
  1192. package/dist/commands/rail.js +0 -7
  1193. package/dist/commands/replay.d.ts +0 -7
  1194. package/dist/commands/replay.js +0 -10
  1195. package/dist/commands/research.d.ts +0 -5
  1196. package/dist/commands/research.js +0 -48
  1197. package/dist/commands/run.d.ts +0 -15
  1198. package/dist/commands/run.js +0 -312
  1199. package/dist/commands/runs.d.ts +0 -36
  1200. package/dist/commands/runs.js +0 -504
  1201. package/dist/commands/screenshot.d.ts +0 -10
  1202. package/dist/commands/screenshot.js +0 -72
  1203. package/dist/commands/skill.d.ts +0 -28
  1204. package/dist/commands/skill.js +0 -382
  1205. package/dist/commands/snip.d.ts +0 -8
  1206. package/dist/commands/snip.js +0 -77
  1207. package/dist/commands/spec.d.ts +0 -17
  1208. package/dist/commands/spec.js +0 -262
  1209. package/dist/commands/specify.d.ts +0 -18
  1210. package/dist/commands/specify.js +0 -111
  1211. package/dist/commands/star.d.ts +0 -3
  1212. package/dist/commands/star.js +0 -35
  1213. package/dist/commands/summary.d.ts +0 -5
  1214. package/dist/commands/summary.js +0 -445
  1215. package/dist/commands/sync.d.ts +0 -6
  1216. package/dist/commands/sync.js +0 -129
  1217. package/dist/commands/team.d.ts +0 -8
  1218. package/dist/commands/team.js +0 -302
  1219. package/dist/commands/verify.d.ts +0 -4
  1220. package/dist/commands/verify.js +0 -378
  1221. package/dist/commands/version.d.ts +0 -7
  1222. package/dist/commands/version.js +0 -101
  1223. package/dist/commands/web-bridge.d.ts +0 -12
  1224. package/dist/commands/web-bridge.js +0 -75
  1225. package/dist/commands/why.d.ts +0 -14
  1226. package/dist/commands/why.js +0 -46
  1227. package/dist/commands/workflow.d.ts +0 -13
  1228. package/dist/commands/workflow.js +0 -385
  1229. package/dist/contracts/command.d.ts +0 -25
  1230. package/dist/contracts/command.js +0 -1
  1231. package/dist/contracts/dag.d.ts +0 -142
  1232. package/dist/contracts/dag.js +0 -4
  1233. package/dist/contracts/decision.d.ts +0 -23
  1234. package/dist/contracts/decision.js +0 -1
  1235. package/dist/contracts/envelope.d.ts +0 -29
  1236. package/dist/contracts/envelope.js +0 -1
  1237. package/dist/contracts/errors.d.ts +0 -13
  1238. package/dist/contracts/errors.js +0 -15
  1239. package/dist/contracts/evidence-bundle.d.ts +0 -52
  1240. package/dist/contracts/evidence-bundle.js +0 -1
  1241. package/dist/contracts/evidence.d.ts +0 -23
  1242. package/dist/contracts/evidence.js +0 -1
  1243. package/dist/contracts/goal.d.ts +0 -169
  1244. package/dist/contracts/goal.js +0 -4
  1245. package/dist/contracts/hud.d.ts +0 -17
  1246. package/dist/contracts/hud.js +0 -4
  1247. package/dist/contracts/index.d.ts +0 -10
  1248. package/dist/contracts/index.js +0 -10
  1249. package/dist/contracts/interview.d.ts +0 -106
  1250. package/dist/contracts/interview.js +0 -9
  1251. package/dist/contracts/orchestration.d.ts +0 -215
  1252. package/dist/contracts/orchestration.js +0 -4
  1253. package/dist/contracts/proof.d.ts +0 -32
  1254. package/dist/contracts/proof.js +0 -1
  1255. package/dist/contracts/provider-health.d.ts +0 -79
  1256. package/dist/contracts/provider-health.js +0 -57
  1257. package/dist/contracts/provider.d.ts +0 -35
  1258. package/dist/contracts/provider.js +0 -1
  1259. package/dist/contracts/replay.d.ts +0 -95
  1260. package/dist/contracts/replay.js +0 -7
  1261. package/dist/contracts/run.d.ts +0 -34
  1262. package/dist/contracts/run.js +0 -1
  1263. package/dist/contracts/safety.d.ts +0 -10
  1264. package/dist/contracts/safety.js +0 -4
  1265. package/dist/contracts/version.d.ts +0 -21
  1266. package/dist/contracts/version.js +0 -1
  1267. package/dist/contracts/web-bridge.d.ts +0 -95
  1268. package/dist/contracts/web-bridge.js +0 -168
  1269. package/dist/contracts/worker-context.d.ts +0 -70
  1270. package/dist/contracts/worker-context.js +0 -1
  1271. package/dist/evidence/attempt-record.d.ts +0 -78
  1272. package/dist/evidence/attempt-record.js +0 -16
  1273. package/dist/evidence/bundle-validator.d.ts +0 -7
  1274. package/dist/evidence/bundle-validator.js +0 -103
  1275. package/dist/evidence/context-snapshot.d.ts +0 -20
  1276. package/dist/evidence/context-snapshot.js +0 -81
  1277. package/dist/evidence/decision-trace.d.ts +0 -14
  1278. package/dist/evidence/decision-trace.js +0 -54
  1279. package/dist/evidence/diagnosis.d.ts +0 -15
  1280. package/dist/evidence/diagnosis.js +0 -279
  1281. package/dist/evidence/evidence-recorder.d.ts +0 -19
  1282. package/dist/evidence/evidence-recorder.js +0 -55
  1283. package/dist/evidence/evidence-trust-score.d.ts +0 -101
  1284. package/dist/evidence/evidence-trust-score.js +0 -408
  1285. package/dist/evidence/graph-ontology-relation-gate.d.ts +0 -10
  1286. package/dist/evidence/graph-ontology-relation-gate.js +0 -46
  1287. package/dist/evidence/headroom-replay-verifier.d.ts +0 -19
  1288. package/dist/evidence/headroom-replay-verifier.js +0 -86
  1289. package/dist/evidence/index.d.ts +0 -26
  1290. package/dist/evidence/index.js +0 -12
  1291. package/dist/evidence/proof-trust-cli.d.ts +0 -8
  1292. package/dist/evidence/proof-trust-cli.js +0 -27
  1293. package/dist/evidence/proof-trust.d.ts +0 -14
  1294. package/dist/evidence/proof-trust.js +0 -373
  1295. package/dist/evidence/regression-proof-matrix.d.ts +0 -42
  1296. package/dist/evidence/regression-proof-matrix.js +0 -72
  1297. package/dist/evidence/run-trace.d.ts +0 -103
  1298. package/dist/evidence/run-trace.js +0 -191
  1299. package/dist/evidence/trust-calibration.d.ts +0 -25
  1300. package/dist/evidence/trust-calibration.js +0 -151
  1301. package/dist/goal/compiler.d.ts +0 -5
  1302. package/dist/goal/compiler.js +0 -350
  1303. package/dist/goal/control-loop.d.ts +0 -124
  1304. package/dist/goal/control-loop.js +0 -1123
  1305. package/dist/goal/ensemble-memory.d.ts +0 -26
  1306. package/dist/goal/ensemble-memory.js +0 -55
  1307. package/dist/goal/eval-criteria.d.ts +0 -3
  1308. package/dist/goal/eval-criteria.js +0 -72
  1309. package/dist/goal/evidence.d.ts +0 -20
  1310. package/dist/goal/evidence.js +0 -321
  1311. package/dist/goal/goal-daemon.d.ts +0 -40
  1312. package/dist/goal/goal-daemon.js +0 -318
  1313. package/dist/goal/intake.d.ts +0 -48
  1314. package/dist/goal/intake.js +0 -561
  1315. package/dist/goal/intent-analyzer.d.ts +0 -9
  1316. package/dist/goal/intent-analyzer.js +0 -322
  1317. package/dist/goal/intent-frame.d.ts +0 -65
  1318. package/dist/goal/intent-frame.js +0 -596
  1319. package/dist/goal/interview-assimilation.d.ts +0 -13
  1320. package/dist/goal/interview-assimilation.js +0 -383
  1321. package/dist/goal/interview-question-bank.d.ts +0 -11
  1322. package/dist/goal/interview-question-bank.js +0 -225
  1323. package/dist/goal/interview-scoring.d.ts +0 -31
  1324. package/dist/goal/interview-scoring.js +0 -187
  1325. package/dist/goal/interview-session.d.ts +0 -25
  1326. package/dist/goal/interview-session.js +0 -116
  1327. package/dist/goal/persistence.d.ts +0 -11
  1328. package/dist/goal/persistence.js +0 -134
  1329. package/dist/goal/prompt-digest.d.ts +0 -13
  1330. package/dist/goal/prompt-digest.js +0 -111
  1331. package/dist/goal/scoring.d.ts +0 -2
  1332. package/dist/goal/scoring.js +0 -69
  1333. package/dist/goal/wake-policy.d.ts +0 -26
  1334. package/dist/goal/wake-policy.js +0 -58
  1335. package/dist/harness/create-harness-task-runner.d.ts +0 -43
  1336. package/dist/harness/create-harness-task-runner.js +0 -56
  1337. package/dist/harness/execute-harness-run.d.ts +0 -34
  1338. package/dist/harness/execute-harness-run.js +0 -109
  1339. package/dist/hooks/events.d.ts +0 -71
  1340. package/dist/hooks/events.js +0 -1
  1341. package/dist/hooks/hook-bus.d.ts +0 -13
  1342. package/dist/hooks/hook-bus.js +0 -59
  1343. package/dist/hooks/hook-registry.d.ts +0 -6
  1344. package/dist/hooks/hook-registry.js +0 -64
  1345. package/dist/hooks/index.d.ts +0 -3
  1346. package/dist/hooks/index.js +0 -2
  1347. package/dist/hud/index.d.ts +0 -9
  1348. package/dist/hud/index.js +0 -11
  1349. package/dist/hud/live-renderer.d.ts +0 -17
  1350. package/dist/hud/live-renderer.js +0 -52
  1351. package/dist/hud/render.d.ts +0 -64
  1352. package/dist/hud/render.js +0 -960
  1353. package/dist/hud/types.d.ts +0 -58
  1354. package/dist/hud/types.js +0 -7
  1355. package/dist/input/input-artifacts.d.ts +0 -10
  1356. package/dist/input/input-artifacts.js +0 -19
  1357. package/dist/input/input-envelope.d.ts +0 -86
  1358. package/dist/input/input-envelope.js +0 -87
  1359. package/dist/integrations/servarr/adapter.d.ts +0 -29
  1360. package/dist/integrations/servarr/adapter.js +0 -156
  1361. package/dist/integrations/servarr/commands.d.ts +0 -15
  1362. package/dist/integrations/servarr/commands.js +0 -119
  1363. package/dist/integrations/servarr/schema.d.ts +0 -34
  1364. package/dist/integrations/servarr/schema.js +0 -149
  1365. package/dist/kimi/ascii-art.d.ts +0 -1
  1366. package/dist/kimi/ascii-art.js +0 -23
  1367. package/dist/kimi/banner.d.ts +0 -53
  1368. package/dist/kimi/banner.js +0 -284
  1369. package/dist/kimi/bug-filter.d.ts +0 -15
  1370. package/dist/kimi/bug-filter.js +0 -150
  1371. package/dist/kimi/capability.d.ts +0 -25
  1372. package/dist/kimi/capability.js +0 -68
  1373. package/dist/kimi/isolated-home.d.ts +0 -21
  1374. package/dist/kimi/isolated-home.js +0 -270
  1375. package/dist/kimi/runner.d.ts +0 -74
  1376. package/dist/kimi/runner.js +0 -1052
  1377. package/dist/kimi/simple-art.d.ts +0 -1
  1378. package/dist/kimi/simple-art.js +0 -1
  1379. package/dist/kimi/statusline.d.ts +0 -26
  1380. package/dist/kimi/statusline.js +0 -142
  1381. package/dist/kimi/usage.d.ts +0 -52
  1382. package/dist/kimi/usage.js +0 -481
  1383. package/dist/kimi/wire-client.d.ts +0 -95
  1384. package/dist/kimi/wire-client.js +0 -338
  1385. package/dist/lsp/default-config.d.ts +0 -16
  1386. package/dist/lsp/default-config.js +0 -26
  1387. package/dist/mcp/acp-server.d.ts +0 -2
  1388. package/dist/mcp/acp-server.js +0 -357
  1389. package/dist/mcp/autoconnect.d.ts +0 -60
  1390. package/dist/mcp/autoconnect.js +0 -192
  1391. package/dist/mcp/client.d.ts +0 -112
  1392. package/dist/mcp/client.js +0 -276
  1393. package/dist/mcp/config-permissions.d.ts +0 -23
  1394. package/dist/mcp/config-permissions.js +0 -66
  1395. package/dist/mcp/consent-flow.d.ts +0 -152
  1396. package/dist/mcp/consent-flow.js +0 -329
  1397. package/dist/mcp/filesystem-readonly-server.d.ts +0 -2
  1398. package/dist/mcp/filesystem-readonly-server.js +0 -320
  1399. package/dist/mcp/governance.d.ts +0 -292
  1400. package/dist/mcp/governance.js +0 -602
  1401. package/dist/mcp/host.d.ts +0 -154
  1402. package/dist/mcp/host.js +0 -792
  1403. package/dist/mcp/omk-project-server.d.ts +0 -2
  1404. package/dist/mcp/omk-project-server.js +0 -1632
  1405. package/dist/mcp/omk-web-bridge-server.d.ts +0 -14
  1406. package/dist/mcp/omk-web-bridge-server.js +0 -154
  1407. package/dist/mcp/permission-resolver.d.ts +0 -67
  1408. package/dist/mcp/permission-resolver.js +0 -124
  1409. package/dist/mcp/quality-gate.d.ts +0 -36
  1410. package/dist/mcp/quality-gate.js +0 -247
  1411. package/dist/mcp/quarantine.d.ts +0 -11
  1412. package/dist/mcp/quarantine.js +0 -79
  1413. package/dist/mcp/secret-scanner.d.ts +0 -195
  1414. package/dist/mcp/secret-scanner.js +0 -742
  1415. package/dist/mcp/server-catalog.d.ts +0 -36
  1416. package/dist/mcp/server-catalog.js +0 -168
  1417. package/dist/mcp/shared-secret-registry.d.ts +0 -61
  1418. package/dist/mcp/shared-secret-registry.js +0 -171
  1419. package/dist/mcp/transports/stdio.d.ts +0 -22
  1420. package/dist/mcp/transports/stdio.js +0 -165
  1421. package/dist/mcp/transports/streamable-http.d.ts +0 -31
  1422. package/dist/mcp/transports/streamable-http.js +0 -289
  1423. package/dist/mcp/transports/transport.d.ts +0 -20
  1424. package/dist/mcp/transports/transport.js +0 -3
  1425. package/dist/memory/embedding.d.ts +0 -11
  1426. package/dist/memory/embedding.js +0 -24
  1427. package/dist/memory/graph-delta-log.d.ts +0 -137
  1428. package/dist/memory/graph-delta-log.js +0 -650
  1429. package/dist/memory/graph-viewer.d.ts +0 -72
  1430. package/dist/memory/graph-viewer.js +0 -383
  1431. package/dist/memory/kuzu-memory-store.d.ts +0 -37
  1432. package/dist/memory/kuzu-memory-store.js +0 -453
  1433. package/dist/memory/local-graph-memory-store.d.ts +0 -264
  1434. package/dist/memory/local-graph-memory-store.js +0 -1875
  1435. package/dist/memory/memory-config.d.ts +0 -51
  1436. package/dist/memory/memory-config.js +0 -187
  1437. package/dist/memory/memory-store.d.ts +0 -66
  1438. package/dist/memory/memory-store.js +0 -228
  1439. package/dist/memory/ontology-model.d.ts +0 -175
  1440. package/dist/memory/ontology-model.js +0 -131
  1441. package/dist/metrics/provenance-ratio.d.ts +0 -16
  1442. package/dist/metrics/provenance-ratio.js +0 -33
  1443. package/dist/openai/image-client.d.ts +0 -103
  1444. package/dist/openai/image-client.js +0 -380
  1445. package/dist/orchestration/adaptorch-topology.d.ts +0 -59
  1446. package/dist/orchestration/adaptorch-topology.js +0 -194
  1447. package/dist/orchestration/agent-worker.d.ts +0 -72
  1448. package/dist/orchestration/agent-worker.js +0 -278
  1449. package/dist/orchestration/capability-agents.d.ts +0 -14
  1450. package/dist/orchestration/capability-agents.js +0 -180
  1451. package/dist/orchestration/capability-routing.d.ts +0 -65
  1452. package/dist/orchestration/capability-routing.js +0 -121
  1453. package/dist/orchestration/compiled-dag-executor.d.ts +0 -56
  1454. package/dist/orchestration/compiled-dag-executor.js +0 -88
  1455. package/dist/orchestration/completion-artifacts.d.ts +0 -37
  1456. package/dist/orchestration/completion-artifacts.js +0 -84
  1457. package/dist/orchestration/completion-sentinel.d.ts +0 -37
  1458. package/dist/orchestration/completion-sentinel.js +0 -66
  1459. package/dist/orchestration/contracts/index.d.ts +0 -45
  1460. package/dist/orchestration/contracts/index.js +0 -6
  1461. package/dist/orchestration/dag-artifacts.d.ts +0 -11
  1462. package/dist/orchestration/dag-artifacts.js +0 -42
  1463. package/dist/orchestration/dag-compiler-presets.d.ts +0 -20
  1464. package/dist/orchestration/dag-compiler-presets.js +0 -476
  1465. package/dist/orchestration/dag-compiler-types.d.ts +0 -43
  1466. package/dist/orchestration/dag-compiler-types.js +0 -1
  1467. package/dist/orchestration/dag-compiler.d.ts +0 -3
  1468. package/dist/orchestration/dag-compiler.js +0 -135
  1469. package/dist/orchestration/dag.d.ts +0 -196
  1470. package/dist/orchestration/dag.js +0 -310
  1471. package/dist/orchestration/diagnostics.d.ts +0 -27
  1472. package/dist/orchestration/diagnostics.js +0 -262
  1473. package/dist/orchestration/enhanced-modes.d.ts +0 -116
  1474. package/dist/orchestration/enhanced-modes.js +0 -231
  1475. package/dist/orchestration/enhanced-parallel-orchestrator.d.ts +0 -127
  1476. package/dist/orchestration/enhanced-parallel-orchestrator.js +0 -734
  1477. package/dist/orchestration/ensemble-decision.d.ts +0 -42
  1478. package/dist/orchestration/ensemble-decision.js +0 -301
  1479. package/dist/orchestration/ensemble.d.ts +0 -22
  1480. package/dist/orchestration/ensemble.js +0 -558
  1481. package/dist/orchestration/eta.d.ts +0 -10
  1482. package/dist/orchestration/eta.js +0 -75
  1483. package/dist/orchestration/evidence-check.d.ts +0 -36
  1484. package/dist/orchestration/evidence-check.js +0 -257
  1485. package/dist/orchestration/evidence-gate.d.ts +0 -34
  1486. package/dist/orchestration/evidence-gate.js +0 -513
  1487. package/dist/orchestration/execution-planner.d.ts +0 -40
  1488. package/dist/orchestration/execution-planner.js +0 -252
  1489. package/dist/orchestration/executor.d.ts +0 -11
  1490. package/dist/orchestration/executor.js +0 -1075
  1491. package/dist/orchestration/hedge-persona-weights.d.ts +0 -25
  1492. package/dist/orchestration/hedge-persona-weights.js +0 -43
  1493. package/dist/orchestration/interactive-orchestrator.d.ts +0 -134
  1494. package/dist/orchestration/interactive-orchestrator.js +0 -450
  1495. package/dist/orchestration/log-streamer.d.ts +0 -104
  1496. package/dist/orchestration/log-streamer.js +0 -293
  1497. package/dist/orchestration/loop-artifacts.d.ts +0 -14
  1498. package/dist/orchestration/loop-artifacts.js +0 -20
  1499. package/dist/orchestration/loop-controller-headroom.d.ts +0 -6
  1500. package/dist/orchestration/loop-controller-headroom.js +0 -33
  1501. package/dist/orchestration/loop-controller.d.ts +0 -14
  1502. package/dist/orchestration/loop-controller.js +0 -311
  1503. package/dist/orchestration/loop-guard.d.ts +0 -28
  1504. package/dist/orchestration/loop-guard.js +0 -104
  1505. package/dist/orchestration/loop-state.d.ts +0 -86
  1506. package/dist/orchestration/loop-state.js +0 -1
  1507. package/dist/orchestration/merge-arbiter.d.ts +0 -91
  1508. package/dist/orchestration/merge-arbiter.js +0 -376
  1509. package/dist/orchestration/node-monitor.d.ts +0 -18
  1510. package/dist/orchestration/node-monitor.js +0 -98
  1511. package/dist/orchestration/orchestrate-prompt.d.ts +0 -43
  1512. package/dist/orchestration/orchestrate-prompt.js +0 -533
  1513. package/dist/orchestration/orchestration-state.d.ts +0 -3
  1514. package/dist/orchestration/orchestration-state.js +0 -2
  1515. package/dist/orchestration/parallel-orchestrator.d.ts +0 -165
  1516. package/dist/orchestration/parallel-orchestrator.js +0 -607
  1517. package/dist/orchestration/parallel-ui.d.ts +0 -52
  1518. package/dist/orchestration/parallel-ui.js +0 -479
  1519. package/dist/orchestration/repair-policy.d.ts +0 -20
  1520. package/dist/orchestration/repair-policy.js +0 -221
  1521. package/dist/orchestration/route-calibration.d.ts +0 -27
  1522. package/dist/orchestration/route-calibration.js +0 -123
  1523. package/dist/orchestration/routing/inventory.d.ts +0 -9
  1524. package/dist/orchestration/routing/inventory.js +0 -273
  1525. package/dist/orchestration/routing/mcp-config.d.ts +0 -17
  1526. package/dist/orchestration/routing/mcp-config.js +0 -158
  1527. package/dist/orchestration/routing/types.d.ts +0 -59
  1528. package/dist/orchestration/routing/types.js +0 -4
  1529. package/dist/orchestration/routing.d.ts +0 -45
  1530. package/dist/orchestration/routing.js +0 -1072
  1531. package/dist/orchestration/run-state.d.ts +0 -36
  1532. package/dist/orchestration/run-state.js +0 -176
  1533. package/dist/orchestration/scheduler.d.ts +0 -11
  1534. package/dist/orchestration/scheduler.js +0 -88
  1535. package/dist/orchestration/skill-assigner.d.ts +0 -22
  1536. package/dist/orchestration/skill-assigner.js +0 -345
  1537. package/dist/orchestration/state-machine/index.d.ts +0 -3
  1538. package/dist/orchestration/state-machine/index.js +0 -3
  1539. package/dist/orchestration/state-machine/node-state-machine.d.ts +0 -24
  1540. package/dist/orchestration/state-machine/node-state-machine.js +0 -35
  1541. package/dist/orchestration/state-machine/run-state-machine.d.ts +0 -38
  1542. package/dist/orchestration/state-machine/run-state-machine.js +0 -161
  1543. package/dist/orchestration/state-machine/run-state-manager.d.ts +0 -108
  1544. package/dist/orchestration/state-machine/run-state-manager.js +0 -314
  1545. package/dist/orchestration/state-persister.d.ts +0 -7
  1546. package/dist/orchestration/state-persister.js +0 -84
  1547. package/dist/orchestration/task-graph.d.ts +0 -46
  1548. package/dist/orchestration/task-graph.js +0 -299
  1549. package/dist/orchestration/verification-only.d.ts +0 -28
  1550. package/dist/orchestration/verification-only.js +0 -94
  1551. package/dist/providers/anthropic-messages-runner.d.ts +0 -17
  1552. package/dist/providers/anthropic-messages-runner.js +0 -197
  1553. package/dist/providers/attempt-recorder.d.ts +0 -10
  1554. package/dist/providers/attempt-recorder.js +0 -38
  1555. package/dist/providers/codex-cli-runner.d.ts +0 -11
  1556. package/dist/providers/codex-cli-runner.js +0 -144
  1557. package/dist/providers/context-preflight.d.ts +0 -47
  1558. package/dist/providers/context-preflight.js +0 -134
  1559. package/dist/providers/deepseek/deepseek-balance.d.ts +0 -29
  1560. package/dist/providers/deepseek/deepseek-balance.js +0 -80
  1561. package/dist/providers/deepseek/deepseek-client.d.ts +0 -53
  1562. package/dist/providers/deepseek/deepseek-client.js +0 -164
  1563. package/dist/providers/deepseek/deepseek-config.d.ts +0 -89
  1564. package/dist/providers/deepseek/deepseek-config.js +0 -272
  1565. package/dist/providers/deepseek/deepseek-errors.d.ts +0 -5
  1566. package/dist/providers/deepseek/deepseek-errors.js +0 -48
  1567. package/dist/providers/deepseek/deepseek-provider.d.ts +0 -10
  1568. package/dist/providers/deepseek/deepseek-provider.js +0 -162
  1569. package/dist/providers/deepseek/deepseek-super-config.d.ts +0 -31
  1570. package/dist/providers/deepseek/deepseek-super-config.js +0 -136
  1571. package/dist/providers/deepseek-provider.d.ts +0 -8
  1572. package/dist/providers/deepseek-provider.js +0 -78
  1573. package/dist/providers/health.d.ts +0 -16
  1574. package/dist/providers/health.js +0 -101
  1575. package/dist/providers/index.d.ts +0 -23
  1576. package/dist/providers/index.js +0 -23
  1577. package/dist/providers/kimi-provider-failure.d.ts +0 -8
  1578. package/dist/providers/kimi-provider-failure.js +0 -56
  1579. package/dist/providers/kimi-provider.d.ts +0 -7
  1580. package/dist/providers/kimi-provider.js +0 -27
  1581. package/dist/providers/model-registry.d.ts +0 -104
  1582. package/dist/providers/model-registry.js +0 -677
  1583. package/dist/providers/model-table.d.ts +0 -24
  1584. package/dist/providers/model-table.js +0 -140
  1585. package/dist/providers/model-tabs.d.ts +0 -33
  1586. package/dist/providers/model-tabs.js +0 -98
  1587. package/dist/providers/openai-compatible-runner.d.ts +0 -17
  1588. package/dist/providers/openai-compatible-runner.js +0 -180
  1589. package/dist/providers/provider-health.d.ts +0 -46
  1590. package/dist/providers/provider-health.js +0 -200
  1591. package/dist/providers/provider-router.d.ts +0 -8
  1592. package/dist/providers/provider-router.js +0 -174
  1593. package/dist/providers/provider-runtime.d.ts +0 -17
  1594. package/dist/providers/provider-runtime.js +0 -270
  1595. package/dist/providers/provider-stats.d.ts +0 -56
  1596. package/dist/providers/provider-stats.js +0 -303
  1597. package/dist/providers/provider-task-runner.d.ts +0 -23
  1598. package/dist/providers/provider-task-runner.js +0 -1202
  1599. package/dist/providers/provider.d.ts +0 -76
  1600. package/dist/providers/provider.js +0 -9
  1601. package/dist/providers/router.d.ts +0 -14
  1602. package/dist/providers/router.js +0 -563
  1603. package/dist/providers/runner/deepseek-helpers.d.ts +0 -38
  1604. package/dist/providers/runner/deepseek-helpers.js +0 -150
  1605. package/dist/providers/runner/env.d.ts +0 -12
  1606. package/dist/providers/runner/env.js +0 -98
  1607. package/dist/providers/runner/execution.d.ts +0 -26
  1608. package/dist/providers/runner/execution.js +0 -42
  1609. package/dist/providers/runner/helpers.d.ts +0 -9
  1610. package/dist/providers/runner/helpers.js +0 -38
  1611. package/dist/providers/runner/results.d.ts +0 -26
  1612. package/dist/providers/runner/results.js +0 -104
  1613. package/dist/providers/thinking-levels.d.ts +0 -7
  1614. package/dist/providers/thinking-levels.js +0 -72
  1615. package/dist/providers/types.d.ts +0 -143
  1616. package/dist/providers/types.js +0 -60
  1617. package/dist/replay/differ.d.ts +0 -5
  1618. package/dist/replay/differ.js +0 -314
  1619. package/dist/replay/index.d.ts +0 -6
  1620. package/dist/replay/index.js +0 -4
  1621. package/dist/replay/inspector.d.ts +0 -14
  1622. package/dist/replay/inspector.js +0 -264
  1623. package/dist/replay/manifest-builder.d.ts +0 -11
  1624. package/dist/replay/manifest-builder.js +0 -184
  1625. package/dist/replay/replay-engine.d.ts +0 -18
  1626. package/dist/replay/replay-engine.js +0 -265
  1627. package/dist/runtime/adapter.d.ts +0 -77
  1628. package/dist/runtime/adapter.js +0 -28
  1629. package/dist/runtime/advanced-control-loop.d.ts +0 -60
  1630. package/dist/runtime/advanced-control-loop.js +0 -136
  1631. package/dist/runtime/agent-runtime.d.ts +0 -162
  1632. package/dist/runtime/agent-runtime.js +0 -31
  1633. package/dist/runtime/authority-matrix.d.ts +0 -23
  1634. package/dist/runtime/authority-matrix.js +0 -171
  1635. package/dist/runtime/blast-radius.d.ts +0 -10
  1636. package/dist/runtime/blast-radius.js +0 -14
  1637. package/dist/runtime/cache-stable-session.d.ts +0 -55
  1638. package/dist/runtime/cache-stable-session.js +0 -108
  1639. package/dist/runtime/capability-injection.d.ts +0 -39
  1640. package/dist/runtime/capability-injection.js +0 -93
  1641. package/dist/runtime/chat-advisory-runtime.d.ts +0 -2
  1642. package/dist/runtime/chat-advisory-runtime.js +0 -74
  1643. package/dist/runtime/child-env.d.ts +0 -31
  1644. package/dist/runtime/child-env.js +0 -131
  1645. package/dist/runtime/codex-cli-runtime.d.ts +0 -10
  1646. package/dist/runtime/codex-cli-runtime.js +0 -80
  1647. package/dist/runtime/codex-runtime.d.ts +0 -38
  1648. package/dist/runtime/codex-runtime.js +0 -286
  1649. package/dist/runtime/command-bus.d.ts +0 -13
  1650. package/dist/runtime/command-bus.js +0 -57
  1651. package/dist/runtime/context-broker-converter.d.ts +0 -9
  1652. package/dist/runtime/context-broker-converter.js +0 -126
  1653. package/dist/runtime/context-broker.d.ts +0 -34
  1654. package/dist/runtime/context-broker.js +0 -339
  1655. package/dist/runtime/context-budget-optimizer.d.ts +0 -73
  1656. package/dist/runtime/context-budget-optimizer.js +0 -300
  1657. package/dist/runtime/context-capsule.d.ts +0 -81
  1658. package/dist/runtime/context-capsule.js +0 -46
  1659. package/dist/runtime/contracts/command-envelope.d.ts +0 -99
  1660. package/dist/runtime/contracts/command-envelope.js +0 -5
  1661. package/dist/runtime/contracts/evidence.d.ts +0 -139
  1662. package/dist/runtime/contracts/evidence.js +0 -144
  1663. package/dist/runtime/contracts/reasoning-trace.d.ts +0 -120
  1664. package/dist/runtime/contracts/reasoning-trace.js +0 -10
  1665. package/dist/runtime/contracts/router-v2.d.ts +0 -44
  1666. package/dist/runtime/contracts/router-v2.js +0 -4
  1667. package/dist/runtime/contracts/shared.d.ts +0 -61
  1668. package/dist/runtime/contracts/shared.js +0 -12
  1669. package/dist/runtime/contracts/weakness-remediation.d.ts +0 -83
  1670. package/dist/runtime/contracts/weakness-remediation.js +0 -44
  1671. package/dist/runtime/core-verified-preset.d.ts +0 -37
  1672. package/dist/runtime/core-verified-preset.js +0 -205
  1673. package/dist/runtime/data-retention-gate.d.ts +0 -42
  1674. package/dist/runtime/data-retention-gate.js +0 -123
  1675. package/dist/runtime/debloat-nlp.d.ts +0 -140
  1676. package/dist/runtime/debloat-nlp.js +0 -398
  1677. package/dist/runtime/deepseek-runtime.d.ts +0 -32
  1678. package/dist/runtime/deepseek-runtime.js +0 -276
  1679. package/dist/runtime/external-cli-adapter.d.ts +0 -29
  1680. package/dist/runtime/external-cli-adapter.js +0 -296
  1681. package/dist/runtime/freedomd-evidence-envelope.d.ts +0 -57
  1682. package/dist/runtime/freedomd-evidence-envelope.js +0 -110
  1683. package/dist/runtime/freedomd-exception.d.ts +0 -32
  1684. package/dist/runtime/freedomd-exception.js +0 -95
  1685. package/dist/runtime/freedomd-incidents.d.ts +0 -23
  1686. package/dist/runtime/freedomd-incidents.js +0 -103
  1687. package/dist/runtime/freedomd-policy.d.ts +0 -35
  1688. package/dist/runtime/freedomd-policy.js +0 -114
  1689. package/dist/runtime/freedomd-router.d.ts +0 -66
  1690. package/dist/runtime/freedomd-router.js +0 -433
  1691. package/dist/runtime/glm-api-runtime.d.ts +0 -4
  1692. package/dist/runtime/glm-api-runtime.js +0 -15
  1693. package/dist/runtime/headroom-aware-loop-decision.d.ts +0 -21
  1694. package/dist/runtime/headroom-aware-loop-decision.js +0 -67
  1695. package/dist/runtime/headroom-loop-risk.d.ts +0 -19
  1696. package/dist/runtime/headroom-loop-risk.js +0 -43
  1697. package/dist/runtime/headroom-policy.d.ts +0 -50
  1698. package/dist/runtime/headroom-policy.js +0 -184
  1699. package/dist/runtime/index.d.ts +0 -9
  1700. package/dist/runtime/index.js +0 -9
  1701. package/dist/runtime/kimi-api-runtime.d.ts +0 -60
  1702. package/dist/runtime/kimi-api-runtime.js +0 -455
  1703. package/dist/runtime/kimi-print-runtime.d.ts +0 -10
  1704. package/dist/runtime/kimi-print-runtime.js +0 -108
  1705. package/dist/runtime/kimi-wire-protocol-runtime.d.ts +0 -44
  1706. package/dist/runtime/kimi-wire-protocol-runtime.js +0 -452
  1707. package/dist/runtime/kimi-wire-runtime.d.ts +0 -17
  1708. package/dist/runtime/kimi-wire-runtime.js +0 -112
  1709. package/dist/runtime/legacy-bridge.d.ts +0 -14
  1710. package/dist/runtime/legacy-bridge.js +0 -27
  1711. package/dist/runtime/local-llm-runtime.d.ts +0 -33
  1712. package/dist/runtime/local-llm-runtime.js +0 -222
  1713. package/dist/runtime/mimo-api-runtime.d.ts +0 -13
  1714. package/dist/runtime/mimo-api-runtime.js +0 -24
  1715. package/dist/runtime/nlg-renderer.d.ts +0 -38
  1716. package/dist/runtime/nlg-renderer.js +0 -132
  1717. package/dist/runtime/ouroboros-policy.d.ts +0 -57
  1718. package/dist/runtime/ouroboros-policy.js +0 -134
  1719. package/dist/runtime/output-router.d.ts +0 -20
  1720. package/dist/runtime/output-router.js +0 -171
  1721. package/dist/runtime/private-stderr.d.ts +0 -13
  1722. package/dist/runtime/private-stderr.js +0 -69
  1723. package/dist/runtime/process-session.d.ts +0 -27
  1724. package/dist/runtime/process-session.js +0 -35
  1725. package/dist/runtime/prompt-envelope.d.ts +0 -28
  1726. package/dist/runtime/prompt-envelope.js +0 -78
  1727. package/dist/runtime/proof-bundle-trust.d.ts +0 -74
  1728. package/dist/runtime/proof-bundle-trust.js +0 -100
  1729. package/dist/runtime/provider-event-normalizer.d.ts +0 -117
  1730. package/dist/runtime/provider-event-normalizer.js +0 -454
  1731. package/dist/runtime/provider-maturity-gate.d.ts +0 -43
  1732. package/dist/runtime/provider-maturity-gate.js +0 -127
  1733. package/dist/runtime/provider-sovereignty.d.ts +0 -81
  1734. package/dist/runtime/provider-sovereignty.js +0 -285
  1735. package/dist/runtime/provider-tool-contracts.d.ts +0 -24
  1736. package/dist/runtime/provider-tool-contracts.js +0 -56
  1737. package/dist/runtime/public-surface.d.ts +0 -93
  1738. package/dist/runtime/public-surface.js +0 -146
  1739. package/dist/runtime/reasoning-trace.d.ts +0 -46
  1740. package/dist/runtime/reasoning-trace.js +0 -289
  1741. package/dist/runtime/recovery-artifact-store.d.ts +0 -39
  1742. package/dist/runtime/recovery-artifact-store.js +0 -111
  1743. package/dist/runtime/renderers.d.ts +0 -33
  1744. package/dist/runtime/renderers.js +0 -221
  1745. package/dist/runtime/router-v2-scoring.d.ts +0 -16
  1746. package/dist/runtime/router-v2-scoring.js +0 -156
  1747. package/dist/runtime/runtime-backed-task-runner.d.ts +0 -21
  1748. package/dist/runtime/runtime-backed-task-runner.js +0 -456
  1749. package/dist/runtime/runtime-bootstrap.d.ts +0 -33
  1750. package/dist/runtime/runtime-bootstrap.js +0 -267
  1751. package/dist/runtime/runtime-failure-classifier.d.ts +0 -15
  1752. package/dist/runtime/runtime-failure-classifier.js +0 -107
  1753. package/dist/runtime/runtime-health-probes.d.ts +0 -30
  1754. package/dist/runtime/runtime-health-probes.js +0 -102
  1755. package/dist/runtime/runtime-registry.d.ts +0 -23
  1756. package/dist/runtime/runtime-registry.js +0 -95
  1757. package/dist/runtime/runtime-router.d.ts +0 -60
  1758. package/dist/runtime/runtime-router.js +0 -1174
  1759. package/dist/runtime/sandbox-profile.d.ts +0 -54
  1760. package/dist/runtime/sandbox-profile.js +0 -136
  1761. package/dist/runtime/slash-commands.d.ts +0 -46
  1762. package/dist/runtime/slash-commands.js +0 -652
  1763. package/dist/runtime/stable-json.d.ts +0 -9
  1764. package/dist/runtime/stable-json.js +0 -45
  1765. package/dist/runtime/structured-compaction.d.ts +0 -107
  1766. package/dist/runtime/structured-compaction.js +0 -414
  1767. package/dist/runtime/tool-call-repair.d.ts +0 -35
  1768. package/dist/runtime/tool-call-repair.js +0 -181
  1769. package/dist/runtime/tool-dispatch-contracts.d.ts +0 -102
  1770. package/dist/runtime/tool-dispatch-contracts.js +0 -171
  1771. package/dist/runtime/tool-plane.d.ts +0 -31
  1772. package/dist/runtime/tool-plane.js +0 -160
  1773. package/dist/runtime/tool-proxy.d.ts +0 -20
  1774. package/dist/runtime/tool-proxy.js +0 -109
  1775. package/dist/runtime/tool-registry-contract.d.ts +0 -40
  1776. package/dist/runtime/tool-registry-contract.js +0 -52
  1777. package/dist/runtime/ui-components.d.ts +0 -64
  1778. package/dist/runtime/ui-components.js +0 -232
  1779. package/dist/runtime/weakness-remediation-index.d.ts +0 -27
  1780. package/dist/runtime/weakness-remediation-index.js +0 -37
  1781. package/dist/runtime/weights-config.d.ts +0 -90
  1782. package/dist/runtime/weights-config.js +0 -249
  1783. package/dist/runtime/worker-manifest.d.ts +0 -34
  1784. package/dist/runtime/worker-manifest.js +0 -204
  1785. package/dist/safety/approval-policy.d.ts +0 -4
  1786. package/dist/safety/approval-policy.js +0 -33
  1787. package/dist/safety/enforcement-engine.d.ts +0 -89
  1788. package/dist/safety/enforcement-engine.js +0 -279
  1789. package/dist/safety/guard-hooks.d.ts +0 -3
  1790. package/dist/safety/guard-hooks.js +0 -64
  1791. package/dist/safety/tool-authority-gate.d.ts +0 -102
  1792. package/dist/safety/tool-authority-gate.js +0 -200
  1793. package/dist/schema/command.schema.d.ts +0 -121
  1794. package/dist/schema/command.schema.js +0 -25
  1795. package/dist/schema/decision.schema.d.ts +0 -57
  1796. package/dist/schema/decision.schema.js +0 -32
  1797. package/dist/schema/envelope.schema.d.ts +0 -216
  1798. package/dist/schema/envelope.schema.js +0 -38
  1799. package/dist/schema/error.schema.d.ts +0 -51
  1800. package/dist/schema/error.schema.js +0 -12
  1801. package/dist/schema/evidence-bundle.schema.d.ts +0 -196
  1802. package/dist/schema/evidence-bundle.schema.js +0 -38
  1803. package/dist/schema/evidence.schema.d.ts +0 -58
  1804. package/dist/schema/evidence.schema.js +0 -31
  1805. package/dist/schema/index.d.ts +0 -10
  1806. package/dist/schema/index.js +0 -10
  1807. package/dist/schema/proof-bundle.schema.d.ts +0 -150
  1808. package/dist/schema/proof-bundle.schema.js +0 -41
  1809. package/dist/schema/provider.schema.d.ts +0 -138
  1810. package/dist/schema/provider.schema.js +0 -35
  1811. package/dist/schema/run-manifest.schema.d.ts +0 -168
  1812. package/dist/schema/run-manifest.schema.js +0 -35
  1813. package/dist/schema/version.schema.d.ts +0 -64
  1814. package/dist/schema/version.schema.js +0 -21
  1815. package/dist/theme/ansi.d.ts +0 -15
  1816. package/dist/theme/ansi.js +0 -48
  1817. package/dist/theme/colors.d.ts +0 -87
  1818. package/dist/theme/colors.js +0 -105
  1819. package/dist/theme/extended-palette.d.ts +0 -85
  1820. package/dist/theme/extended-palette.js +0 -108
  1821. package/dist/theme/external-theme-adapters.d.ts +0 -27
  1822. package/dist/theme/external-theme-adapters.js +0 -52
  1823. package/dist/theme/hud-theme.d.ts +0 -6
  1824. package/dist/theme/hud-theme.js +0 -41
  1825. package/dist/theme/index.d.ts +0 -12
  1826. package/dist/theme/index.js +0 -20
  1827. package/dist/theme/layout.d.ts +0 -24
  1828. package/dist/theme/layout.js +0 -160
  1829. package/dist/theme/library-effects.d.ts +0 -12
  1830. package/dist/theme/library-effects.js +0 -47
  1831. package/dist/theme/metrics.d.ts +0 -23
  1832. package/dist/theme/metrics.js +0 -93
  1833. package/dist/theme/parallel.d.ts +0 -68
  1834. package/dist/theme/parallel.js +0 -356
  1835. package/dist/theme/working-indicator.d.ts +0 -38
  1836. package/dist/theme/working-indicator.js +0 -149
  1837. package/dist/tui/model.d.ts +0 -28
  1838. package/dist/tui/model.js +0 -1
  1839. package/dist/tui/terminal-frame-renderer.d.ts +0 -27
  1840. package/dist/tui/terminal-frame-renderer.js +0 -130
  1841. package/dist/tui/views/capabilities-view.d.ts +0 -3
  1842. package/dist/tui/views/capabilities-view.js +0 -13
  1843. package/dist/tui/views/common.d.ts +0 -11
  1844. package/dist/tui/views/common.js +0 -35
  1845. package/dist/tui/views/dag-view.d.ts +0 -3
  1846. package/dist/tui/views/dag-view.js +0 -12
  1847. package/dist/tui/views/evidence-view.d.ts +0 -3
  1848. package/dist/tui/views/evidence-view.js +0 -18
  1849. package/dist/tui/views/index.d.ts +0 -4
  1850. package/dist/tui/views/index.js +0 -3
  1851. package/dist/ui/omk-sigil.d.ts +0 -13
  1852. package/dist/ui/omk-sigil.js +0 -268
  1853. package/dist/ui/omk-working-sweep.d.ts +0 -61
  1854. package/dist/ui/omk-working-sweep.js +0 -406
  1855. package/dist/util/agent-schema.d.ts +0 -24
  1856. package/dist/util/agent-schema.js +0 -293
  1857. package/dist/util/appshot-store.d.ts +0 -68
  1858. package/dist/util/appshot-store.js +0 -506
  1859. package/dist/util/chat-agent-mode.d.ts +0 -184
  1860. package/dist/util/chat-agent-mode.js +0 -938
  1861. package/dist/util/chat-cockpit.d.ts +0 -56
  1862. package/dist/util/chat-cockpit.js +0 -389
  1863. package/dist/util/chat-startup.d.ts +0 -35
  1864. package/dist/util/chat-startup.js +0 -330
  1865. package/dist/util/chat-state.d.ts +0 -27
  1866. package/dist/util/chat-state.js +0 -105
  1867. package/dist/util/checkpoint.d.ts +0 -21
  1868. package/dist/util/checkpoint.js +0 -238
  1869. package/dist/util/cli-contract.d.ts +0 -46
  1870. package/dist/util/cli-contract.js +0 -72
  1871. package/dist/util/clipboard-image.d.ts +0 -49
  1872. package/dist/util/clipboard-image.js +0 -263
  1873. package/dist/util/command-envelope.d.ts +0 -19
  1874. package/dist/util/command-envelope.js +0 -31
  1875. package/dist/util/cron-engine.d.ts +0 -24
  1876. package/dist/util/cron-engine.js +0 -227
  1877. package/dist/util/events-logger.d.ts +0 -30
  1878. package/dist/util/events-logger.js +0 -142
  1879. package/dist/util/execution-selection.d.ts +0 -13
  1880. package/dist/util/execution-selection.js +0 -82
  1881. package/dist/util/first-run-star.d.ts +0 -58
  1882. package/dist/util/first-run-star.js +0 -264
  1883. package/dist/util/fs/core.d.ts +0 -5
  1884. package/dist/util/fs/core.js +0 -35
  1885. package/dist/util/fs/internal.d.ts +0 -14
  1886. package/dist/util/fs/internal.js +0 -169
  1887. package/dist/util/fs/kimi-sync.d.ts +0 -41
  1888. package/dist/util/fs/kimi-sync.js +0 -495
  1889. package/dist/util/fs/logo.d.ts +0 -2
  1890. package/dist/util/fs/logo.js +0 -78
  1891. package/dist/util/fs/manifest.d.ts +0 -6
  1892. package/dist/util/fs/manifest.js +0 -40
  1893. package/dist/util/fs/mcp-diagnose.d.ts +0 -15
  1894. package/dist/util/fs/mcp-diagnose.js +0 -205
  1895. package/dist/util/fs/mcp-runtime-config.d.ts +0 -23
  1896. package/dist/util/fs/mcp-runtime-config.js +0 -424
  1897. package/dist/util/fs/paths.d.ts +0 -13
  1898. package/dist/util/fs/paths.js +0 -82
  1899. package/dist/util/fs/preflight.d.ts +0 -27
  1900. package/dist/util/fs/preflight.js +0 -271
  1901. package/dist/util/fs.d.ts +0 -8
  1902. package/dist/util/fs.js +0 -8
  1903. package/dist/util/git.d.ts +0 -11
  1904. package/dist/util/git.js +0 -39
  1905. package/dist/util/hash.d.ts +0 -2
  1906. package/dist/util/hash.js +0 -13
  1907. package/dist/util/help-text.d.ts +0 -1
  1908. package/dist/util/help-text.js +0 -60
  1909. package/dist/util/i18n.d.ts +0 -10
  1910. package/dist/util/i18n.js +0 -848
  1911. package/dist/util/json-envelope.d.ts +0 -15
  1912. package/dist/util/json-envelope.js +0 -28
  1913. package/dist/util/mcp-preflight.d.ts +0 -26
  1914. package/dist/util/mcp-preflight.js +0 -29
  1915. package/dist/util/mode-preset.d.ts +0 -29
  1916. package/dist/util/mode-preset.js +0 -222
  1917. package/dist/util/mode-selector.d.ts +0 -6
  1918. package/dist/util/mode-selector.js +0 -74
  1919. package/dist/util/output-buffer.d.ts +0 -12
  1920. package/dist/util/output-buffer.js +0 -59
  1921. package/dist/util/process-tree.d.ts +0 -18
  1922. package/dist/util/process-tree.js +0 -102
  1923. package/dist/util/project-root.d.ts +0 -27
  1924. package/dist/util/project-root.js +0 -382
  1925. package/dist/util/provider-usage.d.ts +0 -2
  1926. package/dist/util/provider-usage.js +0 -1
  1927. package/dist/util/reasoning-nlp.d.ts +0 -84
  1928. package/dist/util/reasoning-nlp.js +0 -325
  1929. package/dist/util/resource-profile.d.ts +0 -32
  1930. package/dist/util/resource-profile.js +0 -219
  1931. package/dist/util/run-store.d.ts +0 -38
  1932. package/dist/util/run-store.js +0 -151
  1933. package/dist/util/run-view-model.d.ts +0 -111
  1934. package/dist/util/run-view-model.js +0 -333
  1935. package/dist/util/runtime-profile.d.ts +0 -34
  1936. package/dist/util/runtime-profile.js +0 -149
  1937. package/dist/util/runtime-scope.d.ts +0 -2
  1938. package/dist/util/runtime-scope.js +0 -19
  1939. package/dist/util/scoped-agent-file.d.ts +0 -47
  1940. package/dist/util/scoped-agent-file.js +0 -121
  1941. package/dist/util/screenshot-store.d.ts +0 -42
  1942. package/dist/util/screenshot-store.js +0 -340
  1943. package/dist/util/secret-mask.d.ts +0 -5
  1944. package/dist/util/secret-mask.js +0 -41
  1945. package/dist/util/session.d.ts +0 -19
  1946. package/dist/util/session.js +0 -81
  1947. package/dist/util/shell.d.ts +0 -30
  1948. package/dist/util/shell.js +0 -350
  1949. package/dist/util/snippet.d.ts +0 -17
  1950. package/dist/util/snippet.js +0 -110
  1951. package/dist/util/sync-manifest.d.ts +0 -13
  1952. package/dist/util/sync-manifest.js +0 -22
  1953. package/dist/util/terminal-input.d.ts +0 -45
  1954. package/dist/util/terminal-input.js +0 -67
  1955. package/dist/util/terminal-kit-bridge.d.ts +0 -24
  1956. package/dist/util/terminal-kit-bridge.js +0 -60
  1957. package/dist/util/terminal-layout.d.ts +0 -18
  1958. package/dist/util/terminal-layout.js +0 -112
  1959. package/dist/util/terminal-owner.d.ts +0 -20
  1960. package/dist/util/terminal-owner.js +0 -95
  1961. package/dist/util/theme.d.ts +0 -9
  1962. package/dist/util/theme.js +0 -9
  1963. package/dist/util/timeout-config.d.ts +0 -18
  1964. package/dist/util/timeout-config.js +0 -101
  1965. package/dist/util/todo-sync.d.ts +0 -58
  1966. package/dist/util/todo-sync.js +0 -473
  1967. package/dist/util/update-check.d.ts +0 -94
  1968. package/dist/util/update-check.js +0 -355
  1969. package/dist/util/usage-view-model.d.ts +0 -22
  1970. package/dist/util/usage-view-model.js +0 -57
  1971. package/dist/util/user-visible-output.d.ts +0 -19
  1972. package/dist/util/user-visible-output.js +0 -48
  1973. package/dist/util/version.d.ts +0 -4
  1974. package/dist/util/version.js +0 -52
  1975. package/dist/util/worktree.d.ts +0 -10
  1976. package/dist/util/worktree.js +0 -165
  1977. package/dist/ux/explain-loop-decision.d.ts +0 -4
  1978. package/dist/ux/explain-loop-decision.js +0 -55
  1979. package/dist/ux/intent-router.d.ts +0 -15
  1980. package/dist/ux/intent-router.js +0 -64
  1981. package/dist/ux/natural-entrypoint.d.ts +0 -21
  1982. package/dist/ux/natural-entrypoint.js +0 -122
  1983. package/dist/version.d.ts +0 -13
  1984. package/dist/version.js +0 -22
  1985. package/dist/web-bridge/host.d.ts +0 -8
  1986. package/dist/web-bridge/host.js +0 -109
  1987. package/dist/web-bridge/native-host.d.ts +0 -6
  1988. package/dist/web-bridge/native-host.js +0 -40
  1989. package/dist/web-bridge/status.d.ts +0 -84
  1990. package/dist/web-bridge/status.js +0 -201
  1991. package/docs/2026-05-01-16gb-lite-mode.md +0 -37
  1992. package/docs/2026-05-01-critical-issues-and-improvements.md +0 -361
  1993. package/docs/2026-05-01-dag-ensemble-runtime.md +0 -74
  1994. package/docs/2026-05-02-p1-p2-hardening-handoff.md +0 -139
  1995. package/docs/2026-05-05-adjustable-timeouts-and-cron-jobs.md +0 -252
  1996. package/docs/2026-05-08-omk-hardening-plan.md +0 -62
  1997. package/docs/2026-05-14/critical-issues.md +0 -20
  1998. package/docs/2026-05-14/improvements.md +0 -14
  1999. package/docs/2026-05-14/init-checklist.md +0 -25
  2000. package/docs/2026-05-14/plan.md +0 -20
  2001. package/docs/2026-05-15/critical-issues.md +0 -20
  2002. package/docs/2026-05-15/improvements.md +0 -14
  2003. package/docs/2026-05-15/init-checklist.md +0 -25
  2004. package/docs/2026-05-15/plan.md +0 -20
  2005. package/docs/2026-05-16/critical-issues.md +0 -20
  2006. package/docs/2026-05-16/improvements.md +0 -14
  2007. package/docs/2026-05-16/init-checklist.md +0 -25
  2008. package/docs/2026-05-16/plan.md +0 -20
  2009. package/docs/2026-05-17/critical-issues.md +0 -20
  2010. package/docs/2026-05-17/improvements.md +0 -14
  2011. package/docs/2026-05-17/init-checklist.md +0 -25
  2012. package/docs/2026-05-17/plan.md +0 -20
  2013. package/docs/2026-05-18/improvements.md +0 -14
  2014. package/docs/2026-05-18/init-checklist.md +0 -25
  2015. package/docs/2026-05-18/plan.md +0 -20
  2016. package/docs/2026-05-18-critical-issues-and-improvements.md +0 -441
  2017. package/docs/2026-05-18-project-direction.md +0 -223
  2018. package/docs/2026-05-19/critical-issues.md +0 -20
  2019. package/docs/2026-05-19/improvements.md +0 -14
  2020. package/docs/2026-05-19/init-checklist.md +0 -25
  2021. package/docs/2026-05-19/plan.md +0 -20
  2022. package/docs/2026-05-20/critical-issues.md +0 -20
  2023. package/docs/2026-05-20/improvements.md +0 -14
  2024. package/docs/2026-05-20/init-checklist.md +0 -25
  2025. package/docs/2026-05-20/plan.md +0 -20
  2026. package/docs/2026-05-21/critical-issues.md +0 -20
  2027. package/docs/2026-05-21/improvements.md +0 -14
  2028. package/docs/2026-05-21/init-checklist.md +0 -25
  2029. package/docs/2026-05-21/plan.md +0 -20
  2030. package/docs/2026-05-22/critical-issues.md +0 -20
  2031. package/docs/2026-05-22/improvements.md +0 -14
  2032. package/docs/2026-05-22/init-checklist.md +0 -25
  2033. package/docs/2026-05-22/plan.md +0 -20
  2034. package/docs/2026-05-23/critical-issues.md +0 -20
  2035. package/docs/2026-05-23/improvements.md +0 -14
  2036. package/docs/2026-05-23/init-checklist.md +0 -25
  2037. package/docs/2026-05-23/plan.md +0 -20
  2038. package/docs/2026-05-24/critical-issues.md +0 -30
  2039. package/docs/2026-05-24/improvements.md +0 -23
  2040. package/docs/2026-05-24/init-checklist.md +0 -25
  2041. package/docs/2026-05-24/plan.md +0 -22
  2042. package/docs/2026-05-25/critical-issues.md +0 -20
  2043. package/docs/2026-05-25/improvements.md +0 -14
  2044. package/docs/2026-05-25/init-checklist.md +0 -25
  2045. package/docs/2026-05-25/plan.md +0 -20
  2046. package/docs/2026-05-26/critical-issues.md +0 -20
  2047. package/docs/2026-05-26/improvements.md +0 -14
  2048. package/docs/2026-05-26/init-checklist.md +0 -25
  2049. package/docs/2026-05-26/plan.md +0 -20
  2050. package/docs/2026-05-27/critical-issues.md +0 -20
  2051. package/docs/2026-05-27/improvements.md +0 -14
  2052. package/docs/2026-05-27/init-checklist.md +0 -25
  2053. package/docs/2026-05-27/plan.md +0 -20
  2054. package/docs/2026-05-28/critical-issues.md +0 -20
  2055. package/docs/2026-05-28/improvements.md +0 -14
  2056. package/docs/2026-05-28/init-checklist.md +0 -25
  2057. package/docs/2026-05-28/plan.md +0 -20
  2058. package/docs/2026-05-29/critical-issues.md +0 -20
  2059. package/docs/2026-05-29/improvements.md +0 -14
  2060. package/docs/2026-05-29/init-checklist.md +0 -25
  2061. package/docs/2026-05-29/plan.md +0 -20
  2062. package/docs/2026-05-30/critical-issues.md +0 -20
  2063. package/docs/2026-05-30/improvements.md +0 -14
  2064. package/docs/2026-05-30/init-checklist.md +0 -25
  2065. package/docs/2026-05-30/plan.md +0 -20
  2066. package/docs/2026-05-31/critical-issues.md +0 -20
  2067. package/docs/2026-05-31/improvements.md +0 -14
  2068. package/docs/2026-05-31/init-checklist.md +0 -25
  2069. package/docs/2026-05-31/plan.md +0 -20
  2070. package/docs/2026-06-01/critical-issues.md +0 -20
  2071. package/docs/2026-06-01/improvements.md +0 -14
  2072. package/docs/2026-06-01/init-checklist.md +0 -25
  2073. package/docs/2026-06-01/plan.md +0 -20
  2074. package/docs/2026-06-02/critical-issues.md +0 -20
  2075. package/docs/2026-06-02/improvements.md +0 -14
  2076. package/docs/2026-06-02/init-checklist.md +0 -25
  2077. package/docs/2026-06-02/plan.md +0 -20
  2078. package/docs/2026-06-03/critical-issues.md +0 -20
  2079. package/docs/2026-06-03/improvements.md +0 -14
  2080. package/docs/2026-06-03/init-checklist.md +0 -25
  2081. package/docs/2026-06-03/plan.md +0 -20
  2082. package/docs/2026-06-04/critical-issues.md +0 -20
  2083. package/docs/2026-06-04/improvements.md +0 -14
  2084. package/docs/2026-06-04/init-checklist.md +0 -25
  2085. package/docs/2026-06-04/plan.md +0 -20
  2086. package/docs/2026-06-05/critical-issues.md +0 -20
  2087. package/docs/2026-06-05/improvements.md +0 -14
  2088. package/docs/2026-06-05/init-checklist.md +0 -25
  2089. package/docs/2026-06-05/plan.md +0 -20
  2090. package/docs/2026-06-06/critical-issues.md +0 -20
  2091. package/docs/2026-06-06/improvements.md +0 -14
  2092. package/docs/2026-06-06/init-checklist.md +0 -25
  2093. package/docs/2026-06-06/plan.md +0 -20
  2094. package/docs/2026-06-07/critical-issues.md +0 -20
  2095. package/docs/2026-06-07/improvements.md +0 -14
  2096. package/docs/2026-06-07/init-checklist.md +0 -25
  2097. package/docs/2026-06-07/plan.md +0 -20
  2098. package/docs/2026-06-08/critical-issues.md +0 -20
  2099. package/docs/2026-06-08/improvements.md +0 -14
  2100. package/docs/2026-06-08/init-checklist.md +0 -25
  2101. package/docs/2026-06-08/plan.md +0 -20
  2102. package/docs/2026-06-09/critical-issues.md +0 -20
  2103. package/docs/2026-06-09/improvements.md +0 -14
  2104. package/docs/2026-06-09/init-checklist.md +0 -25
  2105. package/docs/2026-06-09/plan.md +0 -20
  2106. package/docs/2026-06-10/critical-issues.md +0 -20
  2107. package/docs/2026-06-10/improvements.md +0 -14
  2108. package/docs/2026-06-10/init-checklist.md +0 -25
  2109. package/docs/2026-06-10/plan.md +0 -20
  2110. package/docs/2026-06-11/critical-issues.md +0 -20
  2111. package/docs/2026-06-11/improvements.md +0 -14
  2112. package/docs/2026-06-11/init-checklist.md +0 -25
  2113. package/docs/2026-06-11/plan.md +0 -20
  2114. package/docs/2026-06-14/critical-issues.md +0 -19
  2115. package/docs/2026-06-14/improvements.md +0 -15
  2116. package/docs/2026-06-14/init-checklist.md +0 -25
  2117. package/docs/2026-06-14/plan.md +0 -20
  2118. package/docs/2026-06-15/critical-issues.md +0 -19
  2119. package/docs/2026-06-15/improvements.md +0 -15
  2120. package/docs/2026-06-15/init-checklist.md +0 -25
  2121. package/docs/2026-06-15/plan.md +0 -20
  2122. package/docs/2026-06-16/critical-issues.md +0 -19
  2123. package/docs/2026-06-16/improvements.md +0 -15
  2124. package/docs/2026-06-16/init-checklist.md +0 -25
  2125. package/docs/2026-06-16/plan.md +0 -20
  2126. package/docs/2026-06-17/critical-issues.md +0 -19
  2127. package/docs/2026-06-17/improvements.md +0 -15
  2128. package/docs/2026-06-17/init-checklist.md +0 -25
  2129. package/docs/2026-06-17/plan.md +0 -20
  2130. package/docs/ARCHITECTURE_ANALYSIS_CODEGRAPH.md +0 -224
  2131. package/docs/GSTACK_MIGRATION.md +0 -169
  2132. package/docs/OMK_CLI_V2_RUNTIME_ARCHITECTURE.md +0 -2058
  2133. package/docs/adr/0001-no-native-rust-lane.md +0 -52
  2134. package/docs/algorithm-hardening-playbook.md +0 -219
  2135. package/docs/benchmark-design.md +0 -122
  2136. package/docs/claims.md +0 -85
  2137. package/docs/cli-v2-migration.md +0 -87
  2138. package/docs/codex-oauth-setup.md +0 -62
  2139. package/docs/comparisons/omk-vs-claude-code.md +0 -31
  2140. package/docs/comparisons/omk-vs-codex.md +0 -33
  2141. package/docs/comparisons/omk-vs-mcp-agent.md +0 -33
  2142. package/docs/comparisons/omk-vs-opencode.md +0 -32
  2143. package/docs/decision-layer-calibration.md +0 -20
  2144. package/docs/decisions/2026-06-10-git-history-bloat.md +0 -61
  2145. package/docs/decisions/ADR-theme-dark-only-assets.md +0 -43
  2146. package/docs/demo/verified-run/README.md +0 -32
  2147. package/docs/demo/verified-run/artifacts/README.md +0 -18
  2148. package/docs/demo/verified-run/capture-plan.md +0 -51
  2149. package/docs/demo/verified-run/generated-diff.md +0 -27
  2150. package/docs/demo/verified-run/raw-prompt.md +0 -21
  2151. package/docs/demo/verified-run/video-shot-list.md +0 -14
  2152. package/docs/design-md.md +0 -35
  2153. package/docs/geo-eval-prompts.md +0 -53
  2154. package/docs/getting-started.md +0 -37
  2155. package/docs/github-organic-promotion.md +0 -127
  2156. package/docs/headroom-omk-final-summary.md +0 -188
  2157. package/docs/headroom-omk-integration.md +0 -394
  2158. package/docs/headroom-omk-setup-guide.md +0 -422
  2159. package/docs/headroom-omk-usage-examples.md +0 -371
  2160. package/docs/hud-and-parallel-ux.md +0 -155
  2161. package/docs/integrations/adaptorch.md +0 -46
  2162. package/docs/integrations/ouroboros.md +0 -96
  2163. package/docs/kimi-oauth-usage-status.md +0 -33
  2164. package/docs/kimi-okabe-dmail.md +0 -44
  2165. package/docs/local-graph-memory.md +0 -102
  2166. package/docs/lsp.md +0 -48
  2167. package/docs/mcp-ontology-proposal.md +0 -12
  2168. package/docs/native-root-runtime-algorithms.md +0 -402
  2169. package/docs/native-root-runtime-hardening.md +0 -141
  2170. package/docs/neo4j-memory.md +0 -5
  2171. package/docs/openai-platform-image-keys.md +0 -23
  2172. package/docs/phase1-final-report.md +0 -154
  2173. package/docs/post-0793-hardening-roadmap.md +0 -123
  2174. package/docs/provider-maturity.md +0 -46
  2175. package/docs/runtime-architecture.md +0 -89
  2176. package/docs/use-cases/evidence-gated-coding-agents.md +0 -52
  2177. package/docs/use-cases/no-kimi-mode.md +0 -38
  2178. package/docs/use-cases/provider-routing-for-ai-coding.md +0 -36
  2179. package/docs/use-cases/replayable-agent-runs.md +0 -40
  2180. package/docs/use-cases/scoped-mcp-for-coding-agents.md +0 -34
  2181. package/docs/versioning.md +0 -55
  2182. package/docs/what-is-omk.md +0 -64
  2183. package/llms.txt +0 -48
  2184. package/readmeasset/.npmignore +0 -27
  2185. package/readmeasset/ASSET_INDEX.md +0 -44
  2186. package/readmeasset/ASSET_PROVENANCE.md +0 -136
  2187. package/readmeasset/omk-adaptorch-ouroboros-supermemory.svg +0 -95
  2188. package/readmeasset/omk-control-surfaces.svg +0 -55
  2189. package/readmeasset/omk-control.webp +0 -0
  2190. package/readmeasset/omk-core-loop.svg +0 -26
  2191. package/readmeasset/omk-evidence-gate-card.png +0 -0
  2192. package/readmeasset/omk-freedomd-control-plane.svg +0 -59
  2193. package/readmeasset/omk-freedomd-control-plane.webp +0 -0
  2194. package/readmeasset/omk-github-banner.webp +0 -0
  2195. package/readmeasset/omk-github-header.webp +0 -0
  2196. package/readmeasset/omk-init-control-loop.svg +0 -118
  2197. package/readmeasset/omk-install-card.png +0 -0
  2198. package/readmeasset/omk-logo-512.png +0 -0
  2199. package/readmeasset/omk-logo-mark.svg +0 -8
  2200. package/readmeasset/omk-parallel-subagents.svg +0 -97
  2201. package/readmeasset/omk-provider-router-card.png +0 -0
  2202. package/readmeasset/omk-release-assertions.svg +0 -51
  2203. package/readmeasset/omk-runtime-flow-0.78.0.webp +0 -0
  2204. package/readmeasset/omk-social-preview.png +0 -0
  2205. package/readmeasset/omk-tui-0.78.0.webp +0 -0
  2206. package/readmeasset/omk_tui.png +0 -0
  2207. package/templates/.kimi/AGENTS.md +0 -93
  2208. package/templates/.omk/agents/okabe.yaml +0 -30
  2209. package/templates/.omk/agents/roles/aggregator.yaml +0 -13
  2210. package/templates/.omk/agents/roles/architect.yaml +0 -13
  2211. package/templates/.omk/agents/roles/coder.yaml +0 -9
  2212. package/templates/.omk/agents/roles/explorer.yaml +0 -13
  2213. package/templates/.omk/agents/roles/integrator.yaml +0 -13
  2214. package/templates/.omk/agents/roles/interviewer.yaml +0 -13
  2215. package/templates/.omk/agents/roles/ontology.yaml +0 -18
  2216. package/templates/.omk/agents/roles/planner.yaml +0 -13
  2217. package/templates/.omk/agents/roles/qa.yaml +0 -12
  2218. package/templates/.omk/agents/roles/researcher.yaml +0 -13
  2219. package/templates/.omk/agents/roles/reviewer.yaml +0 -13
  2220. package/templates/.omk/agents/roles/router.yaml +0 -13
  2221. package/templates/.omk/agents/roles/security.yaml +0 -12
  2222. package/templates/.omk/agents/roles/tester.yaml +0 -12
  2223. package/templates/.omk/agents/roles/vision-debugger.yaml +0 -12
  2224. package/templates/.omk/agents/root.yaml +0 -62
  2225. package/templates/.omk/lsp.json +0 -27
  2226. package/templates/.omk/prompts/root.md +0 -74
  2227. package/templates/AGENTS.md +0 -510
  2228. package/templates/skills/agents/agentmemory/SKILL.md +0 -40
  2229. package/templates/skills/agents/andrej-karpathy-skills/SKILL.md +0 -41
  2230. package/templates/skills/agents/claude-for-legal/SKILL.md +0 -63
  2231. package/templates/skills/agents/claude-for-legal/references/workflow-catalog.md +0 -38
  2232. package/templates/skills/agents/matt-pocock-skills/SKILL.md +0 -40
  2233. package/templates/skills/agents/multica/SKILL.md +0 -40
  2234. package/templates/skills/agents/omk-agent-reach-websearch/SKILL.md +0 -55
  2235. package/templates/skills/agents/omk-backend-api-review/SKILL.md +0 -30
  2236. package/templates/skills/agents/omk-code-review/SKILL.md +0 -40
  2237. package/templates/skills/agents/omk-context-broker/SKILL.md +0 -57
  2238. package/templates/skills/agents/omk-control-loop-debugger/SKILL.md +0 -49
  2239. package/templates/skills/agents/omk-design-system/SKILL.md +0 -22
  2240. package/templates/skills/agents/omk-docs-release/SKILL.md +0 -42
  2241. package/templates/skills/agents/omk-evidence-contract/SKILL.md +0 -52
  2242. package/templates/skills/agents/omk-frontend-implementation/SKILL.md +0 -13
  2243. package/templates/skills/agents/omk-frontend-ui-review/SKILL.md +0 -29
  2244. package/templates/skills/agents/omk-git-commit-pr/SKILL.md +0 -45
  2245. package/templates/skills/agents/omk-industrial-control-loop/SKILL.md +0 -33
  2246. package/templates/skills/agents/omk-plan-first/SKILL.md +0 -39
  2247. package/templates/skills/agents/omk-project-rules/SKILL.md +0 -46
  2248. package/templates/skills/agents/omk-python-typing/SKILL.md +0 -33
  2249. package/templates/skills/agents/omk-quality-gate/SKILL.md +0 -54
  2250. package/templates/skills/agents/omk-repo-explorer/SKILL.md +0 -33
  2251. package/templates/skills/agents/omk-research-verify/SKILL.md +0 -30
  2252. package/templates/skills/agents/omk-secret-guard/SKILL.md +0 -23
  2253. package/templates/skills/agents/omk-security-review/SKILL.md +0 -49
  2254. package/templates/skills/agents/omk-test-debug-loop/SKILL.md +0 -43
  2255. package/templates/skills/agents/omk-troubleshooting/SKILL.md +0 -14
  2256. package/templates/skills/agents/omk-typescript-strict/SKILL.md +0 -38
  2257. package/templates/skills/agents/omk-worktree-team/SKILL.md +0 -44
  2258. package/templates/skills/agents/react-doctor/SKILL.md +0 -46
  2259. package/templates/skills/kimi/agentmemory/SKILL.md +0 -40
  2260. package/templates/skills/kimi/andrej-karpathy-skills/SKILL.md +0 -41
  2261. package/templates/skills/kimi/awesome-design-md/SKILL.md +0 -54
  2262. package/templates/skills/kimi/claude-for-legal/SKILL.md +0 -63
  2263. package/templates/skills/kimi/claude-for-legal/references/workflow-catalog.md +0 -38
  2264. package/templates/skills/kimi/deepseek-api/SKILL.md +0 -27
  2265. package/templates/skills/kimi/deepseek-disable/SKILL.md +0 -20
  2266. package/templates/skills/kimi/deepseek-enable/SKILL.md +0 -20
  2267. package/templates/skills/kimi/deepseekset/SKILL.md +0 -27
  2268. package/templates/skills/kimi/graph-view/SKILL.md +0 -29
  2269. package/templates/skills/kimi/matt-pocock-skills/SKILL.md +0 -40
  2270. package/templates/skills/kimi/multica/SKILL.md +0 -40
  2271. package/templates/skills/kimi/omk-agent-reach-websearch/SKILL.md +0 -55
  2272. package/templates/skills/kimi/omk-backend-api-review/SKILL.md +0 -30
  2273. package/templates/skills/kimi/omk-code-review/SKILL.md +0 -34
  2274. package/templates/skills/kimi/omk-context-broker/SKILL.md +0 -57
  2275. package/templates/skills/kimi/omk-control-loop-debugger/SKILL.md +0 -49
  2276. package/templates/skills/kimi/omk-design-md/SKILL.md +0 -55
  2277. package/templates/skills/kimi/omk-design-system/SKILL.md +0 -22
  2278. package/templates/skills/kimi/omk-docs-release/SKILL.md +0 -42
  2279. package/templates/skills/kimi/omk-evidence-contract/SKILL.md +0 -52
  2280. package/templates/skills/kimi/omk-flow-bugfix/SKILL.md +0 -20
  2281. package/templates/skills/kimi/omk-flow-design-to-code/SKILL.md +0 -23
  2282. package/templates/skills/kimi/omk-flow-feature-dev/SKILL.md +0 -24
  2283. package/templates/skills/kimi/omk-flow-pr-review/SKILL.md +0 -17
  2284. package/templates/skills/kimi/omk-flow-refactor/SKILL.md +0 -21
  2285. package/templates/skills/kimi/omk-flow-release/SKILL.md +0 -20
  2286. package/templates/skills/kimi/omk-flow-team-run/SKILL.md +0 -24
  2287. package/templates/skills/kimi/omk-frontend-implementation/SKILL.md +0 -13
  2288. package/templates/skills/kimi/omk-frontend-ui-review/SKILL.md +0 -29
  2289. package/templates/skills/kimi/omk-git-commit-pr/SKILL.md +0 -45
  2290. package/templates/skills/kimi/omk-global-rules/SKILL.md +0 -31
  2291. package/templates/skills/kimi/omk-industrial-control-loop/SKILL.md +0 -33
  2292. package/templates/skills/kimi/omk-kimi-runtime/SKILL.md +0 -46
  2293. package/templates/skills/kimi/omk-multimodal-ui-review/SKILL.md +0 -26
  2294. package/templates/skills/kimi/omk-plan-first/SKILL.md +0 -39
  2295. package/templates/skills/kimi/omk-project-rules/SKILL.md +0 -21
  2296. package/templates/skills/kimi/omk-python-typing/SKILL.md +0 -33
  2297. package/templates/skills/kimi/omk-quality-gate/SKILL.md +0 -36
  2298. package/templates/skills/kimi/omk-repo-explorer/SKILL.md +0 -33
  2299. package/templates/skills/kimi/omk-research-verify/SKILL.md +0 -30
  2300. package/templates/skills/kimi/omk-secret-guard/SKILL.md +0 -23
  2301. package/templates/skills/kimi/omk-security-review/SKILL.md +0 -49
  2302. package/templates/skills/kimi/omk-task-router/SKILL.md +0 -27
  2303. package/templates/skills/kimi/omk-test-debug-loop/SKILL.md +0 -43
  2304. package/templates/skills/kimi/omk-typescript-strict/SKILL.md +0 -38
  2305. package/templates/skills/kimi/omk-worktree-team/SKILL.md +0 -44
  2306. package/templates/skills/kimi/open-design/SKILL.md +0 -56
  2307. package/templates/skills/kimi/provider/SKILL.md +0 -47
  2308. package/templates/skills/kimi/react-doctor/SKILL.md +0 -46
  2309. package/templates/skills/kimi/speckit-analyze/SKILL.md +0 -255
  2310. package/templates/skills/kimi/speckit-checklist/SKILL.md +0 -367
  2311. package/templates/skills/kimi/speckit-clarify/SKILL.md +0 -249
  2312. package/templates/skills/kimi/speckit-constitution/SKILL.md +0 -152
  2313. package/templates/skills/kimi/speckit-implement/SKILL.md +0 -204
  2314. package/templates/skills/kimi/speckit-plan/SKILL.md +0 -147
  2315. package/templates/skills/kimi/speckit-specify/SKILL.md +0 -325
  2316. package/templates/skills/kimi/speckit-tasks/SKILL.md +0 -197
  2317. package/templates/skills/kimi/speckit-taskstoissues/SKILL.md +0 -101
  2318. package/templates/skills/kimi/think/SKILL.md +0 -41
  2319. package/templates/spec-kit-omk-preset/commands/plan.md +0 -21
  2320. package/templates/spec-kit-omk-preset/commands/tasks.md +0 -21
  2321. package/templates/spec-kit-omk-preset/preset.yml +0 -12
  2322. package/templates/spec-kit-omk-preset/templates/plan-template.md +0 -75
  2323. package/templates/spec-kit-omk-preset/templates/spec-template.md +0 -80
  2324. package/templates/spec-kit-omk-preset/templates/tasks-template.md +0 -160
  2325. package/templates/web-bridge/chrome-extension/README.md +0 -18
  2326. package/templates/web-bridge/chrome-extension/background.js +0 -57
  2327. package/templates/web-bridge/chrome-extension/content-script.js +0 -46
  2328. package/templates/web-bridge/chrome-extension/manifest.json +0 -16
  2329. package/templates/web-bridge/chrome-extension/popup.html +0 -21
  2330. package/templates/web-bridge/chrome-extension/popup.js +0 -9
@@ -1,2581 +0,0 @@
1
- import { realpathSync } from "node:fs";
2
- import { mkdir, writeFile, readFile, copyFile, readdir, stat, rename, symlink } from "fs/promises";
3
- import { basename, join, dirname } from "path";
4
- import { fileURLToPath } from "node:url";
5
- import { confirm, password } from "@inquirer/prompts";
6
- import { ExitPromptError } from "@inquirer/core";
7
- import { getProjectRoot, getUserHome, normalizeUserHomePath, pathExists } from "../util/fs.js";
8
- import { getOmkVersionSync } from "../util/version.js";
9
- import { style, header, status } from "../util/theme.js";
10
- import { defaultLspConfigJson } from "../lsp/default-config.js";
11
- import { t } from "../util/i18n.js";
12
- import { maybeAskForGitHubStar } from "../util/first-run-star.js";
13
- import { getDeepSeekProviderStatus, setDeepSeekApiKey } from "../providers/deepseek/deepseek-config.js";
14
- import { OMK_CORE_VERIFIED_PRESET, OMK_RUNTIME_PRESETS } from "../runtime/core-verified-preset.js";
15
- import { RECOMMENDED_MCP_SERVERS, getDefaultSelections, } from "../mcp/server-catalog.js";
16
- import { mcpBulkInstallCommand } from "./mcp.js";
17
- const __filename = fileURLToPath(import.meta.url);
18
- const __dirname = dirname(__filename);
19
- const packageRoot = join(__dirname, "..", "..");
20
- function createThemeJson() {
21
- return JSON.stringify({
22
- banner: {
23
- title: "OMK://CONTROL",
24
- subtitle: "Route agents. Verify evidence. Control the loop.",
25
- style: "default",
26
- enabled: true,
27
- },
28
- colors: {
29
- primary: "#00D6FF",
30
- accent: "#FF47B2",
31
- success: "#00FFC2",
32
- warning: "#FFB000",
33
- danger: "#FF5874",
34
- info: "#9D4EDD",
35
- muted: "#758FA8",
36
- },
37
- metaBox: true,
38
- }, null, 2) + "\n";
39
- }
40
- function createRuntimePresetsJson() {
41
- return JSON.stringify({
42
- defaultPresetId: OMK_CORE_VERIFIED_PRESET.id,
43
- presets: OMK_RUNTIME_PRESETS,
44
- }, null, 2) + "\n";
45
- }
46
- const OKABE_AGENT_YAML = `version: 1
47
- agent:
48
- extend: default
49
- name: omk-okabe-base
50
- # Provider adapters may require an explicit non-empty tools list for custom --agent-file configs.
51
- # Keep the full OMK native tool surface, including Agent for parallel subagents
52
- # and SendDMail for Okabe checkpoints; MCP/skills/hooks are injected by runtime config.
53
- tools:
54
- - "kimi_cli.tools.agent:Agent"
55
- - "kimi_cli.tools.ask_user:AskUserQuestion"
56
- - "kimi_cli.tools.todo:SetTodoList"
57
- - "kimi_cli.tools.shell:Shell"
58
- - "kimi_cli.tools.file:ReadFile"
59
- - "kimi_cli.tools.file:ReadMediaFile"
60
- - "kimi_cli.tools.file:Glob"
61
- - "kimi_cli.tools.file:Grep"
62
- - "kimi_cli.tools.file:WriteFile"
63
- - "kimi_cli.tools.file:StrReplaceFile"
64
- - "kimi_cli.tools.web:SearchWeb"
65
- - "kimi_cli.tools.web:FetchURL"
66
- - "kimi_cli.tools.plan.enter:EnterPlanMode"
67
- - "kimi_cli.tools.plan:ExitPlanMode"
68
- - "kimi_cli.tools.background:TaskList"
69
- - "kimi_cli.tools.background:TaskOutput"
70
- - "kimi_cli.tools.background:TaskStop"
71
- - "kimi_cli.tools.dmail:SendDMail"
72
- system_prompt_args:
73
- OMK_MCP_ENABLED: "true"
74
- OMK_SKILLS_ENABLED: "true"
75
- OMK_HOOKS_ENABLED: "true"
76
- `;
77
- const ROOT_AGENT_YAML = `version: 1
78
- agent:
79
- extend: ./okabe.yaml # Inherits the OMK provider-adapter tool surface plus MCP/skills/hooks flags
80
- name: omk-root
81
- system_prompt_path: ../prompts/root.md
82
- system_prompt_args:
83
- OMK_ROLE: "root-coordinator"
84
- OMK_MCP_ENABLED: "true"
85
- OMK_SKILLS_ENABLED: "true"
86
- OMK_HOOKS_ENABLED: "true"
87
- subagents:
88
- explorer:
89
- path: ./roles/explorer.yaml
90
- description: "Read-only repository exploration and context mapping with scoped MCP, skills, and hooks access when enabled by runtime scope"
91
- explore:
92
- path: ./roles/explorer.yaml
93
- description: "Alias for explorer; kept for compatibility with older OMK instructions"
94
- planner:
95
- path: ./roles/planner.yaml
96
- description: "Architecture, refactor, migration, and implementation planning with scoped MCP, skills, and hooks access when enabled by runtime scope"
97
- plan:
98
- path: ./roles/planner.yaml
99
- description: "Alias for planner; kept for compatibility with older OMK instructions"
100
- router:
101
- path: ./roles/router.yaml
102
- description: "Task routing, skill/MCP/hook fit, context budgeting, and parallel/sequential lane decisions with scoped MCP, skills, and hooks access when enabled by runtime scope"
103
- architect:
104
- path: ./roles/architect.yaml
105
- description: "Read-only architecture and migration design with scoped MCP, skills, and hooks access when enabled by runtime scope"
106
- coder:
107
- path: ./roles/coder.yaml
108
- description: "Scoped implementation in the current project with scoped MCP, skills, and hooks access when enabled by runtime scope"
109
- reviewer:
110
- path: ./roles/reviewer.yaml
111
- description: "Adversarial code review and risk detection with scoped MCP, skills, and hooks access when enabled by runtime scope"
112
- security:
113
- path: ./roles/security.yaml
114
- description: "Security, secret, permission, and trust-boundary review with scoped MCP, skills, and hooks access when enabled by runtime scope"
115
- qa:
116
- path: ./roles/qa.yaml
117
- description: "Run and analyze lint, typecheck, test, and build results with scoped MCP, skills, and hooks access when enabled by runtime scope"
118
- tester:
119
- path: ./roles/tester.yaml
120
- description: "Focused regression and edge-case testing with scoped MCP, skills, and hooks access when enabled by runtime scope"
121
- researcher:
122
- path: ./roles/researcher.yaml
123
- description: "Reference-backed research and external documentation checks with scoped MCP, skills, and hooks access when enabled by runtime scope"
124
- integrator:
125
- path: ./roles/integrator.yaml
126
- description: "Merge coordination and final synthesis with scoped MCP, skills, and hooks access when enabled by runtime scope"
127
- aggregator:
128
- path: ./roles/aggregator.yaml
129
- description: "Parallel-lane result aggregation with scoped MCP, skills, and hooks access when enabled by runtime scope"
130
- interviewer:
131
- path: ./roles/interviewer.yaml
132
- description: "Requirement clarification and acceptance criteria discovery with scoped MCP, skills, and hooks access when enabled by runtime scope"
133
- ontology:
134
- path: ./roles/ontology.yaml
135
- description: "Project graph memory and ontology curation with scoped MCP, skills, and hooks access when enabled by runtime scope"
136
- vision-debugger:
137
- path: ./roles/vision-debugger.yaml
138
- description: "Screenshot and multimodal debugging with scoped MCP, skills, and hooks access when enabled by runtime scope"
139
- `;
140
- const ROLE_YAMLS = {
141
- interviewer: `version: 1
142
- agent:
143
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
144
- name: omk-interviewer
145
- system_prompt_args:
146
- OMK_ROLE: "interviewer"
147
- OMK_MCP_ENABLED: "true"
148
- OMK_SKILLS_ENABLED: "true"
149
- OMK_HOOKS_ENABLED: "true"
150
- exclude_tools:
151
- - "kimi_cli.tools.file:WriteFile"
152
- - "kimi_cli.tools.file:StrReplaceFile"
153
- - "kimi_cli.tools.shell:Shell"
154
- `,
155
- architect: `version: 1
156
- agent:
157
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
158
- name: omk-architect
159
- system_prompt_args:
160
- OMK_ROLE: "architect"
161
- OMK_MCP_ENABLED: "true"
162
- OMK_SKILLS_ENABLED: "true"
163
- OMK_HOOKS_ENABLED: "true"
164
- exclude_tools:
165
- - "kimi_cli.tools.file:WriteFile"
166
- - "kimi_cli.tools.file:StrReplaceFile"
167
- - "kimi_cli.tools.shell:Shell"
168
- `,
169
- planner: `version: 1
170
- agent:
171
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
172
- name: omk-planner
173
- system_prompt_args:
174
- OMK_ROLE: "planner"
175
- OMK_MCP_ENABLED: "true"
176
- OMK_SKILLS_ENABLED: "true"
177
- OMK_HOOKS_ENABLED: "true"
178
- exclude_tools:
179
- - "kimi_cli.tools.file:WriteFile"
180
- - "kimi_cli.tools.file:StrReplaceFile"
181
- - "kimi_cli.tools.shell:Shell"
182
- `,
183
- router: `version: 1
184
- agent:
185
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
186
- name: omk-router
187
- system_prompt_args:
188
- OMK_ROLE: "router"
189
- OMK_MCP_ENABLED: "true"
190
- OMK_SKILLS_ENABLED: "true"
191
- OMK_HOOKS_ENABLED: "true"
192
- exclude_tools:
193
- - "kimi_cli.tools.file:WriteFile"
194
- - "kimi_cli.tools.file:StrReplaceFile"
195
- - "kimi_cli.tools.shell:Shell"
196
- `,
197
- explorer: `version: 1
198
- agent:
199
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
200
- name: omk-explorer
201
- system_prompt_args:
202
- OMK_ROLE: "explorer"
203
- OMK_MCP_ENABLED: "true"
204
- OMK_SKILLS_ENABLED: "true"
205
- OMK_HOOKS_ENABLED: "true"
206
- exclude_tools:
207
- - "kimi_cli.tools.file:WriteFile"
208
- - "kimi_cli.tools.file:StrReplaceFile"
209
- - "kimi_cli.tools.shell:Shell"
210
- `,
211
- coder: `version: 1
212
- agent:
213
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
214
- name: omk-coder
215
- system_prompt_args:
216
- OMK_ROLE: "coder"
217
- OMK_MCP_ENABLED: "true"
218
- OMK_SKILLS_ENABLED: "true"
219
- OMK_HOOKS_ENABLED: "true"
220
- `,
221
- reviewer: `version: 1
222
- agent:
223
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
224
- name: omk-reviewer
225
- system_prompt_args:
226
- OMK_ROLE: "reviewer"
227
- OMK_MCP_ENABLED: "true"
228
- OMK_SKILLS_ENABLED: "true"
229
- OMK_HOOKS_ENABLED: "true"
230
- exclude_tools:
231
- - "kimi_cli.tools.file:WriteFile"
232
- - "kimi_cli.tools.file:StrReplaceFile"
233
- - "kimi_cli.tools.shell:Shell"
234
- `,
235
- security: `version: 1
236
- agent:
237
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
238
- name: omk-security
239
- system_prompt_args:
240
- OMK_ROLE: "security"
241
- OMK_MCP_ENABLED: "true"
242
- OMK_SKILLS_ENABLED: "true"
243
- OMK_HOOKS_ENABLED: "true"
244
- exclude_tools:
245
- - "kimi_cli.tools.file:WriteFile"
246
- - "kimi_cli.tools.file:StrReplaceFile"
247
- `,
248
- qa: `version: 1
249
- agent:
250
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
251
- name: omk-qa
252
- system_prompt_args:
253
- OMK_ROLE: "qa"
254
- OMK_MCP_ENABLED: "true"
255
- OMK_SKILLS_ENABLED: "true"
256
- OMK_HOOKS_ENABLED: "true"
257
- exclude_tools:
258
- - "kimi_cli.tools.file:WriteFile"
259
- - "kimi_cli.tools.file:StrReplaceFile"
260
- `,
261
- tester: `version: 1
262
- agent:
263
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
264
- name: omk-tester
265
- system_prompt_args:
266
- OMK_ROLE: "tester"
267
- OMK_MCP_ENABLED: "true"
268
- OMK_SKILLS_ENABLED: "true"
269
- OMK_HOOKS_ENABLED: "true"
270
- exclude_tools:
271
- - "kimi_cli.tools.file:WriteFile"
272
- - "kimi_cli.tools.file:StrReplaceFile"
273
- `,
274
- integrator: `version: 1
275
- agent:
276
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
277
- name: omk-integrator
278
- system_prompt_args:
279
- OMK_ROLE: "integrator"
280
- OMK_MCP_ENABLED: "true"
281
- OMK_SKILLS_ENABLED: "true"
282
- OMK_HOOKS_ENABLED: "true"
283
- exclude_tools:
284
- - "kimi_cli.tools.file:WriteFile"
285
- - "kimi_cli.tools.file:StrReplaceFile"
286
- - "kimi_cli.tools.shell:Shell"
287
- `,
288
- aggregator: `version: 1
289
- agent:
290
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
291
- name: omk-aggregator
292
- system_prompt_args:
293
- OMK_ROLE: "aggregator"
294
- OMK_MCP_ENABLED: "true"
295
- OMK_SKILLS_ENABLED: "true"
296
- OMK_HOOKS_ENABLED: "true"
297
- exclude_tools:
298
- - "kimi_cli.tools.file:WriteFile"
299
- - "kimi_cli.tools.file:StrReplaceFile"
300
- - "kimi_cli.tools.shell:Shell"
301
- `,
302
- researcher: `version: 1
303
- agent:
304
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
305
- name: omk-researcher
306
- system_prompt_args:
307
- OMK_ROLE: "researcher"
308
- OMK_MCP_ENABLED: "true"
309
- OMK_SKILLS_ENABLED: "true"
310
- OMK_HOOKS_ENABLED: "true"
311
- exclude_tools:
312
- - "kimi_cli.tools.file:WriteFile"
313
- - "kimi_cli.tools.file:StrReplaceFile"
314
- - "kimi_cli.tools.shell:Shell"
315
- `,
316
- ontology: `version: 1
317
- agent:
318
- extend: ../okabe.yaml
319
- name: omk-ontology
320
- system_prompt_args:
321
- OMK_ROLE: "ontology"
322
- OMK_MCP_ENABLED: "true"
323
- OMK_SKILLS_ENABLED: "true"
324
- OMK_HOOKS_ENABLED: "true"
325
- exclude_tools:
326
- - "kimi_cli.tools.file:WriteFile"
327
- - "kimi_cli.tools.file:StrReplaceFile"
328
- - "kimi_cli.tools.shell:Shell"
329
- `,
330
- "vision-debugger": `version: 1
331
- agent:
332
- extend: ../okabe.yaml # Inherits unrestricted default Kimi tools plus MCP/skills/hooks flags
333
- name: omk-vision-debugger
334
- system_prompt_args:
335
- OMK_ROLE: "vision-debugger"
336
- OMK_MCP_ENABLED: "true"
337
- OMK_SKILLS_ENABLED: "true"
338
- OMK_HOOKS_ENABLED: "true"
339
- exclude_tools:
340
- - "kimi_cli.tools.file:WriteFile"
341
- - "kimi_cli.tools.file:StrReplaceFile"
342
- `,
343
- };
344
- function getDesignMd(version) {
345
- return `---
346
- title: "Design System"
347
- description: "Project visual identity and design system"
348
- version: "${version}"
349
- ---
350
-
351
- # DESIGN.md
352
-
353
- ## Overview
354
-
355
- Project visual identity and design system.
356
-
357
- ## Colors
358
-
359
- - Primary: #111827
360
- - Accent: #7C3AED
361
- - Success: #059669
362
- - Warning: #D97706
363
- - Danger: #DC2626
364
-
365
- ## Typography
366
-
367
- - Inter, system-ui
368
-
369
- ## Rules
370
-
371
- - Use tokens before inventing new values.
372
- - Keep components compact and status-aware.
373
- `;
374
- }
375
- const GEMINI_MD = `# GEMINI.md
376
-
377
- @./AGENTS.md
378
- @./DESIGN.md
379
-
380
- Use AGENTS.md as the canonical project instruction source, including current OMK skills, MCP, agents, and harness policy.
381
- Use DESIGN.md as the canonical visual identity source.
382
- Do not duplicate runtime inventories; follow AGENTS.md and \`chat-agent-harness.json\` when present.
383
- `;
384
- const CLAUDE_MD = `# CLAUDE.md
385
-
386
- @./AGENTS.md
387
- @./DESIGN.md
388
-
389
- Use AGENTS.md as the canonical project instruction source, including current OMK skills, MCP, agents, and harness policy.
390
- Use DESIGN.md for UI/frontend work.
391
- Do not duplicate runtime inventories; follow AGENTS.md and \`chat-agent-harness.json\` when present.
392
- `;
393
- const ROADMAP_MD = `# Roadmap
394
-
395
- Current source version: \`open-multi-agent-kit@0.80.2\` (\`pre-1.0\`; runtime contract family \`v1.2\`)
396
- Last updated: 2026-06-15
397
-
398
- ## v1.1.9 reality
399
-
400
- Provider routing and graph viewing are no longer purely future work:
401
-
402
- - \`omk run\`, \`omk parallel\`, and DAG replay expose \`--provider auto|kimi\`.
403
- - \`omk provider\` / \`omk deepseek\` manage DeepSeek enablement, key setup, availability checks, and configured authority fallback.
404
- - DeepSeek is an opportunistic read-only/advisory worker; the configured authority provider remains the orchestrator, writer, merger, and final authority.
405
- - \`omk graph view\` generates an HTML view from \`.omk/memory/graph-state.json\`.
406
- - \`omk goal\` has a persisted lifecycle, continue loop, generated plan/evidence criteria, and verification flow.
407
-
408
- ## v1.2 — Hardening the current surface
409
-
410
- ### P0: release and contract gates
411
-
412
- - Done: YAML validation now runs in local \`verify\` plus CI/smoke workflows.
413
- - Done: package dry-pack, package audit, tarball smoke, release matrix gates, GitHub Release, and npm registry verification were re-verified for \`0.80.0\`.
414
- - Done: provider/deepseek and screenshot JSON command contracts gained hermetic regression tests.
415
- - Done: current AGENTS/init templates and packaged workflow skills were aligned with the active skills/MCP/agents/harness surface, including all generated agent MCP/skills/hooks flags and parallel subagent orchestration guidance.
416
- - Remaining: lock broader provider fallback metadata with tests for rate limit, timeout, and Kimi fallback variants.
417
- - Remaining: define minimum machine-readable CLI envelopes for the rest of the automation-critical commands.
418
-
419
- ### P1: observability and diagnostics
420
-
421
- - Done: provider route/fallback counts are now emitted in run summaries/reports and summary terminal output.
422
- - Done: invalid MCP JSON is reported as a visible diagnostic without leaking secret-like config values.
423
- - Done: \`omk mcp doctor --json\` exposes structured server status, command resolution, timeout, permission, and config-source fields.
424
- - Expand JSON output for graph, DAG, summary, and workflow commands where CI or agents consume results.
425
- - Link graph nodes back to runs, goals, providers, and evidence so \`omk graph view\` becomes audit evidence, not only visualization.
426
-
427
- ### P2: execution depth and planner quality
428
-
429
- - Deepen \`omk team\` runtime reporting: worker state, pane/session health, artifacts, and verification handoff.
430
- - Done: replace the \`omk goal plan\` stub with a planner that emits steps, acceptance criteria, risks, and evidence gates.
431
- - Add provider-quality gates before broader non-Kimi worker pools.
432
- - Keep Kimi-only execution as the safe fallback path for every run.
433
-
434
- ## Later tracks
435
-
436
- ### Provider routing maturity
437
-
438
- - Keep Kimi as the main orchestrator, planner, merger, and final synthesis runtime.
439
- - Use provider hints for explorer, reviewer, QA, planner, and documentation roles only when preflight is healthy and task risk is low.
440
- - Record provider attempts, route confidence, fallback reason, and final authority in run evidence.
441
-
442
- ### Graph and memory maturity
443
-
444
- - Materialize provider routes, fallback events, goals, evidence gates, and run artifacts in the local graph/Kuzu ontology.
445
- - Keep \`omk graph view\` local-first and safe for private repositories.
446
-
447
- ### Historical milestones
448
-
449
- | Version | Focus |
450
- |---------|-------|
451
- | v0.1 | init / doctor / chat, P0 skills, AGENTS.md / DESIGN.md generation, quality gate hooks |
452
- | v0.2 | wire controller, HUD, run state, worker logs |
453
- | v0.3 | worktree team, merge queue, reviewer / QA / integrator agents |
454
- | v0.4 | Google DESIGN.md integration, Stitch skills installer, screenshot UI review, Spec Kit planning + DAG execution, agent registry, project index, run summary |
455
- | v0.5 | MCP project server, plugin pack, CI agent mode |
456
- | v1.1.6 | provider/deepseek commands, provider policy flags, graph view, goal lifecycle, expanded run history and update JSON |
457
- | v1.1.9 | chat harness manifest, capability DAG lanes, Windows clipboard screenshot bridge, release matrix |
458
- | v1.1.12 | Replay system, skill assigner, decision trace coverage, evidence gates, and repair policy |
459
- | v1.1.13 | Bundled MCP server entrypoints, ACP/host transport groundwork, deployment-ready package metadata |
460
- | v1.1.14 | Current harness docs, external-inspired workflow skills, and release-safe public wording |
461
- | v1.1.15 | Isolated HOME MCP shell-profile hotfix and persistent fetch MCP entrypoint |
462
- | v1.1.16 | Deterministic IntentFrame/ActionAtom orchestration, chat schema preflight, MCP duplicate policy, agent capability propagation, and doctor/init/pack smoke fixes |
463
- | v1.1.17 | Full generated-agent MCP/skills/hooks enablement, parallel subagent orchestration emphasis, and v1.1.17 release docs |
464
- `;
465
- const SECURITY_MD = `# Security Policy
466
-
467
- ## Reporting Vulnerabilities
468
-
469
- Please report security issues via GitHub Issues with the \`security\` label.
470
-
471
- ## Built-in Protections
472
-
473
- open-multi-agent-kit includes default hooks to block destructive commands and secret leakage.
474
-
475
- ## MCP and Harness Secret Handling
476
-
477
- - Fresh init writes project-local \`omk-project\` MCP only; user/global MCP and skills are runtime-only unless explicitly imported by a trusted local user.
478
- - Never print, commit, or summarize MCP \`env\`, headers, tokens, or provider keys.
479
- - Treat \`chat-agent-harness.json\` as private run metadata: use it for inventory/gates, but do not paste large inventories or secret-like values into prompts, memory, or reports.
480
- - Prefer sanitized \`omk mcp doctor --json\`, \`omk verify --json\`, test summaries, and secret scans as shareable evidence.
481
-
482
- ## Best Practices
483
-
484
- - Review hooks before running in production repositories.
485
- - Use \`--print\` mode only in disposable worktrees.
486
- - Never commit secrets into agent memory files.
487
- `;
488
- const ROOT_PROMPT_MD = `# OMK Root Agent
489
-
490
- You are the OMK root orchestrator for open-multi-agent-kit — a provider-neutral orchestration control plane that turns a goal into a bounded coding team.
491
-
492
- Models execute. OMK routes, verifies, measures, and controls.
493
-
494
- You must operate with OMK identity as the authority layer: summon parallel subagents when scopes are independent, assign each lane scoped MCP, skills, and hooks, and keep the root context focused on goal management, integration, evidence, and verification. The active runtime scope, selected provider adapter, and harness policy decide which resources are actually available.
495
-
496
- ## Loaded Project Instructions
497
-
498
- \${KIMI_AGENTS_MD}
499
-
500
- ## Loaded Skills
501
-
502
- \${KIMI_SKILLS}
503
-
504
- ## Global Rules
505
-
506
- - Apply AGENTS.md silently.
507
- - Do not repeat boilerplate.
508
- - Use SetTodoList for multi-step tasks.
509
- - Use Agent tool for non-trivial tasks. All 15 role agents (explorer, planner, router, architect, coder, reviewer, security, qa, tester, researcher, integrator, aggregator, interviewer, ontology, vision-debugger) are available with MCP, skills, and hooks capability flags.
510
- - Use skills when relevant.
511
- - Use MCP tools when configured and useful. All subagents inherit scoped MCP server inventory, skills, and hooks when enabled by runtime scope. Do not hesitate to invoke available capabilities.
512
- - Treat project-local ontology graph memory as mandatory when the omk-project MCP exposes memory tools.
513
- - Recall relevant project memory before work, write durable findings through omk_write_memory, and use omk_memory_mindmap/omk_graph_query for graph recall.
514
- - Prefer plan-first execution.
515
- - Prefer small, reviewable diffs.
516
- - Verify before completion.
517
- - Never claim tests passed unless they were run.
518
-
519
- ## Active Harness and Resource Inventory
520
-
521
- - If a run contains chat-agent-harness.json, read it for the full MCP/skills/hooks inventory, virtual DAG, authority boundaries, worker limits, and gate list.
522
- - Treat compact prompt resource counts as summaries only.
523
- - Default runtime scope is project MCP/skills; all-scope may read user ~/.kimi resources at runtime without copying personal files.
524
- - Do not paste huge global MCP/skill inventories or secret-bearing env/header values into prompts, memory, or final reports.
525
-
526
- ## OMK Context Tools
527
-
528
- - Root and generated role agents inherit an Okabe-compatible base that keeps the default Kimi tool surface unrestricted while enabling scoped MCP, skills, and hooks.
529
- - Use D-Mail before risky refactors, compaction, or long-running branch points: send a concise future-facing recovery note to the relevant checkpoint.
530
- - Use Kimi subagents for isolated context and parallel work; keep the root context focused on decisions, integration, and verification.
531
- - Prefer /compact or a D-Mail recovery note over dumping large history back into the prompt.
532
-
533
- ## Required Workflow
534
-
535
- For non-trivial tasks:
536
-
537
- 1. Read project instructions.
538
- 2. Create todos.
539
- 3. Launch appropriate subagents in parallel when their scopes are independent:
540
- - explorer for repository discovery
541
- - planner for architecture/refactor/risky work
542
- - coder for implementation
543
- - reviewer or qa for review and gate analysis
544
- - security for secret/permission/trust-boundary review
545
- - ontology for graph memory and project knowledge curation
546
- 4. Read relevant skills.
547
- 5. Use MCP if useful.
548
- 6. Implement minimal changes.
549
- 7. Run quality gates.
550
- 8. Review final diff.
551
- 9. Return factual final report.
552
-
553
- ## Final Report Format
554
-
555
- \`\`\`txt
556
- Changed:
557
- Files:
558
- Commands:
559
- Result:
560
- Risk:
561
- \`\`\`
562
- `;
563
- function hasErrorCode(error, code) {
564
- return (typeof error === "object" &&
565
- error !== null &&
566
- "code" in error &&
567
- error.code === code);
568
- }
569
- async function readTemplateFile(relativePath, fallback) {
570
- try {
571
- return await readFile(join(packageRoot, "templates", relativePath), "utf8");
572
- }
573
- catch {
574
- return fallback;
575
- }
576
- }
577
- async function getCopyEntryKind(srcPath, entry) {
578
- if (entry.isDirectory())
579
- return "directory";
580
- if (entry.isFile())
581
- return "file";
582
- if (!entry.isSymbolicLink())
583
- return null;
584
- try {
585
- const targetStats = await stat(srcPath);
586
- if (targetStats.isDirectory())
587
- return "directory";
588
- if (targetStats.isFile())
589
- return "file";
590
- return null;
591
- }
592
- catch (error) {
593
- if (hasErrorCode(error, "ENOENT"))
594
- return null;
595
- throw error;
596
- }
597
- }
598
- const SKILL_COPY_IGNORED_NAMES = new Set([
599
- ".git",
600
- ".hg",
601
- ".svn",
602
- ".DS_Store",
603
- "node_modules",
604
- "dist",
605
- "build",
606
- "coverage",
607
- ".venv",
608
- "venv",
609
- "__pycache__",
610
- ".pytest_cache",
611
- ".mypy_cache",
612
- ".ruff_cache",
613
- ]);
614
- const PROTECTED_SKILL_FILE_PATTERNS = [
615
- /^\.env(?:\..*)?$/i,
616
- /^\.npmrc$/i,
617
- /^\.pypirc$/i,
618
- /^\.netrc$/i,
619
- /\.pem$/i,
620
- /\.key$/i,
621
- /\.p8$/i,
622
- /\.p12$/i,
623
- /\.pfx$/i,
624
- /^id_rsa$/i,
625
- /^id_ed25519$/i,
626
- /^credentials\.json$/i,
627
- /^service-account.*\.json$/i,
628
- ];
629
- const SKILL_SECRET_LITERAL_PATTERNS = [
630
- /-----BEGIN [A-Z ]*PRIVATE KEY-----/,
631
- /AKIA[0-9A-Z]{16}/,
632
- /gh[pousr]_[A-Za-z0-9_]{20,}/,
633
- /glpat-[A-Za-z0-9\-_]{20,}/,
634
- /\bsk-[A-Za-z0-9]{20,}\b/,
635
- /\bfc-[A-Za-z0-9_-]{20,}\b/,
636
- /\b(?:sk|pk)_(?:live|test)_[A-Za-z0-9]{16,}\b/,
637
- /\bxox[baprs]-[A-Za-z0-9-]{20,}\b/,
638
- ];
639
- const GENERIC_SKILL_SECRET_ASSIGNMENT = /\b(api[_-]?key|secret|token|password|private[_-]?key)\b\s*[:=]\s*["']?([^"'\s;,]{20,})/i;
640
- const GENERIC_SKILL_SECRET_ALLOWLIST = /\$\{|<|YOUR_|REPLACE_|NPM_TOKEN|GITHUB_TOKEN|NODE_AUTH_TOKEN|process\.env|env\.|placeholder|example|sample|redacted|\*\*\*|Do not store secrets|Do not send secrets|secret leakage|secret leak/i;
641
- function shouldSkipSkillCopyEntry(_srcPath, entry) {
642
- return SKILL_COPY_IGNORED_NAMES.has(entry.name);
643
- }
644
- function isProtectedSkillFileName(filePath) {
645
- const name = basename(filePath);
646
- return PROTECTED_SKILL_FILE_PATTERNS.some((pattern) => pattern.test(name));
647
- }
648
- function isLikelyBinaryContent(buffer) {
649
- return buffer.includes(0);
650
- }
651
- function hasSecretLikeSkillLine(line) {
652
- if (SKILL_SECRET_LITERAL_PATTERNS.some((pattern) => pattern.test(line)))
653
- return true;
654
- return GENERIC_SKILL_SECRET_ASSIGNMENT.test(line) && !GENERIC_SKILL_SECRET_ALLOWLIST.test(line);
655
- }
656
- async function skillDirectoryHasSecretContent(dir) {
657
- const entries = await readdir(dir, { withFileTypes: true });
658
- for (const entry of entries) {
659
- const srcPath = join(dir, entry.name);
660
- if (shouldSkipSkillCopyEntry(srcPath, entry))
661
- continue;
662
- if (isProtectedSkillFileName(srcPath))
663
- return true;
664
- const kind = await getCopyEntryKind(srcPath, entry);
665
- if (kind === "directory") {
666
- if (await skillDirectoryHasSecretContent(srcPath))
667
- return true;
668
- continue;
669
- }
670
- if (kind !== "file")
671
- continue;
672
- const buffer = await readFile(srcPath);
673
- if (isLikelyBinaryContent(buffer))
674
- continue;
675
- const text = buffer.toString("utf-8");
676
- for (const line of text.split(/\r?\n/)) {
677
- if (hasSecretLikeSkillLine(line))
678
- return true;
679
- }
680
- }
681
- return false;
682
- }
683
- async function copyTemplateDir(src, dest, options = {}) {
684
- const entries = await readdir(src, { withFileTypes: true });
685
- for (const entry of entries) {
686
- const srcPath = join(src, entry.name);
687
- if (await options.skipEntry?.(srcPath, entry))
688
- continue;
689
- const destPath = join(dest, entry.name);
690
- const kind = await getCopyEntryKind(srcPath, entry);
691
- if (kind === "directory") {
692
- await mkdir(destPath, { recursive: true });
693
- await copyTemplateDir(srcPath, destPath, options);
694
- }
695
- else if (kind === "file") {
696
- await mkdir(dirname(destPath), { recursive: true });
697
- await copyFile(srcPath, destPath);
698
- }
699
- }
700
- }
701
- async function copySafeSkillRoot(src, dest) {
702
- const stats = {
703
- copied: 0,
704
- skippedUnsafe: 0,
705
- skippedUnavailable: 0,
706
- };
707
- const entries = await readdir(src, { withFileTypes: true });
708
- for (const entry of entries) {
709
- const srcPath = join(src, entry.name);
710
- if (entry.name.startsWith(".") || shouldSkipSkillCopyEntry(srcPath, entry))
711
- continue;
712
- const kind = await getCopyEntryKind(srcPath, entry);
713
- if (kind !== "directory") {
714
- if (entry.isSymbolicLink())
715
- stats.skippedUnavailable++;
716
- continue;
717
- }
718
- try {
719
- if (await skillDirectoryHasSecretContent(srcPath)) {
720
- stats.skippedUnsafe++;
721
- continue;
722
- }
723
- await copyTemplateDir(srcPath, join(dest, entry.name), {
724
- skipEntry: shouldSkipSkillCopyEntry,
725
- });
726
- stats.copied++;
727
- }
728
- catch {
729
- stats.skippedUnavailable++;
730
- }
731
- }
732
- return stats;
733
- }
734
- const HOOK_SCRIPTS = {
735
- "session-context.sh": `#!/usr/bin/env bash
736
- # OMK SessionStart Context — keeps high-value local workflows visible
737
- set -euo pipefail
738
-
739
- if ! command -v node &>/dev/null; then
740
- echo '{"hookSpecificOutput":{"hookEventName":"SessionStart","additionalContext":"OMK session started. Read project rules, use graph-view for memory relationships, use open-design for localhost design, and verify before final."}}'
741
- exit 0
742
- fi
743
-
744
- node <<'NODE'
745
- const context = [
746
- 'OMK session startup context.',
747
- '- Read AGENTS.md and .kimi/AGENTS.md before edits; read DESIGN.md before UI/frontend/visual work.',
748
- '- For local design iteration, use /open-design or omk design open-design --open to launch localhost.',
749
- '- For memory/risk/file relationships, use /graph-view or omk graph view --open before broad repo edits.',
750
- '- Treat release, push, publish, and deployment as not done unless the exact command ran and fresh evidence was collected.',
751
- '- Final reports should list changed files, commands run, pass/fail/not-run status, and remaining risk.',
752
- ].join('\\n');
753
-
754
- process.stdout.write(JSON.stringify({
755
- hookSpecificOutput: {
756
- hookEventName: 'SessionStart',
757
- additionalContext: context,
758
- },
759
- }) + '\\n');
760
- NODE
761
- `,
762
- "awesome-agent-skills-router.sh": `#!/usr/bin/env bash
763
- # Awesome Agent Skills Router — curated OMK hints from VoltAgent/awesome-agent-skills
764
- set -euo pipefail
765
-
766
- # This hook is advisory only: no network access, no third-party skill install,
767
- # and no prompt blocking. It maps common awesome-agent-skills domains to the
768
- # already-installed OMK skills/workflows that are safe to consider.
769
- if ! command -v node &>/dev/null; then
770
- exit 0
771
- fi
772
-
773
- INPUT_FILE="$(mktemp)"
774
- trap 'rm -f "$INPUT_FILE"' EXIT
775
- cat > "$INPUT_FILE"
776
-
777
- node - "$INPUT_FILE" <<'NODE'
778
- const fs = require('node:fs');
779
- // Static slash markers for non-shell smoke validation:
780
- // /open-design /awesome-design-md /omk-design-md /omk-quality-gate /graph-view /omk-kimi-runtime
781
-
782
- function readPayload(filePath) {
783
- try {
784
- const raw = fs.readFileSync(filePath, 'utf8').trim();
785
- if (!raw) return {};
786
- return JSON.parse(raw);
787
- } catch {
788
- return {};
789
- }
790
- }
791
-
792
- function textFrom(value) {
793
- if (typeof value === 'string') return value;
794
- if (Array.isArray(value)) {
795
- return value.map(textFrom).filter(Boolean).join('\\n');
796
- }
797
- if (value && typeof value === 'object') {
798
- for (const key of ['prompt', 'user_prompt', 'message', 'input', 'text', 'content', 'command_args']) {
799
- const found = textFrom(value[key]);
800
- if (found) return found;
801
- }
802
- }
803
- return '';
804
- }
805
-
806
- const payload = readPayload(process.argv[2]);
807
- const prompt = textFrom(payload.prompt)
808
- || textFrom(payload.user_prompt)
809
- || textFrom(payload.message)
810
- || textFrom(payload.input)
811
- || textFrom(payload.command_args)
812
- || textFrom(payload.tool_input)
813
- || textFrom(payload);
814
-
815
- const normalized = prompt.toLowerCase();
816
- if (normalized.trim().length < 3) {
817
- process.exit(0);
818
- }
819
-
820
- const routes = [
821
- {
822
- id: 'design-ui',
823
- patterns: [
824
- 'design', 'ui', 'ux', 'frontend', 'front-end', 'figma', 'stitch', 'open-design',
825
- 'prototype', 'landing', 'component', 'visual', 'screenshot', 'responsive', 'accessibility',
826
- 'react', 'next.js', 'vite', 'expo', 'react native',
827
- '디자인', '화면', '프론트', '랜딩', '컴포넌트', '시각', '스크린샷', '반응형', '접근성', '프로토타입',
828
- ],
829
- skills: ['open-design', 'awesome-design-md', 'omk-design-md', 'omk-flow-design-to-code', 'omk-multimodal-ui-review', 'react-doctor'],
830
- note: 'For visual work, read DESIGN.md, reuse tokens, use awesome-design-md references when a named style is requested, and launch localhost with omk design open-design when interactive design is useful.',
831
- },
832
- {
833
- id: 'bugfix-debug',
834
- patterns: [
835
- 'bug', 'error', 'failed', 'failure', 'traceback', 'exception', 'fix', 'regression', 'broken', 'debug',
836
- '버그', '에러', '오류', '실패', '고쳐', '수정', '안됨', '안돼', '문제', '디버그',
837
- ],
838
- skills: ['omk-flow-bugfix', 'andrej-karpathy-skills', 'matt-pocock-skills', 'omk-quality-gate'],
839
- note: 'For failures, isolate root cause first, keep the patch small, and rerun the failing command plus the quality gate.',
840
- },
841
- {
842
- id: 'feature-build',
843
- patterns: [
844
- 'implement', 'build', 'add ', 'create', 'scaffold', 'generate', 'feature', 'new command',
845
- '구현', '추가', '만들', '생성', '기능', '신규',
846
- ],
847
- skills: ['omk-plan-first', 'omk-flow-feature-dev', 'matt-pocock-skills', 'andrej-karpathy-skills', 'omk-quality-gate'],
848
- note: 'For new capability work, plan the smallest reversible diff and include regression coverage before completion.',
849
- },
850
- {
851
- id: 'review-security',
852
- patterns: [
853
- 'review', 'audit', 'security', 'vulnerability', 'secret', 'token', 'auth', 'permission', 'xss', 'sql injection', 'ssrf',
854
- '리뷰', '검토', '보안', '취약', '시크릿', '토큰', '인증', '권한',
855
- ],
856
- skills: ['omk-code-review', 'omk-quality-gate'],
857
- note: 'For security-sensitive work, do not print secrets, review trust boundaries, and run the project secret scan when available.',
858
- },
859
- {
860
- id: 'release-git',
861
- patterns: [
862
- 'release', 'publish', 'npm', 'version', 'changelog', 'commit', 'pull request', ' pr ', 'pr로', 'push', 'tag',
863
- '배포', '릴리즈', '버전', '변경로그', '커밋', '푸시',
864
- ],
865
- skills: ['omk-flow-release', 'omk-flow-pr-review', 'omk-quality-gate'],
866
- note: 'For release or PR work, verify build/test/package evidence before reporting publish or PR readiness.',
867
- },
868
- {
869
- id: 'spec-planning',
870
- patterns: [
871
- 'spec', 'prd', 'requirements', 'acceptance', 'tasks', 'speckit', 'plan', 'architecture',
872
- '명세', '요구사항', '수락기준', '계획', '아키텍처',
873
- ],
874
- skills: ['omk-plan-first', 'speckit-specify', 'speckit-plan', 'speckit-tasks'],
875
- note: 'For specification work, produce acceptance criteria and a test shape before implementation.',
876
- },
877
- {
878
- id: 'refactor-cleanup',
879
- patterns: [
880
- 'refactor', 'cleanup', 'simplify', 'deslop', 'debt', 'migration',
881
- '리팩토', '정리', '단순화', '마이그레이션',
882
- ],
883
- skills: ['omk-flow-refactor', 'andrej-karpathy-skills', 'matt-pocock-skills', 'omk-quality-gate'],
884
- note: 'For refactors, preserve behavior with tests first and avoid unrelated rewrites.',
885
- },
886
- {
887
- id: 'ontology-graph',
888
- patterns: [
889
- 'ontology', 'graph', 'graph-view', 'node', 'nodes', 'edge', 'edges', 'relationship',
890
- 'memory graph', 'risk map', 'decision graph', 'trace map',
891
- '온톨로지', '그래프', '노드', '엣지', '관계', '메모리 그래프', '리스크맵', '결정 그래프',
892
- ],
893
- skills: ['graph-view', 'omk-kimi-runtime', 'omk-quality-gate'],
894
- note: 'For graph or memory-relationship work, inspect .omk/memory/graph-state.json with omk graph view --open or /graph-view before changing code.',
895
- },
896
- {
897
- id: 'agent-orchestration',
898
- patterns: [
899
- 'agent', 'subagent', 'multi-agent', 'orchestration', 'workflow', 'mcp', 'hook', 'hooks', 'skill', 'skills', 'memory',
900
- '에이전트', '서브에이전트', '워크플로', '훅', '스킬', '메모리',
901
- ],
902
- skills: ['omk-task-router', 'omk-project-rules', 'omk-kimi-runtime', 'omk-flow-team-run', 'agentmemory', 'multica', 'andrej-karpathy-skills'],
903
- note: 'For agent or hook work, keep routing advisory, avoid installing unreviewed external skills, and verify generated config locally.',
904
- },
905
- {
906
- id: 'tests-quality',
907
- patterns: [
908
- 'test', 'tests', 'qa', 'quality', 'lint', 'typecheck', 'playwright', 'e2e', 'coverage',
909
- '테스트', '검증', '품질', '타입체크', '커버리지',
910
- ],
911
- skills: ['omk-quality-gate'],
912
- note: 'For validation requests, run the actual project scripts and report exact pass/fail evidence.',
913
- },
914
- {
915
- id: 'docs-research',
916
- patterns: [
917
- 'docs', 'documentation', 'readme', 'research', 'verify', 'official docs', 'look up',
918
- '문서', '조사', '검증', '검색', '찾아',
919
- ],
920
- skills: ['omk-plan-first', 'omk-quality-gate'],
921
- note: 'For docs or external references, prefer official/current sources and cite or record what was verified.',
922
- },
923
- ];
924
-
925
- const matched = routes.filter((route) => route.patterns.some((pattern) => normalized.includes(pattern)));
926
- if (matched.length === 0) {
927
- process.exit(0);
928
- }
929
-
930
- const skills = [];
931
- for (const route of matched) {
932
- for (const skill of route.skills) {
933
- if (!skills.includes(skill)) skills.push(skill);
934
- }
935
- }
936
-
937
- if (!skills.includes('omk-quality-gate')) {
938
- skills.push('omk-quality-gate');
939
- }
940
-
941
- const context = [
942
- 'OMK awesome-agent-skills routing hint (curated from VoltAgent/awesome-agent-skills; advisory only).',
943
- 'Matched domains: ' + matched.map((route) => route.id).join(', '),
944
- 'Prefer installed OMK skills/workflows: ' + skills.map((skill) => '/' + skill).join(', '),
945
- 'Do not auto-install third-party skills from awesome-agent-skills. Review source, license, and security before adoption.',
946
- ...matched.slice(0, 4).map((route) => route.note),
947
- ].join('\\n');
948
-
949
- process.stdout.write(JSON.stringify({
950
- hookSpecificOutput: {
951
- hookEventName: 'UserPromptSubmit',
952
- additionalContext: context,
953
- },
954
- }) + '\\n');
955
- NODE
956
- `,
957
- "precompact-checkpoint.sh": `#!/usr/bin/env bash
958
- # OMK PreCompact Checkpoint — compact without losing recovery state
959
- set -euo pipefail
960
-
961
- if ! command -v node &>/dev/null; then
962
- echo '{"hookSpecificOutput":{"hookEventName":"PreCompact","additionalContext":"Before compaction: record goal, changed files, verification state, blockers, and next action. Never store secrets."}}'
963
- exit 0
964
- fi
965
-
966
- node <<'NODE'
967
- const context = [
968
- 'OMK pre-compaction checkpoint.',
969
- '- Preserve current goal, changed files, verification state, blockers, and intended next action.',
970
- '- If available, write concise notes to .omx/notepad.md or project-local memory; never store secrets.',
971
- '- After compaction, refresh from the checkpoint before editing or claiming completion.',
972
- ].join('\\n');
973
-
974
- process.stdout.write(JSON.stringify({
975
- hookSpecificOutput: {
976
- hookEventName: 'PreCompact',
977
- additionalContext: context,
978
- },
979
- }) + '\\n');
980
- NODE
981
- `,
982
- "subagent-stop-audit.sh": `#!/usr/bin/env bash
983
- # OMK SubagentStop Audit — leader must verify delegated work
984
- set -euo pipefail
985
-
986
- HOOK_INPUT="$(cat || true)"
987
-
988
- if ! command -v node &>/dev/null; then
989
- exit 0
990
- fi
991
-
992
- OMK_HOOK_INPUT="$HOOK_INPUT" \\
993
- node <<'NODE'
994
- const inputText = process.env.OMK_HOOK_INPUT || '';
995
-
996
- let input = {};
997
- try {
998
- input = inputText.trim() ? JSON.parse(inputText) : {};
999
- } catch (error) {
1000
- console.error('[subagent-stop-audit] invalid stdin JSON: ' + String(error));
1001
- process.exit(0);
1002
- }
1003
-
1004
- if (input.stop_hook_active === true) {
1005
- process.exit(0);
1006
- }
1007
-
1008
- const context = [
1009
- 'OMK subagent completion audit.',
1010
- '- Do not claim success from a subagent report alone.',
1011
- '- Review the concrete files changed, reconcile conflicts, and keep unrelated user edits intact.',
1012
- '- Run the relevant quality gates locally and report pass/fail/not-run evidence.',
1013
- ].join('\\n');
1014
-
1015
- process.stdout.write(JSON.stringify({
1016
- systemMessage: context,
1017
- }) + '\\n');
1018
- NODE
1019
- `,
1020
- "branch-diff-snapshot.sh": `#!/usr/bin/env bash
1021
- # OMK Branch Diff Snapshot — records merge-review metadata without full diff contents
1022
- set +e
1023
-
1024
- SNAP_DIR=".omk/runs/_branch-snapshots"
1025
- mkdir -p "$SNAP_DIR" >/dev/null 2>&1
1026
-
1027
- if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
1028
- echo '{"hookSpecificOutput":{"hookEventName":"SubagentStop","additionalContext":"Branch diff snapshot skipped: not inside a git worktree."}}'
1029
- exit 0
1030
- fi
1031
-
1032
- branch="$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo unknown)"
1033
- commit="$(git rev-parse --short HEAD 2>/dev/null || echo unknown)"
1034
- safe_branch="$(printf '%s' "$branch" | tr -c 'A-Za-z0-9._-' '-')"
1035
- stamp="$(date -u +%Y%m%dT%H%M%SZ)"
1036
- snapshot="$SNAP_DIR/$stamp-$safe_branch.md"
1037
-
1038
- {
1039
- echo "# OMK branch diff snapshot"
1040
- echo
1041
- echo "- branch: $branch"
1042
- echo "- commit: $commit"
1043
- echo "- captured_at: $stamp"
1044
- echo
1045
- echo "## Status"
1046
- git status --short 2>/dev/null || true
1047
- echo
1048
- echo "## Diff stat"
1049
- git diff --stat 2>/dev/null || true
1050
- echo
1051
- echo "## Changed files"
1052
- git diff --name-only 2>/dev/null || true
1053
- } > "$snapshot"
1054
-
1055
- printf '{"hookSpecificOutput":{"hookEventName":"SubagentStop","additionalContext":"Branch diff snapshot saved: %s"}}\\n' "$snapshot"
1056
- `,
1057
- "pre-shell-guard.sh": `#!/usr/bin/env bash
1058
- # PreShellUse Guard — blocks dangerous commands
1059
- set -e
1060
-
1061
- # Close security gate if jq/python3 is missing (deny by default)
1062
- if command -v python3 &>/dev/null; then
1063
- PY=python3
1064
- elif command -v python &>/dev/null; then
1065
- PY=python
1066
- else
1067
- echo '{"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":"python3 not installed — pre-shell-guard cannot validate commands"}}'
1068
- exit 0
1069
- fi
1070
-
1071
- INPUT=$(cat)
1072
- DESTRUCTIVE_DECISION=$(INPUT_JSON="$INPUT" "$PY" <<'PY'
1073
- import json
1074
- import os
1075
- import posixpath
1076
- import shlex
1077
-
1078
- def decision(reason):
1079
- print(json.dumps({"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":reason}}, separators=(",", ":")))
1080
-
1081
- def as_tokens(value):
1082
- if isinstance(value, list):
1083
- return [str(item) for item in value]
1084
- if isinstance(value, str) and value.strip():
1085
- return shlex.split(value, comments=True, posix=True)
1086
- return []
1087
-
1088
- def expand_shell_wrappers(root_tokens):
1089
- result = []
1090
- queue = [root_tokens]
1091
- while queue and len(result) < 8:
1092
- current = queue.pop(0)
1093
- result.append(current)
1094
- for idx, token in enumerate(current):
1095
- if posixpath.basename(token) not in {"bash", "sh", "zsh", "dash"}:
1096
- continue
1097
- j = idx + 1
1098
- while j < len(current):
1099
- opt = current[j]
1100
- if opt == "--":
1101
- j += 1
1102
- break
1103
- if opt in {"-c", "-lc"} or (opt.startswith("-") and not opt.startswith("--") and "c" in opt):
1104
- if j + 1 < len(current):
1105
- queue.append(as_tokens(current[j + 1]))
1106
- break
1107
- if opt.startswith("-"):
1108
- j += 1
1109
- continue
1110
- break
1111
- return result
1112
-
1113
- def flag_letters(token):
1114
- if token.startswith("--"):
1115
- return set()
1116
- if token.startswith("-"):
1117
- return set(token[1:])
1118
- return set()
1119
-
1120
- def has_rm_rf(tokens, index):
1121
- letters = set()
1122
- for token in tokens[index + 1:]:
1123
- letters.update(flag_letters(token))
1124
- if not token.startswith("-"):
1125
- break
1126
- return "r" in letters and "f" in letters
1127
-
1128
- def rm_rf_targets_catastrophic(tokens, index):
1129
- if not has_rm_rf(tokens, index):
1130
- return False
1131
- targets = []
1132
- for token in tokens[index + 1:]:
1133
- if token == "--" or token.startswith("-"):
1134
- continue
1135
- targets.append(token)
1136
- return any(target in {"/", "~", "$HOME"} or target.startswith("/*") or target.startswith("/dev/") for target in targets)
1137
-
1138
- def has_git_clean_danger(tokens, index):
1139
- rest = tokens[index + 1:]
1140
- if "clean" not in rest:
1141
- return False
1142
- clean_index = rest.index("clean") + index + 1
1143
- letters = set()
1144
- for token in tokens[clean_index + 1:]:
1145
- letters.update(flag_letters(token))
1146
- return {"f", "d", "x"}.issubset(letters)
1147
-
1148
- def has_pipe_to_shell(tokens):
1149
- shell_names = {"bash", "sh", "zsh", "dash"}
1150
- downloaders = {"curl", "wget"}
1151
- for idx, token in enumerate(tokens):
1152
- if token != "|":
1153
- continue
1154
- left = {posixpath.basename(item) for item in tokens[:idx]}
1155
- right = {posixpath.basename(item) for item in tokens[idx + 1:]}
1156
- if left & downloaders and right & shell_names:
1157
- return True
1158
- return False
1159
-
1160
- def is_destructive(tokens):
1161
- # Low-friction benchmark/SWE mode: only stop machine-destroying operations.
1162
- # Package managers, git clean, chmod, docker, kubectl, sudo, and pipe-to-shell
1163
- # are allowed so normal coding agents do not stall on broad heuristics.
1164
- normalized = [str(token) for token in tokens]
1165
- for idx, token in enumerate(normalized):
1166
- exe = posixpath.basename(token)
1167
- if exe == "rm" and rm_rf_targets_catastrophic(normalized, idx):
1168
- return True
1169
- if exe.startswith("mkfs"):
1170
- return True
1171
- if exe == "dd" and any(arg.startswith("of=/dev/") for arg in normalized[idx + 1:]):
1172
- return True
1173
- return False
1174
-
1175
- try:
1176
- data = json.loads(os.environ.get("INPUT_JSON", "{}"))
1177
- tool_input = data.get("tool_input", {})
1178
- tokens = as_tokens(tool_input.get("command", "")) + as_tokens(tool_input.get("args", ""))
1179
- for expanded in expand_shell_wrappers(tokens):
1180
- if is_destructive(expanded):
1181
- decision("Potentially destructive command blocked by pre-shell-guard")
1182
- break
1183
- except Exception:
1184
- # If token parsing fails on complex shell/heredoc syntax, fall through to the
1185
- # literal block list and release guard instead of blocking benign coding work.
1186
- pass
1187
- PY
1188
- )
1189
- if [ -n "$DESTRUCTIVE_DECISION" ]; then
1190
- echo "$DESTRUCTIVE_DECISION"
1191
- exit 0
1192
- fi
1193
- COMMAND=$(echo "$INPUT" | $PY -c 'import sys,json; d=json.load(sys.stdin); print(d.get("tool_input",{}).get("command",""))')
1194
- ARGS=$(echo "$INPUT" | $PY -c 'import sys,json; d=json.load(sys.stdin); print(d.get("tool_input",{}).get("args",""))')
1195
-
1196
- FULL="$COMMAND $ARGS"
1197
-
1198
- # Block list
1199
- BLOCKED=(
1200
- "rm -rf /"
1201
- "rm -fr /"
1202
- "rm -rf /*"
1203
- "rm -fr /*"
1204
- "rm -rf ~"
1205
- "rm -fr ~"
1206
- "mkfs"
1207
- "of=/dev/"
1208
- "> /dev/"
1209
- ":(){ :|:& };:"
1210
- )
1211
-
1212
- for pattern in "\${BLOCKED[@]}"; do
1213
- if [[ "$FULL" == *"$pattern"* ]]; then
1214
- echo '{"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":"Potentially destructive command blocked by pre-shell-guard"}}'
1215
- exit 0
1216
- fi
1217
- done
1218
-
1219
- # Release/deploy guard. These commands are not destructive like rm -rf, but
1220
- # they can publish external state. Parse tokens so common option/shell-wrapper
1221
- # variants cannot bypass the guard.
1222
- SCRIPT_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
1223
- INPUT_JSON="$INPUT" SCRIPT_DIR="$SCRIPT_DIR" "$PY" <<'PY'
1224
- import json
1225
- import os
1226
- import posixpath
1227
- import shlex
1228
- import sys
1229
-
1230
- def respond(permission, reason=None):
1231
- payload = {"hookSpecificOutput": {"hookEventName": "PreToolUse", "permissionDecision": permission}}
1232
- if reason:
1233
- payload["hookSpecificOutput"]["permissionDecisionReason"] = reason
1234
- print(json.dumps(payload, separators=(",", ":")))
1235
- sys.exit(0)
1236
-
1237
- def as_tokens(value):
1238
- if isinstance(value, list):
1239
- return [str(item) for item in value]
1240
- if isinstance(value, str) and value.strip():
1241
- return shlex.split(value, comments=True, posix=True)
1242
- return []
1243
-
1244
- def expand_shell_wrappers(root_tokens):
1245
- result = []
1246
- queue = [root_tokens]
1247
- while queue and len(result) < 8:
1248
- current = queue.pop(0)
1249
- result.append(current)
1250
- for idx, token in enumerate(current):
1251
- if posixpath.basename(token) not in {"bash", "sh", "zsh", "dash"}:
1252
- continue
1253
- j = idx + 1
1254
- while j < len(current):
1255
- opt = current[j]
1256
- if opt == "--":
1257
- j += 1
1258
- break
1259
- if opt in {"-c", "-lc"} or (opt.startswith("-") and not opt.startswith("--") and "c" in opt):
1260
- if j + 1 < len(current):
1261
- try:
1262
- queue.append(as_tokens(current[j + 1]))
1263
- except ValueError as exc:
1264
- respond("deny", f"Unable to parse shell-wrapped release/deploy command safely: {exc}")
1265
- break
1266
- if opt.startswith("-"):
1267
- j += 1
1268
- continue
1269
- break
1270
- return result
1271
-
1272
- def skip_flags(tokens, index):
1273
- value_flags = {
1274
- "-C", "-c", "--config-env", "--git-dir", "--work-tree", "--namespace",
1275
- "--registry", "--userconfig", "--prefix", "--cache", "--filter", "--workspace",
1276
- "--cwd", "--repo", "-R", "--ref", "--field", "-f", "--json", "--jq",
1277
- }
1278
- i = index
1279
- while i < len(tokens):
1280
- token = tokens[i]
1281
- if token == "--":
1282
- return i + 1
1283
- if token in value_flags and i + 1 < len(tokens):
1284
- i += 2
1285
- continue
1286
- if any(token.startswith(prefix + "=") for prefix in value_flags if prefix.startswith("--")):
1287
- i += 1
1288
- continue
1289
- if token.startswith("-"):
1290
- i += 1
1291
- continue
1292
- return i
1293
- return i
1294
-
1295
- def is_release_command(tokens):
1296
- i = 0
1297
- while i < len(tokens):
1298
- exe = posixpath.basename(tokens[i])
1299
- if exe == "git":
1300
- command_index = skip_flags(tokens, i + 1)
1301
- if command_index < len(tokens) and tokens[command_index] == "push":
1302
- return True
1303
- i = max(command_index + 1, i + 1)
1304
- continue
1305
- if exe == "npm":
1306
- command_index = skip_flags(tokens, i + 1)
1307
- if command_index < len(tokens) and tokens[command_index] in {"publish", "version"}:
1308
- return True
1309
- i = max(command_index + 1, i + 1)
1310
- continue
1311
- if exe == "pnpm":
1312
- command_index = skip_flags(tokens, i + 1)
1313
- if command_index < len(tokens) and tokens[command_index] == "publish":
1314
- return True
1315
- i = max(command_index + 1, i + 1)
1316
- continue
1317
- if exe == "yarn":
1318
- command_index = skip_flags(tokens, i + 1)
1319
- if command_index < len(tokens) and tokens[command_index] == "publish":
1320
- return True
1321
- if command_index + 1 < len(tokens) and tokens[command_index] == "npm" and tokens[command_index + 1] == "publish":
1322
- return True
1323
- i = max(command_index + 1, i + 1)
1324
- continue
1325
- if exe == "gh":
1326
- command_index = skip_flags(tokens, i + 1)
1327
- if command_index + 1 < len(tokens):
1328
- pair = (tokens[command_index], tokens[command_index + 1])
1329
- if pair in {("release", "create"), ("workflow", "run")}:
1330
- return True
1331
- i += 1
1332
- continue
1333
- i += 1
1334
- return False
1335
-
1336
- tool_input = {}
1337
- try:
1338
- data = json.loads(os.environ.get("INPUT_JSON", "{}"))
1339
- tool_input = data.get("tool_input", {})
1340
- tokens = as_tokens(tool_input.get("command", "")) + as_tokens(tool_input.get("args", ""))
1341
- except Exception as exc:
1342
- raw_command = str(tool_input.get("command", "")) if isinstance(tool_input, dict) else ""
1343
- raw_args = str(tool_input.get("args", "")) if isinstance(tool_input, dict) else ""
1344
- raw_full = f"{raw_command} {raw_args}"
1345
- release_markers = ("git push", "npm publish", "npm version", "pnpm publish", "yarn publish", "yarn npm publish", "gh release create", "gh workflow run")
1346
- if any(marker in raw_full for marker in release_markers):
1347
- respond("deny", f"Unable to parse release/deploy command safely: {exc}")
1348
- respond("allow")
1349
-
1350
- if os.environ.get("OMK_ALLOW_RELEASE") == "1":
1351
- respond("allow")
1352
-
1353
- # File-based override for environments where env vars don't propagate to hooks
1354
- allow_release_path = os.path.join(os.environ.get("SCRIPT_DIR", ""), ".allow-release")
1355
- if os.path.exists(allow_release_path):
1356
- respond("allow")
1357
-
1358
- for expanded in expand_shell_wrappers(tokens):
1359
- if is_release_command(expanded):
1360
- respond("deny", "Release/deploy command blocked by OMK release guard. Re-run with OMK_ALLOW_RELEASE=1 only after an explicit user request and fresh verification evidence.")
1361
-
1362
- respond("allow")
1363
- PY
1364
- `,
1365
- "worktree-create-guard.sh": `#!/usr/bin/env bash
1366
- # OMK Worktree Create Guard — keeps worker lanes under .omk/worktrees by default
1367
- set -e
1368
-
1369
- if command -v python3 &>/dev/null; then
1370
- PY=python3
1371
- elif command -v python &>/dev/null; then
1372
- PY=python
1373
- else
1374
- echo '{"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":"python3 not installed — worktree-create-guard cannot validate commands"}}'
1375
- exit 0
1376
- fi
1377
-
1378
- INPUT=$(cat)
1379
- INPUT_JSON="$INPUT" "$PY" <<'PY'
1380
- import json
1381
- import os
1382
- import posixpath
1383
- import shlex
1384
- import sys
1385
-
1386
- def respond(permission, reason=None):
1387
- payload = {"hookSpecificOutput": {"hookEventName": "PreToolUse", "permissionDecision": permission}}
1388
- if reason:
1389
- payload["hookSpecificOutput"]["permissionDecisionReason"] = reason
1390
- print(json.dumps(payload, separators=(",", ":")))
1391
- sys.exit(0)
1392
-
1393
- def as_tokens(value):
1394
- if isinstance(value, list):
1395
- return [str(item) for item in value]
1396
- if isinstance(value, str) and value.strip():
1397
- return shlex.split(value, comments=True, posix=True)
1398
- return []
1399
-
1400
- try:
1401
- data = json.loads(os.environ.get("INPUT_JSON", "{}"))
1402
- except Exception:
1403
- respond("allow")
1404
-
1405
- tool_input = data.get("tool_input", {})
1406
- raw_full = f"{tool_input.get('command', '')} {tool_input.get('args', '')}"
1407
- try:
1408
- initial_tokens = as_tokens(tool_input.get("command", "")) + as_tokens(tool_input.get("args", ""))
1409
- except ValueError as exc:
1410
- if "git" in raw_full and "worktree" in raw_full:
1411
- respond("deny", f"Unable to parse git worktree command safely: {exc}")
1412
- respond("allow")
1413
-
1414
- def canonical_path(path):
1415
- return os.path.realpath(os.path.abspath(path))
1416
-
1417
- def resolve_path(path_arg, base_dir):
1418
- return canonical_path(path_arg if os.path.isabs(path_arg) else os.path.join(base_dir, path_arg))
1419
-
1420
- project_root = canonical_path(os.environ.get("OMK_PROJECT_ROOT") or os.getcwd())
1421
- allowed_root = canonical_path(os.path.join(project_root, ".omk", "worktrees"))
1422
- options_with_values = {
1423
- "-C", "-c", "--git-dir", "--work-tree", "--namespace", "--config-env",
1424
- "-b", "-B", "--reason", "--lock", "--orphan",
1425
- }
1426
-
1427
- def path_within_allowed(path_arg, base_dir):
1428
- base = canonical_path(base_dir)
1429
- actual = resolve_path(path_arg, base)
1430
- try:
1431
- return os.path.commonpath([allowed_root, actual]) == allowed_root
1432
- except ValueError:
1433
- return False
1434
-
1435
- def skip_git_globals(index):
1436
- base_dir = canonical_path(os.getcwd())
1437
- i = index
1438
- while i < len(tokens):
1439
- token = tokens[i]
1440
- if token == "-C" and i + 1 < len(tokens):
1441
- next_dir = tokens[i + 1]
1442
- base_dir = resolve_path(next_dir, base_dir)
1443
- i += 2
1444
- elif token.startswith("-C") and len(token) > 2:
1445
- next_dir = token[2:]
1446
- base_dir = resolve_path(next_dir, base_dir)
1447
- i += 1
1448
- elif token in {"-c", "--git-dir", "--work-tree", "--namespace", "--config-env"} and i + 1 < len(tokens):
1449
- i += 2
1450
- elif token.startswith(("--git-dir=", "--work-tree=", "--namespace=", "--config-env=")):
1451
- i += 1
1452
- elif token == "--":
1453
- i += 1
1454
- break
1455
- elif token.startswith("-"):
1456
- i += 1
1457
- else:
1458
- break
1459
- return i, base_dir
1460
-
1461
- def find_worktree_path(index):
1462
- i = index
1463
- while i < len(tokens):
1464
- token = tokens[i]
1465
- if token == "--":
1466
- i += 1
1467
- break
1468
- if token in options_with_values and i + 1 < len(tokens):
1469
- i += 2
1470
- continue
1471
- if any(token.startswith(prefix) for prefix in ("--reason=", "--orphan=")):
1472
- i += 1
1473
- continue
1474
- if token.startswith("-"):
1475
- i += 1
1476
- continue
1477
- return token
1478
- return tokens[i] if i < len(tokens) else None
1479
-
1480
- def expand_shell_wrappers(root_tokens):
1481
- result = []
1482
- queue = [root_tokens]
1483
- while queue and len(result) < 8:
1484
- current = queue.pop(0)
1485
- result.append(current)
1486
- for idx, token in enumerate(current):
1487
- if posixpath.basename(token) not in {"bash", "sh", "zsh", "dash"}:
1488
- continue
1489
- j = idx + 1
1490
- while j < len(current):
1491
- opt = current[j]
1492
- if opt == "--":
1493
- j += 1
1494
- break
1495
- if opt in {"-c", "-lc"} or (opt.startswith("-") and not opt.startswith("--") and "c" in opt):
1496
- if j + 1 < len(current):
1497
- try:
1498
- queue.append(as_tokens(current[j + 1]))
1499
- except ValueError as exc:
1500
- if "git" in current[j + 1] and "worktree" in current[j + 1]:
1501
- respond("deny", f"Unable to parse shell-wrapped git worktree command safely: {exc}")
1502
- break
1503
- if opt.startswith("-"):
1504
- j += 1
1505
- continue
1506
- break
1507
- return result
1508
-
1509
- for tokens in expand_shell_wrappers(initial_tokens):
1510
- i = 0
1511
- while i < len(tokens):
1512
- if posixpath.basename(tokens[i]) != "git":
1513
- i += 1
1514
- continue
1515
- command_index, base_dir = skip_git_globals(i + 1)
1516
- if command_index + 1 >= len(tokens) or tokens[command_index] != "worktree":
1517
- i += 1
1518
- continue
1519
- action = tokens[command_index + 1]
1520
- if action in {"remove", "prune"} and os.environ.get("OMK_ALLOW_WORKTREE_DELETE") != "1":
1521
- respond("deny", "Worktree delete/prune blocked unless OMK_ALLOW_WORKTREE_DELETE=1 is set after review.")
1522
- if action == "add" and os.environ.get("OMK_ALLOW_EXTERNAL_WORKTREE") != "1":
1523
- path_arg = find_worktree_path(command_index + 2)
1524
- if not path_arg or not path_within_allowed(path_arg, base_dir):
1525
- respond("deny", "Worktree lanes must be created under .omk/worktrees/ unless OMK_ALLOW_EXTERNAL_WORKTREE=1 is set.")
1526
- i = command_index + 2
1527
-
1528
- respond("allow")
1529
- PY
1530
- `,
1531
- "protect-secrets.sh": `#!/usr/bin/env bash
1532
- # Secret/environment variable protection
1533
- set -e
1534
-
1535
- # Close security gate if jq/python3 is missing (deny by default)
1536
- if command -v python3 &>/dev/null; then
1537
- PY=python3
1538
- elif command -v python &>/dev/null; then
1539
- PY=python
1540
- else
1541
- echo '{"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":"python3 not installed — protect-secrets cannot validate files"}}'
1542
- exit 0
1543
- fi
1544
-
1545
- INPUT=$(cat)
1546
- OMK_HOOK_INPUT="$INPUT" "$PY" - <<'PY'
1547
- import json
1548
- import os
1549
- import re
1550
-
1551
- def respond(decision, reason=None):
1552
- payload = {"hookSpecificOutput": {"hookEventName": "PreToolUse", "permissionDecision": decision}}
1553
- if reason:
1554
- payload["hookSpecificOutput"]["permissionDecisionReason"] = reason
1555
- print(json.dumps(payload, separators=(",", ":")))
1556
-
1557
- try:
1558
- data = json.loads(os.environ.get("OMK_HOOK_INPUT", "{}") or "{}")
1559
- except Exception:
1560
- respond("deny", "Invalid hook input")
1561
- raise SystemExit(0)
1562
-
1563
- tool_input = data.get("tool_input", {})
1564
- if not isinstance(tool_input, dict):
1565
- respond("allow")
1566
- raise SystemExit(0)
1567
-
1568
- def walk(value, key=""):
1569
- if isinstance(value, str):
1570
- yield key, value
1571
- elif isinstance(value, dict):
1572
- for child_key, child_value in value.items():
1573
- yield from walk(child_value, str(child_key))
1574
- elif isinstance(value, list):
1575
- for child_value in value:
1576
- yield from walk(child_value, key)
1577
-
1578
- SENSITIVE_PATHS = (".env", ".pem", ".key", "id_rsa", "id_ed25519", "credentials", "service-account", ".p12", ".pfx", ".keystore", ".pi", "auth.json", "oauth.json", "tokens.json", "session.json")
1579
- HIGH_CONFIDENCE_PATTERNS = (
1580
- re.compile(r"(?:ghp_[A-Za-z0-9_]{20,}|github_pat_[A-Za-z0-9_]{20,}|glpat-[A-Za-z0-9_-]{20,}|npm_[A-Za-z0-9_-]{30,}|pypi[-_][A-Za-z0-9_-]{30,}|sk-[A-Za-z0-9_-]{20,})", re.IGNORECASE),
1581
- re.compile(r"(?:AKIA|ASIA)[0-9A-Z]{16}"),
1582
- re.compile(r"BEGIN [A-Z ]*PRIVATE KEY"),
1583
- re.compile(r"(?:ssh-rsa|ssh-ed25519)\\s+[A-Za-z0-9+/=]{40,}"),
1584
- re.compile(r"\\bBearer\\s+[A-Za-z0-9._~+/-]{16,}", re.IGNORECASE),
1585
- )
1586
- ASSIGNMENT_PATTERN = re.compile(r"""\\b(?:password|secret|api[_-]?key|token|access[_-]?token|refresh[_-]?token|session[_-]?token|oauth|authorization|private[_-]?key|aws[_-]?access[_-]?key[_-]?id|aws[_-]?secret[_-]?access[_-]?key)\\b['"]?\\s*[:=]\\s*['"]?[A-Za-z0-9_./+=@:-]{12,}""", re.IGNORECASE)
1587
- SCAN_VALUE_KEYS = ("content", "text", "string", "newtext", "oldtext", "input", "value", "body", "data")
1588
- SKIP_ASSIGNMENT_KEYS = ("path", "file", "command", "args", "name")
1589
-
1590
- def should_scan_assignment(key):
1591
- key_lower = key.lower()
1592
- if any(marker in key_lower for marker in SKIP_ASSIGNMENT_KEYS):
1593
- return False
1594
- return key_lower == "" or any(marker in key_lower for marker in SCAN_VALUE_KEYS)
1595
-
1596
- for key, value in walk(tool_input):
1597
- key_lower = key.lower()
1598
- if ("path" in key_lower or "file" in key_lower) and any(marker in value for marker in SENSITIVE_PATHS):
1599
- respond("deny", "Direct modification of sensitive file blocked")
1600
- raise SystemExit(0)
1601
-
1602
- for key, value in walk(tool_input):
1603
- if should_scan_assignment(key) and any(pattern.search(value) for pattern in HIGH_CONFIDENCE_PATTERNS):
1604
- respond("deny", "High-confidence credential value detected")
1605
- raise SystemExit(0)
1606
-
1607
- for key, value in walk(tool_input):
1608
- if should_scan_assignment(key) and ASSIGNMENT_PATTERN.search(value):
1609
- respond("deny", "High-confidence credential assignment detected")
1610
- raise SystemExit(0)
1611
- respond("allow")
1612
- PY
1613
- `,
1614
- "post-format.sh": `#!/usr/bin/env bash
1615
- # Auto-format after save (single file target)
1616
- set -e
1617
-
1618
- if command -v python3 &>/dev/null; then
1619
- PY=python3
1620
- elif command -v python &>/dev/null; then
1621
- PY=python
1622
- else
1623
- echo '{"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow"}}'
1624
- exit 0
1625
- fi
1626
-
1627
- INPUT=$(cat)
1628
- FILEPATH=$(echo "$INPUT" | $PY -c 'import sys,json; d=json.load(sys.stdin); print(d.get("tool_input",{}).get("file_path",""))')
1629
-
1630
- if [ -z "$FILEPATH" ]; then
1631
- echo '{"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow"}}'
1632
- exit 0
1633
- fi
1634
-
1635
- # Detect project root and run formatter (target file only)
1636
- if [ -f "package.json" ] && [ -f "$FILEPATH" ]; then
1637
- npx prettier --write "$FILEPATH" >/dev/null 2>&1 || true
1638
- fi
1639
-
1640
- if [ -f "Cargo.toml" ] && [ -f "$FILEPATH" ]; then
1641
- rustfmt "$FILEPATH" >/dev/null 2>&1 || true
1642
- fi
1643
-
1644
- echo '{"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow"}}'
1645
- `,
1646
- "typecheck-after-edit.sh": `#!/usr/bin/env bash
1647
- # TypeScript product preset: run project typecheck after TS edits when available.
1648
- set +e
1649
-
1650
- if command -v python3 &>/dev/null; then
1651
- PY=python3
1652
- elif command -v python &>/dev/null; then
1653
- PY=python
1654
- else
1655
- echo '{"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow"}}'
1656
- exit 0
1657
- fi
1658
-
1659
- INPUT=$(cat)
1660
- FILEPATH=$(echo "$INPUT" | $PY -c 'import sys,json; d=json.load(sys.stdin); print(d.get("tool_input",{}).get("file_path",""))')
1661
-
1662
- case "$FILEPATH" in
1663
- *.ts|*.tsx|*.mts|*.cts) ;;
1664
- *) echo '{"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow"}}'; exit 0 ;;
1665
- esac
1666
-
1667
- if [ ! -f "package.json" ] || ! command -v npm &>/dev/null; then
1668
- echo '{"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow"}}'
1669
- exit 0
1670
- fi
1671
-
1672
- node -e "const p=require('./package.json'); process.exit(p.scripts && p.scripts.check ? 0 : 1)" >/dev/null 2>&1
1673
- if [ $? -ne 0 ]; then
1674
- echo '{"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow"}}'
1675
- exit 0
1676
- fi
1677
-
1678
- TMP=$(mktemp)
1679
- npm run check >"$TMP" 2>&1
1680
- STATUS=$?
1681
- if [ $STATUS -eq 0 ]; then
1682
- rm -f "$TMP"
1683
- echo '{"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow"}}'
1684
- exit 0
1685
- fi
1686
-
1687
- tail -n 40 "$TMP" | $PY -c 'import json,sys; print(json.dumps({"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow","additionalContext":"Typecheck failed after edit. Inspect npm run check output:\\n"+sys.stdin.read()}}))'
1688
- rm -f "$TMP"
1689
- `,
1690
- "eslint-after-edit.sh": `#!/usr/bin/env bash
1691
- # TypeScript product preset: run project lint after JS/TS edits when available.
1692
- set +e
1693
-
1694
- if command -v python3 &>/dev/null; then
1695
- PY=python3
1696
- elif command -v python &>/dev/null; then
1697
- PY=python
1698
- else
1699
- echo '{"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow"}}'
1700
- exit 0
1701
- fi
1702
-
1703
- INPUT=$(cat)
1704
- FILEPATH=$(echo "$INPUT" | $PY -c 'import sys,json; d=json.load(sys.stdin); print(d.get("tool_input",{}).get("file_path",""))')
1705
-
1706
- case "$FILEPATH" in
1707
- *.js|*.jsx|*.mjs|*.cjs|*.ts|*.tsx|*.mts|*.cts) ;;
1708
- *) echo '{"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow"}}'; exit 0 ;;
1709
- esac
1710
-
1711
- if [ ! -f "package.json" ] || ! command -v npm &>/dev/null; then
1712
- echo '{"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow"}}'
1713
- exit 0
1714
- fi
1715
-
1716
- node -e "const p=require('./package.json'); process.exit(p.scripts && p.scripts.lint ? 0 : 1)" >/dev/null 2>&1
1717
- if [ $? -ne 0 ]; then
1718
- echo '{"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow"}}'
1719
- exit 0
1720
- fi
1721
-
1722
- TMP=$(mktemp)
1723
- npm run lint >"$TMP" 2>&1
1724
- STATUS=$?
1725
- if [ $STATUS -eq 0 ]; then
1726
- rm -f "$TMP"
1727
- echo '{"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow"}}'
1728
- exit 0
1729
- fi
1730
-
1731
- tail -n 40 "$TMP" | $PY -c 'import json,sys; print(json.dumps({"hookSpecificOutput":{"hookEventName":"PostToolUse","permissionDecision":"allow","additionalContext":"ESLint failed after edit. Inspect npm run lint output:\\n"+sys.stdin.read()}}))'
1732
- rm -f "$TMP"
1733
- `,
1734
- "stop-verify.sh": `#!/usr/bin/env bash
1735
- # Final verification on Stop
1736
- set -euo pipefail
1737
-
1738
- HOOK_INPUT="$(cat || true)"
1739
-
1740
- if ! command -v node &>/dev/null; then
1741
- exit 0
1742
- fi
1743
-
1744
- OMK_HOOK_INPUT="$HOOK_INPUT" \\
1745
- node <<'NODE'
1746
- const inputText = process.env.OMK_HOOK_INPUT || '';
1747
-
1748
- let input = {};
1749
- try {
1750
- input = inputText.trim() ? JSON.parse(inputText) : {};
1751
- } catch (error) {
1752
- console.error('[stop-verify] invalid stdin JSON: ' + String(error));
1753
- process.exit(0);
1754
- }
1755
-
1756
- if (input.stop_hook_active === true) {
1757
- process.exit(0);
1758
- }
1759
-
1760
- const context = [
1761
- 'OMK final response checklist.',
1762
- '- Changed files: list authored files and note any ignored local runtime files refreshed.',
1763
- '- Commands run: include exact verification commands and pass/fail/not-run status.',
1764
- '- Deployment status: do not claim push, release, npm publish, or production deploy unless that command actually ran and evidence was read.',
1765
- '- Remaining risk: state known gaps instead of saying complete without evidence.',
1766
- ].join('\\n');
1767
-
1768
- process.stdout.write(JSON.stringify({
1769
- systemMessage: context,
1770
- }) + '\\n');
1771
- NODE
1772
- `,
1773
- "release-check-before-stop.sh": `#!/usr/bin/env bash
1774
- # OMK Release Guard — final checklist reminder for release/security work
1775
- set +e
1776
-
1777
- HOOK_INPUT="$(cat || true)"
1778
-
1779
- if ! command -v node &>/dev/null; then
1780
- exit 0
1781
- fi
1782
-
1783
- OMK_HOOK_INPUT="$HOOK_INPUT" \\
1784
- node <<'NODE'
1785
- const { execSync } = require('node:child_process');
1786
- const inputText = process.env.OMK_HOOK_INPUT || '';
1787
-
1788
- let input = {};
1789
- try {
1790
- input = inputText.trim() ? JSON.parse(inputText) : {};
1791
- } catch (error) {
1792
- console.error('[release-check-before-stop] invalid stdin JSON: ' + String(error));
1793
- process.exit(0);
1794
- }
1795
-
1796
- if (input.stop_hook_active === true) {
1797
- process.exit(0);
1798
- }
1799
-
1800
- function shell(command) {
1801
- try {
1802
- return execSync(command, { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'], timeout: 5000 }).trim();
1803
- } catch {
1804
- return '';
1805
- }
1806
- }
1807
-
1808
- const changed = [
1809
- shell('git diff --name-only HEAD 2>/dev/null'),
1810
- shell('git diff --cached --name-only 2>/dev/null'),
1811
- shell('git ls-files --others --exclude-standard 2>/dev/null'),
1812
- ].filter(Boolean).join('\\n');
1813
-
1814
- const releaseTouched = /(^|\\n)(package\\.json|package-lock\\.json|pnpm-lock\\.yaml|yarn\\.lock|CHANGELOG\\.md|SECURITY\\.md|\\.npmrc|\\.github\\/workflows\\/release\\.ya?ml)(\\n|$)/.test(changed);
1815
- const context = releaseTouched
1816
- ? 'OMK release guard: release/security files changed. Before final or publish, collect secret scan, security review, quality gate, npm audit summary, changelog/PR evidence, and do not publish/deploy without explicit user request.'
1817
- : 'OMK release guard: no release file changes detected. Still do not claim push, release, npm publish, or production deploy without exact command evidence.';
1818
-
1819
- process.stdout.write(JSON.stringify({
1820
- systemMessage: context,
1821
- }) + '\\n');
1822
- NODE
1823
- `,
1824
- "npm-audit-summary.sh": `#!/usr/bin/env bash
1825
- # OMK Release Guard — optional npm audit summary for release gates
1826
- set +e
1827
-
1828
- HOOK_INPUT="$(cat || true)"
1829
-
1830
- if command -v node &>/dev/null; then
1831
- OMK_HOOK_INPUT="$HOOK_INPUT" node <<'NODE'
1832
- const inputText = process.env.OMK_HOOK_INPUT || '';
1833
- try {
1834
- const input = inputText.trim() ? JSON.parse(inputText) : {};
1835
- if (input.stop_hook_active === true) process.exit(10);
1836
- } catch (error) {
1837
- console.error('[npm-audit-summary] invalid stdin JSON: ' + String(error));
1838
- process.exit(11);
1839
- }
1840
- NODE
1841
- case "$?" in
1842
- 10|11) exit 0 ;;
1843
- esac
1844
- fi
1845
-
1846
- if [ ! -f "package.json" ]; then
1847
- printf '{"systemMessage":"OMK npm audit summary: skipped because package.json is absent."}\\n'
1848
- exit 0
1849
- fi
1850
-
1851
- if [ "$OMK_RUN_NPM_AUDIT_SUMMARY" != "1" ]; then
1852
- printf '{"systemMessage":"OMK npm audit summary: not run automatically. For release/security claims, run npm audit or set OMK_RUN_NPM_AUDIT_SUMMARY=1 and capture the result."}\\n'
1853
- exit 0
1854
- fi
1855
-
1856
- if ! command -v npm &>/dev/null || ! command -v node &>/dev/null; then
1857
- printf '{"systemMessage":"OMK npm audit summary: skipped because npm or node is unavailable."}\\n'
1858
- exit 0
1859
- fi
1860
-
1861
- TMP="$(mktemp)"
1862
- npm audit --audit-level=high --omit=dev --json > "$TMP" 2>&1
1863
- STATUS=$?
1864
-
1865
- node - "$TMP" "$STATUS" <<'NODE'
1866
- const fs = require('node:fs');
1867
- const filePath = process.argv[2];
1868
- const status = Number(process.argv[3] || 0);
1869
- let raw = '';
1870
- try {
1871
- raw = fs.readFileSync(filePath, 'utf8');
1872
- } catch {}
1873
-
1874
- let context;
1875
- try {
1876
- const parsed = JSON.parse(raw);
1877
- const total = parsed.metadata?.vulnerabilities?.total ?? 'unknown';
1878
- const high = parsed.metadata?.vulnerabilities?.high ?? 'unknown';
1879
- const critical = parsed.metadata?.vulnerabilities?.critical ?? 'unknown';
1880
- context = status === 0
1881
- ? 'OMK npm audit summary: passed for high+ prod dependencies. total=' + total + ', high=' + high + ', critical=' + critical + '.'
1882
- : 'OMK npm audit summary: attention required. total=' + total + ', high=' + high + ', critical=' + critical + '. Inspect npm audit output before release.';
1883
- } catch {
1884
- context = status === 0
1885
- ? 'OMK npm audit summary: command completed but JSON could not be parsed.'
1886
- : 'OMK npm audit summary: npm audit failed or returned non-JSON output; inspect command output before release.';
1887
- }
1888
-
1889
- process.stdout.write(JSON.stringify({
1890
- systemMessage: context,
1891
- }) + '\\n');
1892
- NODE
1893
- rm -f "$TMP"
1894
- `,
1895
- "post-init-mcp.sh": `#!/usr/bin/env bash
1896
- # Post-init MCP validation — non-blocking health check after omk init
1897
- set -uo pipefail
1898
-
1899
- LOG_DIR=".omk/logs"
1900
- mkdir -p "$LOG_DIR"
1901
- LOG_FILE="$LOG_DIR/mcp-init-check.json"
1902
-
1903
- # Run doctor silently and capture JSON output if available
1904
- if command -v omk &>/dev/null; then
1905
- omk mcp doctor --json 2>/dev/null > "$LOG_FILE" || true
1906
- else
1907
- echo '{"note":"omk not in PATH during hook execution"}' > "$LOG_FILE"
1908
- fi
1909
- `,
1910
- };
1911
- const KIMI_CONFIG_TOML = `# open-multi-agent-kit generated Kimi adapter config
1912
- # Lifecycle hook settings
1913
-
1914
- [[hooks]]
1915
- event = "SessionStart"
1916
- command = ".omk/hooks/session-context.sh"
1917
- timeout = 5
1918
-
1919
- [[hooks]]
1920
- event = "PreCompact"
1921
- command = ".omk/hooks/precompact-checkpoint.sh"
1922
- timeout = 5
1923
-
1924
- [[hooks]]
1925
- event = "SubagentStop"
1926
- command = ".omk/hooks/subagent-stop-audit.sh"
1927
- timeout = 5
1928
-
1929
- [[hooks]]
1930
- event = "PreToolUse"
1931
- matcher = "Shell"
1932
- command = ".omk/hooks/pre-shell-guard.sh"
1933
- timeout = 5
1934
-
1935
- [[hooks]]
1936
- event = "PreToolUse"
1937
- matcher = "WriteFile|StrReplaceFile"
1938
- command = ".omk/hooks/protect-secrets.sh"
1939
- timeout = 5
1940
-
1941
- [[hooks]]
1942
- event = "Stop"
1943
- command = ".omk/hooks/stop-verify.sh"
1944
- timeout = 30
1945
- `;
1946
- const DEFAULT_PROJECT_MCP_COMMENT = "Project-local MCP config. omk-project is virtual runtime MCP injected; global MCP servers remain in ~/.kimi/mcp.json and must be imported explicitly only after secret review.";
1947
- export function createOmkProjectMcpServer(projectRoot, options = {}) {
1948
- // Use the concrete Node executable that launched init instead of a bare
1949
- // `node` lookup. MCP clients often run with a reduced/isolated PATH, which
1950
- // can accidentally pick a different Node ABI than the one used by npm install
1951
- // and trigger native addon errors such as NODE_MODULE_VERSION mismatches.
1952
- const isWin = (options.platform ?? process.platform) === "win32";
1953
- const env = { OMK_PROJECT_ROOT: projectRoot };
1954
- const node = stableNodeExecutable();
1955
- return {
1956
- command: isWin ? "omk" : "bash",
1957
- args: isWin ? ["mcp", "serve", "omk-project"] : ["-lc", createUnixOmkProjectMcpScript(node)],
1958
- env,
1959
- };
1960
- }
1961
- function createUnixOmkProjectMcpScript(node) {
1962
- const quotedNode = shellQuote(node);
1963
- const resolveRealpathScript = "const fs=require('fs');process.stdout.write(fs.realpathSync(process.argv[1]))";
1964
- return [
1965
- "set -e",
1966
- 'omk_bin="$(command -v omk 2>/dev/null || true)"',
1967
- 'if [ -n "$omk_bin" ]; then',
1968
- ` omk_cli="$(${quotedNode} -e ${shellQuote(resolveRealpathScript)} "$omk_bin" 2>/dev/null || true)"`,
1969
- ' if [ -n "$omk_cli" ]; then',
1970
- ` exec ${quotedNode} "$omk_cli" mcp serve omk-project`,
1971
- " fi",
1972
- "fi",
1973
- 'mcp_bin="$(command -v omk-project-mcp 2>/dev/null || true)"',
1974
- 'if [ -n "$mcp_bin" ]; then',
1975
- ` mcp_js="$(${quotedNode} -e ${shellQuote(resolveRealpathScript)} "$mcp_bin" 2>/dev/null || true)"`,
1976
- ' if [ -n "$mcp_js" ]; then',
1977
- ` exec ${quotedNode} "$mcp_js"`,
1978
- " fi",
1979
- "fi",
1980
- 'echo "omk-project MCP server not found; install OMK or rerun omk init" >&2',
1981
- "exit 127",
1982
- ].join("\n");
1983
- }
1984
- function stableNodeExecutable() {
1985
- try {
1986
- return realpathSync(process.execPath);
1987
- }
1988
- catch {
1989
- return process.execPath || "node";
1990
- }
1991
- }
1992
- function shellQuote(value) {
1993
- return `'${value.replace(/'/g, "'\\''")}'`;
1994
- }
1995
- function createMcpJson(_projectRoot) {
1996
- return {
1997
- mcpServers: {
1998
- // omk-project is now auto-injected at runtime by injectKimiGlobals.
1999
- // Project-local .omk/mcp.json only needs to hold user-added MCP servers.
2000
- },
2001
- };
2002
- }
2003
- async function ensureProjectMcpConfig(path, fallback, options = {}) {
2004
- const existing = await readFile(path, "utf-8").catch(() => null);
2005
- if (!existing) {
2006
- await writeFile(path, JSON.stringify(fallback, null, 2) + "\n");
2007
- return;
2008
- }
2009
- try {
2010
- const parsed = JSON.parse(existing);
2011
- if (options.removeRuntimeManagedOmkProject && parsed.mcpServers?.["omk-project"]) {
2012
- delete parsed.mcpServers["omk-project"];
2013
- await writeFile(path, JSON.stringify(parsed, null, 2) + "\n");
2014
- }
2015
- }
2016
- catch {
2017
- // Preserve malformed user-owned MCP config rather than overwriting custom entries.
2018
- }
2019
- }
2020
- function getConfigToml(options) {
2021
- const { mcpScope, skillsScope, hooksScope } = options;
2022
- return `# OMK project settings
2023
- [project]
2024
- name = "my-project"
2025
- description = ""
2026
-
2027
- [orchestration]
2028
- default_workers = 4
2029
- max_retries = 3
2030
- approval_policy = "yolo" # low-friction SWE/benchmark mode: auto-allow tool use
2031
- execution_prompt = "ask" # ask | auto | parallel | sequential
2032
- yolo_mode = true # minimal hard stops only; avoid benchmark-stalling prompts
2033
-
2034
- [runtime]
2035
- # auto chooses lite on <=18GB RAM hosts to make 16GB laptops usable.
2036
- resource_profile = "auto" # auto | lite | standard
2037
- mcp_scope = "${mcpScope}" # all | project | none — all also reads user ~/.kimi/mcp.json at runtime
2038
- skills_scope = "${skillsScope}" # all | project | none — all reads user ~/.kimi/skills without copying them
2039
- hooks_scope = "${hooksScope}" # all | project | none — all reads user ~/.kimi hooks without copying them
2040
- max_workers = 4 # can override with OMK_MAX_WORKERS
2041
- max_output_mb = 4 # cap buffered shell/quality output
2042
- wire_output_mb = 1 # cap per-task retained wire output
2043
-
2044
- [ensemble]
2045
- # Role-aware agent ensemble. Keep max_parallel=1 for 16GB/WSL safety.
2046
- enabled = true
2047
- max_candidates_per_node = 2
2048
- max_parallel = 2
2049
- quorum_ratio = 0.5
2050
-
2051
- [quality]
2052
- lint = "auto" # auto | command
2053
- test = "auto"
2054
- typecheck = "auto"
2055
- build = "auto"
2056
-
2057
- [memory]
2058
- # Project-local ontology graph is the default source of truth for project/session memory.
2059
- # Use backend = "kuzu" for the embedded Kuzu ontology graph backend.
2060
- backend = "local_graph" # local_graph | kuzu
2061
- scope = "project-session"
2062
- strict = true # fail memory writes if the selected graph backend is unavailable
2063
- mirror_files = true # keep .omk/memory/*.md as readable mirrors
2064
- migrate_files = true # seed the graph from existing .omk/memory files on first read
2065
-
2066
- [local_graph]
2067
- path = ".omk/memory/graph-state.json"
2068
- ontology = "omk-ontology-mindmap-v1"
2069
- query = "graphql-lite"
2070
-
2071
-
2072
- [locale]
2073
- # UI language: en (default) | ko | ja
2074
- language = "en"
2075
-
2076
- [theme]
2077
- # Optional custom logo image path for terminal welcome banner.
2078
- # omk init does not create or copy image assets; add your own asset first, then uncomment.
2079
- # Relative paths are resolved from project root; absolute paths require OMK_TRUST_ABSOLUTE_LOGO_PATH=1.
2080
- # Supported formats: PNG, JPEG, GIF, WEBP (high-res on iTerm/Konsole, else ANSI block).
2081
- # logo_image = "assets/omk-logo.png"
2082
-
2083
- [router]
2084
- default_model = "kimi-k2.6"
2085
- # off | medium | high | xhigh | max
2086
- research_thinking = "off"
2087
- coding_thinking = "high"
2088
- `;
2089
- }
2090
- const MEMORY_FILES = {
2091
- "project.md": "# Project Memory\n\nProject-local graph memory is the source of truth; this file is a human-readable mirror.\n\n## Runtime Surfaces\n\n- Follow AGENTS.md and .kimi/AGENTS.md for active agent policy.\n- Use chat-agent-harness.json when present for MCP/skills/hooks inventory, worker limits, authority boundaries, and gates.\n- Keep .omk/memory mirrors free of secrets and private user data.\n",
2092
- "decisions.md": "# Decisions\n\nRecord durable architecture, release, runtime, and safety decisions.\n\nFor each decision, include:\n\n- date and short title\n- affected files or surfaces\n- evidence commands or artifacts\n- rollback or revisit trigger\n\nNever store secrets, raw MCP env, tokens, or private user data.\n",
2093
- "commands.md": "# Frequently Used Commands\n\nCommand mirror maintained alongside the local graph memory.\n\n```bash\nnpm run yaml:check\nnpm run lint\nnpm run secret:scan\nnpm run check\nnpm run build:clean\nnpm test\nnpm run audit:package\nnpm run pack:dry\nomk mcp doctor --json\nomk verify --json\n```\n\nUse targeted `npm test -- --match <pattern>` for focused regression loops before the full gate.\n",
2094
- "risks.md": "# Known Risks\n\n- Do not store secrets, API keys, tokens, credentials, MCP env/header values, or private user data in memory.\n- `--local-user` and all-scope MCP/skills are runtime-only; do not copy global resources unless the user explicitly opts into `--import-user-skills`.\n- `chat-agent-harness.json` can contain private run inventory; summarize counts and gates, not full global inventories.\n- Working trees can contain unrelated edits; inspect `git status --short` before changes and avoid reverting user work.\n- Completion claims require evidence: tests, `omk verify --json`, replay/cockpit artifacts, or an explicit not-run reason.\n",
2095
- };
2096
- export async function initCommand(options) {
2097
- const root = getProjectRoot();
2098
- const initHomeDir = normalizeUserHomePath(options.homeDir) ?? getUserHome(options.env ?? process.env);
2099
- const mcpJson = createMcpJson(root);
2100
- console.log(header(`OMK init (profile: ${options.profile})`));
2101
- const localUserRuntime = await resolveLocalUserRuntime(options, initHomeDir);
2102
- // 1. Create directories (parallel)
2103
- const dirs = [
2104
- ".omk/memory",
2105
- ".omk/runs",
2106
- ".omk/checkpoints",
2107
- ".omk/agents/roles",
2108
- ".omk/prompts/role-addons",
2109
- ".omk/hooks",
2110
- ".omk/worktrees",
2111
- ".omk/logs",
2112
- ".omk/snippets",
2113
- ".kimi/skills",
2114
- ".kimi/hooks",
2115
- ".agents/skills",
2116
- ];
2117
- await Promise.all(dirs.map((d) => mkdir(join(root, d), { recursive: true })));
2118
- // 2. Write AGENTS.md (skip if exists)
2119
- const agentsMdPath = join(root, "AGENTS.md");
2120
- if (await pathExists(agentsMdPath)) {
2121
- console.log(t("init.agentsMdExists"));
2122
- }
2123
- else {
2124
- const agentsMdContent = await readFile(join(packageRoot, "templates", "AGENTS.md"), "utf8");
2125
- await writeFile(agentsMdPath, agentsMdContent);
2126
- }
2127
- // 2.5 Write .kimi/AGENTS.md (Kimi-specific rules)
2128
- const kimiAgentsMdPath = join(root, ".kimi", "AGENTS.md");
2129
- if (await pathExists(kimiAgentsMdPath)) {
2130
- console.log(t("init.kimiAgentsMdExists"));
2131
- }
2132
- else {
2133
- const kimiAgentsMdContent = await readFile(join(packageRoot, "templates", ".kimi", "AGENTS.md"), "utf8");
2134
- await writeFile(kimiAgentsMdPath, kimiAgentsMdContent);
2135
- }
2136
- // 3. Write / migrate agents (parallel)
2137
- const okabeYamlPath = join(root, ".omk/agents/okabe.yaml");
2138
- await writeFile(okabeYamlPath, OKABE_AGENT_YAML);
2139
- const rootYamlPath = join(root, ".omk/agents/root.yaml");
2140
- if (await pathExists(rootYamlPath)) {
2141
- // Existing root.yaml migration: fix relative path bug
2142
- const existing = await readFile(rootYamlPath, "utf8");
2143
- if (existing.includes("system_prompt_path: ./prompts/root.md")) {
2144
- const migrated = existing.replace(/system_prompt_path:\s*\.\/prompts\/root\.md/, "system_prompt_path: ../prompts/root.md");
2145
- await writeFile(rootYamlPath, migrated);
2146
- console.log(status.ok(t("init.rootYamlMigrated")));
2147
- }
2148
- }
2149
- else {
2150
- const rootAgentYaml = await readTemplateFile(join(".omk", "agents", "root.yaml"), ROOT_AGENT_YAML);
2151
- await writeFile(rootYamlPath, rootAgentYaml);
2152
- }
2153
- await Promise.all(Object.entries(ROLE_YAMLS).map(async ([name, content]) => {
2154
- const roleYaml = await readTemplateFile(join(".omk", "agents", "roles", `${name}.yaml`), content);
2155
- await writeFile(join(root, ".omk/agents/roles", `${name}.yaml`), roleYaml);
2156
- }));
2157
- // 4. Write prompts
2158
- const rootPromptMd = await readTemplateFile(join(".omk", "prompts", "root.md"), ROOT_PROMPT_MD);
2159
- await writeFile(join(root, ".omk/prompts/root.md"), rootPromptMd);
2160
- // 5+6. Copy package skill templates by default.
2161
- // Fresh open-source init should reference only the maintainer-packaged OMK
2162
- // skills. Local maintainers can explicitly opt into importing personal skills
2163
- // with --import-user-skills or OMK_INIT_IMPORT_USER_SKILLS=1.
2164
- const kimiSkillsSrc = join(packageRoot, "templates", "skills", "kimi");
2165
- const agentsSkillsSrc = join(packageRoot, "templates", "skills", "agents");
2166
- const skillCopies = [];
2167
- const importUserSkills = shouldImportUserSkills(options);
2168
- if (importUserSkills) {
2169
- const personalSkillSources = [
2170
- {
2171
- label: "~/.kimi/skills",
2172
- src: join(initHomeDir, ".kimi", "skills"),
2173
- dest: join(root, ".kimi", "skills"),
2174
- },
2175
- {
2176
- label: "~/.codex/skills",
2177
- src: join(initHomeDir, ".codex", "skills"),
2178
- dest: join(root, ".kimi", "skills"),
2179
- },
2180
- {
2181
- label: "~/.agents/skills",
2182
- src: join(initHomeDir, ".agents", "skills"),
2183
- dest: join(root, ".agents", "skills"),
2184
- },
2185
- ];
2186
- for (const source of personalSkillSources) {
2187
- if (await pathExists(source.src)) {
2188
- console.log(style.purple(` 📦 Importing ${source.label} (trusted local opt-in)...`));
2189
- skillCopies.push(copySafeSkillRoot(source.src, source.dest).then((stats) => {
2190
- if (stats.skippedUnsafe > 0) {
2191
- console.log(status.warn(`Skipped ${stats.skippedUnsafe} secret-bearing skills from ${source.label}`));
2192
- }
2193
- if (stats.skippedUnavailable > 0) {
2194
- console.log(status.warn(`Skipped ${stats.skippedUnavailable} unavailable skills from ${source.label}`));
2195
- }
2196
- }));
2197
- }
2198
- }
2199
- }
2200
- // Global skills symlink for local-user init
2201
- let globalSkillsSymlinked = false;
2202
- if (localUserRuntime && initHomeDir) {
2203
- const globalKimiSkills = join(initHomeDir, ".kimi", "skills");
2204
- if (await pathExists(globalKimiSkills)) {
2205
- const dest = join(root, ".kimi", "skills");
2206
- if (!(await pathExists(dest))) {
2207
- console.log(style.purple(" 📦 Symlinking global ~/.kimi/skills..."));
2208
- await mkdir(dirname(dest), { recursive: true });
2209
- try {
2210
- await symlink(globalKimiSkills, dest, "dir");
2211
- globalSkillsSymlinked = true;
2212
- }
2213
- catch (err) {
2214
- console.warn(status.warn(`Failed to symlink global skills: ${err.message}`));
2215
- }
2216
- }
2217
- }
2218
- }
2219
- if (!globalSkillsSymlinked && await pathExists(kimiSkillsSrc)) {
2220
- console.log(style.purple(t("init.copyKimiSkills")));
2221
- skillCopies.push(copySafeSkillRoot(kimiSkillsSrc, join(root, ".kimi", "skills")).then(() => undefined));
2222
- }
2223
- else if (!globalSkillsSymlinked) {
2224
- console.log(status.warn(t("init.kimiSkillsMissing")));
2225
- }
2226
- if (await pathExists(agentsSkillsSrc)) {
2227
- console.log(style.purple(t("init.copyPortableSkills")));
2228
- skillCopies.push(copySafeSkillRoot(agentsSkillsSrc, join(root, ".agents", "skills")).then(() => undefined));
2229
- }
2230
- else {
2231
- console.log(status.warn(t("init.portableSkillsMissing")));
2232
- }
2233
- if (skillCopies.length > 0)
2234
- await Promise.all(skillCopies);
2235
- // 7. Write hooks (parallel)
2236
- await Promise.all(Object.entries(HOOK_SCRIPTS).map(async ([name, content]) => {
2237
- const hookPath = join(root, ".omk/hooks", name);
2238
- await writeFile(hookPath, content, { mode: 0o755 });
2239
- }));
2240
- // 8. Write configs
2241
- const runtimeScope = localUserRuntime ? "all" : "project";
2242
- let configTomlContent = getConfigToml({
2243
- mcpScope: runtimeScope,
2244
- skillsScope: runtimeScope,
2245
- hooksScope: runtimeScope,
2246
- });
2247
- if (localUserRuntime && initHomeDir) {
2248
- const globalConfigPath = join(initHomeDir, ".omk", "config.toml");
2249
- const globalConfig = await readFile(globalConfigPath, "utf-8").catch(() => null);
2250
- if (globalConfig) {
2251
- configTomlContent = globalConfig
2252
- .replace(/^mcp_scope\s*=.*$/gm, `mcp_scope = "${runtimeScope}"`)
2253
- .replace(/^skills_scope\s*=.*$/gm, `skills_scope = "${runtimeScope}"`)
2254
- .replace(/^hooks_scope\s*=.*$/gm, `hooks_scope = "${runtimeScope}"`);
2255
- console.log(style.purple(" 📦 Inheriting global .omk/config.toml defaults..."));
2256
- }
2257
- }
2258
- await writeFile(join(root, ".omk/config.toml"), configTomlContent);
2259
- let kimiConfigContent = KIMI_CONFIG_TOML;
2260
- if (localUserRuntime && initHomeDir) {
2261
- const globalKimiConfigPath = join(initHomeDir, ".kimi", "config.toml");
2262
- const globalKimiConfig = await readFile(globalKimiConfigPath, "utf-8").catch(() => null);
2263
- if (globalKimiConfig) {
2264
- kimiConfigContent = globalKimiConfig;
2265
- console.log(style.purple(" 📦 Inheriting global ~/.kimi/config.toml..."));
2266
- }
2267
- }
2268
- await writeFile(join(root, ".omk/kimi.config.toml"), kimiConfigContent);
2269
- await ensureProjectMcpConfig(join(root, ".omk/mcp.json"), mcpJson, { removeRuntimeManagedOmkProject: true });
2270
- await writeFile(join(root, ".omk/theme.json"), createThemeJson());
2271
- await writeFile(join(root, ".omk/runtime-preset.json"), JSON.stringify(OMK_CORE_VERIFIED_PRESET, null, 2) + "\n");
2272
- await writeFile(join(root, ".omk/runtime-presets.json"), createRuntimePresetsJson());
2273
- // Project-local server config must not import global definitions by default.
2274
- const projectMcpPath = join(root, ".kimi", "mcp.json");
2275
- const globalMcpPath = join(initHomeDir, ".kimi", "mcp.json");
2276
- const hasGlobalMcp = localUserRuntime && initHomeDir && await pathExists(globalMcpPath);
2277
- const mcpComment = hasGlobalMcp
2278
- ? "Project-local server config. Global entries are inherited from ~/.kimi/mcp.json at runtime when scope = 'all'."
2279
- : DEFAULT_PROJECT_MCP_COMMENT;
2280
- await ensureProjectMcpConfig(projectMcpPath, { _comment: mcpComment, mcpServers: {} }, { removeRuntimeManagedOmkProject: true });
2281
- await writeFile(join(root, ".omk/lsp.json"), defaultLspConfigJson());
2282
- // 9. Write memory files (parallel)
2283
- await Promise.all(Object.entries(MEMORY_FILES).map(([name, content]) => writeFile(join(root, ".omk/memory", name), content)));
2284
- // 9.5. Copy default snippet templates if they exist
2285
- const snippetsSrc = join(packageRoot, "templates", "snippets");
2286
- const snippetsDest = join(root, ".omk", "snippets");
2287
- if (await pathExists(snippetsSrc)) {
2288
- console.log(style.purple(" 📦 Copying snippet templates..."));
2289
- await copyTemplateDir(snippetsSrc, snippetsDest);
2290
- }
2291
- // 9.6. Copy spec-kit OMK preset template
2292
- const presetSrc = join(packageRoot, "templates", "spec-kit-omk-preset");
2293
- const presetDest = join(root, ".omk", "templates", "spec-kit-omk-preset");
2294
- if (await pathExists(presetSrc)) {
2295
- console.log(style.purple(" 📦 Copying spec-kit OMK preset..."));
2296
- await copyTemplateDir(presetSrc, presetDest);
2297
- }
2298
- // 10. Write project docs (skip if already exist)
2299
- const docs = {
2300
- "DESIGN.md": getDesignMd(getOmkVersionSync()),
2301
- "GEMINI.md": GEMINI_MD,
2302
- "CLAUDE.md": CLAUDE_MD,
2303
- "ROADMAP.md": ROADMAP_MD,
2304
- "SECURITY.md": SECURITY_MD,
2305
- };
2306
- for (const [name, content] of Object.entries(docs)) {
2307
- const docPath = join(root, name);
2308
- if (await pathExists(docPath)) {
2309
- console.log(` ℹ️ ${name} already exists — skipping`);
2310
- }
2311
- else {
2312
- await writeFile(docPath, content);
2313
- }
2314
- }
2315
- console.log(status.success("OMK initialized."));
2316
- console.log();
2317
- console.log("Created:");
2318
- console.log("- AGENTS.md");
2319
- console.log("- .kimi/AGENTS.md");
2320
- console.log("- DESIGN.md");
2321
- console.log("- .omk/agents/root.yaml");
2322
- console.log("- .omk/agents/roles/");
2323
- console.log("- .omk/prompts/root.md");
2324
- console.log("- .omk/config.toml");
2325
- console.log("- .omk/kimi.config.toml");
2326
- console.log("- .omk/lsp.json");
2327
- console.log("- .omk/hooks/");
2328
- console.log("- .omk/snippets/");
2329
- console.log("- .kimi/mcp.json");
2330
- console.log("- .omk/mcp.json");
2331
- console.log("- .omk/theme.json");
2332
- console.log("- .omk/runtime-preset.json");
2333
- console.log("- .omk/runtime-presets.json");
2334
- console.log("- .kimi/skills/");
2335
- console.log("- .agents/skills/");
2336
- console.log("- .omk/memory/");
2337
- console.log("- .omk/templates/spec-kit-omk-preset/");
2338
- console.log();
2339
- console.log("Default behavior:");
2340
- console.log("- AGENTS.md is loaded into Kimi root prompt.");
2341
- console.log("- Todo list is required for multi-step work.");
2342
- console.log("- Subagents are required for non-trivial work.");
2343
- console.log("- Project skills are auto-discovered from .kimi/skills and .agents/skills.");
2344
- console.log("- Runtime presets include omk-core-verified, omk-ts-product, omk-worktree-team, and omk-release-guard.");
2345
- if (localUserRuntime) {
2346
- console.log("- Local user runtime enabled: global ~/.kimi/mcp.json and ~/.kimi/skills are used at runtime.");
2347
- console.log("- Personal/global MCP servers and skills are not copied into the project.");
2348
- }
2349
- else {
2350
- console.log("- omk-project is virtual runtime MCP injected; project MCP files are for user-added servers, remote/global MCPs are explicit opt-in.");
2351
- }
2352
- console.log("- Built-in tools: SearchWeb, FetchURL (no config required).");
2353
- console.log(style.gray(" Fresh init does not copy user-global skills or MCP servers into the project."));
2354
- console.log(style.gray(" Trusted local users can add --local-user --home-dir <~/.kimi/mcp.json> for runtime-only global MCP/skills, or --import-user-skills to copy reviewed personal skills."));
2355
- await runInitInteractiveSetup(options, initHomeDir);
2356
- // Warn about environment variable files — OMK prefers config.toml for stability
2357
- for (const envFile of [".env", ".env.local", ".env.development"]) {
2358
- if (await pathExists(join(root, envFile))) {
2359
- console.log(style.orange(`⚠️ Found ${envFile}. OMK recommends using .omk/config.toml instead of environment variable files for stability.`));
2360
- break;
2361
- }
2362
- }
2363
- // ── Shell integration & PATH check ──
2364
- const pathCheck = await checkOmkInPath();
2365
- if (!pathCheck.inPath) {
2366
- console.log("");
2367
- console.log(style.orange("⚠️ omk is not in PATH."));
2368
- console.log(style.gray(" Run one of the following:"));
2369
- console.log(style.gray(" 1) npm install -g open-multi-agent-kit"));
2370
- console.log(style.gray(" 2) npm link (for development)"));
2371
- console.log(style.gray(" 3) alias omk='npx -p open-multi-agent-kit omk'"));
2372
- }
2373
- else {
2374
- await maybeInstallShellCompletion(root);
2375
- }
2376
- console.log("");
2377
- console.log(style.purpleBold(" Next steps: ") + style.cream("omk doctor → omk chat"));
2378
- }
2379
- function isDisabledEnvValue(value) {
2380
- return ["0", "false", "off", "no", "never"].includes(value?.trim().toLowerCase() ?? "");
2381
- }
2382
- function isEnabledEnvValue(value) {
2383
- return ["1", "true", "on", "yes", "always"].includes(value?.trim().toLowerCase() ?? "");
2384
- }
2385
- function shouldImportUserSkills(options) {
2386
- const env = options.env ?? process.env;
2387
- return Boolean(options.importUserSkills) || isEnabledEnvValue(env.OMK_INIT_IMPORT_USER_SKILLS);
2388
- }
2389
- function explicitLocalUserRuntime(options) {
2390
- const env = options.env ?? process.env;
2391
- const profile = options.profile?.trim().toLowerCase() ?? "";
2392
- if (Boolean(options.localUser)
2393
- || isEnabledEnvValue(env.OMK_INIT_LOCAL_USER)
2394
- || ["local", "personal", "trusted-local"].includes(profile)) {
2395
- return true;
2396
- }
2397
- if (isDisabledEnvValue(env.OMK_INIT_LOCAL_USER))
2398
- return false;
2399
- return undefined;
2400
- }
2401
- async function resolveLocalUserRuntime(options, homeDir) {
2402
- const explicit = explicitLocalUserRuntime(options);
2403
- if (explicit !== undefined)
2404
- return explicit;
2405
- if (!isInitInteractiveSetupEligible(options))
2406
- return false;
2407
- return askLocalUserRuntimeDuringInit(options, homeDir);
2408
- }
2409
- async function askLocalUserRuntimeDuringInit(options, homeDir) {
2410
- try {
2411
- const useLocalGlobal = options.promptLocalUserRuntime
2412
- ? await options.promptLocalUserRuntime({ homeDir })
2413
- : await confirm({
2414
- message: "MCP 설정: 기존 로컬 글로벌 ~/.kimi MCP/skills를 그대로 사용할까요? (No = omk-project만 시작하고 여기서 MCP를 추가)",
2415
- default: false,
2416
- });
2417
- if (useLocalGlobal) {
2418
- console.log(status.ok("Init MCP mode: using local/global ~/.kimi MCP and skills at runtime."));
2419
- }
2420
- else {
2421
- console.log(style.gray("Init MCP mode: project only; start with omk-project and add MCPs here later."));
2422
- }
2423
- return useLocalGlobal;
2424
- }
2425
- catch (error) {
2426
- if (error instanceof ExitPromptError)
2427
- return false;
2428
- console.log(status.warn(`MCP runtime prompt failed; falling back to project-only mode: ${redactSecretishText(error)}`));
2429
- return false;
2430
- }
2431
- }
2432
- function isInitInteractiveSetupEligible(options) {
2433
- const env = options.env ?? process.env;
2434
- const stdin = options.stdin ?? process.stdin;
2435
- const stdout = options.stdout ?? process.stdout;
2436
- if (options.interactiveSetup === false)
2437
- return false;
2438
- if (isDisabledEnvValue(env.OMK_INIT_PROMPTS))
2439
- return false;
2440
- if (env.CI || env.GITHUB_ACTIONS)
2441
- return false;
2442
- return Boolean(stdin.isTTY && stdout.isTTY);
2443
- }
2444
- async function runMcpServerSelectionDuringInit(options) {
2445
- if (!isInitInteractiveSetupEligible(options))
2446
- return;
2447
- const env = options.env ?? process.env;
2448
- if (isDisabledEnvValue(env.OMK_INIT_MCP_SERVERS))
2449
- return;
2450
- try {
2451
- const defaultSelections = getDefaultSelections();
2452
- const choices = RECOMMENDED_MCP_SERVERS.map((server) => ({
2453
- name: `${server.name} — ${server.description} [${server.category}]`,
2454
- value: server,
2455
- checked: defaultSelections.includes(server.name),
2456
- }));
2457
- const { checkbox: checkboxPrompt } = await import("@inquirer/prompts");
2458
- const selected = await checkboxPrompt({
2459
- message: "Select additional MCP servers to install (Space to toggle, Enter to confirm):",
2460
- choices,
2461
- });
2462
- if (!selected || selected.length === 0) {
2463
- console.log(style.gray("No additional MCP servers selected."));
2464
- return;
2465
- }
2466
- console.log(style.purple(` 📦 Installing ${selected.length} MCP server(s) in parallel...`));
2467
- const root = getProjectRoot();
2468
- const entries = selected.map((server) => ({
2469
- name: server.name,
2470
- command: server.command,
2471
- args: server.args.map((arg) => arg.replace("${PROJECT_ROOT}", root).replace("${DB_PATH}", join(root, ".omk", "memory", "graph.db"))),
2472
- env: server.env,
2473
- startupTimeoutSec: server.startupTimeoutSec,
2474
- }));
2475
- const result = await mcpBulkInstallCommand(entries);
2476
- for (const name of result.installed) {
2477
- console.log(status.ok(`Installed MCP server: ${name}`));
2478
- }
2479
- for (const name of result.skipped) {
2480
- console.log(style.gray(`Skipped (already exists): ${name}`));
2481
- }
2482
- for (const { name, error } of result.failed) {
2483
- console.log(status.warn(`Failed to install ${name}: ${error}`));
2484
- }
2485
- }
2486
- catch (error) {
2487
- if (error instanceof ExitPromptError)
2488
- return;
2489
- console.log(status.warn(`MCP server selection failed: ${redactSecretishText(error)}`));
2490
- }
2491
- }
2492
- async function runInitInteractiveSetup(options, homeDir) {
2493
- if (!isInitInteractiveSetupEligible(options))
2494
- return;
2495
- await maybeAskForGitHubStar({
2496
- version: getOmkVersionSync(),
2497
- homeDir,
2498
- env: options.env,
2499
- argv: options.argv ?? ["node", "omk", "init"],
2500
- stdin: options.stdin,
2501
- stdout: options.stdout,
2502
- commandName: "init",
2503
- prompt: options.promptGitHubStar,
2504
- starRepo: options.starRepo,
2505
- });
2506
- await runMcpServerSelectionDuringInit(options);
2507
- await maybeAskForDeepSeekApiKeyDuringInit(options, homeDir);
2508
- }
2509
- async function maybeAskForDeepSeekApiKeyDuringInit(options, homeDir) {
2510
- const env = options.env ?? process.env;
2511
- if (isDisabledEnvValue(env.OMK_INIT_DEEPSEEK_PROMPT))
2512
- return;
2513
- try {
2514
- const providerOptions = { env, homeDir };
2515
- const currentStatus = await getDeepSeekProviderStatus(providerOptions);
2516
- if (currentStatus.apiKeySet) {
2517
- console.log(style.gray(t("init.deepseekAlreadyConfigured")));
2518
- return;
2519
- }
2520
- const shouldConfigure = options.promptDeepSeekSetup
2521
- ? await options.promptDeepSeekSetup()
2522
- : await confirm({
2523
- message: t("init.deepseekPrompt"),
2524
- default: false,
2525
- });
2526
- if (!shouldConfigure)
2527
- return;
2528
- const enteredCredential = options.promptDeepSeekApiKey
2529
- ? await options.promptDeepSeekApiKey()
2530
- : await password({
2531
- message: t("init.deepseekKeyPrompt"),
2532
- mask: "*",
2533
- });
2534
- await setDeepSeekApiKey(enteredCredential, providerOptions);
2535
- console.log(status.ok(t("init.deepseekSaved")));
2536
- }
2537
- catch (error) {
2538
- if (error instanceof ExitPromptError)
2539
- return;
2540
- console.log(status.warn(t("init.deepseekSetupFailed", redactSecretishText(error))));
2541
- }
2542
- }
2543
- function redactSecretishText(error) {
2544
- const message = error instanceof Error ? error.message : String(error);
2545
- return message
2546
- .replace(/sk-[A-Za-z0-9_-]{12,}/g, "[redacted]")
2547
- .replace(/Bearer\s+[A-Za-z0-9._~+/=-]{12,}/gi, "Bearer [redacted]");
2548
- }
2549
- async function checkOmkInPath() {
2550
- try {
2551
- const result = await import("../util/shell.js").then((m) => m.runShell("which", ["omk"], { timeout: 3000 }));
2552
- return { inPath: !result.failed && result.stdout.trim().length > 0 };
2553
- }
2554
- catch {
2555
- return { inPath: false };
2556
- }
2557
- }
2558
- async function maybeInstallShellCompletion(_root) {
2559
- const bashrc = join(process.env.HOME || process.env.USERPROFILE || "", ".bashrc");
2560
- const zshrc = join(process.env.HOME || process.env.USERPROFILE || "", ".zshrc");
2561
- const omkAliasBlock = `# >>> omk shell integration
2562
- export OMK_STAR_PROMPT=1
2563
- export OMK_RENDER_LOGO=1
2564
- # <<< end omk shell integration`;
2565
- for (const rcFile of [bashrc, zshrc]) {
2566
- if (!(await pathExists(rcFile)))
2567
- continue;
2568
- try {
2569
- const content = await readFile(rcFile, "utf-8");
2570
- if (content.includes("omk shell integration"))
2571
- continue;
2572
- const tmpRc = rcFile + ".omk.tmp";
2573
- await writeFile(tmpRc, content.trimEnd() + "\n\n" + omkAliasBlock + "\n");
2574
- await rename(tmpRc, rcFile);
2575
- console.log(status.ok(`Shell integration added: ${rcFile}`));
2576
- }
2577
- catch {
2578
- // ignore
2579
- }
2580
- }
2581
- }