open-multi-agent-kit 1.2.0 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +2 -2
  3. package/dist/approval-api.d.ts +5 -0
  4. package/dist/approval-api.d.ts.map +1 -0
  5. package/dist/approval-api.js +5 -0
  6. package/dist/approval-api.js.map +1 -0
  7. package/dist/cli/session-picker.d.ts +2 -2
  8. package/dist/cli/session-picker.d.ts.map +1 -1
  9. package/dist/cli/session-picker.js.map +1 -1
  10. package/dist/commands/verified-run-cli.d.ts.map +1 -1
  11. package/dist/commands/verified-run-cli.js +69 -22
  12. package/dist/commands/verified-run-cli.js.map +1 -1
  13. package/dist/commands/verified-run-signal.d.ts +3 -0
  14. package/dist/commands/verified-run-signal.d.ts.map +1 -0
  15. package/dist/commands/verified-run-signal.js +15 -0
  16. package/dist/commands/verified-run-signal.js.map +1 -0
  17. package/dist/coordination/broker.d.ts.map +1 -1
  18. package/dist/coordination/broker.js +13 -6
  19. package/dist/coordination/broker.js.map +1 -1
  20. package/dist/coordination/operation.d.ts +1 -0
  21. package/dist/coordination/operation.d.ts.map +1 -1
  22. package/dist/coordination/operation.js +55 -3
  23. package/dist/coordination/operation.js.map +1 -1
  24. package/dist/coordination/resource.d.ts +1 -1
  25. package/dist/coordination/resource.d.ts.map +1 -1
  26. package/dist/coordination/resource.js +10 -4
  27. package/dist/coordination/resource.js.map +1 -1
  28. package/dist/coordination/types.d.ts.map +1 -1
  29. package/dist/coordination/types.js +1 -1
  30. package/dist/coordination/types.js.map +1 -1
  31. package/dist/core/adaptorch-bridge.d.ts +1 -1
  32. package/dist/core/adaptorch-bridge.d.ts.map +1 -1
  33. package/dist/core/adaptorch-bridge.js +1 -1
  34. package/dist/core/adaptorch-bridge.js.map +1 -1
  35. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  36. package/dist/core/agent-session-runtime.js +16 -16
  37. package/dist/core/agent-session-runtime.js.map +1 -1
  38. package/dist/core/agent-session.d.ts.map +1 -1
  39. package/dist/core/agent-session.js +32 -33
  40. package/dist/core/agent-session.js.map +1 -1
  41. package/dist/core/canonical-json.d.ts +3 -0
  42. package/dist/core/canonical-json.d.ts.map +1 -0
  43. package/dist/core/canonical-json.js +20 -0
  44. package/dist/core/canonical-json.js.map +1 -0
  45. package/dist/core/compaction/compaction.d.ts +7 -3
  46. package/dist/core/compaction/compaction.d.ts.map +1 -1
  47. package/dist/core/compaction/compaction.js +14 -29
  48. package/dist/core/compaction/compaction.js.map +1 -1
  49. package/dist/core/compaction/fallback.d.ts +16 -5
  50. package/dist/core/compaction/fallback.d.ts.map +1 -1
  51. package/dist/core/compaction/fallback.js +4 -3
  52. package/dist/core/compaction/fallback.js.map +1 -1
  53. package/dist/core/compaction/model-failover.d.ts +21 -0
  54. package/dist/core/compaction/model-failover.d.ts.map +1 -0
  55. package/dist/core/compaction/model-failover.js +46 -0
  56. package/dist/core/compaction/model-failover.js.map +1 -0
  57. package/dist/core/compaction/session-summary.d.ts +21 -0
  58. package/dist/core/compaction/session-summary.d.ts.map +1 -0
  59. package/dist/core/compaction/session-summary.js +27 -0
  60. package/dist/core/compaction/session-summary.js.map +1 -0
  61. package/dist/core/export-html/template.js +14 -0
  62. package/dist/core/extensions/index.d.ts +1 -1
  63. package/dist/core/extensions/index.d.ts.map +1 -1
  64. package/dist/core/extensions/index.js.map +1 -1
  65. package/dist/core/extensions/session-lifecycle-types.d.ts +14 -0
  66. package/dist/core/extensions/session-lifecycle-types.d.ts.map +1 -0
  67. package/dist/core/extensions/session-lifecycle-types.js +2 -0
  68. package/dist/core/extensions/session-lifecycle-types.js.map +1 -0
  69. package/dist/core/extensions/types.d.ts +4 -9
  70. package/dist/core/extensions/types.d.ts.map +1 -1
  71. package/dist/core/extensions/types.js.map +1 -1
  72. package/dist/core/http-dispatcher.d.ts.map +1 -1
  73. package/dist/core/http-dispatcher.js +10 -1
  74. package/dist/core/http-dispatcher.js.map +1 -1
  75. package/dist/core/keybindings.d.ts.map +1 -1
  76. package/dist/core/keybindings.js +3 -6
  77. package/dist/core/keybindings.js.map +1 -1
  78. package/dist/core/legacy-resource-policy.d.ts +7 -0
  79. package/dist/core/legacy-resource-policy.d.ts.map +1 -0
  80. package/dist/core/legacy-resource-policy.js +9 -0
  81. package/dist/core/legacy-resource-policy.js.map +1 -0
  82. package/dist/core/mcp/config.d.ts.map +1 -1
  83. package/dist/core/mcp/config.js +17 -3
  84. package/dist/core/mcp/config.js.map +1 -1
  85. package/dist/core/mcp/connection-queue.d.ts +12 -0
  86. package/dist/core/mcp/connection-queue.d.ts.map +1 -0
  87. package/dist/core/mcp/connection-queue.js +46 -0
  88. package/dist/core/mcp/connection-queue.js.map +1 -0
  89. package/dist/core/mcp/manager-runtime.d.ts +55 -0
  90. package/dist/core/mcp/manager-runtime.d.ts.map +1 -0
  91. package/dist/core/mcp/manager-runtime.js +66 -0
  92. package/dist/core/mcp/manager-runtime.js.map +1 -0
  93. package/dist/core/mcp/manager.d.ts +12 -68
  94. package/dist/core/mcp/manager.d.ts.map +1 -1
  95. package/dist/core/mcp/manager.js +33 -113
  96. package/dist/core/mcp/manager.js.map +1 -1
  97. package/dist/core/mcp/protocol.d.ts.map +1 -1
  98. package/dist/core/mcp/protocol.js +70 -40
  99. package/dist/core/mcp/protocol.js.map +1 -1
  100. package/dist/core/package-manager.d.ts +4 -0
  101. package/dist/core/package-manager.d.ts.map +1 -1
  102. package/dist/core/package-manager.js +59 -129
  103. package/dist/core/package-manager.js.map +1 -1
  104. package/dist/core/package-resource-patterns.d.ts +7 -0
  105. package/dist/core/package-resource-patterns.d.ts.map +1 -0
  106. package/dist/core/package-resource-patterns.js +99 -0
  107. package/dist/core/package-resource-patterns.js.map +1 -0
  108. package/dist/core/provider-resilience.d.ts +9 -0
  109. package/dist/core/provider-resilience.d.ts.map +1 -1
  110. package/dist/core/provider-resilience.js +15 -0
  111. package/dist/core/provider-resilience.js.map +1 -1
  112. package/dist/core/reasoning-router-v4.d.ts +5 -2
  113. package/dist/core/reasoning-router-v4.d.ts.map +1 -1
  114. package/dist/core/reasoning-router-v4.js.map +1 -1
  115. package/dist/core/resource-loader.d.ts.map +1 -1
  116. package/dist/core/resource-loader.js +4 -8
  117. package/dist/core/resource-loader.js.map +1 -1
  118. package/dist/core/run-execution-api.d.ts +8 -1
  119. package/dist/core/run-execution-api.d.ts.map +1 -1
  120. package/dist/core/run-execution-api.js +4 -0
  121. package/dist/core/run-execution-api.js.map +1 -1
  122. package/dist/core/run-journal.d.ts +1 -2
  123. package/dist/core/run-journal.d.ts.map +1 -1
  124. package/dist/core/run-journal.js +2 -19
  125. package/dist/core/run-journal.js.map +1 -1
  126. package/dist/core/session-listing.d.ts +51 -0
  127. package/dist/core/session-listing.d.ts.map +1 -0
  128. package/dist/core/session-listing.js +111 -0
  129. package/dist/core/session-listing.js.map +1 -0
  130. package/dist/core/session-manager.d.ts +12 -37
  131. package/dist/core/session-manager.d.ts.map +1 -1
  132. package/dist/core/session-manager.js +12 -118
  133. package/dist/core/session-manager.js.map +1 -1
  134. package/dist/core/session-message-text.d.ts +5 -0
  135. package/dist/core/session-message-text.d.ts.map +1 -0
  136. package/dist/core/session-message-text.js +9 -0
  137. package/dist/core/session-message-text.js.map +1 -0
  138. package/dist/core/skills-catalog-cache.d.ts +2 -0
  139. package/dist/core/skills-catalog-cache.d.ts.map +1 -1
  140. package/dist/core/skills-catalog-cache.js +71 -17
  141. package/dist/core/skills-catalog-cache.js.map +1 -1
  142. package/dist/core/tools/read.d.ts.map +1 -1
  143. package/dist/core/tools/read.js +1 -1
  144. package/dist/core/tools/read.js.map +1 -1
  145. package/dist/core/verified-run/authority-clock.d.ts +3 -0
  146. package/dist/core/verified-run/authority-clock.d.ts.map +1 -0
  147. package/dist/core/verified-run/authority-clock.js +25 -0
  148. package/dist/core/verified-run/authority-clock.js.map +1 -0
  149. package/dist/core/verified-run/authority-errors.d.ts +10 -0
  150. package/dist/core/verified-run/authority-errors.d.ts.map +1 -0
  151. package/dist/core/verified-run/authority-errors.js +17 -0
  152. package/dist/core/verified-run/authority-errors.js.map +1 -0
  153. package/dist/core/verified-run/authority-events.d.ts +126 -0
  154. package/dist/core/verified-run/authority-events.d.ts.map +1 -0
  155. package/dist/core/verified-run/authority-events.js +482 -0
  156. package/dist/core/verified-run/authority-events.js.map +1 -0
  157. package/dist/core/verified-run/authority-journal.d.ts +27 -0
  158. package/dist/core/verified-run/authority-journal.d.ts.map +1 -0
  159. package/dist/core/verified-run/authority-journal.js +83 -0
  160. package/dist/core/verified-run/authority-journal.js.map +1 -0
  161. package/dist/core/verified-run/authority-meaning.d.ts +13 -0
  162. package/dist/core/verified-run/authority-meaning.d.ts.map +1 -0
  163. package/dist/core/verified-run/authority-meaning.js +40 -0
  164. package/dist/core/verified-run/authority-meaning.js.map +1 -0
  165. package/dist/core/verified-run/authority-runtime.d.ts +82 -0
  166. package/dist/core/verified-run/authority-runtime.d.ts.map +1 -0
  167. package/dist/core/verified-run/authority-runtime.js +169 -0
  168. package/dist/core/verified-run/authority-runtime.js.map +1 -0
  169. package/dist/core/verified-run/authority-store.d.ts +204 -0
  170. package/dist/core/verified-run/authority-store.d.ts.map +1 -0
  171. package/dist/core/verified-run/authority-store.js +852 -0
  172. package/dist/core/verified-run/authority-store.js.map +1 -0
  173. package/dist/core/verified-run/broker.d.ts +8 -1
  174. package/dist/core/verified-run/broker.d.ts.map +1 -1
  175. package/dist/core/verified-run/broker.js +94 -90
  176. package/dist/core/verified-run/broker.js.map +1 -1
  177. package/dist/core/verified-run/candidate-policy.d.ts +10 -0
  178. package/dist/core/verified-run/candidate-policy.d.ts.map +1 -0
  179. package/dist/core/verified-run/candidate-policy.js +33 -0
  180. package/dist/core/verified-run/candidate-policy.js.map +1 -0
  181. package/dist/core/verified-run/candidate.d.ts.map +1 -1
  182. package/dist/core/verified-run/candidate.js +5 -10
  183. package/dist/core/verified-run/candidate.js.map +1 -1
  184. package/dist/core/verified-run/coordinator.d.ts +35 -17
  185. package/dist/core/verified-run/coordinator.d.ts.map +1 -1
  186. package/dist/core/verified-run/coordinator.js +111 -57
  187. package/dist/core/verified-run/coordinator.js.map +1 -1
  188. package/dist/core/verified-run/dag-phase.d.ts.map +1 -1
  189. package/dist/core/verified-run/dag-phase.js +1 -1
  190. package/dist/core/verified-run/dag-phase.js.map +1 -1
  191. package/dist/core/verified-run/dag-recovery.d.ts +5 -1
  192. package/dist/core/verified-run/dag-recovery.d.ts.map +1 -1
  193. package/dist/core/verified-run/dag-recovery.js +10 -4
  194. package/dist/core/verified-run/dag-recovery.js.map +1 -1
  195. package/dist/core/verified-run/event-parser.d.ts.map +1 -1
  196. package/dist/core/verified-run/event-parser.js +33 -0
  197. package/dist/core/verified-run/event-parser.js.map +1 -1
  198. package/dist/core/verified-run/evidence-read-projection.d.ts +4 -0
  199. package/dist/core/verified-run/evidence-read-projection.d.ts.map +1 -0
  200. package/dist/core/verified-run/evidence-read-projection.js +27 -0
  201. package/dist/core/verified-run/evidence-read-projection.js.map +1 -0
  202. package/dist/core/verified-run/evidence.d.ts +12 -1
  203. package/dist/core/verified-run/evidence.d.ts.map +1 -1
  204. package/dist/core/verified-run/evidence.js +51 -2
  205. package/dist/core/verified-run/evidence.js.map +1 -1
  206. package/dist/core/verified-run/git-candidate-preflight.d.ts +4 -0
  207. package/dist/core/verified-run/git-candidate-preflight.d.ts.map +1 -0
  208. package/dist/core/verified-run/git-candidate-preflight.js +34 -0
  209. package/dist/core/verified-run/git-candidate-preflight.js.map +1 -0
  210. package/dist/core/verified-run/git-effect-supervisor.d.ts +24 -0
  211. package/dist/core/verified-run/git-effect-supervisor.d.ts.map +1 -0
  212. package/dist/core/verified-run/git-effect-supervisor.js +174 -0
  213. package/dist/core/verified-run/git-effect-supervisor.js.map +1 -0
  214. package/dist/core/verified-run/git-execution.d.ts +27 -0
  215. package/dist/core/verified-run/git-execution.d.ts.map +1 -0
  216. package/dist/core/verified-run/git-execution.js +118 -0
  217. package/dist/core/verified-run/git-execution.js.map +1 -0
  218. package/dist/core/verified-run/git-plumbing.d.ts +37 -0
  219. package/dist/core/verified-run/git-plumbing.d.ts.map +1 -0
  220. package/dist/core/verified-run/git-plumbing.js +171 -0
  221. package/dist/core/verified-run/git-plumbing.js.map +1 -0
  222. package/dist/core/verified-run/git-publication-worker.d.ts +2 -0
  223. package/dist/core/verified-run/git-publication-worker.d.ts.map +1 -0
  224. package/dist/core/verified-run/git-publication-worker.js +54 -0
  225. package/dist/core/verified-run/git-publication-worker.js.map +1 -0
  226. package/dist/core/verified-run/git-sandbox-layout.d.ts +4 -0
  227. package/dist/core/verified-run/git-sandbox-layout.d.ts.map +1 -0
  228. package/dist/core/verified-run/git-sandbox-layout.js +29 -0
  229. package/dist/core/verified-run/git-sandbox-layout.js.map +1 -0
  230. package/dist/core/verified-run/git-worker-protocol.d.ts +19 -0
  231. package/dist/core/verified-run/git-worker-protocol.d.ts.map +1 -0
  232. package/dist/core/verified-run/git-worker-protocol.js +109 -0
  233. package/dist/core/verified-run/git-worker-protocol.js.map +1 -0
  234. package/dist/core/verified-run/git-worker-runtime.d.ts +19 -0
  235. package/dist/core/verified-run/git-worker-runtime.d.ts.map +1 -0
  236. package/dist/core/verified-run/git-worker-runtime.js +74 -0
  237. package/dist/core/verified-run/git-worker-runtime.js.map +1 -0
  238. package/dist/core/verified-run/journal.d.ts +2 -3
  239. package/dist/core/verified-run/journal.d.ts.map +1 -1
  240. package/dist/core/verified-run/journal.js.map +1 -1
  241. package/dist/core/verified-run/namespace-identity.d.ts.map +1 -1
  242. package/dist/core/verified-run/namespace-identity.js +1 -1
  243. package/dist/core/verified-run/namespace-identity.js.map +1 -1
  244. package/dist/core/verified-run/owned-execution.d.ts +10 -1
  245. package/dist/core/verified-run/owned-execution.d.ts.map +1 -1
  246. package/dist/core/verified-run/owned-execution.js +124 -31
  247. package/dist/core/verified-run/owned-execution.js.map +1 -1
  248. package/dist/core/verified-run/phase-context.d.ts +2 -0
  249. package/dist/core/verified-run/phase-context.d.ts.map +1 -1
  250. package/dist/core/verified-run/phase-context.js.map +1 -1
  251. package/dist/core/verified-run/projection.d.ts.map +1 -1
  252. package/dist/core/verified-run/projection.js +51 -1
  253. package/dist/core/verified-run/projection.js.map +1 -1
  254. package/dist/core/verified-run/publish-preflight.d.ts +12 -0
  255. package/dist/core/verified-run/publish-preflight.d.ts.map +1 -0
  256. package/dist/core/verified-run/publish-preflight.js +38 -0
  257. package/dist/core/verified-run/publish-preflight.js.map +1 -0
  258. package/dist/core/verified-run/publish-start.d.ts +5 -0
  259. package/dist/core/verified-run/publish-start.d.ts.map +1 -0
  260. package/dist/core/verified-run/publish-start.js +7 -0
  261. package/dist/core/verified-run/publish-start.js.map +1 -0
  262. package/dist/core/verified-run/recovery-projection.d.ts.map +1 -1
  263. package/dist/core/verified-run/recovery-projection.js +5 -0
  264. package/dist/core/verified-run/recovery-projection.js.map +1 -1
  265. package/dist/core/verified-run/recovery.d.ts +5 -1
  266. package/dist/core/verified-run/recovery.d.ts.map +1 -1
  267. package/dist/core/verified-run/recovery.js +10 -4
  268. package/dist/core/verified-run/recovery.js.map +1 -1
  269. package/dist/core/verified-run/run-plan.d.ts +17 -0
  270. package/dist/core/verified-run/run-plan.d.ts.map +1 -0
  271. package/dist/core/verified-run/run-plan.js +18 -0
  272. package/dist/core/verified-run/run-plan.js.map +1 -0
  273. package/dist/core/verified-run/run-publish-owned.d.ts +6 -0
  274. package/dist/core/verified-run/run-publish-owned.d.ts.map +1 -0
  275. package/dist/core/verified-run/run-publish-owned.js +199 -0
  276. package/dist/core/verified-run/run-publish-owned.js.map +1 -0
  277. package/dist/core/verified-run/run-publish.d.ts +19 -0
  278. package/dist/core/verified-run/run-publish.d.ts.map +1 -0
  279. package/dist/core/verified-run/run-publish.js +210 -0
  280. package/dist/core/verified-run/run-publish.js.map +1 -0
  281. package/dist/core/verified-run/run-status-owned.d.ts +4 -0
  282. package/dist/core/verified-run/run-status-owned.d.ts.map +1 -0
  283. package/dist/core/verified-run/run-status-owned.js +14 -0
  284. package/dist/core/verified-run/run-status-owned.js.map +1 -0
  285. package/dist/core/verified-run/run-status.d.ts +133 -0
  286. package/dist/core/verified-run/run-status.d.ts.map +1 -0
  287. package/dist/core/verified-run/run-status.js +193 -0
  288. package/dist/core/verified-run/run-status.js.map +1 -0
  289. package/dist/core/verified-run/run-types.d.ts +31 -0
  290. package/dist/core/verified-run/run-types.d.ts.map +1 -1
  291. package/dist/core/verified-run/run-types.js.map +1 -1
  292. package/dist/core/verified-run/storage.d.ts.map +1 -1
  293. package/dist/core/verified-run/storage.js +1 -1
  294. package/dist/core/verified-run/storage.js.map +1 -1
  295. package/dist/core/verified-run/supervisor-adapter.d.ts +81 -0
  296. package/dist/core/verified-run/supervisor-adapter.d.ts.map +1 -0
  297. package/dist/core/verified-run/supervisor-adapter.js +168 -0
  298. package/dist/core/verified-run/supervisor-adapter.js.map +1 -0
  299. package/dist/core/verified-run/verification-phase.d.ts.map +1 -1
  300. package/dist/core/verified-run/verification-phase.js +1 -1
  301. package/dist/core/verified-run/verification-phase.js.map +1 -1
  302. package/dist/core/verified-run/writer-phase.d.ts.map +1 -1
  303. package/dist/core/verified-run/writer-phase.js +1 -0
  304. package/dist/core/verified-run/writer-phase.js.map +1 -1
  305. package/dist/core/verified-run/writer-recovery.d.ts +2 -0
  306. package/dist/core/verified-run/writer-recovery.d.ts.map +1 -1
  307. package/dist/core/verified-run/writer-recovery.js +1 -0
  308. package/dist/core/verified-run/writer-recovery.js.map +1 -1
  309. package/dist/core/workload-shard-execution-types.d.ts +4 -1
  310. package/dist/core/workload-shard-execution-types.d.ts.map +1 -1
  311. package/dist/core/workload-shard-execution-types.js.map +1 -1
  312. package/dist/core/workload-shard-executor.d.ts +2 -2
  313. package/dist/core/workload-shard-executor.d.ts.map +1 -1
  314. package/dist/core/workload-shard-executor.js +16 -37
  315. package/dist/core/workload-shard-executor.js.map +1 -1
  316. package/dist/core/workload-shard-frontier.d.ts +5 -0
  317. package/dist/core/workload-shard-frontier.d.ts.map +1 -0
  318. package/dist/core/workload-shard-frontier.js +47 -0
  319. package/dist/core/workload-shard-frontier.js.map +1 -0
  320. package/dist/core/workload-shard-runner.d.ts.map +1 -1
  321. package/dist/core/workload-shard-runner.js +28 -17
  322. package/dist/core/workload-shard-runner.js.map +1 -1
  323. package/dist/index.d.ts +2 -5
  324. package/dist/index.d.ts.map +1 -1
  325. package/dist/index.js +1 -4
  326. package/dist/index.js.map +1 -1
  327. package/dist/main.d.ts.map +1 -1
  328. package/dist/main.js +2 -1
  329. package/dist/main.js.map +1 -1
  330. package/dist/metacognition/bridge-result.d.ts +148 -0
  331. package/dist/metacognition/bridge-result.d.ts.map +1 -0
  332. package/dist/metacognition/bridge-result.js +46 -0
  333. package/dist/metacognition/bridge-result.js.map +1 -0
  334. package/dist/metacognition/calibration-selective.d.ts.map +1 -1
  335. package/dist/metacognition/calibration-selective.js +8 -2
  336. package/dist/metacognition/calibration-selective.js.map +1 -1
  337. package/dist/metacognition/index.d.ts +1 -0
  338. package/dist/metacognition/index.d.ts.map +1 -1
  339. package/dist/metacognition/index.js +1 -0
  340. package/dist/metacognition/index.js.map +1 -1
  341. package/dist/metacognition/risk.d.ts.map +1 -1
  342. package/dist/metacognition/risk.js +28 -14
  343. package/dist/metacognition/risk.js.map +1 -1
  344. package/dist/metacognition/runtime-bridge.d.ts +41 -14
  345. package/dist/metacognition/runtime-bridge.d.ts.map +1 -1
  346. package/dist/metacognition/runtime-bridge.js +357 -39
  347. package/dist/metacognition/runtime-bridge.js.map +1 -1
  348. package/dist/modes/interactive/components/assistant-message.d.ts +2 -0
  349. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  350. package/dist/modes/interactive/components/assistant-message.js +42 -26
  351. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  352. package/dist/modes/interactive/components/chat-container.d.ts +7 -0
  353. package/dist/modes/interactive/components/chat-container.d.ts.map +1 -0
  354. package/dist/modes/interactive/components/chat-container.js +14 -0
  355. package/dist/modes/interactive/components/chat-container.js.map +1 -0
  356. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  357. package/dist/modes/interactive/components/dynamic-border.js +4 -2
  358. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  359. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  360. package/dist/modes/interactive/components/login-dialog.js +0 -1
  361. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  362. package/dist/modes/interactive/components/session-selector-async-search.d.ts +33 -0
  363. package/dist/modes/interactive/components/session-selector-async-search.d.ts.map +1 -0
  364. package/dist/modes/interactive/components/session-selector-async-search.js +109 -0
  365. package/dist/modes/interactive/components/session-selector-async-search.js.map +1 -0
  366. package/dist/modes/interactive/components/session-selector-loaders.d.ts +6 -0
  367. package/dist/modes/interactive/components/session-selector-loaders.d.ts.map +1 -0
  368. package/dist/modes/interactive/components/session-selector-loaders.js +9 -0
  369. package/dist/modes/interactive/components/session-selector-loaders.js.map +1 -0
  370. package/dist/modes/interactive/components/session-selector-search.d.ts +1 -1
  371. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  372. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  373. package/dist/modes/interactive/components/session-selector-tree.d.ts +16 -0
  374. package/dist/modes/interactive/components/session-selector-tree.d.ts.map +1 -0
  375. package/dist/modes/interactive/components/session-selector-tree.js +46 -0
  376. package/dist/modes/interactive/components/session-selector-tree.js.map +1 -0
  377. package/dist/modes/interactive/components/session-selector.d.ts +6 -1
  378. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  379. package/dist/modes/interactive/components/session-selector.js +36 -76
  380. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  381. package/dist/modes/interactive/components/tool-execution-images.d.ts +32 -0
  382. package/dist/modes/interactive/components/tool-execution-images.d.ts.map +1 -0
  383. package/dist/modes/interactive/components/tool-execution-images.js +144 -0
  384. package/dist/modes/interactive/components/tool-execution-images.js.map +1 -0
  385. package/dist/modes/interactive/components/tool-execution.d.ts +3 -4
  386. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  387. package/dist/modes/interactive/components/tool-execution.js +22 -71
  388. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  389. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  390. package/dist/modes/interactive/interactive-mode.js +7 -9
  391. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  392. package/dist/modes/interactive/tui-diagnostics.d.ts +8 -4
  393. package/dist/modes/interactive/tui-diagnostics.d.ts.map +1 -1
  394. package/dist/modes/interactive/tui-diagnostics.js +35 -1
  395. package/dist/modes/interactive/tui-diagnostics.js.map +1 -1
  396. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  397. package/dist/modes/rpc/rpc-mode.js +14 -17
  398. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  399. package/dist/modes/rpc/rpc-response.d.ts +5 -0
  400. package/dist/modes/rpc/rpc-response.d.ts.map +1 -0
  401. package/dist/modes/rpc/rpc-response.js +17 -0
  402. package/dist/modes/rpc/rpc-response.js.map +1 -0
  403. package/dist/utils/exif-orientation.d.ts.map +1 -1
  404. package/dist/utils/exif-orientation.js +2 -3
  405. package/dist/utils/exif-orientation.js.map +1 -1
  406. package/dist/utils/tools-manager.d.ts.map +1 -1
  407. package/dist/utils/tools-manager.js +3 -5
  408. package/dist/utils/tools-manager.js.map +1 -1
  409. package/docs/adaptorch-preview-spec.md +7 -7
  410. package/docs/atomic-commit-planning.md +69 -0
  411. package/docs/compaction.md +26 -1
  412. package/docs/extensions.md +14 -0
  413. package/docs/mcp.md +22 -0
  414. package/docs/metacognition.md +79 -0
  415. package/docs/model-catalog-refresh.md +159 -1
  416. package/docs/models.md +1 -1
  417. package/docs/runtime-algorithms.md +49 -4
  418. package/docs/session-format.md +8 -0
  419. package/docs/sessions.md +19 -0
  420. package/docs/skills.md +19 -0
  421. package/docs/terminal-setup.md +15 -0
  422. package/docs/tui.md +41 -0
  423. package/docs/verified-run-safety.md +75 -0
  424. package/examples/extensions/custom-provider-anthropic/index.ts +1 -1
  425. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  426. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  427. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  428. package/examples/extensions/doom-overlay/wad-finder.ts +7 -3
  429. package/examples/extensions/gondolin/package-lock.json +2 -2
  430. package/examples/extensions/gondolin/package.json +1 -1
  431. package/examples/extensions/sandbox/package-lock.json +2 -2
  432. package/examples/extensions/sandbox/package.json +1 -1
  433. package/examples/extensions/with-deps/package-lock.json +2 -2
  434. package/examples/extensions/with-deps/package.json +1 -1
  435. package/npm-shrinkwrap.json +18 -18
  436. package/package.json +6 -8
@@ -21,6 +21,9 @@ baseline below is history, not current truth.
21
21
  | Provider retry/failover classification | yes | `provider-retry`, `session-failure-cause` | default | resilience/classification tests | released | not measured |
22
22
  | MCP descriptor injection screen | yes | `mcp/manager` import path | default | quarantine tests | released | pattern rule score, not calibrated risk |
23
23
  | verified-run coordinator + evidence | yes | verified-run paths | opt-in command | coordinator/evidence tests | working tree | scope-limited binding, not general correctness |
24
+ | Atomic commit planner (`planAtomicCommits`) | yes | public agent API only; no live commit caller | explicit function call | local planner/API/property tests, not a CI receipt | working tree | not measured |
25
+
26
+ Named tests are evidence locations, not a claim that this exact working tree passed remote CI. Source call paths and fresh local results must be checked before promoting a gate.
24
27
 
25
28
  Gates are reported per row so a green "implemented" never upgrades itself to
26
29
  "released" or "measured".
@@ -61,6 +64,45 @@ and the authorization hook still runs once. Coverage:
61
64
  boundary only; isolating a non-cooperative extension needs a killable execution
62
65
  boundary, which this change does not add.
63
66
 
67
+ ## Deferred claim freshness and cancelled memo requests (2026-09-22)
68
+
69
+ The live path is `agentLoop` → `schedulePlannedDagLevels` → `runDagFrontier`.
70
+ A deferred call retains its prepared arguments and one-time authorization, and
71
+ admission always re-resolves its claims: a cached resolution that survived the
72
+ wait could execute a stale scope (A holds X, B defers on X, C starts on Z, and
73
+ after A settles B runs on Z using the cached X claim). Re-resolution preserves
74
+ conflict exclusion against both earlier pending calls and later running calls,
75
+ and stays abort-bound, so a late claim result cannot admit an aborted call.
76
+
77
+ The cached resolution is still reused for one thing — proving the deferral.
78
+ A deferral decision is only "wait", so a stale conflict answer executes nothing,
79
+ while re-invoking an extension `resourceClaims()` callback on every scan of the
80
+ wait paid real I/O for the same answer. The resolver-budget regression shows a
81
+ deferred call blocked behind a slow peer invoking the callback 5 times when the
82
+ answer was re-resolved per scan, and 3 times with the split: the scheduling
83
+ resolution, one conflict-proving resolution, and the fresh resolution required
84
+ before admission. Claim callbacks may still run again after a wait, so they must
85
+ not be used as authorization side effects.
86
+
87
+ The per-run schedule memo checks cancellation before inspecting arguments or
88
+ serializing its key, including warm-cache requests. An already-aborted request
89
+ returns no plan and does not promote cache recency.
90
+
91
+ `assignDagDependencies` also returns an empty-edge graph directly when every
92
+ resolution is read-only (including empty claims). In the 128-entry regression,
93
+ resolved-entry visits fell from 16,256 to 128 with the same dependency graph.
94
+ Mixed writes and exclusive barriers still use the existing conflict scan. This
95
+ is an operation-count result for that fixture, not measured end-to-end latency,
96
+ model quality, CI certification or a release claim.
97
+
98
+ Coverage: `tool-dag-deferred-refresh.test.ts`,
99
+ `tool-dag-deferred-resolver-budget.test.ts`,
100
+ `tool-dag-memo-cancellation.test.ts`, and
101
+ `tool-dag-readonly-dependencies.test.ts` in `packages/agent/test/`.
102
+ The separate `planAtomicCommits` export remains a pure public API,
103
+ not a live automatic commit coordinator. ECRAF and automatic shards
104
+ are not activated by these changes.
105
+
64
106
  ## Reasoning router resolver contract (2026-09-19 audit F05/F06)
65
107
 
66
108
  The low-confidence escalation in `resolveThinkingLevelV4WithUncertainty` is
@@ -173,16 +215,19 @@ and places conflicting calls in later levels. Before a level executes, OMK autho
173
215
  re-plans with post-hook arguments so a hook cannot silently invalidate the
174
216
  original claim plan.
175
217
 
176
- The live executor uses level barriers. `assignDagDependencies()` computes a
177
- finer predecessor graph, but no live executor consumes it. Each candidate level
178
- is authorized and then re-planned from post-hook arguments.
218
+ The live executor uses a ready frontier, not level barriers.
219
+ `assignDagDependencies()` computes the predecessor graph and the loop feeds it
220
+ to `runDagFrontier()`, which admits a node as soon as its predecessors settle
221
+ and a resident slot frees up. Each candidate is still authorized and
222
+ re-planned from post-hook arguments before execution.
179
223
 
180
224
  Evidence:
181
225
 
182
226
  - `packages/agent/src/tool-dag-scheduler.ts`: `assignDagLevels`,
183
227
  `assignDagDependencies`, `scheduleDagLevels`
184
228
  - `packages/agent/src/agent-loop.ts`: `executeToolCallsDagLevels`,
185
- `runDagLevelCalls`
229
+ `runDagFrontier` (predecessor-settle ready queue; the former
230
+ `runDagLevelCalls` level barrier was replaced)
186
231
  - `packages/agent/test/tool-dag-scheduler*.test.ts`
187
232
  - `packages/agent/test/tool-dag-dependencies.test.ts`
188
233
 
@@ -372,6 +372,14 @@ Key methods for working with sessions programmatically.
372
372
  ### Static Listing Methods
373
373
  - `SessionManager.list(cwd, sessionDir?, onProgress?)` - List sessions for a directory
374
374
  - `SessionManager.listAll(onProgress?)` - List all sessions across all projects
375
+ - `SessionManager.list(cwd, sessionDir, onProgress, { metadataOnly: true })` - Return metadata without `allMessagesText`
376
+ - `SessionManager.listAll(sessionDir, onProgress, { metadataOnly: true })` - Metadata-only listing; pass `undefined` for global scope
377
+
378
+ Existing calls retain `SessionInfo[]` and its full `allMessagesText`. The opt-in
379
+ metadata calls return the same metadata fields without that property; absence
380
+ means not loaded, not empty history. The TUI uses this opt-in and performs bounded
381
+ full-text reads on search. There is no disk format or sidecar migration, and no
382
+ change to append, complete-entry parsing, branch resolution, or export.
375
383
 
376
384
  ### Instance Methods - Session Management
377
385
  - `newSession(options?)` - Start a new session (options: `{ parentSession?: string }`)
package/docs/sessions.md CHANGED
@@ -69,6 +69,25 @@ In the picker you can:
69
69
 
70
70
  When available, omk uses the `trash` CLI for deletion instead of permanently removing files.
71
71
 
72
+ ### Listing and full-history search
73
+
74
+ The `/resume` and `--resume` pickers keep metadata (name, first message, dates,
75
+ count and ancestry), not every session's concatenated message text. Typing a
76
+ query reads full user/assistant text from the original JSONL files, at most two
77
+ files at a time. Fuzzy tokens, quoted phrases, regex, ordering, named filters and
78
+ all-project scope remain available. Search covers all stored message branches,
79
+ not only visible rows or the current branch.
80
+
81
+ A loading state is shown until search settles. Changing the query or scope
82
+ cancels obsolete work; replacement work waits for its reads to settle, and old
83
+ results cannot overwrite the current query. Missing/unreadable or replaced
84
+ session identities are reported rather than treated as fully searched. Each
85
+ query rereads the source, so appended text is searchable without a stale sidecar.
86
+
87
+ This does not change JSONL durability, resume, copying, export, or branch storage.
88
+ No disk index is introduced. A search still temporarily materializes up to two
89
+ full text projections; one very large entry or first message can still be large.
90
+
72
91
  ## Naming Sessions
73
92
 
74
93
  Use `/name <name>` to set a human-readable session name:
package/docs/skills.md CHANGED
@@ -77,6 +77,25 @@ 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
+ ### Catalog cache
81
+
82
+ Startup caches skill metadata in `cache/skill-catalog-v2.json` under the agent
83
+ directory. Unchanged, complete fingerprints allow reuse; `.gitignore`, `.ignore`,
84
+ and `.fdignore` changes invalidate discovery just like skill file edits. A depth
85
+ or entry limit, unreadable path, or symlink cycle makes the fingerprint incomplete,
86
+ so OMK uses the original scanner rather than a partial cached inventory. Results
87
+ are stored only when fingerprints agree before and after a scan.
88
+
89
+ Writers use exclusive, owner-only temporary files and atomic rename. Concurrent
90
+ writers may replace each other's cache snapshots (causing misses), but do not share
91
+ or remove each other's temporary files. The 64-entry limit bounds cached roots,
92
+ not the number of skills. Cache hits return cloned metadata; corrupt entries and
93
+ legacy v1 files are misses. Legacy files are not deleted or migrated in place.
94
+
95
+ This is metadata-based invalidation, not an atomic filesystem snapshot, and does
96
+ not change scanner precedence, trust rules, or skill availability. Cold scans pay
97
+ for a second fingerprint walk; incomplete trees cannot use the cache fast path.
98
+
80
99
  ### Default active skills
81
100
 
82
101
  Set `defaultActiveSkills` in global settings to mark selected discovered skills active in every prompt without repeating `!skill:` invocations:
@@ -69,6 +69,21 @@ Add to `keybindings.json` to enable `Shift+Enter` for multi-line input:
69
69
  }
70
70
  ```
71
71
 
72
+ ## Zed (Integrated Terminal)
73
+
74
+ Add these key bindings to your Zed `keymap.json`:
75
+
76
+ ```json
77
+ {
78
+ "context": "Terminal",
79
+ "bindings": {
80
+ "shift-enter": ["terminal::SendText", "\u001b[13;2u"],
81
+ "ctrl--": ["terminal::SendText", "\u001b[45;5u"],
82
+ "ctrl-alt-]": ["terminal::SendText", "\u001b[93;7u"]
83
+ }
84
+ }
85
+ ```
86
+
72
87
  ## Windows Terminal
73
88
 
74
89
  Add to `settings.json` (Ctrl+Shift+, or Settings → Open JSON file) to forward the modified Enter keys omk uses:
package/docs/tui.md CHANGED
@@ -452,6 +452,21 @@ interface MyTheme {
452
452
  }
453
453
  ```
454
454
 
455
+ ## Output observations
456
+
457
+ `ProcessTerminal.getOutputStats()` returns numeric counters for write calls,
458
+ UTF-8 bytes offered, `write(false)`, drain/error events, and current/peak writable
459
+ buffer length. `/debug` displays them and `/debug save` includes only these
460
+ allowlisted fields. No prompt, image, ANSI frame, or error message is retained in
461
+ the counters. Terminals without this optional API omit the observations.
462
+
463
+ Every ProcessTerminal paint, cursor, title, progress, protocol and restoration
464
+ write goes through the observer. A false return is counted, never retried: the
465
+ Writable has already accepted the data. Error monitoring does not consume normal
466
+ error handling; listeners are detached on stop. This is instrumentation, not a
467
+ backpressure scheduler or an output-memory bound. Intermediate paint coalescing
468
+ and bounded shutdown flushing remain separate work.
469
+
455
470
  ## Debug logging
456
471
 
457
472
  Set `OMK_TUI_WRITE_LOG` to capture the raw ANSI stream written to stdout.
@@ -488,6 +503,32 @@ class CachedComponent {
488
503
 
489
504
  Call `invalidate()` when state changes, then `handle.requestRender()` to trigger re-render.
490
505
 
506
+ ### Assistant streaming blocks
507
+
508
+ `AssistantMessageComponent` reuses text/thinking components at unchanged content
509
+ indices. It updates a block only when its displayed text changes, preserving the
510
+ real Markdown render cache for stable blocks even when the message is mutated in
511
+ place. Removed blocks are released; thinking visibility changes replace the affected
512
+ representation. Width changes reflow Markdown, and explicit invalidation rebuilds
513
+ views for theme changes, including pre-styled hidden-thinking labels.
514
+
515
+ This does not coalesce model events, truncate history, or incrementally parse an
516
+ actively changing Markdown block. Error/abort text, spacing, and OSC 133 markers
517
+ retain their existing behavior.
518
+
519
+ ### Tool image conversion ownership
520
+
521
+ Kitty-only non-PNG conversions are shared by source digest and MIME type, not
522
+ image position. Repeated results and reordered images reuse active work; late
523
+ results cannot replace a newer source. Hidden images defer new conversion work,
524
+ PNG is passed through, and original tool/session image data is never deleted.
525
+
526
+ Conversion failure leaves a visible fallback and is retried on an explicit result
527
+ update, not on every render. Clearing chat history or stopping interactive mode
528
+ disposes its image projections and prevents late repaints. The converter has no
529
+ cancellation API: in-flight work remains owned until its promise settles.
530
+ Only derived images referenced by the current result are cached.
531
+
491
532
  ## Invalidation and Theme Changes
492
533
 
493
534
  When the theme changes, the TUI calls `invalidate()` on all components to clear their caches. Components must properly implement `invalidate()` to ensure theme changes take effect.
@@ -0,0 +1,75 @@
1
+ # Verified run의 안전 경계
2
+
3
+ `linux-command-v1`, `linux-command-dag-v1`, synthetic `linux-scripted-agent-v1`의 소스 구현을 설명합니다. 실제 provider 연결, 자동 shard 실행, active ECRAF, 원격 게시, managed apply의 지원 선언은 아닙니다.
4
+
5
+ ## 권한과 복구
6
+
7
+ - `AuthorityStore`는 실행 시작 시 host clock을 읽습니다. 시각 인자를 생략해도 만료 검사를 수행하며, deadline과 같은 시각부터 신규 시작을 거절합니다. 테스트용 clock은 trusted host 구성에서 주입합니다.
8
+ - 현재 epoch, incarnation, token, claims와 실행 상태를 확인합니다. `lookup`의 `pending`은 조회 결과이며 실행 승인이 아닙니다.
9
+ - 게시 재시도는 기존 ref를 먼저 관찰합니다. CAS 결과만 기록하는 복구에는 새 effect를 시작하지 않습니다. `running`, `quarantined`, terminal grant를 새로운 CAS에 재사용하지 않습니다.
10
+ - 취소나 만료는 종료 증명이 아닙니다. 실행 identity가 없는 crash 기록은 계속 `unknown`으로 남습니다.
11
+ - dispatch journal 쓰기가 spawn 전에 실패하면 reservation을 정산합니다. `onReady` 이후의 오류를 pre-spawn 오류로 오인해 권한을 해제하지 않습니다.
12
+
13
+ ## 후보와 Git
14
+
15
+ 전체 manifest의 경로, 부모 디렉터리, 중복, 파일/디렉터리 충돌, POSIX mode, 크기, 내용 digest를 첫 object write 전에 확인합니다. Git으로 표현할 수 없는 mode는 거절하며, 검증 뒤 조용히 정규화하지 않습니다. `mktree -z`로 이름을 보존하고 sealed tree를 manifest와 다시 비교합니다. SHA-1과 SHA-256 저장소를 처리합니다.
16
+
17
+ Git 호출은 무작위 private hooks 디렉터리를 만들고 owner, 0700 mode, symlink 여부, 비어 있는지를 확인합니다. child 종료 뒤 자기 디렉터리만 정리합니다. 상속 Git config, hooks, fsmonitor, 자동 maintenance와 signing에 의존하지 않습니다. 같은 UID 또는 host 관리자 침해를 방어한다는 주장은 하지 않습니다.
18
+
19
+ 현재 inclusion은 `.git`과 `.omk`를 제외한 전체 트리이며 알려진 민감 파일 이름을 거절합니다. 저장된 legacy 후보도 게시 전에 재검사합니다. 이는 비밀 내용 탐지기가 아니며, 사용자별 inclusion policy digest를 contract와 receipt에 연결하는 확장은 별도 작업입니다.
20
+
21
+ ## 게시 deadline과 취소
22
+
23
+ `RunCoordinator.publish`와 CLI publish는 같은 취소 신호를 사용합니다. Git 객체 생성 전과 CAS 전에 신호와 권한을 다시 확인합니다. CAS 성공 뒤의 취소는 ref를 되돌리지 않습니다.
24
+
25
+ 공개 SDK/CLI의 `PublishOptions.timeoutMs`는 1~60,000ms이며 기본값은 60초입니다. host와 worker는 동일한 Linux monotonic deadline을 사용합니다. worker의 각 Git child는 남은 예산과 30초 중 작은 timeout을 사용합니다. 같은 blob digest는 한 번만 기록합니다.
26
+
27
+ ### Owned Git publisher
28
+
29
+ `RunCoordinator.publish`와 CLI publish는 `owned-git-v1`을 사용합니다. 검증용 namespace 감독자를 재사용하며 worktree는 read-only, 실제 `.git` 디렉터리만 writable로 mount합니다. 현재 Node 실행 파일과 고정된 worker 모듈 집합을 사용하고, 사용자 extension이나 모델이 지정한 모듈은 로드하지 않습니다. 모듈과 실행 파일 digest는 실행 의미에 결합합니다.
30
+
31
+ 순서는 durable dispatch intent → namespace identity 기록 → 후보 sealing → publish intent 기록 → fresh authority 확인 → candidate-OID에 결합된 CAS gate → ref 관측 → child close와 namespace drain → 권한 정산입니다. PID 숫자만으로 종료를 인정하지 않습니다. PID birth 또는 boot identity가 다르면 `unknown`이며, 실제 namespace가 비었을 때만 종료를 확인합니다.
32
+
33
+ CAS 결과와 process 종료는 별도 사실입니다. ref가 이미 candidate라면 다시 CAS하지 않고 metadata만 복구할 수 있습니다. Git grant가 아직 남아 있으면 status는 `pending_effects`, `cleanSuccess: false`, `terminal: false`를 표시합니다. 취소가 CAS 이후 도착하면 이미 반영된 ref를 되돌리지 않습니다. callback 실패에도 child를 abort하고 종료를 관측하며, 증명이 부족하면 grant와 private staging을 보존합니다.
34
+
35
+ 초기 지원 대상은 Linux+bwrap+Node의 source/npm 실행이며 `.git`이 실제 디렉터리인 저장소입니다. linked worktree의 외부 git directory, Bun/standalone bundle의 worker 파일 미제공, namespace 사용 불가에는 명시적으로 실패합니다. 동기 helper `publishVerifiedRun`은 내부 호환 경로로 남지만 SDK/CLI가 그 경로로 자동 후퇴하지 않습니다.
36
+
37
+ 벽시계 역행은 `clock_anomaly`로 차단합니다. 이 오류를 없애려고 journal을 지우거나 시계 검사를 끄지 마십시오. workspace/fsync 같은 host 동기 I/O 전체를 OS 수준에서 시간 제한한다는 보장은 하지 않습니다.
38
+
39
+ ## 증거 조회
40
+
41
+ SDK의 `evidenceRead(runId)`와 `omk run evidence ID --json`은 다음 축을 구분합니다.
42
+
43
+ | 필드 | 의미 |
44
+ | --- | --- |
45
+ | `authenticity` | `valid`, `invalid`, `unverifiable` |
46
+ | `verification` | `passed`, `failed`, `incomplete` |
47
+ | `currentEnvironmentEligibility` | `matching`, `different`, `unsupported`, `unknown` |
48
+
49
+ 정상 서명된 실패 영수증은 `valid`와 `failed`입니다. key가 없으면 `unverifiable`, 변조를 확인하면 `invalid`입니다. 현재 sandbox나 실행 파일이 없어도 과거 증거를 읽을 수 있습니다. 게시와 재실행은 별도의 현재 환경 검사를 유지합니다. 조회는 journal을 수정하거나 영수증을 재서명하지 않습니다.
50
+
51
+ ## 저널의 incremental replay
52
+
53
+ 같은 inode와 head 계보에서 읽은 committed prefix 바이트가 캐시와 정확히 같을 때만 suffix를 파싱합니다. 크기나 timestamp 일치만으로 prefix를 신뢰하지 않습니다. 교체, 축소, prefix 변경, GC, 재시작에서는 full replay 또는 오류로 돌아갑니다.
54
+
55
+ head CAS, reducer 사전검사, append fsync, head 게시, 재읽기 검증은 그대로 수행합니다. 외부 조회에는 복사된 projection을 반환해 caller가 cached state를 바꾸지 못하게 합니다. `OpenAuthorityStoreOptions.incrementalReplay: false`로 파싱 재사용만 끌 수 있으며 저장 형식은 바뀌지 않습니다. 전체 파일 읽기는 남아 있으므로 O(1) I/O나 일정한 mutation latency를 보장하지 않습니다.
56
+
57
+ ## Shard helper
58
+
59
+ heavy-process capacity 0은 실행 0입니다. 실행 전 journal 쓰기가 실패하면 획득한 permit을 반환합니다. 예외가 나도 시작한 형제 작업을 abort하고 join합니다. runner 거절만으로 종료를 추정하지 않으며, 불명확한 작업은 permit과 journal 소유권을 유지합니다.
60
+
61
+ orphan attempt의 재시작은 trusted `observeTermination`이 해당 attempt의 종료를 확인한 뒤에만 가능합니다. `ShardRunner`는 자신이 소유한 실행 경계의 종료를 관찰한 후 resolve해야 합니다. 이 helper를 고쳤다는 사실이 verified DAG나 실제 provider에 자동 연결됐다는 뜻은 아닙니다.
62
+
63
+ ## 회귀 검사
64
+
65
+ 저장소 루트에서 좁은 offline 검사를 실행합니다.
66
+
67
+ ```bash
68
+ LIVE_E2E=0 node node_modules/vitest/dist/cli.js --run \
69
+ packages/coding-agent/test/safe-wiring \
70
+ packages/coding-agent/test/verified-run \
71
+ packages/coding-agent/test/workload-shard --maxWorkers=2
72
+ npm run check
73
+ ```
74
+
75
+ 전체 검증은 [Development](development.md)의 빌드 및 키 없는 테스트 절차를 따릅니다. 실제 계정의 인증 파일을 이동하지 않도록 검증용 checkout과 별도 HOME을 사용합니다. local pass, 설치 artifact smoke, 원격 CI, 실모델 효과 측정은 서로 다른 증거입니다.
@@ -378,7 +378,7 @@ function streamCustomAnthropic(
378
378
  // Anthropic gates newer models on this version (400
379
379
  // claude_code_version_too_old). Canonical value: CLAUDE_CODE_VERSION
380
380
  // in omk-ai (packages/ai/src/utils/claude-code-identity.ts).
381
- "user-agent": "claude-cli/2.1.258 (external, cli)",
381
+ "user-agent": "claude-cli/2.1.280 (external, cli)",
382
382
  "x-app": "cli",
383
383
  };
384
384
  } else {
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omk-extension-custom-provider-anthropic",
3
- "version": "1.2.0",
3
+ "version": "1.2.3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-custom-provider-anthropic",
9
- "version": "1.2.0",
9
+ "version": "1.2.3",
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": "1.2.0",
4
+ "version": "1.2.3",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "omk-extension-custom-provider-gitlab-duo",
3
3
  "private": true,
4
- "version": "1.2.0",
4
+ "version": "1.2.3",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,11 +1,12 @@
1
1
  import { existsSync, writeFileSync } from "node:fs";
2
2
  import { dirname, join, resolve } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
+ import { gunzipSync } from "node:zlib";
4
5
 
5
6
  // Get the bundled WAD path (relative to this module)
6
7
  const __dirname = dirname(fileURLToPath(import.meta.url));
7
8
  const BUNDLED_WAD = join(__dirname, "doom1.wad");
8
- const WAD_URL = "https://distro.ibiblio.org/slitaz/sources/packages/d/doom1.wad";
9
+ const WAD_URL = "https://www.gamers.org/pub/idgames/idstuff/doom/doom-1.8.wad.gz";
9
10
 
10
11
  const DEFAULT_WAD_PATHS = ["./doom1.wad", "./DOOM1.WAD", "~/doom1.wad", "~/.doom/doom1.wad"];
11
12
 
@@ -42,8 +43,11 @@ export async function ensureWadFile(): Promise<string | null> {
42
43
  if (!response.ok) {
43
44
  throw new Error(`HTTP ${response.status}`);
44
45
  }
45
- const buffer = await response.arrayBuffer();
46
- writeFileSync(BUNDLED_WAD, Buffer.from(buffer));
46
+ const wad = gunzipSync(Buffer.from(await response.arrayBuffer()));
47
+ if (wad.subarray(0, 4).toString("ascii") !== "IWAD") {
48
+ throw new Error("Downloaded file is not a valid IWAD");
49
+ }
50
+ writeFileSync(BUNDLED_WAD, wad);
47
51
  return BUNDLED_WAD;
48
52
  } catch {
49
53
  return null;
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omk-extension-gondolin",
3
- "version": "1.2.0",
3
+ "version": "1.2.3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-gondolin",
9
- "version": "1.2.0",
9
+ "version": "1.2.3",
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": "1.2.0",
4
+ "version": "1.2.3",
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": "1.2.0",
3
+ "version": "1.2.3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-sandbox",
9
- "version": "1.2.0",
9
+ "version": "1.2.3",
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": "1.2.0",
4
+ "version": "1.2.3",
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-with-deps",
3
- "version": "1.2.0",
3
+ "version": "1.2.3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-with-deps",
9
- "version": "1.2.0",
9
+ "version": "1.2.3",
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": "1.2.0",
4
+ "version": "1.2.3",
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": "1.2.0",
3
+ "version": "1.2.3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "open-multi-agent-kit",
9
- "version": "1.2.0",
9
+ "version": "1.2.3",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "omk-agent-core": "^1.2.0",
13
- "omk-ai": "^1.2.0",
14
- "omk-tui": "^1.2.0",
12
+ "omk-agent-core": "^1.2.3",
13
+ "omk-ai": "^1.2.3",
14
+ "omk-tui": "^1.2.3",
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": "^1.2.0",
31
- "omk-protocol": "^1.2.0"
30
+ "omk-adaptorch-wpl": "^1.2.3",
31
+ "omk-protocol": "^1.2.3"
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": "1.2.0",
1289
- "resolved": "https://registry.npmjs.org/omk-adaptorch-wpl/-/omk-adaptorch-wpl-1.2.0.tgz",
1288
+ "version": "1.2.3",
1289
+ "resolved": "https://registry.npmjs.org/omk-adaptorch-wpl/-/omk-adaptorch-wpl-1.2.3.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": "1.2.0",
1297
- "resolved": "https://registry.npmjs.org/omk-agent-core/-/omk-agent-core-1.2.0.tgz",
1296
+ "version": "1.2.3",
1297
+ "resolved": "https://registry.npmjs.org/omk-agent-core/-/omk-agent-core-1.2.3.tgz",
1298
1298
  "license": "MIT",
1299
1299
  "dependencies": {
1300
- "omk-ai": "^1.2.0",
1300
+ "omk-ai": "^1.2.3",
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": "1.2.0",
1311
- "resolved": "https://registry.npmjs.org/omk-ai/-/omk-ai-1.2.0.tgz",
1310
+ "version": "1.2.3",
1311
+ "resolved": "https://registry.npmjs.org/omk-ai/-/omk-ai-1.2.3.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": "1.2.0",
1334
- "resolved": "https://registry.npmjs.org/omk-protocol/-/omk-protocol-1.2.0.tgz",
1333
+ "version": "1.2.3",
1334
+ "resolved": "https://registry.npmjs.org/omk-protocol/-/omk-protocol-1.2.3.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": "1.2.0",
1342
- "resolved": "https://registry.npmjs.org/omk-tui/-/omk-tui-1.2.0.tgz",
1341
+ "version": "1.2.3",
1342
+ "resolved": "https://registry.npmjs.org/omk-tui/-/omk-tui-1.2.3.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": "1.2.0",
3
+ "version": "1.2.3",
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": {
@@ -43,9 +43,9 @@
43
43
  "link-workspace-deps": "node ./scripts/link-workspace-deps.mjs"
44
44
  },
45
45
  "dependencies": {
46
- "omk-agent-core": "^1.2.0",
47
- "omk-ai": "^1.2.0",
48
- "omk-tui": "^1.2.0",
46
+ "omk-agent-core": "^1.2.3",
47
+ "omk-ai": "^1.2.3",
48
+ "omk-tui": "^1.2.3",
49
49
  "@silvia-odwyer/photon-node": "0.3.4",
50
50
  "canonicalize": "4.0.0",
51
51
  "chalk": "5.6.2",
@@ -61,8 +61,8 @@
61
61
  "typebox": "1.3.11",
62
62
  "undici": "8.10.0",
63
63
  "yaml": "2.9.0",
64
- "omk-adaptorch-wpl": "^1.2.0",
65
- "omk-protocol": "^1.2.0"
64
+ "omk-adaptorch-wpl": "^1.2.3",
65
+ "omk-protocol": "^1.2.3"
66
66
  },
67
67
  "overrides": {
68
68
  "rimraf": "6.1.2",
@@ -75,9 +75,7 @@
75
75
  },
76
76
  "devDependencies": {
77
77
  "@types/cross-spawn": "6.0.6",
78
- "@types/diff": "7.0.2",
79
78
  "@types/hosted-git-info": "3.0.5",
80
- "@types/ms": "2.1.0",
81
79
  "@types/node": "24.12.4",
82
80
  "@types/proper-lockfile": "4.1.4",
83
81
  "fast-check": "4.9.0",