open-multi-agent-kit 0.80.7 → 0.80.8

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 (1470) hide show
  1. package/CHANGELOG.md +4 -30
  2. package/README.md +80 -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 +7 -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/bash-executor.d.ts +1 -0
  65. package/dist/core/bash-executor.d.ts.map +1 -1
  66. package/dist/core/bash-executor.js +1 -0
  67. package/dist/core/bash-executor.js.map +1 -1
  68. package/dist/core/browser-use.d.ts +45 -0
  69. package/dist/core/browser-use.d.ts.map +1 -0
  70. package/dist/core/browser-use.js +70 -0
  71. package/dist/core/browser-use.js.map +1 -0
  72. package/dist/core/command-safety-parser.d.ts +77 -0
  73. package/dist/core/command-safety-parser.d.ts.map +1 -0
  74. package/dist/core/command-safety-parser.js +763 -0
  75. package/dist/core/command-safety-parser.js.map +1 -0
  76. package/dist/core/command-safety.d.ts.map +1 -1
  77. package/dist/core/command-safety.js +106 -3
  78. package/dist/core/command-safety.js.map +1 -1
  79. package/dist/core/compaction/branch-summarization.d.ts +2 -2
  80. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  81. package/dist/core/compaction/branch-summarization.js +5 -21
  82. package/dist/core/compaction/branch-summarization.js.map +1 -1
  83. package/dist/core/compaction/compaction.d.ts +3 -101
  84. package/dist/core/compaction/compaction.d.ts.map +1 -1
  85. package/dist/core/compaction/compaction.js +21 -656
  86. package/dist/core/compaction/compaction.js.map +1 -1
  87. package/dist/core/compaction/utils.d.ts +2 -2
  88. package/dist/core/compaction/utils.d.ts.map +1 -1
  89. package/dist/core/compaction/utils.js.map +1 -1
  90. package/dist/core/compactor.d.ts +42 -0
  91. package/dist/core/compactor.d.ts.map +1 -0
  92. package/dist/core/compactor.js +131 -0
  93. package/dist/core/compactor.js.map +1 -0
  94. package/dist/core/context-budget-compressors.d.ts +50 -0
  95. package/dist/core/context-budget-compressors.d.ts.map +1 -0
  96. package/dist/core/context-budget-compressors.js +166 -0
  97. package/dist/core/context-budget-compressors.js.map +1 -0
  98. package/dist/core/context-budget-governor-v2.d.ts +7 -0
  99. package/dist/core/context-budget-governor-v2.d.ts.map +1 -0
  100. package/dist/core/context-budget-governor-v2.js +7 -0
  101. package/dist/core/context-budget-governor-v2.js.map +1 -0
  102. package/dist/core/context-budget-governor.d.ts +67 -0
  103. package/dist/core/context-budget-governor.d.ts.map +1 -0
  104. package/dist/core/context-budget-governor.js +224 -0
  105. package/dist/core/context-budget-governor.js.map +1 -0
  106. package/dist/core/context-budget-headroom-candidates.d.ts +3 -0
  107. package/dist/core/context-budget-headroom-candidates.d.ts.map +1 -0
  108. package/dist/core/context-budget-headroom-candidates.js +85 -0
  109. package/dist/core/context-budget-headroom-candidates.js.map +1 -0
  110. package/dist/core/context-budget-headroom-types.d.ts +67 -0
  111. package/dist/core/context-budget-headroom-types.d.ts.map +1 -0
  112. package/dist/core/context-budget-headroom-types.js +46 -0
  113. package/dist/core/context-budget-headroom-types.js.map +1 -0
  114. package/dist/core/context-budget-headroom.d.ts +5 -0
  115. package/dist/core/context-budget-headroom.d.ts.map +1 -0
  116. package/dist/core/context-budget-headroom.js +123 -0
  117. package/dist/core/context-budget-headroom.js.map +1 -0
  118. package/dist/core/context-budget-relevance.d.ts +46 -0
  119. package/dist/core/context-budget-relevance.d.ts.map +1 -0
  120. package/dist/core/context-budget-relevance.js +329 -0
  121. package/dist/core/context-budget-relevance.js.map +1 -0
  122. package/dist/core/context-budget-system-prompt-items.d.ts +19 -0
  123. package/dist/core/context-budget-system-prompt-items.d.ts.map +1 -0
  124. package/dist/core/context-budget-system-prompt-items.js +143 -0
  125. package/dist/core/context-budget-system-prompt-items.js.map +1 -0
  126. package/dist/core/context-budget-system-prompt.d.ts +31 -0
  127. package/dist/core/context-budget-system-prompt.d.ts.map +1 -0
  128. package/dist/core/context-budget-system-prompt.js +87 -0
  129. package/dist/core/context-budget-system-prompt.js.map +1 -0
  130. package/dist/core/context-budget-token-counter.d.ts +34 -0
  131. package/dist/core/context-budget-token-counter.d.ts.map +1 -0
  132. package/dist/core/context-budget-token-counter.js +315 -0
  133. package/dist/core/context-budget-token-counter.js.map +1 -0
  134. package/dist/core/context-budget-v2-coverage.d.ts +5 -0
  135. package/dist/core/context-budget-v2-coverage.d.ts.map +1 -0
  136. package/dist/core/context-budget-v2-coverage.js +58 -0
  137. package/dist/core/context-budget-v2-coverage.js.map +1 -0
  138. package/dist/core/context-budget-v2-plan-hash.d.ts +12 -0
  139. package/dist/core/context-budget-v2-plan-hash.d.ts.map +1 -0
  140. package/dist/core/context-budget-v2-plan-hash.js +38 -0
  141. package/dist/core/context-budget-v2-plan-hash.js.map +1 -0
  142. package/dist/core/context-budget-v2-planner.d.ts +3 -0
  143. package/dist/core/context-budget-v2-planner.d.ts.map +1 -0
  144. package/dist/core/context-budget-v2-planner.js +143 -0
  145. package/dist/core/context-budget-v2-planner.js.map +1 -0
  146. package/dist/core/context-budget-v2-scoring.d.ts +14 -0
  147. package/dist/core/context-budget-v2-scoring.d.ts.map +1 -0
  148. package/dist/core/context-budget-v2-scoring.js +114 -0
  149. package/dist/core/context-budget-v2-scoring.js.map +1 -0
  150. package/dist/core/context-budget-v2-selection.d.ts +32 -0
  151. package/dist/core/context-budget-v2-selection.d.ts.map +1 -0
  152. package/dist/core/context-budget-v2-selection.js +158 -0
  153. package/dist/core/context-budget-v2-selection.js.map +1 -0
  154. package/dist/core/context-budget-v2-tiers.d.ts +15 -0
  155. package/dist/core/context-budget-v2-tiers.d.ts.map +1 -0
  156. package/dist/core/context-budget-v2-tiers.js +68 -0
  157. package/dist/core/context-budget-v2-tiers.js.map +1 -0
  158. package/dist/core/context-budget-v2-types.d.ts +92 -0
  159. package/dist/core/context-budget-v2-types.d.ts.map +1 -0
  160. package/dist/core/context-budget-v2-types.js +24 -0
  161. package/dist/core/context-budget-v2-types.js.map +1 -0
  162. package/dist/core/defaults.d.ts +1 -1
  163. package/dist/core/defaults.d.ts.map +1 -1
  164. package/dist/core/defaults.js.map +1 -1
  165. package/dist/core/diagnostics.d.ts +4 -0
  166. package/dist/core/diagnostics.d.ts.map +1 -1
  167. package/dist/core/diagnostics.js.map +1 -1
  168. package/dist/core/domain-confidence.d.ts +9 -0
  169. package/dist/core/domain-confidence.d.ts.map +1 -0
  170. package/dist/core/domain-confidence.js +39 -0
  171. package/dist/core/domain-confidence.js.map +1 -0
  172. package/dist/core/domain-dispatch.d.ts +44 -0
  173. package/dist/core/domain-dispatch.d.ts.map +1 -0
  174. package/dist/core/domain-dispatch.js +118 -0
  175. package/dist/core/domain-dispatch.js.map +1 -0
  176. package/dist/core/domain-loadouts.d.ts +76 -0
  177. package/dist/core/domain-loadouts.d.ts.map +1 -0
  178. package/dist/core/domain-loadouts.js +981 -0
  179. package/dist/core/domain-loadouts.js.map +1 -0
  180. package/dist/core/domain-registry.d.ts +7 -0
  181. package/dist/core/domain-registry.d.ts.map +1 -0
  182. package/dist/core/domain-registry.js +11 -0
  183. package/dist/core/domain-registry.js.map +1 -0
  184. package/dist/core/domain-router.d.ts +16 -0
  185. package/dist/core/domain-router.d.ts.map +1 -0
  186. package/dist/core/domain-router.js +24 -0
  187. package/dist/core/domain-router.js.map +1 -0
  188. package/dist/core/domain-score.d.ts +13 -0
  189. package/dist/core/domain-score.d.ts.map +1 -0
  190. package/dist/core/domain-score.js +48 -0
  191. package/dist/core/domain-score.js.map +1 -0
  192. package/dist/core/domain-trigger-match.d.ts +14 -0
  193. package/dist/core/domain-trigger-match.d.ts.map +1 -0
  194. package/dist/core/domain-trigger-match.js +51 -0
  195. package/dist/core/domain-trigger-match.js.map +1 -0
  196. package/dist/core/domain-types.d.ts +30 -0
  197. package/dist/core/domain-types.d.ts.map +1 -0
  198. package/dist/core/domain-types.js +2 -0
  199. package/dist/core/domain-types.js.map +1 -0
  200. package/dist/core/exact-cache-policy.d.ts +8 -0
  201. package/dist/core/exact-cache-policy.d.ts.map +1 -1
  202. package/dist/core/exact-cache-policy.js +9 -0
  203. package/dist/core/exact-cache-policy.js.map +1 -1
  204. package/dist/core/exec.d.ts +0 -2
  205. package/dist/core/exec.d.ts.map +1 -1
  206. package/dist/core/exec.js +0 -1
  207. package/dist/core/exec.js.map +1 -1
  208. package/dist/core/export-html/index.d.ts +1 -1
  209. package/dist/core/export-html/index.d.ts.map +1 -1
  210. package/dist/core/export-html/index.js.map +1 -1
  211. package/dist/core/export-html/template.js +1 -3
  212. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  213. package/dist/core/export-html/tool-renderer.js.map +1 -1
  214. package/dist/core/extensions/builtin/command-safety-gate.d.ts +3 -0
  215. package/dist/core/extensions/builtin/command-safety-gate.d.ts.map +1 -1
  216. package/dist/core/extensions/builtin/command-safety-gate.js +15 -3
  217. package/dist/core/extensions/builtin/command-safety-gate.js.map +1 -1
  218. package/dist/core/extensions/builtin/todo-checklist.d.ts +20 -0
  219. package/dist/core/extensions/builtin/todo-checklist.d.ts.map +1 -0
  220. package/dist/core/extensions/builtin/todo-checklist.js +70 -0
  221. package/dist/core/extensions/builtin/todo-checklist.js.map +1 -0
  222. package/dist/core/extensions/loader.d.ts +4 -4
  223. package/dist/core/extensions/loader.d.ts.map +1 -1
  224. package/dist/core/extensions/loader.js +57 -92
  225. package/dist/core/extensions/loader.js.map +1 -1
  226. package/dist/core/extensions/runner.d.ts +3 -3
  227. package/dist/core/extensions/runner.d.ts.map +1 -1
  228. package/dist/core/extensions/runner.js +1 -1
  229. package/dist/core/extensions/runner.js.map +1 -1
  230. package/dist/core/extensions/types.d.ts +7 -35
  231. package/dist/core/extensions/types.d.ts.map +1 -1
  232. package/dist/core/extensions/types.js.map +1 -1
  233. package/dist/core/extensions/wrapper.d.ts +1 -1
  234. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  235. package/dist/core/extensions/wrapper.js.map +1 -1
  236. package/dist/core/headroom.d.ts +45 -0
  237. package/dist/core/headroom.d.ts.map +1 -0
  238. package/dist/core/headroom.js +171 -0
  239. package/dist/core/headroom.js.map +1 -0
  240. package/dist/core/hook-inventory.d.ts +4 -2
  241. package/dist/core/hook-inventory.d.ts.map +1 -1
  242. package/dist/core/hook-inventory.js +80 -11
  243. package/dist/core/hook-inventory.js.map +1 -1
  244. package/dist/core/hooks/fail-closed.d.ts +4 -1
  245. package/dist/core/hooks/fail-closed.d.ts.map +1 -1
  246. package/dist/core/hooks/fail-closed.js +79 -5
  247. package/dist/core/hooks/fail-closed.js.map +1 -1
  248. package/dist/core/hooks/index.d.ts +2 -2
  249. package/dist/core/hooks/index.d.ts.map +1 -1
  250. package/dist/core/hooks/index.js +1 -1
  251. package/dist/core/hooks/index.js.map +1 -1
  252. package/dist/core/hooks/types.d.ts +9 -0
  253. package/dist/core/hooks/types.d.ts.map +1 -1
  254. package/dist/core/hooks/types.js.map +1 -1
  255. package/dist/core/keybindings.d.ts +2 -14
  256. package/dist/core/keybindings.d.ts.map +1 -1
  257. package/dist/core/keybindings.js +1 -31
  258. package/dist/core/keybindings.js.map +1 -1
  259. package/dist/core/lean-ctx.d.ts +99 -0
  260. package/dist/core/lean-ctx.d.ts.map +1 -0
  261. package/dist/core/lean-ctx.js +225 -0
  262. package/dist/core/lean-ctx.js.map +1 -0
  263. package/dist/core/loadout-compose.d.ts +53 -0
  264. package/dist/core/loadout-compose.d.ts.map +1 -0
  265. package/dist/core/loadout-compose.js +172 -0
  266. package/dist/core/loadout-compose.js.map +1 -0
  267. package/dist/core/loadout-policy-bridge.d.ts +22 -0
  268. package/dist/core/loadout-policy-bridge.d.ts.map +1 -0
  269. package/dist/core/loadout-policy-bridge.js +52 -0
  270. package/dist/core/loadout-policy-bridge.js.map +1 -0
  271. package/dist/core/loadout-runtime.d.ts +22 -0
  272. package/dist/core/loadout-runtime.d.ts.map +1 -1
  273. package/dist/core/loadout-runtime.js +41 -5
  274. package/dist/core/loadout-runtime.js.map +1 -1
  275. package/dist/core/loadout-safety.d.ts +55 -0
  276. package/dist/core/loadout-safety.d.ts.map +1 -0
  277. package/dist/core/loadout-safety.js +213 -0
  278. package/dist/core/loadout-safety.js.map +1 -0
  279. package/dist/core/loadouts.d.ts +4 -2
  280. package/dist/core/loadouts.d.ts.map +1 -1
  281. package/dist/core/loadouts.js +116 -5
  282. package/dist/core/loadouts.js.map +1 -1
  283. package/dist/core/loop-gates.d.ts +48 -0
  284. package/dist/core/loop-gates.d.ts.map +1 -0
  285. package/dist/core/loop-gates.js +352 -0
  286. package/dist/core/loop-gates.js.map +1 -0
  287. package/dist/core/loop-registry.d.ts +77 -0
  288. package/dist/core/loop-registry.d.ts.map +1 -0
  289. package/dist/core/loop-registry.js +831 -0
  290. package/dist/core/loop-registry.js.map +1 -0
  291. package/dist/core/loop-types.d.ts +194 -0
  292. package/dist/core/loop-types.d.ts.map +1 -0
  293. package/dist/core/loop-types.js +2 -0
  294. package/dist/core/loop-types.js.map +1 -0
  295. package/dist/core/mcp-inventory.d.ts +7 -0
  296. package/dist/core/mcp-inventory.d.ts.map +1 -1
  297. package/dist/core/mcp-inventory.js +5 -1
  298. package/dist/core/mcp-inventory.js.map +1 -1
  299. package/dist/core/mcp-presets.d.ts +43 -2
  300. package/dist/core/mcp-presets.d.ts.map +1 -1
  301. package/dist/core/mcp-presets.js +298 -2
  302. package/dist/core/mcp-presets.js.map +1 -1
  303. package/dist/core/messages.d.ts +3 -3
  304. package/dist/core/messages.d.ts.map +1 -1
  305. package/dist/core/messages.js.map +1 -1
  306. package/dist/core/metrics-sampler.d.ts +11 -0
  307. package/dist/core/metrics-sampler.d.ts.map +1 -1
  308. package/dist/core/metrics-sampler.js +52 -13
  309. package/dist/core/metrics-sampler.js.map +1 -1
  310. package/dist/core/model-registry.d.ts +1 -2
  311. package/dist/core/model-registry.d.ts.map +1 -1
  312. package/dist/core/model-registry.js +18 -41
  313. package/dist/core/model-registry.js.map +1 -1
  314. package/dist/core/model-resolver.d.ts +2 -2
  315. package/dist/core/model-resolver.d.ts.map +1 -1
  316. package/dist/core/model-resolver.js +1 -2
  317. package/dist/core/model-resolver.js.map +1 -1
  318. package/dist/core/package-gallery-identity.d.ts +7 -0
  319. package/dist/core/package-gallery-identity.d.ts.map +1 -0
  320. package/dist/core/package-gallery-identity.js +31 -0
  321. package/dist/core/package-gallery-identity.js.map +1 -0
  322. package/dist/core/package-gallery-install.d.ts +6 -0
  323. package/dist/core/package-gallery-install.d.ts.map +1 -0
  324. package/dist/core/package-gallery-install.js +59 -0
  325. package/dist/core/package-gallery-install.js.map +1 -0
  326. package/dist/core/package-gallery-manifest.d.ts +13 -0
  327. package/dist/core/package-gallery-manifest.d.ts.map +1 -0
  328. package/dist/core/package-gallery-manifest.js +183 -0
  329. package/dist/core/package-gallery-manifest.js.map +1 -0
  330. package/dist/core/package-gallery-trial.d.ts +4 -0
  331. package/dist/core/package-gallery-trial.d.ts.map +1 -0
  332. package/dist/core/package-gallery-trial.js +55 -0
  333. package/dist/core/package-gallery-trial.js.map +1 -0
  334. package/dist/core/package-gallery-types.d.ts +71 -0
  335. package/dist/core/package-gallery-types.d.ts.map +1 -0
  336. package/dist/core/package-gallery-types.js +2 -0
  337. package/dist/core/package-gallery-types.js.map +1 -0
  338. package/dist/core/package-gallery.d.ts +5 -123
  339. package/dist/core/package-gallery.d.ts.map +1 -1
  340. package/dist/core/package-gallery.js +5 -391
  341. package/dist/core/package-gallery.js.map +1 -1
  342. package/dist/core/package-manager.d.ts +0 -69
  343. package/dist/core/package-manager.d.ts.map +1 -1
  344. package/dist/core/package-manager.js +69 -367
  345. package/dist/core/package-manager.js.map +1 -1
  346. package/dist/core/package-procurement.d.ts +4 -4
  347. package/dist/core/package-procurement.d.ts.map +1 -1
  348. package/dist/core/package-procurement.js +29 -17
  349. package/dist/core/package-procurement.js.map +1 -1
  350. package/dist/core/provider-attribution.d.ts +1 -1
  351. package/dist/core/provider-attribution.d.ts.map +1 -1
  352. package/dist/core/provider-attribution.js.map +1 -1
  353. package/dist/core/read-anchors.d.ts +1 -1
  354. package/dist/core/read-anchors.d.ts.map +1 -1
  355. package/dist/core/read-anchors.js +1 -1
  356. package/dist/core/read-anchors.js.map +1 -1
  357. package/dist/core/recovery-checkpoint.d.ts +2 -2
  358. package/dist/core/recovery-checkpoint.d.ts.map +1 -1
  359. package/dist/core/recovery-checkpoint.js +2 -2
  360. package/dist/core/recovery-checkpoint.js.map +1 -1
  361. package/dist/core/resolve-config-value.d.ts +1 -1
  362. package/dist/core/resolve-config-value.d.ts.map +1 -1
  363. package/dist/core/resolve-config-value.js +2 -30
  364. package/dist/core/resolve-config-value.js.map +1 -1
  365. package/dist/core/resource-loader.d.ts +12 -20
  366. package/dist/core/resource-loader.d.ts.map +1 -1
  367. package/dist/core/resource-loader.js +66 -90
  368. package/dist/core/resource-loader.js.map +1 -1
  369. package/dist/core/sandbox-policy-v2.d.ts +49 -0
  370. package/dist/core/sandbox-policy-v2.d.ts.map +1 -0
  371. package/dist/core/sandbox-policy-v2.js +368 -0
  372. package/dist/core/sandbox-policy-v2.js.map +1 -0
  373. package/dist/core/sdk.d.ts +10 -78
  374. package/dist/core/sdk.d.ts.map +1 -1
  375. package/dist/core/sdk.js +97 -139
  376. package/dist/core/sdk.js.map +1 -1
  377. package/dist/core/semantic-cache-policy.d.ts +7 -1
  378. package/dist/core/semantic-cache-policy.d.ts.map +1 -1
  379. package/dist/core/semantic-cache-policy.js +8 -0
  380. package/dist/core/semantic-cache-policy.js.map +1 -1
  381. package/dist/core/session-manager.d.ts +2 -4
  382. package/dist/core/session-manager.d.ts.map +1 -1
  383. package/dist/core/session-manager.js +5 -6
  384. package/dist/core/session-manager.js.map +1 -1
  385. package/dist/core/settings-manager.d.ts +1 -18
  386. package/dist/core/settings-manager.d.ts.map +1 -1
  387. package/dist/core/settings-manager.js +2 -48
  388. package/dist/core/settings-manager.js.map +1 -1
  389. package/dist/core/skills.d.ts +1 -0
  390. package/dist/core/skills.d.ts.map +1 -1
  391. package/dist/core/skills.js +46 -5
  392. package/dist/core/skills.js.map +1 -1
  393. package/dist/core/slash-commands.d.ts.map +1 -1
  394. package/dist/core/slash-commands.js +0 -2
  395. package/dist/core/slash-commands.js.map +1 -1
  396. package/dist/core/subagent-orchestration.d.ts +73 -0
  397. package/dist/core/subagent-orchestration.d.ts.map +1 -0
  398. package/dist/core/subagent-orchestration.js +408 -0
  399. package/dist/core/subagent-orchestration.js.map +1 -0
  400. package/dist/core/system-prompt.d.ts +5 -4
  401. package/dist/core/system-prompt.d.ts.map +1 -1
  402. package/dist/core/system-prompt.js +57 -36
  403. package/dist/core/system-prompt.js.map +1 -1
  404. package/dist/core/timings.d.ts +0 -4
  405. package/dist/core/timings.d.ts.map +1 -1
  406. package/dist/core/timings.js +0 -4
  407. package/dist/core/timings.js.map +1 -1
  408. package/dist/core/todo-state.d.ts +53 -0
  409. package/dist/core/todo-state.d.ts.map +1 -0
  410. package/dist/core/todo-state.js +87 -0
  411. package/dist/core/todo-state.js.map +1 -0
  412. package/dist/core/token-optimizer.d.ts +58 -0
  413. package/dist/core/token-optimizer.d.ts.map +1 -0
  414. package/dist/core/token-optimizer.js +179 -0
  415. package/dist/core/token-optimizer.js.map +1 -0
  416. package/dist/core/tools/bash.d.ts +8 -9
  417. package/dist/core/tools/bash.d.ts.map +1 -1
  418. package/dist/core/tools/bash.js +9 -8
  419. package/dist/core/tools/bash.js.map +1 -1
  420. package/dist/core/tools/edit.d.ts +3 -14
  421. package/dist/core/tools/edit.d.ts.map +1 -1
  422. package/dist/core/tools/edit.js +4 -25
  423. package/dist/core/tools/edit.js.map +1 -1
  424. package/dist/core/tools/find.d.ts +1 -4
  425. package/dist/core/tools/find.d.ts.map +1 -1
  426. package/dist/core/tools/find.js +1 -4
  427. package/dist/core/tools/find.js.map +1 -1
  428. package/dist/core/tools/grep.d.ts +1 -4
  429. package/dist/core/tools/grep.d.ts.map +1 -1
  430. package/dist/core/tools/grep.js +2 -5
  431. package/dist/core/tools/grep.js.map +1 -1
  432. package/dist/core/tools/index.d.ts +2 -2
  433. package/dist/core/tools/index.d.ts.map +1 -1
  434. package/dist/core/tools/index.js.map +1 -1
  435. package/dist/core/tools/ls.d.ts +1 -4
  436. package/dist/core/tools/ls.d.ts.map +1 -1
  437. package/dist/core/tools/ls.js +1 -4
  438. package/dist/core/tools/ls.js.map +1 -1
  439. package/dist/core/tools/read.d.ts +2 -14
  440. package/dist/core/tools/read.d.ts.map +1 -1
  441. package/dist/core/tools/read.js +4 -28
  442. package/dist/core/tools/read.js.map +1 -1
  443. package/dist/core/tools/render-utils.d.ts +1 -1
  444. package/dist/core/tools/render-utils.d.ts.map +1 -1
  445. package/dist/core/tools/render-utils.js +1 -1
  446. package/dist/core/tools/render-utils.js.map +1 -1
  447. package/dist/core/tools/tool-definition-wrapper.d.ts +1 -1
  448. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  449. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  450. package/dist/core/tools/write.d.ts +2 -4
  451. package/dist/core/tools/write.d.ts.map +1 -1
  452. package/dist/core/tools/write.js +4 -4
  453. package/dist/core/tools/write.js.map +1 -1
  454. package/dist/encoding/index.d.ts +6 -0
  455. package/dist/encoding/index.d.ts.map +1 -0
  456. package/dist/encoding/index.js +6 -0
  457. package/dist/encoding/index.js.map +1 -0
  458. package/dist/encoding/l4-encoder.d.ts +96 -0
  459. package/dist/encoding/l4-encoder.d.ts.map +1 -0
  460. package/dist/encoding/l4-encoder.js +474 -0
  461. package/dist/encoding/l4-encoder.js.map +1 -0
  462. package/dist/fuzzing/index.d.ts +6 -0
  463. package/dist/fuzzing/index.d.ts.map +1 -0
  464. package/dist/fuzzing/index.js +6 -0
  465. package/dist/fuzzing/index.js.map +1 -0
  466. package/dist/fuzzing/mutation-engine.d.ts +93 -0
  467. package/dist/fuzzing/mutation-engine.d.ts.map +1 -0
  468. package/dist/fuzzing/mutation-engine.js +244 -0
  469. package/dist/fuzzing/mutation-engine.js.map +1 -0
  470. package/dist/guardrails/audit-logger.d.ts +4 -0
  471. package/dist/guardrails/audit-logger.d.ts.map +1 -0
  472. package/dist/guardrails/audit-logger.js +28 -0
  473. package/dist/guardrails/audit-logger.js.map +1 -0
  474. package/dist/guardrails/evidence-system.d.ts +61 -0
  475. package/dist/guardrails/evidence-system.d.ts.map +1 -0
  476. package/dist/guardrails/evidence-system.js +302 -0
  477. package/dist/guardrails/evidence-system.js.map +1 -0
  478. package/dist/guardrails/freedomd-adapter.d.ts +16 -0
  479. package/dist/guardrails/freedomd-adapter.d.ts.map +1 -0
  480. package/dist/guardrails/freedomd-adapter.js +87 -0
  481. package/dist/guardrails/freedomd-adapter.js.map +1 -0
  482. package/dist/index.d.ts +4 -19
  483. package/dist/index.d.ts.map +1 -1
  484. package/dist/index.js +2 -17
  485. package/dist/index.js.map +1 -1
  486. package/dist/jailbreak-extension.d.ts +48 -0
  487. package/dist/jailbreak-extension.d.ts.map +1 -0
  488. package/dist/jailbreak-extension.js +47 -0
  489. package/dist/jailbreak-extension.js.map +1 -0
  490. package/dist/main.d.ts.map +1 -1
  491. package/dist/main.js +2 -2
  492. package/dist/main.js.map +1 -1
  493. package/dist/migrations.d.ts +0 -37
  494. package/dist/migrations.d.ts.map +1 -1
  495. package/dist/migrations.js +6 -414
  496. package/dist/migrations.js.map +1 -1
  497. package/dist/modes/interactive/components/armin.d.ts +1 -1
  498. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  499. package/dist/modes/interactive/components/armin.js.map +1 -1
  500. package/dist/modes/interactive/components/assistant-message.d.ts +2 -2
  501. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  502. package/dist/modes/interactive/components/assistant-message.js +1 -1
  503. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  504. package/dist/modes/interactive/components/bash-execution.d.ts +1 -1
  505. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  506. package/dist/modes/interactive/components/bash-execution.js +1 -1
  507. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  508. package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
  509. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  510. package/dist/modes/interactive/components/bordered-loader.js +1 -1
  511. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  512. package/dist/modes/interactive/components/branch-summary-message.d.ts +1 -1
  513. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  514. package/dist/modes/interactive/components/branch-summary-message.js +1 -1
  515. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  516. package/dist/modes/interactive/components/compaction-summary-message.d.ts +1 -1
  517. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  518. package/dist/modes/interactive/components/compaction-summary-message.js +1 -1
  519. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  520. package/dist/modes/interactive/components/config-selector.d.ts +1 -1
  521. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  522. package/dist/modes/interactive/components/config-selector.js +1 -1
  523. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  524. package/dist/modes/interactive/components/control-panel-box.d.ts +15 -0
  525. package/dist/modes/interactive/components/control-panel-box.d.ts.map +1 -0
  526. package/dist/modes/interactive/components/control-panel-box.js +55 -0
  527. package/dist/modes/interactive/components/control-panel-box.js.map +1 -0
  528. package/dist/modes/interactive/components/control-panel-gradient-motion.d.ts.map +1 -1
  529. package/dist/modes/interactive/components/control-panel-gradient-motion.js +2 -36
  530. package/dist/modes/interactive/components/control-panel-gradient-motion.js.map +1 -1
  531. package/dist/modes/interactive/components/control-panel-gradient.d.ts +1 -0
  532. package/dist/modes/interactive/components/control-panel-gradient.d.ts.map +1 -1
  533. package/dist/modes/interactive/components/control-panel-gradient.js +6 -5
  534. package/dist/modes/interactive/components/control-panel-gradient.js.map +1 -1
  535. package/dist/modes/interactive/components/control-panel-layout.d.ts +23 -0
  536. package/dist/modes/interactive/components/control-panel-layout.d.ts.map +1 -0
  537. package/dist/modes/interactive/components/control-panel-layout.js +165 -0
  538. package/dist/modes/interactive/components/control-panel-layout.js.map +1 -0
  539. package/dist/modes/interactive/components/control-panel-runtime-status.d.ts +5 -0
  540. package/dist/modes/interactive/components/control-panel-runtime-status.d.ts.map +1 -0
  541. package/dist/modes/interactive/components/control-panel-runtime-status.js +20 -0
  542. package/dist/modes/interactive/components/control-panel-runtime-status.js.map +1 -0
  543. package/dist/modes/interactive/components/control-panel.d.ts +8 -31
  544. package/dist/modes/interactive/components/control-panel.d.ts.map +1 -1
  545. package/dist/modes/interactive/components/control-panel.js +38 -169
  546. package/dist/modes/interactive/components/control-panel.js.map +1 -1
  547. package/dist/modes/interactive/components/countdown-timer.d.ts +1 -1
  548. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  549. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  550. package/dist/modes/interactive/components/custom-editor.d.ts +1 -1
  551. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  552. package/dist/modes/interactive/components/custom-editor.js +14 -22
  553. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  554. package/dist/modes/interactive/components/custom-message.d.ts +1 -1
  555. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  556. package/dist/modes/interactive/components/custom-message.js +1 -1
  557. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  558. package/dist/modes/interactive/components/daxnuts.d.ts +1 -1
  559. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
  560. package/dist/modes/interactive/components/daxnuts.js.map +1 -1
  561. package/dist/modes/interactive/components/dynamic-border.d.ts +1 -1
  562. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  563. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  564. package/dist/modes/interactive/components/earendil-announcement.d.ts +1 -1
  565. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
  566. package/dist/modes/interactive/components/earendil-announcement.js +1 -1
  567. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
  568. package/dist/modes/interactive/components/extension-editor.d.ts +1 -1
  569. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  570. package/dist/modes/interactive/components/extension-editor.js +1 -1
  571. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  572. package/dist/modes/interactive/components/extension-input.d.ts +1 -1
  573. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  574. package/dist/modes/interactive/components/extension-input.js +1 -1
  575. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  576. package/dist/modes/interactive/components/extension-selector.d.ts +1 -1
  577. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  578. package/dist/modes/interactive/components/extension-selector.js +1 -1
  579. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  580. package/dist/modes/interactive/components/footer.d.ts +1 -1
  581. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  582. package/dist/modes/interactive/components/footer.js +1 -9
  583. package/dist/modes/interactive/components/footer.js.map +1 -1
  584. package/dist/modes/interactive/components/index.d.ts +0 -2
  585. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  586. package/dist/modes/interactive/components/index.js +0 -2
  587. package/dist/modes/interactive/components/index.js.map +1 -1
  588. package/dist/modes/interactive/components/keybinding-hints.d.ts +1 -1
  589. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  590. package/dist/modes/interactive/components/keybinding-hints.js +1 -1
  591. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  592. package/dist/modes/interactive/components/login-dialog.d.ts +2 -2
  593. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  594. package/dist/modes/interactive/components/login-dialog.js +2 -2
  595. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  596. package/dist/modes/interactive/components/model-selector.d.ts +13 -47
  597. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  598. package/dist/modes/interactive/components/model-selector.js +118 -193
  599. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  600. package/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
  601. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  602. package/dist/modes/interactive/components/oauth-selector.js +1 -1
  603. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  604. package/dist/modes/interactive/components/scoped-models-selector.d.ts +2 -2
  605. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  606. package/dist/modes/interactive/components/scoped-models-selector.js +1 -1
  607. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  608. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  609. package/dist/modes/interactive/components/session-selector-search.js +1 -1
  610. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  611. package/dist/modes/interactive/components/session-selector.d.ts +1 -1
  612. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  613. package/dist/modes/interactive/components/session-selector.js +1 -1
  614. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  615. package/dist/modes/interactive/components/settings-selector.d.ts +3 -3
  616. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  617. package/dist/modes/interactive/components/settings-selector.js +1 -1
  618. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  619. package/dist/modes/interactive/components/show-images-selector.d.ts +1 -1
  620. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  621. package/dist/modes/interactive/components/show-images-selector.js +1 -1
  622. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  623. package/dist/modes/interactive/components/skill-invocation-message.d.ts +1 -1
  624. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  625. package/dist/modes/interactive/components/skill-invocation-message.js +1 -1
  626. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  627. package/dist/modes/interactive/components/theme-selector.d.ts +1 -2
  628. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  629. package/dist/modes/interactive/components/theme-selector.js +2 -11
  630. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  631. package/dist/modes/interactive/components/thinking-selector.d.ts +8 -7
  632. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  633. package/dist/modes/interactive/components/thinking-selector.js +48 -7
  634. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  635. package/dist/modes/interactive/components/todo-checklist.d.ts +31 -0
  636. package/dist/modes/interactive/components/todo-checklist.d.ts.map +1 -0
  637. package/dist/modes/interactive/components/todo-checklist.js +121 -0
  638. package/dist/modes/interactive/components/todo-checklist.js.map +1 -0
  639. package/dist/modes/interactive/components/tool-execution.d.ts +1 -1
  640. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  641. package/dist/modes/interactive/components/tool-execution.js +1 -1
  642. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  643. package/dist/modes/interactive/components/tree-selector.d.ts +1 -1
  644. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  645. package/dist/modes/interactive/components/tree-selector.js +1 -1
  646. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  647. package/dist/modes/interactive/components/user-message-selector.d.ts +1 -1
  648. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  649. package/dist/modes/interactive/components/user-message-selector.js +1 -1
  650. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  651. package/dist/modes/interactive/components/user-message.d.ts +1 -1
  652. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  653. package/dist/modes/interactive/components/user-message.js +1 -1
  654. package/dist/modes/interactive/components/user-message.js.map +1 -1
  655. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
  656. package/dist/modes/interactive/components/visual-truncate.js +1 -1
  657. package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
  658. package/dist/modes/interactive/interactive-mode.d.ts +3 -8
  659. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  660. package/dist/modes/interactive/interactive-mode.js +74 -232
  661. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  662. package/dist/modes/interactive/theme/omk-control-grid-dark.json +65 -77
  663. package/dist/modes/interactive/theme/omk-neon-control.json +90 -0
  664. package/dist/modes/interactive/theme/rust-forge.json +14 -24
  665. package/dist/modes/interactive/theme/theme.d.ts +1 -1
  666. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  667. package/dist/modes/interactive/theme/theme.js +22 -45
  668. package/dist/modes/interactive/theme/theme.js.map +1 -1
  669. package/dist/modes/print-mode.d.ts +1 -1
  670. package/dist/modes/print-mode.d.ts.map +1 -1
  671. package/dist/modes/print-mode.js.map +1 -1
  672. package/dist/modes/rpc/rpc-client.d.ts +2 -2
  673. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  674. package/dist/modes/rpc/rpc-client.js.map +1 -1
  675. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  676. package/dist/modes/rpc/rpc-mode.js +0 -4
  677. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  678. package/dist/modes/rpc/rpc-types.d.ts +2 -2
  679. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  680. package/dist/modes/rpc/rpc-types.js.map +1 -1
  681. package/dist/modules/index.d.ts +8 -0
  682. package/dist/modules/index.d.ts.map +1 -0
  683. package/dist/modules/index.js +7 -0
  684. package/dist/modules/index.js.map +1 -0
  685. package/dist/modules/lrl-bypass.d.ts +40 -0
  686. package/dist/modules/lrl-bypass.d.ts.map +1 -0
  687. package/dist/modules/lrl-bypass.js +84 -0
  688. package/dist/modules/lrl-bypass.js.map +1 -0
  689. package/dist/modules/lrl-deps.d.ts +38 -0
  690. package/dist/modules/lrl-deps.d.ts.map +1 -0
  691. package/dist/modules/lrl-deps.js +128 -0
  692. package/dist/modules/lrl-deps.js.map +1 -0
  693. package/dist/multiturn/easl-chain.d.ts +113 -0
  694. package/dist/multiturn/easl-chain.d.ts.map +1 -0
  695. package/dist/multiturn/easl-chain.js +351 -0
  696. package/dist/multiturn/easl-chain.js.map +1 -0
  697. package/dist/multiturn/index.d.ts +6 -0
  698. package/dist/multiturn/index.d.ts.map +1 -0
  699. package/dist/multiturn/index.js +6 -0
  700. package/dist/multiturn/index.js.map +1 -0
  701. package/dist/orchestration/lane-grant-auditor.d.ts +4 -0
  702. package/dist/orchestration/lane-grant-auditor.d.ts.map +1 -0
  703. package/dist/orchestration/lane-grant-auditor.js +87 -0
  704. package/dist/orchestration/lane-grant-auditor.js.map +1 -0
  705. package/dist/package-manager-cli.d.ts.map +1 -1
  706. package/dist/package-manager-cli.js +48 -113
  707. package/dist/package-manager-cli.js.map +1 -1
  708. package/dist/routing/fallback-router.d.ts +123 -0
  709. package/dist/routing/fallback-router.d.ts.map +1 -0
  710. package/dist/routing/fallback-router.js +355 -0
  711. package/dist/routing/fallback-router.js.map +1 -0
  712. package/dist/routing/index.d.ts +6 -0
  713. package/dist/routing/index.d.ts.map +1 -0
  714. package/dist/routing/index.js +6 -0
  715. package/dist/routing/index.js.map +1 -0
  716. package/dist/types/evidence.d.ts +117 -0
  717. package/dist/types/evidence.d.ts.map +1 -0
  718. package/dist/types/evidence.js +8 -0
  719. package/dist/types/evidence.js.map +1 -0
  720. package/dist/types/guardrails.d.ts +61 -0
  721. package/dist/types/guardrails.d.ts.map +1 -0
  722. package/dist/types/guardrails.js +9 -0
  723. package/dist/types/guardrails.js.map +1 -0
  724. package/dist/types/jailbreak.d.ts +246 -0
  725. package/dist/types/jailbreak.d.ts.map +1 -0
  726. package/dist/types/jailbreak.js +8 -0
  727. package/dist/types/jailbreak.js.map +1 -0
  728. package/dist/types/lane-grant.d.ts +58 -0
  729. package/dist/types/lane-grant.d.ts.map +1 -0
  730. package/dist/types/lane-grant.js +9 -0
  731. package/dist/types/lane-grant.js.map +1 -0
  732. package/dist/utils/jailbreak/common.d.ts +63 -0
  733. package/dist/utils/jailbreak/common.d.ts.map +1 -0
  734. package/dist/utils/jailbreak/common.js +130 -0
  735. package/dist/utils/jailbreak/common.js.map +1 -0
  736. package/dist/utils/jailbreak/index.d.ts +7 -0
  737. package/dist/utils/jailbreak/index.d.ts.map +1 -0
  738. package/dist/utils/jailbreak/index.js +7 -0
  739. package/dist/utils/jailbreak/index.js.map +1 -0
  740. package/dist/utils/windows-self-update.d.ts.map +1 -1
  741. package/dist/utils/windows-self-update.js +1 -1
  742. package/dist/utils/windows-self-update.js.map +1 -1
  743. package/docs/compaction.md +8 -21
  744. package/docs/custom-provider.md +2 -2
  745. package/docs/development.md +1 -1
  746. package/docs/extensions.md +11 -11
  747. package/docs/loadout-domains/README.md +70 -0
  748. package/docs/loadout-domains/ai-agent-ops.md +94 -0
  749. package/docs/loadout-domains/backend-api.md +116 -0
  750. package/docs/loadout-domains/data-science.md +100 -0
  751. package/docs/loadout-domains/devops-infra.md +85 -0
  752. package/docs/loadout-domains/docs-writing.md +92 -0
  753. package/docs/loadout-domains/frontend-ui.md +128 -0
  754. package/docs/loadout-domains/general.md +62 -0
  755. package/docs/loadout-domains/mobile.md +84 -0
  756. package/docs/loadout-domains/qa-testing.md +87 -0
  757. package/docs/loadout-domains/research.md +80 -0
  758. package/docs/loadout-domains/security-audit.md +97 -0
  759. package/docs/packages.md +7 -48
  760. package/docs/prompt-templates.md +0 -2
  761. package/docs/sdk.md +3 -3
  762. package/docs/security.md +145 -0
  763. package/docs/session-format.md +1 -1
  764. package/docs/themes.md +8 -7
  765. package/docs/tui.md +14 -14
  766. package/docs/usage.md +6 -16
  767. package/examples/extensions/README.md +2 -2
  768. package/examples/extensions/aside-computer-use/README.md +114 -0
  769. package/examples/extensions/aside-computer-use/action-scoring.ts +122 -0
  770. package/examples/extensions/aside-computer-use/assertions.ts +380 -0
  771. package/examples/extensions/aside-computer-use/controller.ts +491 -0
  772. package/examples/extensions/aside-computer-use/evidence.ts +229 -0
  773. package/examples/extensions/aside-computer-use/golden-trace.ts +141 -0
  774. package/examples/extensions/aside-computer-use/index.ts +76 -0
  775. package/examples/extensions/aside-computer-use/mcp-client.ts +381 -0
  776. package/examples/extensions/aside-computer-use/observation-snapshot.ts +121 -0
  777. package/examples/extensions/aside-computer-use/package.json +16 -0
  778. package/examples/extensions/aside-computer-use/policy.ts +257 -0
  779. package/examples/extensions/aside-computer-use/risk-authorize.ts +200 -0
  780. package/examples/extensions/aside-computer-use/risk-classifier.ts +205 -0
  781. package/examples/extensions/aside-computer-use/schema-fingerprint.ts +80 -0
  782. package/examples/extensions/aside-computer-use/session-binding.ts +161 -0
  783. package/examples/extensions/aside-computer-use/tools.ts +449 -0
  784. package/examples/extensions/aside-computer-use/types.ts +217 -0
  785. package/examples/extensions/aside-computer-use/url-origin.ts +132 -0
  786. package/examples/extensions/bash-spawn-hook.ts +1 -1
  787. package/examples/extensions/border-status-editor.ts +2 -2
  788. package/examples/extensions/built-in-tool-renderer.ts +1 -1
  789. package/examples/extensions/custom-compaction.ts +1 -1
  790. package/examples/extensions/custom-footer.ts +2 -2
  791. package/examples/extensions/custom-header.ts +8 -8
  792. package/examples/extensions/custom-provider-anthropic/index.ts +1 -1
  793. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  794. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  795. package/examples/extensions/custom-provider-gitlab-duo/index.ts +1 -1
  796. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  797. package/examples/extensions/custom-provider-gitlab-duo/test.ts +1 -1
  798. package/examples/extensions/doom-overlay/README.md +1 -2
  799. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  800. package/examples/extensions/doom-overlay/doom/build.sh +4 -4
  801. package/examples/extensions/doom-overlay/doom/doomgeneric_omk.c +72 -0
  802. package/examples/extensions/doom-overlay/doom-component.ts +2 -2
  803. package/examples/extensions/doom-overlay/doom-keys.ts +1 -1
  804. package/examples/extensions/git-merge-and-resolve.ts +1 -1
  805. package/examples/extensions/github-issue-autocomplete.ts +1 -6
  806. package/examples/extensions/gondolin/index.ts +1 -1
  807. package/examples/extensions/gondolin/package-lock.json +2 -2
  808. package/examples/extensions/gondolin/package.json +1 -1
  809. package/examples/extensions/handoff.ts +2 -2
  810. package/examples/extensions/hello.ts +1 -1
  811. package/examples/extensions/inline-bash.ts +1 -1
  812. package/examples/extensions/input-transform-streaming.ts +1 -1
  813. package/examples/extensions/input-transform.ts +2 -2
  814. package/examples/extensions/mac-system-theme.ts +1 -1
  815. package/examples/extensions/message-renderer.ts +1 -1
  816. package/examples/extensions/minimal-mode.ts +1 -1
  817. package/examples/extensions/modal-editor.ts +1 -1
  818. package/examples/extensions/overlay-qa-tests.ts +7 -7
  819. package/examples/extensions/overlay-test.ts +1 -1
  820. package/examples/extensions/plan-mode/index.ts +3 -3
  821. package/examples/extensions/preset.ts +4 -4
  822. package/examples/extensions/provider-payload.ts +6 -3
  823. package/examples/extensions/qna.ts +1 -1
  824. package/examples/extensions/question.ts +1 -1
  825. package/examples/extensions/questionnaire.ts +1 -1
  826. package/examples/extensions/rpc-demo.ts +1 -1
  827. package/examples/extensions/sandbox/index.ts +2 -2
  828. package/examples/extensions/sandbox/package-lock.json +2 -2
  829. package/examples/extensions/sandbox/package.json +1 -1
  830. package/examples/extensions/shutdown-command.ts +5 -5
  831. package/examples/extensions/snake.ts +1 -1
  832. package/examples/extensions/space-invaders.ts +1 -1
  833. package/examples/extensions/structured-output.ts +1 -1
  834. package/examples/extensions/subagent/agents.ts +2 -2
  835. package/examples/extensions/subagent/index.ts +19 -51
  836. package/examples/extensions/summarize.ts +2 -2
  837. package/examples/extensions/tic-tac-toe.ts +2 -2
  838. package/examples/extensions/todo.ts +2 -2
  839. package/examples/extensions/tool-override.ts +1 -1
  840. package/examples/extensions/tools.ts +1 -1
  841. package/examples/extensions/truncated-tool.ts +1 -1
  842. package/examples/extensions/with-deps/package-lock.json +2 -2
  843. package/examples/extensions/with-deps/package.json +1 -1
  844. package/examples/extensions/working-indicator.ts +3 -3
  845. package/examples/rpc-extension-ui.ts +1 -9
  846. package/examples/sdk/02-custom-model.ts +1 -1
  847. package/examples/sdk/07-context-files.ts +0 -2
  848. package/examples/sdk/12-full-control.ts +1 -1
  849. package/examples/sdk/README.md +1 -1
  850. package/npm-shrinkwrap.json +1805 -0
  851. package/package.json +10 -32
  852. package/dist/core/compaction/pruner-policy.d.ts +0 -84
  853. package/dist/core/compaction/pruner-policy.d.ts.map +0 -1
  854. package/dist/core/compaction/pruner-policy.js +0 -273
  855. package/dist/core/compaction/pruner-policy.js.map +0 -1
  856. package/dist/core/context-graph-identity-resolution.d.ts +0 -114
  857. package/dist/core/context-graph-identity-resolution.d.ts.map +0 -1
  858. package/dist/core/context-graph-identity-resolution.js +0 -127
  859. package/dist/core/context-graph-identity-resolution.js.map +0 -1
  860. package/dist/core/context-graph-memory-store.d.ts +0 -153
  861. package/dist/core/context-graph-memory-store.d.ts.map +0 -1
  862. package/dist/core/context-graph-memory-store.js +0 -377
  863. package/dist/core/context-graph-memory-store.js.map +0 -1
  864. package/dist/core/context-graph-ontology-generation.d.ts +0 -104
  865. package/dist/core/context-graph-ontology-generation.d.ts.map +0 -1
  866. package/dist/core/context-graph-ontology-generation.js +0 -135
  867. package/dist/core/context-graph-ontology-generation.js.map +0 -1
  868. package/dist/core/context-graph-ontology-registry.d.ts +0 -766
  869. package/dist/core/context-graph-ontology-registry.d.ts.map +0 -1
  870. package/dist/core/context-graph-ontology-registry.js +0 -1133
  871. package/dist/core/context-graph-ontology-registry.js.map +0 -1
  872. package/dist/core/context-graph-policy.d.ts +0 -68
  873. package/dist/core/context-graph-policy.d.ts.map +0 -1
  874. package/dist/core/context-graph-policy.js +0 -221
  875. package/dist/core/context-graph-policy.js.map +0 -1
  876. package/dist/core/context-graph-reasoning.d.ts +0 -130
  877. package/dist/core/context-graph-reasoning.d.ts.map +0 -1
  878. package/dist/core/context-graph-reasoning.js +0 -442
  879. package/dist/core/context-graph-reasoning.js.map +0 -1
  880. package/dist/core/context-graph-retrieval.d.ts +0 -120
  881. package/dist/core/context-graph-retrieval.d.ts.map +0 -1
  882. package/dist/core/context-graph-retrieval.js +0 -288
  883. package/dist/core/context-graph-retrieval.js.map +0 -1
  884. package/dist/core/contract-verification.d.ts +0 -78
  885. package/dist/core/contract-verification.d.ts.map +0 -1
  886. package/dist/core/contract-verification.js +0 -110
  887. package/dist/core/contract-verification.js.map +0 -1
  888. package/dist/core/freedom/banner.d.ts +0 -14
  889. package/dist/core/freedom/banner.d.ts.map +0 -1
  890. package/dist/core/freedom/banner.js +0 -22
  891. package/dist/core/freedom/banner.js.map +0 -1
  892. package/dist/core/freedom/config.d.ts +0 -27
  893. package/dist/core/freedom/config.d.ts.map +0 -1
  894. package/dist/core/freedom/config.js +0 -216
  895. package/dist/core/freedom/config.js.map +0 -1
  896. package/dist/core/freedom/index.d.ts +0 -23
  897. package/dist/core/freedom/index.d.ts.map +0 -1
  898. package/dist/core/freedom/index.js +0 -19
  899. package/dist/core/freedom/index.js.map +0 -1
  900. package/dist/core/freedom/policy.d.ts +0 -42
  901. package/dist/core/freedom/policy.d.ts.map +0 -1
  902. package/dist/core/freedom/policy.js +0 -47
  903. package/dist/core/freedom/policy.js.map +0 -1
  904. package/dist/core/freedom/safety-floor.d.ts +0 -73
  905. package/dist/core/freedom/safety-floor.d.ts.map +0 -1
  906. package/dist/core/freedom/safety-floor.js +0 -275
  907. package/dist/core/freedom/safety-floor.js.map +0 -1
  908. package/dist/core/harness-control-events.d.ts +0 -91
  909. package/dist/core/harness-control-events.d.ts.map +0 -1
  910. package/dist/core/harness-control-events.js +0 -514
  911. package/dist/core/harness-control-events.js.map +0 -1
  912. package/dist/core/harness-control-replay.d.ts +0 -31
  913. package/dist/core/harness-control-replay.d.ts.map +0 -1
  914. package/dist/core/harness-control-replay.js +0 -187
  915. package/dist/core/harness-control-replay.js.map +0 -1
  916. package/dist/core/headroom-middleware.d.ts +0 -35
  917. package/dist/core/headroom-middleware.d.ts.map +0 -1
  918. package/dist/core/headroom-middleware.js +0 -166
  919. package/dist/core/headroom-middleware.js.map +0 -1
  920. package/dist/core/lean-context-middleware.d.ts +0 -12
  921. package/dist/core/lean-context-middleware.d.ts.map +0 -1
  922. package/dist/core/lean-context-middleware.js +0 -87
  923. package/dist/core/lean-context-middleware.js.map +0 -1
  924. package/dist/core/lean-context-policy.d.ts +0 -45
  925. package/dist/core/lean-context-policy.d.ts.map +0 -1
  926. package/dist/core/lean-context-policy.js +0 -108
  927. package/dist/core/lean-context-policy.js.map +0 -1
  928. package/dist/core/native-adoption-benchmark.d.ts +0 -166
  929. package/dist/core/native-adoption-benchmark.d.ts.map +0 -1
  930. package/dist/core/native-adoption-benchmark.js +0 -624
  931. package/dist/core/native-adoption-benchmark.js.map +0 -1
  932. package/dist/core/observability-trace.d.ts +0 -80
  933. package/dist/core/observability-trace.d.ts.map +0 -1
  934. package/dist/core/observability-trace.js +0 -140
  935. package/dist/core/observability-trace.js.map +0 -1
  936. package/dist/core/orchestration/checkpoint.d.ts +0 -83
  937. package/dist/core/orchestration/checkpoint.d.ts.map +0 -1
  938. package/dist/core/orchestration/checkpoint.js +0 -152
  939. package/dist/core/orchestration/checkpoint.js.map +0 -1
  940. package/dist/core/orchestration/errors.d.ts +0 -74
  941. package/dist/core/orchestration/errors.d.ts.map +0 -1
  942. package/dist/core/orchestration/errors.js +0 -52
  943. package/dist/core/orchestration/errors.js.map +0 -1
  944. package/dist/core/orchestration/merge-queue.d.ts +0 -121
  945. package/dist/core/orchestration/merge-queue.d.ts.map +0 -1
  946. package/dist/core/orchestration/merge-queue.js +0 -149
  947. package/dist/core/orchestration/merge-queue.js.map +0 -1
  948. package/dist/core/orchestration/recovery.d.ts +0 -106
  949. package/dist/core/orchestration/recovery.d.ts.map +0 -1
  950. package/dist/core/orchestration/recovery.js +0 -110
  951. package/dist/core/orchestration/recovery.js.map +0 -1
  952. package/dist/core/orchestration/replay-ledger.d.ts +0 -76
  953. package/dist/core/orchestration/replay-ledger.d.ts.map +0 -1
  954. package/dist/core/orchestration/replay-ledger.js +0 -395
  955. package/dist/core/orchestration/replay-ledger.js.map +0 -1
  956. package/dist/core/orchestration/scheduler-state.d.ts +0 -78
  957. package/dist/core/orchestration/scheduler-state.d.ts.map +0 -1
  958. package/dist/core/orchestration/scheduler-state.js +0 -185
  959. package/dist/core/orchestration/scheduler-state.js.map +0 -1
  960. package/dist/core/orchestration/scheduler-store.d.ts +0 -309
  961. package/dist/core/orchestration/scheduler-store.d.ts.map +0 -1
  962. package/dist/core/orchestration/scheduler-store.js +0 -368
  963. package/dist/core/orchestration/scheduler-store.js.map +0 -1
  964. package/dist/core/orchestration/sqlite-scheduler-store.d.ts +0 -57
  965. package/dist/core/orchestration/sqlite-scheduler-store.d.ts.map +0 -1
  966. package/dist/core/orchestration/sqlite-scheduler-store.js +0 -528
  967. package/dist/core/orchestration/sqlite-scheduler-store.js.map +0 -1
  968. package/dist/core/orchestration/transaction-coordinator.d.ts +0 -217
  969. package/dist/core/orchestration/transaction-coordinator.d.ts.map +0 -1
  970. package/dist/core/orchestration/transaction-coordinator.js +0 -281
  971. package/dist/core/orchestration/transaction-coordinator.js.map +0 -1
  972. package/dist/core/orchestration/verification-contract.d.ts +0 -197
  973. package/dist/core/orchestration/verification-contract.d.ts.map +0 -1
  974. package/dist/core/orchestration/verification-contract.js +0 -145
  975. package/dist/core/orchestration/verification-contract.js.map +0 -1
  976. package/dist/core/package-composition.d.ts +0 -68
  977. package/dist/core/package-composition.d.ts.map +0 -1
  978. package/dist/core/package-composition.js +0 -304
  979. package/dist/core/package-composition.js.map +0 -1
  980. package/dist/core/package-trial-runtime.d.ts +0 -75
  981. package/dist/core/package-trial-runtime.d.ts.map +0 -1
  982. package/dist/core/package-trial-runtime.js +0 -73
  983. package/dist/core/package-trial-runtime.js.map +0 -1
  984. package/dist/core/package-trial-sandbox.d.ts +0 -27
  985. package/dist/core/package-trial-sandbox.d.ts.map +0 -1
  986. package/dist/core/package-trial-sandbox.js +0 -102
  987. package/dist/core/package-trial-sandbox.js.map +0 -1
  988. package/dist/core/policy-overlays-runtime.d.ts +0 -141
  989. package/dist/core/policy-overlays-runtime.d.ts.map +0 -1
  990. package/dist/core/policy-overlays-runtime.js +0 -720
  991. package/dist/core/policy-overlays-runtime.js.map +0 -1
  992. package/dist/core/read-anchor-registry.d.ts +0 -27
  993. package/dist/core/read-anchor-registry.d.ts.map +0 -1
  994. package/dist/core/read-anchor-registry.js +0 -103
  995. package/dist/core/read-anchor-registry.js.map +0 -1
  996. package/dist/core/read-content-cache.d.ts +0 -22
  997. package/dist/core/read-content-cache.d.ts.map +0 -1
  998. package/dist/core/read-content-cache.js +0 -79
  999. package/dist/core/read-content-cache.js.map +0 -1
  1000. package/dist/core/session-digest.d.ts +0 -57
  1001. package/dist/core/session-digest.d.ts.map +0 -1
  1002. package/dist/core/session-digest.js +0 -193
  1003. package/dist/core/session-digest.js.map +0 -1
  1004. package/dist/core/spec-kit/compiler.d.ts +0 -67
  1005. package/dist/core/spec-kit/compiler.d.ts.map +0 -1
  1006. package/dist/core/spec-kit/compiler.js +0 -268
  1007. package/dist/core/spec-kit/compiler.js.map +0 -1
  1008. package/dist/core/transaction-coordinator.d.ts +0 -30
  1009. package/dist/core/transaction-coordinator.d.ts.map +0 -1
  1010. package/dist/core/transaction-coordinator.js +0 -173
  1011. package/dist/core/transaction-coordinator.js.map +0 -1
  1012. package/dist/modes/interactive/components/mcp-selector.d.ts +0 -30
  1013. package/dist/modes/interactive/components/mcp-selector.d.ts.map +0 -1
  1014. package/dist/modes/interactive/components/mcp-selector.js +0 -155
  1015. package/dist/modes/interactive/components/mcp-selector.js.map +0 -1
  1016. package/dist/modes/interactive/components/model-selector-state.d.ts +0 -101
  1017. package/dist/modes/interactive/components/model-selector-state.d.ts.map +0 -1
  1018. package/dist/modes/interactive/components/model-selector-state.js +0 -261
  1019. package/dist/modes/interactive/components/model-selector-state.js.map +0 -1
  1020. package/dist/modes/interactive/components/skills-selector.d.ts +0 -32
  1021. package/dist/modes/interactive/components/skills-selector.d.ts.map +0 -1
  1022. package/dist/modes/interactive/components/skills-selector.js +0 -130
  1023. package/dist/modes/interactive/components/skills-selector.js.map +0 -1
  1024. package/dist/modes/interactive/theme/omk-blackboard.json +0 -91
  1025. package/dist/modes/interactive/theme/omk-freedom-grid.json +0 -91
  1026. package/dist/modes/interactive/theme/omk-neon-ops.json +0 -90
  1027. package/dist/modes/interactive/theme/omk-slate-light.json +0 -91
  1028. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +0 -72
  1029. package/node_modules/@earendil-works/omk-agent-core/README.md +0 -488
  1030. package/node_modules/@earendil-works/omk-agent-core/dist/agent-loop.d.ts +0 -24
  1031. package/node_modules/@earendil-works/omk-agent-core/dist/agent-loop.d.ts.map +0 -1
  1032. package/node_modules/@earendil-works/omk-agent-core/dist/agent-loop.js +0 -553
  1033. package/node_modules/@earendil-works/omk-agent-core/dist/agent-loop.js.map +0 -1
  1034. package/node_modules/@earendil-works/omk-agent-core/dist/agent.d.ts +0 -118
  1035. package/node_modules/@earendil-works/omk-agent-core/dist/agent.d.ts.map +0 -1
  1036. package/node_modules/@earendil-works/omk-agent-core/dist/agent.js +0 -402
  1037. package/node_modules/@earendil-works/omk-agent-core/dist/agent.js.map +0 -1
  1038. package/node_modules/@earendil-works/omk-agent-core/dist/harness/agent-harness.d.ts +0 -95
  1039. package/node_modules/@earendil-works/omk-agent-core/dist/harness/agent-harness.d.ts.map +0 -1
  1040. package/node_modules/@earendil-works/omk-agent-core/dist/harness/agent-harness.js +0 -996
  1041. package/node_modules/@earendil-works/omk-agent-core/dist/harness/agent-harness.js.map +0 -1
  1042. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/branch-summarization.d.ts +0 -53
  1043. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +0 -1
  1044. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/branch-summarization.js +0 -175
  1045. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/branch-summarization.js.map +0 -1
  1046. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/compaction.d.ts +0 -117
  1047. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/compaction.d.ts.map +0 -1
  1048. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/compaction.js +0 -568
  1049. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/compaction.js.map +0 -1
  1050. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/utils.d.ts +0 -25
  1051. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/utils.d.ts.map +0 -1
  1052. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/utils.js +0 -131
  1053. package/node_modules/@earendil-works/omk-agent-core/dist/harness/compaction/utils.js.map +0 -1
  1054. package/node_modules/@earendil-works/omk-agent-core/dist/harness/env/nodejs.d.ts +0 -51
  1055. package/node_modules/@earendil-works/omk-agent-core/dist/harness/env/nodejs.d.ts.map +0 -1
  1056. package/node_modules/@earendil-works/omk-agent-core/dist/harness/env/nodejs.js +0 -510
  1057. package/node_modules/@earendil-works/omk-agent-core/dist/harness/env/nodejs.js.map +0 -1
  1058. package/node_modules/@earendil-works/omk-agent-core/dist/harness/messages.d.ts +0 -51
  1059. package/node_modules/@earendil-works/omk-agent-core/dist/harness/messages.d.ts.map +0 -1
  1060. package/node_modules/@earendil-works/omk-agent-core/dist/harness/messages.js +0 -102
  1061. package/node_modules/@earendil-works/omk-agent-core/dist/harness/messages.js.map +0 -1
  1062. package/node_modules/@earendil-works/omk-agent-core/dist/harness/prompt-templates.d.ts +0 -48
  1063. package/node_modules/@earendil-works/omk-agent-core/dist/harness/prompt-templates.d.ts.map +0 -1
  1064. package/node_modules/@earendil-works/omk-agent-core/dist/harness/prompt-templates.js +0 -230
  1065. package/node_modules/@earendil-works/omk-agent-core/dist/harness/prompt-templates.js.map +0 -1
  1066. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-repo.d.ts +0 -26
  1067. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-repo.d.ts.map +0 -1
  1068. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-repo.js +0 -101
  1069. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-repo.js.map +0 -1
  1070. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-storage.d.ts +0 -36
  1071. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-storage.d.ts.map +0 -1
  1072. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-storage.js +0 -273
  1073. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/jsonl-storage.js.map +0 -1
  1074. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-repo.d.ts +0 -18
  1075. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-repo.d.ts.map +0 -1
  1076. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-repo.js +0 -42
  1077. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-repo.js.map +0 -1
  1078. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-storage.d.ts +0 -25
  1079. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-storage.d.ts.map +0 -1
  1080. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-storage.js +0 -114
  1081. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/memory-storage.js.map +0 -1
  1082. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/repo-utils.d.ts +0 -11
  1083. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/repo-utils.d.ts.map +0 -1
  1084. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/repo-utils.js +0 -39
  1085. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/repo-utils.js.map +0 -1
  1086. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/session.d.ts +0 -33
  1087. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/session.d.ts.map +0 -1
  1088. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/session.js +0 -210
  1089. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/session.js.map +0 -1
  1090. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/uuid.d.ts +0 -2
  1091. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/uuid.d.ts.map +0 -1
  1092. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/uuid.js +0 -50
  1093. package/node_modules/@earendil-works/omk-agent-core/dist/harness/session/uuid.js.map +0 -1
  1094. package/node_modules/@earendil-works/omk-agent-core/dist/harness/skills.d.ts +0 -44
  1095. package/node_modules/@earendil-works/omk-agent-core/dist/harness/skills.d.ts.map +0 -1
  1096. package/node_modules/@earendil-works/omk-agent-core/dist/harness/skills.js +0 -311
  1097. package/node_modules/@earendil-works/omk-agent-core/dist/harness/skills.js.map +0 -1
  1098. package/node_modules/@earendil-works/omk-agent-core/dist/harness/system-prompt.d.ts +0 -3
  1099. package/node_modules/@earendil-works/omk-agent-core/dist/harness/system-prompt.d.ts.map +0 -1
  1100. package/node_modules/@earendil-works/omk-agent-core/dist/harness/system-prompt.js +0 -30
  1101. package/node_modules/@earendil-works/omk-agent-core/dist/harness/system-prompt.js.map +0 -1
  1102. package/node_modules/@earendil-works/omk-agent-core/dist/harness/types.d.ts +0 -616
  1103. package/node_modules/@earendil-works/omk-agent-core/dist/harness/types.d.ts.map +0 -1
  1104. package/node_modules/@earendil-works/omk-agent-core/dist/harness/types.js +0 -94
  1105. package/node_modules/@earendil-works/omk-agent-core/dist/harness/types.js.map +0 -1
  1106. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/shell-output.d.ts +0 -14
  1107. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/shell-output.d.ts.map +0 -1
  1108. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/shell-output.js +0 -126
  1109. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/shell-output.js.map +0 -1
  1110. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/truncate.d.ts +0 -70
  1111. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/truncate.d.ts.map +0 -1
  1112. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/truncate.js +0 -297
  1113. package/node_modules/@earendil-works/omk-agent-core/dist/harness/utils/truncate.js.map +0 -1
  1114. package/node_modules/@earendil-works/omk-agent-core/dist/index.d.ts +0 -20
  1115. package/node_modules/@earendil-works/omk-agent-core/dist/index.d.ts.map +0 -1
  1116. package/node_modules/@earendil-works/omk-agent-core/dist/index.js +0 -25
  1117. package/node_modules/@earendil-works/omk-agent-core/dist/index.js.map +0 -1
  1118. package/node_modules/@earendil-works/omk-agent-core/dist/node.d.ts +0 -3
  1119. package/node_modules/@earendil-works/omk-agent-core/dist/node.d.ts.map +0 -1
  1120. package/node_modules/@earendil-works/omk-agent-core/dist/node.js +0 -3
  1121. package/node_modules/@earendil-works/omk-agent-core/dist/node.js.map +0 -1
  1122. package/node_modules/@earendil-works/omk-agent-core/dist/proxy.d.ts +0 -69
  1123. package/node_modules/@earendil-works/omk-agent-core/dist/proxy.d.ts.map +0 -1
  1124. package/node_modules/@earendil-works/omk-agent-core/dist/proxy.js +0 -278
  1125. package/node_modules/@earendil-works/omk-agent-core/dist/proxy.js.map +0 -1
  1126. package/node_modules/@earendil-works/omk-agent-core/dist/types.d.ts +0 -393
  1127. package/node_modules/@earendil-works/omk-agent-core/dist/types.d.ts.map +0 -1
  1128. package/node_modules/@earendil-works/omk-agent-core/dist/types.js +0 -2
  1129. package/node_modules/@earendil-works/omk-agent-core/dist/types.js.map +0 -1
  1130. package/node_modules/@earendil-works/omk-agent-core/package.json +0 -60
  1131. package/node_modules/@earendil-works/omk-ai/README.md +0 -1389
  1132. package/node_modules/@earendil-works/omk-ai/dist/api-registry.d.ts +0 -20
  1133. package/node_modules/@earendil-works/omk-ai/dist/api-registry.d.ts.map +0 -1
  1134. package/node_modules/@earendil-works/omk-ai/dist/api-registry.js +0 -44
  1135. package/node_modules/@earendil-works/omk-ai/dist/api-registry.js.map +0 -1
  1136. package/node_modules/@earendil-works/omk-ai/dist/bedrock-provider.d.ts +0 -5
  1137. package/node_modules/@earendil-works/omk-ai/dist/bedrock-provider.d.ts.map +0 -1
  1138. package/node_modules/@earendil-works/omk-ai/dist/bedrock-provider.js +0 -6
  1139. package/node_modules/@earendil-works/omk-ai/dist/bedrock-provider.js.map +0 -1
  1140. package/node_modules/@earendil-works/omk-ai/dist/cli.d.ts +0 -3
  1141. package/node_modules/@earendil-works/omk-ai/dist/cli.d.ts.map +0 -1
  1142. package/node_modules/@earendil-works/omk-ai/dist/cli.js +0 -130
  1143. package/node_modules/@earendil-works/omk-ai/dist/cli.js.map +0 -1
  1144. package/node_modules/@earendil-works/omk-ai/dist/env-api-keys.d.ts +0 -20
  1145. package/node_modules/@earendil-works/omk-ai/dist/env-api-keys.d.ts.map +0 -1
  1146. package/node_modules/@earendil-works/omk-ai/dist/env-api-keys.js +0 -199
  1147. package/node_modules/@earendil-works/omk-ai/dist/env-api-keys.js.map +0 -1
  1148. package/node_modules/@earendil-works/omk-ai/dist/image-models.d.ts +0 -10
  1149. package/node_modules/@earendil-works/omk-ai/dist/image-models.d.ts.map +0 -1
  1150. package/node_modules/@earendil-works/omk-ai/dist/image-models.generated.d.ts +0 -515
  1151. package/node_modules/@earendil-works/omk-ai/dist/image-models.generated.d.ts.map +0 -1
  1152. package/node_modules/@earendil-works/omk-ai/dist/image-models.generated.js +0 -517
  1153. package/node_modules/@earendil-works/omk-ai/dist/image-models.generated.js.map +0 -1
  1154. package/node_modules/@earendil-works/omk-ai/dist/image-models.js +0 -23
  1155. package/node_modules/@earendil-works/omk-ai/dist/image-models.js.map +0 -1
  1156. package/node_modules/@earendil-works/omk-ai/dist/images-api-registry.d.ts +0 -14
  1157. package/node_modules/@earendil-works/omk-ai/dist/images-api-registry.d.ts.map +0 -1
  1158. package/node_modules/@earendil-works/omk-ai/dist/images-api-registry.js +0 -22
  1159. package/node_modules/@earendil-works/omk-ai/dist/images-api-registry.js.map +0 -1
  1160. package/node_modules/@earendil-works/omk-ai/dist/images.d.ts +0 -4
  1161. package/node_modules/@earendil-works/omk-ai/dist/images.d.ts.map +0 -1
  1162. package/node_modules/@earendil-works/omk-ai/dist/images.js +0 -16
  1163. package/node_modules/@earendil-works/omk-ai/dist/images.js.map +0 -1
  1164. package/node_modules/@earendil-works/omk-ai/dist/index.d.ts +0 -33
  1165. package/node_modules/@earendil-works/omk-ai/dist/index.d.ts.map +0 -1
  1166. package/node_modules/@earendil-works/omk-ai/dist/index.js +0 -21
  1167. package/node_modules/@earendil-works/omk-ai/dist/index.js.map +0 -1
  1168. package/node_modules/@earendil-works/omk-ai/dist/models.d.ts +0 -18
  1169. package/node_modules/@earendil-works/omk-ai/dist/models.d.ts.map +0 -1
  1170. package/node_modules/@earendil-works/omk-ai/dist/models.generated.d.ts +0 -18762
  1171. package/node_modules/@earendil-works/omk-ai/dist/models.generated.d.ts.map +0 -1
  1172. package/node_modules/@earendil-works/omk-ai/dist/models.generated.js +0 -17197
  1173. package/node_modules/@earendil-works/omk-ai/dist/models.generated.js.map +0 -1
  1174. package/node_modules/@earendil-works/omk-ai/dist/models.js +0 -78
  1175. package/node_modules/@earendil-works/omk-ai/dist/models.js.map +0 -1
  1176. package/node_modules/@earendil-works/omk-ai/dist/oauth.d.ts +0 -2
  1177. package/node_modules/@earendil-works/omk-ai/dist/oauth.d.ts.map +0 -1
  1178. package/node_modules/@earendil-works/omk-ai/dist/oauth.js +0 -2
  1179. package/node_modules/@earendil-works/omk-ai/dist/oauth.js.map +0 -1
  1180. package/node_modules/@earendil-works/omk-ai/dist/provider-network.d.ts +0 -39
  1181. package/node_modules/@earendil-works/omk-ai/dist/provider-network.d.ts.map +0 -1
  1182. package/node_modules/@earendil-works/omk-ai/dist/provider-network.js +0 -170
  1183. package/node_modules/@earendil-works/omk-ai/dist/provider-network.js.map +0 -1
  1184. package/node_modules/@earendil-works/omk-ai/dist/providers/amazon-bedrock.d.ts +0 -38
  1185. package/node_modules/@earendil-works/omk-ai/dist/providers/amazon-bedrock.d.ts.map +0 -1
  1186. package/node_modules/@earendil-works/omk-ai/dist/providers/amazon-bedrock.js +0 -826
  1187. package/node_modules/@earendil-works/omk-ai/dist/providers/amazon-bedrock.js.map +0 -1
  1188. package/node_modules/@earendil-works/omk-ai/dist/providers/anthropic.d.ts +0 -77
  1189. package/node_modules/@earendil-works/omk-ai/dist/providers/anthropic.d.ts.map +0 -1
  1190. package/node_modules/@earendil-works/omk-ai/dist/providers/anthropic.js +0 -1123
  1191. package/node_modules/@earendil-works/omk-ai/dist/providers/anthropic.js.map +0 -1
  1192. package/node_modules/@earendil-works/omk-ai/dist/providers/azure-openai-responses.d.ts +0 -15
  1193. package/node_modules/@earendil-works/omk-ai/dist/providers/azure-openai-responses.d.ts.map +0 -1
  1194. package/node_modules/@earendil-works/omk-ai/dist/providers/azure-openai-responses.js +0 -221
  1195. package/node_modules/@earendil-works/omk-ai/dist/providers/azure-openai-responses.js.map +0 -1
  1196. package/node_modules/@earendil-works/omk-ai/dist/providers/cloudflare.d.ts +0 -13
  1197. package/node_modules/@earendil-works/omk-ai/dist/providers/cloudflare.d.ts.map +0 -1
  1198. package/node_modules/@earendil-works/omk-ai/dist/providers/cloudflare.js +0 -26
  1199. package/node_modules/@earendil-works/omk-ai/dist/providers/cloudflare.js.map +0 -1
  1200. package/node_modules/@earendil-works/omk-ai/dist/providers/faux.d.ts +0 -56
  1201. package/node_modules/@earendil-works/omk-ai/dist/providers/faux.d.ts.map +0 -1
  1202. package/node_modules/@earendil-works/omk-ai/dist/providers/faux.js +0 -368
  1203. package/node_modules/@earendil-works/omk-ai/dist/providers/faux.js.map +0 -1
  1204. package/node_modules/@earendil-works/omk-ai/dist/providers/github-copilot-headers.d.ts +0 -8
  1205. package/node_modules/@earendil-works/omk-ai/dist/providers/github-copilot-headers.d.ts.map +0 -1
  1206. package/node_modules/@earendil-works/omk-ai/dist/providers/github-copilot-headers.js +0 -29
  1207. package/node_modules/@earendil-works/omk-ai/dist/providers/github-copilot-headers.js.map +0 -1
  1208. package/node_modules/@earendil-works/omk-ai/dist/providers/google-shared.d.ts +0 -70
  1209. package/node_modules/@earendil-works/omk-ai/dist/providers/google-shared.d.ts.map +0 -1
  1210. package/node_modules/@earendil-works/omk-ai/dist/providers/google-shared.js +0 -331
  1211. package/node_modules/@earendil-works/omk-ai/dist/providers/google-shared.js.map +0 -1
  1212. package/node_modules/@earendil-works/omk-ai/dist/providers/google-vertex.d.ts +0 -15
  1213. package/node_modules/@earendil-works/omk-ai/dist/providers/google-vertex.d.ts.map +0 -1
  1214. package/node_modules/@earendil-works/omk-ai/dist/providers/google-vertex.js +0 -442
  1215. package/node_modules/@earendil-works/omk-ai/dist/providers/google-vertex.js.map +0 -1
  1216. package/node_modules/@earendil-works/omk-ai/dist/providers/google.d.ts +0 -13
  1217. package/node_modules/@earendil-works/omk-ai/dist/providers/google.d.ts.map +0 -1
  1218. package/node_modules/@earendil-works/omk-ai/dist/providers/google.js +0 -402
  1219. package/node_modules/@earendil-works/omk-ai/dist/providers/google.js.map +0 -1
  1220. package/node_modules/@earendil-works/omk-ai/dist/providers/images/openrouter.d.ts +0 -3
  1221. package/node_modules/@earendil-works/omk-ai/dist/providers/images/openrouter.d.ts.map +0 -1
  1222. package/node_modules/@earendil-works/omk-ai/dist/providers/images/openrouter.js +0 -128
  1223. package/node_modules/@earendil-works/omk-ai/dist/providers/images/openrouter.js.map +0 -1
  1224. package/node_modules/@earendil-works/omk-ai/dist/providers/images/register-builtins.d.ts +0 -4
  1225. package/node_modules/@earendil-works/omk-ai/dist/providers/images/register-builtins.d.ts.map +0 -1
  1226. package/node_modules/@earendil-works/omk-ai/dist/providers/images/register-builtins.js +0 -34
  1227. package/node_modules/@earendil-works/omk-ai/dist/providers/images/register-builtins.js.map +0 -1
  1228. package/node_modules/@earendil-works/omk-ai/dist/providers/mistral.d.ts +0 -25
  1229. package/node_modules/@earendil-works/omk-ai/dist/providers/mistral.d.ts.map +0 -1
  1230. package/node_modules/@earendil-works/omk-ai/dist/providers/mistral.js +0 -534
  1231. package/node_modules/@earendil-works/omk-ai/dist/providers/mistral.js.map +0 -1
  1232. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-codex-responses.d.ts +0 -30
  1233. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-codex-responses.d.ts.map +0 -1
  1234. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-codex-responses.js +0 -1171
  1235. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-codex-responses.js.map +0 -1
  1236. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-completions.d.ts +0 -19
  1237. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-completions.d.ts.map +0 -1
  1238. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-completions.js +0 -977
  1239. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-completions.js.map +0 -1
  1240. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-prompt-cache.d.ts +0 -11
  1241. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-prompt-cache.d.ts.map +0 -1
  1242. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-prompt-cache.js +0 -22
  1243. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-prompt-cache.js.map +0 -1
  1244. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses-shared.d.ts +0 -18
  1245. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses-shared.d.ts.map +0 -1
  1246. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses-shared.js +0 -496
  1247. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses-shared.js.map +0 -1
  1248. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses.d.ts +0 -13
  1249. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses.d.ts.map +0 -1
  1250. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses.js +0 -233
  1251. package/node_modules/@earendil-works/omk-ai/dist/providers/openai-responses.js.map +0 -1
  1252. package/node_modules/@earendil-works/omk-ai/dist/providers/register-builtins.d.ts +0 -35
  1253. package/node_modules/@earendil-works/omk-ai/dist/providers/register-builtins.d.ts.map +0 -1
  1254. package/node_modules/@earendil-works/omk-ai/dist/providers/register-builtins.js +0 -254
  1255. package/node_modules/@earendil-works/omk-ai/dist/providers/register-builtins.js.map +0 -1
  1256. package/node_modules/@earendil-works/omk-ai/dist/providers/simple-options.d.ts +0 -8
  1257. package/node_modules/@earendil-works/omk-ai/dist/providers/simple-options.d.ts.map +0 -1
  1258. package/node_modules/@earendil-works/omk-ai/dist/providers/simple-options.js +0 -42
  1259. package/node_modules/@earendil-works/omk-ai/dist/providers/simple-options.js.map +0 -1
  1260. package/node_modules/@earendil-works/omk-ai/dist/providers/tool-schema.d.ts +0 -13
  1261. package/node_modules/@earendil-works/omk-ai/dist/providers/tool-schema.d.ts.map +0 -1
  1262. package/node_modules/@earendil-works/omk-ai/dist/providers/tool-schema.js +0 -82
  1263. package/node_modules/@earendil-works/omk-ai/dist/providers/tool-schema.js.map +0 -1
  1264. package/node_modules/@earendil-works/omk-ai/dist/providers/transform-messages.d.ts +0 -8
  1265. package/node_modules/@earendil-works/omk-ai/dist/providers/transform-messages.d.ts.map +0 -1
  1266. package/node_modules/@earendil-works/omk-ai/dist/providers/transform-messages.js +0 -184
  1267. package/node_modules/@earendil-works/omk-ai/dist/providers/transform-messages.js.map +0 -1
  1268. package/node_modules/@earendil-works/omk-ai/dist/session-resources.d.ts +0 -4
  1269. package/node_modules/@earendil-works/omk-ai/dist/session-resources.d.ts.map +0 -1
  1270. package/node_modules/@earendil-works/omk-ai/dist/session-resources.js +0 -22
  1271. package/node_modules/@earendil-works/omk-ai/dist/session-resources.js.map +0 -1
  1272. package/node_modules/@earendil-works/omk-ai/dist/stream.d.ts +0 -8
  1273. package/node_modules/@earendil-works/omk-ai/dist/stream.d.ts.map +0 -1
  1274. package/node_modules/@earendil-works/omk-ai/dist/stream.js +0 -77
  1275. package/node_modules/@earendil-works/omk-ai/dist/stream.js.map +0 -1
  1276. package/node_modules/@earendil-works/omk-ai/dist/types.d.ts +0 -570
  1277. package/node_modules/@earendil-works/omk-ai/dist/types.d.ts.map +0 -1
  1278. package/node_modules/@earendil-works/omk-ai/dist/types.js +0 -2
  1279. package/node_modules/@earendil-works/omk-ai/dist/types.js.map +0 -1
  1280. package/node_modules/@earendil-works/omk-ai/dist/utils/abort-signals.d.ts +0 -6
  1281. package/node_modules/@earendil-works/omk-ai/dist/utils/abort-signals.d.ts.map +0 -1
  1282. package/node_modules/@earendil-works/omk-ai/dist/utils/abort-signals.js +0 -34
  1283. package/node_modules/@earendil-works/omk-ai/dist/utils/abort-signals.js.map +0 -1
  1284. package/node_modules/@earendil-works/omk-ai/dist/utils/diagnostics.d.ts +0 -19
  1285. package/node_modules/@earendil-works/omk-ai/dist/utils/diagnostics.d.ts.map +0 -1
  1286. package/node_modules/@earendil-works/omk-ai/dist/utils/diagnostics.js +0 -25
  1287. package/node_modules/@earendil-works/omk-ai/dist/utils/diagnostics.js.map +0 -1
  1288. package/node_modules/@earendil-works/omk-ai/dist/utils/event-stream.d.ts +0 -21
  1289. package/node_modules/@earendil-works/omk-ai/dist/utils/event-stream.d.ts.map +0 -1
  1290. package/node_modules/@earendil-works/omk-ai/dist/utils/event-stream.js +0 -81
  1291. package/node_modules/@earendil-works/omk-ai/dist/utils/event-stream.js.map +0 -1
  1292. package/node_modules/@earendil-works/omk-ai/dist/utils/hash.d.ts +0 -3
  1293. package/node_modules/@earendil-works/omk-ai/dist/utils/hash.d.ts.map +0 -1
  1294. package/node_modules/@earendil-works/omk-ai/dist/utils/hash.js +0 -14
  1295. package/node_modules/@earendil-works/omk-ai/dist/utils/hash.js.map +0 -1
  1296. package/node_modules/@earendil-works/omk-ai/dist/utils/headers.d.ts +0 -2
  1297. package/node_modules/@earendil-works/omk-ai/dist/utils/headers.d.ts.map +0 -1
  1298. package/node_modules/@earendil-works/omk-ai/dist/utils/headers.js +0 -8
  1299. package/node_modules/@earendil-works/omk-ai/dist/utils/headers.js.map +0 -1
  1300. package/node_modules/@earendil-works/omk-ai/dist/utils/json-parse.d.ts +0 -16
  1301. package/node_modules/@earendil-works/omk-ai/dist/utils/json-parse.d.ts.map +0 -1
  1302. package/node_modules/@earendil-works/omk-ai/dist/utils/json-parse.js +0 -113
  1303. package/node_modules/@earendil-works/omk-ai/dist/utils/json-parse.js.map +0 -1
  1304. package/node_modules/@earendil-works/omk-ai/dist/utils/node-http-proxy.d.ts +0 -10
  1305. package/node_modules/@earendil-works/omk-ai/dist/utils/node-http-proxy.d.ts.map +0 -1
  1306. package/node_modules/@earendil-works/omk-ai/dist/utils/node-http-proxy.js +0 -97
  1307. package/node_modules/@earendil-works/omk-ai/dist/utils/node-http-proxy.js.map +0 -1
  1308. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/anthropic.d.ts +0 -25
  1309. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/anthropic.d.ts.map +0 -1
  1310. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/anthropic.js +0 -335
  1311. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/anthropic.js.map +0 -1
  1312. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/device-code.d.ts +0 -21
  1313. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/device-code.d.ts.map +0 -1
  1314. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/device-code.js +0 -56
  1315. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/device-code.js.map +0 -1
  1316. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/github-copilot.d.ts +0 -30
  1317. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/github-copilot.d.ts.map +0 -1
  1318. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/github-copilot.js +0 -280
  1319. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/github-copilot.js.map +0 -1
  1320. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/index.d.ts +0 -58
  1321. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/index.d.ts.map +0 -1
  1322. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/index.js +0 -122
  1323. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/index.js.map +0 -1
  1324. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/oauth-page.d.ts +0 -3
  1325. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/oauth-page.d.ts.map +0 -1
  1326. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/oauth-page.js +0 -105
  1327. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/oauth-page.js.map +0 -1
  1328. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/openai-codex.d.ts +0 -43
  1329. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/openai-codex.d.ts.map +0 -1
  1330. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/openai-codex.js +0 -487
  1331. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/openai-codex.js.map +0 -1
  1332. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/pkce.d.ts +0 -13
  1333. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/pkce.d.ts.map +0 -1
  1334. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/pkce.js +0 -31
  1335. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/pkce.js.map +0 -1
  1336. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/types.d.ts +0 -64
  1337. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/types.d.ts.map +0 -1
  1338. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/types.js +0 -2
  1339. package/node_modules/@earendil-works/omk-ai/dist/utils/oauth/types.js.map +0 -1
  1340. package/node_modules/@earendil-works/omk-ai/dist/utils/overflow.d.ts +0 -57
  1341. package/node_modules/@earendil-works/omk-ai/dist/utils/overflow.d.ts.map +0 -1
  1342. package/node_modules/@earendil-works/omk-ai/dist/utils/overflow.js +0 -154
  1343. package/node_modules/@earendil-works/omk-ai/dist/utils/overflow.js.map +0 -1
  1344. package/node_modules/@earendil-works/omk-ai/dist/utils/sanitize-unicode.d.ts +0 -22
  1345. package/node_modules/@earendil-works/omk-ai/dist/utils/sanitize-unicode.d.ts.map +0 -1
  1346. package/node_modules/@earendil-works/omk-ai/dist/utils/sanitize-unicode.js +0 -26
  1347. package/node_modules/@earendil-works/omk-ai/dist/utils/sanitize-unicode.js.map +0 -1
  1348. package/node_modules/@earendil-works/omk-ai/dist/utils/typebox-helpers.d.ts +0 -17
  1349. package/node_modules/@earendil-works/omk-ai/dist/utils/typebox-helpers.d.ts.map +0 -1
  1350. package/node_modules/@earendil-works/omk-ai/dist/utils/typebox-helpers.js +0 -21
  1351. package/node_modules/@earendil-works/omk-ai/dist/utils/typebox-helpers.js.map +0 -1
  1352. package/node_modules/@earendil-works/omk-ai/dist/utils/validation.d.ts +0 -18
  1353. package/node_modules/@earendil-works/omk-ai/dist/utils/validation.d.ts.map +0 -1
  1354. package/node_modules/@earendil-works/omk-ai/dist/utils/validation.js +0 -281
  1355. package/node_modules/@earendil-works/omk-ai/dist/utils/validation.js.map +0 -1
  1356. package/node_modules/@earendil-works/omk-ai/package.json +0 -106
  1357. package/node_modules/@earendil-works/omk-tui/README.md +0 -791
  1358. package/node_modules/@earendil-works/omk-tui/dist/autocomplete.d.ts +0 -54
  1359. package/node_modules/@earendil-works/omk-tui/dist/autocomplete.d.ts.map +0 -1
  1360. package/node_modules/@earendil-works/omk-tui/dist/autocomplete.js +0 -632
  1361. package/node_modules/@earendil-works/omk-tui/dist/autocomplete.js.map +0 -1
  1362. package/node_modules/@earendil-works/omk-tui/dist/components/box.d.ts +0 -22
  1363. package/node_modules/@earendil-works/omk-tui/dist/components/box.d.ts.map +0 -1
  1364. package/node_modules/@earendil-works/omk-tui/dist/components/box.js +0 -104
  1365. package/node_modules/@earendil-works/omk-tui/dist/components/box.js.map +0 -1
  1366. package/node_modules/@earendil-works/omk-tui/dist/components/cancellable-loader.d.ts +0 -22
  1367. package/node_modules/@earendil-works/omk-tui/dist/components/cancellable-loader.d.ts.map +0 -1
  1368. package/node_modules/@earendil-works/omk-tui/dist/components/cancellable-loader.js +0 -35
  1369. package/node_modules/@earendil-works/omk-tui/dist/components/cancellable-loader.js.map +0 -1
  1370. package/node_modules/@earendil-works/omk-tui/dist/components/editor.d.ts +0 -249
  1371. package/node_modules/@earendil-works/omk-tui/dist/components/editor.d.ts.map +0 -1
  1372. package/node_modules/@earendil-works/omk-tui/dist/components/editor.js +0 -1857
  1373. package/node_modules/@earendil-works/omk-tui/dist/components/editor.js.map +0 -1
  1374. package/node_modules/@earendil-works/omk-tui/dist/components/image.d.ts +0 -28
  1375. package/node_modules/@earendil-works/omk-tui/dist/components/image.d.ts.map +0 -1
  1376. package/node_modules/@earendil-works/omk-tui/dist/components/image.js +0 -89
  1377. package/node_modules/@earendil-works/omk-tui/dist/components/image.js.map +0 -1
  1378. package/node_modules/@earendil-works/omk-tui/dist/components/input.d.ts +0 -37
  1379. package/node_modules/@earendil-works/omk-tui/dist/components/input.d.ts.map +0 -1
  1380. package/node_modules/@earendil-works/omk-tui/dist/components/input.js +0 -378
  1381. package/node_modules/@earendil-works/omk-tui/dist/components/input.js.map +0 -1
  1382. package/node_modules/@earendil-works/omk-tui/dist/components/loader.d.ts +0 -31
  1383. package/node_modules/@earendil-works/omk-tui/dist/components/loader.d.ts.map +0 -1
  1384. package/node_modules/@earendil-works/omk-tui/dist/components/loader.js +0 -69
  1385. package/node_modules/@earendil-works/omk-tui/dist/components/loader.js.map +0 -1
  1386. package/node_modules/@earendil-works/omk-tui/dist/components/markdown.d.ts +0 -96
  1387. package/node_modules/@earendil-works/omk-tui/dist/components/markdown.d.ts.map +0 -1
  1388. package/node_modules/@earendil-works/omk-tui/dist/components/markdown.js +0 -644
  1389. package/node_modules/@earendil-works/omk-tui/dist/components/markdown.js.map +0 -1
  1390. package/node_modules/@earendil-works/omk-tui/dist/components/select-list.d.ts +0 -50
  1391. package/node_modules/@earendil-works/omk-tui/dist/components/select-list.d.ts.map +0 -1
  1392. package/node_modules/@earendil-works/omk-tui/dist/components/select-list.js +0 -159
  1393. package/node_modules/@earendil-works/omk-tui/dist/components/select-list.js.map +0 -1
  1394. package/node_modules/@earendil-works/omk-tui/dist/components/settings-list.d.ts +0 -50
  1395. package/node_modules/@earendil-works/omk-tui/dist/components/settings-list.d.ts.map +0 -1
  1396. package/node_modules/@earendil-works/omk-tui/dist/components/settings-list.js +0 -185
  1397. package/node_modules/@earendil-works/omk-tui/dist/components/settings-list.js.map +0 -1
  1398. package/node_modules/@earendil-works/omk-tui/dist/components/spacer.d.ts +0 -12
  1399. package/node_modules/@earendil-works/omk-tui/dist/components/spacer.d.ts.map +0 -1
  1400. package/node_modules/@earendil-works/omk-tui/dist/components/spacer.js +0 -23
  1401. package/node_modules/@earendil-works/omk-tui/dist/components/spacer.js.map +0 -1
  1402. package/node_modules/@earendil-works/omk-tui/dist/components/text.d.ts +0 -19
  1403. package/node_modules/@earendil-works/omk-tui/dist/components/text.d.ts.map +0 -1
  1404. package/node_modules/@earendil-works/omk-tui/dist/components/text.js +0 -89
  1405. package/node_modules/@earendil-works/omk-tui/dist/components/text.js.map +0 -1
  1406. package/node_modules/@earendil-works/omk-tui/dist/components/truncated-text.d.ts +0 -13
  1407. package/node_modules/@earendil-works/omk-tui/dist/components/truncated-text.d.ts.map +0 -1
  1408. package/node_modules/@earendil-works/omk-tui/dist/components/truncated-text.js +0 -51
  1409. package/node_modules/@earendil-works/omk-tui/dist/components/truncated-text.js.map +0 -1
  1410. package/node_modules/@earendil-works/omk-tui/dist/editor-component.d.ts +0 -39
  1411. package/node_modules/@earendil-works/omk-tui/dist/editor-component.d.ts.map +0 -1
  1412. package/node_modules/@earendil-works/omk-tui/dist/editor-component.js +0 -2
  1413. package/node_modules/@earendil-works/omk-tui/dist/editor-component.js.map +0 -1
  1414. package/node_modules/@earendil-works/omk-tui/dist/fuzzy.d.ts +0 -16
  1415. package/node_modules/@earendil-works/omk-tui/dist/fuzzy.d.ts.map +0 -1
  1416. package/node_modules/@earendil-works/omk-tui/dist/fuzzy.js +0 -110
  1417. package/node_modules/@earendil-works/omk-tui/dist/fuzzy.js.map +0 -1
  1418. package/node_modules/@earendil-works/omk-tui/dist/index.d.ts +0 -23
  1419. package/node_modules/@earendil-works/omk-tui/dist/index.d.ts.map +0 -1
  1420. package/node_modules/@earendil-works/omk-tui/dist/index.js +0 -32
  1421. package/node_modules/@earendil-works/omk-tui/dist/index.js.map +0 -1
  1422. package/node_modules/@earendil-works/omk-tui/dist/keybindings.d.ts +0 -212
  1423. package/node_modules/@earendil-works/omk-tui/dist/keybindings.d.ts.map +0 -1
  1424. package/node_modules/@earendil-works/omk-tui/dist/keybindings.js +0 -252
  1425. package/node_modules/@earendil-works/omk-tui/dist/keybindings.js.map +0 -1
  1426. package/node_modules/@earendil-works/omk-tui/dist/keys.d.ts +0 -184
  1427. package/node_modules/@earendil-works/omk-tui/dist/keys.d.ts.map +0 -1
  1428. package/node_modules/@earendil-works/omk-tui/dist/keys.js +0 -1173
  1429. package/node_modules/@earendil-works/omk-tui/dist/keys.js.map +0 -1
  1430. package/node_modules/@earendil-works/omk-tui/dist/kill-ring.d.ts +0 -28
  1431. package/node_modules/@earendil-works/omk-tui/dist/kill-ring.d.ts.map +0 -1
  1432. package/node_modules/@earendil-works/omk-tui/dist/kill-ring.js +0 -44
  1433. package/node_modules/@earendil-works/omk-tui/dist/kill-ring.js.map +0 -1
  1434. package/node_modules/@earendil-works/omk-tui/dist/native-modifiers.d.ts +0 -3
  1435. package/node_modules/@earendil-works/omk-tui/dist/native-modifiers.d.ts.map +0 -1
  1436. package/node_modules/@earendil-works/omk-tui/dist/native-modifiers.js +0 -53
  1437. package/node_modules/@earendil-works/omk-tui/dist/native-modifiers.js.map +0 -1
  1438. package/node_modules/@earendil-works/omk-tui/dist/stdin-buffer.d.ts +0 -50
  1439. package/node_modules/@earendil-works/omk-tui/dist/stdin-buffer.d.ts.map +0 -1
  1440. package/node_modules/@earendil-works/omk-tui/dist/stdin-buffer.js +0 -361
  1441. package/node_modules/@earendil-works/omk-tui/dist/stdin-buffer.js.map +0 -1
  1442. package/node_modules/@earendil-works/omk-tui/dist/terminal-image.d.ts +0 -90
  1443. package/node_modules/@earendil-works/omk-tui/dist/terminal-image.d.ts.map +0 -1
  1444. package/node_modules/@earendil-works/omk-tui/dist/terminal-image.js +0 -366
  1445. package/node_modules/@earendil-works/omk-tui/dist/terminal-image.js.map +0 -1
  1446. package/node_modules/@earendil-works/omk-tui/dist/terminal.d.ts +0 -113
  1447. package/node_modules/@earendil-works/omk-tui/dist/terminal.d.ts.map +0 -1
  1448. package/node_modules/@earendil-works/omk-tui/dist/terminal.js +0 -472
  1449. package/node_modules/@earendil-works/omk-tui/dist/terminal.js.map +0 -1
  1450. package/node_modules/@earendil-works/omk-tui/dist/tui.d.ts +0 -242
  1451. package/node_modules/@earendil-works/omk-tui/dist/tui.d.ts.map +0 -1
  1452. package/node_modules/@earendil-works/omk-tui/dist/tui.js +0 -1221
  1453. package/node_modules/@earendil-works/omk-tui/dist/tui.js.map +0 -1
  1454. package/node_modules/@earendil-works/omk-tui/dist/undo-stack.d.ts +0 -17
  1455. package/node_modules/@earendil-works/omk-tui/dist/undo-stack.d.ts.map +0 -1
  1456. package/node_modules/@earendil-works/omk-tui/dist/undo-stack.js +0 -25
  1457. package/node_modules/@earendil-works/omk-tui/dist/undo-stack.js.map +0 -1
  1458. package/node_modules/@earendil-works/omk-tui/dist/utils.d.ts +0 -84
  1459. package/node_modules/@earendil-works/omk-tui/dist/utils.d.ts.map +0 -1
  1460. package/node_modules/@earendil-works/omk-tui/dist/utils.js +0 -1032
  1461. package/node_modules/@earendil-works/omk-tui/dist/utils.js.map +0 -1
  1462. package/node_modules/@earendil-works/omk-tui/dist/word-navigation.d.ts +0 -25
  1463. package/node_modules/@earendil-works/omk-tui/dist/word-navigation.d.ts.map +0 -1
  1464. package/node_modules/@earendil-works/omk-tui/dist/word-navigation.js +0 -96
  1465. package/node_modules/@earendil-works/omk-tui/dist/word-navigation.js.map +0 -1
  1466. package/node_modules/@earendil-works/omk-tui/native/darwin/prebuilds/darwin-arm64/darwin-modifiers.node +0 -0
  1467. package/node_modules/@earendil-works/omk-tui/native/darwin/prebuilds/darwin-x64/darwin-modifiers.node +0 -0
  1468. package/node_modules/@earendil-works/omk-tui/native/win32/prebuilds/win32-arm64/win32-console-mode.node +0 -0
  1469. package/node_modules/@earendil-works/omk-tui/native/win32/prebuilds/win32-x64/win32-console-mode.node +0 -0
  1470. 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"]}