open-multi-agent-kit 0.78.7 → 0.79.1

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