@jungjaehoon/mama-core 2.4.0 → 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 (374) 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/068-tool-trace-diagnostics.sql +13 -0
  9. package/db/migrations/069-create-registry-nodes.sql +52 -0
  10. package/db/migrations/070-record-identity.sql +35 -0
  11. package/db/migrations/071-service-operation-origins.sql +187 -0
  12. package/db/migrations/072-observation-versions.sql +29 -0
  13. package/db/migrations/073-registry-corrections.sql +45 -0
  14. package/db/migrations/074-work-graph-ref-kinds.sql +39 -0
  15. package/db/migrations/075-agent-judgments.sql +58 -0
  16. package/db/migrations/076-scoped-checkpoint-bindings.sql +15 -0
  17. package/db/migrations/077-legacy-record-kind.sql +6 -0
  18. package/db/migrations/078-source-ingest-commands.sql +18 -0
  19. package/db/migrations/079-twin-edge-relations.sql +43 -0
  20. package/db/migrations/080-restore-duration-days.sql +7 -0
  21. package/db/migrations/081-mailbox.sql +61 -0
  22. package/db/migrations/082-commitments-row-id.sql +12 -0
  23. package/db/migrations/083-observation-is-the-evidence.sql +49 -0
  24. package/db/migrations/084-scope-kind-is-not-the-cores-to-list.sql +34 -0
  25. package/db/migrations/085-a-migration-has-a-source.sql +37 -0
  26. package/db/migrations/086-the-mailbox-is-generic.sql +110 -0
  27. package/db/migrations/087-mailbox-payload.sql +5 -0
  28. package/db/migrations/088-native-input-journal.sql +14 -0
  29. package/db/migrations/089-native-turn-receipt-lookup.sql +3 -0
  30. package/db/migrations/090-model-run-native-inputs.sql +29 -0
  31. package/db/migrations/091-native-turn-results.sql +11 -0
  32. package/db/migrations/092-restore-decision-fts.sql +34 -0
  33. package/db/migrations/093-native-turn-primary-kind.sql +14 -0
  34. package/db/migrations/094-commitment-run-provenance.sql +9 -0
  35. package/db/migrations/095-model-run-native-input-identity.sql +39 -0
  36. package/db/migrations/096-drop-connector-event-index-fts.sql +9 -0
  37. package/db/migrations/097-native-input-json-validity.sql +37 -0
  38. package/db/migrations/098-workflow-memory-kind.sql +105 -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 +87 -15
  56. package/dist/db-adapter/node-sqlite-adapter.js +2045 -568
  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 +99 -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/commitments.d.ts +188 -0
  77. package/dist/knowledge/commitments.js +370 -0
  78. package/dist/knowledge/decision-edges.d.ts +70 -0
  79. package/dist/knowledge/decision-edges.js +123 -0
  80. package/dist/{agent-graph/types.d.ts → knowledge/graph-query.d.ts} +80 -70
  81. package/dist/knowledge/graph-query.js +1585 -0
  82. package/dist/knowledge/identity.d.ts +16 -0
  83. package/dist/knowledge/identity.js +22 -0
  84. package/dist/knowledge/index.d.ts +47 -0
  85. package/dist/knowledge/index.js +90 -0
  86. package/dist/knowledge/judgments.d.ts +118 -0
  87. package/dist/knowledge/judgments.js +808 -0
  88. package/dist/knowledge/observations.d.ts +160 -0
  89. package/dist/knowledge/observations.js +449 -0
  90. package/dist/knowledge/question-type.d.ts +34 -0
  91. package/dist/knowledge/question-type.js +70 -0
  92. package/dist/{search → knowledge}/ranker-features.js +1 -1
  93. package/dist/{search → knowledge}/search-quality.d.ts +0 -1
  94. package/dist/knowledge/search.d.ts +38 -0
  95. package/dist/knowledge/search.js +91 -0
  96. package/dist/knowledge/source-ingest.d.ts +65 -0
  97. package/dist/knowledge/source-ingest.js +174 -0
  98. package/dist/{edges/types.d.ts → knowledge/twin-edge-types.d.ts} +31 -4
  99. package/dist/{edges/types.js → knowledge/twin-edge-types.js} +13 -2
  100. package/dist/knowledge/work-dates.d.ts +49 -0
  101. package/dist/knowledge/work-dates.js +120 -0
  102. package/dist/mama-api.d.ts +116 -778
  103. package/dist/mama-api.js +313 -2457
  104. package/dist/memory/api.d.ts +264 -24
  105. package/dist/memory/api.js +1633 -843
  106. package/dist/memory/bootstrap-builder.d.ts +2 -1
  107. package/dist/memory/bootstrap-builder.js +5 -5
  108. package/dist/memory/channel-summary-state-store.d.ts +3 -2
  109. package/dist/memory/channel-summary-state-store.js +53 -51
  110. package/dist/memory/channel-summary-store.d.ts +5 -3
  111. package/dist/memory/channel-summary-store.js +3 -8
  112. package/dist/memory/dashboard-read.d.ts +46 -0
  113. package/dist/memory/dashboard-read.js +94 -0
  114. package/dist/memory/event-store.d.ts +3 -3
  115. package/dist/memory/event-store.js +3 -10
  116. package/dist/memory/finding-store.d.ts +3 -2
  117. package/dist/memory/finding-store.js +2 -7
  118. package/dist/memory/graph-read.d.ts +52 -0
  119. package/dist/memory/graph-read.js +130 -0
  120. package/dist/memory/judgment-types.d.ts +394 -0
  121. package/dist/memory/judgment-types.js +16 -0
  122. package/dist/memory/provenance-audit.d.ts +5 -2
  123. package/dist/memory/provenance-audit.js +8 -14
  124. package/dist/memory/provenance-live.d.ts +141 -0
  125. package/dist/memory/provenance-live.js +409 -0
  126. package/dist/memory/provenance-query.d.ts +5 -4
  127. package/dist/memory/provenance-query.js +21 -29
  128. package/dist/memory/provenance-resolver.d.ts +191 -0
  129. package/dist/memory/provenance-resolver.js +155 -0
  130. package/dist/memory/provenance.d.ts +1 -11
  131. package/dist/memory/provenance.js +2 -33
  132. package/dist/memory/recall-sanitize.d.ts +55 -0
  133. package/dist/memory/recall-sanitize.js +144 -0
  134. package/dist/memory/secret-filter.d.ts +32 -0
  135. package/dist/memory/secret-filter.js +126 -0
  136. package/dist/memory/truth-store.d.ts +2 -1
  137. package/dist/memory/truth-store.js +1 -4
  138. package/dist/memory/types.d.ts +74 -24
  139. package/dist/memory/types.js +75 -5
  140. package/dist/memory/write-adapters.d.ts +98 -0
  141. package/dist/memory/write-adapters.js +242 -0
  142. package/dist/operations/owner-action-effects.d.ts +53 -0
  143. package/dist/operations/owner-action-effects.js +96 -0
  144. package/dist/provenance/source-ref.d.ts +1 -1
  145. package/dist/provenance/source-ref.js +0 -2
  146. package/dist/registry/corrections.d.ts +31 -0
  147. package/dist/registry/corrections.js +332 -0
  148. package/dist/registry/record-identity.d.ts +49 -0
  149. package/dist/registry/record-identity.js +133 -0
  150. package/dist/registry/store.d.ts +101 -0
  151. package/dist/registry/store.js +395 -0
  152. package/dist/registry/types.d.ts +28 -0
  153. package/dist/registry/types.js +5 -0
  154. package/dist/relevance-scorer.js +2 -2
  155. package/dist/runtime/agent-event-bus.d.ts +50 -0
  156. package/dist/runtime/agent-event-bus.js +101 -0
  157. package/dist/runtime/drivers/claude-cli-wrapper.d.ts +155 -0
  158. package/dist/runtime/drivers/claude-cli-wrapper.js +392 -0
  159. package/dist/runtime/drivers/cli-arg-redaction.d.ts +2 -0
  160. package/dist/runtime/drivers/cli-arg-redaction.js +18 -0
  161. package/dist/runtime/drivers/cli-secret-redaction.d.ts +17 -0
  162. package/dist/runtime/drivers/cli-secret-redaction.js +126 -0
  163. package/dist/runtime/drivers/codex-app-server-process.d.ts +277 -0
  164. package/dist/runtime/drivers/codex-app-server-process.js +2342 -0
  165. package/dist/runtime/drivers/codex-auxiliary-tools.d.ts +17 -0
  166. package/dist/runtime/drivers/codex-auxiliary-tools.js +267 -0
  167. package/dist/runtime/drivers/codex-home.d.ts +20 -0
  168. package/dist/runtime/drivers/codex-home.js +674 -0
  169. package/dist/runtime/drivers/codex-thread-registry.d.ts +63 -0
  170. package/dist/runtime/drivers/codex-thread-registry.js +433 -0
  171. package/dist/runtime/drivers/persistent-cli-adapter.d.ts +160 -0
  172. package/dist/runtime/drivers/persistent-cli-adapter.js +396 -0
  173. package/dist/runtime/drivers/persistent-cli-process.d.ts +424 -0
  174. package/dist/runtime/drivers/persistent-cli-process.js +1543 -0
  175. package/dist/runtime/drivers/types.d.ts +456 -0
  176. package/dist/runtime/drivers/types.js +110 -0
  177. package/dist/runtime/mailbox.d.ts +223 -0
  178. package/dist/runtime/mailbox.js +582 -0
  179. package/dist/runtime/model-run-store.d.ts +28 -0
  180. package/dist/{model-runs/store.js → runtime/model-run-store.js} +81 -41
  181. package/dist/runtime/model-run-types.d.ts +132 -0
  182. package/dist/{model-runs/types.js → runtime/model-run-types.js} +1 -1
  183. package/dist/runtime/native-effect-observer.d.ts +22 -0
  184. package/dist/runtime/native-effect-observer.js +103 -0
  185. package/dist/runtime/native-input-journal.d.ts +46 -0
  186. package/dist/runtime/native-input-journal.js +308 -0
  187. package/dist/runtime/native-prompt.d.ts +118 -0
  188. package/dist/runtime/native-prompt.js +496 -0
  189. package/dist/runtime/native-session.d.ts +10 -0
  190. package/dist/{agent-graph/index.js → runtime/native-session.js} +9 -6
  191. package/dist/runtime/native-tool-trace-observer.d.ts +5 -0
  192. package/dist/runtime/native-tool-trace-observer.js +65 -0
  193. package/dist/runtime/native-turn.d.ts +272 -0
  194. package/dist/runtime/native-turn.js +1041 -0
  195. package/dist/runtime/operations.d.ts +236 -0
  196. package/dist/runtime/operations.js +565 -0
  197. package/dist/runtime/post-tool-handler.d.ts +74 -0
  198. package/dist/runtime/post-tool-handler.js +137 -0
  199. package/dist/runtime/prompt-layers.d.ts +126 -0
  200. package/dist/runtime/prompt-layers.js +239 -0
  201. package/dist/runtime/runtime-process.d.ts +102 -0
  202. package/dist/runtime/runtime-process.js +206 -0
  203. package/dist/runtime/runtime.d.ts +278 -0
  204. package/dist/runtime/runtime.js +563 -0
  205. package/dist/runtime/session-pool.d.ts +176 -0
  206. package/dist/runtime/session-pool.js +369 -0
  207. package/dist/runtime/stimulus-payload.d.ts +5 -0
  208. package/dist/runtime/stimulus-payload.js +50 -0
  209. package/dist/runtime/subagent-bridge.d.ts +24 -0
  210. package/dist/{agent-graph/types.js → runtime/subagent-bridge.js} +1 -1
  211. package/dist/runtime/text-completion.d.ts +22 -0
  212. package/dist/{agent-situation/types.js → runtime/text-completion.js} +1 -1
  213. package/dist/runtime/token-estimator.d.ts +25 -0
  214. package/dist/runtime/token-estimator.js +75 -0
  215. package/dist/runtime/tool-trace-store.d.ts +22 -0
  216. package/dist/runtime/tool-trace-store.js +242 -0
  217. package/dist/runtime/trace-summary.d.ts +5 -0
  218. package/dist/runtime/trace-summary.js +74 -0
  219. package/dist/runtime/turn-text.d.ts +23 -0
  220. package/dist/runtime/turn-text.js +41 -0
  221. package/dist/storage/database.d.ts +67 -0
  222. package/dist/storage/database.js +158 -0
  223. package/package.json +20 -34
  224. package/dist/agent-graph/alias-write.d.ts +0 -3
  225. package/dist/agent-graph/alias-write.js +0 -234
  226. package/dist/agent-graph/entity-resolve.d.ts +0 -3
  227. package/dist/agent-graph/entity-resolve.js +0 -271
  228. package/dist/agent-graph/errors.d.ts +0 -4
  229. package/dist/agent-graph/errors.js +0 -11
  230. package/dist/agent-graph/graph-query.d.ts +0 -5
  231. package/dist/agent-graph/graph-query.js +0 -360
  232. package/dist/agent-graph/index.d.ts +0 -6
  233. package/dist/agent-situation/builder.d.ts +0 -8
  234. package/dist/agent-situation/builder.js +0 -239
  235. package/dist/agent-situation/cache-key.d.ts +0 -4
  236. package/dist/agent-situation/cache-key.js +0 -64
  237. package/dist/agent-situation/index.d.ts +0 -7
  238. package/dist/agent-situation/index.js +0 -28
  239. package/dist/agent-situation/packet-store.d.ts +0 -27
  240. package/dist/agent-situation/packet-store.js +0 -228
  241. package/dist/agent-situation/ranking-policy.d.ts +0 -18
  242. package/dist/agent-situation/ranking-policy.js +0 -75
  243. package/dist/agent-situation/source-readers.d.ts +0 -52
  244. package/dist/agent-situation/source-readers.js +0 -300
  245. package/dist/agent-situation/types.d.ts +0 -195
  246. package/dist/cases/wiki-page-index.d.ts +0 -37
  247. package/dist/cases/wiki-page-index.js +0 -201
  248. package/dist/config-loader.d.ts +0 -68
  249. package/dist/config-loader.js +0 -239
  250. package/dist/connectors/event-index.d.ts +0 -24
  251. package/dist/connectors/event-index.js +0 -245
  252. package/dist/connectors/raw-query.d.ts +0 -40
  253. package/dist/connectors/raw-query.js +0 -412
  254. package/dist/connectors/types.d.ts +0 -117
  255. package/dist/connectors/types.js +0 -3
  256. package/dist/context-compile/boundary-defaults.d.ts +0 -12
  257. package/dist/context-compile/boundary-defaults.js +0 -105
  258. package/dist/context-compile/channel-grant.js +0 -66
  259. package/dist/context-compile/compiler-policy.d.ts +0 -39
  260. package/dist/context-compile/compiler-policy.js +0 -147
  261. package/dist/context-compile/compiler.d.ts +0 -18
  262. package/dist/context-compile/compiler.js +0 -404
  263. package/dist/context-compile/index.d.ts +0 -10
  264. package/dist/context-compile/index.js +0 -26
  265. package/dist/context-compile/packet-store.d.ts +0 -8
  266. package/dist/context-compile/packet-store.js +0 -239
  267. package/dist/context-compile/ref.d.ts +0 -7
  268. package/dist/context-compile/ref.js +0 -102
  269. package/dist/context-compile/source-readers.d.ts +0 -70
  270. package/dist/context-compile/source-readers.js +0 -840
  271. package/dist/context-compile/types.d.ts +0 -155
  272. package/dist/context-compile/types.js +0 -11
  273. package/dist/context-compile/visibility.d.ts +0 -21
  274. package/dist/context-compile/visibility.js +0 -224
  275. package/dist/decision-tracker.d.ts +0 -206
  276. package/dist/decision-tracker.js +0 -481
  277. package/dist/edges/ref-validation.d.ts +0 -7
  278. package/dist/edges/ref-validation.js +0 -321
  279. package/dist/edges/store.d.ts +0 -8
  280. package/dist/edges/store.js +0 -129
  281. package/dist/embedding-client.d.ts +0 -28
  282. package/dist/embedding-client.js +0 -53
  283. package/dist/embedding-server/index.d.ts +0 -67
  284. package/dist/embedding-server/index.js +0 -405
  285. package/dist/embedding-server/mobile/auth.d.ts +0 -44
  286. package/dist/embedding-server/mobile/auth.js +0 -150
  287. package/dist/embedding-server/mobile/daemon.d.ts +0 -129
  288. package/dist/embedding-server/mobile/daemon.js +0 -313
  289. package/dist/embedding-server/mobile/output-parser.d.ts +0 -115
  290. package/dist/embedding-server/mobile/output-parser.js +0 -241
  291. package/dist/embedding-server/mobile/session-api.d.ts +0 -57
  292. package/dist/embedding-server/mobile/session-api.js +0 -261
  293. package/dist/embedding-server/mobile/session-manager.d.ts +0 -138
  294. package/dist/embedding-server/mobile/session-manager.js +0 -378
  295. package/dist/embedding-server/mobile/websocket-handler.d.ts +0 -137
  296. package/dist/embedding-server/mobile/websocket-handler.js +0 -486
  297. package/dist/embeddings.d.ts +0 -68
  298. package/dist/embeddings.js +0 -244
  299. package/dist/entities/audit-metrics.d.ts +0 -68
  300. package/dist/entities/audit-metrics.js +0 -124
  301. package/dist/entities/candidate-generator.d.ts +0 -8
  302. package/dist/entities/candidate-generator.js +0 -24
  303. package/dist/entities/entity-linked-decision-counts.d.ts +0 -2
  304. package/dist/entities/entity-linked-decision-counts.js +0 -29
  305. package/dist/entities/entity-list.d.ts +0 -22
  306. package/dist/entities/entity-list.js +0 -3
  307. package/dist/entities/entity-orphan-list.d.ts +0 -17
  308. package/dist/entities/entity-orphan-list.js +0 -3
  309. package/dist/entities/entity-search.d.ts +0 -20
  310. package/dist/entities/entity-search.js +0 -3
  311. package/dist/entities/errors.d.ts +0 -55
  312. package/dist/entities/errors.js +0 -100
  313. package/dist/entities/lineage-store.d.ts +0 -28
  314. package/dist/entities/lineage-store.js +0 -204
  315. package/dist/entities/normalization.d.ts +0 -14
  316. package/dist/entities/normalization.js +0 -63
  317. package/dist/entities/policy-store.d.ts +0 -8
  318. package/dist/entities/policy-store.js +0 -75
  319. package/dist/entities/policy-types.d.ts +0 -72
  320. package/dist/entities/policy-types.js +0 -59
  321. package/dist/entities/projection.d.ts +0 -8
  322. package/dist/entities/projection.js +0 -82
  323. package/dist/entities/provenance-query.d.ts +0 -32
  324. package/dist/entities/provenance-query.js +0 -3
  325. package/dist/entities/read-identity.d.ts +0 -31
  326. package/dist/entities/read-identity.js +0 -264
  327. package/dist/entities/recall-bridge.d.ts +0 -5
  328. package/dist/entities/recall-bridge.js +0 -171
  329. package/dist/entities/resolution-engine.d.ts +0 -8
  330. package/dist/entities/resolution-engine.js +0 -3
  331. package/dist/entities/rollback-preview.d.ts +0 -35
  332. package/dist/entities/rollback-preview.js +0 -3
  333. package/dist/entities/source-locator.d.ts +0 -3
  334. package/dist/entities/source-locator.js +0 -32
  335. package/dist/entities/store.d.ts +0 -69
  336. package/dist/entities/store.js +0 -544
  337. package/dist/entities/types.d.ts +0 -166
  338. package/dist/entities/types.js +0 -30
  339. package/dist/memory/extraction-prompt.d.ts +0 -4
  340. package/dist/memory/extraction-prompt.js +0 -89
  341. package/dist/memory/scope-backfill.d.ts +0 -14
  342. package/dist/memory/scope-backfill.js +0 -3
  343. package/dist/memory/scope-store.d.ts +0 -4
  344. package/dist/memory/scope-store.js +0 -9
  345. package/dist/memory-store.d.ts +0 -87
  346. package/dist/memory-store.js +0 -78
  347. package/dist/model-runs/store.d.ts +0 -13
  348. package/dist/model-runs/tool-trace-store.d.ts +0 -4
  349. package/dist/model-runs/tool-trace-store.js +0 -118
  350. package/dist/model-runs/types.d.ts +0 -72
  351. package/dist/notification-manager.d.ts +0 -7
  352. package/dist/notification-manager.js +0 -12
  353. package/dist/outcome-tracker.d.ts +0 -151
  354. package/dist/outcome-tracker.js +0 -271
  355. package/dist/query-intent.d.ts +0 -23
  356. package/dist/query-intent.js +0 -114
  357. package/dist/runtime/trusted-provenance.d.ts +0 -3
  358. package/dist/runtime/trusted-provenance.js +0 -6
  359. package/dist/search/question-type.d.ts +0 -5
  360. package/dist/search/question-type.js +0 -41
  361. package/dist/test-utils.d.ts +0 -80
  362. package/dist/test-utils.js +0 -218
  363. package/dist/tier-validator.d.ts +0 -43
  364. package/dist/tier-validator.js +0 -159
  365. package/dist/time-formatter.d.ts +0 -25
  366. package/dist/time-formatter.js +0 -93
  367. /package/dist/{search → knowledge}/feedback-store.d.ts +0 -0
  368. /package/dist/{search → knowledge}/feedback-store.js +0 -0
  369. /package/dist/{search → knowledge}/ranker-features.d.ts +0 -0
  370. /package/dist/{search → knowledge}/ranker-rescore.d.ts +0 -0
  371. /package/dist/{search → knowledge}/ranker-rescore.js +0 -0
  372. /package/dist/{search → knowledge}/ranker-trainer.d.ts +0 -0
  373. /package/dist/{search → knowledge}/ranker-trainer.js +0 -0
  374. /package/dist/{search → knowledge}/search-quality.js +0 -0
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CaseMergeChainCycleError = exports.AuditRunInProgressError = exports.EntityLabelMissingError = exports.OntologyViolationError = exports.EmbeddingUnavailableError = exports.InvalidEntityLabelError = exports.EntityError = void 0;
4
- class EntityError extends Error {
5
- context;
6
- hint;
7
- constructor(opts) {
8
- super(opts.message);
9
- this.name = new.target.name;
10
- this.context = opts.context ?? {};
11
- this.hint = opts.hint;
12
- if (Error.captureStackTrace) {
13
- Error.captureStackTrace(this, new.target);
14
- }
15
- }
16
- toErrorEnvelope() {
17
- return {
18
- error: {
19
- code: this.code,
20
- message: this.message,
21
- hint: this.hint,
22
- doc_url: `docs/operations/entity-substrate-runbook.md${this.doc_section}`,
23
- },
24
- };
25
- }
26
- }
27
- exports.EntityError = EntityError;
28
- class InvalidEntityLabelError extends EntityError {
29
- code = 'entity.invalid_label';
30
- doc_section = '#invalid-label';
31
- constructor(context = {}) {
32
- super({
33
- message: 'Invalid entity label.',
34
- context,
35
- hint: 'Provide a non-empty entity label before normalization.',
36
- });
37
- }
38
- }
39
- exports.InvalidEntityLabelError = InvalidEntityLabelError;
40
- class EmbeddingUnavailableError extends EntityError {
41
- code = 'entity.embedding_unavailable';
42
- doc_section = '#embedding-unavailable';
43
- constructor(context = {}) {
44
- super({
45
- message: 'Entity embedding model is unavailable.',
46
- context,
47
- hint: 'Verify the embedding model is installed and reachable before generating candidates.',
48
- });
49
- }
50
- }
51
- exports.EmbeddingUnavailableError = EmbeddingUnavailableError;
52
- class OntologyViolationError extends EntityError {
53
- code = 'entity.ontology_violation';
54
- doc_section = '#ontology-violation';
55
- constructor(context = {}) {
56
- super({
57
- message: 'Entity operation violates ontology constraints.',
58
- context,
59
- hint: 'Check entity kinds and relation signatures before applying the change.',
60
- });
61
- }
62
- }
63
- exports.OntologyViolationError = OntologyViolationError;
64
- class EntityLabelMissingError extends EntityError {
65
- code = 'entity.label_missing';
66
- doc_section = '#label-missing';
67
- constructor(context = {}) {
68
- super({
69
- message: 'Canonical entity label is missing.',
70
- context,
71
- hint: 'Set a preferred label before projecting or displaying the entity.',
72
- });
73
- }
74
- }
75
- exports.EntityLabelMissingError = EntityLabelMissingError;
76
- class AuditRunInProgressError extends EntityError {
77
- code = 'entity.audit_run_in_progress';
78
- doc_section = '#audit-run-in-progress';
79
- constructor(context = {}) {
80
- super({
81
- message: 'Another entity audit run is already in progress.',
82
- context,
83
- hint: 'Wait for the current audit to finish or inspect its run status before starting a new one.',
84
- });
85
- }
86
- }
87
- exports.AuditRunInProgressError = AuditRunInProgressError;
88
- class CaseMergeChainCycleError extends EntityError {
89
- code = 'case.merge_chain_cycle';
90
- doc_section = '#case-merge-chain-cycle';
91
- constructor(context) {
92
- super({
93
- message: `Case merge chain cycle detected at depth ${context.detected_at_depth} starting from case_id=${context.case_id}. Chain=${context.chain.join(' -> ')}.`,
94
- context,
95
- hint: 'Inspect case_truth.canonical_case_id links and remove the cycle before retrying.',
96
- });
97
- }
98
- }
99
- exports.CaseMergeChainCycleError = CaseMergeChainCycleError;
100
- //# sourceMappingURL=errors.js.map
@@ -1,28 +0,0 @@
1
- import type { DatabaseAdapter } from '../db-manager.js';
2
- import type { EntityIngestRun, EntityLineageLink } from './types.js';
3
- import type { EntityStoreAdapter } from './store.js';
4
- type AppendEntityLineageLinkInput = Omit<EntityLineageLink, 'id' | 'status' | 'created_at' | 'superseded_at'>;
5
- interface AdoptLineageAfterMergeInput {
6
- adapter?: LineageMutationAdapter;
7
- source_entity_id: string;
8
- target_entity_id: string;
9
- candidate_id?: string | null;
10
- review_action_id?: string | null;
11
- confidence?: number;
12
- capture_mode?: EntityLineageLink['capture_mode'];
13
- }
14
- type LineageMutationAdapter = Pick<DatabaseAdapter, 'prepare'>;
15
- export interface AppendEntityLineageLinkResult {
16
- link: EntityLineageLink;
17
- created: boolean;
18
- }
19
- interface AdoptLineageAfterMergeSyncInput extends Omit<AdoptLineageAfterMergeInput, 'adapter'> {
20
- adapter: LineageMutationAdapter;
21
- }
22
- export declare function parseEntityIngestRunRow(row: Record<string, unknown>): EntityIngestRun;
23
- export declare function appendEntityLineageLink(input: AppendEntityLineageLinkInput): Promise<AppendEntityLineageLinkResult>;
24
- export declare function adoptLineageAfterMergeSync(input: AdoptLineageAfterMergeSyncInput): EntityLineageLink[];
25
- export declare function listActiveEntityLineage(entityId: string, adapter?: EntityStoreAdapter): Promise<EntityLineageLink[]>;
26
- export declare function listEntityLineageHistory(entityId: string, adapter?: EntityStoreAdapter): Promise<EntityLineageLink[]>;
27
- export {};
28
- //# sourceMappingURL=lineage-store.d.ts.map
@@ -1,204 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseEntityIngestRunRow = parseEntityIngestRunRow;
4
- exports.appendEntityLineageLink = appendEntityLineageLink;
5
- exports.adoptLineageAfterMergeSync = adoptLineageAfterMergeSync;
6
- exports.listActiveEntityLineage = listActiveEntityLineage;
7
- exports.listEntityLineageHistory = listEntityLineageHistory;
8
- const node_crypto_1 = require("node:crypto");
9
- const db_manager_js_1 = require("../db-manager.js");
10
- function now() {
11
- return Date.now();
12
- }
13
- function parseEntityIngestRunRow(row) {
14
- return {
15
- id: String(row.id),
16
- connector: String(row.connector),
17
- run_kind: row.run_kind,
18
- status: row.status,
19
- scope_key: String(row.scope_key),
20
- source_window_start: typeof row.source_window_start === 'number' ? row.source_window_start : null,
21
- source_window_end: typeof row.source_window_end === 'number' ? row.source_window_end : null,
22
- raw_count: Number(row.raw_count ?? 0),
23
- observation_count: Number(row.observation_count ?? 0),
24
- candidate_count: Number(row.candidate_count ?? 0),
25
- reviewable_count: Number(row.reviewable_count ?? 0),
26
- audit_run_id: typeof row.audit_run_id === 'string' ? row.audit_run_id : null,
27
- audit_classification: typeof row.audit_classification === 'string'
28
- ? row.audit_classification
29
- : null,
30
- error_reason: typeof row.error_reason === 'string' ? row.error_reason : null,
31
- created_at: Number(row.created_at),
32
- completed_at: typeof row.completed_at === 'number' ? row.completed_at : null,
33
- };
34
- }
35
- function parseEntityLineageLinkRow(row) {
36
- return {
37
- id: String(row.id),
38
- canonical_entity_id: String(row.canonical_entity_id),
39
- entity_observation_id: String(row.entity_observation_id),
40
- source_entity_id: typeof row.source_entity_id === 'string' ? row.source_entity_id : null,
41
- contribution_kind: row.contribution_kind,
42
- run_id: typeof row.run_id === 'string' ? row.run_id : null,
43
- candidate_id: typeof row.candidate_id === 'string' ? row.candidate_id : null,
44
- review_action_id: typeof row.review_action_id === 'string' ? row.review_action_id : null,
45
- status: row.status,
46
- capture_mode: row.capture_mode,
47
- confidence: Number(row.confidence),
48
- created_at: Number(row.created_at),
49
- superseded_at: typeof row.superseded_at === 'number' ? row.superseded_at : null,
50
- };
51
- }
52
- async function appendEntityLineageLink(input) {
53
- await (0, db_manager_js_1.initDB)();
54
- const adapter = (0, db_manager_js_1.getAdapter)();
55
- const existing = adapter
56
- .prepare(`
57
- SELECT *
58
- FROM entity_lineage_links
59
- WHERE canonical_entity_id = ?
60
- AND entity_observation_id = ?
61
- AND status = 'active'
62
- LIMIT 1
63
- `)
64
- .get(input.canonical_entity_id, input.entity_observation_id);
65
- // Idempotent by (canonical_entity_id, entity_observation_id, status='active').
66
- // If an active row already exists for the pair, the existing row is returned
67
- // and the caller-provided metadata is ignored.
68
- if (existing) {
69
- return {
70
- link: parseEntityLineageLinkRow(existing),
71
- created: false,
72
- };
73
- }
74
- const id = `elin_${(0, node_crypto_1.randomUUID)()}`;
75
- const createdAt = now();
76
- adapter
77
- .prepare(`
78
- INSERT INTO entity_lineage_links (
79
- id, canonical_entity_id, entity_observation_id, source_entity_id,
80
- contribution_kind, run_id, candidate_id, review_action_id,
81
- status, capture_mode, confidence, created_at, superseded_at
82
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'active', ?, ?, ?, NULL)
83
- `)
84
- .run(id, input.canonical_entity_id, input.entity_observation_id, input.source_entity_id, input.contribution_kind, input.run_id, input.candidate_id, input.review_action_id, input.capture_mode, input.confidence, createdAt);
85
- const row = adapter.prepare(`SELECT * FROM entity_lineage_links WHERE id = ?`).get(id);
86
- return {
87
- link: parseEntityLineageLinkRow(row),
88
- created: true,
89
- };
90
- }
91
- function runLineageTransaction(adapter, fn) {
92
- const savepoint = `adopt_lineage_${(0, node_crypto_1.randomUUID)().replace(/-/g, '')}`;
93
- adapter.prepare(`SAVEPOINT ${savepoint}`).run();
94
- try {
95
- const result = fn();
96
- adapter.prepare(`RELEASE SAVEPOINT ${savepoint}`).run();
97
- return result;
98
- }
99
- catch (error) {
100
- try {
101
- adapter.prepare(`ROLLBACK TO SAVEPOINT ${savepoint}`).run();
102
- }
103
- catch {
104
- // Ignore rollback errors when the connection already unwound the savepoint.
105
- }
106
- try {
107
- adapter.prepare(`RELEASE SAVEPOINT ${savepoint}`).run();
108
- }
109
- catch {
110
- // Ignore cleanup failures after rollback.
111
- }
112
- throw error;
113
- }
114
- }
115
- function adoptLineageAfterMergeSync(input) {
116
- return runLineageTransaction(input.adapter, () => adoptLineageAfterMergeWithAdapter(input.adapter, input));
117
- }
118
- function adoptLineageAfterMergeWithAdapter(adapter, input) {
119
- const createdAt = now();
120
- const supersededAt = now();
121
- const sourceRows = adapter
122
- .prepare(`
123
- SELECT *
124
- FROM entity_lineage_links
125
- WHERE canonical_entity_id = ?
126
- AND status = 'active'
127
- ORDER BY created_at ASC
128
- `)
129
- .all(input.source_entity_id);
130
- adapter
131
- .prepare(`
132
- UPDATE entity_lineage_links
133
- SET status = 'superseded',
134
- superseded_at = ?
135
- WHERE canonical_entity_id = ?
136
- AND status = 'active'
137
- `)
138
- .run(supersededAt, input.source_entity_id);
139
- const adopted = [];
140
- for (const row of sourceRows) {
141
- const observationId = String(row.entity_observation_id);
142
- const existing = adapter
143
- .prepare(`
144
- SELECT *
145
- FROM entity_lineage_links
146
- WHERE canonical_entity_id = ?
147
- AND entity_observation_id = ?
148
- AND status = 'active'
149
- LIMIT 1
150
- `)
151
- .get(input.target_entity_id, observationId);
152
- if (existing) {
153
- adopted.push(parseEntityLineageLinkRow(existing));
154
- continue;
155
- }
156
- const id = `elin_${(0, node_crypto_1.randomUUID)()}`;
157
- adapter
158
- .prepare(`
159
- INSERT INTO entity_lineage_links (
160
- id, canonical_entity_id, entity_observation_id, source_entity_id,
161
- contribution_kind, run_id, candidate_id, review_action_id,
162
- status, capture_mode, confidence, created_at, superseded_at
163
- ) VALUES (?, ?, ?, ?, 'merge_adopt', ?, ?, ?, 'active', ?, ?, ?, NULL)
164
- `)
165
- .run(id, input.target_entity_id, observationId, input.source_entity_id, typeof row.run_id === 'string' ? row.run_id : null, input.candidate_id ?? null, input.review_action_id ?? null, input.capture_mode ?? 'direct', input.confidence ?? Number(row.confidence ?? 1), createdAt);
166
- const created = adapter
167
- .prepare(`SELECT * FROM entity_lineage_links WHERE id = ?`)
168
- .get(id);
169
- adopted.push(parseEntityLineageLinkRow(created));
170
- }
171
- return adopted;
172
- }
173
- async function listActiveEntityLineage(entityId, adapter) {
174
- if (!adapter) {
175
- await (0, db_manager_js_1.initDB)();
176
- }
177
- const effectiveAdapter = adapter ?? (0, db_manager_js_1.getAdapter)();
178
- const rows = effectiveAdapter
179
- .prepare(`
180
- SELECT *
181
- FROM entity_lineage_links
182
- WHERE canonical_entity_id = ?
183
- AND status = 'active'
184
- ORDER BY created_at ASC
185
- `)
186
- .all(entityId);
187
- return rows.map(parseEntityLineageLinkRow);
188
- }
189
- async function listEntityLineageHistory(entityId, adapter) {
190
- if (!adapter) {
191
- await (0, db_manager_js_1.initDB)();
192
- }
193
- const effectiveAdapter = adapter ?? (0, db_manager_js_1.getAdapter)();
194
- const rows = effectiveAdapter
195
- .prepare(`
196
- SELECT *
197
- FROM entity_lineage_links
198
- WHERE canonical_entity_id = ?
199
- ORDER BY created_at ASC
200
- `)
201
- .all(entityId);
202
- return rows.map(parseEntityLineageLinkRow);
203
- }
204
- //# sourceMappingURL=lineage-store.js.map
@@ -1,14 +0,0 @@
1
- export type EntityScript = 'Latn' | 'Hang' | 'Jpan' | 'Mixed' | 'Unknown';
2
- export interface NormalizedEntityLabel {
3
- original: string;
4
- normalized: string;
5
- script: EntityScript;
6
- }
7
- export declare function detectScript(input: string): EntityScript;
8
- export declare function normalizeEntityLabel(input: unknown): NormalizedEntityLabel;
9
- export declare function extractStructuredIdentifiers(input: string): {
10
- emails: string[];
11
- handles: string[];
12
- domains: string[];
13
- };
14
- //# sourceMappingURL=normalization.d.ts.map
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.detectScript = detectScript;
4
- exports.normalizeEntityLabel = normalizeEntityLabel;
5
- exports.extractStructuredIdentifiers = extractStructuredIdentifiers;
6
- const errors_js_1 = require("./errors.js");
7
- const LATIN_RE = /\p{Script=Latin}/u;
8
- const HANGUL_RE = /\p{Script=Hangul}/u;
9
- const HIRAGANA_RE = /\p{Script=Hiragana}/u;
10
- const KATAKANA_RE = /\p{Script=Katakana}/u;
11
- const HAN_RE = /\p{Script=Han}/u;
12
- function collapseWhitespace(input) {
13
- return input.normalize('NFKC').trim().replace(/\s+/gu, ' ');
14
- }
15
- function detectScript(input) {
16
- const hasLatin = LATIN_RE.test(input);
17
- const hasHangul = HANGUL_RE.test(input);
18
- const hasJapanese = HIRAGANA_RE.test(input) || KATAKANA_RE.test(input) || HAN_RE.test(input);
19
- const activeScripts = [hasLatin, hasHangul, hasJapanese].filter(Boolean).length;
20
- if (activeScripts > 1) {
21
- return 'Mixed';
22
- }
23
- if (hasHangul) {
24
- return 'Hang';
25
- }
26
- if (hasJapanese) {
27
- return 'Jpan';
28
- }
29
- if (hasLatin) {
30
- return 'Latn';
31
- }
32
- return 'Unknown';
33
- }
34
- function normalizeEntityLabel(input) {
35
- if (typeof input !== 'string' || input.trim().length === 0) {
36
- throw new errors_js_1.InvalidEntityLabelError({
37
- input,
38
- reason: typeof input === 'string' ? 'empty_string' : 'non_string_input',
39
- });
40
- }
41
- const original = input;
42
- const collapsed = collapseWhitespace(input);
43
- const script = detectScript(collapsed);
44
- const normalized = script === 'Latn' ? collapsed.toLowerCase() : collapsed;
45
- return {
46
- original,
47
- normalized,
48
- script,
49
- };
50
- }
51
- function extractStructuredIdentifiers(input) {
52
- const emails = Array.from(new Set((input.match(/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/giu) ?? []).map((v) => v.toLowerCase())));
53
- const handles = Array.from(new Set((input.match(/(?<!\w)@([a-z0-9_][a-z0-9_.-]*)/giu) ?? []).map((v) => v.slice(1).toLowerCase())));
54
- const domains = Array.from(new Set((input.match(/\b(?:[a-z0-9-]+\.)+[a-z]{2,}\b/giu) ?? [])
55
- .map((v) => v.toLowerCase())
56
- .filter((v) => !emails.some((email) => email.endsWith(`@${v}`)))));
57
- return {
58
- emails,
59
- handles,
60
- domains,
61
- };
62
- }
63
- //# sourceMappingURL=normalization.js.map
@@ -1,8 +0,0 @@
1
- import type { DatabaseAdapter } from '../db-manager.js';
2
- import { createDefaultEntityPolicyBootstrap, type EntityPolicyApprovalInput, type EntityPolicyBootstrapDocument, type EntityPolicyKind, type EntityPolicyProposalInput, type EntityPolicyProposalRow, type EntityPolicyRow, type EntityRole, type EntityRoleBinding, type EntityRoleBindingInput } from './policy-types.js';
3
- type PolicyStoreAdapter = Pick<DatabaseAdapter, 'prepare' | 'transaction'>;
4
- export declare function getEntityPolicy(policyKey: string, adapter?: PolicyStoreAdapter): EntityPolicyRow | null;
5
- export declare function resolveEntityRoleForActor(actorId: string, adapter?: PolicyStoreAdapter): EntityRole;
6
- export declare function getEntityPolicyProposal(proposalId: string, adapter?: PolicyStoreAdapter): EntityPolicyProposalRow | null;
7
- export { createDefaultEntityPolicyBootstrap, type EntityPolicyApprovalInput, type EntityPolicyBootstrapDocument, type EntityPolicyKind, type EntityPolicyProposalInput, type EntityPolicyProposalRow, type EntityPolicyRow, type EntityRole, type EntityRoleBinding, type EntityRoleBindingInput, };
8
- //# sourceMappingURL=policy-store.d.ts.map
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDefaultEntityPolicyBootstrap = void 0;
4
- exports.getEntityPolicy = getEntityPolicy;
5
- exports.resolveEntityRoleForActor = resolveEntityRoleForActor;
6
- exports.getEntityPolicyProposal = getEntityPolicyProposal;
7
- const db_manager_js_1 = require("../db-manager.js");
8
- const policy_types_js_1 = require("./policy-types.js");
9
- Object.defineProperty(exports, "createDefaultEntityPolicyBootstrap", { enumerable: true, get: function () { return policy_types_js_1.createDefaultEntityPolicyBootstrap; } });
10
- function parseJsonObject(raw, label) {
11
- const parsed = JSON.parse(raw);
12
- if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
13
- throw new Error(`${label} must be a JSON object`);
14
- }
15
- return parsed;
16
- }
17
- function parsePolicyRow(row) {
18
- const policyKind = String(row.policy_kind);
19
- if (!(0, policy_types_js_1.isEntityPolicyKind)(policyKind)) {
20
- throw new Error(`Invalid entity policy row: policy_kind=${policyKind}`);
21
- }
22
- const valueJson = String(row.value_json);
23
- return {
24
- policy_key: String(row.policy_key),
25
- policy_kind: policyKind,
26
- value_json: valueJson,
27
- value: parseJsonObject(valueJson, 'entity_policy.value_json'),
28
- version: Number(row.version),
29
- created_at: Number(row.created_at),
30
- updated_at: Number(row.updated_at),
31
- };
32
- }
33
- function parseProposalRow(row) {
34
- const policyKind = String(row.policy_kind);
35
- if (!(0, policy_types_js_1.isEntityPolicyKind)(policyKind)) {
36
- throw new Error(`Invalid entity policy proposal row: policy_kind=${policyKind}`);
37
- }
38
- const status = String(row.status);
39
- if (!(0, policy_types_js_1.isEntityPolicyProposalStatus)(status)) {
40
- throw new Error(`Invalid entity policy proposal row: status=${status}`);
41
- }
42
- const proposedValueJson = String(row.proposed_value_json);
43
- return {
44
- proposal_id: String(row.proposal_id),
45
- policy_key: String(row.policy_key),
46
- policy_kind: policyKind,
47
- proposed_value_json: proposedValueJson,
48
- proposed_value: parseJsonObject(proposedValueJson, 'entity_policy_proposals.proposed_value_json'),
49
- proposer_actor: String(row.proposer_actor),
50
- approver_actor: typeof row.approver_actor === 'string' ? row.approver_actor : null,
51
- reason: String(row.reason),
52
- status,
53
- created_at: Number(row.created_at),
54
- approved_at: typeof row.approved_at === 'number' ? row.approved_at : null,
55
- };
56
- }
57
- function getEntityPolicy(policyKey, adapter = (0, db_manager_js_1.getAdapter)()) {
58
- const row = adapter
59
- .prepare('SELECT * FROM entity_policy WHERE policy_key = ? LIMIT 1')
60
- .get(policyKey);
61
- return row ? parsePolicyRow(row) : null;
62
- }
63
- function resolveEntityRoleForActor(actorId, adapter = (0, db_manager_js_1.getAdapter)()) {
64
- const row = adapter
65
- .prepare('SELECT role FROM entity_role_bindings WHERE actor_id = ? LIMIT 1')
66
- .get(actorId);
67
- return row?.role && (0, policy_types_js_1.isEntityRole)(row.role) ? row.role : 'viewer';
68
- }
69
- function getEntityPolicyProposal(proposalId, adapter = (0, db_manager_js_1.getAdapter)()) {
70
- const row = adapter
71
- .prepare('SELECT * FROM entity_policy_proposals WHERE proposal_id = ? LIMIT 1')
72
- .get(proposalId);
73
- return row ? parseProposalRow(row) : null;
74
- }
75
- //# sourceMappingURL=policy-store.js.map
@@ -1,72 +0,0 @@
1
- export declare const ENTITY_POLICY_ROLES: readonly ["viewer", "operator", "admin"];
2
- export type EntityRole = (typeof ENTITY_POLICY_ROLES)[number];
3
- export declare const ENTITY_POLICY_KINDS: readonly ["entity_kind", "merge_guardrails", "review_thresholds", "connector_policy"];
4
- export type EntityPolicyKind = (typeof ENTITY_POLICY_KINDS)[number];
5
- export declare const ENTITY_POLICY_PROPOSAL_STATUSES: readonly ["pending", "approved", "rejected"];
6
- export type EntityPolicyProposalStatus = (typeof ENTITY_POLICY_PROPOSAL_STATUSES)[number];
7
- export interface EntityPolicyRow {
8
- policy_key: string;
9
- policy_kind: EntityPolicyKind;
10
- value_json: string;
11
- value: Record<string, unknown>;
12
- version: number;
13
- created_at: number;
14
- updated_at: number;
15
- }
16
- export interface EntityRoleBinding {
17
- actor_id: string;
18
- role: EntityRole;
19
- created_at: number;
20
- updated_at: number;
21
- }
22
- export interface EntityRoleBindingInput {
23
- actor_id: string;
24
- role: EntityRole;
25
- }
26
- export interface EntityPolicyProposalRow {
27
- proposal_id: string;
28
- policy_key: string;
29
- policy_kind: EntityPolicyKind;
30
- proposed_value_json: string;
31
- proposed_value: Record<string, unknown>;
32
- proposer_actor: string;
33
- approver_actor: string | null;
34
- reason: string;
35
- status: EntityPolicyProposalStatus;
36
- created_at: number;
37
- approved_at: number | null;
38
- }
39
- export interface EntityPolicyProposalInput {
40
- policy_key: string;
41
- policy_kind: EntityPolicyKind;
42
- proposed_value: Record<string, unknown>;
43
- proposer_actor: string;
44
- reason: string;
45
- proposal_id?: string;
46
- created_at?: number;
47
- }
48
- export interface EntityPolicyApprovalInput {
49
- proposal_id: string;
50
- approver_actor: string;
51
- approved_at?: number;
52
- }
53
- export interface EntityPolicyBootstrapPolicy {
54
- policy_key: string;
55
- policy_kind: EntityPolicyKind;
56
- value: Record<string, unknown>;
57
- }
58
- export interface EntityPolicyBootstrapRoleBinding {
59
- actor_id: string;
60
- role: EntityRole;
61
- }
62
- export interface EntityPolicyBootstrapDocument {
63
- version: number;
64
- policies: EntityPolicyBootstrapPolicy[];
65
- role_bindings: EntityPolicyBootstrapRoleBinding[];
66
- }
67
- export declare const ENTITY_ROLE_ORDER: Record<EntityRole, number>;
68
- export declare function isEntityRole(value: string): value is EntityRole;
69
- export declare function isEntityPolicyKind(value: string): value is EntityPolicyKind;
70
- export declare function isEntityPolicyProposalStatus(value: string): value is EntityPolicyProposalStatus;
71
- export declare function createDefaultEntityPolicyBootstrap(adminActor?: string): EntityPolicyBootstrapDocument;
72
- //# sourceMappingURL=policy-types.d.ts.map
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ENTITY_ROLE_ORDER = exports.ENTITY_POLICY_PROPOSAL_STATUSES = exports.ENTITY_POLICY_KINDS = exports.ENTITY_POLICY_ROLES = void 0;
4
- exports.isEntityRole = isEntityRole;
5
- exports.isEntityPolicyKind = isEntityPolicyKind;
6
- exports.isEntityPolicyProposalStatus = isEntityPolicyProposalStatus;
7
- exports.createDefaultEntityPolicyBootstrap = createDefaultEntityPolicyBootstrap;
8
- exports.ENTITY_POLICY_ROLES = ['viewer', 'operator', 'admin'];
9
- exports.ENTITY_POLICY_KINDS = [
10
- 'entity_kind',
11
- 'merge_guardrails',
12
- 'review_thresholds',
13
- 'connector_policy',
14
- ];
15
- exports.ENTITY_POLICY_PROPOSAL_STATUSES = ['pending', 'approved', 'rejected'];
16
- exports.ENTITY_ROLE_ORDER = {
17
- viewer: 0,
18
- operator: 1,
19
- admin: 2,
20
- };
21
- function isEntityRole(value) {
22
- return exports.ENTITY_POLICY_ROLES.includes(value);
23
- }
24
- function isEntityPolicyKind(value) {
25
- return exports.ENTITY_POLICY_KINDS.includes(value);
26
- }
27
- function isEntityPolicyProposalStatus(value) {
28
- return exports.ENTITY_POLICY_PROPOSAL_STATUSES.includes(value);
29
- }
30
- function createDefaultEntityPolicyBootstrap(adminActor = 'local:viewer') {
31
- return {
32
- version: 1,
33
- policies: [
34
- {
35
- policy_key: 'merge_guardrails.default',
36
- policy_kind: 'merge_guardrails',
37
- value: {
38
- max_false_merge_rate: 0.02,
39
- require_review_for_cross_scope: true,
40
- },
41
- },
42
- {
43
- policy_key: 'review_thresholds.default',
44
- policy_kind: 'review_thresholds',
45
- value: {
46
- approve_score_min: 0.92,
47
- defer_score_min: 0.78,
48
- },
49
- },
50
- ],
51
- role_bindings: [
52
- {
53
- actor_id: adminActor,
54
- role: 'admin',
55
- },
56
- ],
57
- };
58
- }
59
- //# sourceMappingURL=policy-types.js.map
@@ -1,8 +0,0 @@
1
- import type { EntityAlias, EntityNode, EntityTimelineEvent } from './types.js';
2
- import type { MemoryRecord } from '../memory/types.js';
3
- interface ProjectionOptions {
4
- nodeLookup?: Record<string, EntityNode>;
5
- }
6
- export declare function projectEntityToRecallSummary(node: EntityNode, aliases: EntityAlias[], latestEvent: EntityTimelineEvent | null, options?: ProjectionOptions): MemoryRecord;
7
- export {};
8
- //# sourceMappingURL=projection.d.ts.map