@jungjaehoon/mama-core 2.4.1 → 4.0.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 (371) 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/dist/action-contracts.d.ts +212 -0
  39. package/dist/action-contracts.js +10 -0
  40. package/dist/api/catalog.d.ts +118 -0
  41. package/dist/api/catalog.js +1756 -0
  42. package/dist/api/dispatch.d.ts +76 -0
  43. package/dist/api/dispatch.js +372 -0
  44. package/dist/canonicalize.d.ts +2 -2
  45. package/dist/canonicalize.js +3 -3
  46. package/dist/client/client.d.ts +33 -0
  47. package/dist/client/client.js +123 -0
  48. package/dist/client/ipc.d.ts +81 -0
  49. package/dist/client/ipc.js +314 -0
  50. package/dist/db-adapter/base-adapter.d.ts +6 -66
  51. package/dist/db-adapter/base-adapter.js +6 -6
  52. package/dist/db-adapter/index.d.ts +5 -5
  53. package/dist/db-adapter/index.js +2 -5
  54. package/dist/db-adapter/node-sqlite-adapter.d.ts +85 -15
  55. package/dist/db-adapter/node-sqlite-adapter.js +1968 -570
  56. package/dist/db-manager.d.ts +53 -97
  57. package/dist/db-manager.js +121 -603
  58. package/dist/embedding/embedder.d.ts +132 -0
  59. package/dist/embedding/embedder.js +299 -0
  60. package/dist/identity/principal-repository.d.ts +2 -2
  61. package/dist/index.d.ts +43 -58
  62. package/dist/index.js +97 -145
  63. package/dist/{context-compile/channel-grant.d.ts → knowledge/access.d.ts} +12 -17
  64. package/dist/knowledge/access.js +663 -0
  65. package/dist/knowledge/case-errors.d.ts +31 -0
  66. package/dist/knowledge/case-errors.js +40 -0
  67. package/dist/{cases/search-rollup.d.ts → knowledge/case-search-rollup.d.ts} +5 -4
  68. package/dist/{cases/search-rollup.js → knowledge/case-search-rollup.js} +6 -8
  69. package/dist/{cases/store.d.ts → knowledge/case-store.d.ts} +3 -6
  70. package/dist/{cases/store.js → knowledge/case-store.js} +7 -42
  71. package/dist/{cases/timeline-range.d.ts → knowledge/case-timeline-range.d.ts} +3 -3
  72. package/dist/{cases/timeline-range.js → knowledge/case-timeline-range.js} +47 -25
  73. package/dist/{cases/types.d.ts → knowledge/case-types.d.ts} +8 -2
  74. package/dist/{cases/types.js → knowledge/case-types.js} +1 -1
  75. package/dist/knowledge/commitments.d.ts +188 -0
  76. package/dist/knowledge/commitments.js +370 -0
  77. package/dist/knowledge/decision-edges.d.ts +70 -0
  78. package/dist/knowledge/decision-edges.js +123 -0
  79. package/dist/{agent-graph/types.d.ts → knowledge/graph-query.d.ts} +80 -70
  80. package/dist/knowledge/graph-query.js +1585 -0
  81. package/dist/knowledge/identity.d.ts +16 -0
  82. package/dist/knowledge/identity.js +22 -0
  83. package/dist/knowledge/index.d.ts +47 -0
  84. package/dist/knowledge/index.js +90 -0
  85. package/dist/knowledge/judgments.d.ts +118 -0
  86. package/dist/knowledge/judgments.js +808 -0
  87. package/dist/knowledge/observations.d.ts +160 -0
  88. package/dist/knowledge/observations.js +449 -0
  89. package/dist/knowledge/question-type.d.ts +34 -0
  90. package/dist/knowledge/question-type.js +70 -0
  91. package/dist/{search → knowledge}/ranker-features.js +1 -1
  92. package/dist/{search → knowledge}/search-quality.d.ts +0 -1
  93. package/dist/knowledge/search.d.ts +38 -0
  94. package/dist/knowledge/search.js +91 -0
  95. package/dist/knowledge/source-ingest.d.ts +65 -0
  96. package/dist/knowledge/source-ingest.js +174 -0
  97. package/dist/{edges/types.d.ts → knowledge/twin-edge-types.d.ts} +31 -4
  98. package/dist/{edges/types.js → knowledge/twin-edge-types.js} +13 -2
  99. package/dist/knowledge/work-dates.d.ts +49 -0
  100. package/dist/knowledge/work-dates.js +120 -0
  101. package/dist/mama-api.d.ts +114 -778
  102. package/dist/mama-api.js +313 -2461
  103. package/dist/memory/api.d.ts +264 -24
  104. package/dist/memory/api.js +1633 -843
  105. package/dist/memory/bootstrap-builder.d.ts +2 -1
  106. package/dist/memory/bootstrap-builder.js +5 -5
  107. package/dist/memory/channel-summary-state-store.d.ts +3 -2
  108. package/dist/memory/channel-summary-state-store.js +53 -51
  109. package/dist/memory/channel-summary-store.d.ts +5 -3
  110. package/dist/memory/channel-summary-store.js +3 -8
  111. package/dist/memory/dashboard-read.d.ts +46 -0
  112. package/dist/memory/dashboard-read.js +94 -0
  113. package/dist/memory/event-store.d.ts +3 -3
  114. package/dist/memory/event-store.js +3 -10
  115. package/dist/memory/finding-store.d.ts +3 -2
  116. package/dist/memory/finding-store.js +2 -7
  117. package/dist/memory/graph-read.d.ts +52 -0
  118. package/dist/memory/graph-read.js +130 -0
  119. package/dist/memory/judgment-types.d.ts +394 -0
  120. package/dist/memory/judgment-types.js +16 -0
  121. package/dist/memory/provenance-audit.d.ts +5 -2
  122. package/dist/memory/provenance-audit.js +8 -14
  123. package/dist/memory/provenance-live.d.ts +141 -0
  124. package/dist/memory/provenance-live.js +409 -0
  125. package/dist/memory/provenance-query.d.ts +5 -4
  126. package/dist/memory/provenance-query.js +21 -29
  127. package/dist/memory/provenance-resolver.d.ts +191 -0
  128. package/dist/memory/provenance-resolver.js +155 -0
  129. package/dist/memory/provenance.d.ts +1 -11
  130. package/dist/memory/provenance.js +2 -33
  131. package/dist/memory/recall-sanitize.d.ts +55 -0
  132. package/dist/memory/recall-sanitize.js +144 -0
  133. package/dist/memory/secret-filter.d.ts +32 -0
  134. package/dist/memory/secret-filter.js +126 -0
  135. package/dist/memory/truth-store.d.ts +2 -1
  136. package/dist/memory/truth-store.js +1 -4
  137. package/dist/memory/types.d.ts +74 -24
  138. package/dist/memory/types.js +75 -5
  139. package/dist/memory/write-adapters.d.ts +98 -0
  140. package/dist/memory/write-adapters.js +242 -0
  141. package/dist/operations/owner-action-effects.d.ts +53 -0
  142. package/dist/operations/owner-action-effects.js +96 -0
  143. package/dist/provenance/source-ref.d.ts +1 -1
  144. package/dist/provenance/source-ref.js +0 -2
  145. package/dist/registry/corrections.d.ts +31 -0
  146. package/dist/registry/corrections.js +332 -0
  147. package/dist/registry/record-identity.d.ts +49 -0
  148. package/dist/registry/record-identity.js +133 -0
  149. package/dist/registry/store.d.ts +101 -0
  150. package/dist/registry/store.js +395 -0
  151. package/dist/registry/types.d.ts +28 -0
  152. package/dist/registry/types.js +5 -0
  153. package/dist/relevance-scorer.js +2 -2
  154. package/dist/runtime/agent-event-bus.d.ts +50 -0
  155. package/dist/runtime/agent-event-bus.js +101 -0
  156. package/dist/runtime/drivers/claude-cli-wrapper.d.ts +155 -0
  157. package/dist/runtime/drivers/claude-cli-wrapper.js +392 -0
  158. package/dist/runtime/drivers/cli-arg-redaction.d.ts +2 -0
  159. package/dist/runtime/drivers/cli-arg-redaction.js +18 -0
  160. package/dist/runtime/drivers/cli-secret-redaction.d.ts +17 -0
  161. package/dist/runtime/drivers/cli-secret-redaction.js +126 -0
  162. package/dist/runtime/drivers/codex-app-server-process.d.ts +277 -0
  163. package/dist/runtime/drivers/codex-app-server-process.js +2342 -0
  164. package/dist/runtime/drivers/codex-auxiliary-tools.d.ts +17 -0
  165. package/dist/runtime/drivers/codex-auxiliary-tools.js +267 -0
  166. package/dist/runtime/drivers/codex-home.d.ts +20 -0
  167. package/dist/runtime/drivers/codex-home.js +674 -0
  168. package/dist/runtime/drivers/codex-thread-registry.d.ts +63 -0
  169. package/dist/runtime/drivers/codex-thread-registry.js +433 -0
  170. package/dist/runtime/drivers/persistent-cli-adapter.d.ts +160 -0
  171. package/dist/runtime/drivers/persistent-cli-adapter.js +396 -0
  172. package/dist/runtime/drivers/persistent-cli-process.d.ts +424 -0
  173. package/dist/runtime/drivers/persistent-cli-process.js +1543 -0
  174. package/dist/runtime/drivers/types.d.ts +456 -0
  175. package/dist/runtime/drivers/types.js +110 -0
  176. package/dist/runtime/mailbox.d.ts +223 -0
  177. package/dist/runtime/mailbox.js +582 -0
  178. package/dist/runtime/model-run-store.d.ts +28 -0
  179. package/dist/{model-runs/store.js → runtime/model-run-store.js} +81 -41
  180. package/dist/{model-runs/types.d.ts → runtime/model-run-types.d.ts} +33 -4
  181. package/dist/{model-runs/types.js → runtime/model-run-types.js} +1 -1
  182. package/dist/runtime/native-effect-observer.d.ts +22 -0
  183. package/dist/runtime/native-effect-observer.js +103 -0
  184. package/dist/runtime/native-input-journal.d.ts +46 -0
  185. package/dist/runtime/native-input-journal.js +308 -0
  186. package/dist/runtime/native-prompt.d.ts +118 -0
  187. package/dist/runtime/native-prompt.js +496 -0
  188. package/dist/runtime/native-session.d.ts +10 -0
  189. package/dist/{agent-graph/index.js → runtime/native-session.js} +9 -6
  190. package/dist/runtime/native-tool-trace-observer.d.ts +5 -0
  191. package/dist/runtime/native-tool-trace-observer.js +65 -0
  192. package/dist/runtime/native-turn.d.ts +272 -0
  193. package/dist/runtime/native-turn.js +1041 -0
  194. package/dist/runtime/operations.d.ts +236 -0
  195. package/dist/runtime/operations.js +565 -0
  196. package/dist/runtime/post-tool-handler.d.ts +74 -0
  197. package/dist/runtime/post-tool-handler.js +137 -0
  198. package/dist/runtime/prompt-layers.d.ts +126 -0
  199. package/dist/runtime/prompt-layers.js +239 -0
  200. package/dist/runtime/runtime-process.d.ts +102 -0
  201. package/dist/runtime/runtime-process.js +206 -0
  202. package/dist/runtime/runtime.d.ts +278 -0
  203. package/dist/runtime/runtime.js +563 -0
  204. package/dist/runtime/session-pool.d.ts +176 -0
  205. package/dist/runtime/session-pool.js +369 -0
  206. package/dist/runtime/stimulus-payload.d.ts +5 -0
  207. package/dist/runtime/stimulus-payload.js +50 -0
  208. package/dist/runtime/subagent-bridge.d.ts +24 -0
  209. package/dist/{agent-graph/types.js → runtime/subagent-bridge.js} +1 -1
  210. package/dist/runtime/text-completion.d.ts +22 -0
  211. package/dist/{agent-situation/types.js → runtime/text-completion.js} +1 -1
  212. package/dist/runtime/token-estimator.d.ts +25 -0
  213. package/dist/runtime/token-estimator.js +75 -0
  214. package/dist/runtime/tool-trace-store.d.ts +22 -0
  215. package/dist/{model-runs → runtime}/tool-trace-store.js +46 -27
  216. package/dist/runtime/trace-summary.d.ts +5 -0
  217. package/dist/runtime/trace-summary.js +74 -0
  218. package/dist/runtime/turn-text.d.ts +23 -0
  219. package/dist/runtime/turn-text.js +41 -0
  220. package/dist/storage/database.d.ts +67 -0
  221. package/dist/storage/database.js +158 -0
  222. package/package.json +20 -34
  223. package/dist/agent-graph/alias-write.d.ts +0 -3
  224. package/dist/agent-graph/alias-write.js +0 -234
  225. package/dist/agent-graph/entity-resolve.d.ts +0 -3
  226. package/dist/agent-graph/entity-resolve.js +0 -271
  227. package/dist/agent-graph/errors.d.ts +0 -4
  228. package/dist/agent-graph/errors.js +0 -11
  229. package/dist/agent-graph/graph-query.d.ts +0 -5
  230. package/dist/agent-graph/graph-query.js +0 -360
  231. package/dist/agent-graph/index.d.ts +0 -6
  232. package/dist/agent-situation/builder.d.ts +0 -8
  233. package/dist/agent-situation/builder.js +0 -239
  234. package/dist/agent-situation/cache-key.d.ts +0 -4
  235. package/dist/agent-situation/cache-key.js +0 -64
  236. package/dist/agent-situation/index.d.ts +0 -7
  237. package/dist/agent-situation/index.js +0 -28
  238. package/dist/agent-situation/packet-store.d.ts +0 -27
  239. package/dist/agent-situation/packet-store.js +0 -228
  240. package/dist/agent-situation/ranking-policy.d.ts +0 -18
  241. package/dist/agent-situation/ranking-policy.js +0 -75
  242. package/dist/agent-situation/source-readers.d.ts +0 -52
  243. package/dist/agent-situation/source-readers.js +0 -300
  244. package/dist/agent-situation/types.d.ts +0 -195
  245. package/dist/cases/wiki-page-index.d.ts +0 -37
  246. package/dist/cases/wiki-page-index.js +0 -201
  247. package/dist/config-loader.d.ts +0 -68
  248. package/dist/config-loader.js +0 -239
  249. package/dist/connectors/event-index.d.ts +0 -24
  250. package/dist/connectors/event-index.js +0 -245
  251. package/dist/connectors/raw-query.d.ts +0 -40
  252. package/dist/connectors/raw-query.js +0 -412
  253. package/dist/connectors/types.d.ts +0 -117
  254. package/dist/connectors/types.js +0 -3
  255. package/dist/context-compile/boundary-defaults.d.ts +0 -12
  256. package/dist/context-compile/boundary-defaults.js +0 -105
  257. package/dist/context-compile/channel-grant.js +0 -66
  258. package/dist/context-compile/compiler-policy.d.ts +0 -39
  259. package/dist/context-compile/compiler-policy.js +0 -147
  260. package/dist/context-compile/compiler.d.ts +0 -18
  261. package/dist/context-compile/compiler.js +0 -404
  262. package/dist/context-compile/index.d.ts +0 -10
  263. package/dist/context-compile/index.js +0 -26
  264. package/dist/context-compile/packet-store.d.ts +0 -8
  265. package/dist/context-compile/packet-store.js +0 -239
  266. package/dist/context-compile/ref.d.ts +0 -7
  267. package/dist/context-compile/ref.js +0 -102
  268. package/dist/context-compile/source-readers.d.ts +0 -70
  269. package/dist/context-compile/source-readers.js +0 -840
  270. package/dist/context-compile/types.d.ts +0 -155
  271. package/dist/context-compile/types.js +0 -11
  272. package/dist/context-compile/visibility.d.ts +0 -21
  273. package/dist/context-compile/visibility.js +0 -224
  274. package/dist/decision-tracker.d.ts +0 -206
  275. package/dist/decision-tracker.js +0 -481
  276. package/dist/edges/ref-validation.d.ts +0 -7
  277. package/dist/edges/ref-validation.js +0 -321
  278. package/dist/edges/store.d.ts +0 -8
  279. package/dist/edges/store.js +0 -129
  280. package/dist/embedding-client.d.ts +0 -28
  281. package/dist/embedding-client.js +0 -53
  282. package/dist/embedding-server/index.d.ts +0 -67
  283. package/dist/embedding-server/index.js +0 -405
  284. package/dist/embedding-server/mobile/auth.d.ts +0 -44
  285. package/dist/embedding-server/mobile/auth.js +0 -150
  286. package/dist/embedding-server/mobile/daemon.d.ts +0 -129
  287. package/dist/embedding-server/mobile/daemon.js +0 -313
  288. package/dist/embedding-server/mobile/output-parser.d.ts +0 -115
  289. package/dist/embedding-server/mobile/output-parser.js +0 -241
  290. package/dist/embedding-server/mobile/session-api.d.ts +0 -57
  291. package/dist/embedding-server/mobile/session-api.js +0 -261
  292. package/dist/embedding-server/mobile/session-manager.d.ts +0 -138
  293. package/dist/embedding-server/mobile/session-manager.js +0 -378
  294. package/dist/embedding-server/mobile/websocket-handler.d.ts +0 -137
  295. package/dist/embedding-server/mobile/websocket-handler.js +0 -486
  296. package/dist/embeddings.d.ts +0 -68
  297. package/dist/embeddings.js +0 -244
  298. package/dist/entities/audit-metrics.d.ts +0 -68
  299. package/dist/entities/audit-metrics.js +0 -124
  300. package/dist/entities/candidate-generator.d.ts +0 -8
  301. package/dist/entities/candidate-generator.js +0 -24
  302. package/dist/entities/entity-linked-decision-counts.d.ts +0 -2
  303. package/dist/entities/entity-linked-decision-counts.js +0 -29
  304. package/dist/entities/entity-list.d.ts +0 -22
  305. package/dist/entities/entity-list.js +0 -3
  306. package/dist/entities/entity-orphan-list.d.ts +0 -17
  307. package/dist/entities/entity-orphan-list.js +0 -3
  308. package/dist/entities/entity-search.d.ts +0 -20
  309. package/dist/entities/entity-search.js +0 -3
  310. package/dist/entities/errors.d.ts +0 -55
  311. package/dist/entities/errors.js +0 -100
  312. package/dist/entities/lineage-store.d.ts +0 -28
  313. package/dist/entities/lineage-store.js +0 -204
  314. package/dist/entities/normalization.d.ts +0 -14
  315. package/dist/entities/normalization.js +0 -63
  316. package/dist/entities/policy-store.d.ts +0 -8
  317. package/dist/entities/policy-store.js +0 -75
  318. package/dist/entities/policy-types.d.ts +0 -72
  319. package/dist/entities/policy-types.js +0 -59
  320. package/dist/entities/projection.d.ts +0 -8
  321. package/dist/entities/projection.js +0 -82
  322. package/dist/entities/provenance-query.d.ts +0 -32
  323. package/dist/entities/provenance-query.js +0 -3
  324. package/dist/entities/read-identity.d.ts +0 -31
  325. package/dist/entities/read-identity.js +0 -264
  326. package/dist/entities/recall-bridge.d.ts +0 -5
  327. package/dist/entities/recall-bridge.js +0 -171
  328. package/dist/entities/resolution-engine.d.ts +0 -8
  329. package/dist/entities/resolution-engine.js +0 -3
  330. package/dist/entities/rollback-preview.d.ts +0 -35
  331. package/dist/entities/rollback-preview.js +0 -3
  332. package/dist/entities/source-locator.d.ts +0 -3
  333. package/dist/entities/source-locator.js +0 -32
  334. package/dist/entities/store.d.ts +0 -69
  335. package/dist/entities/store.js +0 -544
  336. package/dist/entities/types.d.ts +0 -166
  337. package/dist/entities/types.js +0 -30
  338. package/dist/memory/extraction-prompt.d.ts +0 -4
  339. package/dist/memory/extraction-prompt.js +0 -89
  340. package/dist/memory/scope-backfill.d.ts +0 -14
  341. package/dist/memory/scope-backfill.js +0 -3
  342. package/dist/memory/scope-store.d.ts +0 -4
  343. package/dist/memory/scope-store.js +0 -9
  344. package/dist/memory-store.d.ts +0 -87
  345. package/dist/memory-store.js +0 -78
  346. package/dist/model-runs/store.d.ts +0 -13
  347. package/dist/model-runs/tool-trace-store.d.ts +0 -8
  348. package/dist/notification-manager.d.ts +0 -7
  349. package/dist/notification-manager.js +0 -12
  350. package/dist/outcome-tracker.d.ts +0 -151
  351. package/dist/outcome-tracker.js +0 -271
  352. package/dist/query-intent.d.ts +0 -23
  353. package/dist/query-intent.js +0 -114
  354. package/dist/runtime/trusted-provenance.d.ts +0 -3
  355. package/dist/runtime/trusted-provenance.js +0 -6
  356. package/dist/search/question-type.d.ts +0 -5
  357. package/dist/search/question-type.js +0 -41
  358. package/dist/test-utils.d.ts +0 -80
  359. package/dist/test-utils.js +0 -218
  360. package/dist/tier-validator.d.ts +0 -43
  361. package/dist/tier-validator.js +0 -159
  362. package/dist/time-formatter.d.ts +0 -25
  363. package/dist/time-formatter.js +0 -93
  364. /package/dist/{search → knowledge}/feedback-store.d.ts +0 -0
  365. /package/dist/{search → knowledge}/feedback-store.js +0 -0
  366. /package/dist/{search → knowledge}/ranker-features.d.ts +0 -0
  367. /package/dist/{search → knowledge}/ranker-rescore.d.ts +0 -0
  368. /package/dist/{search → knowledge}/ranker-rescore.js +0 -0
  369. /package/dist/{search → knowledge}/ranker-trainer.d.ts +0 -0
  370. /package/dist/{search → knowledge}/ranker-trainer.js +0 -0
  371. /package/dist/{search → knowledge}/search-quality.js +0 -0
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Knowledge identity: the T4 correction command — alias, merge, split, and ref
3
+ * assignment — under the knowledge boundary. The registry keeps the SQL owner;
4
+ * this module is the §3 access-facing home that maps the caller's trusted
5
+ * authority onto it.
6
+ *
7
+ * @module knowledge/identity
8
+ */
9
+ import type { DatabaseAdapter } from '../db-manager.js';
10
+ import type { IdentityCorrection, IdentityCorrectionReceipt } from '../memory/judgment-types.js';
11
+ import type { JudgmentAccess } from './judgments.js';
12
+ export interface IdentityDeps {
13
+ adapter: DatabaseAdapter;
14
+ }
15
+ export declare function correctIdentity(command: IdentityCorrection, access: JudgmentAccess, deps: IdentityDeps): IdentityCorrectionReceipt;
16
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Knowledge identity: the T4 correction command — alias, merge, split, and ref
4
+ * assignment — under the knowledge boundary. The registry keeps the SQL owner;
5
+ * this module is the §3 access-facing home that maps the caller's trusted
6
+ * authority onto it.
7
+ *
8
+ * @module knowledge/identity
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.correctIdentity = correctIdentity;
12
+ const corrections_js_1 = require("../registry/corrections.js");
13
+ function correctIdentity(command, access, deps) {
14
+ return (0, corrections_js_1.appendIdentityCorrection)(deps.adapter, command, {
15
+ principalId: access.principalId,
16
+ agentId: access.agentId,
17
+ scopes: access.scopes,
18
+ connectors: access.connectors ?? [],
19
+ channels: access.channels,
20
+ });
21
+ }
22
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1,47 @@
1
+ import type { DatabaseInstance } from '../db-manager.js';
2
+ import { type JudgmentAccess, type JudgmentKnowledgeOptions } from './judgments.js';
3
+ import type { CommitmentPage, CreateWorkCommand, ReviseWorkCommand, WithdrawWorkCommand, WorkRead, WorkWriteResult } from './commitments.js';
4
+ import type { SourceIngestCommand, SourceIngestReceipt } from './source-ingest.js';
5
+ import type { IdentityCorrection, IdentityCorrectionReceipt, JudgmentCommand, JudgmentReceipt, WorkGraphPage, WorkGraphQuery } from '../memory/judgment-types.js';
6
+ export type { JudgmentAccess } from './judgments.js';
7
+ export { judgmentRecordId } from './judgments.js';
8
+ export type { IdentityCorrection, IdentityCorrectionReceipt, JudgmentAmendment, JudgmentCommand, JudgmentEventMeta, JudgmentProjections, JudgmentReceipt, JudgmentRecordFields, JsonValue, OwnerWorkPatch, RecordLink, WorkGraphPage, WorkGraphQuery, WorkReclassifyDisposition, WorkReference, } from '../memory/judgment-types.js';
9
+ export { WORK_RECLASSIFY_DISPOSITIONS } from '../memory/judgment-types.js';
10
+ export { JudgmentError, appendJudgment, insertTwinEdge, getTwinEdge, listTwinEdgesForRefs, mapTwinEdgeRow, } from './judgments.js';
11
+ export { assertTwinRefsVisible, channelGrantClause, isChannelGranted, listVisibleTwinEdgesForRefs, visibleTwinRefKeys, visibleTwinRefKeysRecursive, TwinRefNotVisibleError, } from './access.js';
12
+ export type { ChannelGrant, ChannelGrantClause } from './access.js';
13
+ export { TWIN_EDGE_SOURCES, TWIN_EDGE_TYPES, TWIN_REF_KINDS, type InsertTwinEdgeInput, type ListVisibleTwinEdgesOptions, type TwinEdgeInsert, type TwinEdgeRecord, type TwinEdgeSource, type TwinEdgeSubjectRef, type TwinEdgeType, type TwinProjectRef, type TwinRef, type TwinRefKind, type TwinScopeRef, type TwinVisibility, } from './twin-edge-types.js';
14
+ export { ingestSource } from './source-ingest.js';
15
+ export { correctIdentity, type IdentityDeps } from './identity.js';
16
+ export { observationVersionId, appendObservationVersion, getObservationVersion, searchOwnerObservationVersions, readObservationVersion, isObservationVersionVisible, isObservationVisibilityRowVisible, type ObservationBodyLocation, type ObservationVersionInput, type ObservationVersionRecord, type OwnerObservationSearchItem, type ObservationBodyReader, type ObservationReadResult, type ObservationVisibilityAuthority, type ObservationVisibilityRow, } from './observations.js';
17
+ export { createWork, readWork, reviseWork, withdrawWork } from './commitments.js';
18
+ export { parseExactDueAt, assertIsoDate, assertWorkPatchValues, WORK_PATCH_DEADLINE_PATTERN, WORK_PATCH_DUE_AT_PATTERN, type ParsedExactDueAt, } from './work-dates.js';
19
+ export type { CommitmentPage, CommitmentChainEntry, CommitmentRevision, CommitmentView, CreateWorkCommand, ReviseWorkCommand, WithdrawWorkCommand, WorkRead, WorkWriteResult, } from './commitments.js';
20
+ export { vectorSearch, fts5Search } from './search.js';
21
+ export { queryDecisionGraph, querySemanticEdges, getGraphNeighborhood, getGraphPaths, getGraphTimeline, queryGraph, AgentGraphValidationError, type AgentGraphAdapter, type AgentGraphEdgeFilters, type AgentGraphResult, type AgentGraphCurrentProjection, type AgentGraphPath, type AgentGraphTimelineEvent, type AgentGraphTimelineMemoryEvent, type AgentGraphTimelineCaseEvent, type AgentGraphTimelineRawEvent, type AgentGraphTimelineEdgeEvent, type GraphNeighborhoodInput, type GraphPathsInput, type GraphPathsResult, type GraphTimelineInput, type GraphTimelineResult, } from './graph-query.js';
22
+ export type { SourceIngestCommand, SourceIngestReceipt } from './source-ingest.js';
23
+ export { upsertDecisionEdge, proposeDecisionEdge, approveDecisionEdge, rejectDecisionEdge, deprecateAutoDecisionEdges, deleteDecisionEdgesWithAudit, type DecisionEdgeKey, type DecisionEdgeRow, type DecisionEdgeDeleteFailure, } from './decision-edges.js';
24
+ export interface KnowledgeOptions extends JudgmentKnowledgeOptions {
25
+ adapter: DatabaseInstance;
26
+ }
27
+ export interface Knowledge {
28
+ appendJudgment(command: JudgmentCommand, access: JudgmentAccess): Promise<JudgmentReceipt>;
29
+ /** T4 correction — alias, merge, split, ref assignment — under trusted authority. */
30
+ correctIdentity(command: IdentityCorrection, access: JudgmentAccess): IdentityCorrectionReceipt;
31
+ ingestSource(command: SourceIngestCommand, access: JudgmentAccess): Promise<SourceIngestReceipt>;
32
+ /** Commit new owner work; the record and the commitment commit together. */
33
+ createWork(command: CreateWorkCommand, access: JudgmentAccess): Promise<WorkWriteResult>;
34
+ /** Revise owner work at an expected revision. */
35
+ reviseWork(command: ReviseWorkCommand, access: JudgmentAccess): Promise<WorkWriteResult>;
36
+ /** Withdraw owner work without erasing what it held. */
37
+ withdrawWork(command: WithdrawWorkCommand, access: JudgmentAccess): Promise<WorkWriteResult>;
38
+ /** Read owner work back out of the commitment log this instance writes. */
39
+ readWork(query: WorkRead, access: JudgmentAccess): CommitmentPage;
40
+ /**
41
+ * Read the twin-edge graph: overview roots, name-free search seeds, neighbors,
42
+ * paths, timelines, and hydrated details — all under the caller's authority.
43
+ */
44
+ queryGraph(query: WorkGraphQuery, access: JudgmentAccess): WorkGraphPage;
45
+ }
46
+ export declare function createKnowledge(options: KnowledgeOptions): Knowledge;
47
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deprecateAutoDecisionEdges = exports.rejectDecisionEdge = exports.approveDecisionEdge = exports.proposeDecisionEdge = exports.upsertDecisionEdge = exports.AgentGraphValidationError = exports.queryGraph = exports.getGraphTimeline = exports.getGraphPaths = exports.getGraphNeighborhood = exports.querySemanticEdges = exports.queryDecisionGraph = exports.fts5Search = exports.vectorSearch = exports.WORK_PATCH_DUE_AT_PATTERN = exports.WORK_PATCH_DEADLINE_PATTERN = exports.assertWorkPatchValues = exports.assertIsoDate = exports.parseExactDueAt = exports.withdrawWork = exports.reviseWork = exports.readWork = exports.createWork = exports.isObservationVisibilityRowVisible = exports.isObservationVersionVisible = exports.readObservationVersion = exports.searchOwnerObservationVersions = exports.getObservationVersion = exports.appendObservationVersion = exports.observationVersionId = exports.correctIdentity = exports.ingestSource = exports.TWIN_REF_KINDS = exports.TWIN_EDGE_TYPES = exports.TWIN_EDGE_SOURCES = exports.TwinRefNotVisibleError = exports.visibleTwinRefKeysRecursive = exports.visibleTwinRefKeys = exports.listVisibleTwinEdgesForRefs = exports.isChannelGranted = exports.channelGrantClause = exports.assertTwinRefsVisible = exports.mapTwinEdgeRow = exports.listTwinEdgesForRefs = exports.getTwinEdge = exports.insertTwinEdge = exports.appendJudgment = exports.JudgmentError = exports.WORK_RECLASSIFY_DISPOSITIONS = exports.judgmentRecordId = void 0;
4
+ exports.deleteDecisionEdgesWithAudit = void 0;
5
+ exports.createKnowledge = createKnowledge;
6
+ const judgments_js_1 = require("./judgments.js");
7
+ const source_ingest_js_1 = require("./source-ingest.js");
8
+ const commitments_js_1 = require("./commitments.js");
9
+ const identity_js_1 = require("./identity.js");
10
+ const graph_query_js_1 = require("./graph-query.js");
11
+ var judgments_js_2 = require("./judgments.js");
12
+ Object.defineProperty(exports, "judgmentRecordId", { enumerable: true, get: function () { return judgments_js_2.judgmentRecordId; } });
13
+ var judgment_types_js_1 = require("../memory/judgment-types.js");
14
+ Object.defineProperty(exports, "WORK_RECLASSIFY_DISPOSITIONS", { enumerable: true, get: function () { return judgment_types_js_1.WORK_RECLASSIFY_DISPOSITIONS; } });
15
+ var judgments_js_3 = require("./judgments.js");
16
+ Object.defineProperty(exports, "JudgmentError", { enumerable: true, get: function () { return judgments_js_3.JudgmentError; } });
17
+ Object.defineProperty(exports, "appendJudgment", { enumerable: true, get: function () { return judgments_js_3.appendJudgment; } });
18
+ Object.defineProperty(exports, "insertTwinEdge", { enumerable: true, get: function () { return judgments_js_3.insertTwinEdge; } });
19
+ Object.defineProperty(exports, "getTwinEdge", { enumerable: true, get: function () { return judgments_js_3.getTwinEdge; } });
20
+ Object.defineProperty(exports, "listTwinEdgesForRefs", { enumerable: true, get: function () { return judgments_js_3.listTwinEdgesForRefs; } });
21
+ Object.defineProperty(exports, "mapTwinEdgeRow", { enumerable: true, get: function () { return judgments_js_3.mapTwinEdgeRow; } });
22
+ var access_js_1 = require("./access.js");
23
+ Object.defineProperty(exports, "assertTwinRefsVisible", { enumerable: true, get: function () { return access_js_1.assertTwinRefsVisible; } });
24
+ Object.defineProperty(exports, "channelGrantClause", { enumerable: true, get: function () { return access_js_1.channelGrantClause; } });
25
+ Object.defineProperty(exports, "isChannelGranted", { enumerable: true, get: function () { return access_js_1.isChannelGranted; } });
26
+ Object.defineProperty(exports, "listVisibleTwinEdgesForRefs", { enumerable: true, get: function () { return access_js_1.listVisibleTwinEdgesForRefs; } });
27
+ Object.defineProperty(exports, "visibleTwinRefKeys", { enumerable: true, get: function () { return access_js_1.visibleTwinRefKeys; } });
28
+ Object.defineProperty(exports, "visibleTwinRefKeysRecursive", { enumerable: true, get: function () { return access_js_1.visibleTwinRefKeysRecursive; } });
29
+ Object.defineProperty(exports, "TwinRefNotVisibleError", { enumerable: true, get: function () { return access_js_1.TwinRefNotVisibleError; } });
30
+ var twin_edge_types_js_1 = require("./twin-edge-types.js");
31
+ Object.defineProperty(exports, "TWIN_EDGE_SOURCES", { enumerable: true, get: function () { return twin_edge_types_js_1.TWIN_EDGE_SOURCES; } });
32
+ Object.defineProperty(exports, "TWIN_EDGE_TYPES", { enumerable: true, get: function () { return twin_edge_types_js_1.TWIN_EDGE_TYPES; } });
33
+ Object.defineProperty(exports, "TWIN_REF_KINDS", { enumerable: true, get: function () { return twin_edge_types_js_1.TWIN_REF_KINDS; } });
34
+ var source_ingest_js_2 = require("./source-ingest.js");
35
+ Object.defineProperty(exports, "ingestSource", { enumerable: true, get: function () { return source_ingest_js_2.ingestSource; } });
36
+ var identity_js_2 = require("./identity.js");
37
+ Object.defineProperty(exports, "correctIdentity", { enumerable: true, get: function () { return identity_js_2.correctIdentity; } });
38
+ // The connector event index and its raw query layer moved to the package that has
39
+ // connectors. Three of the four consumers of this core have none.
40
+ var observations_js_1 = require("./observations.js");
41
+ Object.defineProperty(exports, "observationVersionId", { enumerable: true, get: function () { return observations_js_1.observationVersionId; } });
42
+ Object.defineProperty(exports, "appendObservationVersion", { enumerable: true, get: function () { return observations_js_1.appendObservationVersion; } });
43
+ Object.defineProperty(exports, "getObservationVersion", { enumerable: true, get: function () { return observations_js_1.getObservationVersion; } });
44
+ Object.defineProperty(exports, "searchOwnerObservationVersions", { enumerable: true, get: function () { return observations_js_1.searchOwnerObservationVersions; } });
45
+ Object.defineProperty(exports, "readObservationVersion", { enumerable: true, get: function () { return observations_js_1.readObservationVersion; } });
46
+ Object.defineProperty(exports, "isObservationVersionVisible", { enumerable: true, get: function () { return observations_js_1.isObservationVersionVisible; } });
47
+ Object.defineProperty(exports, "isObservationVisibilityRowVisible", { enumerable: true, get: function () { return observations_js_1.isObservationVisibilityRowVisible; } });
48
+ var commitments_js_2 = require("./commitments.js");
49
+ Object.defineProperty(exports, "createWork", { enumerable: true, get: function () { return commitments_js_2.createWork; } });
50
+ Object.defineProperty(exports, "readWork", { enumerable: true, get: function () { return commitments_js_2.readWork; } });
51
+ Object.defineProperty(exports, "reviseWork", { enumerable: true, get: function () { return commitments_js_2.reviseWork; } });
52
+ Object.defineProperty(exports, "withdrawWork", { enumerable: true, get: function () { return commitments_js_2.withdrawWork; } });
53
+ var work_dates_js_1 = require("./work-dates.js");
54
+ Object.defineProperty(exports, "parseExactDueAt", { enumerable: true, get: function () { return work_dates_js_1.parseExactDueAt; } });
55
+ Object.defineProperty(exports, "assertIsoDate", { enumerable: true, get: function () { return work_dates_js_1.assertIsoDate; } });
56
+ Object.defineProperty(exports, "assertWorkPatchValues", { enumerable: true, get: function () { return work_dates_js_1.assertWorkPatchValues; } });
57
+ Object.defineProperty(exports, "WORK_PATCH_DEADLINE_PATTERN", { enumerable: true, get: function () { return work_dates_js_1.WORK_PATCH_DEADLINE_PATTERN; } });
58
+ Object.defineProperty(exports, "WORK_PATCH_DUE_AT_PATTERN", { enumerable: true, get: function () { return work_dates_js_1.WORK_PATCH_DUE_AT_PATTERN; } });
59
+ var search_js_1 = require("./search.js");
60
+ Object.defineProperty(exports, "vectorSearch", { enumerable: true, get: function () { return search_js_1.vectorSearch; } });
61
+ Object.defineProperty(exports, "fts5Search", { enumerable: true, get: function () { return search_js_1.fts5Search; } });
62
+ var graph_query_js_2 = require("./graph-query.js");
63
+ Object.defineProperty(exports, "queryDecisionGraph", { enumerable: true, get: function () { return graph_query_js_2.queryDecisionGraph; } });
64
+ Object.defineProperty(exports, "querySemanticEdges", { enumerable: true, get: function () { return graph_query_js_2.querySemanticEdges; } });
65
+ Object.defineProperty(exports, "getGraphNeighborhood", { enumerable: true, get: function () { return graph_query_js_2.getGraphNeighborhood; } });
66
+ Object.defineProperty(exports, "getGraphPaths", { enumerable: true, get: function () { return graph_query_js_2.getGraphPaths; } });
67
+ Object.defineProperty(exports, "getGraphTimeline", { enumerable: true, get: function () { return graph_query_js_2.getGraphTimeline; } });
68
+ Object.defineProperty(exports, "queryGraph", { enumerable: true, get: function () { return graph_query_js_2.queryGraph; } });
69
+ Object.defineProperty(exports, "AgentGraphValidationError", { enumerable: true, get: function () { return graph_query_js_2.AgentGraphValidationError; } });
70
+ var decision_edges_js_1 = require("./decision-edges.js");
71
+ Object.defineProperty(exports, "upsertDecisionEdge", { enumerable: true, get: function () { return decision_edges_js_1.upsertDecisionEdge; } });
72
+ Object.defineProperty(exports, "proposeDecisionEdge", { enumerable: true, get: function () { return decision_edges_js_1.proposeDecisionEdge; } });
73
+ Object.defineProperty(exports, "approveDecisionEdge", { enumerable: true, get: function () { return decision_edges_js_1.approveDecisionEdge; } });
74
+ Object.defineProperty(exports, "rejectDecisionEdge", { enumerable: true, get: function () { return decision_edges_js_1.rejectDecisionEdge; } });
75
+ Object.defineProperty(exports, "deprecateAutoDecisionEdges", { enumerable: true, get: function () { return decision_edges_js_1.deprecateAutoDecisionEdges; } });
76
+ Object.defineProperty(exports, "deleteDecisionEdgesWithAudit", { enumerable: true, get: function () { return decision_edges_js_1.deleteDecisionEdgesWithAudit; } });
77
+ function createKnowledge(options) {
78
+ const writer = (0, judgments_js_1.createJudgmentWriter)(options);
79
+ return {
80
+ appendJudgment: writer.appendJudgment,
81
+ correctIdentity: (command, access) => (0, identity_js_1.correctIdentity)(command, access, { adapter: options.adapter }),
82
+ ingestSource: (command, access) => (0, source_ingest_js_1.ingestSource)(command, access, { adapter: options.adapter }),
83
+ createWork: (command, access) => (0, commitments_js_1.createWork)(command, access, options),
84
+ reviseWork: (command, access) => (0, commitments_js_1.reviseWork)(command, access, options),
85
+ withdrawWork: (command, access) => (0, commitments_js_1.withdrawWork)(command, access, options),
86
+ readWork: (query, access) => (0, commitments_js_1.readWork)(options.adapter, query, access),
87
+ queryGraph: (query, access) => (0, graph_query_js_1.queryGraph)(options.adapter, query, access),
88
+ };
89
+ }
90
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,118 @@
1
+ import type { DatabaseAdapter, DatabaseInstance } from '../db-manager.js';
2
+ import { type TwinEdgeInsert, type TwinEdgeRecord, type TwinEdgeSource, type TwinEdgeType, type TwinProjectRef, type TwinRef } from './twin-edge-types.js';
3
+ import type { JudgmentCommand, JudgmentReceipt } from '../memory/judgment-types.js';
4
+ import type { MemoryScopeRef } from '../memory/types.js';
5
+ export interface JudgmentAccess {
6
+ principalId: string;
7
+ agentId: string;
8
+ /** Host-stated origin of authored links; a mechanical import is code, not an agent turn. */
9
+ edgeSource?: TwinEdgeSource;
10
+ scopes: readonly MemoryScopeRef[];
11
+ /**
12
+ * Scopes admitted for READS only, beside `scopes`.
13
+ *
14
+ * A run allowed to read a channel's raw events may recall what was extracted
15
+ * from it, which is not permission to write there. Stating that as a second
16
+ * field on the principal is what lets a read bound itself more widely than a
17
+ * write without anyone consulting the name of the tool being called.
18
+ */
19
+ readScopes?: readonly MemoryScopeRef[];
20
+ /**
21
+ * Connectors the caller's grant resolver admits. Carried on the boundary for the
22
+ * same reason it is carried on reader inputs: a cited observation or graph ref must
23
+ * satisfy the same visibility rule as a row the reader would have returned. The
24
+ * caller supplies the projection; input JSON never grants it.
25
+ */
26
+ connectors?: readonly string[];
27
+ /** Connector-wide stored observation reads granted by the host, never query input. */
28
+ connectorWideRead?: readonly string[];
29
+ /** Channels of each granted connector that may be read. */
30
+ channels?: Readonly<Record<string, readonly string[]>>;
31
+ /** Project partitions the caller's authority admits; query input never grants it. */
32
+ projectRefs?: readonly TwinProjectRef[];
33
+ tenantId?: string | null;
34
+ /**
35
+ * The newest observation time this caller may see, as epoch milliseconds.
36
+ * An as-of question asked of the grant: absent means no clamp. It sits beside
37
+ * the other three window fields because a citation answers the same question
38
+ * a read does -- a clamp that reached only one of them would let a citation
39
+ * out-read reading in time.
40
+ */
41
+ maxObservedMs?: number | null;
42
+ /** Inclusive source/event-time ceiling for replay raw and observation reads. */
43
+ maxSourceMs?: number | null;
44
+ /**
45
+ * Actions this principal may call. Dispatch compares `call.action` against
46
+ * this list before exec, so an ungranted action is `denied` and the action
47
+ * body never runs. The list is configuration the product states per
48
+ * principal — it is never derived from the call, the channel, or the turn.
49
+ * Exact names only: a wildcard would make the grant depend on what the
50
+ * catalog happens to hold later.
51
+ */
52
+ actions: readonly string[];
53
+ /**
54
+ * Destinations this principal may send to. An irreversible send compares its
55
+ * target against this list inside the adapter that performs it. Empty means
56
+ * this principal sends nowhere, which is the honest default for a principal
57
+ * that only reads.
58
+ */
59
+ destinations?: readonly DestinationRef[];
60
+ }
61
+ /** One place a send can land. `kind` names the transport, `id` the address. */
62
+ export interface DestinationRef {
63
+ kind: string;
64
+ id: string;
65
+ }
66
+ export interface JudgmentKnowledgeOptions {
67
+ adapter: DatabaseInstance;
68
+ embedder?: {
69
+ /** A null result is the explicit no-vector mode (Tier 3); a failure must throw. */
70
+ embed(text: string, role: 'query' | 'passage'): Promise<Float32Array | null>;
71
+ };
72
+ }
73
+ export declare class JudgmentError extends Error {
74
+ readonly code: string;
75
+ constructor(code: string, message: string);
76
+ }
77
+ /** Deterministic record id a command will be bound to — lets adapters build
78
+ * projections (timeline events, identity bindings) before the write commits. */
79
+ export declare function judgmentRecordId(commandId: string): string;
80
+ /** Scopes the caller was admitted to; bounds what the command may reference.
81
+ * Exported for the sibling source-ingest command path; not part of the public API. */
82
+ export declare function admittedScopeIds(access: JudgmentAccess): string[];
83
+ /**
84
+ * Scopes bound to the new record. An explicit `scopes: []` declares an
85
+ * unscoped record (legacy parity); an omitted field inherits the access scope.
86
+ * Exported for the sibling source-ingest command path; not part of the public API.
87
+ */
88
+ export declare function boundScopeIdsFor(access: JudgmentAccess, command: {
89
+ scopes?: MemoryScopeRef[];
90
+ }): string[];
91
+ export declare function appendJudgment(command: JudgmentCommand, access: JudgmentAccess, options: JudgmentKnowledgeOptions): Promise<JudgmentReceipt>;
92
+ export declare function createJudgmentWriter(options: JudgmentKnowledgeOptions): {
93
+ appendJudgment: (command: JudgmentCommand, access: JudgmentAccess) => Promise<JudgmentReceipt>;
94
+ };
95
+ type TwinEdgeReadAdapter = Pick<DatabaseAdapter, 'prepare'>;
96
+ export declare function mapTwinEdgeRow(row: Record<string, unknown>): TwinEdgeRecord;
97
+ /**
98
+ * The single write boundary for twin_edges. Both former write sites (the
99
+ * alias_of edge inside the alias write and the judgment-command link insert)
100
+ * now resolve their columns into a TwinEdgeInsert and call here, inside the
101
+ * caller's transaction. The row is read back so callers get the stored record.
102
+ */
103
+ export declare function insertTwinEdge(adapter: TwinEdgeReadAdapter, input: TwinEdgeInsert): TwinEdgeRecord;
104
+ export declare function getTwinEdge(adapter: TwinEdgeReadAdapter, edgeId: string): TwinEdgeRecord | null;
105
+ export declare function listTwinEdgesForRefs(adapter: TwinEdgeReadAdapter, refs: readonly TwinRef[], page?: {
106
+ /** Newest-first storage scan for a bounded visible page. Omitted keeps the old full scan. */
107
+ newest: true;
108
+ limit: number;
109
+ after?: {
110
+ createdAt: number;
111
+ edgeId: string;
112
+ };
113
+ edgeTypes?: readonly TwinEdgeType[];
114
+ startMs?: number | null;
115
+ asOfMs?: number | null;
116
+ }): TwinEdgeRecord[];
117
+ export {};
118
+ //# sourceMappingURL=judgments.d.ts.map