open-multi-agent-kit 0.96.0 → 0.96.2

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 (351) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/README.md +34 -6
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +1 -0
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/commands/doctor-provider.d.ts.map +1 -1
  7. package/dist/commands/doctor-provider.js +15 -20
  8. package/dist/commands/doctor-provider.js.map +1 -1
  9. package/dist/commands/resource-doctor-cli.d.ts +22 -0
  10. package/dist/commands/resource-doctor-cli.d.ts.map +1 -0
  11. package/dist/commands/resource-doctor-cli.js +98 -0
  12. package/dist/commands/resource-doctor-cli.js.map +1 -0
  13. package/dist/commands/sdk-session-cli.d.ts +24 -0
  14. package/dist/commands/sdk-session-cli.d.ts.map +1 -0
  15. package/dist/commands/sdk-session-cli.js +225 -0
  16. package/dist/commands/sdk-session-cli.js.map +1 -0
  17. package/dist/core/advisory-judge-model.d.ts +18 -0
  18. package/dist/core/advisory-judge-model.d.ts.map +1 -0
  19. package/dist/core/advisory-judge-model.js +168 -0
  20. package/dist/core/advisory-judge-model.js.map +1 -0
  21. package/dist/core/advisory-judge-response.d.ts +8 -0
  22. package/dist/core/advisory-judge-response.d.ts.map +1 -0
  23. package/dist/core/advisory-judge-response.js +61 -0
  24. package/dist/core/advisory-judge-response.js.map +1 -0
  25. package/dist/core/advisory-judge-types.d.ts +53 -0
  26. package/dist/core/advisory-judge-types.d.ts.map +1 -0
  27. package/dist/core/advisory-judge-types.js +2 -0
  28. package/dist/core/advisory-judge-types.js.map +1 -0
  29. package/dist/core/advisory-judge.d.ts +8 -0
  30. package/dist/core/advisory-judge.d.ts.map +1 -0
  31. package/dist/core/advisory-judge.js +178 -0
  32. package/dist/core/advisory-judge.js.map +1 -0
  33. package/dist/core/agent-session-services.d.ts +1 -0
  34. package/dist/core/agent-session-services.d.ts.map +1 -1
  35. package/dist/core/agent-session-services.js +1 -0
  36. package/dist/core/agent-session-services.js.map +1 -1
  37. package/dist/core/agent-session.d.ts +41 -2
  38. package/dist/core/agent-session.d.ts.map +1 -1
  39. package/dist/core/agent-session.js +396 -179
  40. package/dist/core/agent-session.js.map +1 -1
  41. package/dist/core/auth-storage.d.ts.map +1 -1
  42. package/dist/core/auth-storage.js +28 -4
  43. package/dist/core/auth-storage.js.map +1 -1
  44. package/dist/core/compaction-gate.d.ts +28 -0
  45. package/dist/core/compaction-gate.d.ts.map +1 -0
  46. package/dist/core/compaction-gate.js +34 -0
  47. package/dist/core/compaction-gate.js.map +1 -0
  48. package/dist/core/completion-sound.d.ts +109 -0
  49. package/dist/core/completion-sound.d.ts.map +1 -0
  50. package/dist/core/completion-sound.js +165 -0
  51. package/dist/core/completion-sound.js.map +1 -0
  52. package/dist/core/context-budget-system-prompt-items.d.ts.map +1 -1
  53. package/dist/core/context-budget-system-prompt-items.js +5 -3
  54. package/dist/core/context-budget-system-prompt-items.js.map +1 -1
  55. package/dist/core/domain-loadouts.d.ts.map +1 -1
  56. package/dist/core/domain-loadouts.js +2 -2
  57. package/dist/core/domain-loadouts.js.map +1 -1
  58. package/dist/core/durable-goal-checkpoint.d.ts +6 -0
  59. package/dist/core/durable-goal-checkpoint.d.ts.map +1 -0
  60. package/dist/core/durable-goal-checkpoint.js +195 -0
  61. package/dist/core/durable-goal-checkpoint.js.map +1 -0
  62. package/dist/core/durable-goal-parse.d.ts +3 -0
  63. package/dist/core/durable-goal-parse.d.ts.map +1 -0
  64. package/dist/core/durable-goal-parse.js +86 -0
  65. package/dist/core/durable-goal-parse.js.map +1 -0
  66. package/dist/core/durable-goal-reducer.d.ts +3 -0
  67. package/dist/core/durable-goal-reducer.d.ts.map +1 -0
  68. package/dist/core/durable-goal-reducer.js +175 -0
  69. package/dist/core/durable-goal-reducer.js.map +1 -0
  70. package/dist/core/durable-goal-store.d.ts +19 -0
  71. package/dist/core/durable-goal-store.d.ts.map +1 -0
  72. package/dist/core/durable-goal-store.js +126 -0
  73. package/dist/core/durable-goal-store.js.map +1 -0
  74. package/dist/core/durable-goal.d.ts +92 -0
  75. package/dist/core/durable-goal.d.ts.map +1 -0
  76. package/dist/core/durable-goal.js +62 -0
  77. package/dist/core/durable-goal.js.map +1 -0
  78. package/dist/core/extensions/builtin/goal-controller.d.ts +3 -0
  79. package/dist/core/extensions/builtin/goal-controller.d.ts.map +1 -0
  80. package/dist/core/extensions/builtin/goal-controller.js +125 -0
  81. package/dist/core/extensions/builtin/goal-controller.js.map +1 -0
  82. package/dist/core/extensions/builtin/identical-loop.d.ts +3 -0
  83. package/dist/core/extensions/builtin/identical-loop.d.ts.map +1 -0
  84. package/dist/core/extensions/builtin/identical-loop.js +31 -0
  85. package/dist/core/extensions/builtin/identical-loop.js.map +1 -0
  86. package/dist/core/extensions/builtin/prompt-preset.d.ts +3 -0
  87. package/dist/core/extensions/builtin/prompt-preset.d.ts.map +1 -0
  88. package/dist/core/extensions/builtin/prompt-preset.js +13 -0
  89. package/dist/core/extensions/builtin/prompt-preset.js.map +1 -0
  90. package/dist/core/extensions/builtin/tool-pair-repair.d.ts +3 -0
  91. package/dist/core/extensions/builtin/tool-pair-repair.d.ts.map +1 -0
  92. package/dist/core/extensions/builtin/tool-pair-repair.js +12 -0
  93. package/dist/core/extensions/builtin/tool-pair-repair.js.map +1 -0
  94. package/dist/core/extensions/types.d.ts +6 -2
  95. package/dist/core/extensions/types.d.ts.map +1 -1
  96. package/dist/core/extensions/types.js.map +1 -1
  97. package/dist/core/goal-continuation.d.ts +13 -0
  98. package/dist/core/goal-continuation.d.ts.map +1 -0
  99. package/dist/core/goal-continuation.js +10 -0
  100. package/dist/core/goal-continuation.js.map +1 -0
  101. package/dist/core/grok-harness.d.ts +1 -1
  102. package/dist/core/grok-harness.d.ts.map +1 -1
  103. package/dist/core/grok-harness.js +1 -1
  104. package/dist/core/grok-harness.js.map +1 -1
  105. package/dist/core/grok-playbook.d.ts +1 -1
  106. package/dist/core/grok-playbook.d.ts.map +1 -1
  107. package/dist/core/grok-playbook.js +1 -1
  108. package/dist/core/grok-playbook.js.map +1 -1
  109. package/dist/core/host-resource-probe.d.ts +63 -0
  110. package/dist/core/host-resource-probe.d.ts.map +1 -0
  111. package/dist/core/host-resource-probe.js +126 -0
  112. package/dist/core/host-resource-probe.js.map +1 -0
  113. package/dist/core/host-resource-snapshot.d.ts +54 -0
  114. package/dist/core/host-resource-snapshot.d.ts.map +1 -0
  115. package/dist/core/host-resource-snapshot.js +139 -0
  116. package/dist/core/host-resource-snapshot.js.map +1 -0
  117. package/dist/core/identical-loop.d.ts +15 -0
  118. package/dist/core/identical-loop.d.ts.map +1 -0
  119. package/dist/core/identical-loop.js +34 -0
  120. package/dist/core/identical-loop.js.map +1 -0
  121. package/dist/core/index.d.ts +1 -1
  122. package/dist/core/index.d.ts.map +1 -1
  123. package/dist/core/index.js +1 -1
  124. package/dist/core/index.js.map +1 -1
  125. package/dist/core/model-prompt-policy.d.ts +11 -0
  126. package/dist/core/model-prompt-policy.d.ts.map +1 -0
  127. package/dist/core/model-prompt-policy.js +17 -0
  128. package/dist/core/model-prompt-policy.js.map +1 -0
  129. package/dist/core/model-registry.d.ts.map +1 -1
  130. package/dist/core/model-registry.js +16 -4
  131. package/dist/core/model-registry.js.map +1 -1
  132. package/dist/core/model-resolver.d.ts.map +1 -1
  133. package/dist/core/model-resolver.js +2 -2
  134. package/dist/core/model-resolver.js.map +1 -1
  135. package/dist/core/prompt-budget.d.ts +21 -0
  136. package/dist/core/prompt-budget.d.ts.map +1 -0
  137. package/dist/core/prompt-budget.js +51 -0
  138. package/dist/core/prompt-budget.js.map +1 -0
  139. package/dist/core/prompt-cache.d.ts +14 -0
  140. package/dist/core/prompt-cache.d.ts.map +1 -0
  141. package/dist/core/prompt-cache.js +16 -0
  142. package/dist/core/prompt-cache.js.map +1 -0
  143. package/dist/core/prompt-preset.d.ts +8 -0
  144. package/dist/core/prompt-preset.d.ts.map +1 -0
  145. package/dist/core/prompt-preset.js +56 -0
  146. package/dist/core/prompt-preset.js.map +1 -0
  147. package/dist/core/prompt-settlement.d.ts +81 -0
  148. package/dist/core/prompt-settlement.d.ts.map +1 -0
  149. package/dist/core/prompt-settlement.js +84 -0
  150. package/dist/core/prompt-settlement.js.map +1 -0
  151. package/dist/core/provider-resilience.d.ts +16 -0
  152. package/dist/core/provider-resilience.d.ts.map +1 -1
  153. package/dist/core/provider-resilience.js +24 -2
  154. package/dist/core/provider-resilience.js.map +1 -1
  155. package/dist/core/provider-retry.d.ts +36 -0
  156. package/dist/core/provider-retry.d.ts.map +1 -0
  157. package/dist/core/provider-retry.js +73 -0
  158. package/dist/core/provider-retry.js.map +1 -0
  159. package/dist/core/provider-usage.d.ts +16 -2
  160. package/dist/core/provider-usage.d.ts.map +1 -1
  161. package/dist/core/provider-usage.js +150 -8
  162. package/dist/core/provider-usage.js.map +1 -1
  163. package/dist/core/reasoning-router-resolver.d.ts.map +1 -1
  164. package/dist/core/reasoning-router-resolver.js +1 -1
  165. package/dist/core/reasoning-router-resolver.js.map +1 -1
  166. package/dist/core/resource-admission-config.d.ts +55 -0
  167. package/dist/core/resource-admission-config.d.ts.map +1 -0
  168. package/dist/core/resource-admission-config.js +97 -0
  169. package/dist/core/resource-admission-config.js.map +1 -0
  170. package/dist/core/resource-admission.d.ts +81 -0
  171. package/dist/core/resource-admission.d.ts.map +1 -0
  172. package/dist/core/resource-admission.js +128 -0
  173. package/dist/core/resource-admission.js.map +1 -0
  174. package/dist/core/resource-governor-format.d.ts +50 -0
  175. package/dist/core/resource-governor-format.d.ts.map +1 -0
  176. package/dist/core/resource-governor-format.js +113 -0
  177. package/dist/core/resource-governor-format.js.map +1 -0
  178. package/dist/core/resource-governor-settings.d.ts +56 -0
  179. package/dist/core/resource-governor-settings.d.ts.map +1 -0
  180. package/dist/core/resource-governor-settings.js +89 -0
  181. package/dist/core/resource-governor-settings.js.map +1 -0
  182. package/dist/core/resource-loader.d.ts.map +1 -1
  183. package/dist/core/resource-loader.js +32 -0
  184. package/dist/core/resource-loader.js.map +1 -1
  185. package/dist/core/resource-observation-journal.d.ts +74 -0
  186. package/dist/core/resource-observation-journal.d.ts.map +1 -0
  187. package/dist/core/resource-observation-journal.js +198 -0
  188. package/dist/core/resource-observation-journal.js.map +1 -0
  189. package/dist/core/resource-safety-gate.d.ts +54 -0
  190. package/dist/core/resource-safety-gate.d.ts.map +1 -0
  191. package/dist/core/resource-safety-gate.js +51 -0
  192. package/dist/core/resource-safety-gate.js.map +1 -0
  193. package/dist/core/run-journal.d.ts.map +1 -1
  194. package/dist/core/run-journal.js +13 -1
  195. package/dist/core/run-journal.js.map +1 -1
  196. package/dist/core/run-resource-lease.d.ts +73 -0
  197. package/dist/core/run-resource-lease.d.ts.map +1 -0
  198. package/dist/core/run-resource-lease.js +78 -0
  199. package/dist/core/run-resource-lease.js.map +1 -0
  200. package/dist/core/sandbox/backend.d.ts +12 -0
  201. package/dist/core/sandbox/backend.d.ts.map +1 -1
  202. package/dist/core/sandbox/backend.js +52 -42
  203. package/dist/core/sandbox/backend.js.map +1 -1
  204. package/dist/core/sandbox/policy.d.ts +2 -0
  205. package/dist/core/sandbox/policy.d.ts.map +1 -1
  206. package/dist/core/sandbox/policy.js +2 -1
  207. package/dist/core/sandbox/policy.js.map +1 -1
  208. package/dist/core/sdk.d.ts +2 -0
  209. package/dist/core/sdk.d.ts.map +1 -1
  210. package/dist/core/sdk.js +1 -0
  211. package/dist/core/sdk.js.map +1 -1
  212. package/dist/core/session-bash-service.d.ts +12 -0
  213. package/dist/core/session-bash-service.d.ts.map +1 -1
  214. package/dist/core/session-bash-service.js +14 -0
  215. package/dist/core/session-bash-service.js.map +1 -1
  216. package/dist/core/session-system-prompt.d.ts +30 -0
  217. package/dist/core/session-system-prompt.d.ts.map +1 -0
  218. package/dist/core/session-system-prompt.js +39 -0
  219. package/dist/core/session-system-prompt.js.map +1 -0
  220. package/dist/core/session-termination.d.ts +7 -2
  221. package/dist/core/session-termination.d.ts.map +1 -1
  222. package/dist/core/session-termination.js +29 -1
  223. package/dist/core/session-termination.js.map +1 -1
  224. package/dist/core/settings-manager.d.ts +12 -0
  225. package/dist/core/settings-manager.d.ts.map +1 -1
  226. package/dist/core/settings-manager.js +36 -0
  227. package/dist/core/settings-manager.js.map +1 -1
  228. package/dist/core/slash-commands.d.ts.map +1 -1
  229. package/dist/core/slash-commands.js +1 -0
  230. package/dist/core/slash-commands.js.map +1 -1
  231. package/dist/core/strict-record.d.ts +2 -0
  232. package/dist/core/strict-record.d.ts.map +1 -0
  233. package/dist/core/strict-record.js +9 -0
  234. package/dist/core/strict-record.js.map +1 -0
  235. package/dist/core/subagent-lane-launcher.d.ts +64 -0
  236. package/dist/core/subagent-lane-launcher.d.ts.map +1 -0
  237. package/dist/core/subagent-lane-launcher.js +107 -0
  238. package/dist/core/subagent-lane-launcher.js.map +1 -0
  239. package/dist/core/system-cpu-sampler.d.ts +45 -0
  240. package/dist/core/system-cpu-sampler.d.ts.map +1 -0
  241. package/dist/core/system-cpu-sampler.js +95 -0
  242. package/dist/core/system-cpu-sampler.js.map +1 -0
  243. package/dist/core/system-prompt.d.ts.map +1 -1
  244. package/dist/core/system-prompt.js +5 -8
  245. package/dist/core/system-prompt.js.map +1 -1
  246. package/dist/core/tool-pair-repair.d.ts +11 -0
  247. package/dist/core/tool-pair-repair.d.ts.map +1 -0
  248. package/dist/core/tool-pair-repair.js +38 -0
  249. package/dist/core/tool-pair-repair.js.map +1 -0
  250. package/dist/core/tools/artifact-spill.d.ts +13 -0
  251. package/dist/core/tools/artifact-spill.d.ts.map +1 -0
  252. package/dist/core/tools/artifact-spill.js +26 -0
  253. package/dist/core/tools/artifact-spill.js.map +1 -0
  254. package/dist/core/tools/bash.d.ts +7 -4
  255. package/dist/core/tools/bash.d.ts.map +1 -1
  256. package/dist/core/tools/bash.js +8 -7
  257. package/dist/core/tools/bash.js.map +1 -1
  258. package/dist/core/tools/index.d.ts +1 -1
  259. package/dist/core/tools/index.d.ts.map +1 -1
  260. package/dist/core/tools/index.js.map +1 -1
  261. package/dist/core/tools/read.d.ts +1 -0
  262. package/dist/core/tools/read.d.ts.map +1 -1
  263. package/dist/core/tools/read.js +10 -1
  264. package/dist/core/tools/read.js.map +1 -1
  265. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  266. package/dist/core/tools/tool-definition-wrapper.js +2 -0
  267. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  268. package/dist/core/workload-classifier.d.ts +32 -0
  269. package/dist/core/workload-classifier.d.ts.map +1 -0
  270. package/dist/core/workload-classifier.js +66 -0
  271. package/dist/core/workload-classifier.js.map +1 -0
  272. package/dist/core/workload-family-matcher.d.ts +3 -0
  273. package/dist/core/workload-family-matcher.d.ts.map +1 -0
  274. package/dist/core/workload-family-matcher.js +126 -0
  275. package/dist/core/workload-family-matcher.js.map +1 -0
  276. package/dist/core/workload-permit-pool.d.ts +78 -0
  277. package/dist/core/workload-permit-pool.d.ts.map +1 -0
  278. package/dist/core/workload-permit-pool.js +138 -0
  279. package/dist/core/workload-permit-pool.js.map +1 -0
  280. package/dist/core/workload-shard-executor.d.ts +68 -0
  281. package/dist/core/workload-shard-executor.d.ts.map +1 -0
  282. package/dist/core/workload-shard-executor.js +156 -0
  283. package/dist/core/workload-shard-executor.js.map +1 -0
  284. package/dist/core/workload-shard-plan.d.ts +81 -0
  285. package/dist/core/workload-shard-plan.d.ts.map +1 -0
  286. package/dist/core/workload-shard-plan.js +183 -0
  287. package/dist/core/workload-shard-plan.js.map +1 -0
  288. package/dist/core/workload-shard-runner.d.ts +11 -0
  289. package/dist/core/workload-shard-runner.d.ts.map +1 -0
  290. package/dist/core/workload-shard-runner.js +98 -0
  291. package/dist/core/workload-shard-runner.js.map +1 -0
  292. package/dist/core/workload-shard-store.d.ts +44 -0
  293. package/dist/core/workload-shard-store.d.ts.map +1 -0
  294. package/dist/core/workload-shard-store.js +189 -0
  295. package/dist/core/workload-shard-store.js.map +1 -0
  296. package/dist/core/workload-sharders.d.ts +47 -0
  297. package/dist/core/workload-sharders.d.ts.map +1 -0
  298. package/dist/core/workload-sharders.js +162 -0
  299. package/dist/core/workload-sharders.js.map +1 -0
  300. package/dist/core/workload-shell-scan.d.ts +12 -0
  301. package/dist/core/workload-shell-scan.d.ts.map +1 -0
  302. package/dist/core/workload-shell-scan.js +79 -0
  303. package/dist/core/workload-shell-scan.js.map +1 -0
  304. package/dist/index.d.ts +18 -1
  305. package/dist/index.d.ts.map +1 -1
  306. package/dist/index.js +18 -0
  307. package/dist/index.js.map +1 -1
  308. package/dist/main.d.ts.map +1 -1
  309. package/dist/main.js +14 -0
  310. package/dist/main.js.map +1 -1
  311. package/dist/modes/interactive/interactive-mode.d.ts +4 -0
  312. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  313. package/dist/modes/interactive/interactive-mode.js +81 -0
  314. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  315. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  316. package/dist/modes/interactive/theme/theme.js +14 -3
  317. package/dist/modes/interactive/theme/theme.js.map +1 -1
  318. package/docs/adaptorch-preview-spec.md +1 -1
  319. package/docs/adaptorch-preview.md +2 -2
  320. package/docs/book-to-skill.md +1 -1
  321. package/docs/containerization.md +9 -0
  322. package/docs/docs.json +11 -3
  323. package/docs/environment-variables.md +11 -4
  324. package/docs/extensions.md +14 -1
  325. package/docs/grok-harness.md +35 -12
  326. package/docs/index.md +7 -6
  327. package/docs/loadout-domains/grok-harness.md +2 -2
  328. package/docs/models.md +10 -9
  329. package/docs/provider-resilience.md +9 -3
  330. package/docs/providers.md +9 -4
  331. package/docs/run-protocol.md +32 -0
  332. package/docs/sdk.md +100 -3
  333. package/docs/security.md +22 -32
  334. package/docs/sessions.md +14 -0
  335. package/docs/settings.md +64 -2
  336. package/docs/skills.md +16 -0
  337. package/docs/usage.md +37 -15
  338. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  339. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  340. package/examples/extensions/custom-provider-gitlab-duo/index.ts +6 -1
  341. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  342. package/examples/extensions/gondolin/package-lock.json +2 -2
  343. package/examples/extensions/gondolin/package.json +1 -1
  344. package/examples/extensions/sandbox/package-lock.json +2 -2
  345. package/examples/extensions/sandbox/package.json +1 -1
  346. package/examples/extensions/subagent/agent-capability-router.test.ts +7 -0
  347. package/examples/extensions/subagent/domain-profiles.ts +0 -1
  348. package/examples/extensions/with-deps/package-lock.json +2 -2
  349. package/examples/extensions/with-deps/package.json +1 -1
  350. package/npm-shrinkwrap.json +18 -18
  351. package/package.json +7 -9
package/docs/sessions.md CHANGED
@@ -17,6 +17,17 @@ omk --fork <path|id> # Fork a session file or partial session ID into a new s
17
17
 
18
18
  Use `/session` in interactive mode to see the current session file, session ID, message count, tokens, and cost.
19
19
 
20
+ Stored sessions can also be inspected or appended from scripts:
21
+
22
+ ```bash
23
+ omk sdk session status [id] [--json]
24
+ omk sdk session tail [id] [--limit 20]
25
+ omk sdk session inspect [id]
26
+ omk sdk session send <id> "message"
27
+ ```
28
+
29
+ `send` requires an exact session ID and appends only when the session has no active owner; it does not connect to a running process or execute the message. See [SDK](sdk.md#inspect-persisted-sessions-from-the-cli) for full flags and exit codes.
30
+
20
31
  For the JSONL file format and SessionManager API, see [Session Format](session-format.md).
21
32
 
22
33
  ## Retries and Termination Events
@@ -33,6 +44,7 @@ If a retry or failover succeeds, the later attempt emits `completed` and becomes
33
44
  | `/new` | Start a new session |
34
45
  | `/name <name>` | Set the current session display name |
35
46
  | `/session` | Show session info |
47
+ | `/goal [objective]` | Show or set the durable goal; `checkpoint <json>` records Goal/Core/Verified/Open/Next continuity |
36
48
  | `/tree` | Navigate the current session tree |
37
49
  | `/fork` | Create a new session from a previous user message |
38
50
  | `/clone` | Duplicate the current active branch into a new session |
@@ -40,6 +52,8 @@ If a retry or failover succeeds, the later attempt emits `completed` and becomes
40
52
  | `/export [file]` | Export session to HTML |
41
53
  | `/share` | Upload as private GitHub gist with shareable HTML link |
42
54
 
55
+ `/goal` state lives under the working directory, not in one session file. Seam checkpoints are digest-correlated revisions in the same goal journal; session entries contain only their goal ID, revision, and digest. The unkeyed digest is not workspace authentication, so checkpoint prose loaded on resume is not promoted to user authority. See [Run Protocol](run-protocol.md#durable-goal-lifecycle).
56
+
43
57
  ## Resuming and Deleting Sessions
44
58
 
45
59
  `/resume` opens an interactive session picker for the current project. `omk -r` opens the same picker at startup.
package/docs/settings.md CHANGED
@@ -180,6 +180,67 @@ Built-in defaults are 30 seconds for `read`, `grep`, `find`, and `ls`; 60 second
180
180
 
181
181
  The DAG preserves source-order result artifacts. `bash`, unknown tools, and extension tools without explicit resource claims remain exclusive. Tool timeout is logical cancellation: OMK closes the tool call and signals cancellation, but arbitrary JavaScript or external side effects may continue if the tool ignores that signal.
182
182
 
183
+ ### Resource Governor
184
+
185
+ The governor probes host capacity (memory, workspace disk, V8 heap, system CPU) and evaluates a resource admission decision, surfaced through `/resource [probe|policy]` in the TUI and `omk doctor resources [--json]` headless. In `observe` mode (default) it records decisions without changing behavior; in `adaptive`/`strict` modes each top-level prompt runs a bounded preflight probe and throttles the effective tool concurrency for that run (never above `agent.maxToolConcurrency`), restoring it when the run settles. Heavy-process caps are enforced at the governed bash boundary; the internal subagent-lane launcher is not wired into live child dispatch. Absent settings keep prior behavior unchanged.
186
+
187
+ | Setting | Type | Default | Description |
188
+ | --------- | ------ | --------- | ------------- |
189
+ | `resourceGovernor.enabled` | boolean | `true` | `false` forces mode `off` |
190
+ | `resourceGovernor.mode` | string | `"observe"` | `off` (disabled), `observe` (record only), `adaptive`/`strict` (throttle per-run tool concurrency under pressure) |
191
+ | `resourceGovernor.maxProbeMs` | number | `300` | Async probe deadline in ms; valid `50..5000` |
192
+ | `resourceGovernor.cpuSampleMs` | number | `180` | CPU two-sample interval in ms; valid `150..250` |
193
+ | `resourceGovernor.constrainedAvailableMemoryMiB` | number | `1536` | Below this effective available memory the host is `constrained` |
194
+ | `resourceGovernor.criticalAvailableMemoryMiB` | number | `512` | Below this it is `critical`; must be `<=` the constrained threshold |
195
+ | `resourceGovernor.constrainedDiskFreeMiB` | number | `4096` | Workspace free-disk threshold for `constrained` |
196
+ | `resourceGovernor.criticalDiskFreeMiB` | number | `1024` | Workspace free-disk threshold for `critical` |
197
+ | `resourceGovernor.constrainedHeapRatio` | number | `0.75` | V8 heap used/limit ratio for `constrained` |
198
+ | `resourceGovernor.criticalHeapRatio` | number | `0.85` | V8 heap ratio for `critical` |
199
+ | `resourceGovernor.busyCpuPercent` | number | `85` | System CPU percent that throttles; CPU alone never reports `critical` |
200
+ | `resourceGovernor.normalMaxToolConcurrency` | number | `4` | Admission tool cap at `normal` pressure |
201
+ | `resourceGovernor.constrainedMaxToolConcurrency` | number | `2` | Admission tool cap at `constrained` pressure |
202
+ | `resourceGovernor.criticalMaxToolConcurrency` | number | `1` | Admission tool cap at `critical` pressure |
203
+ | `resourceGovernor.normalMaxParallelLanes` | number | `4` | Subagent lane cap at `normal` |
204
+ | `resourceGovernor.constrainedMaxParallelLanes` | number | `2` | Subagent lane cap at `constrained` |
205
+ | `resourceGovernor.criticalMaxParallelLanes` | number | `1` | Subagent lane cap at `critical` |
206
+ | `resourceGovernor.normalMaxHeavyProcesses` | number | `2` | Heavy process cap at `normal` |
207
+ | `resourceGovernor.constrainedMaxHeavyProcesses` | number | `1` | Heavy process cap at `constrained` |
208
+ | `resourceGovernor.criticalMaxHeavyProcesses` | number | `1` | Heavy process cap at `critical` |
209
+
210
+ Validation is explicit and fail-closed: invalid values are reported (in `/resource policy` and `omk doctor resources --json` under `settingsErrors`) and the defaults apply for the failed area. Caps must satisfy `normal >= constrained >= critical` and stay within `1..64`; critical thresholds must not exceed constrained ones. Admission caps never raise user-configured caps (`agent.maxToolConcurrency` keeps precedence; `0` "unlimited" is limited to the admission cap in `adaptive` and `strict` modes).
211
+
212
+ `OMK_RESOURCE_GOVERNOR=off|observe|adaptive|strict` overrides the mode for one process, e.g. `OMK_RESOURCE_GOVERNOR=off omk` as a rollback switch.
213
+
214
+ ### Completion Sound
215
+
216
+ Plays a short system sound when a long prompt finally settles (all retries and continuations drained), only in the interactive TUI on a real TTY — never in RPC, JSON, print mode, or CI. Default off. Backends use fixed executables with fixed arguments (macOS `afplay`, Windows/WSL PowerShell system sound, Linux `canberra-gtk-play`/`paplay`/`aplay`), falling back to the terminal bell. Sound failures are diagnostics only and never affect the prompt outcome.
217
+
218
+ | Setting | Type | Default | Description |
219
+ | --------- | ------ | --------- | ------------- |
220
+ | `notifications.completionSound.enabled` | boolean | `false` | Master switch; env `OMK_COMPLETION_SOUND` set to `0` or `1` overrides per process |
221
+ | `notifications.completionSound.minDurationMs` | number | `5000` | Only chime for prompts that ran at least this long |
222
+ | `notifications.completionSound.onSuccess` | boolean | `true` | Chime on completed prompts |
223
+ | `notifications.completionSound.onFailure` | boolean | `true` | Chime on failed prompts (user aborts never chime) |
224
+ | `notifications.completionSound.terminalBellFallback` | boolean | `true` | Fall back to the terminal BEL when no sound backend works |
225
+
226
+ ```json
227
+ {
228
+ "notifications": {
229
+ "completionSound": { "enabled": true, "minDurationMs": 10000 }
230
+ }
231
+ }
232
+ ```
233
+
234
+ ```json
235
+ {
236
+ "resourceGovernor": {
237
+ "mode": "observe",
238
+ "constrainedAvailableMemoryMiB": 2048,
239
+ "criticalAvailableMemoryMiB": 512
240
+ }
241
+ }
242
+ ```
243
+
183
244
  ### Branch Summary
184
245
 
185
246
  | Setting | Type | Default | Description |
@@ -296,11 +357,12 @@ Paths in `~/.omk/agent/settings.json` resolve relative to `~/.omk/agent`. Paths
296
357
  | `packages` | array | `[]` | npm/git packages to load resources from |
297
358
  | `extensions` | string[] | `[]` | Local extension file paths or directories |
298
359
  | `skills` | string[] | `[]` | Local skill file paths or directories |
360
+ | `defaultActiveSkills` | string[] | `[]` | Global-only list of up to 64 exact user-scoped skill names marked active in every prompt; full instructions remain on-demand |
299
361
  | `prompts` | string[] | `[]` | Local prompt template paths or directories |
300
362
  | `themes` | string[] | `[]` | Local theme file paths or directories |
301
363
  | `enableSkillCommands` | boolean | `true` | Register skills as `/skill:name` commands |
302
364
 
303
- Arrays support glob patterns and exclusions. Use `!pattern` to exclude. Use `+path` to force-include an exact path and `-path` to force-exclude an exact path.
365
+ Resource path arrays (`extensions`, `skills`, `prompts`, and `themes`) support glob patterns and exclusions. Use `!pattern` to exclude, `+path` to force-include an exact path, and `-path` to force-exclude one. `defaultActiveSkills` accepts exact names only.
304
366
 
305
367
  #### packages
306
368
 
@@ -356,7 +418,7 @@ See [packages.md](packages.md) for package management details.
356
418
 
357
419
  ## Project Overrides
358
420
 
359
- Project settings (`.omk/settings.json`) override global settings. Nested objects are merged. `contextBudget` is the exception: it is read from global settings only.
421
+ Project settings (`.omk/settings.json`) override global settings. Nested objects are merged. Settings marked global-only, including `contextBudget` and `defaultActiveSkills`, are read from global settings only.
360
422
 
361
423
  ```json
362
424
  // ~/.omk/agent/settings.json (global)
package/docs/skills.md CHANGED
@@ -77,6 +77,22 @@ For project-level Claude Code skills, add to `.omk/settings.json`:
77
77
 
78
78
  This is progressive disclosure: only descriptions are always in context, full instructions load on-demand.
79
79
 
80
+ ### Default active skills
81
+
82
+ Set `defaultActiveSkills` in global settings to mark selected discovered skills active in every prompt without repeating `!skill:` invocations:
83
+
84
+ ```json
85
+ {
86
+ "defaultActiveSkills": ["programming", "review-work", "security-review"]
87
+ }
88
+ ```
89
+
90
+ The global-only setting accepts up to 64 exact skill names, not paths or patterns. Only user-scoped discovered skills can satisfy it; a project skill with the same name is not promoted. Project settings cannot replace or clear the list.
91
+
92
+ OMK adds a compact active-skills marker containing names and, for explicit-only skills hidden from the normal inventory, the location needed to read them. It does not concatenate every `SKILL.md`; descriptions remain in the normal inventory and full instructions stay on-demand. With context budgeting enabled, active inventory entries receive hard priority. `!skill:` and SDK `activeSkillNames` selections merge for that turn; `/skill:` continues to expand the selected skill directly. Unknown or unavailable names have no prompt effect.
93
+
94
+ This file is an explicit operator choice, so it may activate a skill whose frontmatter otherwise requires direct invocation. Active skills do not expand authorization and apply only when relevant. Keep the list focused because overlapping language or workflow instructions can conflict.
95
+
80
96
  ## Skill Commands
81
97
 
82
98
  Skills register as `/skill:name` commands and interactive `!` launcher entries:
package/docs/usage.md CHANGED
@@ -45,12 +45,14 @@ Type `/` in the editor to open command completion. Extensions can register custo
45
45
  | `/new` | Start a new session |
46
46
  | `/name <name>` | Set session display name |
47
47
  | `/session` | Show session file, ID, messages, tokens, and cost |
48
+ | `/goal [objective]` | Show or set the durable goal for the current working directory |
48
49
  | `/tree` | Jump to any point in the session and continue from there |
49
50
  | `/fork` | Create a new session from a previous user message |
50
51
  | `/clone` | Duplicate the current active branch into a new session |
51
52
  | `/compact [prompt]` | Manually compact context, optionally with custom instructions |
52
53
  | `/copy` | Copy last assistant message to clipboard |
53
54
  | `/export [file]` | Export session to HTML |
55
+ | `/import <path.jsonl>` | Import a JSONL session and continue it |
54
56
  | `/share` | Upload as private GitHub gist with shareable HTML link |
55
57
  | `/reload` | Reload keybindings, extensions, skills, prompts, and context files |
56
58
  | `/hotkeys` | Show all keyboard shortcuts |
@@ -58,6 +60,25 @@ Type `/` in the editor to open command completion. Extensions can register custo
58
60
  | `/star` | Open the OMK GitHub repository |
59
61
  | `/quit` | Quit omk |
60
62
 
63
+ ### Durable Goals
64
+
65
+ Use `/goal <objective>` to create or update the durable goal for the current working directory; `/goal` without arguments shows its status. See [Run Protocol](run-protocol.md#durable-goal-lifecycle) for the authoritative persistence, round-limit, continuation, and SDK lifecycle rules.
66
+
67
+ ## Built-in Harness Safeguards
68
+
69
+ `DefaultResourceLoader` enables these first-party safeguards:
70
+
71
+ | Safeguard | Behavior | Opt out |
72
+ | --- | --- | --- |
73
+ | Identical-loop guard | Warns from the third consecutive identical tool call and blocks the sixth | `OMK_IDENTICAL_LOOP=0` |
74
+ | Tool-pair repair | Removes unmatched tool-use and tool-result blocks from outbound context | `OMK_TOOL_PAIR_REPAIR=0` |
75
+ | Model prompt presets | Adds model-specific execution guidance for supported Claude, Kimi, GLM, and Grok models | `OMK_PROMPT_PRESET=0` |
76
+ | Goal controller | Registers `/goal` and continues active goals within their round limit | `OMK_GOAL_CONTROLLER=0` |
77
+
78
+ These built-ins remain active with `--no-extensions`. A custom `ResourceLoader` owns its own extension set and does not receive them automatically.
79
+
80
+ Claude models use a clean prompt context by default: OMK keeps tools, skills, and the Claude preset but omits discovered `AGENTS.md` and `CLAUDE.md` files. This avoids provider false positives caused by unrelated instruction text. Set `OMK_CLAUDE_CONTEXT_FILES=1` to restore those files for Claude.
81
+
61
82
  ## Automatic Thinking Level Routing
62
83
 
63
84
  `/think <level>` sets the thinking level manually. Manual levels always win: choosing a concrete level leaves auto routing, so no auto router runs.
@@ -135,6 +156,17 @@ Useful session commands:
135
156
  - `/clone` duplicates the current active branch into a new session file.
136
157
  - `/compact` summarizes older messages to free context.
137
158
 
159
+ External controllers can inspect stored sessions without starting the TUI:
160
+
161
+ ```bash
162
+ omk sdk session status [id] [--json]
163
+ omk sdk session tail [id] [--limit 20]
164
+ omk sdk session inspect [id]
165
+ omk sdk session send <id> "message"
166
+ ```
167
+
168
+ `send` appends a user-message entry; it does not wake or execute an agent. See [SDK](sdk.md#inspect-persisted-sessions-from-the-cli) for flags and output formats.
169
+
138
170
  See [Sessions](sessions.md) and [Compaction](compaction.md) for details.
139
171
 
140
172
  ### Session Doctor and Recovery
@@ -279,6 +311,8 @@ cat README.md | omk -p "Summarize this text"
279
311
 
280
312
  Built-in tools: `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`.
281
313
 
314
+ With default OMP seams, a long text `read` returns a bounded window and continuation marker without creating a sidecar. With `OMK_OMP_SEAMS=0`, legacy truncation may write the selected window to `<absolute-source-path>.omk-spill.txt` and report that path. A first line that alone exceeds the byte cap is clipped without a sidecar. An inspection-only tool allowlist is therefore not a strict no-write filesystem boundary in legacy read mode.
315
+
282
316
  ### Resource Options
283
317
 
284
318
  | Option | Description |
@@ -346,7 +380,7 @@ omk --model sonnet:high "Solve this complex problem"
346
380
  # Limit model cycling
347
381
  omk --models "claude-*,gpt-4o"
348
382
 
349
- # Read-only mode
383
+ # Inspection-only tool allowlist; legacy read mode may create a spill sidecar
350
384
  omk --tools read,grep,find,ls -p "Review the code"
351
385
 
352
386
  # Disable one extension or built-in tool while keeping the rest available
@@ -355,22 +389,10 @@ omk --exclude-tools ask_question
355
389
 
356
390
  ### Environment Variables
357
391
 
358
- | Variable | Description |
359
- | ---------- | ------------- |
360
- | `OMK_CODING_AGENT_DIR` | Override config directory; default is `~/.omk/agent` |
361
- | `OMK_CODING_AGENT_SESSION_DIR` | Override session storage directory; overridden by `--session-dir` |
362
- | `OMK_PACKAGE_DIR` | Override package directory, useful for Nix/Guix store paths |
363
- | `OMK_TOOL_SCHEDULER` | Override the tool scheduler with `dag-v2` or use `waves-v1` for process-local rollback |
364
- | `OMK_OFFLINE` | Disable startup network operations, including update checks, package update checks, and install/update telemetry |
365
- | `OMK_SKIP_VERSION_CHECK` | Skip the OMK version update check at startup. This prevents the `the OMK repository` latest-version request |
366
- | `OMK_TELEMETRY` | Override install/update telemetry and provider attribution headers: `1`/`true`/`yes` or `0`/`false`/`no`. This does not disable update checks |
367
- | `OMK_CACHE_RETENTION` | Set to `long` for extended prompt cache where supported |
368
- | `VISUAL`, `EDITOR` | External editor for Ctrl+G |
392
+ See [Environment Variables](environment-variables.md) for the authoritative variable list and exact startup semantics.
369
393
 
370
394
  ## Design Principles
371
395
 
372
- OMK keeps the core small and pushes workflow-specific behavior into extensions, skills, prompt templates, and packages.
373
-
374
- It intentionally does not include built-in MCP, sub-agents, permission popups, plan mode, to-dos, or background bash. You can build or install those workflows as extensions or packages, or use external tools such as containers and tmux.
396
+ OMK keeps the core small while shipping a first-party MCP client and a small default harness layer for loop detection, context repair, model guidance, and durable goals. Broader subagent runtimes, permission UIs, plan mode, and background bash remain extension or package concerns.
375
397
 
376
398
  For the full rationale, read the [blog post](https://mariozechner.at/posts/2025-11-30-omk-coding-agent/).
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omk-extension-custom-provider-anthropic",
3
- "version": "0.96.0",
3
+ "version": "0.96.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-custom-provider-anthropic",
9
- "version": "0.96.0",
9
+ "version": "0.96.2",
10
10
  "dependencies": {
11
11
  "@anthropic-ai/sdk": "0.52.0"
12
12
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "omk-extension-custom-provider-anthropic",
3
3
  "private": true,
4
- "version": "0.96.0",
4
+ "version": "0.96.2",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -244,7 +244,12 @@ async function loginGitLab(callbacks: OAuthLoginCallbacks): Promise<OAuthCredent
244
244
 
245
245
  callbacks.onAuth({ url: `${GITLAB_COM_URL}/oauth/authorize?${authParams.toString()}` });
246
246
  const callbackUrl = await callbacks.onPrompt({ message: "Paste the callback URL:" });
247
- const code = new URL(callbackUrl).searchParams.get("code");
247
+ let code: string | null = null;
248
+ try {
249
+ code = new URL(callbackUrl).searchParams.get("code");
250
+ } catch {
251
+ throw new Error("Invalid callback URL — paste the full redirect URL from the browser");
252
+ }
248
253
  if (!code) throw new Error("No authorization code found in callback URL");
249
254
 
250
255
  const tokenResponse = await fetch(`${GITLAB_COM_URL}/oauth/token`, {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "omk-extension-custom-provider-gitlab-duo",
3
3
  "private": true,
4
- "version": "0.96.0",
4
+ "version": "0.96.2",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omk-extension-gondolin",
3
- "version": "0.96.0",
3
+ "version": "0.96.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-gondolin",
9
- "version": "0.96.0",
9
+ "version": "0.96.2",
10
10
  "dependencies": {
11
11
  "@earendil-works/gondolin": "0.12.0"
12
12
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "omk-extension-gondolin",
3
3
  "private": true,
4
- "version": "0.96.0",
4
+ "version": "0.96.2",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omk-extension-sandbox",
3
- "version": "0.96.0",
3
+ "version": "0.96.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-sandbox",
9
- "version": "0.96.0",
9
+ "version": "0.96.2",
10
10
  "dependencies": {
11
11
  "@anthropic-ai/sandbox-runtime": "0.0.26"
12
12
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "omk-extension-sandbox",
3
3
  "private": true,
4
- "version": "0.96.0",
4
+ "version": "0.96.2",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -9,6 +9,7 @@
9
9
  import { describe, expect, it } from "vitest";
10
10
  import { auditCapabilities, classifyAgent, deriveCapabilities } from "./agent-capability-router.ts";
11
11
  import { buildCapabilityCatalog } from "./capabilities.ts";
12
+ import { DOMAIN_PROFILES } from "./domain-profiles.ts";
12
13
 
13
14
  // Built once at module scope from the live skill tree under the agent
14
15
  // directory. This is populated during local verification but empty in CI (the
@@ -18,6 +19,12 @@ import { buildCapabilityCatalog } from "./capabilities.ts";
18
19
  const catalog = buildCapabilityCatalog({ agentDir: `${process.env.HOME ?? "/home/yu"}/.omk/agent` });
19
20
  const hasSkillCatalog = catalog.skills.size > 0;
20
21
 
22
+ describe("domain profile safety", () => {
23
+ it("does not route agents to offensive jailbreak skills", () => {
24
+ expect(DOMAIN_PROFILES.flatMap((profile) => profile.skillPool)).not.toContain("offensive-jailbreak");
25
+ });
26
+ });
27
+
21
28
  describe("classifyAgent", () => {
22
29
  it("classifies by name token: seo-specialist → marketing-content", () => {
23
30
  expect(classifyAgent("seo-specialist", "x")?.id).toBe("marketing-content");
@@ -132,7 +132,6 @@ export const DOMAIN_PROFILES: readonly DomainProfile[] = [
132
132
  ],
133
133
  skillPool: [
134
134
  "omk-godmod",
135
- "offensive-jailbreak",
136
135
  "reverse-skill",
137
136
  "programming",
138
137
  "insane-search",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omk-extension-with-deps",
3
- "version": "0.96.0",
3
+ "version": "0.96.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-with-deps",
9
- "version": "0.96.0",
9
+ "version": "0.96.2",
10
10
  "dependencies": {
11
11
  "ms": "2.1.3"
12
12
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "omk-extension-with-deps",
3
3
  "private": true,
4
- "version": "0.96.0",
4
+ "version": "0.96.2",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "open-multi-agent-kit",
3
- "version": "0.96.0",
3
+ "version": "0.96.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "open-multi-agent-kit",
9
- "version": "0.96.0",
9
+ "version": "0.96.2",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "omk-agent-core": "^0.96.0",
13
- "omk-ai": "^0.96.0",
14
- "omk-tui": "^0.96.0",
12
+ "omk-agent-core": "^0.96.2",
13
+ "omk-ai": "^0.96.2",
14
+ "omk-tui": "^0.96.2",
15
15
  "@silvia-odwyer/photon-node": "0.3.4",
16
16
  "canonicalize": "4.0.0",
17
17
  "chalk": "5.6.2",
@@ -27,8 +27,8 @@
27
27
  "typebox": "1.3.11",
28
28
  "undici": "8.10.0",
29
29
  "yaml": "2.9.0",
30
- "omk-adaptorch-wpl": "^0.96.0",
31
- "omk-protocol": "^0.96.0"
30
+ "omk-adaptorch-wpl": "^0.96.2",
31
+ "omk-protocol": "^0.96.2"
32
32
  },
33
33
  "optionalDependencies": {
34
34
  "@mariozechner/clipboard": "0.3.9"
@@ -1285,19 +1285,19 @@
1285
1285
  }
1286
1286
  },
1287
1287
  "node_modules/omk-adaptorch-wpl": {
1288
- "version": "0.96.0",
1289
- "resolved": "https://registry.npmjs.org/omk-adaptorch-wpl/-/omk-adaptorch-wpl-0.96.0.tgz",
1288
+ "version": "0.96.2",
1289
+ "resolved": "https://registry.npmjs.org/omk-adaptorch-wpl/-/omk-adaptorch-wpl-0.96.2.tgz",
1290
1290
  "license": "MIT",
1291
1291
  "engines": {
1292
1292
  "node": ">=22.19.0"
1293
1293
  }
1294
1294
  },
1295
1295
  "node_modules/omk-agent-core": {
1296
- "version": "0.96.0",
1297
- "resolved": "https://registry.npmjs.org/omk-agent-core/-/omk-agent-core-0.96.0.tgz",
1296
+ "version": "0.96.2",
1297
+ "resolved": "https://registry.npmjs.org/omk-agent-core/-/omk-agent-core-0.96.2.tgz",
1298
1298
  "license": "MIT",
1299
1299
  "dependencies": {
1300
- "omk-ai": "^0.96.0",
1300
+ "omk-ai": "^0.96.2",
1301
1301
  "ignore": "7.0.6",
1302
1302
  "typebox": "1.3.11",
1303
1303
  "yaml": "2.9.0"
@@ -1307,8 +1307,8 @@
1307
1307
  }
1308
1308
  },
1309
1309
  "node_modules/omk-ai": {
1310
- "version": "0.96.0",
1311
- "resolved": "https://registry.npmjs.org/omk-ai/-/omk-ai-0.96.0.tgz",
1310
+ "version": "0.96.2",
1311
+ "resolved": "https://registry.npmjs.org/omk-ai/-/omk-ai-0.96.2.tgz",
1312
1312
  "license": "MIT",
1313
1313
  "dependencies": {
1314
1314
  "@anthropic-ai/sdk": "0.91.1",
@@ -1330,16 +1330,16 @@
1330
1330
  }
1331
1331
  },
1332
1332
  "node_modules/omk-protocol": {
1333
- "version": "0.96.0",
1334
- "resolved": "https://registry.npmjs.org/omk-protocol/-/omk-protocol-0.96.0.tgz",
1333
+ "version": "0.96.2",
1334
+ "resolved": "https://registry.npmjs.org/omk-protocol/-/omk-protocol-0.96.2.tgz",
1335
1335
  "license": "MIT",
1336
1336
  "engines": {
1337
1337
  "node": ">=22.19.0"
1338
1338
  }
1339
1339
  },
1340
1340
  "node_modules/omk-tui": {
1341
- "version": "0.96.0",
1342
- "resolved": "https://registry.npmjs.org/omk-tui/-/omk-tui-0.96.0.tgz",
1341
+ "version": "0.96.2",
1342
+ "resolved": "https://registry.npmjs.org/omk-tui/-/omk-tui-0.96.2.tgz",
1343
1343
  "license": "MIT",
1344
1344
  "dependencies": {
1345
1345
  "get-east-asian-width": "1.6.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-multi-agent-kit",
3
- "version": "0.96.0",
3
+ "version": "0.96.2",
4
4
  "description": "OMK (Open Multi-Agent Kit) coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "omkConfig": {
@@ -39,14 +39,12 @@
39
39
  "test": "vitest --run",
40
40
  "shrinkwrap": "node ../../scripts/generate-coding-agent-shrinkwrap.mjs",
41
41
  "prepublishOnly": "npm run clean && npm run build && npm run shrinkwrap",
42
- "link-workspace-deps": "node ./scripts/link-workspace-deps.mjs",
43
- "prepare": "node ./scripts/link-workspace-deps.mjs",
44
- "postinstall": "node ./scripts/link-workspace-deps.mjs"
42
+ "link-workspace-deps": "node ./scripts/link-workspace-deps.mjs"
45
43
  },
46
44
  "dependencies": {
47
- "omk-agent-core": "^0.96.0",
48
- "omk-ai": "^0.96.0",
49
- "omk-tui": "^0.96.0",
45
+ "omk-agent-core": "^0.96.2",
46
+ "omk-ai": "^0.96.2",
47
+ "omk-tui": "^0.96.2",
50
48
  "@silvia-odwyer/photon-node": "0.3.4",
51
49
  "canonicalize": "4.0.0",
52
50
  "chalk": "5.6.2",
@@ -62,8 +60,8 @@
62
60
  "typebox": "1.3.11",
63
61
  "undici": "8.10.0",
64
62
  "yaml": "2.9.0",
65
- "omk-adaptorch-wpl": "^0.96.0",
66
- "omk-protocol": "^0.96.0"
63
+ "omk-adaptorch-wpl": "^0.96.2",
64
+ "omk-protocol": "^0.96.2"
67
65
  },
68
66
  "overrides": {
69
67
  "rimraf": "6.1.2",