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
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-graph-identity-resolution.d.ts","sourceRoot":"","sources":["../../src/core/context-graph-identity-resolution.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\n\nexport type Sha256 = string;\nexport type WorkspaceId = string;\nexport type RepositoryId = string;\nexport type LogicalId = string;\nexport type RevisionId = string;\n\nexport type SourceKind =\n\t| \"compiler\"\n\t| \"test\"\n\t| \"git\"\n\t| \"tree_sitter\"\n\t| \"understand_anything\"\n\t| \"user\"\n\t| \"document\"\n\t| \"llm\"\n\t| \"heuristic\";\n\nexport interface IdentityKeyInput {\n\treadonly workspaceId: WorkspaceId;\n\treadonly repositoryId: RepositoryId;\n\treadonly branch: string;\n\treadonly classIri: string;\n\treadonly sourceKind: SourceKind;\n\treadonly identityNamespace: string;\n\treadonly qualifiedName: string;\n\treadonly normalizedSignature: string;\n\t/** Retained for callers, but ignored for symbol identity when namespace/name/signature exist. */\n\treadonly filePath?: string;\n}\n\nexport interface RevisionKeyInput {\n\treadonly logicalId: LogicalId;\n\treadonly revisionSourceSha: string;\n\treadonly structuralHash: Sha256;\n}\n\nexport interface StructuralFingerprintMetrics {\n\treadonly astNodeCount: number;\n\treadonly exportedSymbolCount: number;\n\treadonly importCount: number;\n\treadonly relationCount: number;\n\treadonly lineCount?: number;\n}\n\nexport interface StructuralFingerprintInput {\n\treadonly classIri: string;\n\treadonly sourceKind: SourceKind;\n\treadonly normalizedContent?: string;\n\treadonly astTokens: readonly string[];\n\treadonly publicApiTokens: readonly string[];\n\treadonly relationTokens: readonly string[];\n\treadonly importTokens?: readonly string[];\n\treadonly exportTokens?: readonly string[];\n\treadonly summaryTokens?: readonly string[];\n\treadonly metrics: StructuralFingerprintMetrics;\n}\n\nexport interface StructuralFingerprint {\n\treadonly version: \"omk.ontology.fingerprint.v1\";\n\treadonly extractor: \"ua-tree-sitter-normalized-v1\";\n\treadonly classIri: string;\n\treadonly sourceKind: SourceKind;\n\treadonly strictContentHash?: Sha256;\n\treadonly structuralHash: Sha256;\n\treadonly publicApiHash: Sha256;\n\treadonly relationShapeHash: Sha256;\n\treadonly importHash?: Sha256;\n\treadonly exportHash?: Sha256;\n\treadonly textSummaryHash?: Sha256;\n\treadonly metrics: StructuralFingerprintMetrics;\n}\n\nexport interface IdentitySimilarityFeatures {\n\treadonly strictContentEqual: boolean;\n\treadonly structuralEqual: boolean;\n\treadonly publicApiEqual: boolean;\n\treadonly normalizedSignatureSimilarity: number;\n\treadonly relationShapeSimilarity: number;\n\treadonly nameSimilarity: number;\n\treadonly pathSimilarity: number;\n\treadonly parentScopeSimilarity: number;\n\treadonly sizeSimilarity: number;\n\treadonly gitRenameHint: boolean;\n}\n\nexport interface IdentityDecisionThresholds {\n\treadonly autoSameAs: number;\n\treadonly possibleSameAs: number;\n}\n\nexport interface IdentityResolutionCandidate {\n\treadonly logicalId: LogicalId;\n\treadonly score: number;\n}\n\nexport interface IdentityAlias {\n\treadonly fromLogicalId: LogicalId;\n\treadonly toLogicalId: LogicalId;\n\treadonly confidence: number;\n\treadonly relation: \"sameAs\" | \"renamedTo\";\n}\n\nexport interface IdentityResolutionInput {\n\treadonly currentLogicalId: LogicalId;\n\treadonly previousLogicalIds: readonly LogicalId[];\n\treadonly aliases: readonly IdentityAlias[];\n\treadonly candidates: readonly IdentityResolutionCandidate[];\n\treadonly thresholds?: Partial<IdentityDecisionThresholds>;\n}\n\nexport type IdentityResolutionDecision =\n\t| {\n\t\t\treadonly kind: \"sameAs\";\n\t\t\treadonly reason: \"exact\" | \"alias\" | \"merge\";\n\t\t\treadonly logicalId: LogicalId;\n\t\t\treadonly confidence: number;\n\t }\n\t| {\n\t\t\treadonly kind: \"possibleSameAs\";\n\t\t\treadonly candidates: readonly IdentityResolutionCandidate[];\n\t\t\treadonly confidence: number;\n\t }\n\t| {\n\t\t\treadonly kind: \"new\";\n\t\t\treadonly logicalId: LogicalId;\n\t\t\treadonly confidence: 0;\n\t };\n\nexport const IDENTITY_ALGORITHM_VERSION = \"omk.ontology.identity.v1\";\nexport const FINGERPRINT_ALGORITHM_VERSION = \"omk.ontology.fingerprint.v1\";\n\nexport const DEFAULT_IDENTITY_DECISION_THRESHOLDS: IdentityDecisionThresholds = {\n\tautoSameAs: 0.92,\n\tpossibleSameAs: 0.78,\n};\n\nexport const canonicalText = (value: string): string =>\n\tvalue.normalize(\"NFKC\").replace(/\\\\/g, \"/\").replace(/\\s+/g, \" \").replace(/^\\.\\//, \"\").trim();\n\nexport const makeLogicalId = (input: IdentityKeyInput): LogicalId => {\n\tconst tuple = [\n\t\t\"omk.logical.v1\",\n\t\tcanonicalText(input.workspaceId),\n\t\tcanonicalText(input.repositoryId),\n\t\tcanonicalText(input.branch),\n\t\tcanonicalText(input.classIri),\n\t\tcanonicalText(input.sourceKind),\n\t\tcanonicalText(input.identityNamespace),\n\t\tmakeQualifiedIdentityName(input),\n\t\tcanonicalText(input.normalizedSignature),\n\t];\n\n\treturn `log_${sha256Hex(tuple.join(\"\\0\"))}`;\n};\n\nexport const makeRevisionId = (input: RevisionKeyInput): RevisionId => {\n\tconst tuple = [\n\t\t\"omk.revision.v1\",\n\t\tcanonicalText(input.logicalId),\n\t\tcanonicalText(input.revisionSourceSha),\n\t\tcanonicalText(input.structuralHash),\n\t];\n\n\treturn `rev_${sha256Hex(tuple.join(\"\\0\"))}`;\n};\n\nexport const buildStructuralFingerprint = (input: StructuralFingerprintInput): StructuralFingerprint => {\n\tconst strictContentHash = input.normalizedContent\n\t\t? sha256Hex([\"omk.content.v1\", normalizeLf(input.normalizedContent)].join(\"\\0\"))\n\t\t: undefined;\n\n\treturn {\n\t\tversion: FINGERPRINT_ALGORITHM_VERSION,\n\t\textractor: \"ua-tree-sitter-normalized-v1\",\n\t\tclassIri: canonicalText(input.classIri),\n\t\tsourceKind: input.sourceKind,\n\t\tstrictContentHash,\n\t\tstructuralHash: hashTokens(\"omk.structure.v1\", [input.classIri, ...input.astTokens]),\n\t\tpublicApiHash: hashTokens(\"omk.public-api.v1\", [input.classIri, ...input.publicApiTokens]),\n\t\trelationShapeHash: hashTokens(\"omk.relation-shape.v1\", input.relationTokens),\n\t\timportHash: hashOptionalTokens(\"omk.imports.v1\", input.importTokens),\n\t\texportHash: hashOptionalTokens(\"omk.exports.v1\", input.exportTokens),\n\t\ttextSummaryHash: hashOptionalTokens(\"omk.summary.v1\", input.summaryTokens),\n\t\tmetrics: { ...input.metrics },\n\t};\n};\n\nexport const calculateIdentitySimilarity = (features: IdentitySimilarityFeatures): number => {\n\tif (features.strictContentEqual) return 1;\n\n\tconst score =\n\t\t(features.structuralEqual ? 0.35 : 0) +\n\t\t(features.publicApiEqual ? 0.18 : 0) +\n\t\t0.12 * clamp01(features.normalizedSignatureSimilarity) +\n\t\t0.1 * clamp01(features.relationShapeSimilarity) +\n\t\t0.1 * clamp01(features.nameSimilarity) +\n\t\t0.08 * clamp01(features.pathSimilarity) +\n\t\t0.05 * clamp01(features.parentScopeSimilarity) +\n\t\t0.02 * clamp01(features.sizeSimilarity) +\n\t\t(features.gitRenameHint ? 0.1 : 0);\n\n\treturn clamp01(score);\n};\n\nexport const identitySimilarity = calculateIdentitySimilarity;\n\nexport const resolveIdentity = (input: IdentityResolutionInput): IdentityResolutionDecision => {\n\tconst thresholds = { ...DEFAULT_IDENTITY_DECISION_THRESHOLDS, ...input.thresholds };\n\tconst exactMatch = sortLogicalIds(input.previousLogicalIds).find(\n\t\t(logicalId) => logicalId === input.currentLogicalId,\n\t);\n\tif (exactMatch) return { kind: \"sameAs\", reason: \"exact\", logicalId: exactMatch, confidence: 1 };\n\n\tconst acceptedAlias = sortAliases(input.aliases).find(\n\t\t(alias) => alias.toLogicalId === input.currentLogicalId && alias.confidence >= thresholds.autoSameAs,\n\t);\n\tif (acceptedAlias) {\n\t\treturn {\n\t\t\tkind: \"sameAs\",\n\t\t\treason: \"alias\",\n\t\t\tlogicalId: acceptedAlias.fromLogicalId,\n\t\t\tconfidence: clamp01(acceptedAlias.confidence),\n\t\t};\n\t}\n\n\tconst sortedCandidates = sortCandidates(input.candidates);\n\tconst best = sortedCandidates[0];\n\tif (!best) return { kind: \"new\", logicalId: input.currentLogicalId, confidence: 0 };\n\tif (best.score >= thresholds.autoSameAs) {\n\t\treturn { kind: \"sameAs\", reason: \"merge\", logicalId: best.logicalId, confidence: clamp01(best.score) };\n\t}\n\tif (best.score >= thresholds.possibleSameAs) {\n\t\treturn {\n\t\t\tkind: \"possibleSameAs\",\n\t\t\tcandidates: sortedCandidates.filter((candidate) => candidate.score >= thresholds.possibleSameAs),\n\t\t\tconfidence: clamp01(best.score),\n\t\t};\n\t}\n\treturn { kind: \"new\", logicalId: input.currentLogicalId, confidence: 0 };\n};\n\nconst makeQualifiedIdentityName = (input: IdentityKeyInput): string => {\n\tconst qualifiedName = canonicalText(input.qualifiedName);\n\tif (qualifiedName || isSymbolClass(input.classIri)) return qualifiedName;\n\treturn canonicalText(input.filePath ?? \"\");\n};\n\nconst isSymbolClass = (classIri: string): boolean => canonicalText(classIri).endsWith(\"Symbol\");\n\nconst sha256Hex = (value: string): Sha256 => createHash(\"sha256\").update(value, \"utf8\").digest(\"hex\");\n\nconst normalizeLf = (value: string): string => value.replace(/\\r\\n?/g, \"\\n\");\n\nconst hashTokens = (version: string, tokens: readonly string[]): Sha256 => {\n\tconst canonicalTokens = tokens\n\t\t.map(canonicalText)\n\t\t.filter((token) => token.length > 0)\n\t\t.sort();\n\treturn sha256Hex([version, ...canonicalTokens].join(\"\\0\"));\n};\n\nconst hashOptionalTokens = (version: string, tokens: readonly string[] | undefined): Sha256 | undefined => {\n\tif (!tokens || tokens.length === 0) return undefined;\n\treturn hashTokens(version, tokens);\n};\n\nconst clamp01 = (value: number): number => {\n\tif (Number.isNaN(value) || value <= 0) return 0;\n\tif (value >= 1) return 1;\n\treturn value;\n};\n\nconst sortLogicalIds = (logicalIds: readonly LogicalId[]): LogicalId[] =>\n\t[...logicalIds].sort((a, b) => a.localeCompare(b));\n\nconst sortAliases = (aliases: readonly IdentityAlias[]): IdentityAlias[] =>\n\t[...aliases].sort((a, b) => b.confidence - a.confidence || a.fromLogicalId.localeCompare(b.fromLogicalId));\n\nconst sortCandidates = (candidates: readonly IdentityResolutionCandidate[]): IdentityResolutionCandidate[] =>\n\t[...candidates].sort((a, b) => b.score - a.score || a.logicalId.localeCompare(b.logicalId));\n"]}
@@ -1,127 +0,0 @@
1
- import { createHash } from "node:crypto";
2
- export const IDENTITY_ALGORITHM_VERSION = "omk.ontology.identity.v1";
3
- export const FINGERPRINT_ALGORITHM_VERSION = "omk.ontology.fingerprint.v1";
4
- export const DEFAULT_IDENTITY_DECISION_THRESHOLDS = {
5
- autoSameAs: 0.92,
6
- possibleSameAs: 0.78,
7
- };
8
- export const canonicalText = (value) => value.normalize("NFKC").replace(/\\/g, "/").replace(/\s+/g, " ").replace(/^\.\//, "").trim();
9
- export const makeLogicalId = (input) => {
10
- const tuple = [
11
- "omk.logical.v1",
12
- canonicalText(input.workspaceId),
13
- canonicalText(input.repositoryId),
14
- canonicalText(input.branch),
15
- canonicalText(input.classIri),
16
- canonicalText(input.sourceKind),
17
- canonicalText(input.identityNamespace),
18
- makeQualifiedIdentityName(input),
19
- canonicalText(input.normalizedSignature),
20
- ];
21
- return `log_${sha256Hex(tuple.join("\0"))}`;
22
- };
23
- export const makeRevisionId = (input) => {
24
- const tuple = [
25
- "omk.revision.v1",
26
- canonicalText(input.logicalId),
27
- canonicalText(input.revisionSourceSha),
28
- canonicalText(input.structuralHash),
29
- ];
30
- return `rev_${sha256Hex(tuple.join("\0"))}`;
31
- };
32
- export const buildStructuralFingerprint = (input) => {
33
- const strictContentHash = input.normalizedContent
34
- ? sha256Hex(["omk.content.v1", normalizeLf(input.normalizedContent)].join("\0"))
35
- : undefined;
36
- return {
37
- version: FINGERPRINT_ALGORITHM_VERSION,
38
- extractor: "ua-tree-sitter-normalized-v1",
39
- classIri: canonicalText(input.classIri),
40
- sourceKind: input.sourceKind,
41
- strictContentHash,
42
- structuralHash: hashTokens("omk.structure.v1", [input.classIri, ...input.astTokens]),
43
- publicApiHash: hashTokens("omk.public-api.v1", [input.classIri, ...input.publicApiTokens]),
44
- relationShapeHash: hashTokens("omk.relation-shape.v1", input.relationTokens),
45
- importHash: hashOptionalTokens("omk.imports.v1", input.importTokens),
46
- exportHash: hashOptionalTokens("omk.exports.v1", input.exportTokens),
47
- textSummaryHash: hashOptionalTokens("omk.summary.v1", input.summaryTokens),
48
- metrics: { ...input.metrics },
49
- };
50
- };
51
- export const calculateIdentitySimilarity = (features) => {
52
- if (features.strictContentEqual)
53
- return 1;
54
- const score = (features.structuralEqual ? 0.35 : 0) +
55
- (features.publicApiEqual ? 0.18 : 0) +
56
- 0.12 * clamp01(features.normalizedSignatureSimilarity) +
57
- 0.1 * clamp01(features.relationShapeSimilarity) +
58
- 0.1 * clamp01(features.nameSimilarity) +
59
- 0.08 * clamp01(features.pathSimilarity) +
60
- 0.05 * clamp01(features.parentScopeSimilarity) +
61
- 0.02 * clamp01(features.sizeSimilarity) +
62
- (features.gitRenameHint ? 0.1 : 0);
63
- return clamp01(score);
64
- };
65
- export const identitySimilarity = calculateIdentitySimilarity;
66
- export const resolveIdentity = (input) => {
67
- const thresholds = { ...DEFAULT_IDENTITY_DECISION_THRESHOLDS, ...input.thresholds };
68
- const exactMatch = sortLogicalIds(input.previousLogicalIds).find((logicalId) => logicalId === input.currentLogicalId);
69
- if (exactMatch)
70
- return { kind: "sameAs", reason: "exact", logicalId: exactMatch, confidence: 1 };
71
- const acceptedAlias = sortAliases(input.aliases).find((alias) => alias.toLogicalId === input.currentLogicalId && alias.confidence >= thresholds.autoSameAs);
72
- if (acceptedAlias) {
73
- return {
74
- kind: "sameAs",
75
- reason: "alias",
76
- logicalId: acceptedAlias.fromLogicalId,
77
- confidence: clamp01(acceptedAlias.confidence),
78
- };
79
- }
80
- const sortedCandidates = sortCandidates(input.candidates);
81
- const best = sortedCandidates[0];
82
- if (!best)
83
- return { kind: "new", logicalId: input.currentLogicalId, confidence: 0 };
84
- if (best.score >= thresholds.autoSameAs) {
85
- return { kind: "sameAs", reason: "merge", logicalId: best.logicalId, confidence: clamp01(best.score) };
86
- }
87
- if (best.score >= thresholds.possibleSameAs) {
88
- return {
89
- kind: "possibleSameAs",
90
- candidates: sortedCandidates.filter((candidate) => candidate.score >= thresholds.possibleSameAs),
91
- confidence: clamp01(best.score),
92
- };
93
- }
94
- return { kind: "new", logicalId: input.currentLogicalId, confidence: 0 };
95
- };
96
- const makeQualifiedIdentityName = (input) => {
97
- const qualifiedName = canonicalText(input.qualifiedName);
98
- if (qualifiedName || isSymbolClass(input.classIri))
99
- return qualifiedName;
100
- return canonicalText(input.filePath ?? "");
101
- };
102
- const isSymbolClass = (classIri) => canonicalText(classIri).endsWith("Symbol");
103
- const sha256Hex = (value) => createHash("sha256").update(value, "utf8").digest("hex");
104
- const normalizeLf = (value) => value.replace(/\r\n?/g, "\n");
105
- const hashTokens = (version, tokens) => {
106
- const canonicalTokens = tokens
107
- .map(canonicalText)
108
- .filter((token) => token.length > 0)
109
- .sort();
110
- return sha256Hex([version, ...canonicalTokens].join("\0"));
111
- };
112
- const hashOptionalTokens = (version, tokens) => {
113
- if (!tokens || tokens.length === 0)
114
- return undefined;
115
- return hashTokens(version, tokens);
116
- };
117
- const clamp01 = (value) => {
118
- if (Number.isNaN(value) || value <= 0)
119
- return 0;
120
- if (value >= 1)
121
- return 1;
122
- return value;
123
- };
124
- const sortLogicalIds = (logicalIds) => [...logicalIds].sort((a, b) => a.localeCompare(b));
125
- const sortAliases = (aliases) => [...aliases].sort((a, b) => b.confidence - a.confidence || a.fromLogicalId.localeCompare(b.fromLogicalId));
126
- const sortCandidates = (candidates) => [...candidates].sort((a, b) => b.score - a.score || a.logicalId.localeCompare(b.logicalId));
127
- //# sourceMappingURL=context-graph-identity-resolution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-graph-identity-resolution.js","sourceRoot":"","sources":["../../src/core/context-graph-identity-resolution.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\n\nexport type Sha256 = string;\nexport type WorkspaceId = string;\nexport type RepositoryId = string;\nexport type LogicalId = string;\nexport type RevisionId = string;\n\nexport type SourceKind =\n\t| \"compiler\"\n\t| \"test\"\n\t| \"git\"\n\t| \"tree_sitter\"\n\t| \"understand_anything\"\n\t| \"user\"\n\t| \"document\"\n\t| \"llm\"\n\t| \"heuristic\";\n\nexport interface IdentityKeyInput {\n\treadonly workspaceId: WorkspaceId;\n\treadonly repositoryId: RepositoryId;\n\treadonly branch: string;\n\treadonly classIri: string;\n\treadonly sourceKind: SourceKind;\n\treadonly identityNamespace: string;\n\treadonly qualifiedName: string;\n\treadonly normalizedSignature: string;\n\t/** Retained for callers, but ignored for symbol identity when namespace/name/signature exist. */\n\treadonly filePath?: string;\n}\n\nexport interface RevisionKeyInput {\n\treadonly logicalId: LogicalId;\n\treadonly revisionSourceSha: string;\n\treadonly structuralHash: Sha256;\n}\n\nexport interface StructuralFingerprintMetrics {\n\treadonly astNodeCount: number;\n\treadonly exportedSymbolCount: number;\n\treadonly importCount: number;\n\treadonly relationCount: number;\n\treadonly lineCount?: number;\n}\n\nexport interface StructuralFingerprintInput {\n\treadonly classIri: string;\n\treadonly sourceKind: SourceKind;\n\treadonly normalizedContent?: string;\n\treadonly astTokens: readonly string[];\n\treadonly publicApiTokens: readonly string[];\n\treadonly relationTokens: readonly string[];\n\treadonly importTokens?: readonly string[];\n\treadonly exportTokens?: readonly string[];\n\treadonly summaryTokens?: readonly string[];\n\treadonly metrics: StructuralFingerprintMetrics;\n}\n\nexport interface StructuralFingerprint {\n\treadonly version: \"omk.ontology.fingerprint.v1\";\n\treadonly extractor: \"ua-tree-sitter-normalized-v1\";\n\treadonly classIri: string;\n\treadonly sourceKind: SourceKind;\n\treadonly strictContentHash?: Sha256;\n\treadonly structuralHash: Sha256;\n\treadonly publicApiHash: Sha256;\n\treadonly relationShapeHash: Sha256;\n\treadonly importHash?: Sha256;\n\treadonly exportHash?: Sha256;\n\treadonly textSummaryHash?: Sha256;\n\treadonly metrics: StructuralFingerprintMetrics;\n}\n\nexport interface IdentitySimilarityFeatures {\n\treadonly strictContentEqual: boolean;\n\treadonly structuralEqual: boolean;\n\treadonly publicApiEqual: boolean;\n\treadonly normalizedSignatureSimilarity: number;\n\treadonly relationShapeSimilarity: number;\n\treadonly nameSimilarity: number;\n\treadonly pathSimilarity: number;\n\treadonly parentScopeSimilarity: number;\n\treadonly sizeSimilarity: number;\n\treadonly gitRenameHint: boolean;\n}\n\nexport interface IdentityDecisionThresholds {\n\treadonly autoSameAs: number;\n\treadonly possibleSameAs: number;\n}\n\nexport interface IdentityResolutionCandidate {\n\treadonly logicalId: LogicalId;\n\treadonly score: number;\n}\n\nexport interface IdentityAlias {\n\treadonly fromLogicalId: LogicalId;\n\treadonly toLogicalId: LogicalId;\n\treadonly confidence: number;\n\treadonly relation: \"sameAs\" | \"renamedTo\";\n}\n\nexport interface IdentityResolutionInput {\n\treadonly currentLogicalId: LogicalId;\n\treadonly previousLogicalIds: readonly LogicalId[];\n\treadonly aliases: readonly IdentityAlias[];\n\treadonly candidates: readonly IdentityResolutionCandidate[];\n\treadonly thresholds?: Partial<IdentityDecisionThresholds>;\n}\n\nexport type IdentityResolutionDecision =\n\t| {\n\t\t\treadonly kind: \"sameAs\";\n\t\t\treadonly reason: \"exact\" | \"alias\" | \"merge\";\n\t\t\treadonly logicalId: LogicalId;\n\t\t\treadonly confidence: number;\n\t }\n\t| {\n\t\t\treadonly kind: \"possibleSameAs\";\n\t\t\treadonly candidates: readonly IdentityResolutionCandidate[];\n\t\t\treadonly confidence: number;\n\t }\n\t| {\n\t\t\treadonly kind: \"new\";\n\t\t\treadonly logicalId: LogicalId;\n\t\t\treadonly confidence: 0;\n\t };\n\nexport const IDENTITY_ALGORITHM_VERSION = \"omk.ontology.identity.v1\";\nexport const FINGERPRINT_ALGORITHM_VERSION = \"omk.ontology.fingerprint.v1\";\n\nexport const DEFAULT_IDENTITY_DECISION_THRESHOLDS: IdentityDecisionThresholds = {\n\tautoSameAs: 0.92,\n\tpossibleSameAs: 0.78,\n};\n\nexport const canonicalText = (value: string): string =>\n\tvalue.normalize(\"NFKC\").replace(/\\\\/g, \"/\").replace(/\\s+/g, \" \").replace(/^\\.\\//, \"\").trim();\n\nexport const makeLogicalId = (input: IdentityKeyInput): LogicalId => {\n\tconst tuple = [\n\t\t\"omk.logical.v1\",\n\t\tcanonicalText(input.workspaceId),\n\t\tcanonicalText(input.repositoryId),\n\t\tcanonicalText(input.branch),\n\t\tcanonicalText(input.classIri),\n\t\tcanonicalText(input.sourceKind),\n\t\tcanonicalText(input.identityNamespace),\n\t\tmakeQualifiedIdentityName(input),\n\t\tcanonicalText(input.normalizedSignature),\n\t];\n\n\treturn `log_${sha256Hex(tuple.join(\"\\0\"))}`;\n};\n\nexport const makeRevisionId = (input: RevisionKeyInput): RevisionId => {\n\tconst tuple = [\n\t\t\"omk.revision.v1\",\n\t\tcanonicalText(input.logicalId),\n\t\tcanonicalText(input.revisionSourceSha),\n\t\tcanonicalText(input.structuralHash),\n\t];\n\n\treturn `rev_${sha256Hex(tuple.join(\"\\0\"))}`;\n};\n\nexport const buildStructuralFingerprint = (input: StructuralFingerprintInput): StructuralFingerprint => {\n\tconst strictContentHash = input.normalizedContent\n\t\t? sha256Hex([\"omk.content.v1\", normalizeLf(input.normalizedContent)].join(\"\\0\"))\n\t\t: undefined;\n\n\treturn {\n\t\tversion: FINGERPRINT_ALGORITHM_VERSION,\n\t\textractor: \"ua-tree-sitter-normalized-v1\",\n\t\tclassIri: canonicalText(input.classIri),\n\t\tsourceKind: input.sourceKind,\n\t\tstrictContentHash,\n\t\tstructuralHash: hashTokens(\"omk.structure.v1\", [input.classIri, ...input.astTokens]),\n\t\tpublicApiHash: hashTokens(\"omk.public-api.v1\", [input.classIri, ...input.publicApiTokens]),\n\t\trelationShapeHash: hashTokens(\"omk.relation-shape.v1\", input.relationTokens),\n\t\timportHash: hashOptionalTokens(\"omk.imports.v1\", input.importTokens),\n\t\texportHash: hashOptionalTokens(\"omk.exports.v1\", input.exportTokens),\n\t\ttextSummaryHash: hashOptionalTokens(\"omk.summary.v1\", input.summaryTokens),\n\t\tmetrics: { ...input.metrics },\n\t};\n};\n\nexport const calculateIdentitySimilarity = (features: IdentitySimilarityFeatures): number => {\n\tif (features.strictContentEqual) return 1;\n\n\tconst score =\n\t\t(features.structuralEqual ? 0.35 : 0) +\n\t\t(features.publicApiEqual ? 0.18 : 0) +\n\t\t0.12 * clamp01(features.normalizedSignatureSimilarity) +\n\t\t0.1 * clamp01(features.relationShapeSimilarity) +\n\t\t0.1 * clamp01(features.nameSimilarity) +\n\t\t0.08 * clamp01(features.pathSimilarity) +\n\t\t0.05 * clamp01(features.parentScopeSimilarity) +\n\t\t0.02 * clamp01(features.sizeSimilarity) +\n\t\t(features.gitRenameHint ? 0.1 : 0);\n\n\treturn clamp01(score);\n};\n\nexport const identitySimilarity = calculateIdentitySimilarity;\n\nexport const resolveIdentity = (input: IdentityResolutionInput): IdentityResolutionDecision => {\n\tconst thresholds = { ...DEFAULT_IDENTITY_DECISION_THRESHOLDS, ...input.thresholds };\n\tconst exactMatch = sortLogicalIds(input.previousLogicalIds).find(\n\t\t(logicalId) => logicalId === input.currentLogicalId,\n\t);\n\tif (exactMatch) return { kind: \"sameAs\", reason: \"exact\", logicalId: exactMatch, confidence: 1 };\n\n\tconst acceptedAlias = sortAliases(input.aliases).find(\n\t\t(alias) => alias.toLogicalId === input.currentLogicalId && alias.confidence >= thresholds.autoSameAs,\n\t);\n\tif (acceptedAlias) {\n\t\treturn {\n\t\t\tkind: \"sameAs\",\n\t\t\treason: \"alias\",\n\t\t\tlogicalId: acceptedAlias.fromLogicalId,\n\t\t\tconfidence: clamp01(acceptedAlias.confidence),\n\t\t};\n\t}\n\n\tconst sortedCandidates = sortCandidates(input.candidates);\n\tconst best = sortedCandidates[0];\n\tif (!best) return { kind: \"new\", logicalId: input.currentLogicalId, confidence: 0 };\n\tif (best.score >= thresholds.autoSameAs) {\n\t\treturn { kind: \"sameAs\", reason: \"merge\", logicalId: best.logicalId, confidence: clamp01(best.score) };\n\t}\n\tif (best.score >= thresholds.possibleSameAs) {\n\t\treturn {\n\t\t\tkind: \"possibleSameAs\",\n\t\t\tcandidates: sortedCandidates.filter((candidate) => candidate.score >= thresholds.possibleSameAs),\n\t\t\tconfidence: clamp01(best.score),\n\t\t};\n\t}\n\treturn { kind: \"new\", logicalId: input.currentLogicalId, confidence: 0 };\n};\n\nconst makeQualifiedIdentityName = (input: IdentityKeyInput): string => {\n\tconst qualifiedName = canonicalText(input.qualifiedName);\n\tif (qualifiedName || isSymbolClass(input.classIri)) return qualifiedName;\n\treturn canonicalText(input.filePath ?? \"\");\n};\n\nconst isSymbolClass = (classIri: string): boolean => canonicalText(classIri).endsWith(\"Symbol\");\n\nconst sha256Hex = (value: string): Sha256 => createHash(\"sha256\").update(value, \"utf8\").digest(\"hex\");\n\nconst normalizeLf = (value: string): string => value.replace(/\\r\\n?/g, \"\\n\");\n\nconst hashTokens = (version: string, tokens: readonly string[]): Sha256 => {\n\tconst canonicalTokens = tokens\n\t\t.map(canonicalText)\n\t\t.filter((token) => token.length > 0)\n\t\t.sort();\n\treturn sha256Hex([version, ...canonicalTokens].join(\"\\0\"));\n};\n\nconst hashOptionalTokens = (version: string, tokens: readonly string[] | undefined): Sha256 | undefined => {\n\tif (!tokens || tokens.length === 0) return undefined;\n\treturn hashTokens(version, tokens);\n};\n\nconst clamp01 = (value: number): number => {\n\tif (Number.isNaN(value) || value <= 0) return 0;\n\tif (value >= 1) return 1;\n\treturn value;\n};\n\nconst sortLogicalIds = (logicalIds: readonly LogicalId[]): LogicalId[] =>\n\t[...logicalIds].sort((a, b) => a.localeCompare(b));\n\nconst sortAliases = (aliases: readonly IdentityAlias[]): IdentityAlias[] =>\n\t[...aliases].sort((a, b) => b.confidence - a.confidence || a.fromLogicalId.localeCompare(b.fromLogicalId));\n\nconst sortCandidates = (candidates: readonly IdentityResolutionCandidate[]): IdentityResolutionCandidate[] =>\n\t[...candidates].sort((a, b) => b.score - a.score || a.logicalId.localeCompare(b.logicalId));\n"]}
@@ -1,153 +0,0 @@
1
- export type MemoryGenerationStatus = "active" | "archived";
2
- export type MemoryAssertionKind = "observed" | "inferred" | "declared";
3
- export type MemoryAssertionStatus = "active" | "superseded" | "retracted";
4
- export type AllowedMemoryCategory = "decision" | "verified_fact" | "resolved_error" | "user_preference" | "unresolved_task" | "test_evidence" | "build_evidence";
5
- export type ForbiddenMemoryCategory = "raw_conversation" | "raw_shell_output" | "speculation" | "secret";
6
- export type MemoryCategory = AllowedMemoryCategory | ForbiddenMemoryCategory | (string & {});
7
- export type MemoryJsonValue = string | number | boolean | null | readonly MemoryJsonValue[] | {
8
- readonly [key: string]: MemoryJsonValue | undefined;
9
- };
10
- export type MemoryTemporalInstant = string | Date;
11
- export interface MemoryTemporalInterval {
12
- readonly from: MemoryTemporalInstant;
13
- readonly to?: MemoryTemporalInstant;
14
- }
15
- export interface MemoryScope {
16
- readonly workspaceId: string;
17
- readonly repoSha: string;
18
- readonly branch: string;
19
- }
20
- export interface MemoryProvenance {
21
- readonly sourceKind: "compiler" | "test" | "git" | "tool" | "user" | "document" | "llm" | "heuristic";
22
- readonly sourceId: string;
23
- readonly observedAt?: MemoryTemporalInstant;
24
- readonly excerpt?: string;
25
- }
26
- export interface MemoryGeneration {
27
- readonly id: string;
28
- readonly scope: MemoryScope;
29
- readonly status: MemoryGenerationStatus;
30
- readonly createdAt: MemoryTemporalInstant;
31
- readonly label?: string;
32
- }
33
- export interface MemoryEntity {
34
- readonly id: string;
35
- readonly scope: MemoryScope;
36
- readonly generationId: string;
37
- readonly entityType: string;
38
- readonly name: string;
39
- readonly aliases?: readonly string[];
40
- readonly validTime: MemoryTemporalInterval;
41
- readonly transactionTime: MemoryTemporalInterval;
42
- }
43
- export interface MemoryAssertion {
44
- readonly id: string;
45
- readonly scope: MemoryScope;
46
- readonly generationId: string;
47
- readonly subjectId: string;
48
- readonly predicate: string;
49
- readonly object: MemoryJsonValue;
50
- readonly category: MemoryCategory;
51
- readonly assertionKind: MemoryAssertionKind;
52
- readonly status: MemoryAssertionStatus;
53
- readonly confidence: number;
54
- readonly functional?: boolean;
55
- readonly validTime: MemoryTemporalInterval;
56
- readonly transactionTime: MemoryTemporalInterval;
57
- readonly provenance?: readonly MemoryProvenance[];
58
- }
59
- export interface MemoryEpisode {
60
- readonly id: string;
61
- readonly scope: MemoryScope;
62
- readonly generationId: string;
63
- readonly category: MemoryCategory;
64
- readonly title: string;
65
- readonly occurredAt: MemoryTemporalInstant;
66
- readonly validTime: MemoryTemporalInterval;
67
- readonly transactionTime: MemoryTemporalInterval;
68
- readonly provenance?: readonly MemoryProvenance[];
69
- }
70
- export type MemoryScopeValidationReason = "eligible" | "missing_workspace_id" | "missing_repo_sha" | "missing_branch";
71
- export type MemoryScopeValidationDecision = {
72
- readonly ok: true;
73
- readonly reason: "eligible";
74
- } | {
75
- readonly ok: false;
76
- readonly reason: Exclude<MemoryScopeValidationReason, "eligible">;
77
- };
78
- export type MemoryCategoryValidationReason = "eligible" | "forbidden_category" | "unsupported_category";
79
- export type MemoryCategoryValidationDecision = {
80
- readonly ok: true;
81
- readonly reason: "eligible";
82
- } | {
83
- readonly ok: false;
84
- readonly reason: Exclude<MemoryCategoryValidationReason, "eligible">;
85
- };
86
- export interface ListMemoryAssertionsInput {
87
- readonly scope: MemoryScope;
88
- readonly categories?: readonly MemoryCategory[];
89
- readonly statuses?: readonly MemoryAssertionStatus[];
90
- readonly validAt?: MemoryTemporalInstant;
91
- readonly transactionAsOf?: MemoryTemporalInstant;
92
- readonly includeInactiveGenerations?: boolean;
93
- }
94
- export interface MemorySearchInput {
95
- readonly scope: MemoryScope;
96
- readonly category: MemoryCategory;
97
- readonly query: string;
98
- readonly statuses?: readonly MemoryAssertionStatus[];
99
- readonly validAt?: MemoryTemporalInstant;
100
- readonly transactionAsOf?: MemoryTemporalInstant;
101
- readonly limit?: number;
102
- readonly includeInactiveGenerations?: boolean;
103
- }
104
- export interface MemorySearchHit {
105
- readonly assertion: MemoryAssertion;
106
- readonly score: number;
107
- readonly matchedTokens: readonly string[];
108
- }
109
- export interface FunctionalConflictOptions {
110
- readonly functionalPredicates?: readonly string[];
111
- readonly statuses?: readonly MemoryAssertionStatus[];
112
- }
113
- export interface MemoryAssertionConflict {
114
- readonly subjectId: string;
115
- readonly predicate: string;
116
- readonly assertionIds: readonly [string, string];
117
- readonly objectValues: readonly [MemoryJsonValue, MemoryJsonValue];
118
- readonly validOverlap: MemoryTemporalInterval;
119
- }
120
- export interface ConfidenceReinforcementInput {
121
- readonly currentConfidence: number;
122
- readonly evidenceConfidence: number;
123
- readonly weight?: number;
124
- }
125
- export interface ContextGraphMemoryStore {
126
- putGeneration(generation: MemoryGeneration): Promise<MemoryGeneration>;
127
- putEntity(entity: MemoryEntity): Promise<MemoryEntity>;
128
- putAssertion(assertion: MemoryAssertion): Promise<MemoryAssertion>;
129
- putEpisode(episode: MemoryEpisode): Promise<MemoryEpisode>;
130
- getGeneration(id: string): Promise<MemoryGeneration | undefined>;
131
- listAssertions(input: ListMemoryAssertionsInput): Promise<MemoryAssertion[]>;
132
- memory_search(input: MemorySearchInput): Promise<MemorySearchHit[]>;
133
- }
134
- export declare function validateMemoryScope(scope: MemoryScope): MemoryScopeValidationDecision;
135
- export declare function validateMemoryCategory(category: MemoryCategory): MemoryCategoryValidationDecision;
136
- export declare function reinforceAssertionConfidence(input: ConfidenceReinforcementInput): number;
137
- export declare function detectFunctionalAssertionConflicts(assertions: readonly MemoryAssertion[], options?: FunctionalConflictOptions): MemoryAssertionConflict[];
138
- export declare class InMemoryContextGraphMemoryStore implements ContextGraphMemoryStore {
139
- private readonly generations;
140
- private readonly entities;
141
- private readonly assertions;
142
- private readonly episodes;
143
- putGeneration(generation: MemoryGeneration): Promise<MemoryGeneration>;
144
- putEntity(entity: MemoryEntity): Promise<MemoryEntity>;
145
- putAssertion(assertion: MemoryAssertion): Promise<MemoryAssertion>;
146
- putEpisode(episode: MemoryEpisode): Promise<MemoryEpisode>;
147
- getGeneration(id: string): Promise<MemoryGeneration | undefined>;
148
- listAssertions(input: ListMemoryAssertionsInput): Promise<MemoryAssertion[]>;
149
- memory_search(input: MemorySearchInput): Promise<MemorySearchHit[]>;
150
- private assertGenerationScope;
151
- private getGenerationIds;
152
- }
153
- //# sourceMappingURL=context-graph-memory-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-graph-memory-store.d.ts","sourceRoot":"","sources":["../../src/core/context-graph-memory-store.ts"],"names":[],"mappings":"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","sourcesContent":["export type MemoryGenerationStatus = \"active\" | \"archived\";\nexport type MemoryAssertionKind = \"observed\" | \"inferred\" | \"declared\";\nexport type MemoryAssertionStatus = \"active\" | \"superseded\" | \"retracted\";\n\nexport type AllowedMemoryCategory =\n\t| \"decision\"\n\t| \"verified_fact\"\n\t| \"resolved_error\"\n\t| \"user_preference\"\n\t| \"unresolved_task\"\n\t| \"test_evidence\"\n\t| \"build_evidence\";\n\nexport type ForbiddenMemoryCategory = \"raw_conversation\" | \"raw_shell_output\" | \"speculation\" | \"secret\";\nexport type MemoryCategory = AllowedMemoryCategory | ForbiddenMemoryCategory | (string & {});\n\nexport type MemoryJsonValue =\n\t| string\n\t| number\n\t| boolean\n\t| null\n\t| readonly MemoryJsonValue[]\n\t| { readonly [key: string]: MemoryJsonValue | undefined };\n\nexport type MemoryTemporalInstant = string | Date;\n\nexport interface MemoryTemporalInterval {\n\treadonly from: MemoryTemporalInstant;\n\treadonly to?: MemoryTemporalInstant;\n}\n\nexport interface MemoryScope {\n\treadonly workspaceId: string;\n\treadonly repoSha: string;\n\treadonly branch: string;\n}\n\nexport interface MemoryProvenance {\n\treadonly sourceKind: \"compiler\" | \"test\" | \"git\" | \"tool\" | \"user\" | \"document\" | \"llm\" | \"heuristic\";\n\treadonly sourceId: string;\n\treadonly observedAt?: MemoryTemporalInstant;\n\treadonly excerpt?: string;\n}\n\nexport interface MemoryGeneration {\n\treadonly id: string;\n\treadonly scope: MemoryScope;\n\treadonly status: MemoryGenerationStatus;\n\treadonly createdAt: MemoryTemporalInstant;\n\treadonly label?: string;\n}\n\nexport interface MemoryEntity {\n\treadonly id: string;\n\treadonly scope: MemoryScope;\n\treadonly generationId: string;\n\treadonly entityType: string;\n\treadonly name: string;\n\treadonly aliases?: readonly string[];\n\treadonly validTime: MemoryTemporalInterval;\n\treadonly transactionTime: MemoryTemporalInterval;\n}\n\nexport interface MemoryAssertion {\n\treadonly id: string;\n\treadonly scope: MemoryScope;\n\treadonly generationId: string;\n\treadonly subjectId: string;\n\treadonly predicate: string;\n\treadonly object: MemoryJsonValue;\n\treadonly category: MemoryCategory;\n\treadonly assertionKind: MemoryAssertionKind;\n\treadonly status: MemoryAssertionStatus;\n\treadonly confidence: number;\n\treadonly functional?: boolean;\n\treadonly validTime: MemoryTemporalInterval;\n\treadonly transactionTime: MemoryTemporalInterval;\n\treadonly provenance?: readonly MemoryProvenance[];\n}\n\nexport interface MemoryEpisode {\n\treadonly id: string;\n\treadonly scope: MemoryScope;\n\treadonly generationId: string;\n\treadonly category: MemoryCategory;\n\treadonly title: string;\n\treadonly occurredAt: MemoryTemporalInstant;\n\treadonly validTime: MemoryTemporalInterval;\n\treadonly transactionTime: MemoryTemporalInterval;\n\treadonly provenance?: readonly MemoryProvenance[];\n}\n\nexport type MemoryScopeValidationReason = \"eligible\" | \"missing_workspace_id\" | \"missing_repo_sha\" | \"missing_branch\";\nexport type MemoryScopeValidationDecision =\n\t| { readonly ok: true; readonly reason: \"eligible\" }\n\t| { readonly ok: false; readonly reason: Exclude<MemoryScopeValidationReason, \"eligible\"> };\n\nexport type MemoryCategoryValidationReason = \"eligible\" | \"forbidden_category\" | \"unsupported_category\";\nexport type MemoryCategoryValidationDecision =\n\t| { readonly ok: true; readonly reason: \"eligible\" }\n\t| { readonly ok: false; readonly reason: Exclude<MemoryCategoryValidationReason, \"eligible\"> };\n\nexport interface ListMemoryAssertionsInput {\n\treadonly scope: MemoryScope;\n\treadonly categories?: readonly MemoryCategory[];\n\treadonly statuses?: readonly MemoryAssertionStatus[];\n\treadonly validAt?: MemoryTemporalInstant;\n\treadonly transactionAsOf?: MemoryTemporalInstant;\n\treadonly includeInactiveGenerations?: boolean;\n}\n\nexport interface MemorySearchInput {\n\treadonly scope: MemoryScope;\n\treadonly category: MemoryCategory;\n\treadonly query: string;\n\treadonly statuses?: readonly MemoryAssertionStatus[];\n\treadonly validAt?: MemoryTemporalInstant;\n\treadonly transactionAsOf?: MemoryTemporalInstant;\n\treadonly limit?: number;\n\treadonly includeInactiveGenerations?: boolean;\n}\n\nexport interface MemorySearchHit {\n\treadonly assertion: MemoryAssertion;\n\treadonly score: number;\n\treadonly matchedTokens: readonly string[];\n}\n\nexport interface FunctionalConflictOptions {\n\treadonly functionalPredicates?: readonly string[];\n\treadonly statuses?: readonly MemoryAssertionStatus[];\n}\n\nexport interface MemoryAssertionConflict {\n\treadonly subjectId: string;\n\treadonly predicate: string;\n\treadonly assertionIds: readonly [string, string];\n\treadonly objectValues: readonly [MemoryJsonValue, MemoryJsonValue];\n\treadonly validOverlap: MemoryTemporalInterval;\n}\n\nexport interface ConfidenceReinforcementInput {\n\treadonly currentConfidence: number;\n\treadonly evidenceConfidence: number;\n\treadonly weight?: number;\n}\n\nexport interface ContextGraphMemoryStore {\n\tputGeneration(generation: MemoryGeneration): Promise<MemoryGeneration>;\n\tputEntity(entity: MemoryEntity): Promise<MemoryEntity>;\n\tputAssertion(assertion: MemoryAssertion): Promise<MemoryAssertion>;\n\tputEpisode(episode: MemoryEpisode): Promise<MemoryEpisode>;\n\tgetGeneration(id: string): Promise<MemoryGeneration | undefined>;\n\tlistAssertions(input: ListMemoryAssertionsInput): Promise<MemoryAssertion[]>;\n\tmemory_search(input: MemorySearchInput): Promise<MemorySearchHit[]>;\n}\n\nconst ALLOWED_MEMORY_CATEGORIES = new Set<string>([\n\t\"decision\",\n\t\"verified_fact\",\n\t\"resolved_error\",\n\t\"user_preference\",\n\t\"unresolved_task\",\n\t\"test_evidence\",\n\t\"build_evidence\",\n]);\n\nconst FORBIDDEN_MEMORY_CATEGORIES = new Set<string>([\"raw_conversation\", \"raw_shell_output\", \"speculation\", \"secret\"]);\nconst DEFAULT_ASSERTION_STATUSES: readonly MemoryAssertionStatus[] = [\"active\"];\n\nexport function validateMemoryScope(scope: MemoryScope): MemoryScopeValidationDecision {\n\tif (scope.workspaceId.trim().length === 0) return { ok: false, reason: \"missing_workspace_id\" };\n\tif (scope.repoSha.trim().length === 0) return { ok: false, reason: \"missing_repo_sha\" };\n\tif (scope.branch.trim().length === 0) return { ok: false, reason: \"missing_branch\" };\n\treturn { ok: true, reason: \"eligible\" };\n}\n\nexport function validateMemoryCategory(category: MemoryCategory): MemoryCategoryValidationDecision {\n\tconst normalized = category.trim();\n\tif (FORBIDDEN_MEMORY_CATEGORIES.has(normalized)) return { ok: false, reason: \"forbidden_category\" };\n\tif (!ALLOWED_MEMORY_CATEGORIES.has(normalized)) return { ok: false, reason: \"unsupported_category\" };\n\treturn { ok: true, reason: \"eligible\" };\n}\n\nexport function reinforceAssertionConfidence(input: ConfidenceReinforcementInput): number {\n\tconst currentConfidence = clamp01(input.currentConfidence);\n\tconst evidenceConfidence = clamp01(input.evidenceConfidence);\n\tconst weight = clamp01(input.weight ?? 1);\n\treturn clamp01(currentConfidence + (1 - currentConfidence) * evidenceConfidence * weight);\n}\n\nexport function detectFunctionalAssertionConflicts(\n\tassertions: readonly MemoryAssertion[],\n\toptions: FunctionalConflictOptions = {},\n): MemoryAssertionConflict[] {\n\tconst functionalPredicates = new Set(options.functionalPredicates ?? []);\n\tconst statuses = new Set(options.statuses ?? DEFAULT_ASSERTION_STATUSES);\n\tconst candidates = [...assertions]\n\t\t.filter((candidate) => statuses.has(candidate.status) && isFunctionalAssertion(candidate, functionalPredicates))\n\t\t.sort(compareAssertionIds);\n\tconst conflicts: MemoryAssertionConflict[] = [];\n\n\tfor (const [leftIndex, left] of candidates.entries()) {\n\t\tfor (const right of candidates.slice(leftIndex + 1)) {\n\t\t\tif (!canConflict(left, right)) continue;\n\t\t\tconst validOverlap = getIntervalOverlap(left.validTime, right.validTime);\n\t\t\tif (!validOverlap) continue;\n\t\t\tconflicts.push({\n\t\t\t\tsubjectId: left.subjectId,\n\t\t\t\tpredicate: left.predicate,\n\t\t\t\tassertionIds: [left.id, right.id],\n\t\t\t\tobjectValues: [left.object, right.object],\n\t\t\t\tvalidOverlap,\n\t\t\t});\n\t\t}\n\t}\n\n\treturn conflicts.sort(\n\t\t(a, b) =>\n\t\t\ta.assertionIds[0].localeCompare(b.assertionIds[0]) || a.assertionIds[1].localeCompare(b.assertionIds[1]),\n\t);\n}\n\nexport class InMemoryContextGraphMemoryStore implements ContextGraphMemoryStore {\n\tprivate readonly generations = new Map<string, MemoryGeneration>();\n\tprivate readonly entities = new Map<string, MemoryEntity>();\n\tprivate readonly assertions = new Map<string, MemoryAssertion>();\n\tprivate readonly episodes = new Map<string, MemoryEpisode>();\n\n\tasync putGeneration(generation: MemoryGeneration): Promise<MemoryGeneration> {\n\t\tassertValidScope(generation.scope);\n\t\tassertNonEmptyId(generation.id, \"generation id\");\n\t\tparseInstant(generation.createdAt, \"generation createdAt\");\n\t\tconst record = cloneGeneration(generation);\n\t\tthis.generations.set(record.id, record);\n\t\treturn cloneGeneration(record);\n\t}\n\n\tasync putEntity(entity: MemoryEntity): Promise<MemoryEntity> {\n\t\tassertValidScope(entity.scope);\n\t\tassertNonEmptyId(entity.id, \"entity id\");\n\t\tthis.assertGenerationScope(entity.generationId, entity.scope);\n\t\tassertValidInterval(entity.validTime, \"entity validTime\");\n\t\tassertValidInterval(entity.transactionTime, \"entity transactionTime\");\n\t\tconst record = cloneEntity(entity);\n\t\tthis.entities.set(record.id, record);\n\t\treturn cloneEntity(record);\n\t}\n\n\tasync putAssertion(assertion: MemoryAssertion): Promise<MemoryAssertion> {\n\t\tassertValidScope(assertion.scope);\n\t\tassertNonEmptyId(assertion.id, \"assertion id\");\n\t\tassertAllowedCategory(assertion.category);\n\t\tassertValidConfidence(assertion.confidence);\n\t\tassertProvenance(assertion);\n\t\tthis.assertGenerationScope(assertion.generationId, assertion.scope);\n\t\tassertValidInterval(assertion.validTime, \"assertion validTime\");\n\t\tassertValidInterval(assertion.transactionTime, \"assertion transactionTime\");\n\t\tconst record = cloneAssertion(assertion);\n\t\tthis.assertions.set(record.id, record);\n\t\treturn cloneAssertion(record);\n\t}\n\n\tasync putEpisode(episode: MemoryEpisode): Promise<MemoryEpisode> {\n\t\tassertValidScope(episode.scope);\n\t\tassertNonEmptyId(episode.id, \"episode id\");\n\t\tassertAllowedCategory(episode.category);\n\t\tparseInstant(episode.occurredAt, \"episode occurredAt\");\n\t\tthis.assertGenerationScope(episode.generationId, episode.scope);\n\t\tassertValidInterval(episode.validTime, \"episode validTime\");\n\t\tassertValidInterval(episode.transactionTime, \"episode transactionTime\");\n\t\tconst record = cloneEpisode(episode);\n\t\tthis.episodes.set(record.id, record);\n\t\treturn cloneEpisode(record);\n\t}\n\n\tasync getGeneration(id: string): Promise<MemoryGeneration | undefined> {\n\t\tconst generation = this.generations.get(id);\n\t\treturn generation ? cloneGeneration(generation) : undefined;\n\t}\n\n\tasync listAssertions(input: ListMemoryAssertionsInput): Promise<MemoryAssertion[]> {\n\t\tassertValidScope(input.scope);\n\t\tfor (const category of input.categories ?? []) {\n\t\t\tassertAllowedCategory(category);\n\t\t}\n\t\tconst categories = input.categories ? new Set(input.categories) : undefined;\n\t\tconst statuses = new Set(input.statuses ?? DEFAULT_ASSERTION_STATUSES);\n\t\tconst activeGenerationIds = this.getGenerationIds(input.scope, \"active\");\n\t\tconst filtered = [...this.assertions.values()]\n\t\t\t.filter((assertion) => sameScope(assertion.scope, input.scope))\n\t\t\t.filter((assertion) => categories === undefined || categories.has(assertion.category))\n\t\t\t.filter((assertion) => statuses.has(assertion.status))\n\t\t\t.filter(\n\t\t\t\t(assertion) => input.includeInactiveGenerations === true || activeGenerationIds.has(assertion.generationId),\n\t\t\t)\n\t\t\t.filter((assertion) => matchesValidTime(assertion.validTime, input.validAt))\n\t\t\t.filter((assertion) => matchesTransactionTime(assertion.transactionTime, input.transactionAsOf))\n\t\t\t.sort(compareAssertionIds)\n\t\t\t.map(cloneAssertion);\n\t\treturn filtered;\n\t}\n\n\tasync memory_search(input: MemorySearchInput): Promise<MemorySearchHit[]> {\n\t\tassertAllowedCategory(input.category);\n\t\tconst queryTokens = uniqueTokens(input.query);\n\t\tconst assertions = await this.listAssertions({\n\t\t\tscope: input.scope,\n\t\t\tcategories: [input.category],\n\t\t\tstatuses: input.statuses,\n\t\t\tvalidAt: input.validAt,\n\t\t\ttransactionAsOf: input.transactionAsOf,\n\t\t\tincludeInactiveGenerations: input.includeInactiveGenerations,\n\t\t});\n\t\tconst hits = assertions\n\t\t\t.map((assertion) => scoreSearchAssertion(assertion, input.query, queryTokens))\n\t\t\t.filter((hit) => queryTokens.length === 0 || hit.score > 0)\n\t\t\t.sort(compareSearchHits);\n\t\tconst limit = input.limit === undefined ? hits.length : Math.max(0, Math.floor(input.limit));\n\t\treturn hits.slice(0, limit);\n\t}\n\n\tprivate assertGenerationScope(generationId: string, scope: MemoryScope): void {\n\t\tconst generation = this.generations.get(generationId);\n\t\tif (!generation) throw new Error(`memory generation not found: ${generationId}`);\n\t\tif (!sameScope(generation.scope, scope)) throw new Error(`memory generation scope mismatch: ${generationId}`);\n\t}\n\n\tprivate getGenerationIds(scope: MemoryScope, status: MemoryGenerationStatus): Set<string> {\n\t\treturn new Set(\n\t\t\t[...this.generations.values()]\n\t\t\t\t.filter((generation) => generation.status === status && sameScope(generation.scope, scope))\n\t\t\t\t.map((generation) => generation.id),\n\t\t);\n\t}\n}\n\nfunction assertValidScope(scope: MemoryScope): void {\n\tconst decision = validateMemoryScope(scope);\n\tif (decision.ok) return;\n\tthrow new Error(`invalid memory scope: missing ${formatScopeReason(decision.reason)}`);\n}\n\nfunction assertAllowedCategory(category: MemoryCategory): void {\n\tconst decision = validateMemoryCategory(category);\n\tif (decision.ok) return;\n\tif (decision.reason === \"forbidden_category\") throw new Error(`forbidden memory category: ${category}`);\n\tthrow new Error(`unsupported memory category: ${category}`);\n}\n\nfunction assertProvenance(assertion: MemoryAssertion): void {\n\tif (assertion.assertionKind !== \"observed\" && assertion.assertionKind !== \"inferred\") return;\n\tconst provenance = assertion.provenance ?? [];\n\tif (provenance.length === 0 || provenance.some((entry) => entry.sourceId.trim().length === 0)) {\n\t\tthrow new Error(\"provenance is required for observed and inferred assertions\");\n\t}\n}\n\nfunction assertValidConfidence(confidence: number): void {\n\tif (!Number.isFinite(confidence) || confidence < 0 || confidence > 1) {\n\t\tthrow new Error(\"assertion confidence must be between 0 and 1\");\n\t}\n}\n\nfunction assertNonEmptyId(id: string, label: string): void {\n\tif (id.trim().length === 0) throw new Error(`missing ${label}`);\n}\n\nfunction assertValidInterval(interval: MemoryTemporalInterval, label: string): void {\n\tconst from = parseInstant(interval.from, `${label}.from`);\n\tconst to = interval.to === undefined ? Number.POSITIVE_INFINITY : parseInstant(interval.to, `${label}.to`);\n\tif (to <= from) throw new Error(`${label} must have to greater than from`);\n}\n\nfunction parseInstant(instant: MemoryTemporalInstant, label: string): number {\n\tconst timestamp = instant instanceof Date ? instant.getTime() : Date.parse(instant);\n\tif (!Number.isFinite(timestamp)) throw new Error(`invalid temporal instant: ${label}`);\n\treturn timestamp;\n}\n\nfunction matchesValidTime(interval: MemoryTemporalInterval, validAt: MemoryTemporalInstant | undefined): boolean {\n\tif (validAt === undefined) return true;\n\treturn intervalContains(interval, parseInstant(validAt, \"validAt\"));\n}\n\nfunction matchesTransactionTime(\n\tinterval: MemoryTemporalInterval,\n\ttransactionAsOf: MemoryTemporalInstant | undefined,\n): boolean {\n\tif (transactionAsOf === undefined) return interval.to === undefined;\n\treturn intervalContains(interval, parseInstant(transactionAsOf, \"transactionAsOf\"));\n}\n\nfunction intervalContains(interval: MemoryTemporalInterval, timestamp: number): boolean {\n\tconst from = parseInstant(interval.from, \"interval.from\");\n\tconst to = interval.to === undefined ? Number.POSITIVE_INFINITY : parseInstant(interval.to, \"interval.to\");\n\treturn from <= timestamp && timestamp < to;\n}\n\nfunction getIntervalOverlap(\n\tleft: MemoryTemporalInterval,\n\tright: MemoryTemporalInterval,\n): MemoryTemporalInterval | undefined {\n\tconst leftFrom = parseInstant(left.from, \"left validTime.from\");\n\tconst leftTo = left.to === undefined ? Number.POSITIVE_INFINITY : parseInstant(left.to, \"left validTime.to\");\n\tconst rightFrom = parseInstant(right.from, \"right validTime.from\");\n\tconst rightTo = right.to === undefined ? Number.POSITIVE_INFINITY : parseInstant(right.to, \"right validTime.to\");\n\tconst overlapFrom = Math.max(leftFrom, rightFrom);\n\tconst overlapTo = Math.min(leftTo, rightTo);\n\tif (overlapTo <= overlapFrom) return undefined;\n\treturn {\n\t\tfrom: new Date(overlapFrom).toISOString(),\n\t\tto: Number.isFinite(overlapTo) ? new Date(overlapTo).toISOString() : undefined,\n\t};\n}\n\nfunction isFunctionalAssertion(assertion: MemoryAssertion, functionalPredicates: ReadonlySet<string>): boolean {\n\treturn assertion.functional === true || functionalPredicates.has(assertion.predicate);\n}\n\nfunction canConflict(left: MemoryAssertion, right: MemoryAssertion): boolean {\n\treturn (\n\t\tsameScope(left.scope, right.scope) &&\n\t\tleft.subjectId === right.subjectId &&\n\t\tleft.predicate === right.predicate &&\n\t\tcanonicalJsonStringify(left.object) !== canonicalJsonStringify(right.object)\n\t);\n}\n\nfunction scoreSearchAssertion(\n\tassertion: MemoryAssertion,\n\tquery: string,\n\tqueryTokens: readonly string[],\n): MemorySearchHit {\n\tconst searchText = getAssertionSearchText(assertion);\n\tconst searchTokens = new Set(tokenize(searchText));\n\tconst matchedTokens = queryTokens.filter((token) => searchTokens.has(token));\n\tconst coverageScore = queryTokens.length === 0 ? 1 : matchedTokens.length / queryTokens.length;\n\tconst normalizedQuery = normalizeSearchText(query);\n\tconst phraseBonus =\n\t\tnormalizedQuery.length > 0 && normalizeSearchText(searchText).includes(normalizedQuery) ? 0.1 : 0;\n\treturn {\n\t\tassertion,\n\t\tscore: clamp01(coverageScore + phraseBonus),\n\t\tmatchedTokens,\n\t};\n}\n\nfunction getAssertionSearchText(assertion: MemoryAssertion): string {\n\treturn [\n\t\tassertion.id,\n\t\tassertion.subjectId,\n\t\tassertion.predicate,\n\t\tassertion.category,\n\t\tcanonicalJsonStringify(assertion.object),\n\t]\n\t\t.filter((part) => part.length > 0)\n\t\t.join(\"\\n\");\n}\n\nfunction uniqueTokens(text: string): string[] {\n\treturn [...new Set(tokenize(text))];\n}\n\nfunction tokenize(text: string): string[] {\n\treturn normalizeSearchText(text).match(/[\\p{L}\\p{N}]+/gu) ?? [];\n}\n\nfunction normalizeSearchText(text: string): string {\n\treturn text\n\t\t.replace(/([\\p{Ll}\\d])([\\p{Lu}])/gu, \"$1 $2\")\n\t\t.normalize(\"NFKC\")\n\t\t.toLowerCase();\n}\n\nfunction canonicalJsonStringify(value: MemoryJsonValue): string {\n\tif (value === null) return \"null\";\n\tif (typeof value === \"string\" || typeof value === \"boolean\") return JSON.stringify(value);\n\tif (typeof value === \"number\") return Number.isFinite(value) ? JSON.stringify(value) : \"null\";\n\tif (isMemoryJsonArray(value)) return `[${value.map((item) => canonicalJsonStringify(item)).join(\",\")}]`;\n\tconst record: { readonly [key: string]: MemoryJsonValue | undefined } = value;\n\tconst entries = Object.keys(record)\n\t\t.filter((key) => record[key] !== undefined)\n\t\t.sort()\n\t\t.map((key) => `${JSON.stringify(key)}:${canonicalJsonStringify(record[key] ?? null)}`);\n\treturn `{${entries.join(\",\")}}`;\n}\n\nfunction isMemoryJsonArray(value: MemoryJsonValue): value is readonly MemoryJsonValue[] {\n\treturn Array.isArray(value);\n}\n\nfunction compareAssertionIds(left: MemoryAssertion, right: MemoryAssertion): number {\n\treturn left.id.localeCompare(right.id);\n}\n\nfunction compareSearchHits(left: MemorySearchHit, right: MemorySearchHit): number {\n\treturn (\n\t\tright.score - left.score ||\n\t\tright.assertion.confidence - left.assertion.confidence ||\n\t\tleft.assertion.id.localeCompare(right.assertion.id)\n\t);\n}\n\nfunction sameScope(left: MemoryScope, right: MemoryScope): boolean {\n\treturn left.workspaceId === right.workspaceId && left.repoSha === right.repoSha && left.branch === right.branch;\n}\n\nfunction formatScopeReason(reason: Exclude<MemoryScopeValidationReason, \"eligible\">): string {\n\tif (reason === \"missing_workspace_id\") return \"workspaceId\";\n\tif (reason === \"missing_repo_sha\") return \"repoSha\";\n\treturn \"branch\";\n}\n\nfunction cloneScope(scope: MemoryScope): MemoryScope {\n\treturn { workspaceId: scope.workspaceId, repoSha: scope.repoSha, branch: scope.branch };\n}\n\nfunction cloneInterval(interval: MemoryTemporalInterval): MemoryTemporalInterval {\n\treturn { from: interval.from, to: interval.to };\n}\n\nfunction cloneProvenance(provenance: readonly MemoryProvenance[] | undefined): MemoryProvenance[] | undefined {\n\treturn provenance?.map((entry) => ({ ...entry }));\n}\n\nfunction cloneGeneration(generation: MemoryGeneration): MemoryGeneration {\n\treturn { ...generation, scope: cloneScope(generation.scope) };\n}\n\nfunction cloneEntity(entity: MemoryEntity): MemoryEntity {\n\treturn {\n\t\t...entity,\n\t\tscope: cloneScope(entity.scope),\n\t\taliases: entity.aliases ? [...entity.aliases] : undefined,\n\t\tvalidTime: cloneInterval(entity.validTime),\n\t\ttransactionTime: cloneInterval(entity.transactionTime),\n\t};\n}\n\nfunction cloneAssertion(assertion: MemoryAssertion): MemoryAssertion {\n\treturn {\n\t\t...assertion,\n\t\tscope: cloneScope(assertion.scope),\n\t\tobject: cloneJsonValue(assertion.object),\n\t\tvalidTime: cloneInterval(assertion.validTime),\n\t\ttransactionTime: cloneInterval(assertion.transactionTime),\n\t\tprovenance: cloneProvenance(assertion.provenance),\n\t};\n}\n\nfunction cloneJsonValue(value: MemoryJsonValue): MemoryJsonValue {\n\tif (value === null || typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n\t\treturn value;\n\t}\n\tif (isMemoryJsonArray(value)) return value.map((item) => cloneJsonValue(item));\n\tconst clone: Record<string, MemoryJsonValue> = {};\n\tfor (const key of Object.keys(value)) {\n\t\tconst item = value[key];\n\t\tif (item !== undefined) clone[key] = cloneJsonValue(item);\n\t}\n\treturn clone;\n}\n\nfunction cloneEpisode(episode: MemoryEpisode): MemoryEpisode {\n\treturn {\n\t\t...episode,\n\t\tscope: cloneScope(episode.scope),\n\t\tvalidTime: cloneInterval(episode.validTime),\n\t\ttransactionTime: cloneInterval(episode.transactionTime),\n\t\tprovenance: cloneProvenance(episode.provenance),\n\t};\n}\n\nfunction clamp01(value: number): number {\n\tif (!Number.isFinite(value) || value <= 0) return 0;\n\tif (value >= 1) return 1;\n\treturn value;\n}\n"]}