@jungjaehoon/mama-core 2.4.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/README.md +76 -239
  2. package/db/migrations/030-case-first-memory-substrate.sql +13 -98
  3. package/db/migrations/034-add-connector-event-scope-columns.sql +9 -13
  4. package/db/migrations/039-add-connector-event-operator-ingest-seq.sql +9 -95
  5. package/db/migrations/062-refresh-connector-event-sequences.sql +9 -113
  6. package/db/migrations/063-refresh-legacy-connector-event-updates.sql +9 -32
  7. package/db/migrations/067-add-connector-event-source-entity-id.sql +9 -13
  8. package/db/migrations/069-create-registry-nodes.sql +52 -0
  9. package/db/migrations/070-record-identity.sql +35 -0
  10. package/db/migrations/071-service-operation-origins.sql +187 -0
  11. package/db/migrations/072-observation-versions.sql +29 -0
  12. package/db/migrations/073-registry-corrections.sql +45 -0
  13. package/db/migrations/074-work-graph-ref-kinds.sql +39 -0
  14. package/db/migrations/075-agent-judgments.sql +58 -0
  15. package/db/migrations/076-scoped-checkpoint-bindings.sql +15 -0
  16. package/db/migrations/077-legacy-record-kind.sql +6 -0
  17. package/db/migrations/078-source-ingest-commands.sql +18 -0
  18. package/db/migrations/079-twin-edge-relations.sql +43 -0
  19. package/db/migrations/080-restore-duration-days.sql +7 -0
  20. package/db/migrations/081-mailbox.sql +61 -0
  21. package/db/migrations/082-commitments-row-id.sql +12 -0
  22. package/db/migrations/083-observation-is-the-evidence.sql +49 -0
  23. package/db/migrations/084-scope-kind-is-not-the-cores-to-list.sql +34 -0
  24. package/db/migrations/085-a-migration-has-a-source.sql +37 -0
  25. package/db/migrations/086-the-mailbox-is-generic.sql +110 -0
  26. package/db/migrations/087-mailbox-payload.sql +5 -0
  27. package/db/migrations/088-native-input-journal.sql +14 -0
  28. package/db/migrations/089-native-turn-receipt-lookup.sql +3 -0
  29. package/db/migrations/090-model-run-native-inputs.sql +29 -0
  30. package/db/migrations/091-native-turn-results.sql +11 -0
  31. package/db/migrations/092-restore-decision-fts.sql +34 -0
  32. package/db/migrations/093-native-turn-primary-kind.sql +14 -0
  33. package/db/migrations/094-commitment-run-provenance.sql +9 -0
  34. package/db/migrations/095-model-run-native-input-identity.sql +39 -0
  35. package/db/migrations/096-drop-connector-event-index-fts.sql +9 -0
  36. package/db/migrations/097-native-input-json-validity.sql +37 -0
  37. package/db/migrations/098-workflow-memory-kind.sql +105 -0
  38. package/db/migrations/099-commitment-revision-graph.sql +2 -0
  39. package/dist/action-contracts.d.ts +212 -0
  40. package/dist/action-contracts.js +10 -0
  41. package/dist/api/catalog.d.ts +118 -0
  42. package/dist/api/catalog.js +1756 -0
  43. package/dist/api/dispatch.d.ts +76 -0
  44. package/dist/api/dispatch.js +372 -0
  45. package/dist/canonicalize.d.ts +2 -2
  46. package/dist/canonicalize.js +3 -3
  47. package/dist/client/client.d.ts +33 -0
  48. package/dist/client/client.js +123 -0
  49. package/dist/client/ipc.d.ts +81 -0
  50. package/dist/client/ipc.js +314 -0
  51. package/dist/db-adapter/base-adapter.d.ts +6 -66
  52. package/dist/db-adapter/base-adapter.js +6 -6
  53. package/dist/db-adapter/index.d.ts +5 -5
  54. package/dist/db-adapter/index.js +2 -5
  55. package/dist/db-adapter/node-sqlite-adapter.d.ts +85 -15
  56. package/dist/db-adapter/node-sqlite-adapter.js +1985 -570
  57. package/dist/db-manager.d.ts +53 -97
  58. package/dist/db-manager.js +121 -603
  59. package/dist/embedding/embedder.d.ts +132 -0
  60. package/dist/embedding/embedder.js +299 -0
  61. package/dist/identity/principal-repository.d.ts +2 -2
  62. package/dist/index.d.ts +43 -58
  63. package/dist/index.js +97 -145
  64. package/dist/{context-compile/channel-grant.d.ts → knowledge/access.d.ts} +12 -17
  65. package/dist/knowledge/access.js +663 -0
  66. package/dist/knowledge/case-errors.d.ts +31 -0
  67. package/dist/knowledge/case-errors.js +40 -0
  68. package/dist/{cases/search-rollup.d.ts → knowledge/case-search-rollup.d.ts} +5 -4
  69. package/dist/{cases/search-rollup.js → knowledge/case-search-rollup.js} +6 -8
  70. package/dist/{cases/store.d.ts → knowledge/case-store.d.ts} +3 -6
  71. package/dist/{cases/store.js → knowledge/case-store.js} +7 -42
  72. package/dist/{cases/timeline-range.d.ts → knowledge/case-timeline-range.d.ts} +3 -3
  73. package/dist/{cases/timeline-range.js → knowledge/case-timeline-range.js} +47 -25
  74. package/dist/{cases/types.d.ts → knowledge/case-types.d.ts} +8 -2
  75. package/dist/{cases/types.js → knowledge/case-types.js} +1 -1
  76. package/dist/knowledge/commitment-revision-migration.d.ts +4 -0
  77. package/dist/knowledge/commitment-revision-migration.js +50 -0
  78. package/dist/knowledge/commitments.d.ts +192 -0
  79. package/dist/knowledge/commitments.js +386 -0
  80. package/dist/knowledge/decision-edges.d.ts +70 -0
  81. package/dist/knowledge/decision-edges.js +123 -0
  82. package/dist/{agent-graph/types.d.ts → knowledge/graph-query.d.ts} +80 -70
  83. package/dist/knowledge/graph-query.js +1585 -0
  84. package/dist/knowledge/identity.d.ts +16 -0
  85. package/dist/knowledge/identity.js +22 -0
  86. package/dist/knowledge/index.d.ts +47 -0
  87. package/dist/knowledge/index.js +90 -0
  88. package/dist/knowledge/judgment-edge.d.ts +6 -0
  89. package/dist/knowledge/judgment-edge.js +22 -0
  90. package/dist/knowledge/judgments.d.ts +118 -0
  91. package/dist/knowledge/judgments.js +802 -0
  92. package/dist/knowledge/observations.d.ts +160 -0
  93. package/dist/knowledge/observations.js +449 -0
  94. package/dist/knowledge/question-type.d.ts +34 -0
  95. package/dist/knowledge/question-type.js +70 -0
  96. package/dist/{search → knowledge}/ranker-features.js +1 -1
  97. package/dist/{search → knowledge}/search-quality.d.ts +0 -1
  98. package/dist/knowledge/search.d.ts +38 -0
  99. package/dist/knowledge/search.js +91 -0
  100. package/dist/knowledge/source-ingest.d.ts +65 -0
  101. package/dist/knowledge/source-ingest.js +174 -0
  102. package/dist/{edges/types.d.ts → knowledge/twin-edge-types.d.ts} +31 -4
  103. package/dist/{edges/types.js → knowledge/twin-edge-types.js} +13 -2
  104. package/dist/knowledge/work-dates.d.ts +49 -0
  105. package/dist/knowledge/work-dates.js +120 -0
  106. package/dist/mama-api.d.ts +114 -778
  107. package/dist/mama-api.js +313 -2461
  108. package/dist/memory/api.d.ts +264 -24
  109. package/dist/memory/api.js +1633 -843
  110. package/dist/memory/bootstrap-builder.d.ts +2 -1
  111. package/dist/memory/bootstrap-builder.js +5 -5
  112. package/dist/memory/channel-summary-state-store.d.ts +3 -2
  113. package/dist/memory/channel-summary-state-store.js +53 -51
  114. package/dist/memory/channel-summary-store.d.ts +5 -3
  115. package/dist/memory/channel-summary-store.js +3 -8
  116. package/dist/memory/dashboard-read.d.ts +46 -0
  117. package/dist/memory/dashboard-read.js +94 -0
  118. package/dist/memory/event-store.d.ts +3 -3
  119. package/dist/memory/event-store.js +3 -10
  120. package/dist/memory/finding-store.d.ts +3 -2
  121. package/dist/memory/finding-store.js +2 -7
  122. package/dist/memory/graph-read.d.ts +52 -0
  123. package/dist/memory/graph-read.js +130 -0
  124. package/dist/memory/judgment-types.d.ts +394 -0
  125. package/dist/memory/judgment-types.js +16 -0
  126. package/dist/memory/provenance-audit.d.ts +5 -2
  127. package/dist/memory/provenance-audit.js +8 -14
  128. package/dist/memory/provenance-live.d.ts +141 -0
  129. package/dist/memory/provenance-live.js +409 -0
  130. package/dist/memory/provenance-query.d.ts +5 -4
  131. package/dist/memory/provenance-query.js +21 -29
  132. package/dist/memory/provenance-resolver.d.ts +191 -0
  133. package/dist/memory/provenance-resolver.js +155 -0
  134. package/dist/memory/provenance.d.ts +1 -11
  135. package/dist/memory/provenance.js +2 -33
  136. package/dist/memory/recall-sanitize.d.ts +55 -0
  137. package/dist/memory/recall-sanitize.js +144 -0
  138. package/dist/memory/secret-filter.d.ts +32 -0
  139. package/dist/memory/secret-filter.js +126 -0
  140. package/dist/memory/truth-store.d.ts +2 -1
  141. package/dist/memory/truth-store.js +1 -4
  142. package/dist/memory/types.d.ts +74 -24
  143. package/dist/memory/types.js +75 -5
  144. package/dist/memory/write-adapters.d.ts +98 -0
  145. package/dist/memory/write-adapters.js +242 -0
  146. package/dist/operations/owner-action-effects.d.ts +53 -0
  147. package/dist/operations/owner-action-effects.js +96 -0
  148. package/dist/provenance/source-ref.d.ts +1 -1
  149. package/dist/provenance/source-ref.js +0 -2
  150. package/dist/registry/corrections.d.ts +31 -0
  151. package/dist/registry/corrections.js +332 -0
  152. package/dist/registry/record-identity.d.ts +49 -0
  153. package/dist/registry/record-identity.js +133 -0
  154. package/dist/registry/store.d.ts +101 -0
  155. package/dist/registry/store.js +395 -0
  156. package/dist/registry/types.d.ts +28 -0
  157. package/dist/registry/types.js +5 -0
  158. package/dist/relevance-scorer.js +2 -2
  159. package/dist/runtime/agent-event-bus.d.ts +50 -0
  160. package/dist/runtime/agent-event-bus.js +101 -0
  161. package/dist/runtime/drivers/claude-cli-wrapper.d.ts +152 -0
  162. package/dist/runtime/drivers/claude-cli-wrapper.js +375 -0
  163. package/dist/runtime/drivers/claude-effort.d.ts +4 -0
  164. package/dist/runtime/drivers/claude-effort.js +16 -0
  165. package/dist/runtime/drivers/cli-arg-redaction.d.ts +2 -0
  166. package/dist/runtime/drivers/cli-arg-redaction.js +18 -0
  167. package/dist/runtime/drivers/cli-secret-redaction.d.ts +17 -0
  168. package/dist/runtime/drivers/cli-secret-redaction.js +126 -0
  169. package/dist/runtime/drivers/codex-app-server-process.d.ts +277 -0
  170. package/dist/runtime/drivers/codex-app-server-process.js +2342 -0
  171. package/dist/runtime/drivers/codex-auxiliary-tools.d.ts +17 -0
  172. package/dist/runtime/drivers/codex-auxiliary-tools.js +267 -0
  173. package/dist/runtime/drivers/codex-home.d.ts +20 -0
  174. package/dist/runtime/drivers/codex-home.js +674 -0
  175. package/dist/runtime/drivers/codex-thread-registry.d.ts +63 -0
  176. package/dist/runtime/drivers/codex-thread-registry.js +433 -0
  177. package/dist/runtime/drivers/persistent-cli-adapter.d.ts +160 -0
  178. package/dist/runtime/drivers/persistent-cli-adapter.js +396 -0
  179. package/dist/runtime/drivers/persistent-cli-process.d.ts +425 -0
  180. package/dist/runtime/drivers/persistent-cli-process.js +1529 -0
  181. package/dist/runtime/drivers/types.d.ts +456 -0
  182. package/dist/runtime/drivers/types.js +110 -0
  183. package/dist/runtime/mailbox.d.ts +223 -0
  184. package/dist/runtime/mailbox.js +582 -0
  185. package/dist/runtime/model-run-store.d.ts +28 -0
  186. package/dist/{model-runs/store.js → runtime/model-run-store.js} +81 -41
  187. package/dist/{model-runs/types.d.ts → runtime/model-run-types.d.ts} +33 -4
  188. package/dist/{model-runs/types.js → runtime/model-run-types.js} +1 -1
  189. package/dist/runtime/native-effect-observer.d.ts +22 -0
  190. package/dist/runtime/native-effect-observer.js +103 -0
  191. package/dist/runtime/native-input-journal.d.ts +46 -0
  192. package/dist/runtime/native-input-journal.js +308 -0
  193. package/dist/runtime/native-prompt.d.ts +118 -0
  194. package/dist/runtime/native-prompt.js +496 -0
  195. package/dist/runtime/native-session.d.ts +10 -0
  196. package/dist/{agent-graph/index.js → runtime/native-session.js} +9 -6
  197. package/dist/runtime/native-tool-trace-observer.d.ts +5 -0
  198. package/dist/runtime/native-tool-trace-observer.js +65 -0
  199. package/dist/runtime/native-turn.d.ts +272 -0
  200. package/dist/runtime/native-turn.js +1041 -0
  201. package/dist/runtime/operations.d.ts +236 -0
  202. package/dist/runtime/operations.js +565 -0
  203. package/dist/runtime/post-tool-handler.d.ts +74 -0
  204. package/dist/runtime/post-tool-handler.js +137 -0
  205. package/dist/runtime/prompt-layers.d.ts +126 -0
  206. package/dist/runtime/prompt-layers.js +239 -0
  207. package/dist/runtime/runtime-process.d.ts +102 -0
  208. package/dist/runtime/runtime-process.js +206 -0
  209. package/dist/runtime/runtime.d.ts +278 -0
  210. package/dist/runtime/runtime.js +563 -0
  211. package/dist/runtime/session-pool.d.ts +176 -0
  212. package/dist/runtime/session-pool.js +369 -0
  213. package/dist/runtime/stimulus-payload.d.ts +5 -0
  214. package/dist/runtime/stimulus-payload.js +50 -0
  215. package/dist/runtime/subagent-bridge.d.ts +24 -0
  216. package/dist/{agent-graph/types.js → runtime/subagent-bridge.js} +1 -1
  217. package/dist/runtime/text-completion.d.ts +22 -0
  218. package/dist/{agent-situation/types.js → runtime/text-completion.js} +1 -1
  219. package/dist/runtime/token-estimator.d.ts +25 -0
  220. package/dist/runtime/token-estimator.js +75 -0
  221. package/dist/runtime/tool-trace-store.d.ts +22 -0
  222. package/dist/{model-runs → runtime}/tool-trace-store.js +46 -27
  223. package/dist/runtime/trace-summary.d.ts +5 -0
  224. package/dist/runtime/trace-summary.js +74 -0
  225. package/dist/runtime/turn-text.d.ts +23 -0
  226. package/dist/runtime/turn-text.js +41 -0
  227. package/dist/storage/database.d.ts +67 -0
  228. package/dist/storage/database.js +158 -0
  229. package/package.json +20 -34
  230. package/dist/agent-graph/alias-write.d.ts +0 -3
  231. package/dist/agent-graph/alias-write.js +0 -234
  232. package/dist/agent-graph/entity-resolve.d.ts +0 -3
  233. package/dist/agent-graph/entity-resolve.js +0 -271
  234. package/dist/agent-graph/errors.d.ts +0 -4
  235. package/dist/agent-graph/errors.js +0 -11
  236. package/dist/agent-graph/graph-query.d.ts +0 -5
  237. package/dist/agent-graph/graph-query.js +0 -360
  238. package/dist/agent-graph/index.d.ts +0 -6
  239. package/dist/agent-situation/builder.d.ts +0 -8
  240. package/dist/agent-situation/builder.js +0 -239
  241. package/dist/agent-situation/cache-key.d.ts +0 -4
  242. package/dist/agent-situation/cache-key.js +0 -64
  243. package/dist/agent-situation/index.d.ts +0 -7
  244. package/dist/agent-situation/index.js +0 -28
  245. package/dist/agent-situation/packet-store.d.ts +0 -27
  246. package/dist/agent-situation/packet-store.js +0 -228
  247. package/dist/agent-situation/ranking-policy.d.ts +0 -18
  248. package/dist/agent-situation/ranking-policy.js +0 -75
  249. package/dist/agent-situation/source-readers.d.ts +0 -52
  250. package/dist/agent-situation/source-readers.js +0 -300
  251. package/dist/agent-situation/types.d.ts +0 -195
  252. package/dist/cases/wiki-page-index.d.ts +0 -37
  253. package/dist/cases/wiki-page-index.js +0 -201
  254. package/dist/config-loader.d.ts +0 -68
  255. package/dist/config-loader.js +0 -239
  256. package/dist/connectors/event-index.d.ts +0 -24
  257. package/dist/connectors/event-index.js +0 -245
  258. package/dist/connectors/raw-query.d.ts +0 -40
  259. package/dist/connectors/raw-query.js +0 -412
  260. package/dist/connectors/types.d.ts +0 -117
  261. package/dist/connectors/types.js +0 -3
  262. package/dist/context-compile/boundary-defaults.d.ts +0 -12
  263. package/dist/context-compile/boundary-defaults.js +0 -105
  264. package/dist/context-compile/channel-grant.js +0 -66
  265. package/dist/context-compile/compiler-policy.d.ts +0 -39
  266. package/dist/context-compile/compiler-policy.js +0 -147
  267. package/dist/context-compile/compiler.d.ts +0 -18
  268. package/dist/context-compile/compiler.js +0 -404
  269. package/dist/context-compile/index.d.ts +0 -10
  270. package/dist/context-compile/index.js +0 -26
  271. package/dist/context-compile/packet-store.d.ts +0 -8
  272. package/dist/context-compile/packet-store.js +0 -239
  273. package/dist/context-compile/ref.d.ts +0 -7
  274. package/dist/context-compile/ref.js +0 -102
  275. package/dist/context-compile/source-readers.d.ts +0 -70
  276. package/dist/context-compile/source-readers.js +0 -840
  277. package/dist/context-compile/types.d.ts +0 -155
  278. package/dist/context-compile/types.js +0 -11
  279. package/dist/context-compile/visibility.d.ts +0 -21
  280. package/dist/context-compile/visibility.js +0 -224
  281. package/dist/decision-tracker.d.ts +0 -206
  282. package/dist/decision-tracker.js +0 -481
  283. package/dist/edges/ref-validation.d.ts +0 -7
  284. package/dist/edges/ref-validation.js +0 -321
  285. package/dist/edges/store.d.ts +0 -8
  286. package/dist/edges/store.js +0 -129
  287. package/dist/embedding-client.d.ts +0 -28
  288. package/dist/embedding-client.js +0 -53
  289. package/dist/embedding-server/index.d.ts +0 -67
  290. package/dist/embedding-server/index.js +0 -405
  291. package/dist/embedding-server/mobile/auth.d.ts +0 -44
  292. package/dist/embedding-server/mobile/auth.js +0 -150
  293. package/dist/embedding-server/mobile/daemon.d.ts +0 -129
  294. package/dist/embedding-server/mobile/daemon.js +0 -313
  295. package/dist/embedding-server/mobile/output-parser.d.ts +0 -115
  296. package/dist/embedding-server/mobile/output-parser.js +0 -241
  297. package/dist/embedding-server/mobile/session-api.d.ts +0 -57
  298. package/dist/embedding-server/mobile/session-api.js +0 -261
  299. package/dist/embedding-server/mobile/session-manager.d.ts +0 -138
  300. package/dist/embedding-server/mobile/session-manager.js +0 -378
  301. package/dist/embedding-server/mobile/websocket-handler.d.ts +0 -137
  302. package/dist/embedding-server/mobile/websocket-handler.js +0 -486
  303. package/dist/embeddings.d.ts +0 -68
  304. package/dist/embeddings.js +0 -244
  305. package/dist/entities/audit-metrics.d.ts +0 -68
  306. package/dist/entities/audit-metrics.js +0 -124
  307. package/dist/entities/candidate-generator.d.ts +0 -8
  308. package/dist/entities/candidate-generator.js +0 -24
  309. package/dist/entities/entity-linked-decision-counts.d.ts +0 -2
  310. package/dist/entities/entity-linked-decision-counts.js +0 -29
  311. package/dist/entities/entity-list.d.ts +0 -22
  312. package/dist/entities/entity-list.js +0 -3
  313. package/dist/entities/entity-orphan-list.d.ts +0 -17
  314. package/dist/entities/entity-orphan-list.js +0 -3
  315. package/dist/entities/entity-search.d.ts +0 -20
  316. package/dist/entities/entity-search.js +0 -3
  317. package/dist/entities/errors.d.ts +0 -55
  318. package/dist/entities/errors.js +0 -100
  319. package/dist/entities/lineage-store.d.ts +0 -28
  320. package/dist/entities/lineage-store.js +0 -204
  321. package/dist/entities/normalization.d.ts +0 -14
  322. package/dist/entities/normalization.js +0 -63
  323. package/dist/entities/policy-store.d.ts +0 -8
  324. package/dist/entities/policy-store.js +0 -75
  325. package/dist/entities/policy-types.d.ts +0 -72
  326. package/dist/entities/policy-types.js +0 -59
  327. package/dist/entities/projection.d.ts +0 -8
  328. package/dist/entities/projection.js +0 -82
  329. package/dist/entities/provenance-query.d.ts +0 -32
  330. package/dist/entities/provenance-query.js +0 -3
  331. package/dist/entities/read-identity.d.ts +0 -31
  332. package/dist/entities/read-identity.js +0 -264
  333. package/dist/entities/recall-bridge.d.ts +0 -5
  334. package/dist/entities/recall-bridge.js +0 -171
  335. package/dist/entities/resolution-engine.d.ts +0 -8
  336. package/dist/entities/resolution-engine.js +0 -3
  337. package/dist/entities/rollback-preview.d.ts +0 -35
  338. package/dist/entities/rollback-preview.js +0 -3
  339. package/dist/entities/source-locator.d.ts +0 -3
  340. package/dist/entities/source-locator.js +0 -32
  341. package/dist/entities/store.d.ts +0 -69
  342. package/dist/entities/store.js +0 -544
  343. package/dist/entities/types.d.ts +0 -166
  344. package/dist/entities/types.js +0 -30
  345. package/dist/memory/extraction-prompt.d.ts +0 -4
  346. package/dist/memory/extraction-prompt.js +0 -89
  347. package/dist/memory/scope-backfill.d.ts +0 -14
  348. package/dist/memory/scope-backfill.js +0 -3
  349. package/dist/memory/scope-store.d.ts +0 -4
  350. package/dist/memory/scope-store.js +0 -9
  351. package/dist/memory-store.d.ts +0 -87
  352. package/dist/memory-store.js +0 -78
  353. package/dist/model-runs/store.d.ts +0 -13
  354. package/dist/model-runs/tool-trace-store.d.ts +0 -8
  355. package/dist/notification-manager.d.ts +0 -7
  356. package/dist/notification-manager.js +0 -12
  357. package/dist/outcome-tracker.d.ts +0 -151
  358. package/dist/outcome-tracker.js +0 -271
  359. package/dist/query-intent.d.ts +0 -23
  360. package/dist/query-intent.js +0 -114
  361. package/dist/runtime/trusted-provenance.d.ts +0 -3
  362. package/dist/runtime/trusted-provenance.js +0 -6
  363. package/dist/search/question-type.d.ts +0 -5
  364. package/dist/search/question-type.js +0 -41
  365. package/dist/test-utils.d.ts +0 -80
  366. package/dist/test-utils.js +0 -218
  367. package/dist/tier-validator.d.ts +0 -43
  368. package/dist/tier-validator.js +0 -159
  369. package/dist/time-formatter.d.ts +0 -25
  370. package/dist/time-formatter.js +0 -93
  371. /package/dist/{search → knowledge}/feedback-store.d.ts +0 -0
  372. /package/dist/{search → knowledge}/feedback-store.js +0 -0
  373. /package/dist/{search → knowledge}/ranker-features.d.ts +0 -0
  374. /package/dist/{search → knowledge}/ranker-rescore.d.ts +0 -0
  375. /package/dist/{search → knowledge}/ranker-rescore.js +0 -0
  376. /package/dist/{search → knowledge}/ranker-trainer.d.ts +0 -0
  377. /package/dist/{search → knowledge}/ranker-trainer.js +0 -0
  378. /package/dist/{search → knowledge}/search-quality.js +0 -0
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.upsertDecisionEdge = upsertDecisionEdge;
4
+ exports.proposeDecisionEdge = proposeDecisionEdge;
5
+ exports.approveDecisionEdge = approveDecisionEdge;
6
+ exports.rejectDecisionEdge = rejectDecisionEdge;
7
+ exports.deprecateAutoDecisionEdges = deprecateAutoDecisionEdges;
8
+ exports.deleteDecisionEdgesWithAudit = deleteDecisionEdgesWithAudit;
9
+ /**
10
+ * Insert-or-replace one decision edge row with explicit governance columns.
11
+ * Used by the public createEdge API (createdBy 'llm', approvedByUser 1) and by
12
+ * the backup-restore path (columns replayed from the backup file).
13
+ */
14
+ function upsertDecisionEdge(adapter, edge) {
15
+ adapter
16
+ .prepare(`INSERT OR REPLACE INTO decision_edges
17
+ (from_id, to_id, relationship, reason, created_by, approved_by_user, decision_id, evidence, created_at)
18
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`)
19
+ .run(edge.fromId, edge.toId, edge.relationship, edge.reason, edge.createdBy, edge.approvedByUser, edge.decisionId, edge.evidence, edge.createdAt);
20
+ }
21
+ /**
22
+ * Record a proposed edge pending user approval, plus its 'proposed' audit row.
23
+ */
24
+ function proposeDecisionEdge(adapter, edge) {
25
+ adapter.transaction(() => {
26
+ adapter
27
+ .prepare(`INSERT INTO decision_edges
28
+ (from_id, to_id, relationship, reason, created_by, approved_by_user, decision_id, evidence, created_at)
29
+ VALUES (?, ?, ?, ?, 'llm', 0, ?, ?, ?)`)
30
+ .run(edge.fromId, edge.toId, edge.relationship, edge.reason, edge.decisionId, edge.evidence, Date.now());
31
+ adapter
32
+ .prepare(`INSERT INTO link_audit_log (from_id, to_id, relationship, action, actor, reason, created_at)
33
+ VALUES (?, ?, ?, 'proposed', 'llm', ?, ?)`)
34
+ .run(edge.fromId, edge.toId, edge.relationship, edge.reason, Date.now());
35
+ });
36
+ }
37
+ /**
38
+ * Approve a pending edge, plus its 'approved' audit row.
39
+ */
40
+ function approveDecisionEdge(adapter, key) {
41
+ adapter.transaction(() => {
42
+ adapter
43
+ .prepare(`UPDATE decision_edges
44
+ SET approved_by_user = 1, approved_at = ?
45
+ WHERE from_id = ? AND to_id = ? AND relationship = ?`)
46
+ .run(Date.now(), key.fromId, key.toId, key.relationship);
47
+ adapter
48
+ .prepare(`INSERT INTO link_audit_log (from_id, to_id, relationship, action, actor, created_at)
49
+ VALUES (?, ?, ?, 'approved', 'user', ?)`)
50
+ .run(key.fromId, key.toId, key.relationship, Date.now());
51
+ });
52
+ }
53
+ /**
54
+ * Reject a proposed edge: the 'rejected' audit row is written before the edge
55
+ * is deleted, in the same transaction.
56
+ */
57
+ function rejectDecisionEdge(adapter, key, reason) {
58
+ adapter.transaction(() => {
59
+ adapter
60
+ .prepare(`INSERT INTO link_audit_log (from_id, to_id, relationship, action, actor, reason, created_at)
61
+ VALUES (?, ?, ?, 'rejected', 'user', ?, ?)`)
62
+ .run(key.fromId, key.toId, key.relationship, reason, Date.now());
63
+ adapter
64
+ .prepare(`DELETE FROM decision_edges
65
+ WHERE from_id = ? AND to_id = ? AND relationship = ?`)
66
+ .run(key.fromId, key.toId, key.relationship);
67
+ });
68
+ }
69
+ /**
70
+ * Remove the auto-generated edge population (created_by='user' with no
71
+ * proposal context) and record one 'deprecated' audit row per removed link.
72
+ * `links` is the already-scanned target set; it only feeds the audit rows.
73
+ */
74
+ function deprecateAutoDecisionEdges(adapter, links, reason) {
75
+ adapter.transaction(() => {
76
+ adapter
77
+ .prepare(`DELETE FROM decision_edges WHERE created_by = 'user' AND decision_id IS NULL`)
78
+ .run();
79
+ const auditStmt = adapter.prepare(`INSERT INTO link_audit_log (from_id, to_id, relationship, action, actor, reason, created_at)
80
+ VALUES (?, ?, ?, 'deprecated', 'system', ?, ?)`);
81
+ const timestamp = Date.now();
82
+ for (const link of links) {
83
+ auditStmt.run(link.fromId, link.toId, link.relationship, reason, timestamp);
84
+ }
85
+ });
86
+ }
87
+ /**
88
+ * Delete one batch of edges, writing a 'deprecated' audit row for each. A
89
+ * per-link failure is collected and the batch continues, matching the cleanup
90
+ * tool's accounting; a failure of the batch itself throws to the caller.
91
+ */
92
+ function deleteDecisionEdgesWithAudit(adapter, links, reason) {
93
+ const deleteStmt = adapter.prepare(`DELETE FROM decision_edges
94
+ WHERE from_id = ? AND to_id = ? AND relationship = ?`);
95
+ const auditStmt = adapter.prepare(`INSERT INTO link_audit_log (from_id, to_id, relationship, action, actor, reason, created_at)
96
+ VALUES (?, ?, ?, 'deprecated', 'system', ?, ?)`);
97
+ let deleted = 0;
98
+ const failures = [];
99
+ const processLinks = () => {
100
+ for (const link of links) {
101
+ try {
102
+ deleteStmt.run(link.fromId, link.toId, link.relationship);
103
+ auditStmt.run(link.fromId, link.toId, link.relationship, reason, Date.now());
104
+ deleted++;
105
+ }
106
+ catch (error) {
107
+ failures.push({
108
+ link: `${link.fromId}->${link.toId}`,
109
+ error: error instanceof Error ? error.message : String(error),
110
+ });
111
+ }
112
+ }
113
+ };
114
+ // Use transaction if available, otherwise run directly
115
+ if (adapter.transaction) {
116
+ adapter.transaction(processLinks);
117
+ }
118
+ else {
119
+ processLinks();
120
+ }
121
+ return { deleted, failures };
122
+ }
123
+ //# sourceMappingURL=decision-edges.js.map
@@ -1,41 +1,59 @@
1
- import type { DatabaseAdapter } from '../db-manager.js';
2
- import type { EntityAlias, EntityAliasLabelType, EntityNode } from '../entities/types.js';
3
- import type { TwinEdgeRecord, TwinEdgeType, TwinProjectRef, TwinRef, TwinScopeRef } from '../edges/types.js';
1
+ /**
2
+ * Knowledge graph queries: how a topic got to where it is, and what else it
3
+ * argues with. Two surfaces live here: the decision-chain graph (supersedes /
4
+ * decision_edges) and the twin-edge graph (neighborhood, paths, timeline over
5
+ * `twin_edges`).
6
+ *
7
+ * Every function takes the adapter it reads through, so a caller cannot walk a
8
+ * graph in a database it did not open.
9
+ *
10
+ * @module knowledge/graph-query
11
+ */
12
+ import type { DatabaseAdapter, DecisionRecord, SemanticEdges } from '../db-manager.js';
13
+ import { type JudgmentAccess } from './judgments.js';
14
+ import type { WorkGraphPage, WorkGraphQuery } from '../memory/judgment-types.js';
15
+ import type { TwinEdgeRecord, TwinEdgeType, TwinProjectRef, TwinRef, TwinScopeRef } from '../knowledge/twin-edge-types.js';
16
+ /**
17
+ * Walk a topic's supersedes chain with a recursive CTE.
18
+ *
19
+ * @param adapter - Database to read through
20
+ * @param topic - Decision topic to query
21
+ * @param anchorId - Start from this decision instead of the topic's current head
22
+ * @returns Decisions ordered by recency, each carrying its approved edges
23
+ */
24
+ export declare function queryDecisionGraph(adapter: DatabaseAdapter, topic: string, anchorId?: string): Promise<DecisionRecord[]>;
25
+ /**
26
+ * Outgoing and incoming semantic edges for a set of decisions.
27
+ *
28
+ * @param adapter - Database to read through
29
+ * @param decisionIds - Decision IDs to query edges for
30
+ * @returns Edges categorized by relationship and direction
31
+ */
32
+ export declare function querySemanticEdges(adapter: DatabaseAdapter, decisionIds: string[]): Promise<SemanticEdges>;
33
+ export declare class AgentGraphValidationError extends Error {
34
+ constructor(message: string);
35
+ }
4
36
  export type AgentGraphAdapter = Pick<DatabaseAdapter, 'prepare' | 'transaction'>;
5
37
  export interface AgentGraphEdgeFilters {
6
38
  edge_types?: TwinEdgeType[];
7
39
  }
8
- export interface ResolveEntityInput {
9
- label: string;
10
- scopes?: TwinScopeRef[];
11
- connectors?: string[];
12
- project_refs?: TwinProjectRef[];
13
- /**
14
- * Which channels of each connector may be read. Carried on every graph input for the
15
- * same reason it is carried on the reader's boundary: a raw ref reached through an edge
16
- * must satisfy the same rule as a row the reader would have returned.
17
- */
18
- channels?: Record<string, readonly string[]>;
19
- tenant_id?: string | null;
20
- context_refs?: TwinRef[];
21
- limit?: number;
22
- as_of_ms?: number | null;
23
- }
24
- export interface ResolvedEntityCandidate {
25
- entity: EntityNode;
26
- matched_label: string;
27
- match_source: 'preferred_label' | 'alias' | 'observation';
28
- score: number;
29
- }
30
- export interface ResolveEntityResult {
31
- entity: EntityNode | null;
32
- candidates: ResolvedEntityCandidate[];
33
- }
34
40
  export interface GraphNeighborhoodInput {
35
41
  ref: TwinRef;
36
42
  depth?: number;
43
+ /**
44
+ * Which edge orientation, seen from the expanding frontier, belongs to the walk.
45
+ * 'out' follows edges whose subject is on the frontier, 'in' whose object is, and
46
+ * 'both' either — the absence of a direction means the undirected neighborhood.
47
+ */
48
+ direction?: 'in' | 'out' | 'both';
49
+ /**
50
+ * 'all' reads replaced records as history; absent or 'current' reads only
51
+ * what currently stands. Authority checks apply in both modes.
52
+ */
53
+ history?: 'current' | 'all';
37
54
  scopes?: TwinScopeRef[];
38
55
  connectors?: string[];
56
+ connector_wide_read?: string[];
39
57
  project_refs?: TwinProjectRef[];
40
58
  /**
41
59
  * Which channels of each connector may be read. Carried on every graph input for the
@@ -44,6 +62,8 @@ export interface GraphNeighborhoodInput {
44
62
  */
45
63
  channels?: Record<string, readonly string[]>;
46
64
  tenant_id?: string | null;
65
+ principal_id?: string;
66
+ agent_id?: string;
47
67
  edge_filters?: AgentGraphEdgeFilters;
48
68
  as_of_ms?: number | null;
49
69
  limit?: number;
@@ -51,13 +71,23 @@ export interface GraphNeighborhoodInput {
51
71
  export interface AgentGraphResult {
52
72
  nodes: TwinRef[];
53
73
  edges: TwinEdgeRecord[];
74
+ current_projection: AgentGraphCurrentProjection[];
75
+ }
76
+ export interface AgentGraphCurrentProjection {
77
+ edge_id: string;
78
+ endpoint: 'from' | 'to';
79
+ original_ref: TwinRef;
80
+ current_ref: TwinRef | null;
54
81
  }
55
82
  export interface GraphPathsInput {
56
83
  from_ref: TwinRef;
57
84
  to_ref: TwinRef;
58
85
  max_depth?: number;
86
+ /** 'all' reads replaced records as history; 'current' is the default. */
87
+ history?: 'current' | 'all';
59
88
  scopes?: TwinScopeRef[];
60
89
  connectors?: string[];
90
+ connector_wide_read?: string[];
61
91
  project_refs?: TwinProjectRef[];
62
92
  /**
63
93
  * Which channels of each connector may be read. Carried on every graph input for the
@@ -66,6 +96,8 @@ export interface GraphPathsInput {
66
96
  */
67
97
  channels?: Record<string, readonly string[]>;
68
98
  tenant_id?: string | null;
99
+ principal_id?: string;
100
+ agent_id?: string;
69
101
  edge_filters?: AgentGraphEdgeFilters;
70
102
  as_of_ms?: number | null;
71
103
  limit?: number;
@@ -76,11 +108,16 @@ export interface AgentGraphPath {
76
108
  }
77
109
  export interface GraphPathsResult {
78
110
  paths: AgentGraphPath[];
111
+ limit_reached: boolean;
112
+ current_projection: AgentGraphCurrentProjection[];
79
113
  }
80
114
  export interface GraphTimelineInput {
81
115
  ref: TwinRef;
116
+ /** 'all' reads replaced records as history; 'current' is the default. */
117
+ history?: 'current' | 'all';
82
118
  scopes?: TwinScopeRef[];
83
119
  connectors?: string[];
120
+ connector_wide_read?: string[];
84
121
  project_refs?: TwinProjectRef[];
85
122
  /**
86
123
  * Which channels of each connector may be read. Carried on every graph input for the
@@ -89,9 +126,13 @@ export interface GraphTimelineInput {
89
126
  */
90
127
  channels?: Record<string, readonly string[]>;
91
128
  tenant_id?: string | null;
129
+ principal_id?: string;
130
+ agent_id?: string;
92
131
  edge_filters?: AgentGraphEdgeFilters;
93
132
  from_ms?: number;
94
133
  to_ms?: number;
134
+ recorded_from_ms?: number;
135
+ recorded_to_ms?: number;
95
136
  as_of_ms?: number | null;
96
137
  limit?: number;
97
138
  }
@@ -124,14 +165,6 @@ export interface AgentGraphTimelineCaseEvent {
124
165
  last_activity_at: string | null;
125
166
  };
126
167
  }
127
- export interface AgentGraphTimelineEntityEvent {
128
- kind: 'entity';
129
- at_ms: number;
130
- ref: Extract<TwinRef, {
131
- kind: 'entity';
132
- }>;
133
- entity: EntityNode;
134
- }
135
168
  export interface AgentGraphTimelineRawEvent {
136
169
  kind: 'raw';
137
170
  at_ms: number;
@@ -147,6 +180,7 @@ export interface AgentGraphTimelineRawEvent {
147
180
  title: string | null;
148
181
  event_datetime: number | null;
149
182
  source_timestamp_ms: number;
183
+ observation_ref: string | null;
150
184
  };
151
185
  }
152
186
  export interface AgentGraphTimelineEdgeEvent {
@@ -154,39 +188,15 @@ export interface AgentGraphTimelineEdgeEvent {
154
188
  at_ms: number;
155
189
  edge: TwinEdgeRecord;
156
190
  }
157
- export type AgentGraphTimelineEvent = AgentGraphTimelineMemoryEvent | AgentGraphTimelineCaseEvent | AgentGraphTimelineEntityEvent | AgentGraphTimelineRawEvent | AgentGraphTimelineEdgeEvent;
191
+ export type AgentGraphTimelineEvent = AgentGraphTimelineMemoryEvent | AgentGraphTimelineCaseEvent | AgentGraphTimelineRawEvent | AgentGraphTimelineEdgeEvent;
158
192
  export interface GraphTimelineResult {
159
193
  ref: TwinRef;
160
194
  events: AgentGraphTimelineEvent[];
161
- }
162
- export interface AttachEntityAliasWithEdgeInput {
163
- entity_id: string;
164
- label: string;
165
- label_type?: EntityAliasLabelType;
166
- lang?: string | null;
167
- script?: string | null;
168
- confidence?: number | null;
169
- source_type: string;
170
- source_ref?: string | null;
171
- source_refs?: TwinRef[];
172
- agent_id: string;
173
- model_run_id: string;
174
- envelope_hash: string;
175
- request_idempotency_key?: string;
176
- edge_idempotency_key?: string;
177
- scopes?: TwinScopeRef[];
178
- connectors?: string[];
179
- project_refs?: TwinProjectRef[];
180
- /**
181
- * Which channels of each connector may be read. Carried on every graph input for the
182
- * same reason it is carried on the reader's boundary: a raw ref reached through an edge
183
- * must satisfy the same rule as a row the reader would have returned.
184
- */
185
- channels?: Record<string, readonly string[]>;
186
- tenant_id?: string | null;
187
- }
188
- export interface AttachEntityAliasWithEdgeResult {
189
- alias: EntityAlias;
190
- edge: TwinEdgeRecord;
191
- }
192
- //# sourceMappingURL=types.d.ts.map
195
+ has_more: boolean;
196
+ current_projection: AgentGraphCurrentProjection[];
197
+ }
198
+ export declare function getGraphNeighborhood(adapter: AgentGraphAdapter, input: GraphNeighborhoodInput): AgentGraphResult;
199
+ export declare function getGraphPaths(adapter: AgentGraphAdapter, input: GraphPathsInput): GraphPathsResult;
200
+ export declare function getGraphTimeline(adapter: AgentGraphAdapter, input: GraphTimelineInput): GraphTimelineResult;
201
+ export declare function queryGraph(adapter: AgentGraphAdapter, query: WorkGraphQuery, access: JudgmentAccess): WorkGraphPage;
202
+ //# sourceMappingURL=graph-query.d.ts.map