@jungjaehoon/mama-core 2.4.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/README.md +76 -239
  2. package/db/migrations/030-case-first-memory-substrate.sql +13 -98
  3. package/db/migrations/034-add-connector-event-scope-columns.sql +9 -13
  4. package/db/migrations/039-add-connector-event-operator-ingest-seq.sql +9 -95
  5. package/db/migrations/062-refresh-connector-event-sequences.sql +9 -113
  6. package/db/migrations/063-refresh-legacy-connector-event-updates.sql +9 -32
  7. package/db/migrations/067-add-connector-event-source-entity-id.sql +9 -13
  8. package/db/migrations/069-create-registry-nodes.sql +52 -0
  9. package/db/migrations/070-record-identity.sql +35 -0
  10. package/db/migrations/071-service-operation-origins.sql +187 -0
  11. package/db/migrations/072-observation-versions.sql +29 -0
  12. package/db/migrations/073-registry-corrections.sql +45 -0
  13. package/db/migrations/074-work-graph-ref-kinds.sql +39 -0
  14. package/db/migrations/075-agent-judgments.sql +58 -0
  15. package/db/migrations/076-scoped-checkpoint-bindings.sql +15 -0
  16. package/db/migrations/077-legacy-record-kind.sql +6 -0
  17. package/db/migrations/078-source-ingest-commands.sql +18 -0
  18. package/db/migrations/079-twin-edge-relations.sql +43 -0
  19. package/db/migrations/080-restore-duration-days.sql +7 -0
  20. package/db/migrations/081-mailbox.sql +61 -0
  21. package/db/migrations/082-commitments-row-id.sql +12 -0
  22. package/db/migrations/083-observation-is-the-evidence.sql +49 -0
  23. package/db/migrations/084-scope-kind-is-not-the-cores-to-list.sql +34 -0
  24. package/db/migrations/085-a-migration-has-a-source.sql +37 -0
  25. package/db/migrations/086-the-mailbox-is-generic.sql +110 -0
  26. package/db/migrations/087-mailbox-payload.sql +5 -0
  27. package/db/migrations/088-native-input-journal.sql +14 -0
  28. package/db/migrations/089-native-turn-receipt-lookup.sql +3 -0
  29. package/db/migrations/090-model-run-native-inputs.sql +29 -0
  30. package/db/migrations/091-native-turn-results.sql +11 -0
  31. package/db/migrations/092-restore-decision-fts.sql +34 -0
  32. package/db/migrations/093-native-turn-primary-kind.sql +14 -0
  33. package/db/migrations/094-commitment-run-provenance.sql +9 -0
  34. package/db/migrations/095-model-run-native-input-identity.sql +39 -0
  35. package/db/migrations/096-drop-connector-event-index-fts.sql +9 -0
  36. package/db/migrations/097-native-input-json-validity.sql +37 -0
  37. package/db/migrations/098-workflow-memory-kind.sql +105 -0
  38. package/db/migrations/099-commitment-revision-graph.sql +2 -0
  39. package/dist/action-contracts.d.ts +212 -0
  40. package/dist/action-contracts.js +10 -0
  41. package/dist/api/catalog.d.ts +118 -0
  42. package/dist/api/catalog.js +1756 -0
  43. package/dist/api/dispatch.d.ts +76 -0
  44. package/dist/api/dispatch.js +372 -0
  45. package/dist/canonicalize.d.ts +2 -2
  46. package/dist/canonicalize.js +3 -3
  47. package/dist/client/client.d.ts +33 -0
  48. package/dist/client/client.js +123 -0
  49. package/dist/client/ipc.d.ts +81 -0
  50. package/dist/client/ipc.js +314 -0
  51. package/dist/db-adapter/base-adapter.d.ts +6 -66
  52. package/dist/db-adapter/base-adapter.js +6 -6
  53. package/dist/db-adapter/index.d.ts +5 -5
  54. package/dist/db-adapter/index.js +2 -5
  55. package/dist/db-adapter/node-sqlite-adapter.d.ts +85 -15
  56. package/dist/db-adapter/node-sqlite-adapter.js +1985 -570
  57. package/dist/db-manager.d.ts +53 -97
  58. package/dist/db-manager.js +121 -603
  59. package/dist/embedding/embedder.d.ts +132 -0
  60. package/dist/embedding/embedder.js +299 -0
  61. package/dist/identity/principal-repository.d.ts +2 -2
  62. package/dist/index.d.ts +43 -58
  63. package/dist/index.js +97 -145
  64. package/dist/{context-compile/channel-grant.d.ts → knowledge/access.d.ts} +12 -17
  65. package/dist/knowledge/access.js +663 -0
  66. package/dist/knowledge/case-errors.d.ts +31 -0
  67. package/dist/knowledge/case-errors.js +40 -0
  68. package/dist/{cases/search-rollup.d.ts → knowledge/case-search-rollup.d.ts} +5 -4
  69. package/dist/{cases/search-rollup.js → knowledge/case-search-rollup.js} +6 -8
  70. package/dist/{cases/store.d.ts → knowledge/case-store.d.ts} +3 -6
  71. package/dist/{cases/store.js → knowledge/case-store.js} +7 -42
  72. package/dist/{cases/timeline-range.d.ts → knowledge/case-timeline-range.d.ts} +3 -3
  73. package/dist/{cases/timeline-range.js → knowledge/case-timeline-range.js} +47 -25
  74. package/dist/{cases/types.d.ts → knowledge/case-types.d.ts} +8 -2
  75. package/dist/{cases/types.js → knowledge/case-types.js} +1 -1
  76. package/dist/knowledge/commitment-revision-migration.d.ts +4 -0
  77. package/dist/knowledge/commitment-revision-migration.js +50 -0
  78. package/dist/knowledge/commitments.d.ts +192 -0
  79. package/dist/knowledge/commitments.js +386 -0
  80. package/dist/knowledge/decision-edges.d.ts +70 -0
  81. package/dist/knowledge/decision-edges.js +123 -0
  82. package/dist/{agent-graph/types.d.ts → knowledge/graph-query.d.ts} +80 -70
  83. package/dist/knowledge/graph-query.js +1585 -0
  84. package/dist/knowledge/identity.d.ts +16 -0
  85. package/dist/knowledge/identity.js +22 -0
  86. package/dist/knowledge/index.d.ts +47 -0
  87. package/dist/knowledge/index.js +90 -0
  88. package/dist/knowledge/judgment-edge.d.ts +6 -0
  89. package/dist/knowledge/judgment-edge.js +22 -0
  90. package/dist/knowledge/judgments.d.ts +118 -0
  91. package/dist/knowledge/judgments.js +802 -0
  92. package/dist/knowledge/observations.d.ts +160 -0
  93. package/dist/knowledge/observations.js +449 -0
  94. package/dist/knowledge/question-type.d.ts +34 -0
  95. package/dist/knowledge/question-type.js +70 -0
  96. package/dist/{search → knowledge}/ranker-features.js +1 -1
  97. package/dist/{search → knowledge}/search-quality.d.ts +0 -1
  98. package/dist/knowledge/search.d.ts +38 -0
  99. package/dist/knowledge/search.js +91 -0
  100. package/dist/knowledge/source-ingest.d.ts +65 -0
  101. package/dist/knowledge/source-ingest.js +174 -0
  102. package/dist/{edges/types.d.ts → knowledge/twin-edge-types.d.ts} +31 -4
  103. package/dist/{edges/types.js → knowledge/twin-edge-types.js} +13 -2
  104. package/dist/knowledge/work-dates.d.ts +49 -0
  105. package/dist/knowledge/work-dates.js +120 -0
  106. package/dist/mama-api.d.ts +114 -778
  107. package/dist/mama-api.js +313 -2461
  108. package/dist/memory/api.d.ts +264 -24
  109. package/dist/memory/api.js +1633 -843
  110. package/dist/memory/bootstrap-builder.d.ts +2 -1
  111. package/dist/memory/bootstrap-builder.js +5 -5
  112. package/dist/memory/channel-summary-state-store.d.ts +3 -2
  113. package/dist/memory/channel-summary-state-store.js +53 -51
  114. package/dist/memory/channel-summary-store.d.ts +5 -3
  115. package/dist/memory/channel-summary-store.js +3 -8
  116. package/dist/memory/dashboard-read.d.ts +46 -0
  117. package/dist/memory/dashboard-read.js +94 -0
  118. package/dist/memory/event-store.d.ts +3 -3
  119. package/dist/memory/event-store.js +3 -10
  120. package/dist/memory/finding-store.d.ts +3 -2
  121. package/dist/memory/finding-store.js +2 -7
  122. package/dist/memory/graph-read.d.ts +52 -0
  123. package/dist/memory/graph-read.js +130 -0
  124. package/dist/memory/judgment-types.d.ts +394 -0
  125. package/dist/memory/judgment-types.js +16 -0
  126. package/dist/memory/provenance-audit.d.ts +5 -2
  127. package/dist/memory/provenance-audit.js +8 -14
  128. package/dist/memory/provenance-live.d.ts +141 -0
  129. package/dist/memory/provenance-live.js +409 -0
  130. package/dist/memory/provenance-query.d.ts +5 -4
  131. package/dist/memory/provenance-query.js +21 -29
  132. package/dist/memory/provenance-resolver.d.ts +191 -0
  133. package/dist/memory/provenance-resolver.js +155 -0
  134. package/dist/memory/provenance.d.ts +1 -11
  135. package/dist/memory/provenance.js +2 -33
  136. package/dist/memory/recall-sanitize.d.ts +55 -0
  137. package/dist/memory/recall-sanitize.js +144 -0
  138. package/dist/memory/secret-filter.d.ts +32 -0
  139. package/dist/memory/secret-filter.js +126 -0
  140. package/dist/memory/truth-store.d.ts +2 -1
  141. package/dist/memory/truth-store.js +1 -4
  142. package/dist/memory/types.d.ts +74 -24
  143. package/dist/memory/types.js +75 -5
  144. package/dist/memory/write-adapters.d.ts +98 -0
  145. package/dist/memory/write-adapters.js +242 -0
  146. package/dist/operations/owner-action-effects.d.ts +53 -0
  147. package/dist/operations/owner-action-effects.js +96 -0
  148. package/dist/provenance/source-ref.d.ts +1 -1
  149. package/dist/provenance/source-ref.js +0 -2
  150. package/dist/registry/corrections.d.ts +31 -0
  151. package/dist/registry/corrections.js +332 -0
  152. package/dist/registry/record-identity.d.ts +49 -0
  153. package/dist/registry/record-identity.js +133 -0
  154. package/dist/registry/store.d.ts +101 -0
  155. package/dist/registry/store.js +395 -0
  156. package/dist/registry/types.d.ts +28 -0
  157. package/dist/registry/types.js +5 -0
  158. package/dist/relevance-scorer.js +2 -2
  159. package/dist/runtime/agent-event-bus.d.ts +50 -0
  160. package/dist/runtime/agent-event-bus.js +101 -0
  161. package/dist/runtime/drivers/claude-cli-wrapper.d.ts +152 -0
  162. package/dist/runtime/drivers/claude-cli-wrapper.js +375 -0
  163. package/dist/runtime/drivers/claude-effort.d.ts +4 -0
  164. package/dist/runtime/drivers/claude-effort.js +16 -0
  165. package/dist/runtime/drivers/cli-arg-redaction.d.ts +2 -0
  166. package/dist/runtime/drivers/cli-arg-redaction.js +18 -0
  167. package/dist/runtime/drivers/cli-secret-redaction.d.ts +17 -0
  168. package/dist/runtime/drivers/cli-secret-redaction.js +126 -0
  169. package/dist/runtime/drivers/codex-app-server-process.d.ts +277 -0
  170. package/dist/runtime/drivers/codex-app-server-process.js +2342 -0
  171. package/dist/runtime/drivers/codex-auxiliary-tools.d.ts +17 -0
  172. package/dist/runtime/drivers/codex-auxiliary-tools.js +267 -0
  173. package/dist/runtime/drivers/codex-home.d.ts +20 -0
  174. package/dist/runtime/drivers/codex-home.js +674 -0
  175. package/dist/runtime/drivers/codex-thread-registry.d.ts +63 -0
  176. package/dist/runtime/drivers/codex-thread-registry.js +433 -0
  177. package/dist/runtime/drivers/persistent-cli-adapter.d.ts +160 -0
  178. package/dist/runtime/drivers/persistent-cli-adapter.js +396 -0
  179. package/dist/runtime/drivers/persistent-cli-process.d.ts +425 -0
  180. package/dist/runtime/drivers/persistent-cli-process.js +1529 -0
  181. package/dist/runtime/drivers/types.d.ts +456 -0
  182. package/dist/runtime/drivers/types.js +110 -0
  183. package/dist/runtime/mailbox.d.ts +223 -0
  184. package/dist/runtime/mailbox.js +582 -0
  185. package/dist/runtime/model-run-store.d.ts +28 -0
  186. package/dist/{model-runs/store.js → runtime/model-run-store.js} +81 -41
  187. package/dist/{model-runs/types.d.ts → runtime/model-run-types.d.ts} +33 -4
  188. package/dist/{model-runs/types.js → runtime/model-run-types.js} +1 -1
  189. package/dist/runtime/native-effect-observer.d.ts +22 -0
  190. package/dist/runtime/native-effect-observer.js +103 -0
  191. package/dist/runtime/native-input-journal.d.ts +46 -0
  192. package/dist/runtime/native-input-journal.js +308 -0
  193. package/dist/runtime/native-prompt.d.ts +118 -0
  194. package/dist/runtime/native-prompt.js +496 -0
  195. package/dist/runtime/native-session.d.ts +10 -0
  196. package/dist/{agent-graph/index.js → runtime/native-session.js} +9 -6
  197. package/dist/runtime/native-tool-trace-observer.d.ts +5 -0
  198. package/dist/runtime/native-tool-trace-observer.js +65 -0
  199. package/dist/runtime/native-turn.d.ts +272 -0
  200. package/dist/runtime/native-turn.js +1041 -0
  201. package/dist/runtime/operations.d.ts +236 -0
  202. package/dist/runtime/operations.js +565 -0
  203. package/dist/runtime/post-tool-handler.d.ts +74 -0
  204. package/dist/runtime/post-tool-handler.js +137 -0
  205. package/dist/runtime/prompt-layers.d.ts +126 -0
  206. package/dist/runtime/prompt-layers.js +239 -0
  207. package/dist/runtime/runtime-process.d.ts +102 -0
  208. package/dist/runtime/runtime-process.js +206 -0
  209. package/dist/runtime/runtime.d.ts +278 -0
  210. package/dist/runtime/runtime.js +563 -0
  211. package/dist/runtime/session-pool.d.ts +176 -0
  212. package/dist/runtime/session-pool.js +369 -0
  213. package/dist/runtime/stimulus-payload.d.ts +5 -0
  214. package/dist/runtime/stimulus-payload.js +50 -0
  215. package/dist/runtime/subagent-bridge.d.ts +24 -0
  216. package/dist/{agent-graph/types.js → runtime/subagent-bridge.js} +1 -1
  217. package/dist/runtime/text-completion.d.ts +22 -0
  218. package/dist/{agent-situation/types.js → runtime/text-completion.js} +1 -1
  219. package/dist/runtime/token-estimator.d.ts +25 -0
  220. package/dist/runtime/token-estimator.js +75 -0
  221. package/dist/runtime/tool-trace-store.d.ts +22 -0
  222. package/dist/{model-runs → runtime}/tool-trace-store.js +46 -27
  223. package/dist/runtime/trace-summary.d.ts +5 -0
  224. package/dist/runtime/trace-summary.js +74 -0
  225. package/dist/runtime/turn-text.d.ts +23 -0
  226. package/dist/runtime/turn-text.js +41 -0
  227. package/dist/storage/database.d.ts +67 -0
  228. package/dist/storage/database.js +158 -0
  229. package/package.json +20 -34
  230. package/dist/agent-graph/alias-write.d.ts +0 -3
  231. package/dist/agent-graph/alias-write.js +0 -234
  232. package/dist/agent-graph/entity-resolve.d.ts +0 -3
  233. package/dist/agent-graph/entity-resolve.js +0 -271
  234. package/dist/agent-graph/errors.d.ts +0 -4
  235. package/dist/agent-graph/errors.js +0 -11
  236. package/dist/agent-graph/graph-query.d.ts +0 -5
  237. package/dist/agent-graph/graph-query.js +0 -360
  238. package/dist/agent-graph/index.d.ts +0 -6
  239. package/dist/agent-situation/builder.d.ts +0 -8
  240. package/dist/agent-situation/builder.js +0 -239
  241. package/dist/agent-situation/cache-key.d.ts +0 -4
  242. package/dist/agent-situation/cache-key.js +0 -64
  243. package/dist/agent-situation/index.d.ts +0 -7
  244. package/dist/agent-situation/index.js +0 -28
  245. package/dist/agent-situation/packet-store.d.ts +0 -27
  246. package/dist/agent-situation/packet-store.js +0 -228
  247. package/dist/agent-situation/ranking-policy.d.ts +0 -18
  248. package/dist/agent-situation/ranking-policy.js +0 -75
  249. package/dist/agent-situation/source-readers.d.ts +0 -52
  250. package/dist/agent-situation/source-readers.js +0 -300
  251. package/dist/agent-situation/types.d.ts +0 -195
  252. package/dist/cases/wiki-page-index.d.ts +0 -37
  253. package/dist/cases/wiki-page-index.js +0 -201
  254. package/dist/config-loader.d.ts +0 -68
  255. package/dist/config-loader.js +0 -239
  256. package/dist/connectors/event-index.d.ts +0 -24
  257. package/dist/connectors/event-index.js +0 -245
  258. package/dist/connectors/raw-query.d.ts +0 -40
  259. package/dist/connectors/raw-query.js +0 -412
  260. package/dist/connectors/types.d.ts +0 -117
  261. package/dist/connectors/types.js +0 -3
  262. package/dist/context-compile/boundary-defaults.d.ts +0 -12
  263. package/dist/context-compile/boundary-defaults.js +0 -105
  264. package/dist/context-compile/channel-grant.js +0 -66
  265. package/dist/context-compile/compiler-policy.d.ts +0 -39
  266. package/dist/context-compile/compiler-policy.js +0 -147
  267. package/dist/context-compile/compiler.d.ts +0 -18
  268. package/dist/context-compile/compiler.js +0 -404
  269. package/dist/context-compile/index.d.ts +0 -10
  270. package/dist/context-compile/index.js +0 -26
  271. package/dist/context-compile/packet-store.d.ts +0 -8
  272. package/dist/context-compile/packet-store.js +0 -239
  273. package/dist/context-compile/ref.d.ts +0 -7
  274. package/dist/context-compile/ref.js +0 -102
  275. package/dist/context-compile/source-readers.d.ts +0 -70
  276. package/dist/context-compile/source-readers.js +0 -840
  277. package/dist/context-compile/types.d.ts +0 -155
  278. package/dist/context-compile/types.js +0 -11
  279. package/dist/context-compile/visibility.d.ts +0 -21
  280. package/dist/context-compile/visibility.js +0 -224
  281. package/dist/decision-tracker.d.ts +0 -206
  282. package/dist/decision-tracker.js +0 -481
  283. package/dist/edges/ref-validation.d.ts +0 -7
  284. package/dist/edges/ref-validation.js +0 -321
  285. package/dist/edges/store.d.ts +0 -8
  286. package/dist/edges/store.js +0 -129
  287. package/dist/embedding-client.d.ts +0 -28
  288. package/dist/embedding-client.js +0 -53
  289. package/dist/embedding-server/index.d.ts +0 -67
  290. package/dist/embedding-server/index.js +0 -405
  291. package/dist/embedding-server/mobile/auth.d.ts +0 -44
  292. package/dist/embedding-server/mobile/auth.js +0 -150
  293. package/dist/embedding-server/mobile/daemon.d.ts +0 -129
  294. package/dist/embedding-server/mobile/daemon.js +0 -313
  295. package/dist/embedding-server/mobile/output-parser.d.ts +0 -115
  296. package/dist/embedding-server/mobile/output-parser.js +0 -241
  297. package/dist/embedding-server/mobile/session-api.d.ts +0 -57
  298. package/dist/embedding-server/mobile/session-api.js +0 -261
  299. package/dist/embedding-server/mobile/session-manager.d.ts +0 -138
  300. package/dist/embedding-server/mobile/session-manager.js +0 -378
  301. package/dist/embedding-server/mobile/websocket-handler.d.ts +0 -137
  302. package/dist/embedding-server/mobile/websocket-handler.js +0 -486
  303. package/dist/embeddings.d.ts +0 -68
  304. package/dist/embeddings.js +0 -244
  305. package/dist/entities/audit-metrics.d.ts +0 -68
  306. package/dist/entities/audit-metrics.js +0 -124
  307. package/dist/entities/candidate-generator.d.ts +0 -8
  308. package/dist/entities/candidate-generator.js +0 -24
  309. package/dist/entities/entity-linked-decision-counts.d.ts +0 -2
  310. package/dist/entities/entity-linked-decision-counts.js +0 -29
  311. package/dist/entities/entity-list.d.ts +0 -22
  312. package/dist/entities/entity-list.js +0 -3
  313. package/dist/entities/entity-orphan-list.d.ts +0 -17
  314. package/dist/entities/entity-orphan-list.js +0 -3
  315. package/dist/entities/entity-search.d.ts +0 -20
  316. package/dist/entities/entity-search.js +0 -3
  317. package/dist/entities/errors.d.ts +0 -55
  318. package/dist/entities/errors.js +0 -100
  319. package/dist/entities/lineage-store.d.ts +0 -28
  320. package/dist/entities/lineage-store.js +0 -204
  321. package/dist/entities/normalization.d.ts +0 -14
  322. package/dist/entities/normalization.js +0 -63
  323. package/dist/entities/policy-store.d.ts +0 -8
  324. package/dist/entities/policy-store.js +0 -75
  325. package/dist/entities/policy-types.d.ts +0 -72
  326. package/dist/entities/policy-types.js +0 -59
  327. package/dist/entities/projection.d.ts +0 -8
  328. package/dist/entities/projection.js +0 -82
  329. package/dist/entities/provenance-query.d.ts +0 -32
  330. package/dist/entities/provenance-query.js +0 -3
  331. package/dist/entities/read-identity.d.ts +0 -31
  332. package/dist/entities/read-identity.js +0 -264
  333. package/dist/entities/recall-bridge.d.ts +0 -5
  334. package/dist/entities/recall-bridge.js +0 -171
  335. package/dist/entities/resolution-engine.d.ts +0 -8
  336. package/dist/entities/resolution-engine.js +0 -3
  337. package/dist/entities/rollback-preview.d.ts +0 -35
  338. package/dist/entities/rollback-preview.js +0 -3
  339. package/dist/entities/source-locator.d.ts +0 -3
  340. package/dist/entities/source-locator.js +0 -32
  341. package/dist/entities/store.d.ts +0 -69
  342. package/dist/entities/store.js +0 -544
  343. package/dist/entities/types.d.ts +0 -166
  344. package/dist/entities/types.js +0 -30
  345. package/dist/memory/extraction-prompt.d.ts +0 -4
  346. package/dist/memory/extraction-prompt.js +0 -89
  347. package/dist/memory/scope-backfill.d.ts +0 -14
  348. package/dist/memory/scope-backfill.js +0 -3
  349. package/dist/memory/scope-store.d.ts +0 -4
  350. package/dist/memory/scope-store.js +0 -9
  351. package/dist/memory-store.d.ts +0 -87
  352. package/dist/memory-store.js +0 -78
  353. package/dist/model-runs/store.d.ts +0 -13
  354. package/dist/model-runs/tool-trace-store.d.ts +0 -8
  355. package/dist/notification-manager.d.ts +0 -7
  356. package/dist/notification-manager.js +0 -12
  357. package/dist/outcome-tracker.d.ts +0 -151
  358. package/dist/outcome-tracker.js +0 -271
  359. package/dist/query-intent.d.ts +0 -23
  360. package/dist/query-intent.js +0 -114
  361. package/dist/runtime/trusted-provenance.d.ts +0 -3
  362. package/dist/runtime/trusted-provenance.js +0 -6
  363. package/dist/search/question-type.d.ts +0 -5
  364. package/dist/search/question-type.js +0 -41
  365. package/dist/test-utils.d.ts +0 -80
  366. package/dist/test-utils.js +0 -218
  367. package/dist/tier-validator.d.ts +0 -43
  368. package/dist/tier-validator.js +0 -159
  369. package/dist/time-formatter.d.ts +0 -25
  370. package/dist/time-formatter.js +0 -93
  371. /package/dist/{search → knowledge}/feedback-store.d.ts +0 -0
  372. /package/dist/{search → knowledge}/feedback-store.js +0 -0
  373. /package/dist/{search → knowledge}/ranker-features.d.ts +0 -0
  374. /package/dist/{search → knowledge}/ranker-rescore.d.ts +0 -0
  375. /package/dist/{search → knowledge}/ranker-rescore.js +0 -0
  376. /package/dist/{search → knowledge}/ranker-trainer.d.ts +0 -0
  377. /package/dist/{search → knowledge}/ranker-trainer.js +0 -0
  378. /package/dist/{search → knowledge}/search-quality.js +0 -0
@@ -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