open-multi-agent-kit 0.80.7 → 0.90.0

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 (1494) hide show
  1. package/CHANGELOG.md +5 -27
  2. package/README.md +81 -38
  3. package/dist/agents/jailbreak/index.d.ts +7 -0
  4. package/dist/agents/jailbreak/index.d.ts.map +1 -0
  5. package/dist/agents/jailbreak/index.js +7 -0
  6. package/dist/agents/jailbreak/index.js.map +1 -0
  7. package/dist/agents/jailbreak/subagent-f.d.ts +44 -0
  8. package/dist/agents/jailbreak/subagent-f.d.ts.map +1 -0
  9. package/dist/agents/jailbreak/subagent-f.js +60 -0
  10. package/dist/agents/jailbreak/subagent-f.js.map +1 -0
  11. package/dist/bun/register-bedrock.d.ts.map +1 -1
  12. package/dist/bun/register-bedrock.js +2 -2
  13. package/dist/bun/register-bedrock.js.map +1 -1
  14. package/dist/ci/verify-reporter.d.ts +22 -0
  15. package/dist/ci/verify-reporter.d.ts.map +1 -0
  16. package/dist/ci/verify-reporter.js +50 -0
  17. package/dist/ci/verify-reporter.js.map +1 -0
  18. package/dist/cli/args.d.ts +4 -1
  19. package/dist/cli/args.d.ts.map +1 -1
  20. package/dist/cli/args.js +8 -0
  21. package/dist/cli/args.js.map +1 -1
  22. package/dist/cli/config-selector.d.ts.map +1 -1
  23. package/dist/cli/config-selector.js +1 -1
  24. package/dist/cli/config-selector.js.map +1 -1
  25. package/dist/cli/file-processor.d.ts +1 -1
  26. package/dist/cli/file-processor.d.ts.map +1 -1
  27. package/dist/cli/file-processor.js.map +1 -1
  28. package/dist/cli/initial-message.d.ts +1 -1
  29. package/dist/cli/initial-message.d.ts.map +1 -1
  30. package/dist/cli/initial-message.js.map +1 -1
  31. package/dist/cli/jailbreak-args.d.ts +26 -0
  32. package/dist/cli/jailbreak-args.d.ts.map +1 -0
  33. package/dist/cli/jailbreak-args.js +86 -0
  34. package/dist/cli/jailbreak-args.js.map +1 -0
  35. package/dist/cli/list-models.d.ts.map +1 -1
  36. package/dist/cli/list-models.js +1 -1
  37. package/dist/cli/list-models.js.map +1 -1
  38. package/dist/cli/session-picker.d.ts.map +1 -1
  39. package/dist/cli/session-picker.js +1 -1
  40. package/dist/cli/session-picker.js.map +1 -1
  41. package/dist/commands/doctor-provider.d.ts +19 -0
  42. package/dist/commands/doctor-provider.d.ts.map +1 -0
  43. package/dist/commands/doctor-provider.js +123 -0
  44. package/dist/commands/doctor-provider.js.map +1 -0
  45. package/dist/commands/jailbreak.d.ts +49 -0
  46. package/dist/commands/jailbreak.d.ts.map +1 -0
  47. package/dist/commands/jailbreak.js +201 -0
  48. package/dist/commands/jailbreak.js.map +1 -0
  49. package/dist/config.d.ts +9 -5
  50. package/dist/config.d.ts.map +1 -1
  51. package/dist/config.js +33 -52
  52. package/dist/config.js.map +1 -1
  53. package/dist/core/agent-session-services.d.ts +2 -2
  54. package/dist/core/agent-session-services.d.ts.map +1 -1
  55. package/dist/core/agent-session-services.js.map +1 -1
  56. package/dist/core/agent-session.d.ts +16 -27
  57. package/dist/core/agent-session.d.ts.map +1 -1
  58. package/dist/core/agent-session.js +185 -89
  59. package/dist/core/agent-session.js.map +1 -1
  60. package/dist/core/auth-storage.d.ts +3 -6
  61. package/dist/core/auth-storage.d.ts.map +1 -1
  62. package/dist/core/auth-storage.js +7 -7
  63. package/dist/core/auth-storage.js.map +1 -1
  64. package/dist/core/automation/index.d.ts +359 -0
  65. package/dist/core/automation/index.d.ts.map +1 -0
  66. package/dist/core/automation/index.js +665 -0
  67. package/dist/core/automation/index.js.map +1 -0
  68. package/dist/core/bash-executor.d.ts +1 -0
  69. package/dist/core/bash-executor.d.ts.map +1 -1
  70. package/dist/core/bash-executor.js +1 -0
  71. package/dist/core/bash-executor.js.map +1 -1
  72. package/dist/core/browser-use.d.ts +53 -0
  73. package/dist/core/browser-use.d.ts.map +1 -0
  74. package/dist/core/browser-use.js +108 -0
  75. package/dist/core/browser-use.js.map +1 -0
  76. package/dist/core/command-safety-parser.d.ts +77 -0
  77. package/dist/core/command-safety-parser.d.ts.map +1 -0
  78. package/dist/core/command-safety-parser.js +763 -0
  79. package/dist/core/command-safety-parser.js.map +1 -0
  80. package/dist/core/command-safety.d.ts.map +1 -1
  81. package/dist/core/command-safety.js +106 -3
  82. package/dist/core/command-safety.js.map +1 -1
  83. package/dist/core/compaction/branch-summarization.d.ts +2 -2
  84. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  85. package/dist/core/compaction/branch-summarization.js +5 -21
  86. package/dist/core/compaction/branch-summarization.js.map +1 -1
  87. package/dist/core/compaction/compaction.d.ts +3 -101
  88. package/dist/core/compaction/compaction.d.ts.map +1 -1
  89. package/dist/core/compaction/compaction.js +21 -656
  90. package/dist/core/compaction/compaction.js.map +1 -1
  91. package/dist/core/compaction/utils.d.ts +2 -2
  92. package/dist/core/compaction/utils.d.ts.map +1 -1
  93. package/dist/core/compaction/utils.js.map +1 -1
  94. package/dist/core/compactor.d.ts +42 -0
  95. package/dist/core/compactor.d.ts.map +1 -0
  96. package/dist/core/compactor.js +131 -0
  97. package/dist/core/compactor.js.map +1 -0
  98. package/dist/core/context-budget-compressors.d.ts +50 -0
  99. package/dist/core/context-budget-compressors.d.ts.map +1 -0
  100. package/dist/core/context-budget-compressors.js +166 -0
  101. package/dist/core/context-budget-compressors.js.map +1 -0
  102. package/dist/core/context-budget-governor-v2.d.ts +7 -0
  103. package/dist/core/context-budget-governor-v2.d.ts.map +1 -0
  104. package/dist/core/context-budget-governor-v2.js +7 -0
  105. package/dist/core/context-budget-governor-v2.js.map +1 -0
  106. package/dist/core/context-budget-governor.d.ts +67 -0
  107. package/dist/core/context-budget-governor.d.ts.map +1 -0
  108. package/dist/core/context-budget-governor.js +224 -0
  109. package/dist/core/context-budget-governor.js.map +1 -0
  110. package/dist/core/context-budget-headroom-candidates.d.ts +3 -0
  111. package/dist/core/context-budget-headroom-candidates.d.ts.map +1 -0
  112. package/dist/core/context-budget-headroom-candidates.js +85 -0
  113. package/dist/core/context-budget-headroom-candidates.js.map +1 -0
  114. package/dist/core/context-budget-headroom-types.d.ts +67 -0
  115. package/dist/core/context-budget-headroom-types.d.ts.map +1 -0
  116. package/dist/core/context-budget-headroom-types.js +46 -0
  117. package/dist/core/context-budget-headroom-types.js.map +1 -0
  118. package/dist/core/context-budget-headroom.d.ts +5 -0
  119. package/dist/core/context-budget-headroom.d.ts.map +1 -0
  120. package/dist/core/context-budget-headroom.js +123 -0
  121. package/dist/core/context-budget-headroom.js.map +1 -0
  122. package/dist/core/context-budget-relevance.d.ts +46 -0
  123. package/dist/core/context-budget-relevance.d.ts.map +1 -0
  124. package/dist/core/context-budget-relevance.js +329 -0
  125. package/dist/core/context-budget-relevance.js.map +1 -0
  126. package/dist/core/context-budget-system-prompt-items.d.ts +19 -0
  127. package/dist/core/context-budget-system-prompt-items.d.ts.map +1 -0
  128. package/dist/core/context-budget-system-prompt-items.js +143 -0
  129. package/dist/core/context-budget-system-prompt-items.js.map +1 -0
  130. package/dist/core/context-budget-system-prompt.d.ts +31 -0
  131. package/dist/core/context-budget-system-prompt.d.ts.map +1 -0
  132. package/dist/core/context-budget-system-prompt.js +87 -0
  133. package/dist/core/context-budget-system-prompt.js.map +1 -0
  134. package/dist/core/context-budget-token-counter.d.ts +34 -0
  135. package/dist/core/context-budget-token-counter.d.ts.map +1 -0
  136. package/dist/core/context-budget-token-counter.js +315 -0
  137. package/dist/core/context-budget-token-counter.js.map +1 -0
  138. package/dist/core/context-budget-v2-coverage.d.ts +5 -0
  139. package/dist/core/context-budget-v2-coverage.d.ts.map +1 -0
  140. package/dist/core/context-budget-v2-coverage.js +58 -0
  141. package/dist/core/context-budget-v2-coverage.js.map +1 -0
  142. package/dist/core/context-budget-v2-plan-hash.d.ts +12 -0
  143. package/dist/core/context-budget-v2-plan-hash.d.ts.map +1 -0
  144. package/dist/core/context-budget-v2-plan-hash.js +38 -0
  145. package/dist/core/context-budget-v2-plan-hash.js.map +1 -0
  146. package/dist/core/context-budget-v2-planner.d.ts +3 -0
  147. package/dist/core/context-budget-v2-planner.d.ts.map +1 -0
  148. package/dist/core/context-budget-v2-planner.js +143 -0
  149. package/dist/core/context-budget-v2-planner.js.map +1 -0
  150. package/dist/core/context-budget-v2-scoring.d.ts +14 -0
  151. package/dist/core/context-budget-v2-scoring.d.ts.map +1 -0
  152. package/dist/core/context-budget-v2-scoring.js +114 -0
  153. package/dist/core/context-budget-v2-scoring.js.map +1 -0
  154. package/dist/core/context-budget-v2-selection.d.ts +32 -0
  155. package/dist/core/context-budget-v2-selection.d.ts.map +1 -0
  156. package/dist/core/context-budget-v2-selection.js +158 -0
  157. package/dist/core/context-budget-v2-selection.js.map +1 -0
  158. package/dist/core/context-budget-v2-tiers.d.ts +15 -0
  159. package/dist/core/context-budget-v2-tiers.d.ts.map +1 -0
  160. package/dist/core/context-budget-v2-tiers.js +68 -0
  161. package/dist/core/context-budget-v2-tiers.js.map +1 -0
  162. package/dist/core/context-budget-v2-types.d.ts +92 -0
  163. package/dist/core/context-budget-v2-types.d.ts.map +1 -0
  164. package/dist/core/context-budget-v2-types.js +24 -0
  165. package/dist/core/context-budget-v2-types.js.map +1 -0
  166. package/dist/core/defaults.d.ts +1 -1
  167. package/dist/core/defaults.d.ts.map +1 -1
  168. package/dist/core/defaults.js.map +1 -1
  169. package/dist/core/diagnostics.d.ts +6 -0
  170. package/dist/core/diagnostics.d.ts.map +1 -1
  171. package/dist/core/diagnostics.js.map +1 -1
  172. package/dist/core/domain-confidence.d.ts +9 -0
  173. package/dist/core/domain-confidence.d.ts.map +1 -0
  174. package/dist/core/domain-confidence.js +39 -0
  175. package/dist/core/domain-confidence.js.map +1 -0
  176. package/dist/core/domain-dispatch.d.ts +44 -0
  177. package/dist/core/domain-dispatch.d.ts.map +1 -0
  178. package/dist/core/domain-dispatch.js +118 -0
  179. package/dist/core/domain-dispatch.js.map +1 -0
  180. package/dist/core/domain-loadouts.d.ts +76 -0
  181. package/dist/core/domain-loadouts.d.ts.map +1 -0
  182. package/dist/core/domain-loadouts.js +981 -0
  183. package/dist/core/domain-loadouts.js.map +1 -0
  184. package/dist/core/domain-registry.d.ts +7 -0
  185. package/dist/core/domain-registry.d.ts.map +1 -0
  186. package/dist/core/domain-registry.js +11 -0
  187. package/dist/core/domain-registry.js.map +1 -0
  188. package/dist/core/domain-router.d.ts +16 -0
  189. package/dist/core/domain-router.d.ts.map +1 -0
  190. package/dist/core/domain-router.js +24 -0
  191. package/dist/core/domain-router.js.map +1 -0
  192. package/dist/core/domain-score.d.ts +13 -0
  193. package/dist/core/domain-score.d.ts.map +1 -0
  194. package/dist/core/domain-score.js +48 -0
  195. package/dist/core/domain-score.js.map +1 -0
  196. package/dist/core/domain-trigger-match.d.ts +14 -0
  197. package/dist/core/domain-trigger-match.d.ts.map +1 -0
  198. package/dist/core/domain-trigger-match.js +51 -0
  199. package/dist/core/domain-trigger-match.js.map +1 -0
  200. package/dist/core/domain-types.d.ts +30 -0
  201. package/dist/core/domain-types.d.ts.map +1 -0
  202. package/dist/core/domain-types.js +2 -0
  203. package/dist/core/domain-types.js.map +1 -0
  204. package/dist/core/exact-cache-policy.d.ts +8 -0
  205. package/dist/core/exact-cache-policy.d.ts.map +1 -1
  206. package/dist/core/exact-cache-policy.js +9 -0
  207. package/dist/core/exact-cache-policy.js.map +1 -1
  208. package/dist/core/exec.d.ts +0 -2
  209. package/dist/core/exec.d.ts.map +1 -1
  210. package/dist/core/exec.js +0 -1
  211. package/dist/core/exec.js.map +1 -1
  212. package/dist/core/export-html/index.d.ts +1 -1
  213. package/dist/core/export-html/index.d.ts.map +1 -1
  214. package/dist/core/export-html/index.js.map +1 -1
  215. package/dist/core/export-html/template.js +1 -3
  216. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  217. package/dist/core/export-html/tool-renderer.js.map +1 -1
  218. package/dist/core/extensions/builtin/command-safety-gate.d.ts +3 -0
  219. package/dist/core/extensions/builtin/command-safety-gate.d.ts.map +1 -1
  220. package/dist/core/extensions/builtin/command-safety-gate.js +15 -3
  221. package/dist/core/extensions/builtin/command-safety-gate.js.map +1 -1
  222. package/dist/core/extensions/builtin/todo-checklist.d.ts +20 -0
  223. package/dist/core/extensions/builtin/todo-checklist.d.ts.map +1 -0
  224. package/dist/core/extensions/builtin/todo-checklist.js +73 -0
  225. package/dist/core/extensions/builtin/todo-checklist.js.map +1 -0
  226. package/dist/core/extensions/loader.d.ts +4 -4
  227. package/dist/core/extensions/loader.d.ts.map +1 -1
  228. package/dist/core/extensions/loader.js +57 -92
  229. package/dist/core/extensions/loader.js.map +1 -1
  230. package/dist/core/extensions/runner.d.ts +3 -3
  231. package/dist/core/extensions/runner.d.ts.map +1 -1
  232. package/dist/core/extensions/runner.js +1 -1
  233. package/dist/core/extensions/runner.js.map +1 -1
  234. package/dist/core/extensions/types.d.ts +7 -35
  235. package/dist/core/extensions/types.d.ts.map +1 -1
  236. package/dist/core/extensions/types.js.map +1 -1
  237. package/dist/core/extensions/wrapper.d.ts +1 -1
  238. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  239. package/dist/core/extensions/wrapper.js.map +1 -1
  240. package/dist/core/footer-data-provider.d.ts +3 -1
  241. package/dist/core/footer-data-provider.d.ts.map +1 -1
  242. package/dist/core/footer-data-provider.js +4 -0
  243. package/dist/core/footer-data-provider.js.map +1 -1
  244. package/dist/core/headroom.d.ts +45 -0
  245. package/dist/core/headroom.d.ts.map +1 -0
  246. package/dist/core/headroom.js +171 -0
  247. package/dist/core/headroom.js.map +1 -0
  248. package/dist/core/hook-inventory.d.ts +4 -2
  249. package/dist/core/hook-inventory.d.ts.map +1 -1
  250. package/dist/core/hook-inventory.js +80 -11
  251. package/dist/core/hook-inventory.js.map +1 -1
  252. package/dist/core/hooks/fail-closed.d.ts +4 -1
  253. package/dist/core/hooks/fail-closed.d.ts.map +1 -1
  254. package/dist/core/hooks/fail-closed.js +79 -5
  255. package/dist/core/hooks/fail-closed.js.map +1 -1
  256. package/dist/core/hooks/index.d.ts +2 -2
  257. package/dist/core/hooks/index.d.ts.map +1 -1
  258. package/dist/core/hooks/index.js +1 -1
  259. package/dist/core/hooks/index.js.map +1 -1
  260. package/dist/core/hooks/types.d.ts +9 -0
  261. package/dist/core/hooks/types.d.ts.map +1 -1
  262. package/dist/core/hooks/types.js.map +1 -1
  263. package/dist/core/keybindings.d.ts +2 -14
  264. package/dist/core/keybindings.d.ts.map +1 -1
  265. package/dist/core/keybindings.js +1 -31
  266. package/dist/core/keybindings.js.map +1 -1
  267. package/dist/core/lean-ctx.d.ts +99 -0
  268. package/dist/core/lean-ctx.d.ts.map +1 -0
  269. package/dist/core/lean-ctx.js +225 -0
  270. package/dist/core/lean-ctx.js.map +1 -0
  271. package/dist/core/loadout-compose.d.ts +53 -0
  272. package/dist/core/loadout-compose.d.ts.map +1 -0
  273. package/dist/core/loadout-compose.js +172 -0
  274. package/dist/core/loadout-compose.js.map +1 -0
  275. package/dist/core/loadout-policy-bridge.d.ts +22 -0
  276. package/dist/core/loadout-policy-bridge.d.ts.map +1 -0
  277. package/dist/core/loadout-policy-bridge.js +52 -0
  278. package/dist/core/loadout-policy-bridge.js.map +1 -0
  279. package/dist/core/loadout-runtime.d.ts +22 -0
  280. package/dist/core/loadout-runtime.d.ts.map +1 -1
  281. package/dist/core/loadout-runtime.js +41 -5
  282. package/dist/core/loadout-runtime.js.map +1 -1
  283. package/dist/core/loadout-safety.d.ts +55 -0
  284. package/dist/core/loadout-safety.d.ts.map +1 -0
  285. package/dist/core/loadout-safety.js +213 -0
  286. package/dist/core/loadout-safety.js.map +1 -0
  287. package/dist/core/loadouts.d.ts +4 -2
  288. package/dist/core/loadouts.d.ts.map +1 -1
  289. package/dist/core/loadouts.js +116 -5
  290. package/dist/core/loadouts.js.map +1 -1
  291. package/dist/core/loop-gates.d.ts +48 -0
  292. package/dist/core/loop-gates.d.ts.map +1 -0
  293. package/dist/core/loop-gates.js +352 -0
  294. package/dist/core/loop-gates.js.map +1 -0
  295. package/dist/core/loop-registry.d.ts +77 -0
  296. package/dist/core/loop-registry.d.ts.map +1 -0
  297. package/dist/core/loop-registry.js +831 -0
  298. package/dist/core/loop-registry.js.map +1 -0
  299. package/dist/core/loop-types.d.ts +194 -0
  300. package/dist/core/loop-types.d.ts.map +1 -0
  301. package/dist/core/loop-types.js +2 -0
  302. package/dist/core/loop-types.js.map +1 -0
  303. package/dist/core/mcp-inventory.d.ts +7 -0
  304. package/dist/core/mcp-inventory.d.ts.map +1 -1
  305. package/dist/core/mcp-inventory.js +5 -1
  306. package/dist/core/mcp-inventory.js.map +1 -1
  307. package/dist/core/mcp-presets.d.ts +43 -2
  308. package/dist/core/mcp-presets.d.ts.map +1 -1
  309. package/dist/core/mcp-presets.js +298 -2
  310. package/dist/core/mcp-presets.js.map +1 -1
  311. package/dist/core/messages.d.ts +3 -3
  312. package/dist/core/messages.d.ts.map +1 -1
  313. package/dist/core/messages.js.map +1 -1
  314. package/dist/core/metrics-sampler.d.ts +11 -0
  315. package/dist/core/metrics-sampler.d.ts.map +1 -1
  316. package/dist/core/metrics-sampler.js +52 -13
  317. package/dist/core/metrics-sampler.js.map +1 -1
  318. package/dist/core/model-registry.d.ts +1 -2
  319. package/dist/core/model-registry.d.ts.map +1 -1
  320. package/dist/core/model-registry.js +18 -41
  321. package/dist/core/model-registry.js.map +1 -1
  322. package/dist/core/model-resolver.d.ts +2 -2
  323. package/dist/core/model-resolver.d.ts.map +1 -1
  324. package/dist/core/model-resolver.js +2 -2
  325. package/dist/core/model-resolver.js.map +1 -1
  326. package/dist/core/package-gallery-identity.d.ts +7 -0
  327. package/dist/core/package-gallery-identity.d.ts.map +1 -0
  328. package/dist/core/package-gallery-identity.js +31 -0
  329. package/dist/core/package-gallery-identity.js.map +1 -0
  330. package/dist/core/package-gallery-install.d.ts +6 -0
  331. package/dist/core/package-gallery-install.d.ts.map +1 -0
  332. package/dist/core/package-gallery-install.js +59 -0
  333. package/dist/core/package-gallery-install.js.map +1 -0
  334. package/dist/core/package-gallery-manifest.d.ts +13 -0
  335. package/dist/core/package-gallery-manifest.d.ts.map +1 -0
  336. package/dist/core/package-gallery-manifest.js +183 -0
  337. package/dist/core/package-gallery-manifest.js.map +1 -0
  338. package/dist/core/package-gallery-trial.d.ts +4 -0
  339. package/dist/core/package-gallery-trial.d.ts.map +1 -0
  340. package/dist/core/package-gallery-trial.js +55 -0
  341. package/dist/core/package-gallery-trial.js.map +1 -0
  342. package/dist/core/package-gallery-types.d.ts +71 -0
  343. package/dist/core/package-gallery-types.d.ts.map +1 -0
  344. package/dist/core/package-gallery-types.js +2 -0
  345. package/dist/core/package-gallery-types.js.map +1 -0
  346. package/dist/core/package-gallery.d.ts +5 -123
  347. package/dist/core/package-gallery.d.ts.map +1 -1
  348. package/dist/core/package-gallery.js +5 -391
  349. package/dist/core/package-gallery.js.map +1 -1
  350. package/dist/core/package-manager.d.ts +0 -69
  351. package/dist/core/package-manager.d.ts.map +1 -1
  352. package/dist/core/package-manager.js +69 -367
  353. package/dist/core/package-manager.js.map +1 -1
  354. package/dist/core/package-procurement.d.ts +4 -4
  355. package/dist/core/package-procurement.d.ts.map +1 -1
  356. package/dist/core/package-procurement.js +29 -17
  357. package/dist/core/package-procurement.js.map +1 -1
  358. package/dist/core/pi-package-intake-candidates.d.ts +21 -0
  359. package/dist/core/pi-package-intake-candidates.d.ts.map +1 -0
  360. package/dist/core/pi-package-intake-candidates.js +109 -0
  361. package/dist/core/pi-package-intake-candidates.js.map +1 -0
  362. package/dist/core/pi-package-intake.d.ts +43 -0
  363. package/dist/core/pi-package-intake.d.ts.map +1 -0
  364. package/dist/core/pi-package-intake.js +122 -0
  365. package/dist/core/pi-package-intake.js.map +1 -0
  366. package/dist/core/provider-attribution.d.ts +1 -1
  367. package/dist/core/provider-attribution.d.ts.map +1 -1
  368. package/dist/core/provider-attribution.js.map +1 -1
  369. package/dist/core/provider-display-names.d.ts.map +1 -1
  370. package/dist/core/provider-display-names.js +1 -0
  371. package/dist/core/provider-display-names.js.map +1 -1
  372. package/dist/core/read-anchors.d.ts +1 -1
  373. package/dist/core/read-anchors.d.ts.map +1 -1
  374. package/dist/core/read-anchors.js +1 -1
  375. package/dist/core/read-anchors.js.map +1 -1
  376. package/dist/core/recovery-checkpoint.d.ts +2 -2
  377. package/dist/core/recovery-checkpoint.d.ts.map +1 -1
  378. package/dist/core/recovery-checkpoint.js +2 -2
  379. package/dist/core/recovery-checkpoint.js.map +1 -1
  380. package/dist/core/resolve-config-value.d.ts +1 -1
  381. package/dist/core/resolve-config-value.d.ts.map +1 -1
  382. package/dist/core/resolve-config-value.js +2 -30
  383. package/dist/core/resolve-config-value.js.map +1 -1
  384. package/dist/core/resource-loader.d.ts +12 -20
  385. package/dist/core/resource-loader.d.ts.map +1 -1
  386. package/dist/core/resource-loader.js +67 -90
  387. package/dist/core/resource-loader.js.map +1 -1
  388. package/dist/core/sandbox-policy-v2.d.ts +49 -0
  389. package/dist/core/sandbox-policy-v2.d.ts.map +1 -0
  390. package/dist/core/sandbox-policy-v2.js +368 -0
  391. package/dist/core/sandbox-policy-v2.js.map +1 -0
  392. package/dist/core/sdk.d.ts +10 -78
  393. package/dist/core/sdk.d.ts.map +1 -1
  394. package/dist/core/sdk.js +97 -139
  395. package/dist/core/sdk.js.map +1 -1
  396. package/dist/core/semantic-cache-policy.d.ts +7 -1
  397. package/dist/core/semantic-cache-policy.d.ts.map +1 -1
  398. package/dist/core/semantic-cache-policy.js +8 -0
  399. package/dist/core/semantic-cache-policy.js.map +1 -1
  400. package/dist/core/session-manager.d.ts +2 -4
  401. package/dist/core/session-manager.d.ts.map +1 -1
  402. package/dist/core/session-manager.js +5 -6
  403. package/dist/core/session-manager.js.map +1 -1
  404. package/dist/core/settings-manager.d.ts +1 -18
  405. package/dist/core/settings-manager.d.ts.map +1 -1
  406. package/dist/core/settings-manager.js +2 -48
  407. package/dist/core/settings-manager.js.map +1 -1
  408. package/dist/core/skills.d.ts +5 -0
  409. package/dist/core/skills.d.ts.map +1 -1
  410. package/dist/core/skills.js +149 -36
  411. package/dist/core/skills.js.map +1 -1
  412. package/dist/core/slash-commands.d.ts.map +1 -1
  413. package/dist/core/slash-commands.js +0 -2
  414. package/dist/core/slash-commands.js.map +1 -1
  415. package/dist/core/subagent-orchestration.d.ts +73 -0
  416. package/dist/core/subagent-orchestration.d.ts.map +1 -0
  417. package/dist/core/subagent-orchestration.js +408 -0
  418. package/dist/core/subagent-orchestration.js.map +1 -0
  419. package/dist/core/system-prompt.d.ts +5 -4
  420. package/dist/core/system-prompt.d.ts.map +1 -1
  421. package/dist/core/system-prompt.js +57 -36
  422. package/dist/core/system-prompt.js.map +1 -1
  423. package/dist/core/timings.d.ts +0 -4
  424. package/dist/core/timings.d.ts.map +1 -1
  425. package/dist/core/timings.js +0 -4
  426. package/dist/core/timings.js.map +1 -1
  427. package/dist/core/todo-runtime-state.d.ts +5 -0
  428. package/dist/core/todo-runtime-state.d.ts.map +1 -0
  429. package/dist/core/todo-runtime-state.js +12 -0
  430. package/dist/core/todo-runtime-state.js.map +1 -0
  431. package/dist/core/todo-state.d.ts +53 -0
  432. package/dist/core/todo-state.d.ts.map +1 -0
  433. package/dist/core/todo-state.js +87 -0
  434. package/dist/core/todo-state.js.map +1 -0
  435. package/dist/core/token-optimizer.d.ts +58 -0
  436. package/dist/core/token-optimizer.d.ts.map +1 -0
  437. package/dist/core/token-optimizer.js +179 -0
  438. package/dist/core/token-optimizer.js.map +1 -0
  439. package/dist/core/tools/bash.d.ts +8 -9
  440. package/dist/core/tools/bash.d.ts.map +1 -1
  441. package/dist/core/tools/bash.js +9 -8
  442. package/dist/core/tools/bash.js.map +1 -1
  443. package/dist/core/tools/edit.d.ts +3 -14
  444. package/dist/core/tools/edit.d.ts.map +1 -1
  445. package/dist/core/tools/edit.js +4 -25
  446. package/dist/core/tools/edit.js.map +1 -1
  447. package/dist/core/tools/find.d.ts +1 -4
  448. package/dist/core/tools/find.d.ts.map +1 -1
  449. package/dist/core/tools/find.js +1 -4
  450. package/dist/core/tools/find.js.map +1 -1
  451. package/dist/core/tools/grep.d.ts +1 -4
  452. package/dist/core/tools/grep.d.ts.map +1 -1
  453. package/dist/core/tools/grep.js +2 -5
  454. package/dist/core/tools/grep.js.map +1 -1
  455. package/dist/core/tools/index.d.ts +2 -2
  456. package/dist/core/tools/index.d.ts.map +1 -1
  457. package/dist/core/tools/index.js.map +1 -1
  458. package/dist/core/tools/ls.d.ts +1 -4
  459. package/dist/core/tools/ls.d.ts.map +1 -1
  460. package/dist/core/tools/ls.js +1 -4
  461. package/dist/core/tools/ls.js.map +1 -1
  462. package/dist/core/tools/read.d.ts +2 -14
  463. package/dist/core/tools/read.d.ts.map +1 -1
  464. package/dist/core/tools/read.js +4 -28
  465. package/dist/core/tools/read.js.map +1 -1
  466. package/dist/core/tools/render-utils.d.ts +1 -1
  467. package/dist/core/tools/render-utils.d.ts.map +1 -1
  468. package/dist/core/tools/render-utils.js +1 -1
  469. package/dist/core/tools/render-utils.js.map +1 -1
  470. package/dist/core/tools/tool-definition-wrapper.d.ts +1 -1
  471. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  472. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  473. package/dist/core/tools/write.d.ts +2 -4
  474. package/dist/core/tools/write.d.ts.map +1 -1
  475. package/dist/core/tools/write.js +4 -4
  476. package/dist/core/tools/write.js.map +1 -1
  477. package/dist/encoding/index.d.ts +6 -0
  478. package/dist/encoding/index.d.ts.map +1 -0
  479. package/dist/encoding/index.js +6 -0
  480. package/dist/encoding/index.js.map +1 -0
  481. package/dist/encoding/l4-encoder.d.ts +96 -0
  482. package/dist/encoding/l4-encoder.d.ts.map +1 -0
  483. package/dist/encoding/l4-encoder.js +474 -0
  484. package/dist/encoding/l4-encoder.js.map +1 -0
  485. package/dist/fuzzing/index.d.ts +6 -0
  486. package/dist/fuzzing/index.d.ts.map +1 -0
  487. package/dist/fuzzing/index.js +6 -0
  488. package/dist/fuzzing/index.js.map +1 -0
  489. package/dist/fuzzing/mutation-engine.d.ts +93 -0
  490. package/dist/fuzzing/mutation-engine.d.ts.map +1 -0
  491. package/dist/fuzzing/mutation-engine.js +244 -0
  492. package/dist/fuzzing/mutation-engine.js.map +1 -0
  493. package/dist/guardrails/audit-logger.d.ts +4 -0
  494. package/dist/guardrails/audit-logger.d.ts.map +1 -0
  495. package/dist/guardrails/audit-logger.js +28 -0
  496. package/dist/guardrails/audit-logger.js.map +1 -0
  497. package/dist/guardrails/evidence-system.d.ts +61 -0
  498. package/dist/guardrails/evidence-system.d.ts.map +1 -0
  499. package/dist/guardrails/evidence-system.js +302 -0
  500. package/dist/guardrails/evidence-system.js.map +1 -0
  501. package/dist/guardrails/freedomd-adapter.d.ts +16 -0
  502. package/dist/guardrails/freedomd-adapter.d.ts.map +1 -0
  503. package/dist/guardrails/freedomd-adapter.js +87 -0
  504. package/dist/guardrails/freedomd-adapter.js.map +1 -0
  505. package/dist/index.d.ts +5 -19
  506. package/dist/index.d.ts.map +1 -1
  507. package/dist/index.js +3 -17
  508. package/dist/index.js.map +1 -1
  509. package/dist/jailbreak-extension.d.ts +48 -0
  510. package/dist/jailbreak-extension.d.ts.map +1 -0
  511. package/dist/jailbreak-extension.js +47 -0
  512. package/dist/jailbreak-extension.js.map +1 -0
  513. package/dist/main.d.ts.map +1 -1
  514. package/dist/main.js +2 -2
  515. package/dist/main.js.map +1 -1
  516. package/dist/migrations.d.ts +0 -37
  517. package/dist/migrations.d.ts.map +1 -1
  518. package/dist/migrations.js +6 -414
  519. package/dist/migrations.js.map +1 -1
  520. package/dist/modes/interactive/components/armin.d.ts +1 -1
  521. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  522. package/dist/modes/interactive/components/armin.js.map +1 -1
  523. package/dist/modes/interactive/components/assistant-message.d.ts +2 -2
  524. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  525. package/dist/modes/interactive/components/assistant-message.js +1 -1
  526. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  527. package/dist/modes/interactive/components/bash-execution.d.ts +1 -1
  528. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  529. package/dist/modes/interactive/components/bash-execution.js +1 -1
  530. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  531. package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
  532. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  533. package/dist/modes/interactive/components/bordered-loader.js +1 -1
  534. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  535. package/dist/modes/interactive/components/branch-summary-message.d.ts +1 -1
  536. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  537. package/dist/modes/interactive/components/branch-summary-message.js +1 -1
  538. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  539. package/dist/modes/interactive/components/compaction-summary-message.d.ts +1 -1
  540. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  541. package/dist/modes/interactive/components/compaction-summary-message.js +1 -1
  542. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  543. package/dist/modes/interactive/components/config-selector.d.ts +1 -1
  544. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  545. package/dist/modes/interactive/components/config-selector.js +1 -1
  546. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  547. package/dist/modes/interactive/components/control-panel-box.d.ts +15 -0
  548. package/dist/modes/interactive/components/control-panel-box.d.ts.map +1 -0
  549. package/dist/modes/interactive/components/control-panel-box.js +55 -0
  550. package/dist/modes/interactive/components/control-panel-box.js.map +1 -0
  551. package/dist/modes/interactive/components/control-panel-gradient-motion.d.ts.map +1 -1
  552. package/dist/modes/interactive/components/control-panel-gradient-motion.js +2 -36
  553. package/dist/modes/interactive/components/control-panel-gradient-motion.js.map +1 -1
  554. package/dist/modes/interactive/components/control-panel-gradient.d.ts +1 -0
  555. package/dist/modes/interactive/components/control-panel-gradient.d.ts.map +1 -1
  556. package/dist/modes/interactive/components/control-panel-gradient.js +6 -5
  557. package/dist/modes/interactive/components/control-panel-gradient.js.map +1 -1
  558. package/dist/modes/interactive/components/control-panel-layout.d.ts +30 -0
  559. package/dist/modes/interactive/components/control-panel-layout.d.ts.map +1 -0
  560. package/dist/modes/interactive/components/control-panel-layout.js +197 -0
  561. package/dist/modes/interactive/components/control-panel-layout.js.map +1 -0
  562. package/dist/modes/interactive/components/control-panel-runtime-status.d.ts +6 -0
  563. package/dist/modes/interactive/components/control-panel-runtime-status.d.ts.map +1 -0
  564. package/dist/modes/interactive/components/control-panel-runtime-status.js +29 -0
  565. package/dist/modes/interactive/components/control-panel-runtime-status.js.map +1 -0
  566. package/dist/modes/interactive/components/control-panel.d.ts +9 -31
  567. package/dist/modes/interactive/components/control-panel.d.ts.map +1 -1
  568. package/dist/modes/interactive/components/control-panel.js +49 -168
  569. package/dist/modes/interactive/components/control-panel.js.map +1 -1
  570. package/dist/modes/interactive/components/countdown-timer.d.ts +1 -1
  571. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  572. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  573. package/dist/modes/interactive/components/custom-editor.d.ts +1 -1
  574. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  575. package/dist/modes/interactive/components/custom-editor.js +14 -22
  576. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  577. package/dist/modes/interactive/components/custom-message.d.ts +1 -1
  578. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  579. package/dist/modes/interactive/components/custom-message.js +1 -1
  580. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  581. package/dist/modes/interactive/components/daxnuts.d.ts +1 -1
  582. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
  583. package/dist/modes/interactive/components/daxnuts.js.map +1 -1
  584. package/dist/modes/interactive/components/dynamic-border.d.ts +1 -1
  585. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  586. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  587. package/dist/modes/interactive/components/earendil-announcement.d.ts +1 -1
  588. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
  589. package/dist/modes/interactive/components/earendil-announcement.js +1 -1
  590. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
  591. package/dist/modes/interactive/components/extension-editor.d.ts +1 -1
  592. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  593. package/dist/modes/interactive/components/extension-editor.js +1 -1
  594. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  595. package/dist/modes/interactive/components/extension-input.d.ts +1 -1
  596. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  597. package/dist/modes/interactive/components/extension-input.js +1 -1
  598. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  599. package/dist/modes/interactive/components/extension-selector.d.ts +1 -1
  600. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  601. package/dist/modes/interactive/components/extension-selector.js +1 -1
  602. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  603. package/dist/modes/interactive/components/footer.d.ts +1 -1
  604. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  605. package/dist/modes/interactive/components/footer.js +7 -9
  606. package/dist/modes/interactive/components/footer.js.map +1 -1
  607. package/dist/modes/interactive/components/index.d.ts +0 -2
  608. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  609. package/dist/modes/interactive/components/index.js +0 -2
  610. package/dist/modes/interactive/components/index.js.map +1 -1
  611. package/dist/modes/interactive/components/keybinding-hints.d.ts +1 -1
  612. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  613. package/dist/modes/interactive/components/keybinding-hints.js +1 -1
  614. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  615. package/dist/modes/interactive/components/login-dialog.d.ts +2 -2
  616. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  617. package/dist/modes/interactive/components/login-dialog.js +2 -2
  618. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  619. package/dist/modes/interactive/components/model-selector.d.ts +13 -47
  620. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  621. package/dist/modes/interactive/components/model-selector.js +118 -193
  622. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  623. package/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
  624. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  625. package/dist/modes/interactive/components/oauth-selector.js +1 -1
  626. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  627. package/dist/modes/interactive/components/scoped-models-selector.d.ts +2 -2
  628. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  629. package/dist/modes/interactive/components/scoped-models-selector.js +1 -1
  630. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  631. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  632. package/dist/modes/interactive/components/session-selector-search.js +1 -1
  633. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  634. package/dist/modes/interactive/components/session-selector.d.ts +1 -1
  635. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  636. package/dist/modes/interactive/components/session-selector.js +1 -1
  637. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  638. package/dist/modes/interactive/components/settings-selector.d.ts +3 -3
  639. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  640. package/dist/modes/interactive/components/settings-selector.js +1 -1
  641. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  642. package/dist/modes/interactive/components/show-images-selector.d.ts +1 -1
  643. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  644. package/dist/modes/interactive/components/show-images-selector.js +1 -1
  645. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  646. package/dist/modes/interactive/components/skill-invocation-message.d.ts +1 -1
  647. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  648. package/dist/modes/interactive/components/skill-invocation-message.js +1 -1
  649. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  650. package/dist/modes/interactive/components/theme-selector.d.ts +1 -2
  651. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  652. package/dist/modes/interactive/components/theme-selector.js +2 -11
  653. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  654. package/dist/modes/interactive/components/thinking-selector.d.ts +8 -7
  655. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  656. package/dist/modes/interactive/components/thinking-selector.js +48 -7
  657. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  658. package/dist/modes/interactive/components/todo-checklist.d.ts +31 -0
  659. package/dist/modes/interactive/components/todo-checklist.d.ts.map +1 -0
  660. package/dist/modes/interactive/components/todo-checklist.js +121 -0
  661. package/dist/modes/interactive/components/todo-checklist.js.map +1 -0
  662. package/dist/modes/interactive/components/tool-execution.d.ts +1 -1
  663. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  664. package/dist/modes/interactive/components/tool-execution.js +1 -1
  665. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  666. package/dist/modes/interactive/components/tree-selector.d.ts +1 -1
  667. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  668. package/dist/modes/interactive/components/tree-selector.js +1 -1
  669. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  670. package/dist/modes/interactive/components/user-message-selector.d.ts +1 -1
  671. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  672. package/dist/modes/interactive/components/user-message-selector.js +1 -1
  673. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  674. package/dist/modes/interactive/components/user-message.d.ts +1 -1
  675. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  676. package/dist/modes/interactive/components/user-message.js +1 -1
  677. package/dist/modes/interactive/components/user-message.js.map +1 -1
  678. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
  679. package/dist/modes/interactive/components/visual-truncate.js +1 -1
  680. package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
  681. package/dist/modes/interactive/interactive-mode.d.ts +3 -8
  682. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  683. package/dist/modes/interactive/interactive-mode.js +80 -232
  684. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  685. package/dist/modes/interactive/theme/omk-control-grid-dark.json +65 -77
  686. package/dist/modes/interactive/theme/omk-neon-control.json +90 -0
  687. package/dist/modes/interactive/theme/rust-forge.json +14 -24
  688. package/dist/modes/interactive/theme/theme.d.ts +1 -1
  689. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  690. package/dist/modes/interactive/theme/theme.js +25 -45
  691. package/dist/modes/interactive/theme/theme.js.map +1 -1
  692. package/dist/modes/print-mode.d.ts +1 -1
  693. package/dist/modes/print-mode.d.ts.map +1 -1
  694. package/dist/modes/print-mode.js.map +1 -1
  695. package/dist/modes/rpc/rpc-client.d.ts +2 -2
  696. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  697. package/dist/modes/rpc/rpc-client.js.map +1 -1
  698. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  699. package/dist/modes/rpc/rpc-mode.js +0 -4
  700. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  701. package/dist/modes/rpc/rpc-types.d.ts +2 -2
  702. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  703. package/dist/modes/rpc/rpc-types.js.map +1 -1
  704. package/dist/modules/index.d.ts +8 -0
  705. package/dist/modules/index.d.ts.map +1 -0
  706. package/dist/modules/index.js +7 -0
  707. package/dist/modules/index.js.map +1 -0
  708. package/dist/modules/lrl-bypass.d.ts +40 -0
  709. package/dist/modules/lrl-bypass.d.ts.map +1 -0
  710. package/dist/modules/lrl-bypass.js +84 -0
  711. package/dist/modules/lrl-bypass.js.map +1 -0
  712. package/dist/modules/lrl-deps.d.ts +38 -0
  713. package/dist/modules/lrl-deps.d.ts.map +1 -0
  714. package/dist/modules/lrl-deps.js +128 -0
  715. package/dist/modules/lrl-deps.js.map +1 -0
  716. package/dist/multiturn/easl-chain.d.ts +113 -0
  717. package/dist/multiturn/easl-chain.d.ts.map +1 -0
  718. package/dist/multiturn/easl-chain.js +351 -0
  719. package/dist/multiturn/easl-chain.js.map +1 -0
  720. package/dist/multiturn/index.d.ts +6 -0
  721. package/dist/multiturn/index.d.ts.map +1 -0
  722. package/dist/multiturn/index.js +6 -0
  723. package/dist/multiturn/index.js.map +1 -0
  724. package/dist/orchestration/lane-grant-auditor.d.ts +4 -0
  725. package/dist/orchestration/lane-grant-auditor.d.ts.map +1 -0
  726. package/dist/orchestration/lane-grant-auditor.js +87 -0
  727. package/dist/orchestration/lane-grant-auditor.js.map +1 -0
  728. package/dist/package-manager-cli.d.ts.map +1 -1
  729. package/dist/package-manager-cli.js +48 -113
  730. package/dist/package-manager-cli.js.map +1 -1
  731. package/dist/routing/fallback-router.d.ts +123 -0
  732. package/dist/routing/fallback-router.d.ts.map +1 -0
  733. package/dist/routing/fallback-router.js +355 -0
  734. package/dist/routing/fallback-router.js.map +1 -0
  735. package/dist/routing/index.d.ts +6 -0
  736. package/dist/routing/index.d.ts.map +1 -0
  737. package/dist/routing/index.js +6 -0
  738. package/dist/routing/index.js.map +1 -0
  739. package/dist/types/evidence.d.ts +117 -0
  740. package/dist/types/evidence.d.ts.map +1 -0
  741. package/dist/types/evidence.js +8 -0
  742. package/dist/types/evidence.js.map +1 -0
  743. package/dist/types/guardrails.d.ts +61 -0
  744. package/dist/types/guardrails.d.ts.map +1 -0
  745. package/dist/types/guardrails.js +9 -0
  746. package/dist/types/guardrails.js.map +1 -0
  747. package/dist/types/jailbreak.d.ts +246 -0
  748. package/dist/types/jailbreak.d.ts.map +1 -0
  749. package/dist/types/jailbreak.js +8 -0
  750. package/dist/types/jailbreak.js.map +1 -0
  751. package/dist/types/lane-grant.d.ts +58 -0
  752. package/dist/types/lane-grant.d.ts.map +1 -0
  753. package/dist/types/lane-grant.js +9 -0
  754. package/dist/types/lane-grant.js.map +1 -0
  755. package/dist/utils/jailbreak/common.d.ts +63 -0
  756. package/dist/utils/jailbreak/common.d.ts.map +1 -0
  757. package/dist/utils/jailbreak/common.js +130 -0
  758. package/dist/utils/jailbreak/common.js.map +1 -0
  759. package/dist/utils/jailbreak/index.d.ts +7 -0
  760. package/dist/utils/jailbreak/index.d.ts.map +1 -0
  761. package/dist/utils/jailbreak/index.js +7 -0
  762. package/dist/utils/jailbreak/index.js.map +1 -0
  763. package/dist/utils/windows-self-update.d.ts.map +1 -1
  764. package/dist/utils/windows-self-update.js +1 -1
  765. package/dist/utils/windows-self-update.js.map +1 -1
  766. package/docs/compaction.md +8 -21
  767. package/docs/custom-provider.md +2 -2
  768. package/docs/development.md +1 -1
  769. package/docs/extensions.md +11 -11
  770. package/docs/loadout-domains/README.md +70 -0
  771. package/docs/loadout-domains/ai-agent-ops.md +94 -0
  772. package/docs/loadout-domains/backend-api.md +116 -0
  773. package/docs/loadout-domains/data-science.md +100 -0
  774. package/docs/loadout-domains/devops-infra.md +85 -0
  775. package/docs/loadout-domains/docs-writing.md +92 -0
  776. package/docs/loadout-domains/frontend-ui.md +128 -0
  777. package/docs/loadout-domains/general.md +62 -0
  778. package/docs/loadout-domains/mobile.md +84 -0
  779. package/docs/loadout-domains/qa-testing.md +87 -0
  780. package/docs/loadout-domains/research.md +80 -0
  781. package/docs/loadout-domains/security-audit.md +97 -0
  782. package/docs/packages.md +7 -48
  783. package/docs/prompt-templates.md +0 -2
  784. package/docs/providers.md +12 -0
  785. package/docs/sdk.md +3 -3
  786. package/docs/security.md +145 -0
  787. package/docs/session-format.md +1 -1
  788. package/docs/themes.md +8 -7
  789. package/docs/tui.md +14 -14
  790. package/docs/usage.md +6 -16
  791. package/examples/extensions/README.md +2 -2
  792. package/examples/extensions/aside-computer-use/README.md +114 -0
  793. package/examples/extensions/aside-computer-use/action-scoring.ts +122 -0
  794. package/examples/extensions/aside-computer-use/assertions.ts +380 -0
  795. package/examples/extensions/aside-computer-use/controller.ts +491 -0
  796. package/examples/extensions/aside-computer-use/evidence.ts +229 -0
  797. package/examples/extensions/aside-computer-use/golden-trace.ts +141 -0
  798. package/examples/extensions/aside-computer-use/index.ts +76 -0
  799. package/examples/extensions/aside-computer-use/mcp-client.ts +381 -0
  800. package/examples/extensions/aside-computer-use/observation-snapshot.ts +121 -0
  801. package/examples/extensions/aside-computer-use/package.json +16 -0
  802. package/examples/extensions/aside-computer-use/policy.ts +257 -0
  803. package/examples/extensions/aside-computer-use/risk-authorize.ts +200 -0
  804. package/examples/extensions/aside-computer-use/risk-classifier.ts +205 -0
  805. package/examples/extensions/aside-computer-use/schema-fingerprint.ts +80 -0
  806. package/examples/extensions/aside-computer-use/session-binding.ts +161 -0
  807. package/examples/extensions/aside-computer-use/tools.ts +449 -0
  808. package/examples/extensions/aside-computer-use/types.ts +217 -0
  809. package/examples/extensions/aside-computer-use/url-origin.ts +132 -0
  810. package/examples/extensions/bash-spawn-hook.ts +1 -1
  811. package/examples/extensions/border-status-editor.ts +2 -2
  812. package/examples/extensions/built-in-tool-renderer.ts +1 -1
  813. package/examples/extensions/custom-compaction.ts +1 -1
  814. package/examples/extensions/custom-footer.ts +2 -2
  815. package/examples/extensions/custom-header.ts +8 -8
  816. package/examples/extensions/custom-provider-anthropic/index.ts +1 -1
  817. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  818. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  819. package/examples/extensions/custom-provider-gitlab-duo/index.ts +1 -1
  820. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  821. package/examples/extensions/custom-provider-gitlab-duo/test.ts +1 -1
  822. package/examples/extensions/doom-overlay/README.md +1 -2
  823. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  824. package/examples/extensions/doom-overlay/doom/build.sh +4 -4
  825. package/examples/extensions/doom-overlay/doom/doomgeneric_omk.c +72 -0
  826. package/examples/extensions/doom-overlay/doom-component.ts +2 -2
  827. package/examples/extensions/doom-overlay/doom-keys.ts +1 -1
  828. package/examples/extensions/git-merge-and-resolve.ts +1 -1
  829. package/examples/extensions/github-issue-autocomplete.ts +1 -6
  830. package/examples/extensions/gondolin/index.ts +1 -1
  831. package/examples/extensions/gondolin/package-lock.json +2 -2
  832. package/examples/extensions/gondolin/package.json +1 -1
  833. package/examples/extensions/handoff.ts +2 -2
  834. package/examples/extensions/hello.ts +1 -1
  835. package/examples/extensions/inline-bash.ts +1 -1
  836. package/examples/extensions/input-transform-streaming.ts +1 -1
  837. package/examples/extensions/input-transform.ts +2 -2
  838. package/examples/extensions/mac-system-theme.ts +1 -1
  839. package/examples/extensions/message-renderer.ts +1 -1
  840. package/examples/extensions/minimal-mode.ts +1 -1
  841. package/examples/extensions/modal-editor.ts +1 -1
  842. package/examples/extensions/overlay-qa-tests.ts +7 -7
  843. package/examples/extensions/overlay-test.ts +1 -1
  844. package/examples/extensions/plan-mode/index.ts +3 -3
  845. package/examples/extensions/preset.ts +4 -4
  846. package/examples/extensions/provider-payload.ts +6 -3
  847. package/examples/extensions/qna.ts +1 -1
  848. package/examples/extensions/question.ts +1 -1
  849. package/examples/extensions/questionnaire.ts +1 -1
  850. package/examples/extensions/rpc-demo.ts +1 -1
  851. package/examples/extensions/sandbox/index.ts +2 -2
  852. package/examples/extensions/sandbox/package-lock.json +2 -2
  853. package/examples/extensions/sandbox/package.json +1 -1
  854. package/examples/extensions/shutdown-command.ts +5 -5
  855. package/examples/extensions/snake.ts +1 -1
  856. package/examples/extensions/space-invaders.ts +1 -1
  857. package/examples/extensions/structured-output.ts +1 -1
  858. package/examples/extensions/subagent/agents.ts +2 -2
  859. package/examples/extensions/subagent/index.ts +19 -51
  860. package/examples/extensions/summarize.ts +2 -2
  861. package/examples/extensions/tic-tac-toe.ts +2 -2
  862. package/examples/extensions/todo.ts +2 -2
  863. package/examples/extensions/tool-override.ts +1 -1
  864. package/examples/extensions/tools.ts +1 -1
  865. package/examples/extensions/truncated-tool.ts +1 -1
  866. package/examples/extensions/with-deps/package-lock.json +2 -2
  867. package/examples/extensions/with-deps/package.json +1 -1
  868. package/examples/extensions/working-indicator.ts +3 -3
  869. package/examples/rpc-extension-ui.ts +1 -9
  870. package/examples/sdk/02-custom-model.ts +1 -1
  871. package/examples/sdk/07-context-files.ts +0 -2
  872. package/examples/sdk/12-full-control.ts +1 -1
  873. package/examples/sdk/README.md +1 -1
  874. package/npm-shrinkwrap.json +1805 -0
  875. package/package.json +10 -32
  876. package/dist/core/compaction/pruner-policy.d.ts +0 -84
  877. package/dist/core/compaction/pruner-policy.d.ts.map +0 -1
  878. package/dist/core/compaction/pruner-policy.js +0 -273
  879. package/dist/core/compaction/pruner-policy.js.map +0 -1
  880. package/dist/core/context-graph-identity-resolution.d.ts +0 -114
  881. package/dist/core/context-graph-identity-resolution.d.ts.map +0 -1
  882. package/dist/core/context-graph-identity-resolution.js +0 -127
  883. package/dist/core/context-graph-identity-resolution.js.map +0 -1
  884. package/dist/core/context-graph-memory-store.d.ts +0 -153
  885. package/dist/core/context-graph-memory-store.d.ts.map +0 -1
  886. package/dist/core/context-graph-memory-store.js +0 -377
  887. package/dist/core/context-graph-memory-store.js.map +0 -1
  888. package/dist/core/context-graph-ontology-generation.d.ts +0 -104
  889. package/dist/core/context-graph-ontology-generation.d.ts.map +0 -1
  890. package/dist/core/context-graph-ontology-generation.js +0 -135
  891. package/dist/core/context-graph-ontology-generation.js.map +0 -1
  892. package/dist/core/context-graph-ontology-registry.d.ts +0 -766
  893. package/dist/core/context-graph-ontology-registry.d.ts.map +0 -1
  894. package/dist/core/context-graph-ontology-registry.js +0 -1133
  895. package/dist/core/context-graph-ontology-registry.js.map +0 -1
  896. package/dist/core/context-graph-policy.d.ts +0 -68
  897. package/dist/core/context-graph-policy.d.ts.map +0 -1
  898. package/dist/core/context-graph-policy.js +0 -221
  899. package/dist/core/context-graph-policy.js.map +0 -1
  900. package/dist/core/context-graph-reasoning.d.ts +0 -130
  901. package/dist/core/context-graph-reasoning.d.ts.map +0 -1
  902. package/dist/core/context-graph-reasoning.js +0 -442
  903. package/dist/core/context-graph-reasoning.js.map +0 -1
  904. package/dist/core/context-graph-retrieval.d.ts +0 -120
  905. package/dist/core/context-graph-retrieval.d.ts.map +0 -1
  906. package/dist/core/context-graph-retrieval.js +0 -288
  907. package/dist/core/context-graph-retrieval.js.map +0 -1
  908. package/dist/core/contract-verification.d.ts +0 -78
  909. package/dist/core/contract-verification.d.ts.map +0 -1
  910. package/dist/core/contract-verification.js +0 -110
  911. package/dist/core/contract-verification.js.map +0 -1
  912. package/dist/core/freedom/banner.d.ts +0 -14
  913. package/dist/core/freedom/banner.d.ts.map +0 -1
  914. package/dist/core/freedom/banner.js +0 -22
  915. package/dist/core/freedom/banner.js.map +0 -1
  916. package/dist/core/freedom/config.d.ts +0 -27
  917. package/dist/core/freedom/config.d.ts.map +0 -1
  918. package/dist/core/freedom/config.js +0 -216
  919. package/dist/core/freedom/config.js.map +0 -1
  920. package/dist/core/freedom/index.d.ts +0 -23
  921. package/dist/core/freedom/index.d.ts.map +0 -1
  922. package/dist/core/freedom/index.js +0 -19
  923. package/dist/core/freedom/index.js.map +0 -1
  924. package/dist/core/freedom/policy.d.ts +0 -42
  925. package/dist/core/freedom/policy.d.ts.map +0 -1
  926. package/dist/core/freedom/policy.js +0 -47
  927. package/dist/core/freedom/policy.js.map +0 -1
  928. package/dist/core/freedom/safety-floor.d.ts +0 -73
  929. package/dist/core/freedom/safety-floor.d.ts.map +0 -1
  930. package/dist/core/freedom/safety-floor.js +0 -275
  931. package/dist/core/freedom/safety-floor.js.map +0 -1
  932. package/dist/core/harness-control-events.d.ts +0 -91
  933. package/dist/core/harness-control-events.d.ts.map +0 -1
  934. package/dist/core/harness-control-events.js +0 -514
  935. package/dist/core/harness-control-events.js.map +0 -1
  936. package/dist/core/harness-control-replay.d.ts +0 -31
  937. package/dist/core/harness-control-replay.d.ts.map +0 -1
  938. package/dist/core/harness-control-replay.js +0 -187
  939. package/dist/core/harness-control-replay.js.map +0 -1
  940. package/dist/core/headroom-middleware.d.ts +0 -35
  941. package/dist/core/headroom-middleware.d.ts.map +0 -1
  942. package/dist/core/headroom-middleware.js +0 -166
  943. package/dist/core/headroom-middleware.js.map +0 -1
  944. package/dist/core/lean-context-middleware.d.ts +0 -12
  945. package/dist/core/lean-context-middleware.d.ts.map +0 -1
  946. package/dist/core/lean-context-middleware.js +0 -87
  947. package/dist/core/lean-context-middleware.js.map +0 -1
  948. package/dist/core/lean-context-policy.d.ts +0 -45
  949. package/dist/core/lean-context-policy.d.ts.map +0 -1
  950. package/dist/core/lean-context-policy.js +0 -108
  951. package/dist/core/lean-context-policy.js.map +0 -1
  952. package/dist/core/native-adoption-benchmark.d.ts +0 -166
  953. package/dist/core/native-adoption-benchmark.d.ts.map +0 -1
  954. package/dist/core/native-adoption-benchmark.js +0 -624
  955. package/dist/core/native-adoption-benchmark.js.map +0 -1
  956. package/dist/core/observability-trace.d.ts +0 -80
  957. package/dist/core/observability-trace.d.ts.map +0 -1
  958. package/dist/core/observability-trace.js +0 -140
  959. package/dist/core/observability-trace.js.map +0 -1
  960. package/dist/core/orchestration/checkpoint.d.ts +0 -83
  961. package/dist/core/orchestration/checkpoint.d.ts.map +0 -1
  962. package/dist/core/orchestration/checkpoint.js +0 -152
  963. package/dist/core/orchestration/checkpoint.js.map +0 -1
  964. package/dist/core/orchestration/errors.d.ts +0 -74
  965. package/dist/core/orchestration/errors.d.ts.map +0 -1
  966. package/dist/core/orchestration/errors.js +0 -52
  967. package/dist/core/orchestration/errors.js.map +0 -1
  968. package/dist/core/orchestration/merge-queue.d.ts +0 -121
  969. package/dist/core/orchestration/merge-queue.d.ts.map +0 -1
  970. package/dist/core/orchestration/merge-queue.js +0 -149
  971. package/dist/core/orchestration/merge-queue.js.map +0 -1
  972. package/dist/core/orchestration/recovery.d.ts +0 -106
  973. package/dist/core/orchestration/recovery.d.ts.map +0 -1
  974. package/dist/core/orchestration/recovery.js +0 -110
  975. package/dist/core/orchestration/recovery.js.map +0 -1
  976. package/dist/core/orchestration/replay-ledger.d.ts +0 -76
  977. package/dist/core/orchestration/replay-ledger.d.ts.map +0 -1
  978. package/dist/core/orchestration/replay-ledger.js +0 -395
  979. package/dist/core/orchestration/replay-ledger.js.map +0 -1
  980. package/dist/core/orchestration/scheduler-state.d.ts +0 -78
  981. package/dist/core/orchestration/scheduler-state.d.ts.map +0 -1
  982. package/dist/core/orchestration/scheduler-state.js +0 -185
  983. package/dist/core/orchestration/scheduler-state.js.map +0 -1
  984. package/dist/core/orchestration/scheduler-store.d.ts +0 -309
  985. package/dist/core/orchestration/scheduler-store.d.ts.map +0 -1
  986. package/dist/core/orchestration/scheduler-store.js +0 -368
  987. package/dist/core/orchestration/scheduler-store.js.map +0 -1
  988. package/dist/core/orchestration/sqlite-scheduler-store.d.ts +0 -57
  989. package/dist/core/orchestration/sqlite-scheduler-store.d.ts.map +0 -1
  990. package/dist/core/orchestration/sqlite-scheduler-store.js +0 -528
  991. package/dist/core/orchestration/sqlite-scheduler-store.js.map +0 -1
  992. package/dist/core/orchestration/transaction-coordinator.d.ts +0 -217
  993. package/dist/core/orchestration/transaction-coordinator.d.ts.map +0 -1
  994. package/dist/core/orchestration/transaction-coordinator.js +0 -281
  995. package/dist/core/orchestration/transaction-coordinator.js.map +0 -1
  996. package/dist/core/orchestration/verification-contract.d.ts +0 -197
  997. package/dist/core/orchestration/verification-contract.d.ts.map +0 -1
  998. package/dist/core/orchestration/verification-contract.js +0 -145
  999. package/dist/core/orchestration/verification-contract.js.map +0 -1
  1000. package/dist/core/package-composition.d.ts +0 -68
  1001. package/dist/core/package-composition.d.ts.map +0 -1
  1002. package/dist/core/package-composition.js +0 -304
  1003. package/dist/core/package-composition.js.map +0 -1
  1004. package/dist/core/package-trial-runtime.d.ts +0 -75
  1005. package/dist/core/package-trial-runtime.d.ts.map +0 -1
  1006. package/dist/core/package-trial-runtime.js +0 -73
  1007. package/dist/core/package-trial-runtime.js.map +0 -1
  1008. package/dist/core/package-trial-sandbox.d.ts +0 -27
  1009. package/dist/core/package-trial-sandbox.d.ts.map +0 -1
  1010. package/dist/core/package-trial-sandbox.js +0 -102
  1011. package/dist/core/package-trial-sandbox.js.map +0 -1
  1012. package/dist/core/policy-overlays-runtime.d.ts +0 -141
  1013. package/dist/core/policy-overlays-runtime.d.ts.map +0 -1
  1014. package/dist/core/policy-overlays-runtime.js +0 -720
  1015. package/dist/core/policy-overlays-runtime.js.map +0 -1
  1016. package/dist/core/read-anchor-registry.d.ts +0 -27
  1017. package/dist/core/read-anchor-registry.d.ts.map +0 -1
  1018. package/dist/core/read-anchor-registry.js +0 -103
  1019. package/dist/core/read-anchor-registry.js.map +0 -1
  1020. package/dist/core/read-content-cache.d.ts +0 -22
  1021. package/dist/core/read-content-cache.d.ts.map +0 -1
  1022. package/dist/core/read-content-cache.js +0 -79
  1023. package/dist/core/read-content-cache.js.map +0 -1
  1024. package/dist/core/session-digest.d.ts +0 -57
  1025. package/dist/core/session-digest.d.ts.map +0 -1
  1026. package/dist/core/session-digest.js +0 -193
  1027. package/dist/core/session-digest.js.map +0 -1
  1028. package/dist/core/spec-kit/compiler.d.ts +0 -67
  1029. package/dist/core/spec-kit/compiler.d.ts.map +0 -1
  1030. package/dist/core/spec-kit/compiler.js +0 -268
  1031. package/dist/core/spec-kit/compiler.js.map +0 -1
  1032. package/dist/core/transaction-coordinator.d.ts +0 -30
  1033. package/dist/core/transaction-coordinator.d.ts.map +0 -1
  1034. package/dist/core/transaction-coordinator.js +0 -173
  1035. package/dist/core/transaction-coordinator.js.map +0 -1
  1036. package/dist/modes/interactive/components/mcp-selector.d.ts +0 -30
  1037. package/dist/modes/interactive/components/mcp-selector.d.ts.map +0 -1
  1038. package/dist/modes/interactive/components/mcp-selector.js +0 -155
  1039. package/dist/modes/interactive/components/mcp-selector.js.map +0 -1
  1040. package/dist/modes/interactive/components/model-selector-state.d.ts +0 -101
  1041. package/dist/modes/interactive/components/model-selector-state.d.ts.map +0 -1
  1042. package/dist/modes/interactive/components/model-selector-state.js +0 -261
  1043. package/dist/modes/interactive/components/model-selector-state.js.map +0 -1
  1044. package/dist/modes/interactive/components/skills-selector.d.ts +0 -32
  1045. package/dist/modes/interactive/components/skills-selector.d.ts.map +0 -1
  1046. package/dist/modes/interactive/components/skills-selector.js +0 -130
  1047. package/dist/modes/interactive/components/skills-selector.js.map +0 -1
  1048. package/dist/modes/interactive/theme/omk-blackboard.json +0 -91
  1049. package/dist/modes/interactive/theme/omk-freedom-grid.json +0 -91
  1050. package/dist/modes/interactive/theme/omk-neon-ops.json +0 -90
  1051. package/dist/modes/interactive/theme/omk-slate-light.json +0 -91
  1052. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +0 -72
  1053. package/node_modules/@earendil-works/omk-agent-core/README.md +0 -488
  1054. package/node_modules/@earendil-works/omk-agent-core/dist/agent-loop.d.ts +0 -24
  1055. package/node_modules/@earendil-works/omk-agent-core/dist/agent-loop.d.ts.map +0 -1
  1056. package/node_modules/@earendil-works/omk-agent-core/dist/agent-loop.js +0 -553
  1057. package/node_modules/@earendil-works/omk-agent-core/dist/agent-loop.js.map +0 -1
  1058. package/node_modules/@earendil-works/omk-agent-core/dist/agent.d.ts +0 -118
  1059. package/node_modules/@earendil-works/omk-agent-core/dist/agent.d.ts.map +0 -1
  1060. package/node_modules/@earendil-works/omk-agent-core/dist/agent.js +0 -402
  1061. package/node_modules/@earendil-works/omk-agent-core/dist/agent.js.map +0 -1
  1062. package/node_modules/@earendil-works/omk-agent-core/dist/harness/agent-harness.d.ts +0 -95
  1063. package/node_modules/@earendil-works/omk-agent-core/dist/harness/agent-harness.d.ts.map +0 -1
  1064. package/node_modules/@earendil-works/omk-agent-core/dist/harness/agent-harness.js +0 -996
  1065. package/node_modules/@earendil-works/omk-agent-core/dist/harness/agent-harness.js.map +0 -1
  1066. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/branch-summarization.d.ts +0 -53
  1067. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +0 -1
  1068. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/branch-summarization.js +0 -175
  1069. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/branch-summarization.js.map +0 -1
  1070. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/compaction.d.ts +0 -117
  1071. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/compaction.d.ts.map +0 -1
  1072. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/compaction.js +0 -568
  1073. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/compaction.js.map +0 -1
  1074. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/utils.d.ts +0 -25
  1075. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/utils.d.ts.map +0 -1
  1076. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/utils.js +0 -131
  1077. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/utils.js.map +0 -1
  1078. package/node_modules/@earendil-works/omk-agent-core/dist/harness/env/nodejs.d.ts +0 -51
  1079. package/node_modules/@earendil-works/omk-agent-core/dist/harness/env/nodejs.d.ts.map +0 -1
  1080. package/node_modules/@earendil-works/omk-agent-core/dist/harness/env/nodejs.js +0 -510
  1081. package/node_modules/@earendil-works/omk-agent-core/dist/harness/env/nodejs.js.map +0 -1
  1082. package/node_modules/@earendil-works/omk-agent-core/dist/harness/messages.d.ts +0 -51
  1083. package/node_modules/@earendil-works/omk-agent-core/dist/harness/messages.d.ts.map +0 -1
  1084. package/node_modules/@earendil-works/omk-agent-core/dist/harness/messages.js +0 -102
  1085. package/node_modules/@earendil-works/omk-agent-core/dist/harness/messages.js.map +0 -1
  1086. package/node_modules/@earendil-works/omk-agent-core/dist/harness/prompt-templates.d.ts +0 -48
  1087. package/node_modules/@earendil-works/omk-agent-core/dist/harness/prompt-templates.d.ts.map +0 -1
  1088. package/node_modules/@earendil-works/omk-agent-core/dist/harness/prompt-templates.js +0 -230
  1089. package/node_modules/@earendil-works/omk-agent-core/dist/harness/prompt-templates.js.map +0 -1
  1090. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-repo.d.ts +0 -26
  1091. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-repo.d.ts.map +0 -1
  1092. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-repo.js +0 -101
  1093. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-repo.js.map +0 -1
  1094. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-storage.d.ts +0 -36
  1095. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-storage.d.ts.map +0 -1
  1096. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-storage.js +0 -273
  1097. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-storage.js.map +0 -1
  1098. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-repo.d.ts +0 -18
  1099. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-repo.d.ts.map +0 -1
  1100. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-repo.js +0 -42
  1101. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-repo.js.map +0 -1
  1102. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-storage.d.ts +0 -25
  1103. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-storage.d.ts.map +0 -1
  1104. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-storage.js +0 -114
  1105. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-storage.js.map +0 -1
  1106. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/repo-utils.d.ts +0 -11
  1107. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/repo-utils.d.ts.map +0 -1
  1108. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/repo-utils.js +0 -39
  1109. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/repo-utils.js.map +0 -1
  1110. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/session.d.ts +0 -33
  1111. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/session.d.ts.map +0 -1
  1112. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/session.js +0 -210
  1113. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/session.js.map +0 -1
  1114. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/uuid.d.ts +0 -2
  1115. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/uuid.d.ts.map +0 -1
  1116. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/uuid.js +0 -50
  1117. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/uuid.js.map +0 -1
  1118. package/node_modules/@earendil-works/omk-agent-core/dist/harness/skills.d.ts +0 -44
  1119. package/node_modules/@earendil-works/omk-agent-core/dist/harness/skills.d.ts.map +0 -1
  1120. package/node_modules/@earendil-works/omk-agent-core/dist/harness/skills.js +0 -311
  1121. package/node_modules/@earendil-works/omk-agent-core/dist/harness/skills.js.map +0 -1
  1122. package/node_modules/@earendil-works/omk-agent-core/dist/harness/system-prompt.d.ts +0 -3
  1123. package/node_modules/@earendil-works/omk-agent-core/dist/harness/system-prompt.d.ts.map +0 -1
  1124. package/node_modules/@earendil-works/omk-agent-core/dist/harness/system-prompt.js +0 -30
  1125. package/node_modules/@earendil-works/omk-agent-core/dist/harness/system-prompt.js.map +0 -1
  1126. package/node_modules/@earendil-works/omk-agent-core/dist/harness/types.d.ts +0 -616
  1127. package/node_modules/@earendil-works/omk-agent-core/dist/harness/types.d.ts.map +0 -1
  1128. package/node_modules/@earendil-works/omk-agent-core/dist/harness/types.js +0 -94
  1129. package/node_modules/@earendil-works/omk-agent-core/dist/harness/types.js.map +0 -1
  1130. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/shell-output.d.ts +0 -14
  1131. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/shell-output.d.ts.map +0 -1
  1132. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/shell-output.js +0 -126
  1133. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/shell-output.js.map +0 -1
  1134. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/truncate.d.ts +0 -70
  1135. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/truncate.d.ts.map +0 -1
  1136. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/truncate.js +0 -297
  1137. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/truncate.js.map +0 -1
  1138. package/node_modules/@earendil-works/omk-agent-core/dist/index.d.ts +0 -20
  1139. package/node_modules/@earendil-works/omk-agent-core/dist/index.d.ts.map +0 -1
  1140. package/node_modules/@earendil-works/omk-agent-core/dist/index.js +0 -25
  1141. package/node_modules/@earendil-works/omk-agent-core/dist/index.js.map +0 -1
  1142. package/node_modules/@earendil-works/omk-agent-core/dist/node.d.ts +0 -3
  1143. package/node_modules/@earendil-works/omk-agent-core/dist/node.d.ts.map +0 -1
  1144. package/node_modules/@earendil-works/omk-agent-core/dist/node.js +0 -3
  1145. package/node_modules/@earendil-works/omk-agent-core/dist/node.js.map +0 -1
  1146. package/node_modules/@earendil-works/omk-agent-core/dist/proxy.d.ts +0 -69
  1147. package/node_modules/@earendil-works/omk-agent-core/dist/proxy.d.ts.map +0 -1
  1148. package/node_modules/@earendil-works/omk-agent-core/dist/proxy.js +0 -278
  1149. package/node_modules/@earendil-works/omk-agent-core/dist/proxy.js.map +0 -1
  1150. package/node_modules/@earendil-works/omk-agent-core/dist/types.d.ts +0 -393
  1151. package/node_modules/@earendil-works/omk-agent-core/dist/types.d.ts.map +0 -1
  1152. package/node_modules/@earendil-works/omk-agent-core/dist/types.js +0 -2
  1153. package/node_modules/@earendil-works/omk-agent-core/dist/types.js.map +0 -1
  1154. package/node_modules/@earendil-works/omk-agent-core/package.json +0 -60
  1155. package/node_modules/@earendil-works/omk-ai/README.md +0 -1389
  1156. package/node_modules/@earendil-works/omk-ai/dist/api-registry.d.ts +0 -20
  1157. package/node_modules/@earendil-works/omk-ai/dist/api-registry.d.ts.map +0 -1
  1158. package/node_modules/@earendil-works/omk-ai/dist/api-registry.js +0 -44
  1159. package/node_modules/@earendil-works/omk-ai/dist/api-registry.js.map +0 -1
  1160. package/node_modules/@earendil-works/omk-ai/dist/bedrock-provider.d.ts +0 -5
  1161. package/node_modules/@earendil-works/omk-ai/dist/bedrock-provider.d.ts.map +0 -1
  1162. package/node_modules/@earendil-works/omk-ai/dist/bedrock-provider.js +0 -6
  1163. package/node_modules/@earendil-works/omk-ai/dist/bedrock-provider.js.map +0 -1
  1164. package/node_modules/@earendil-works/omk-ai/dist/cli.d.ts +0 -3
  1165. package/node_modules/@earendil-works/omk-ai/dist/cli.d.ts.map +0 -1
  1166. package/node_modules/@earendil-works/omk-ai/dist/cli.js +0 -130
  1167. package/node_modules/@earendil-works/omk-ai/dist/cli.js.map +0 -1
  1168. package/node_modules/@earendil-works/omk-ai/dist/env-api-keys.d.ts +0 -20
  1169. package/node_modules/@earendil-works/omk-ai/dist/env-api-keys.d.ts.map +0 -1
  1170. package/node_modules/@earendil-works/omk-ai/dist/env-api-keys.js +0 -199
  1171. package/node_modules/@earendil-works/omk-ai/dist/env-api-keys.js.map +0 -1
  1172. package/node_modules/@earendil-works/omk-ai/dist/image-models.d.ts +0 -10
  1173. package/node_modules/@earendil-works/omk-ai/dist/image-models.d.ts.map +0 -1
  1174. package/node_modules/@earendil-works/omk-ai/dist/image-models.generated.d.ts +0 -515
  1175. package/node_modules/@earendil-works/omk-ai/dist/image-models.generated.d.ts.map +0 -1
  1176. package/node_modules/@earendil-works/omk-ai/dist/image-models.generated.js +0 -517
  1177. package/node_modules/@earendil-works/omk-ai/dist/image-models.generated.js.map +0 -1
  1178. package/node_modules/@earendil-works/omk-ai/dist/image-models.js +0 -23
  1179. package/node_modules/@earendil-works/omk-ai/dist/image-models.js.map +0 -1
  1180. package/node_modules/@earendil-works/omk-ai/dist/images-api-registry.d.ts +0 -14
  1181. package/node_modules/@earendil-works/omk-ai/dist/images-api-registry.d.ts.map +0 -1
  1182. package/node_modules/@earendil-works/omk-ai/dist/images-api-registry.js +0 -22
  1183. package/node_modules/@earendil-works/omk-ai/dist/images-api-registry.js.map +0 -1
  1184. package/node_modules/@earendil-works/omk-ai/dist/images.d.ts +0 -4
  1185. package/node_modules/@earendil-works/omk-ai/dist/images.d.ts.map +0 -1
  1186. package/node_modules/@earendil-works/omk-ai/dist/images.js +0 -16
  1187. package/node_modules/@earendil-works/omk-ai/dist/images.js.map +0 -1
  1188. package/node_modules/@earendil-works/omk-ai/dist/index.d.ts +0 -33
  1189. package/node_modules/@earendil-works/omk-ai/dist/index.d.ts.map +0 -1
  1190. package/node_modules/@earendil-works/omk-ai/dist/index.js +0 -21
  1191. package/node_modules/@earendil-works/omk-ai/dist/index.js.map +0 -1
  1192. package/node_modules/@earendil-works/omk-ai/dist/models.d.ts +0 -18
  1193. package/node_modules/@earendil-works/omk-ai/dist/models.d.ts.map +0 -1
  1194. package/node_modules/@earendil-works/omk-ai/dist/models.generated.d.ts +0 -18762
  1195. package/node_modules/@earendil-works/omk-ai/dist/models.generated.d.ts.map +0 -1
  1196. package/node_modules/@earendil-works/omk-ai/dist/models.generated.js +0 -17197
  1197. package/node_modules/@earendil-works/omk-ai/dist/models.generated.js.map +0 -1
  1198. package/node_modules/@earendil-works/omk-ai/dist/models.js +0 -78
  1199. package/node_modules/@earendil-works/omk-ai/dist/models.js.map +0 -1
  1200. package/node_modules/@earendil-works/omk-ai/dist/oauth.d.ts +0 -2
  1201. package/node_modules/@earendil-works/omk-ai/dist/oauth.d.ts.map +0 -1
  1202. package/node_modules/@earendil-works/omk-ai/dist/oauth.js +0 -2
  1203. package/node_modules/@earendil-works/omk-ai/dist/oauth.js.map +0 -1
  1204. package/node_modules/@earendil-works/omk-ai/dist/provider-network.d.ts +0 -39
  1205. package/node_modules/@earendil-works/omk-ai/dist/provider-network.d.ts.map +0 -1
  1206. package/node_modules/@earendil-works/omk-ai/dist/provider-network.js +0 -170
  1207. package/node_modules/@earendil-works/omk-ai/dist/provider-network.js.map +0 -1
  1208. package/node_modules/@earendil-works/omk-ai/dist/providers/amazon-bedrock.d.ts +0 -38
  1209. package/node_modules/@earendil-works/omk-ai/dist/providers/amazon-bedrock.d.ts.map +0 -1
  1210. package/node_modules/@earendil-works/omk-ai/dist/providers/amazon-bedrock.js +0 -826
  1211. package/node_modules/@earendil-works/omk-ai/dist/providers/amazon-bedrock.js.map +0 -1
  1212. package/node_modules/@earendil-works/omk-ai/dist/providers/anthropic.d.ts +0 -77
  1213. package/node_modules/@earendil-works/omk-ai/dist/providers/anthropic.d.ts.map +0 -1
  1214. package/node_modules/@earendil-works/omk-ai/dist/providers/anthropic.js +0 -1123
  1215. package/node_modules/@earendil-works/omk-ai/dist/providers/anthropic.js.map +0 -1
  1216. package/node_modules/@earendil-works/omk-ai/dist/providers/azure-openai-responses.d.ts +0 -15
  1217. package/node_modules/@earendil-works/omk-ai/dist/providers/azure-openai-responses.d.ts.map +0 -1
  1218. package/node_modules/@earendil-works/omk-ai/dist/providers/azure-openai-responses.js +0 -221
  1219. package/node_modules/@earendil-works/omk-ai/dist/providers/azure-openai-responses.js.map +0 -1
  1220. package/node_modules/@earendil-works/omk-ai/dist/providers/cloudflare.d.ts +0 -13
  1221. package/node_modules/@earendil-works/omk-ai/dist/providers/cloudflare.d.ts.map +0 -1
  1222. package/node_modules/@earendil-works/omk-ai/dist/providers/cloudflare.js +0 -26
  1223. package/node_modules/@earendil-works/omk-ai/dist/providers/cloudflare.js.map +0 -1
  1224. package/node_modules/@earendil-works/omk-ai/dist/providers/faux.d.ts +0 -56
  1225. package/node_modules/@earendil-works/omk-ai/dist/providers/faux.d.ts.map +0 -1
  1226. package/node_modules/@earendil-works/omk-ai/dist/providers/faux.js +0 -368
  1227. package/node_modules/@earendil-works/omk-ai/dist/providers/faux.js.map +0 -1
  1228. package/node_modules/@earendil-works/omk-ai/dist/providers/github-copilot-headers.d.ts +0 -8
  1229. package/node_modules/@earendil-works/omk-ai/dist/providers/github-copilot-headers.d.ts.map +0 -1
  1230. package/node_modules/@earendil-works/omk-ai/dist/providers/github-copilot-headers.js +0 -29
  1231. package/node_modules/@earendil-works/omk-ai/dist/providers/github-copilot-headers.js.map +0 -1
  1232. package/node_modules/@earendil-works/omk-ai/dist/providers/google-shared.d.ts +0 -70
  1233. package/node_modules/@earendil-works/omk-ai/dist/providers/google-shared.d.ts.map +0 -1
  1234. package/node_modules/@earendil-works/omk-ai/dist/providers/google-shared.js +0 -331
  1235. package/node_modules/@earendil-works/omk-ai/dist/providers/google-shared.js.map +0 -1
  1236. package/node_modules/@earendil-works/omk-ai/dist/providers/google-vertex.d.ts +0 -15
  1237. package/node_modules/@earendil-works/omk-ai/dist/providers/google-vertex.d.ts.map +0 -1
  1238. package/node_modules/@earendil-works/omk-ai/dist/providers/google-vertex.js +0 -442
  1239. package/node_modules/@earendil-works/omk-ai/dist/providers/google-vertex.js.map +0 -1
  1240. package/node_modules/@earendil-works/omk-ai/dist/providers/google.d.ts +0 -13
  1241. package/node_modules/@earendil-works/omk-ai/dist/providers/google.d.ts.map +0 -1
  1242. package/node_modules/@earendil-works/omk-ai/dist/providers/google.js +0 -402
  1243. package/node_modules/@earendil-works/omk-ai/dist/providers/google.js.map +0 -1
  1244. package/node_modules/@earendil-works/omk-ai/dist/providers/images/openrouter.d.ts +0 -3
  1245. package/node_modules/@earendil-works/omk-ai/dist/providers/images/openrouter.d.ts.map +0 -1
  1246. package/node_modules/@earendil-works/omk-ai/dist/providers/images/openrouter.js +0 -128
  1247. package/node_modules/@earendil-works/omk-ai/dist/providers/images/openrouter.js.map +0 -1
  1248. package/node_modules/@earendil-works/omk-ai/dist/providers/images/register-builtins.d.ts +0 -4
  1249. package/node_modules/@earendil-works/omk-ai/dist/providers/images/register-builtins.d.ts.map +0 -1
  1250. package/node_modules/@earendil-works/omk-ai/dist/providers/images/register-builtins.js +0 -34
  1251. package/node_modules/@earendil-works/omk-ai/dist/providers/images/register-builtins.js.map +0 -1
  1252. package/node_modules/@earendil-works/omk-ai/dist/providers/mistral.d.ts +0 -25
  1253. package/node_modules/@earendil-works/omk-ai/dist/providers/mistral.d.ts.map +0 -1
  1254. package/node_modules/@earendil-works/omk-ai/dist/providers/mistral.js +0 -534
  1255. package/node_modules/@earendil-works/omk-ai/dist/providers/mistral.js.map +0 -1
  1256. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-codex-responses.d.ts +0 -30
  1257. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-codex-responses.d.ts.map +0 -1
  1258. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-codex-responses.js +0 -1171
  1259. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-codex-responses.js.map +0 -1
  1260. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-completions.d.ts +0 -19
  1261. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-completions.d.ts.map +0 -1
  1262. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-completions.js +0 -977
  1263. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-completions.js.map +0 -1
  1264. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-prompt-cache.d.ts +0 -11
  1265. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-prompt-cache.d.ts.map +0 -1
  1266. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-prompt-cache.js +0 -22
  1267. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-prompt-cache.js.map +0 -1
  1268. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses-shared.d.ts +0 -18
  1269. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses-shared.d.ts.map +0 -1
  1270. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses-shared.js +0 -496
  1271. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses-shared.js.map +0 -1
  1272. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses.d.ts +0 -13
  1273. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses.d.ts.map +0 -1
  1274. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses.js +0 -233
  1275. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses.js.map +0 -1
  1276. package/node_modules/@earendil-works/omk-ai/dist/providers/register-builtins.d.ts +0 -35
  1277. package/node_modules/@earendil-works/omk-ai/dist/providers/register-builtins.d.ts.map +0 -1
  1278. package/node_modules/@earendil-works/omk-ai/dist/providers/register-builtins.js +0 -254
  1279. package/node_modules/@earendil-works/omk-ai/dist/providers/register-builtins.js.map +0 -1
  1280. package/node_modules/@earendil-works/omk-ai/dist/providers/simple-options.d.ts +0 -8
  1281. package/node_modules/@earendil-works/omk-ai/dist/providers/simple-options.d.ts.map +0 -1
  1282. package/node_modules/@earendil-works/omk-ai/dist/providers/simple-options.js +0 -42
  1283. package/node_modules/@earendil-works/omk-ai/dist/providers/simple-options.js.map +0 -1
  1284. package/node_modules/@earendil-works/omk-ai/dist/providers/tool-schema.d.ts +0 -13
  1285. package/node_modules/@earendil-works/omk-ai/dist/providers/tool-schema.d.ts.map +0 -1
  1286. package/node_modules/@earendil-works/omk-ai/dist/providers/tool-schema.js +0 -82
  1287. package/node_modules/@earendil-works/omk-ai/dist/providers/tool-schema.js.map +0 -1
  1288. package/node_modules/@earendil-works/omk-ai/dist/providers/transform-messages.d.ts +0 -8
  1289. package/node_modules/@earendil-works/omk-ai/dist/providers/transform-messages.d.ts.map +0 -1
  1290. package/node_modules/@earendil-works/omk-ai/dist/providers/transform-messages.js +0 -184
  1291. package/node_modules/@earendil-works/omk-ai/dist/providers/transform-messages.js.map +0 -1
  1292. package/node_modules/@earendil-works/omk-ai/dist/session-resources.d.ts +0 -4
  1293. package/node_modules/@earendil-works/omk-ai/dist/session-resources.d.ts.map +0 -1
  1294. package/node_modules/@earendil-works/omk-ai/dist/session-resources.js +0 -22
  1295. package/node_modules/@earendil-works/omk-ai/dist/session-resources.js.map +0 -1
  1296. package/node_modules/@earendil-works/omk-ai/dist/stream.d.ts +0 -8
  1297. package/node_modules/@earendil-works/omk-ai/dist/stream.d.ts.map +0 -1
  1298. package/node_modules/@earendil-works/omk-ai/dist/stream.js +0 -77
  1299. package/node_modules/@earendil-works/omk-ai/dist/stream.js.map +0 -1
  1300. package/node_modules/@earendil-works/omk-ai/dist/types.d.ts +0 -570
  1301. package/node_modules/@earendil-works/omk-ai/dist/types.d.ts.map +0 -1
  1302. package/node_modules/@earendil-works/omk-ai/dist/types.js +0 -2
  1303. package/node_modules/@earendil-works/omk-ai/dist/types.js.map +0 -1
  1304. package/node_modules/@earendil-works/omk-ai/dist/utils/abort-signals.d.ts +0 -6
  1305. package/node_modules/@earendil-works/omk-ai/dist/utils/abort-signals.d.ts.map +0 -1
  1306. package/node_modules/@earendil-works/omk-ai/dist/utils/abort-signals.js +0 -34
  1307. package/node_modules/@earendil-works/omk-ai/dist/utils/abort-signals.js.map +0 -1
  1308. package/node_modules/@earendil-works/omk-ai/dist/utils/diagnostics.d.ts +0 -19
  1309. package/node_modules/@earendil-works/omk-ai/dist/utils/diagnostics.d.ts.map +0 -1
  1310. package/node_modules/@earendil-works/omk-ai/dist/utils/diagnostics.js +0 -25
  1311. package/node_modules/@earendil-works/omk-ai/dist/utils/diagnostics.js.map +0 -1
  1312. package/node_modules/@earendil-works/omk-ai/dist/utils/event-stream.d.ts +0 -21
  1313. package/node_modules/@earendil-works/omk-ai/dist/utils/event-stream.d.ts.map +0 -1
  1314. package/node_modules/@earendil-works/omk-ai/dist/utils/event-stream.js +0 -81
  1315. package/node_modules/@earendil-works/omk-ai/dist/utils/event-stream.js.map +0 -1
  1316. package/node_modules/@earendil-works/omk-ai/dist/utils/hash.d.ts +0 -3
  1317. package/node_modules/@earendil-works/omk-ai/dist/utils/hash.d.ts.map +0 -1
  1318. package/node_modules/@earendil-works/omk-ai/dist/utils/hash.js +0 -14
  1319. package/node_modules/@earendil-works/omk-ai/dist/utils/hash.js.map +0 -1
  1320. package/node_modules/@earendil-works/omk-ai/dist/utils/headers.d.ts +0 -2
  1321. package/node_modules/@earendil-works/omk-ai/dist/utils/headers.d.ts.map +0 -1
  1322. package/node_modules/@earendil-works/omk-ai/dist/utils/headers.js +0 -8
  1323. package/node_modules/@earendil-works/omk-ai/dist/utils/headers.js.map +0 -1
  1324. package/node_modules/@earendil-works/omk-ai/dist/utils/json-parse.d.ts +0 -16
  1325. package/node_modules/@earendil-works/omk-ai/dist/utils/json-parse.d.ts.map +0 -1
  1326. package/node_modules/@earendil-works/omk-ai/dist/utils/json-parse.js +0 -113
  1327. package/node_modules/@earendil-works/omk-ai/dist/utils/json-parse.js.map +0 -1
  1328. package/node_modules/@earendil-works/omk-ai/dist/utils/node-http-proxy.d.ts +0 -10
  1329. package/node_modules/@earendil-works/omk-ai/dist/utils/node-http-proxy.d.ts.map +0 -1
  1330. package/node_modules/@earendil-works/omk-ai/dist/utils/node-http-proxy.js +0 -97
  1331. package/node_modules/@earendil-works/omk-ai/dist/utils/node-http-proxy.js.map +0 -1
  1332. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/anthropic.d.ts +0 -25
  1333. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/anthropic.d.ts.map +0 -1
  1334. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/anthropic.js +0 -335
  1335. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/anthropic.js.map +0 -1
  1336. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/device-code.d.ts +0 -21
  1337. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/device-code.d.ts.map +0 -1
  1338. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/device-code.js +0 -56
  1339. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/device-code.js.map +0 -1
  1340. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/github-copilot.d.ts +0 -30
  1341. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/github-copilot.d.ts.map +0 -1
  1342. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/github-copilot.js +0 -280
  1343. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/github-copilot.js.map +0 -1
  1344. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/index.d.ts +0 -58
  1345. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/index.d.ts.map +0 -1
  1346. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/index.js +0 -122
  1347. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/index.js.map +0 -1
  1348. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/oauth-page.d.ts +0 -3
  1349. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/oauth-page.d.ts.map +0 -1
  1350. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/oauth-page.js +0 -105
  1351. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/oauth-page.js.map +0 -1
  1352. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/openai-codex.d.ts +0 -43
  1353. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/openai-codex.d.ts.map +0 -1
  1354. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/openai-codex.js +0 -487
  1355. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/openai-codex.js.map +0 -1
  1356. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/pkce.d.ts +0 -13
  1357. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/pkce.d.ts.map +0 -1
  1358. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/pkce.js +0 -31
  1359. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/pkce.js.map +0 -1
  1360. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/types.d.ts +0 -64
  1361. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/types.d.ts.map +0 -1
  1362. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/types.js +0 -2
  1363. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/types.js.map +0 -1
  1364. package/node_modules/@earendil-works/omk-ai/dist/utils/overflow.d.ts +0 -57
  1365. package/node_modules/@earendil-works/omk-ai/dist/utils/overflow.d.ts.map +0 -1
  1366. package/node_modules/@earendil-works/omk-ai/dist/utils/overflow.js +0 -154
  1367. package/node_modules/@earendil-works/omk-ai/dist/utils/overflow.js.map +0 -1
  1368. package/node_modules/@earendil-works/omk-ai/dist/utils/sanitize-unicode.d.ts +0 -22
  1369. package/node_modules/@earendil-works/omk-ai/dist/utils/sanitize-unicode.d.ts.map +0 -1
  1370. package/node_modules/@earendil-works/omk-ai/dist/utils/sanitize-unicode.js +0 -26
  1371. package/node_modules/@earendil-works/omk-ai/dist/utils/sanitize-unicode.js.map +0 -1
  1372. package/node_modules/@earendil-works/omk-ai/dist/utils/typebox-helpers.d.ts +0 -17
  1373. package/node_modules/@earendil-works/omk-ai/dist/utils/typebox-helpers.d.ts.map +0 -1
  1374. package/node_modules/@earendil-works/omk-ai/dist/utils/typebox-helpers.js +0 -21
  1375. package/node_modules/@earendil-works/omk-ai/dist/utils/typebox-helpers.js.map +0 -1
  1376. package/node_modules/@earendil-works/omk-ai/dist/utils/validation.d.ts +0 -18
  1377. package/node_modules/@earendil-works/omk-ai/dist/utils/validation.d.ts.map +0 -1
  1378. package/node_modules/@earendil-works/omk-ai/dist/utils/validation.js +0 -281
  1379. package/node_modules/@earendil-works/omk-ai/dist/utils/validation.js.map +0 -1
  1380. package/node_modules/@earendil-works/omk-ai/package.json +0 -106
  1381. package/node_modules/@earendil-works/omk-tui/README.md +0 -791
  1382. package/node_modules/@earendil-works/omk-tui/dist/autocomplete.d.ts +0 -54
  1383. package/node_modules/@earendil-works/omk-tui/dist/autocomplete.d.ts.map +0 -1
  1384. package/node_modules/@earendil-works/omk-tui/dist/autocomplete.js +0 -632
  1385. package/node_modules/@earendil-works/omk-tui/dist/autocomplete.js.map +0 -1
  1386. package/node_modules/@earendil-works/omk-tui/dist/components/box.d.ts +0 -22
  1387. package/node_modules/@earendil-works/omk-tui/dist/components/box.d.ts.map +0 -1
  1388. package/node_modules/@earendil-works/omk-tui/dist/components/box.js +0 -104
  1389. package/node_modules/@earendil-works/omk-tui/dist/components/box.js.map +0 -1
  1390. package/node_modules/@earendil-works/omk-tui/dist/components/cancellable-loader.d.ts +0 -22
  1391. package/node_modules/@earendil-works/omk-tui/dist/components/cancellable-loader.d.ts.map +0 -1
  1392. package/node_modules/@earendil-works/omk-tui/dist/components/cancellable-loader.js +0 -35
  1393. package/node_modules/@earendil-works/omk-tui/dist/components/cancellable-loader.js.map +0 -1
  1394. package/node_modules/@earendil-works/omk-tui/dist/components/editor.d.ts +0 -249
  1395. package/node_modules/@earendil-works/omk-tui/dist/components/editor.d.ts.map +0 -1
  1396. package/node_modules/@earendil-works/omk-tui/dist/components/editor.js +0 -1857
  1397. package/node_modules/@earendil-works/omk-tui/dist/components/editor.js.map +0 -1
  1398. package/node_modules/@earendil-works/omk-tui/dist/components/image.d.ts +0 -28
  1399. package/node_modules/@earendil-works/omk-tui/dist/components/image.d.ts.map +0 -1
  1400. package/node_modules/@earendil-works/omk-tui/dist/components/image.js +0 -89
  1401. package/node_modules/@earendil-works/omk-tui/dist/components/image.js.map +0 -1
  1402. package/node_modules/@earendil-works/omk-tui/dist/components/input.d.ts +0 -37
  1403. package/node_modules/@earendil-works/omk-tui/dist/components/input.d.ts.map +0 -1
  1404. package/node_modules/@earendil-works/omk-tui/dist/components/input.js +0 -378
  1405. package/node_modules/@earendil-works/omk-tui/dist/components/input.js.map +0 -1
  1406. package/node_modules/@earendil-works/omk-tui/dist/components/loader.d.ts +0 -31
  1407. package/node_modules/@earendil-works/omk-tui/dist/components/loader.d.ts.map +0 -1
  1408. package/node_modules/@earendil-works/omk-tui/dist/components/loader.js +0 -69
  1409. package/node_modules/@earendil-works/omk-tui/dist/components/loader.js.map +0 -1
  1410. package/node_modules/@earendil-works/omk-tui/dist/components/markdown.d.ts +0 -96
  1411. package/node_modules/@earendil-works/omk-tui/dist/components/markdown.d.ts.map +0 -1
  1412. package/node_modules/@earendil-works/omk-tui/dist/components/markdown.js +0 -644
  1413. package/node_modules/@earendil-works/omk-tui/dist/components/markdown.js.map +0 -1
  1414. package/node_modules/@earendil-works/omk-tui/dist/components/select-list.d.ts +0 -50
  1415. package/node_modules/@earendil-works/omk-tui/dist/components/select-list.d.ts.map +0 -1
  1416. package/node_modules/@earendil-works/omk-tui/dist/components/select-list.js +0 -159
  1417. package/node_modules/@earendil-works/omk-tui/dist/components/select-list.js.map +0 -1
  1418. package/node_modules/@earendil-works/omk-tui/dist/components/settings-list.d.ts +0 -50
  1419. package/node_modules/@earendil-works/omk-tui/dist/components/settings-list.d.ts.map +0 -1
  1420. package/node_modules/@earendil-works/omk-tui/dist/components/settings-list.js +0 -185
  1421. package/node_modules/@earendil-works/omk-tui/dist/components/settings-list.js.map +0 -1
  1422. package/node_modules/@earendil-works/omk-tui/dist/components/spacer.d.ts +0 -12
  1423. package/node_modules/@earendil-works/omk-tui/dist/components/spacer.d.ts.map +0 -1
  1424. package/node_modules/@earendil-works/omk-tui/dist/components/spacer.js +0 -23
  1425. package/node_modules/@earendil-works/omk-tui/dist/components/spacer.js.map +0 -1
  1426. package/node_modules/@earendil-works/omk-tui/dist/components/text.d.ts +0 -19
  1427. package/node_modules/@earendil-works/omk-tui/dist/components/text.d.ts.map +0 -1
  1428. package/node_modules/@earendil-works/omk-tui/dist/components/text.js +0 -89
  1429. package/node_modules/@earendil-works/omk-tui/dist/components/text.js.map +0 -1
  1430. package/node_modules/@earendil-works/omk-tui/dist/components/truncated-text.d.ts +0 -13
  1431. package/node_modules/@earendil-works/omk-tui/dist/components/truncated-text.d.ts.map +0 -1
  1432. package/node_modules/@earendil-works/omk-tui/dist/components/truncated-text.js +0 -51
  1433. package/node_modules/@earendil-works/omk-tui/dist/components/truncated-text.js.map +0 -1
  1434. package/node_modules/@earendil-works/omk-tui/dist/editor-component.d.ts +0 -39
  1435. package/node_modules/@earendil-works/omk-tui/dist/editor-component.d.ts.map +0 -1
  1436. package/node_modules/@earendil-works/omk-tui/dist/editor-component.js +0 -2
  1437. package/node_modules/@earendil-works/omk-tui/dist/editor-component.js.map +0 -1
  1438. package/node_modules/@earendil-works/omk-tui/dist/fuzzy.d.ts +0 -16
  1439. package/node_modules/@earendil-works/omk-tui/dist/fuzzy.d.ts.map +0 -1
  1440. package/node_modules/@earendil-works/omk-tui/dist/fuzzy.js +0 -110
  1441. package/node_modules/@earendil-works/omk-tui/dist/fuzzy.js.map +0 -1
  1442. package/node_modules/@earendil-works/omk-tui/dist/index.d.ts +0 -23
  1443. package/node_modules/@earendil-works/omk-tui/dist/index.d.ts.map +0 -1
  1444. package/node_modules/@earendil-works/omk-tui/dist/index.js +0 -32
  1445. package/node_modules/@earendil-works/omk-tui/dist/index.js.map +0 -1
  1446. package/node_modules/@earendil-works/omk-tui/dist/keybindings.d.ts +0 -212
  1447. package/node_modules/@earendil-works/omk-tui/dist/keybindings.d.ts.map +0 -1
  1448. package/node_modules/@earendil-works/omk-tui/dist/keybindings.js +0 -252
  1449. package/node_modules/@earendil-works/omk-tui/dist/keybindings.js.map +0 -1
  1450. package/node_modules/@earendil-works/omk-tui/dist/keys.d.ts +0 -184
  1451. package/node_modules/@earendil-works/omk-tui/dist/keys.d.ts.map +0 -1
  1452. package/node_modules/@earendil-works/omk-tui/dist/keys.js +0 -1173
  1453. package/node_modules/@earendil-works/omk-tui/dist/keys.js.map +0 -1
  1454. package/node_modules/@earendil-works/omk-tui/dist/kill-ring.d.ts +0 -28
  1455. package/node_modules/@earendil-works/omk-tui/dist/kill-ring.d.ts.map +0 -1
  1456. package/node_modules/@earendil-works/omk-tui/dist/kill-ring.js +0 -44
  1457. package/node_modules/@earendil-works/omk-tui/dist/kill-ring.js.map +0 -1
  1458. package/node_modules/@earendil-works/omk-tui/dist/native-modifiers.d.ts +0 -3
  1459. package/node_modules/@earendil-works/omk-tui/dist/native-modifiers.d.ts.map +0 -1
  1460. package/node_modules/@earendil-works/omk-tui/dist/native-modifiers.js +0 -53
  1461. package/node_modules/@earendil-works/omk-tui/dist/native-modifiers.js.map +0 -1
  1462. package/node_modules/@earendil-works/omk-tui/dist/stdin-buffer.d.ts +0 -50
  1463. package/node_modules/@earendil-works/omk-tui/dist/stdin-buffer.d.ts.map +0 -1
  1464. package/node_modules/@earendil-works/omk-tui/dist/stdin-buffer.js +0 -361
  1465. package/node_modules/@earendil-works/omk-tui/dist/stdin-buffer.js.map +0 -1
  1466. package/node_modules/@earendil-works/omk-tui/dist/terminal-image.d.ts +0 -90
  1467. package/node_modules/@earendil-works/omk-tui/dist/terminal-image.d.ts.map +0 -1
  1468. package/node_modules/@earendil-works/omk-tui/dist/terminal-image.js +0 -366
  1469. package/node_modules/@earendil-works/omk-tui/dist/terminal-image.js.map +0 -1
  1470. package/node_modules/@earendil-works/omk-tui/dist/terminal.d.ts +0 -113
  1471. package/node_modules/@earendil-works/omk-tui/dist/terminal.d.ts.map +0 -1
  1472. package/node_modules/@earendil-works/omk-tui/dist/terminal.js +0 -472
  1473. package/node_modules/@earendil-works/omk-tui/dist/terminal.js.map +0 -1
  1474. package/node_modules/@earendil-works/omk-tui/dist/tui.d.ts +0 -242
  1475. package/node_modules/@earendil-works/omk-tui/dist/tui.d.ts.map +0 -1
  1476. package/node_modules/@earendil-works/omk-tui/dist/tui.js +0 -1221
  1477. package/node_modules/@earendil-works/omk-tui/dist/tui.js.map +0 -1
  1478. package/node_modules/@earendil-works/omk-tui/dist/undo-stack.d.ts +0 -17
  1479. package/node_modules/@earendil-works/omk-tui/dist/undo-stack.d.ts.map +0 -1
  1480. package/node_modules/@earendil-works/omk-tui/dist/undo-stack.js +0 -25
  1481. package/node_modules/@earendil-works/omk-tui/dist/undo-stack.js.map +0 -1
  1482. package/node_modules/@earendil-works/omk-tui/dist/utils.d.ts +0 -84
  1483. package/node_modules/@earendil-works/omk-tui/dist/utils.d.ts.map +0 -1
  1484. package/node_modules/@earendil-works/omk-tui/dist/utils.js +0 -1032
  1485. package/node_modules/@earendil-works/omk-tui/dist/utils.js.map +0 -1
  1486. package/node_modules/@earendil-works/omk-tui/dist/word-navigation.d.ts +0 -25
  1487. package/node_modules/@earendil-works/omk-tui/dist/word-navigation.d.ts.map +0 -1
  1488. package/node_modules/@earendil-works/omk-tui/dist/word-navigation.js +0 -96
  1489. package/node_modules/@earendil-works/omk-tui/dist/word-navigation.js.map +0 -1
  1490. package/node_modules/@earendil-works/omk-tui/native/darwin/prebuilds/darwin-arm64/darwin-modifiers.node +0 -0
  1491. package/node_modules/@earendil-works/omk-tui/native/darwin/prebuilds/darwin-x64/darwin-modifiers.node +0 -0
  1492. package/node_modules/@earendil-works/omk-tui/native/win32/prebuilds/win32-arm64/win32-console-mode.node +0 -0
  1493. package/node_modules/@earendil-works/omk-tui/native/win32/prebuilds/win32-x64/win32-console-mode.node +0 -0
  1494. package/node_modules/@earendil-works/omk-tui/package.json +0 -47
@@ -0,0 +1,68 @@
1
+ import { ALL_TIERS_V2 } from "./context-budget-v2-types.js";
2
+ export function computeTierDemand(plannedItems) {
3
+ const demand = new Map();
4
+ for (const tier of ALL_TIERS_V2) {
5
+ demand.set(tier, { demand: 0, hard: 0 });
6
+ }
7
+ for (const planned of plannedItems) {
8
+ const entry = demand.get(planned.item.tier) ?? { demand: 0, hard: 0 };
9
+ demand.set(planned.item.tier, {
10
+ demand: entry.demand + planned.fullTokens,
11
+ hard: entry.hard + (planned.isHard ? planned.fullTokens : 0),
12
+ });
13
+ }
14
+ return demand;
15
+ }
16
+ export function allocateTiers(available, policy, demand) {
17
+ const out = new Map();
18
+ const floors = {};
19
+ const ceilings = {};
20
+ const wants = {};
21
+ for (const tier of ALL_TIERS_V2) {
22
+ const floor = Math.max(0, Math.floor(policy[tier].floorPct * available));
23
+ const ceiling = Math.max(floor, Math.floor(policy[tier].ceilingPct * available));
24
+ const entry = demand.get(tier) ?? { demand: 0, hard: 0 };
25
+ const want = Math.max(entry.demand, entry.hard);
26
+ floors[tier] = floor;
27
+ ceilings[tier] = ceiling;
28
+ wants[tier] = want;
29
+ out.set(tier, { floor, ceiling, allocated: Math.min(want, Math.max(ceiling, entry.hard)) });
30
+ }
31
+ let totalAllocated = 0;
32
+ for (const tier of ALL_TIERS_V2) {
33
+ totalAllocated += out.get(tier)?.allocated ?? 0;
34
+ }
35
+ let residual = available - totalAllocated;
36
+ if (residual <= 0) {
37
+ return out;
38
+ }
39
+ const shortfalls = collectShortfalls(out, wants);
40
+ const totalGap = shortfalls.reduce((sum, shortfall) => sum + shortfall.gap, 0);
41
+ if (totalGap <= 0) {
42
+ return out;
43
+ }
44
+ for (const { tier, gap } of shortfalls) {
45
+ const share = Math.min(gap, Math.floor((residual * gap) / totalGap));
46
+ if (share <= 0)
47
+ continue;
48
+ const entry = out.get(tier);
49
+ if (!entry)
50
+ continue;
51
+ out.set(tier, { ...entry, allocated: entry.allocated + share });
52
+ residual -= share;
53
+ }
54
+ return out;
55
+ }
56
+ function collectShortfalls(allocations, wants) {
57
+ const shortfalls = [];
58
+ for (const tier of ALL_TIERS_V2) {
59
+ const entry = allocations.get(tier);
60
+ if (!entry)
61
+ continue;
62
+ const gap = Math.min(Math.max(0, wants[tier] - entry.allocated), Math.max(0, entry.ceiling - entry.allocated));
63
+ if (gap > 0)
64
+ shortfalls.push({ tier, gap });
65
+ }
66
+ return shortfalls;
67
+ }
68
+ //# sourceMappingURL=context-budget-v2-tiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-budget-v2-tiers.js","sourceRoot":"","sources":["../../src/core/context-budget-v2-tiers.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ContextBudgetTierV2 } from \"./context-budget-headroom.ts\";\nimport type { PlannedItemV2 } from \"./context-budget-v2-scoring.ts\";\nimport { ALL_TIERS_V2, type TierBudgetPolicyV2 } from \"./context-budget-v2-types.ts\";\n\nexport interface RawTierDemand {\n\treadonly demand: number;\n\treadonly hard: number;\n}\n\nexport interface RawTierAllocation {\n\treadonly floor: number;\n\treadonly ceiling: number;\n\treadonly allocated: number;\n}\n\nexport function computeTierDemand(plannedItems: readonly PlannedItemV2[]): Map<ContextBudgetTierV2, RawTierDemand> {\n\tconst demand = new Map<ContextBudgetTierV2, RawTierDemand>();\n\tfor (const tier of ALL_TIERS_V2) {\n\t\tdemand.set(tier, { demand: 0, hard: 0 });\n\t}\n\tfor (const planned of plannedItems) {\n\t\tconst entry = demand.get(planned.item.tier) ?? { demand: 0, hard: 0 };\n\t\tdemand.set(planned.item.tier, {\n\t\t\tdemand: entry.demand + planned.fullTokens,\n\t\t\thard: entry.hard + (planned.isHard ? planned.fullTokens : 0),\n\t\t});\n\t}\n\treturn demand;\n}\n\nexport function allocateTiers(\n\tavailable: number,\n\tpolicy: Readonly<Record<ContextBudgetTierV2, TierBudgetPolicyV2>>,\n\tdemand: Map<ContextBudgetTierV2, RawTierDemand>,\n): Map<ContextBudgetTierV2, RawTierAllocation> {\n\tconst out = new Map<ContextBudgetTierV2, RawTierAllocation>();\n\tconst floors = {} as Record<ContextBudgetTierV2, number>;\n\tconst ceilings = {} as Record<ContextBudgetTierV2, number>;\n\tconst wants = {} as Record<ContextBudgetTierV2, number>;\n\n\tfor (const tier of ALL_TIERS_V2) {\n\t\tconst floor = Math.max(0, Math.floor(policy[tier].floorPct * available));\n\t\tconst ceiling = Math.max(floor, Math.floor(policy[tier].ceilingPct * available));\n\t\tconst entry = demand.get(tier) ?? { demand: 0, hard: 0 };\n\t\tconst want = Math.max(entry.demand, entry.hard);\n\t\tfloors[tier] = floor;\n\t\tceilings[tier] = ceiling;\n\t\twants[tier] = want;\n\t\tout.set(tier, { floor, ceiling, allocated: Math.min(want, Math.max(ceiling, entry.hard)) });\n\t}\n\n\tlet totalAllocated = 0;\n\tfor (const tier of ALL_TIERS_V2) {\n\t\ttotalAllocated += out.get(tier)?.allocated ?? 0;\n\t}\n\tlet residual = available - totalAllocated;\n\tif (residual <= 0) {\n\t\treturn out;\n\t}\n\n\tconst shortfalls = collectShortfalls(out, wants);\n\tconst totalGap = shortfalls.reduce((sum, shortfall) => sum + shortfall.gap, 0);\n\tif (totalGap <= 0) {\n\t\treturn out;\n\t}\n\tfor (const { tier, gap } of shortfalls) {\n\t\tconst share = Math.min(gap, Math.floor((residual * gap) / totalGap));\n\t\tif (share <= 0) continue;\n\t\tconst entry = out.get(tier);\n\t\tif (!entry) continue;\n\t\tout.set(tier, { ...entry, allocated: entry.allocated + share });\n\t\tresidual -= share;\n\t}\n\treturn out;\n}\n\nfunction collectShortfalls(\n\tallocations: ReadonlyMap<ContextBudgetTierV2, RawTierAllocation>,\n\twants: Record<ContextBudgetTierV2, number>,\n): { tier: ContextBudgetTierV2; gap: number }[] {\n\tconst shortfalls: { tier: ContextBudgetTierV2; gap: number }[] = [];\n\tfor (const tier of ALL_TIERS_V2) {\n\t\tconst entry = allocations.get(tier);\n\t\tif (!entry) continue;\n\t\tconst gap = Math.min(Math.max(0, wants[tier] - entry.allocated), Math.max(0, entry.ceiling - entry.allocated));\n\t\tif (gap > 0) shortfalls.push({ tier, gap });\n\t}\n\treturn shortfalls;\n}\n"]}
@@ -0,0 +1,92 @@
1
+ import type { ContextBudgetItemV2, ContextBudgetTierV2, ContextRepresentationCandidateV2, ContextRepresentationKindV2, ContextSourceRefV2, HeadroomQualityPolicyV2 } from "./context-budget-headroom.ts";
2
+ import type { TokenCounterAdapter } from "./context-budget-token-counter.ts";
3
+ import type { TokenOptimizerRuntimeStatus } from "./token-optimizer.ts";
4
+ export declare const CONTEXT_BUDGET_POLICY_VERSION_V2 = "context-budget-v2";
5
+ export interface TierBudgetPolicyV2 {
6
+ readonly floorPct: number;
7
+ readonly ceilingPct: number;
8
+ }
9
+ export declare const DEFAULT_TIER_POLICY_V2: Readonly<Record<ContextBudgetTierV2, TierBudgetPolicyV2>>;
10
+ export declare const ALL_TIERS_V2: readonly ContextBudgetTierV2[];
11
+ export interface PromptContextBudgetInputV2 {
12
+ readonly maxTokens: number;
13
+ readonly responseReserveTokens?: number;
14
+ readonly safetyMarginTokens?: number;
15
+ readonly modelId?: string;
16
+ readonly policyVersion?: string;
17
+ readonly promptHash?: string;
18
+ readonly query?: string;
19
+ readonly items: readonly ContextBudgetItemV2[];
20
+ readonly tokenCounter?: TokenCounterAdapter;
21
+ readonly tierPolicy?: Partial<Record<ContextBudgetTierV2, TierBudgetPolicyV2>>;
22
+ readonly qualityPolicy?: HeadroomQualityPolicyV2;
23
+ }
24
+ export interface SelectedRepresentationV2 {
25
+ readonly itemId: string;
26
+ readonly kind: ContextRepresentationKindV2;
27
+ readonly text: string;
28
+ readonly estimatedTokens: number;
29
+ readonly fidelity: ContextRepresentationCandidateV2["fidelity"];
30
+ readonly sourceRef?: ContextSourceRefV2;
31
+ readonly summaryHash?: string;
32
+ readonly compressorId?: string;
33
+ }
34
+ export interface TierBudgetAllocationV2 {
35
+ readonly tier: ContextBudgetTierV2;
36
+ readonly floorTokens: number;
37
+ readonly ceilingTokens: number;
38
+ readonly allocatedTokens: number;
39
+ readonly usedTokens: number;
40
+ readonly hardTokens: number;
41
+ }
42
+ export type QualityDiagnosticReasonV2 = "omitted_high_priority" | "retrieval_miss_risk" | "restore_on_demand_hint" | "hard_pin_over_capacity" | "coverage_gap" | "tier_ceiling_exceeded" | "invalid_budget";
43
+ export interface QualityDiagnosticV2 {
44
+ readonly reason: QualityDiagnosticReasonV2;
45
+ readonly itemId?: string;
46
+ readonly detail: string;
47
+ }
48
+ export interface ContextBudgetObservabilityCountsV2 {
49
+ readonly selected: number;
50
+ readonly omitted: number;
51
+ readonly pointer: number;
52
+ readonly compressed: number;
53
+ readonly full: number;
54
+ readonly retrievalFallback: number;
55
+ }
56
+ export interface ContextBudgetObservabilityTokensV2 {
57
+ readonly available: number;
58
+ readonly used: number;
59
+ readonly raw: number;
60
+ readonly omitted: number;
61
+ readonly tokenSavings: number;
62
+ }
63
+ export interface PromptContextBudgetObservabilityV2 {
64
+ readonly counts: ContextBudgetObservabilityCountsV2;
65
+ readonly diagnosticReasons: readonly QualityDiagnosticReasonV2[];
66
+ readonly tokens: ContextBudgetObservabilityTokensV2;
67
+ readonly planHash: string;
68
+ readonly tokenOptimizer: TokenOptimizerRuntimeStatus;
69
+ }
70
+ export interface PromptContextBudgetPlanV2 {
71
+ readonly policyVersion: string;
72
+ readonly promptHash?: string;
73
+ readonly planHash: string;
74
+ readonly maxTokens: number;
75
+ readonly responseReserveTokens: number;
76
+ readonly safetyMarginTokens: number;
77
+ readonly availableTokens: number;
78
+ readonly usedTokens: number;
79
+ readonly omittedTokens: number;
80
+ readonly rawTokens: number;
81
+ readonly tokenSavingsRatio: number;
82
+ readonly emergency: boolean;
83
+ readonly omittedHighPriority: boolean;
84
+ readonly tierAllocations: readonly TierBudgetAllocationV2[];
85
+ readonly selectedRepresentations: readonly SelectedRepresentationV2[];
86
+ readonly includedItemIds: readonly string[];
87
+ readonly omittedItemIds: readonly string[];
88
+ readonly diagnostics: readonly QualityDiagnosticV2[];
89
+ readonly retrievalFallbacks: readonly ContextSourceRefV2[];
90
+ readonly observability: PromptContextBudgetObservabilityV2;
91
+ }
92
+ //# sourceMappingURL=context-budget-v2-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-budget-v2-types.d.ts","sourceRoot":"","sources":["../../src/core/context-budget-v2-types.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tContextBudgetItemV2,\n\tContextBudgetTierV2,\n\tContextRepresentationCandidateV2,\n\tContextRepresentationKindV2,\n\tContextSourceRefV2,\n\tHeadroomQualityPolicyV2,\n} from \"./context-budget-headroom.ts\";\nimport type { TokenCounterAdapter } from \"./context-budget-token-counter.ts\";\nimport type { TokenOptimizerRuntimeStatus } from \"./token-optimizer.ts\";\n\nexport const CONTEXT_BUDGET_POLICY_VERSION_V2 = \"context-budget-v2\";\n\nexport interface TierBudgetPolicyV2 {\n\treadonly floorPct: number;\n\treadonly ceilingPct: number;\n}\n\nexport const DEFAULT_TIER_POLICY_V2: Readonly<Record<ContextBudgetTierV2, TierBudgetPolicyV2>> = {\n\tsystem: { floorPct: 0.25, ceilingPct: 0.45 },\n\t\"active-goal\": { floorPct: 0.1, ceilingPct: 0.25 },\n\t\"current-files\": { floorPct: 0.08, ceilingPct: 0.2 },\n\ttools: { floorPct: 0.04, ceilingPct: 0.12 },\n\tskills: { floorPct: 0.03, ceilingPct: 0.12 },\n\tmcp: { floorPct: 0.02, ceilingPct: 0.08 },\n\thistory: { floorPct: 0.1, ceilingPct: 0.3 },\n\tevidence: { floorPct: 0.08, ceilingPct: 0.25 },\n\tscratch: { floorPct: 0, ceilingPct: 0.05 },\n};\n\nexport const ALL_TIERS_V2: readonly ContextBudgetTierV2[] = [\n\t\"system\",\n\t\"active-goal\",\n\t\"current-files\",\n\t\"tools\",\n\t\"skills\",\n\t\"mcp\",\n\t\"history\",\n\t\"evidence\",\n\t\"scratch\",\n];\n\nexport interface PromptContextBudgetInputV2 {\n\treadonly maxTokens: number;\n\treadonly responseReserveTokens?: number;\n\treadonly safetyMarginTokens?: number;\n\treadonly modelId?: string;\n\treadonly policyVersion?: string;\n\treadonly promptHash?: string;\n\treadonly query?: string;\n\treadonly items: readonly ContextBudgetItemV2[];\n\treadonly tokenCounter?: TokenCounterAdapter;\n\treadonly tierPolicy?: Partial<Record<ContextBudgetTierV2, TierBudgetPolicyV2>>;\n\treadonly qualityPolicy?: HeadroomQualityPolicyV2;\n}\n\nexport interface SelectedRepresentationV2 {\n\treadonly itemId: string;\n\treadonly kind: ContextRepresentationKindV2;\n\treadonly text: string;\n\treadonly estimatedTokens: number;\n\treadonly fidelity: ContextRepresentationCandidateV2[\"fidelity\"];\n\treadonly sourceRef?: ContextSourceRefV2;\n\treadonly summaryHash?: string;\n\treadonly compressorId?: string;\n}\n\nexport interface TierBudgetAllocationV2 {\n\treadonly tier: ContextBudgetTierV2;\n\treadonly floorTokens: number;\n\treadonly ceilingTokens: number;\n\treadonly allocatedTokens: number;\n\treadonly usedTokens: number;\n\treadonly hardTokens: number;\n}\n\nexport type QualityDiagnosticReasonV2 =\n\t| \"omitted_high_priority\"\n\t| \"retrieval_miss_risk\"\n\t| \"restore_on_demand_hint\"\n\t| \"hard_pin_over_capacity\"\n\t| \"coverage_gap\"\n\t| \"tier_ceiling_exceeded\"\n\t| \"invalid_budget\";\n\nexport interface QualityDiagnosticV2 {\n\treadonly reason: QualityDiagnosticReasonV2;\n\treadonly itemId?: string;\n\treadonly detail: string;\n}\n\nexport interface ContextBudgetObservabilityCountsV2 {\n\treadonly selected: number;\n\treadonly omitted: number;\n\treadonly pointer: number;\n\treadonly compressed: number;\n\treadonly full: number;\n\treadonly retrievalFallback: number;\n}\n\nexport interface ContextBudgetObservabilityTokensV2 {\n\treadonly available: number;\n\treadonly used: number;\n\treadonly raw: number;\n\treadonly omitted: number;\n\treadonly tokenSavings: number;\n}\n\nexport interface PromptContextBudgetObservabilityV2 {\n\treadonly counts: ContextBudgetObservabilityCountsV2;\n\treadonly diagnosticReasons: readonly QualityDiagnosticReasonV2[];\n\treadonly tokens: ContextBudgetObservabilityTokensV2;\n\treadonly planHash: string;\n\treadonly tokenOptimizer: TokenOptimizerRuntimeStatus;\n}\n\nexport interface PromptContextBudgetPlanV2 {\n\treadonly policyVersion: string;\n\treadonly promptHash?: string;\n\treadonly planHash: string;\n\treadonly maxTokens: number;\n\treadonly responseReserveTokens: number;\n\treadonly safetyMarginTokens: number;\n\treadonly availableTokens: number;\n\treadonly usedTokens: number;\n\treadonly omittedTokens: number;\n\treadonly rawTokens: number;\n\treadonly tokenSavingsRatio: number;\n\treadonly emergency: boolean;\n\treadonly omittedHighPriority: boolean;\n\treadonly tierAllocations: readonly TierBudgetAllocationV2[];\n\treadonly selectedRepresentations: readonly SelectedRepresentationV2[];\n\treadonly includedItemIds: readonly string[];\n\treadonly omittedItemIds: readonly string[];\n\treadonly diagnostics: readonly QualityDiagnosticV2[];\n\treadonly retrievalFallbacks: readonly ContextSourceRefV2[];\n\treadonly observability: PromptContextBudgetObservabilityV2;\n}\n"]}
@@ -0,0 +1,24 @@
1
+ export const CONTEXT_BUDGET_POLICY_VERSION_V2 = "context-budget-v2";
2
+ export const DEFAULT_TIER_POLICY_V2 = {
3
+ system: { floorPct: 0.25, ceilingPct: 0.45 },
4
+ "active-goal": { floorPct: 0.1, ceilingPct: 0.25 },
5
+ "current-files": { floorPct: 0.08, ceilingPct: 0.2 },
6
+ tools: { floorPct: 0.04, ceilingPct: 0.12 },
7
+ skills: { floorPct: 0.03, ceilingPct: 0.12 },
8
+ mcp: { floorPct: 0.02, ceilingPct: 0.08 },
9
+ history: { floorPct: 0.1, ceilingPct: 0.3 },
10
+ evidence: { floorPct: 0.08, ceilingPct: 0.25 },
11
+ scratch: { floorPct: 0, ceilingPct: 0.05 },
12
+ };
13
+ export const ALL_TIERS_V2 = [
14
+ "system",
15
+ "active-goal",
16
+ "current-files",
17
+ "tools",
18
+ "skills",
19
+ "mcp",
20
+ "history",
21
+ "evidence",
22
+ "scratch",
23
+ ];
24
+ //# sourceMappingURL=context-budget-v2-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-budget-v2-types.js","sourceRoot":"","sources":["../../src/core/context-budget-v2-types.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,gCAAgC,GAAG,mBAAmB,CAAC;AAOpE,MAAM,CAAC,MAAM,sBAAsB,GAA8D;IAChG,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5C,aAAa,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE;IAClD,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE;IACpD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;IAC3C,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5C,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;IACzC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE;IAC3C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;IAC9C,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE;CAC1C,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAmC;IAC3D,QAAQ;IACR,aAAa;IACb,eAAe;IACf,OAAO;IACP,QAAQ;IACR,KAAK;IACL,SAAS;IACT,UAAU;IACV,SAAS;CACT,CAAC","sourcesContent":["import type {\n\tContextBudgetItemV2,\n\tContextBudgetTierV2,\n\tContextRepresentationCandidateV2,\n\tContextRepresentationKindV2,\n\tContextSourceRefV2,\n\tHeadroomQualityPolicyV2,\n} from \"./context-budget-headroom.ts\";\nimport type { TokenCounterAdapter } from \"./context-budget-token-counter.ts\";\nimport type { TokenOptimizerRuntimeStatus } from \"./token-optimizer.ts\";\n\nexport const CONTEXT_BUDGET_POLICY_VERSION_V2 = \"context-budget-v2\";\n\nexport interface TierBudgetPolicyV2 {\n\treadonly floorPct: number;\n\treadonly ceilingPct: number;\n}\n\nexport const DEFAULT_TIER_POLICY_V2: Readonly<Record<ContextBudgetTierV2, TierBudgetPolicyV2>> = {\n\tsystem: { floorPct: 0.25, ceilingPct: 0.45 },\n\t\"active-goal\": { floorPct: 0.1, ceilingPct: 0.25 },\n\t\"current-files\": { floorPct: 0.08, ceilingPct: 0.2 },\n\ttools: { floorPct: 0.04, ceilingPct: 0.12 },\n\tskills: { floorPct: 0.03, ceilingPct: 0.12 },\n\tmcp: { floorPct: 0.02, ceilingPct: 0.08 },\n\thistory: { floorPct: 0.1, ceilingPct: 0.3 },\n\tevidence: { floorPct: 0.08, ceilingPct: 0.25 },\n\tscratch: { floorPct: 0, ceilingPct: 0.05 },\n};\n\nexport const ALL_TIERS_V2: readonly ContextBudgetTierV2[] = [\n\t\"system\",\n\t\"active-goal\",\n\t\"current-files\",\n\t\"tools\",\n\t\"skills\",\n\t\"mcp\",\n\t\"history\",\n\t\"evidence\",\n\t\"scratch\",\n];\n\nexport interface PromptContextBudgetInputV2 {\n\treadonly maxTokens: number;\n\treadonly responseReserveTokens?: number;\n\treadonly safetyMarginTokens?: number;\n\treadonly modelId?: string;\n\treadonly policyVersion?: string;\n\treadonly promptHash?: string;\n\treadonly query?: string;\n\treadonly items: readonly ContextBudgetItemV2[];\n\treadonly tokenCounter?: TokenCounterAdapter;\n\treadonly tierPolicy?: Partial<Record<ContextBudgetTierV2, TierBudgetPolicyV2>>;\n\treadonly qualityPolicy?: HeadroomQualityPolicyV2;\n}\n\nexport interface SelectedRepresentationV2 {\n\treadonly itemId: string;\n\treadonly kind: ContextRepresentationKindV2;\n\treadonly text: string;\n\treadonly estimatedTokens: number;\n\treadonly fidelity: ContextRepresentationCandidateV2[\"fidelity\"];\n\treadonly sourceRef?: ContextSourceRefV2;\n\treadonly summaryHash?: string;\n\treadonly compressorId?: string;\n}\n\nexport interface TierBudgetAllocationV2 {\n\treadonly tier: ContextBudgetTierV2;\n\treadonly floorTokens: number;\n\treadonly ceilingTokens: number;\n\treadonly allocatedTokens: number;\n\treadonly usedTokens: number;\n\treadonly hardTokens: number;\n}\n\nexport type QualityDiagnosticReasonV2 =\n\t| \"omitted_high_priority\"\n\t| \"retrieval_miss_risk\"\n\t| \"restore_on_demand_hint\"\n\t| \"hard_pin_over_capacity\"\n\t| \"coverage_gap\"\n\t| \"tier_ceiling_exceeded\"\n\t| \"invalid_budget\";\n\nexport interface QualityDiagnosticV2 {\n\treadonly reason: QualityDiagnosticReasonV2;\n\treadonly itemId?: string;\n\treadonly detail: string;\n}\n\nexport interface ContextBudgetObservabilityCountsV2 {\n\treadonly selected: number;\n\treadonly omitted: number;\n\treadonly pointer: number;\n\treadonly compressed: number;\n\treadonly full: number;\n\treadonly retrievalFallback: number;\n}\n\nexport interface ContextBudgetObservabilityTokensV2 {\n\treadonly available: number;\n\treadonly used: number;\n\treadonly raw: number;\n\treadonly omitted: number;\n\treadonly tokenSavings: number;\n}\n\nexport interface PromptContextBudgetObservabilityV2 {\n\treadonly counts: ContextBudgetObservabilityCountsV2;\n\treadonly diagnosticReasons: readonly QualityDiagnosticReasonV2[];\n\treadonly tokens: ContextBudgetObservabilityTokensV2;\n\treadonly planHash: string;\n\treadonly tokenOptimizer: TokenOptimizerRuntimeStatus;\n}\n\nexport interface PromptContextBudgetPlanV2 {\n\treadonly policyVersion: string;\n\treadonly promptHash?: string;\n\treadonly planHash: string;\n\treadonly maxTokens: number;\n\treadonly responseReserveTokens: number;\n\treadonly safetyMarginTokens: number;\n\treadonly availableTokens: number;\n\treadonly usedTokens: number;\n\treadonly omittedTokens: number;\n\treadonly rawTokens: number;\n\treadonly tokenSavingsRatio: number;\n\treadonly emergency: boolean;\n\treadonly omittedHighPriority: boolean;\n\treadonly tierAllocations: readonly TierBudgetAllocationV2[];\n\treadonly selectedRepresentations: readonly SelectedRepresentationV2[];\n\treadonly includedItemIds: readonly string[];\n\treadonly omittedItemIds: readonly string[];\n\treadonly diagnostics: readonly QualityDiagnosticV2[];\n\treadonly retrievalFallbacks: readonly ContextSourceRefV2[];\n\treadonly observability: PromptContextBudgetObservabilityV2;\n}\n"]}
@@ -1,3 +1,3 @@
1
- import type { ThinkingLevel } from "@earendil-works/omk-agent-core";
1
+ import type { ThinkingLevel } from "omk-agent-core";
2
2
  export declare const DEFAULT_THINKING_LEVEL: ThinkingLevel;
3
3
  //# sourceMappingURL=defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/core/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,eAAO,MAAM,sBAAsB,EAAE,aAAwB,CAAC","sourcesContent":["import type { ThinkingLevel } from \"@earendil-works/omk-agent-core\";\n\nexport const DEFAULT_THINKING_LEVEL: ThinkingLevel = \"medium\";\n"]}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/core/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,eAAO,MAAM,sBAAsB,EAAE,aAAwB,CAAC","sourcesContent":["import type { ThinkingLevel } from \"omk-agent-core\";\n\nexport const DEFAULT_THINKING_LEVEL: ThinkingLevel = \"medium\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/core/defaults.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAkB,QAAQ,CAAC","sourcesContent":["import type { ThinkingLevel } from \"@earendil-works/omk-agent-core\";\n\nexport const DEFAULT_THINKING_LEVEL: ThinkingLevel = \"medium\";\n"]}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/core/defaults.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAkB,QAAQ,CAAC","sourcesContent":["import type { ThinkingLevel } from \"omk-agent-core\";\n\nexport const DEFAULT_THINKING_LEVEL: ThinkingLevel = \"medium\";\n"]}
@@ -5,6 +5,12 @@ export interface ResourceCollision {
5
5
  loserPath: string;
6
6
  winnerSource?: string;
7
7
  loserSource?: string;
8
+ winnerScope?: "user" | "project" | "temporary";
9
+ loserScope?: "user" | "project" | "temporary";
10
+ winnerOrigin?: "package" | "top-level";
11
+ loserOrigin?: "package" | "top-level";
12
+ resolutionReason?: string;
13
+ resolutionAction?: string;
8
14
  }
9
15
  export interface ResourceDiagnostic {
10
16
  type: "warning" | "error" | "collision";
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/core/diagnostics.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IACjC,YAAY,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC9B","sourcesContent":["export interface ResourceCollision {\n\tresourceType: \"extension\" | \"skill\" | \"prompt\" | \"theme\";\n\tname: string; // skill name, command/tool/flag name, prompt name, theme name\n\twinnerPath: string;\n\tloserPath: string;\n\twinnerSource?: string; // e.g., \"npm:foo\", \"git:...\", \"local\"\n\tloserSource?: string;\n}\n\nexport interface ResourceDiagnostic {\n\ttype: \"warning\" | \"error\" | \"collision\";\n\tmessage: string;\n\tpath?: string;\n\tcollision?: ResourceCollision;\n}\n"]}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/core/diagnostics.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IACjC,YAAY,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;IAC9C,YAAY,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACvC,WAAW,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC9B","sourcesContent":["export interface ResourceCollision {\n\tresourceType: \"extension\" | \"skill\" | \"prompt\" | \"theme\";\n\tname: string; // skill name, command/tool/flag name, prompt name, theme name\n\twinnerPath: string;\n\tloserPath: string;\n\twinnerSource?: string; // e.g., \"npm:foo\", \"git:...\", \"local\"\n\tloserSource?: string;\n\twinnerScope?: \"user\" | \"project\" | \"temporary\";\n\tloserScope?: \"user\" | \"project\" | \"temporary\";\n\twinnerOrigin?: \"package\" | \"top-level\";\n\tloserOrigin?: \"package\" | \"top-level\";\n\tresolutionReason?: string;\n\tresolutionAction?: string;\n}\n\nexport interface ResourceDiagnostic {\n\ttype: \"warning\" | \"error\" | \"collision\";\n\tmessage: string;\n\tpath?: string;\n\tcollision?: ResourceCollision;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/core/diagnostics.ts"],"names":[],"mappings":"","sourcesContent":["export interface ResourceCollision {\n\tresourceType: \"extension\" | \"skill\" | \"prompt\" | \"theme\";\n\tname: string; // skill name, command/tool/flag name, prompt name, theme name\n\twinnerPath: string;\n\tloserPath: string;\n\twinnerSource?: string; // e.g., \"npm:foo\", \"git:...\", \"local\"\n\tloserSource?: string;\n}\n\nexport interface ResourceDiagnostic {\n\ttype: \"warning\" | \"error\" | \"collision\";\n\tmessage: string;\n\tpath?: string;\n\tcollision?: ResourceCollision;\n}\n"]}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/core/diagnostics.ts"],"names":[],"mappings":"","sourcesContent":["export interface ResourceCollision {\n\tresourceType: \"extension\" | \"skill\" | \"prompt\" | \"theme\";\n\tname: string; // skill name, command/tool/flag name, prompt name, theme name\n\twinnerPath: string;\n\tloserPath: string;\n\twinnerSource?: string; // e.g., \"npm:foo\", \"git:...\", \"local\"\n\tloserSource?: string;\n\twinnerScope?: \"user\" | \"project\" | \"temporary\";\n\tloserScope?: \"user\" | \"project\" | \"temporary\";\n\twinnerOrigin?: \"package\" | \"top-level\";\n\tloserOrigin?: \"package\" | \"top-level\";\n\tresolutionReason?: string;\n\tresolutionAction?: string;\n}\n\nexport interface ResourceDiagnostic {\n\ttype: \"warning\" | \"error\" | \"collision\";\n\tmessage: string;\n\tpath?: string;\n\tcollision?: ResourceCollision;\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import type { DomainProfile, DomainScore, RouteResult } from "./domain-types.ts";
2
+ /** Score at/above which a domain is treated as a confident match. */
3
+ export declare const STRONG_THRESHOLD = 8;
4
+ /** Minimum non-zero score to avoid falling back to "general". */
5
+ export declare const WEAK_THRESHOLD = 4;
6
+ /** If the runner-up is within this margin of the leader (and leader < STRONG), flag ambiguous. */
7
+ export declare const AMBIGUITY_MARGIN = 2;
8
+ export declare function selectRoute(scores: readonly DomainScore[], registry: Readonly<Record<string, DomainProfile>>, fallbackDomainId?: string): RouteResult;
9
+ //# sourceMappingURL=domain-confidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-confidence.d.ts","sourceRoot":"","sources":["../../src/core/domain-confidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAmB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElG,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,iEAAiE;AACjE,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,kGAAkG;AAClG,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAUlC,wBAAgB,WAAW,CAC1B,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EACjD,gBAAgB,SAAY,GAC1B,WAAW,CA0Bb","sourcesContent":["import type { DomainProfile, DomainScore, RouteConfidence, RouteResult } from \"./domain-types.ts\";\n\n/** Score at/above which a domain is treated as a confident match. */\nexport const STRONG_THRESHOLD = 8;\n/** Minimum non-zero score to avoid falling back to \"general\". */\nexport const WEAK_THRESHOLD = 4;\n/** If the runner-up is within this margin of the leader (and leader < STRONG), flag ambiguous. */\nexport const AMBIGUITY_MARGIN = 2;\n\nfunction fallbackProfile(registry: Readonly<Record<string, DomainProfile>>, fallbackDomainId: string): DomainProfile {\n\tconst fallback = registry[fallbackDomainId];\n\tif (fallback) return fallback;\n\tconst firstProfile = Object.values(registry)[0];\n\tif (firstProfile) return firstProfile;\n\tthrow new Error(\"domain registry must contain at least one profile\");\n}\n\nexport function selectRoute(\n\tscores: readonly DomainScore[],\n\tregistry: Readonly<Record<string, DomainProfile>>,\n\tfallbackDomainId = \"general\",\n): RouteResult {\n\tconst fallback = fallbackProfile(registry, fallbackDomainId);\n\tif (scores.length === 0 || scores[0].score < WEAK_THRESHOLD) {\n\t\treturn {\n\t\t\tprimary: fallback,\n\t\t\tscores,\n\t\t\tconfidence: \"fallback\",\n\t\t\treason:\n\t\t\t\tscores.length === 0\n\t\t\t\t\t? \"no domain signals detected\"\n\t\t\t\t\t: `best signal (${scores[0].label}=${scores[0].score}) below weak threshold (${WEAK_THRESHOLD})`,\n\t\t\tambiguous: false,\n\t\t};\n\t}\n\n\tconst leader = scores[0];\n\tconst runner = scores[1];\n\tconst ambiguous =\n\t\trunner !== undefined && leader.score < STRONG_THRESHOLD && leader.score - runner.score <= AMBIGUITY_MARGIN;\n\tconst confidence: RouteConfidence = leader.score >= STRONG_THRESHOLD ? \"confident\" : \"tentative\";\n\tconst primary = registry[leader.id] ?? fallback;\n\tconst reason = ambiguous\n\t\t? `ambiguous: ${leader.label}(${leader.score}) vs ${runner.label}(${runner.score})`\n\t\t: `${leader.label} selected (${leader.score})`;\n\n\treturn { primary, scores, confidence, reason, ambiguous };\n}\n"]}
@@ -0,0 +1,39 @@
1
+ /** Score at/above which a domain is treated as a confident match. */
2
+ export const STRONG_THRESHOLD = 8;
3
+ /** Minimum non-zero score to avoid falling back to "general". */
4
+ export const WEAK_THRESHOLD = 4;
5
+ /** If the runner-up is within this margin of the leader (and leader < STRONG), flag ambiguous. */
6
+ export const AMBIGUITY_MARGIN = 2;
7
+ function fallbackProfile(registry, fallbackDomainId) {
8
+ const fallback = registry[fallbackDomainId];
9
+ if (fallback)
10
+ return fallback;
11
+ const firstProfile = Object.values(registry)[0];
12
+ if (firstProfile)
13
+ return firstProfile;
14
+ throw new Error("domain registry must contain at least one profile");
15
+ }
16
+ export function selectRoute(scores, registry, fallbackDomainId = "general") {
17
+ const fallback = fallbackProfile(registry, fallbackDomainId);
18
+ if (scores.length === 0 || scores[0].score < WEAK_THRESHOLD) {
19
+ return {
20
+ primary: fallback,
21
+ scores,
22
+ confidence: "fallback",
23
+ reason: scores.length === 0
24
+ ? "no domain signals detected"
25
+ : `best signal (${scores[0].label}=${scores[0].score}) below weak threshold (${WEAK_THRESHOLD})`,
26
+ ambiguous: false,
27
+ };
28
+ }
29
+ const leader = scores[0];
30
+ const runner = scores[1];
31
+ const ambiguous = runner !== undefined && leader.score < STRONG_THRESHOLD && leader.score - runner.score <= AMBIGUITY_MARGIN;
32
+ const confidence = leader.score >= STRONG_THRESHOLD ? "confident" : "tentative";
33
+ const primary = registry[leader.id] ?? fallback;
34
+ const reason = ambiguous
35
+ ? `ambiguous: ${leader.label}(${leader.score}) vs ${runner.label}(${runner.score})`
36
+ : `${leader.label} selected (${leader.score})`;
37
+ return { primary, scores, confidence, reason, ambiguous };
38
+ }
39
+ //# sourceMappingURL=domain-confidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-confidence.js","sourceRoot":"","sources":["../../src/core/domain-confidence.ts"],"names":[],"mappings":"AAEA,qEAAqE;AACrE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,iEAAiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,kGAAkG;AAClG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,SAAS,eAAe,CAAC,QAAiD,EAAE,gBAAwB,EAAiB;IACpH,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC5C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;AAAA,CACrE;AAED,MAAM,UAAU,WAAW,CAC1B,MAA8B,EAC9B,QAAiD,EACjD,gBAAgB,GAAG,SAAS,EACd;IACd,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,cAAc,EAAE,CAAC;QAC7D,OAAO;YACN,OAAO,EAAE,QAAQ;YACjB,MAAM;YACN,UAAU,EAAE,UAAU;YACtB,MAAM,EACL,MAAM,CAAC,MAAM,KAAK,CAAC;gBAClB,CAAC,CAAC,4BAA4B;gBAC9B,CAAC,CAAC,gBAAgB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,2BAA2B,cAAc,GAAG;YAClG,SAAS,EAAE,KAAK;SAChB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,SAAS,GACd,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,GAAG,gBAAgB,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAAC;IAC5G,MAAM,UAAU,GAAoB,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;IACjG,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;IAChD,MAAM,MAAM,GAAG,SAAS;QACvB,CAAC,CAAC,cAAc,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG;QACnF,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,cAAc,MAAM,CAAC,KAAK,GAAG,CAAC;IAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAAA,CAC1D","sourcesContent":["import type { DomainProfile, DomainScore, RouteConfidence, RouteResult } from \"./domain-types.ts\";\n\n/** Score at/above which a domain is treated as a confident match. */\nexport const STRONG_THRESHOLD = 8;\n/** Minimum non-zero score to avoid falling back to \"general\". */\nexport const WEAK_THRESHOLD = 4;\n/** If the runner-up is within this margin of the leader (and leader < STRONG), flag ambiguous. */\nexport const AMBIGUITY_MARGIN = 2;\n\nfunction fallbackProfile(registry: Readonly<Record<string, DomainProfile>>, fallbackDomainId: string): DomainProfile {\n\tconst fallback = registry[fallbackDomainId];\n\tif (fallback) return fallback;\n\tconst firstProfile = Object.values(registry)[0];\n\tif (firstProfile) return firstProfile;\n\tthrow new Error(\"domain registry must contain at least one profile\");\n}\n\nexport function selectRoute(\n\tscores: readonly DomainScore[],\n\tregistry: Readonly<Record<string, DomainProfile>>,\n\tfallbackDomainId = \"general\",\n): RouteResult {\n\tconst fallback = fallbackProfile(registry, fallbackDomainId);\n\tif (scores.length === 0 || scores[0].score < WEAK_THRESHOLD) {\n\t\treturn {\n\t\t\tprimary: fallback,\n\t\t\tscores,\n\t\t\tconfidence: \"fallback\",\n\t\t\treason:\n\t\t\t\tscores.length === 0\n\t\t\t\t\t? \"no domain signals detected\"\n\t\t\t\t\t: `best signal (${scores[0].label}=${scores[0].score}) below weak threshold (${WEAK_THRESHOLD})`,\n\t\t\tambiguous: false,\n\t\t};\n\t}\n\n\tconst leader = scores[0];\n\tconst runner = scores[1];\n\tconst ambiguous =\n\t\trunner !== undefined && leader.score < STRONG_THRESHOLD && leader.score - runner.score <= AMBIGUITY_MARGIN;\n\tconst confidence: RouteConfidence = leader.score >= STRONG_THRESHOLD ? \"confident\" : \"tentative\";\n\tconst primary = registry[leader.id] ?? fallback;\n\tconst reason = ambiguous\n\t\t? `ambiguous: ${leader.label}(${leader.score}) vs ${runner.label}(${runner.score})`\n\t\t: `${leader.label} selected (${leader.score})`;\n\n\treturn { primary, scores, confidence, reason, ambiguous };\n}\n"]}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Opt-in domain dispatch orchestration.
3
+ *
4
+ * Callers can invoke it to route an initial prompt, compose a role/domain
5
+ * loadout, apply it to the current runtime inventory, and receive an access
6
+ * policy suitable for existing AgentSession enforcement.
7
+ */
8
+ import type { ToolDefinition } from "./extensions/types.ts";
9
+ import type { LoadoutAccessPolicy } from "./loadout-access-policy.ts";
10
+ import { type CompositionTrace, type ScopeHints } from "./loadout-compose.ts";
11
+ import { type LoadoutRuntimeSession } from "./loadout-runtime.ts";
12
+ import type { LoadoutAuthority, LoadoutProfile, LoadoutRole } from "./loadouts.ts";
13
+ import type { ResourceLoader } from "./resource-loader.ts";
14
+ export interface DomainDispatchInput {
15
+ readonly role: LoadoutRole;
16
+ readonly initialPrompt: string;
17
+ readonly session: LoadoutRuntimeSession;
18
+ readonly resourceLoader: ResourceLoader;
19
+ readonly cwd: string;
20
+ readonly agentDir: string;
21
+ readonly grantAuthority?: LoadoutAuthority;
22
+ readonly scopeHints?: ScopeHints;
23
+ readonly env?: NodeJS.ProcessEnv | Readonly<Record<string, string | undefined>>;
24
+ readonly roleProfileOverride?: LoadoutProfile;
25
+ readonly blockedPaths?: readonly string[];
26
+ }
27
+ export interface DomainDispatchResult {
28
+ readonly loadoutAccessPolicy: LoadoutAccessPolicy | undefined;
29
+ readonly domainUsed: string | undefined;
30
+ readonly fallback: boolean;
31
+ readonly warnings: readonly string[];
32
+ readonly trace: CompositionTrace | undefined;
33
+ }
34
+ export interface DomainDispatchRuntimeSessionOptions {
35
+ readonly baseToolNames: readonly string[];
36
+ readonly resourceLoader: ResourceLoader;
37
+ readonly customTools?: readonly ToolDefinition[];
38
+ readonly allowedToolNames?: readonly string[];
39
+ readonly excludedToolNames?: readonly string[];
40
+ }
41
+ export declare function createDomainDispatchRuntimeSession(options: DomainDispatchRuntimeSessionOptions): LoadoutRuntimeSession;
42
+ export declare function isDomainRoutingEnabled(env?: NodeJS.ProcessEnv | Readonly<Record<string, string | undefined>>): boolean;
43
+ export declare function tryDomainDispatch(input: DomainDispatchInput): DomainDispatchResult;
44
+ //# sourceMappingURL=domain-dispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-dispatch.d.ts","sourceRoot":"","sources":["../../src/core/domain-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAEN,KAAK,gBAAgB,EAErB,KAAK,UAAU,EACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAyB,KAAK,qBAAqB,EAA4B,MAAM,sBAAsB,CAAC;AACnH,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAChF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,cAAc,CAAC;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,WAAW,mCAAmC;IACnD,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACjD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,wBAAgB,kCAAkC,CACjD,OAAO,EAAE,mCAAmC,GAC1C,qBAAqB,CA0BvB;AAED,wBAAgB,sBAAsB,CACrC,GAAG,GAAE,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,GACjF,OAAO,CAET;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAyClF","sourcesContent":["/**\n * Opt-in domain dispatch orchestration.\n *\n * Callers can invoke it to route an initial prompt, compose a role/domain\n * loadout, apply it to the current runtime inventory, and receive an access\n * policy suitable for existing AgentSession enforcement.\n */\n\nimport { routeDomain } from \"./domain-router.ts\";\nimport type { RegisteredTool, ToolDefinition } from \"./extensions/types.ts\";\nimport type { LoadoutAccessPolicy } from \"./loadout-access-policy.ts\";\nimport {\n\ttype ComposeLoadoutOptions,\n\ttype CompositionTrace,\n\tcomposeLoadout,\n\ttype ScopeHints,\n} from \"./loadout-compose.ts\";\nimport { createLoadoutPolicyFromRuntimeState, validatePolicyIntegrity } from \"./loadout-policy-bridge.ts\";\nimport { applyLoadoutToRuntime, type LoadoutRuntimeSession, type LoadoutRuntimeState } from \"./loadout-runtime.ts\";\nimport type { LoadoutAuthority, LoadoutProfile, LoadoutRole } from \"./loadouts.ts\";\nimport type { ResourceLoader } from \"./resource-loader.ts\";\n\nexport interface DomainDispatchInput {\n\treadonly role: LoadoutRole;\n\treadonly initialPrompt: string;\n\treadonly session: LoadoutRuntimeSession;\n\treadonly resourceLoader: ResourceLoader;\n\treadonly cwd: string;\n\treadonly agentDir: string;\n\treadonly grantAuthority?: LoadoutAuthority;\n\treadonly scopeHints?: ScopeHints;\n\treadonly env?: NodeJS.ProcessEnv | Readonly<Record<string, string | undefined>>;\n\treadonly roleProfileOverride?: LoadoutProfile;\n\treadonly blockedPaths?: readonly string[];\n}\n\nexport interface DomainDispatchResult {\n\treadonly loadoutAccessPolicy: LoadoutAccessPolicy | undefined;\n\treadonly domainUsed: string | undefined;\n\treadonly fallback: boolean;\n\treadonly warnings: readonly string[];\n\treadonly trace: CompositionTrace | undefined;\n}\n\nexport interface DomainDispatchRuntimeSessionOptions {\n\treadonly baseToolNames: readonly string[];\n\treadonly resourceLoader: ResourceLoader;\n\treadonly customTools?: readonly ToolDefinition[];\n\treadonly allowedToolNames?: readonly string[];\n\treadonly excludedToolNames?: readonly string[];\n}\n\nexport function createDomainDispatchRuntimeSession(\n\toptions: DomainDispatchRuntimeSessionOptions,\n): LoadoutRuntimeSession {\n\tconst allowedToolNameSet = options.allowedToolNames ? new Set(options.allowedToolNames) : undefined;\n\tconst excludedToolNameSet = options.excludedToolNames ? new Set(options.excludedToolNames) : undefined;\n\tconst isAllowedTool = (name: string): boolean =>\n\t\t(!allowedToolNameSet || allowedToolNameSet.has(name)) && !excludedToolNameSet?.has(name);\n\n\tconst base = new Map<string, ToolDefinition>();\n\tfor (const name of uniqueSorted(options.baseToolNames).filter(isAllowedTool)) {\n\t\tbase.set(name, { name } as unknown as ToolDefinition);\n\t}\n\n\tconst extensionToolsByName = new Map<string, RegisteredTool>();\n\tfor (const extension of options.resourceLoader.getExtensions().extensions) {\n\t\tfor (const tool of extension.tools.values()) {\n\t\t\tconst name = tool.definition.name;\n\t\t\tif (isAllowedTool(name) && !extensionToolsByName.has(name)) {\n\t\t\t\textensionToolsByName.set(name, tool);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\t_baseToolDefinitions: base,\n\t\t_extensionRunner: { getAllRegisteredTools: () => [...extensionToolsByName.values()] },\n\t\t_customTools: [...(options.customTools ?? [])].filter((tool) => isAllowedTool(tool.name)),\n\t};\n}\n\nexport function isDomainRoutingEnabled(\n\tenv: NodeJS.ProcessEnv | Readonly<Record<string, string | undefined>> = process.env,\n): boolean {\n\treturn env.OMK_DOMAIN_ROUTING === \"1\";\n}\n\nexport function tryDomainDispatch(input: DomainDispatchInput): DomainDispatchResult {\n\tif (!isDomainRoutingEnabled(input.env)) {\n\t\treturn noPolicy(false, [], undefined, undefined);\n\t}\n\n\tlet domainUsed: string | undefined;\n\tlet trace: CompositionTrace | undefined;\n\ttry {\n\t\tconst route = routeDomain({ task: input.initialPrompt });\n\t\tdomainUsed = route.primary.id;\n\t\tconst composeOptions: ComposeLoadoutOptions = {\n\t\t\tgrantAuthority: input.grantAuthority,\n\t\t\tscopeHints: input.scopeHints,\n\t\t\troleProfileOverride: input.roleProfileOverride,\n\t\t};\n\t\tconst profile = composeLoadout(input.role, route.primary, composeOptions);\n\t\ttrace = profile.composition;\n\t\tconst state = applyLoadoutToRuntime(input.session, input.resourceLoader, input.cwd, input.agentDir, {\n\t\t\tprofile,\n\t\t\trole: input.role,\n\t\t\tgrantAuthority: input.grantAuthority,\n\t\t\tassignedReadPaths: input.scopeHints?.readScope,\n\t\t\tassignedWritePaths: input.scopeHints?.writeScope,\n\t\t});\n\t\tconst policy = createPolicyOrThrow(state, profile.commands, input.cwd, input.blockedPaths);\n\t\tconst integrity = validatePolicyIntegrity(policy, state);\n\t\treturn {\n\t\t\tloadoutAccessPolicy: policy,\n\t\t\tdomainUsed,\n\t\t\tfallback: route.confidence === \"fallback\",\n\t\t\twarnings: uniqueSorted([\n\t\t\t\t...routeWarnings(route),\n\t\t\t\t...profile.composition.warnings,\n\t\t\t\t...state.warnings,\n\t\t\t\t...integrity.warnings,\n\t\t\t]),\n\t\t\ttrace,\n\t\t};\n\t} catch (error) {\n\t\treturn noPolicy(true, [errorMessage(error)], domainUsed, trace);\n\t}\n}\n\nfunction createPolicyOrThrow(\n\tstate: LoadoutRuntimeState,\n\tcommands: LoadoutProfile[\"commands\"],\n\tcwd: string,\n\tblockedPaths: readonly string[] | undefined,\n): LoadoutAccessPolicy {\n\treturn createLoadoutPolicyFromRuntimeState(state, {\n\t\tcwd,\n\t\tblockedPaths,\n\t\tcommands,\n\t});\n}\n\nfunction noPolicy(\n\tfallback: boolean,\n\twarnings: readonly string[],\n\tdomainUsed: string | undefined,\n\ttrace: CompositionTrace | undefined,\n): DomainDispatchResult {\n\treturn {\n\t\tloadoutAccessPolicy: undefined,\n\t\tdomainUsed,\n\t\tfallback,\n\t\twarnings: uniqueSorted(warnings),\n\t\ttrace,\n\t};\n}\n\nfunction routeWarnings(route: ReturnType<typeof routeDomain>): string[] {\n\tconst warnings: string[] = [];\n\tif (route.ambiguous) warnings.push(route.reason);\n\tif (route.confidence === \"fallback\") warnings.push(route.reason);\n\treturn warnings;\n}\n\nfunction errorMessage(error: unknown): string {\n\tif (error instanceof Error) return error.message;\n\treturn String(error);\n}\n\nfunction uniqueSorted(values: readonly string[]): string[] {\n\treturn [...new Set(values.map((value) => value.trim()).filter((value) => value !== \"\"))].sort((a, b) => {\n\t\tif (a < b) return -1;\n\t\tif (a > b) return 1;\n\t\treturn 0;\n\t});\n}\n"]}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Opt-in domain dispatch orchestration.
3
+ *
4
+ * Callers can invoke it to route an initial prompt, compose a role/domain
5
+ * loadout, apply it to the current runtime inventory, and receive an access
6
+ * policy suitable for existing AgentSession enforcement.
7
+ */
8
+ import { routeDomain } from "./domain-router.js";
9
+ import { composeLoadout, } from "./loadout-compose.js";
10
+ import { createLoadoutPolicyFromRuntimeState, validatePolicyIntegrity } from "./loadout-policy-bridge.js";
11
+ import { applyLoadoutToRuntime } from "./loadout-runtime.js";
12
+ export function createDomainDispatchRuntimeSession(options) {
13
+ const allowedToolNameSet = options.allowedToolNames ? new Set(options.allowedToolNames) : undefined;
14
+ const excludedToolNameSet = options.excludedToolNames ? new Set(options.excludedToolNames) : undefined;
15
+ const isAllowedTool = (name) => (!allowedToolNameSet || allowedToolNameSet.has(name)) && !excludedToolNameSet?.has(name);
16
+ const base = new Map();
17
+ for (const name of uniqueSorted(options.baseToolNames).filter(isAllowedTool)) {
18
+ base.set(name, { name });
19
+ }
20
+ const extensionToolsByName = new Map();
21
+ for (const extension of options.resourceLoader.getExtensions().extensions) {
22
+ for (const tool of extension.tools.values()) {
23
+ const name = tool.definition.name;
24
+ if (isAllowedTool(name) && !extensionToolsByName.has(name)) {
25
+ extensionToolsByName.set(name, tool);
26
+ }
27
+ }
28
+ }
29
+ return {
30
+ _baseToolDefinitions: base,
31
+ _extensionRunner: { getAllRegisteredTools: () => [...extensionToolsByName.values()] },
32
+ _customTools: [...(options.customTools ?? [])].filter((tool) => isAllowedTool(tool.name)),
33
+ };
34
+ }
35
+ export function isDomainRoutingEnabled(env = process.env) {
36
+ return env.OMK_DOMAIN_ROUTING === "1";
37
+ }
38
+ export function tryDomainDispatch(input) {
39
+ if (!isDomainRoutingEnabled(input.env)) {
40
+ return noPolicy(false, [], undefined, undefined);
41
+ }
42
+ let domainUsed;
43
+ let trace;
44
+ try {
45
+ const route = routeDomain({ task: input.initialPrompt });
46
+ domainUsed = route.primary.id;
47
+ const composeOptions = {
48
+ grantAuthority: input.grantAuthority,
49
+ scopeHints: input.scopeHints,
50
+ roleProfileOverride: input.roleProfileOverride,
51
+ };
52
+ const profile = composeLoadout(input.role, route.primary, composeOptions);
53
+ trace = profile.composition;
54
+ const state = applyLoadoutToRuntime(input.session, input.resourceLoader, input.cwd, input.agentDir, {
55
+ profile,
56
+ role: input.role,
57
+ grantAuthority: input.grantAuthority,
58
+ assignedReadPaths: input.scopeHints?.readScope,
59
+ assignedWritePaths: input.scopeHints?.writeScope,
60
+ });
61
+ const policy = createPolicyOrThrow(state, profile.commands, input.cwd, input.blockedPaths);
62
+ const integrity = validatePolicyIntegrity(policy, state);
63
+ return {
64
+ loadoutAccessPolicy: policy,
65
+ domainUsed,
66
+ fallback: route.confidence === "fallback",
67
+ warnings: uniqueSorted([
68
+ ...routeWarnings(route),
69
+ ...profile.composition.warnings,
70
+ ...state.warnings,
71
+ ...integrity.warnings,
72
+ ]),
73
+ trace,
74
+ };
75
+ }
76
+ catch (error) {
77
+ return noPolicy(true, [errorMessage(error)], domainUsed, trace);
78
+ }
79
+ }
80
+ function createPolicyOrThrow(state, commands, cwd, blockedPaths) {
81
+ return createLoadoutPolicyFromRuntimeState(state, {
82
+ cwd,
83
+ blockedPaths,
84
+ commands,
85
+ });
86
+ }
87
+ function noPolicy(fallback, warnings, domainUsed, trace) {
88
+ return {
89
+ loadoutAccessPolicy: undefined,
90
+ domainUsed,
91
+ fallback,
92
+ warnings: uniqueSorted(warnings),
93
+ trace,
94
+ };
95
+ }
96
+ function routeWarnings(route) {
97
+ const warnings = [];
98
+ if (route.ambiguous)
99
+ warnings.push(route.reason);
100
+ if (route.confidence === "fallback")
101
+ warnings.push(route.reason);
102
+ return warnings;
103
+ }
104
+ function errorMessage(error) {
105
+ if (error instanceof Error)
106
+ return error.message;
107
+ return String(error);
108
+ }
109
+ function uniqueSorted(values) {
110
+ return [...new Set(values.map((value) => value.trim()).filter((value) => value !== ""))].sort((a, b) => {
111
+ if (a < b)
112
+ return -1;
113
+ if (a > b)
114
+ return 1;
115
+ return 0;
116
+ });
117
+ }
118
+ //# sourceMappingURL=domain-dispatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-dispatch.js","sourceRoot":"","sources":["../../src/core/domain-dispatch.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Opt-in domain dispatch orchestration.\n *\n * Callers can invoke it to route an initial prompt, compose a role/domain\n * loadout, apply it to the current runtime inventory, and receive an access\n * policy suitable for existing AgentSession enforcement.\n */\n\nimport { routeDomain } from \"./domain-router.ts\";\nimport type { RegisteredTool, ToolDefinition } from \"./extensions/types.ts\";\nimport type { LoadoutAccessPolicy } from \"./loadout-access-policy.ts\";\nimport {\n\ttype ComposeLoadoutOptions,\n\ttype CompositionTrace,\n\tcomposeLoadout,\n\ttype ScopeHints,\n} from \"./loadout-compose.ts\";\nimport { createLoadoutPolicyFromRuntimeState, validatePolicyIntegrity } from \"./loadout-policy-bridge.ts\";\nimport { applyLoadoutToRuntime, type LoadoutRuntimeSession, type LoadoutRuntimeState } from \"./loadout-runtime.ts\";\nimport type { LoadoutAuthority, LoadoutProfile, LoadoutRole } from \"./loadouts.ts\";\nimport type { ResourceLoader } from \"./resource-loader.ts\";\n\nexport interface DomainDispatchInput {\n\treadonly role: LoadoutRole;\n\treadonly initialPrompt: string;\n\treadonly session: LoadoutRuntimeSession;\n\treadonly resourceLoader: ResourceLoader;\n\treadonly cwd: string;\n\treadonly agentDir: string;\n\treadonly grantAuthority?: LoadoutAuthority;\n\treadonly scopeHints?: ScopeHints;\n\treadonly env?: NodeJS.ProcessEnv | Readonly<Record<string, string | undefined>>;\n\treadonly roleProfileOverride?: LoadoutProfile;\n\treadonly blockedPaths?: readonly string[];\n}\n\nexport interface DomainDispatchResult {\n\treadonly loadoutAccessPolicy: LoadoutAccessPolicy | undefined;\n\treadonly domainUsed: string | undefined;\n\treadonly fallback: boolean;\n\treadonly warnings: readonly string[];\n\treadonly trace: CompositionTrace | undefined;\n}\n\nexport interface DomainDispatchRuntimeSessionOptions {\n\treadonly baseToolNames: readonly string[];\n\treadonly resourceLoader: ResourceLoader;\n\treadonly customTools?: readonly ToolDefinition[];\n\treadonly allowedToolNames?: readonly string[];\n\treadonly excludedToolNames?: readonly string[];\n}\n\nexport function createDomainDispatchRuntimeSession(\n\toptions: DomainDispatchRuntimeSessionOptions,\n): LoadoutRuntimeSession {\n\tconst allowedToolNameSet = options.allowedToolNames ? new Set(options.allowedToolNames) : undefined;\n\tconst excludedToolNameSet = options.excludedToolNames ? new Set(options.excludedToolNames) : undefined;\n\tconst isAllowedTool = (name: string): boolean =>\n\t\t(!allowedToolNameSet || allowedToolNameSet.has(name)) && !excludedToolNameSet?.has(name);\n\n\tconst base = new Map<string, ToolDefinition>();\n\tfor (const name of uniqueSorted(options.baseToolNames).filter(isAllowedTool)) {\n\t\tbase.set(name, { name } as unknown as ToolDefinition);\n\t}\n\n\tconst extensionToolsByName = new Map<string, RegisteredTool>();\n\tfor (const extension of options.resourceLoader.getExtensions().extensions) {\n\t\tfor (const tool of extension.tools.values()) {\n\t\t\tconst name = tool.definition.name;\n\t\t\tif (isAllowedTool(name) && !extensionToolsByName.has(name)) {\n\t\t\t\textensionToolsByName.set(name, tool);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\t_baseToolDefinitions: base,\n\t\t_extensionRunner: { getAllRegisteredTools: () => [...extensionToolsByName.values()] },\n\t\t_customTools: [...(options.customTools ?? [])].filter((tool) => isAllowedTool(tool.name)),\n\t};\n}\n\nexport function isDomainRoutingEnabled(\n\tenv: NodeJS.ProcessEnv | Readonly<Record<string, string | undefined>> = process.env,\n): boolean {\n\treturn env.OMK_DOMAIN_ROUTING === \"1\";\n}\n\nexport function tryDomainDispatch(input: DomainDispatchInput): DomainDispatchResult {\n\tif (!isDomainRoutingEnabled(input.env)) {\n\t\treturn noPolicy(false, [], undefined, undefined);\n\t}\n\n\tlet domainUsed: string | undefined;\n\tlet trace: CompositionTrace | undefined;\n\ttry {\n\t\tconst route = routeDomain({ task: input.initialPrompt });\n\t\tdomainUsed = route.primary.id;\n\t\tconst composeOptions: ComposeLoadoutOptions = {\n\t\t\tgrantAuthority: input.grantAuthority,\n\t\t\tscopeHints: input.scopeHints,\n\t\t\troleProfileOverride: input.roleProfileOverride,\n\t\t};\n\t\tconst profile = composeLoadout(input.role, route.primary, composeOptions);\n\t\ttrace = profile.composition;\n\t\tconst state = applyLoadoutToRuntime(input.session, input.resourceLoader, input.cwd, input.agentDir, {\n\t\t\tprofile,\n\t\t\trole: input.role,\n\t\t\tgrantAuthority: input.grantAuthority,\n\t\t\tassignedReadPaths: input.scopeHints?.readScope,\n\t\t\tassignedWritePaths: input.scopeHints?.writeScope,\n\t\t});\n\t\tconst policy = createPolicyOrThrow(state, profile.commands, input.cwd, input.blockedPaths);\n\t\tconst integrity = validatePolicyIntegrity(policy, state);\n\t\treturn {\n\t\t\tloadoutAccessPolicy: policy,\n\t\t\tdomainUsed,\n\t\t\tfallback: route.confidence === \"fallback\",\n\t\t\twarnings: uniqueSorted([\n\t\t\t\t...routeWarnings(route),\n\t\t\t\t...profile.composition.warnings,\n\t\t\t\t...state.warnings,\n\t\t\t\t...integrity.warnings,\n\t\t\t]),\n\t\t\ttrace,\n\t\t};\n\t} catch (error) {\n\t\treturn noPolicy(true, [errorMessage(error)], domainUsed, trace);\n\t}\n}\n\nfunction createPolicyOrThrow(\n\tstate: LoadoutRuntimeState,\n\tcommands: LoadoutProfile[\"commands\"],\n\tcwd: string,\n\tblockedPaths: readonly string[] | undefined,\n): LoadoutAccessPolicy {\n\treturn createLoadoutPolicyFromRuntimeState(state, {\n\t\tcwd,\n\t\tblockedPaths,\n\t\tcommands,\n\t});\n}\n\nfunction noPolicy(\n\tfallback: boolean,\n\twarnings: readonly string[],\n\tdomainUsed: string | undefined,\n\ttrace: CompositionTrace | undefined,\n): DomainDispatchResult {\n\treturn {\n\t\tloadoutAccessPolicy: undefined,\n\t\tdomainUsed,\n\t\tfallback,\n\t\twarnings: uniqueSorted(warnings),\n\t\ttrace,\n\t};\n}\n\nfunction routeWarnings(route: ReturnType<typeof routeDomain>): string[] {\n\tconst warnings: string[] = [];\n\tif (route.ambiguous) warnings.push(route.reason);\n\tif (route.confidence === \"fallback\") warnings.push(route.reason);\n\treturn warnings;\n}\n\nfunction errorMessage(error: unknown): string {\n\tif (error instanceof Error) return error.message;\n\treturn String(error);\n}\n\nfunction uniqueSorted(values: readonly string[]): string[] {\n\treturn [...new Set(values.map((value) => value.trim()).filter((value) => value !== \"\"))].sort((a, b) => {\n\t\tif (a < b) return -1;\n\t\tif (a > b) return 1;\n\t\treturn 0;\n\t});\n}\n"]}