@jungjaehoon/mama-core 2.4.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/README.md +76 -239
  2. package/db/migrations/030-case-first-memory-substrate.sql +13 -98
  3. package/db/migrations/034-add-connector-event-scope-columns.sql +9 -13
  4. package/db/migrations/039-add-connector-event-operator-ingest-seq.sql +9 -95
  5. package/db/migrations/062-refresh-connector-event-sequences.sql +9 -113
  6. package/db/migrations/063-refresh-legacy-connector-event-updates.sql +9 -32
  7. package/db/migrations/067-add-connector-event-source-entity-id.sql +9 -13
  8. package/db/migrations/069-create-registry-nodes.sql +52 -0
  9. package/db/migrations/070-record-identity.sql +35 -0
  10. package/db/migrations/071-service-operation-origins.sql +187 -0
  11. package/db/migrations/072-observation-versions.sql +29 -0
  12. package/db/migrations/073-registry-corrections.sql +45 -0
  13. package/db/migrations/074-work-graph-ref-kinds.sql +39 -0
  14. package/db/migrations/075-agent-judgments.sql +58 -0
  15. package/db/migrations/076-scoped-checkpoint-bindings.sql +15 -0
  16. package/db/migrations/077-legacy-record-kind.sql +6 -0
  17. package/db/migrations/078-source-ingest-commands.sql +18 -0
  18. package/db/migrations/079-twin-edge-relations.sql +43 -0
  19. package/db/migrations/080-restore-duration-days.sql +7 -0
  20. package/db/migrations/081-mailbox.sql +61 -0
  21. package/db/migrations/082-commitments-row-id.sql +12 -0
  22. package/db/migrations/083-observation-is-the-evidence.sql +49 -0
  23. package/db/migrations/084-scope-kind-is-not-the-cores-to-list.sql +34 -0
  24. package/db/migrations/085-a-migration-has-a-source.sql +37 -0
  25. package/db/migrations/086-the-mailbox-is-generic.sql +110 -0
  26. package/db/migrations/087-mailbox-payload.sql +5 -0
  27. package/db/migrations/088-native-input-journal.sql +14 -0
  28. package/db/migrations/089-native-turn-receipt-lookup.sql +3 -0
  29. package/db/migrations/090-model-run-native-inputs.sql +29 -0
  30. package/db/migrations/091-native-turn-results.sql +11 -0
  31. package/db/migrations/092-restore-decision-fts.sql +34 -0
  32. package/db/migrations/093-native-turn-primary-kind.sql +14 -0
  33. package/db/migrations/094-commitment-run-provenance.sql +9 -0
  34. package/db/migrations/095-model-run-native-input-identity.sql +39 -0
  35. package/db/migrations/096-drop-connector-event-index-fts.sql +9 -0
  36. package/db/migrations/097-native-input-json-validity.sql +37 -0
  37. package/db/migrations/098-workflow-memory-kind.sql +105 -0
  38. package/dist/action-contracts.d.ts +212 -0
  39. package/dist/action-contracts.js +10 -0
  40. package/dist/api/catalog.d.ts +118 -0
  41. package/dist/api/catalog.js +1756 -0
  42. package/dist/api/dispatch.d.ts +76 -0
  43. package/dist/api/dispatch.js +372 -0
  44. package/dist/canonicalize.d.ts +2 -2
  45. package/dist/canonicalize.js +3 -3
  46. package/dist/client/client.d.ts +33 -0
  47. package/dist/client/client.js +123 -0
  48. package/dist/client/ipc.d.ts +81 -0
  49. package/dist/client/ipc.js +314 -0
  50. package/dist/db-adapter/base-adapter.d.ts +6 -66
  51. package/dist/db-adapter/base-adapter.js +6 -6
  52. package/dist/db-adapter/index.d.ts +5 -5
  53. package/dist/db-adapter/index.js +2 -5
  54. package/dist/db-adapter/node-sqlite-adapter.d.ts +85 -15
  55. package/dist/db-adapter/node-sqlite-adapter.js +1968 -570
  56. package/dist/db-manager.d.ts +53 -97
  57. package/dist/db-manager.js +121 -603
  58. package/dist/embedding/embedder.d.ts +132 -0
  59. package/dist/embedding/embedder.js +299 -0
  60. package/dist/identity/principal-repository.d.ts +2 -2
  61. package/dist/index.d.ts +43 -58
  62. package/dist/index.js +97 -145
  63. package/dist/{context-compile/channel-grant.d.ts → knowledge/access.d.ts} +12 -17
  64. package/dist/knowledge/access.js +663 -0
  65. package/dist/knowledge/case-errors.d.ts +31 -0
  66. package/dist/knowledge/case-errors.js +40 -0
  67. package/dist/{cases/search-rollup.d.ts → knowledge/case-search-rollup.d.ts} +5 -4
  68. package/dist/{cases/search-rollup.js → knowledge/case-search-rollup.js} +6 -8
  69. package/dist/{cases/store.d.ts → knowledge/case-store.d.ts} +3 -6
  70. package/dist/{cases/store.js → knowledge/case-store.js} +7 -42
  71. package/dist/{cases/timeline-range.d.ts → knowledge/case-timeline-range.d.ts} +3 -3
  72. package/dist/{cases/timeline-range.js → knowledge/case-timeline-range.js} +47 -25
  73. package/dist/{cases/types.d.ts → knowledge/case-types.d.ts} +8 -2
  74. package/dist/{cases/types.js → knowledge/case-types.js} +1 -1
  75. package/dist/knowledge/commitments.d.ts +188 -0
  76. package/dist/knowledge/commitments.js +370 -0
  77. package/dist/knowledge/decision-edges.d.ts +70 -0
  78. package/dist/knowledge/decision-edges.js +123 -0
  79. package/dist/{agent-graph/types.d.ts → knowledge/graph-query.d.ts} +80 -70
  80. package/dist/knowledge/graph-query.js +1585 -0
  81. package/dist/knowledge/identity.d.ts +16 -0
  82. package/dist/knowledge/identity.js +22 -0
  83. package/dist/knowledge/index.d.ts +47 -0
  84. package/dist/knowledge/index.js +90 -0
  85. package/dist/knowledge/judgments.d.ts +118 -0
  86. package/dist/knowledge/judgments.js +808 -0
  87. package/dist/knowledge/observations.d.ts +160 -0
  88. package/dist/knowledge/observations.js +449 -0
  89. package/dist/knowledge/question-type.d.ts +34 -0
  90. package/dist/knowledge/question-type.js +70 -0
  91. package/dist/{search → knowledge}/ranker-features.js +1 -1
  92. package/dist/{search → knowledge}/search-quality.d.ts +0 -1
  93. package/dist/knowledge/search.d.ts +38 -0
  94. package/dist/knowledge/search.js +91 -0
  95. package/dist/knowledge/source-ingest.d.ts +65 -0
  96. package/dist/knowledge/source-ingest.js +174 -0
  97. package/dist/{edges/types.d.ts → knowledge/twin-edge-types.d.ts} +31 -4
  98. package/dist/{edges/types.js → knowledge/twin-edge-types.js} +13 -2
  99. package/dist/knowledge/work-dates.d.ts +49 -0
  100. package/dist/knowledge/work-dates.js +120 -0
  101. package/dist/mama-api.d.ts +114 -778
  102. package/dist/mama-api.js +313 -2461
  103. package/dist/memory/api.d.ts +264 -24
  104. package/dist/memory/api.js +1633 -843
  105. package/dist/memory/bootstrap-builder.d.ts +2 -1
  106. package/dist/memory/bootstrap-builder.js +5 -5
  107. package/dist/memory/channel-summary-state-store.d.ts +3 -2
  108. package/dist/memory/channel-summary-state-store.js +53 -51
  109. package/dist/memory/channel-summary-store.d.ts +5 -3
  110. package/dist/memory/channel-summary-store.js +3 -8
  111. package/dist/memory/dashboard-read.d.ts +46 -0
  112. package/dist/memory/dashboard-read.js +94 -0
  113. package/dist/memory/event-store.d.ts +3 -3
  114. package/dist/memory/event-store.js +3 -10
  115. package/dist/memory/finding-store.d.ts +3 -2
  116. package/dist/memory/finding-store.js +2 -7
  117. package/dist/memory/graph-read.d.ts +52 -0
  118. package/dist/memory/graph-read.js +130 -0
  119. package/dist/memory/judgment-types.d.ts +394 -0
  120. package/dist/memory/judgment-types.js +16 -0
  121. package/dist/memory/provenance-audit.d.ts +5 -2
  122. package/dist/memory/provenance-audit.js +8 -14
  123. package/dist/memory/provenance-live.d.ts +141 -0
  124. package/dist/memory/provenance-live.js +409 -0
  125. package/dist/memory/provenance-query.d.ts +5 -4
  126. package/dist/memory/provenance-query.js +21 -29
  127. package/dist/memory/provenance-resolver.d.ts +191 -0
  128. package/dist/memory/provenance-resolver.js +155 -0
  129. package/dist/memory/provenance.d.ts +1 -11
  130. package/dist/memory/provenance.js +2 -33
  131. package/dist/memory/recall-sanitize.d.ts +55 -0
  132. package/dist/memory/recall-sanitize.js +144 -0
  133. package/dist/memory/secret-filter.d.ts +32 -0
  134. package/dist/memory/secret-filter.js +126 -0
  135. package/dist/memory/truth-store.d.ts +2 -1
  136. package/dist/memory/truth-store.js +1 -4
  137. package/dist/memory/types.d.ts +74 -24
  138. package/dist/memory/types.js +75 -5
  139. package/dist/memory/write-adapters.d.ts +98 -0
  140. package/dist/memory/write-adapters.js +242 -0
  141. package/dist/operations/owner-action-effects.d.ts +53 -0
  142. package/dist/operations/owner-action-effects.js +96 -0
  143. package/dist/provenance/source-ref.d.ts +1 -1
  144. package/dist/provenance/source-ref.js +0 -2
  145. package/dist/registry/corrections.d.ts +31 -0
  146. package/dist/registry/corrections.js +332 -0
  147. package/dist/registry/record-identity.d.ts +49 -0
  148. package/dist/registry/record-identity.js +133 -0
  149. package/dist/registry/store.d.ts +101 -0
  150. package/dist/registry/store.js +395 -0
  151. package/dist/registry/types.d.ts +28 -0
  152. package/dist/registry/types.js +5 -0
  153. package/dist/relevance-scorer.js +2 -2
  154. package/dist/runtime/agent-event-bus.d.ts +50 -0
  155. package/dist/runtime/agent-event-bus.js +101 -0
  156. package/dist/runtime/drivers/claude-cli-wrapper.d.ts +155 -0
  157. package/dist/runtime/drivers/claude-cli-wrapper.js +392 -0
  158. package/dist/runtime/drivers/cli-arg-redaction.d.ts +2 -0
  159. package/dist/runtime/drivers/cli-arg-redaction.js +18 -0
  160. package/dist/runtime/drivers/cli-secret-redaction.d.ts +17 -0
  161. package/dist/runtime/drivers/cli-secret-redaction.js +126 -0
  162. package/dist/runtime/drivers/codex-app-server-process.d.ts +277 -0
  163. package/dist/runtime/drivers/codex-app-server-process.js +2342 -0
  164. package/dist/runtime/drivers/codex-auxiliary-tools.d.ts +17 -0
  165. package/dist/runtime/drivers/codex-auxiliary-tools.js +267 -0
  166. package/dist/runtime/drivers/codex-home.d.ts +20 -0
  167. package/dist/runtime/drivers/codex-home.js +674 -0
  168. package/dist/runtime/drivers/codex-thread-registry.d.ts +63 -0
  169. package/dist/runtime/drivers/codex-thread-registry.js +433 -0
  170. package/dist/runtime/drivers/persistent-cli-adapter.d.ts +160 -0
  171. package/dist/runtime/drivers/persistent-cli-adapter.js +396 -0
  172. package/dist/runtime/drivers/persistent-cli-process.d.ts +424 -0
  173. package/dist/runtime/drivers/persistent-cli-process.js +1543 -0
  174. package/dist/runtime/drivers/types.d.ts +456 -0
  175. package/dist/runtime/drivers/types.js +110 -0
  176. package/dist/runtime/mailbox.d.ts +223 -0
  177. package/dist/runtime/mailbox.js +582 -0
  178. package/dist/runtime/model-run-store.d.ts +28 -0
  179. package/dist/{model-runs/store.js → runtime/model-run-store.js} +81 -41
  180. package/dist/{model-runs/types.d.ts → runtime/model-run-types.d.ts} +33 -4
  181. package/dist/{model-runs/types.js → runtime/model-run-types.js} +1 -1
  182. package/dist/runtime/native-effect-observer.d.ts +22 -0
  183. package/dist/runtime/native-effect-observer.js +103 -0
  184. package/dist/runtime/native-input-journal.d.ts +46 -0
  185. package/dist/runtime/native-input-journal.js +308 -0
  186. package/dist/runtime/native-prompt.d.ts +118 -0
  187. package/dist/runtime/native-prompt.js +496 -0
  188. package/dist/runtime/native-session.d.ts +10 -0
  189. package/dist/{agent-graph/index.js → runtime/native-session.js} +9 -6
  190. package/dist/runtime/native-tool-trace-observer.d.ts +5 -0
  191. package/dist/runtime/native-tool-trace-observer.js +65 -0
  192. package/dist/runtime/native-turn.d.ts +272 -0
  193. package/dist/runtime/native-turn.js +1041 -0
  194. package/dist/runtime/operations.d.ts +236 -0
  195. package/dist/runtime/operations.js +565 -0
  196. package/dist/runtime/post-tool-handler.d.ts +74 -0
  197. package/dist/runtime/post-tool-handler.js +137 -0
  198. package/dist/runtime/prompt-layers.d.ts +126 -0
  199. package/dist/runtime/prompt-layers.js +239 -0
  200. package/dist/runtime/runtime-process.d.ts +102 -0
  201. package/dist/runtime/runtime-process.js +206 -0
  202. package/dist/runtime/runtime.d.ts +278 -0
  203. package/dist/runtime/runtime.js +563 -0
  204. package/dist/runtime/session-pool.d.ts +176 -0
  205. package/dist/runtime/session-pool.js +369 -0
  206. package/dist/runtime/stimulus-payload.d.ts +5 -0
  207. package/dist/runtime/stimulus-payload.js +50 -0
  208. package/dist/runtime/subagent-bridge.d.ts +24 -0
  209. package/dist/{agent-graph/types.js → runtime/subagent-bridge.js} +1 -1
  210. package/dist/runtime/text-completion.d.ts +22 -0
  211. package/dist/{agent-situation/types.js → runtime/text-completion.js} +1 -1
  212. package/dist/runtime/token-estimator.d.ts +25 -0
  213. package/dist/runtime/token-estimator.js +75 -0
  214. package/dist/runtime/tool-trace-store.d.ts +22 -0
  215. package/dist/{model-runs → runtime}/tool-trace-store.js +46 -27
  216. package/dist/runtime/trace-summary.d.ts +5 -0
  217. package/dist/runtime/trace-summary.js +74 -0
  218. package/dist/runtime/turn-text.d.ts +23 -0
  219. package/dist/runtime/turn-text.js +41 -0
  220. package/dist/storage/database.d.ts +67 -0
  221. package/dist/storage/database.js +158 -0
  222. package/package.json +20 -34
  223. package/dist/agent-graph/alias-write.d.ts +0 -3
  224. package/dist/agent-graph/alias-write.js +0 -234
  225. package/dist/agent-graph/entity-resolve.d.ts +0 -3
  226. package/dist/agent-graph/entity-resolve.js +0 -271
  227. package/dist/agent-graph/errors.d.ts +0 -4
  228. package/dist/agent-graph/errors.js +0 -11
  229. package/dist/agent-graph/graph-query.d.ts +0 -5
  230. package/dist/agent-graph/graph-query.js +0 -360
  231. package/dist/agent-graph/index.d.ts +0 -6
  232. package/dist/agent-situation/builder.d.ts +0 -8
  233. package/dist/agent-situation/builder.js +0 -239
  234. package/dist/agent-situation/cache-key.d.ts +0 -4
  235. package/dist/agent-situation/cache-key.js +0 -64
  236. package/dist/agent-situation/index.d.ts +0 -7
  237. package/dist/agent-situation/index.js +0 -28
  238. package/dist/agent-situation/packet-store.d.ts +0 -27
  239. package/dist/agent-situation/packet-store.js +0 -228
  240. package/dist/agent-situation/ranking-policy.d.ts +0 -18
  241. package/dist/agent-situation/ranking-policy.js +0 -75
  242. package/dist/agent-situation/source-readers.d.ts +0 -52
  243. package/dist/agent-situation/source-readers.js +0 -300
  244. package/dist/agent-situation/types.d.ts +0 -195
  245. package/dist/cases/wiki-page-index.d.ts +0 -37
  246. package/dist/cases/wiki-page-index.js +0 -201
  247. package/dist/config-loader.d.ts +0 -68
  248. package/dist/config-loader.js +0 -239
  249. package/dist/connectors/event-index.d.ts +0 -24
  250. package/dist/connectors/event-index.js +0 -245
  251. package/dist/connectors/raw-query.d.ts +0 -40
  252. package/dist/connectors/raw-query.js +0 -412
  253. package/dist/connectors/types.d.ts +0 -117
  254. package/dist/connectors/types.js +0 -3
  255. package/dist/context-compile/boundary-defaults.d.ts +0 -12
  256. package/dist/context-compile/boundary-defaults.js +0 -105
  257. package/dist/context-compile/channel-grant.js +0 -66
  258. package/dist/context-compile/compiler-policy.d.ts +0 -39
  259. package/dist/context-compile/compiler-policy.js +0 -147
  260. package/dist/context-compile/compiler.d.ts +0 -18
  261. package/dist/context-compile/compiler.js +0 -404
  262. package/dist/context-compile/index.d.ts +0 -10
  263. package/dist/context-compile/index.js +0 -26
  264. package/dist/context-compile/packet-store.d.ts +0 -8
  265. package/dist/context-compile/packet-store.js +0 -239
  266. package/dist/context-compile/ref.d.ts +0 -7
  267. package/dist/context-compile/ref.js +0 -102
  268. package/dist/context-compile/source-readers.d.ts +0 -70
  269. package/dist/context-compile/source-readers.js +0 -840
  270. package/dist/context-compile/types.d.ts +0 -155
  271. package/dist/context-compile/types.js +0 -11
  272. package/dist/context-compile/visibility.d.ts +0 -21
  273. package/dist/context-compile/visibility.js +0 -224
  274. package/dist/decision-tracker.d.ts +0 -206
  275. package/dist/decision-tracker.js +0 -481
  276. package/dist/edges/ref-validation.d.ts +0 -7
  277. package/dist/edges/ref-validation.js +0 -321
  278. package/dist/edges/store.d.ts +0 -8
  279. package/dist/edges/store.js +0 -129
  280. package/dist/embedding-client.d.ts +0 -28
  281. package/dist/embedding-client.js +0 -53
  282. package/dist/embedding-server/index.d.ts +0 -67
  283. package/dist/embedding-server/index.js +0 -405
  284. package/dist/embedding-server/mobile/auth.d.ts +0 -44
  285. package/dist/embedding-server/mobile/auth.js +0 -150
  286. package/dist/embedding-server/mobile/daemon.d.ts +0 -129
  287. package/dist/embedding-server/mobile/daemon.js +0 -313
  288. package/dist/embedding-server/mobile/output-parser.d.ts +0 -115
  289. package/dist/embedding-server/mobile/output-parser.js +0 -241
  290. package/dist/embedding-server/mobile/session-api.d.ts +0 -57
  291. package/dist/embedding-server/mobile/session-api.js +0 -261
  292. package/dist/embedding-server/mobile/session-manager.d.ts +0 -138
  293. package/dist/embedding-server/mobile/session-manager.js +0 -378
  294. package/dist/embedding-server/mobile/websocket-handler.d.ts +0 -137
  295. package/dist/embedding-server/mobile/websocket-handler.js +0 -486
  296. package/dist/embeddings.d.ts +0 -68
  297. package/dist/embeddings.js +0 -244
  298. package/dist/entities/audit-metrics.d.ts +0 -68
  299. package/dist/entities/audit-metrics.js +0 -124
  300. package/dist/entities/candidate-generator.d.ts +0 -8
  301. package/dist/entities/candidate-generator.js +0 -24
  302. package/dist/entities/entity-linked-decision-counts.d.ts +0 -2
  303. package/dist/entities/entity-linked-decision-counts.js +0 -29
  304. package/dist/entities/entity-list.d.ts +0 -22
  305. package/dist/entities/entity-list.js +0 -3
  306. package/dist/entities/entity-orphan-list.d.ts +0 -17
  307. package/dist/entities/entity-orphan-list.js +0 -3
  308. package/dist/entities/entity-search.d.ts +0 -20
  309. package/dist/entities/entity-search.js +0 -3
  310. package/dist/entities/errors.d.ts +0 -55
  311. package/dist/entities/errors.js +0 -100
  312. package/dist/entities/lineage-store.d.ts +0 -28
  313. package/dist/entities/lineage-store.js +0 -204
  314. package/dist/entities/normalization.d.ts +0 -14
  315. package/dist/entities/normalization.js +0 -63
  316. package/dist/entities/policy-store.d.ts +0 -8
  317. package/dist/entities/policy-store.js +0 -75
  318. package/dist/entities/policy-types.d.ts +0 -72
  319. package/dist/entities/policy-types.js +0 -59
  320. package/dist/entities/projection.d.ts +0 -8
  321. package/dist/entities/projection.js +0 -82
  322. package/dist/entities/provenance-query.d.ts +0 -32
  323. package/dist/entities/provenance-query.js +0 -3
  324. package/dist/entities/read-identity.d.ts +0 -31
  325. package/dist/entities/read-identity.js +0 -264
  326. package/dist/entities/recall-bridge.d.ts +0 -5
  327. package/dist/entities/recall-bridge.js +0 -171
  328. package/dist/entities/resolution-engine.d.ts +0 -8
  329. package/dist/entities/resolution-engine.js +0 -3
  330. package/dist/entities/rollback-preview.d.ts +0 -35
  331. package/dist/entities/rollback-preview.js +0 -3
  332. package/dist/entities/source-locator.d.ts +0 -3
  333. package/dist/entities/source-locator.js +0 -32
  334. package/dist/entities/store.d.ts +0 -69
  335. package/dist/entities/store.js +0 -544
  336. package/dist/entities/types.d.ts +0 -166
  337. package/dist/entities/types.js +0 -30
  338. package/dist/memory/extraction-prompt.d.ts +0 -4
  339. package/dist/memory/extraction-prompt.js +0 -89
  340. package/dist/memory/scope-backfill.d.ts +0 -14
  341. package/dist/memory/scope-backfill.js +0 -3
  342. package/dist/memory/scope-store.d.ts +0 -4
  343. package/dist/memory/scope-store.js +0 -9
  344. package/dist/memory-store.d.ts +0 -87
  345. package/dist/memory-store.js +0 -78
  346. package/dist/model-runs/store.d.ts +0 -13
  347. package/dist/model-runs/tool-trace-store.d.ts +0 -8
  348. package/dist/notification-manager.d.ts +0 -7
  349. package/dist/notification-manager.js +0 -12
  350. package/dist/outcome-tracker.d.ts +0 -151
  351. package/dist/outcome-tracker.js +0 -271
  352. package/dist/query-intent.d.ts +0 -23
  353. package/dist/query-intent.js +0 -114
  354. package/dist/runtime/trusted-provenance.d.ts +0 -3
  355. package/dist/runtime/trusted-provenance.js +0 -6
  356. package/dist/search/question-type.d.ts +0 -5
  357. package/dist/search/question-type.js +0 -41
  358. package/dist/test-utils.d.ts +0 -80
  359. package/dist/test-utils.js +0 -218
  360. package/dist/tier-validator.d.ts +0 -43
  361. package/dist/tier-validator.js +0 -159
  362. package/dist/time-formatter.d.ts +0 -25
  363. package/dist/time-formatter.js +0 -93
  364. /package/dist/{search → knowledge}/feedback-store.d.ts +0 -0
  365. /package/dist/{search → knowledge}/feedback-store.js +0 -0
  366. /package/dist/{search → knowledge}/ranker-features.d.ts +0 -0
  367. /package/dist/{search → knowledge}/ranker-rescore.d.ts +0 -0
  368. /package/dist/{search → knowledge}/ranker-rescore.js +0 -0
  369. /package/dist/{search → knowledge}/ranker-trainer.d.ts +0 -0
  370. /package/dist/{search → knowledge}/ranker-trainer.js +0 -0
  371. /package/dist/{search → knowledge}/search-quality.js +0 -0
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.listVisibleEdgeCandidates = exports.listVisibleCaseCandidates = exports.listVisibleMemoryCandidates = exports.listVisibleRawCandidates = void 0;
18
- __exportStar(require("./types.js"), exports);
19
- __exportStar(require("./cache-key.js"), exports);
20
- __exportStar(require("./ranking-policy.js"), exports);
21
- var source_readers_js_1 = require("./source-readers.js");
22
- Object.defineProperty(exports, "listVisibleRawCandidates", { enumerable: true, get: function () { return source_readers_js_1.listVisibleRawCandidates; } });
23
- Object.defineProperty(exports, "listVisibleMemoryCandidates", { enumerable: true, get: function () { return source_readers_js_1.listVisibleMemoryCandidates; } });
24
- Object.defineProperty(exports, "listVisibleCaseCandidates", { enumerable: true, get: function () { return source_readers_js_1.listVisibleCaseCandidates; } });
25
- Object.defineProperty(exports, "listVisibleEdgeCandidates", { enumerable: true, get: function () { return source_readers_js_1.listVisibleEdgeCandidates; } });
26
- __exportStar(require("./builder.js"), exports);
27
- __exportStar(require("./packet-store.js"), exports);
28
- //# sourceMappingURL=index.js.map
@@ -1,27 +0,0 @@
1
- import type { DatabaseAdapter } from '../db-manager.js';
2
- import type { AgentSituationLease, AgentSituationPacketRecord } from './types.js';
3
- type PacketStoreAdapter = Pick<DatabaseAdapter, 'prepare' | 'transaction'>;
4
- export interface AcquireAgentSituationLeaseInput {
5
- cacheKey: string;
6
- rankingPolicyVersion: string;
7
- leaseOwner: string;
8
- nowMs: number;
9
- leaseSeconds: number;
10
- }
11
- export interface AgentSituationRefreshInput {
12
- cacheKey: string;
13
- rankingPolicyVersion: string;
14
- nowMs: number;
15
- leaseOwner: string;
16
- leaseSeconds?: number;
17
- pollIntervalMs?: number;
18
- maxPollMs?: number;
19
- refresh?: boolean;
20
- }
21
- export declare function getFreshAgentSituationPacket(adapter: PacketStoreAdapter, cacheKey: string, rankingPolicyVersion: string, nowMs: number): AgentSituationPacketRecord | null;
22
- export declare function insertAgentSituationPacket(adapter: PacketStoreAdapter, packet: AgentSituationPacketRecord): AgentSituationPacketRecord;
23
- export declare function acquireAgentSituationLease(adapter: PacketStoreAdapter, input: AcquireAgentSituationLeaseInput): AgentSituationLease | null;
24
- export declare function releaseAgentSituationLease(adapter: PacketStoreAdapter, cacheKey: string, leaseOwner: string): void;
25
- export declare function getOrRefreshAgentSituationPacket(adapter: PacketStoreAdapter, input: AgentSituationRefreshInput, builder: () => Promise<AgentSituationPacketRecord> | AgentSituationPacketRecord): Promise<AgentSituationPacketRecord>;
26
- export {};
27
- //# sourceMappingURL=packet-store.d.ts.map
@@ -1,228 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFreshAgentSituationPacket = getFreshAgentSituationPacket;
4
- exports.insertAgentSituationPacket = insertAgentSituationPacket;
5
- exports.acquireAgentSituationLease = acquireAgentSituationLease;
6
- exports.releaseAgentSituationLease = releaseAgentSituationLease;
7
- exports.getOrRefreshAgentSituationPacket = getOrRefreshAgentSituationPacket;
8
- const inProcessRefreshesByAdapter = new WeakMap();
9
- function parseJson(row, field) {
10
- const value = row[field];
11
- if (typeof value !== 'string') {
12
- throw new Error(`Invalid agent situation packet JSON field ${field}: expected string`);
13
- }
14
- try {
15
- return JSON.parse(value);
16
- }
17
- catch (error) {
18
- const message = error instanceof Error ? error.message : String(error);
19
- throw new Error(`Invalid agent situation packet JSON field ${field}: ${message}`);
20
- }
21
- }
22
- function inProcessRefreshesForAdapter(adapter) {
23
- const existing = inProcessRefreshesByAdapter.get(adapter);
24
- if (existing) {
25
- return existing;
26
- }
27
- const scoped = new Map();
28
- inProcessRefreshesByAdapter.set(adapter, scoped);
29
- return scoped;
30
- }
31
- function mapPacketRow(row) {
32
- return {
33
- packet_id: String(row.packet_id),
34
- cache_key: String(row.cache_key),
35
- scope_json: String(row.scope_json),
36
- scope: parseJson(row, 'scope_json'),
37
- scope_hash: String(row.scope_hash),
38
- range_start_ms: Number(row.range_start_ms),
39
- range_end_ms: Number(row.range_end_ms),
40
- focus_json: String(row.focus_json),
41
- focus: parseJson(row, 'focus_json'),
42
- envelope_hash: String(row.envelope_hash),
43
- envelope_effective_filters_json: String(row.envelope_effective_filters_json),
44
- envelope_effective_filters: parseJson(row, 'envelope_effective_filters_json'),
45
- envelope_effective_filters_hash: String(row.envelope_effective_filters_hash),
46
- ranking_policy_version: String(row.ranking_policy_version),
47
- generated_at: Number(row.generated_at),
48
- expires_at: Number(row.expires_at),
49
- ttl_seconds: Number(row.ttl_seconds),
50
- freshness_json: String(row.freshness_json),
51
- freshness: parseJson(row, 'freshness_json'),
52
- source_coverage_json: String(row.source_coverage_json),
53
- source_coverage: parseJson(row, 'source_coverage_json'),
54
- briefing_json: String(row.briefing_json),
55
- briefing: parseJson(row, 'briefing_json'),
56
- ranked_items_json: String(row.ranked_items_json),
57
- ranked_items: parseJson(row, 'ranked_items_json'),
58
- top_memory_refs_json: String(row.top_memory_refs_json),
59
- top_memory_refs: parseJson(row, 'top_memory_refs_json'),
60
- pending_human_questions_json: String(row.pending_human_questions_json),
61
- pending_human_questions: parseJson(row, 'pending_human_questions_json'),
62
- entity_clusters_json: String(row.entity_clusters_json),
63
- entity_clusters: parseJson(row, 'entity_clusters_json'),
64
- recommended_next_tools_json: String(row.recommended_next_tools_json),
65
- recommended_next_tools: parseJson(row, 'recommended_next_tools_json'),
66
- generated_from_slice_ids_json: String(row.generated_from_slice_ids_json),
67
- generated_from_slice_ids: parseJson(row, 'generated_from_slice_ids_json'),
68
- caveats_json: String(row.caveats_json),
69
- caveats: parseJson(row, 'caveats_json'),
70
- agent_id: String(row.agent_id),
71
- model_run_id: String(row.model_run_id),
72
- input_snapshot_ref: String(row.input_snapshot_ref),
73
- source_refs_json: String(row.source_refs_json),
74
- source_refs: parseJson(row, 'source_refs_json'),
75
- tenant_id: String(row.tenant_id),
76
- project_id: String(row.project_id),
77
- memory_scope_kind: String(row.memory_scope_kind),
78
- memory_scope_id: String(row.memory_scope_id),
79
- created_at: Number(row.created_at),
80
- };
81
- }
82
- function isDuplicateLeaseError(error) {
83
- if (!(error instanceof Error)) {
84
- return false;
85
- }
86
- return /UNIQUE constraint failed: agent_situation_refresh_leases\.cache_key|PRIMARY KEY constraint failed|SQLITE_CONSTRAINT_(PRIMARYKEY|UNIQUE)/i.test(error.message);
87
- }
88
- function mapLeaseRow(row) {
89
- return {
90
- cache_key: String(row.cache_key),
91
- ranking_policy_version: String(row.ranking_policy_version),
92
- lease_owner: String(row.lease_owner),
93
- lease_expires_at: Number(row.lease_expires_at),
94
- created_at: Number(row.created_at),
95
- };
96
- }
97
- function getFreshAgentSituationPacket(adapter, cacheKey, rankingPolicyVersion, nowMs) {
98
- const row = adapter
99
- .prepare(`
100
- SELECT *
101
- FROM agent_situation_packets
102
- WHERE cache_key = ?
103
- AND ranking_policy_version = ?
104
- AND expires_at > ?
105
- ORDER BY expires_at DESC, generated_at DESC
106
- LIMIT 1
107
- `)
108
- .get(cacheKey, rankingPolicyVersion, nowMs);
109
- return row ? mapPacketRow(row) : null;
110
- }
111
- function insertAgentSituationPacket(adapter, packet) {
112
- adapter
113
- .prepare(`
114
- INSERT INTO agent_situation_packets (
115
- packet_id, cache_key, scope_json, scope_hash, range_start_ms, range_end_ms,
116
- focus_json, envelope_hash, envelope_effective_filters_json,
117
- envelope_effective_filters_hash, ranking_policy_version, generated_at, expires_at,
118
- ttl_seconds, freshness_json, source_coverage_json, briefing_json, ranked_items_json,
119
- top_memory_refs_json, pending_human_questions_json, entity_clusters_json,
120
- recommended_next_tools_json, generated_from_slice_ids_json, caveats_json,
121
- agent_id, model_run_id, input_snapshot_ref, source_refs_json, tenant_id, project_id,
122
- memory_scope_kind, memory_scope_id, created_at
123
- )
124
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
125
- `)
126
- .run(packet.packet_id, packet.cache_key, packet.scope_json, packet.scope_hash, packet.range_start_ms, packet.range_end_ms, packet.focus_json, packet.envelope_hash, packet.envelope_effective_filters_json, packet.envelope_effective_filters_hash, packet.ranking_policy_version, packet.generated_at, packet.expires_at, packet.ttl_seconds, packet.freshness_json, packet.source_coverage_json, packet.briefing_json, packet.ranked_items_json, packet.top_memory_refs_json, packet.pending_human_questions_json, packet.entity_clusters_json, packet.recommended_next_tools_json, packet.generated_from_slice_ids_json, packet.caveats_json, packet.agent_id, packet.model_run_id, packet.input_snapshot_ref, packet.source_refs_json, packet.tenant_id, packet.project_id, packet.memory_scope_kind, packet.memory_scope_id, packet.created_at);
127
- const inserted = adapter
128
- .prepare('SELECT * FROM agent_situation_packets WHERE packet_id = ?')
129
- .get(packet.packet_id);
130
- if (!inserted) {
131
- throw new Error(`Agent situation packet insert failed: ${packet.packet_id}`);
132
- }
133
- return mapPacketRow(inserted);
134
- }
135
- function acquireAgentSituationLease(adapter, input) {
136
- adapter
137
- .prepare('DELETE FROM agent_situation_refresh_leases WHERE lease_expires_at <= ?')
138
- .run(input.nowMs);
139
- try {
140
- adapter
141
- .prepare(`
142
- INSERT INTO agent_situation_refresh_leases (
143
- cache_key, ranking_policy_version, lease_owner, lease_expires_at, created_at
144
- )
145
- VALUES (?, ?, ?, ?, ?)
146
- `)
147
- .run(input.cacheKey, input.rankingPolicyVersion, input.leaseOwner, input.nowMs + input.leaseSeconds * 1000, input.nowMs);
148
- }
149
- catch (error) {
150
- if (isDuplicateLeaseError(error)) {
151
- return null;
152
- }
153
- throw error;
154
- }
155
- const row = adapter
156
- .prepare('SELECT * FROM agent_situation_refresh_leases WHERE cache_key = ?')
157
- .get(input.cacheKey);
158
- return row ? mapLeaseRow(row) : null;
159
- }
160
- function releaseAgentSituationLease(adapter, cacheKey, leaseOwner) {
161
- adapter
162
- .prepare('DELETE FROM agent_situation_refresh_leases WHERE cache_key = ? AND lease_owner = ?')
163
- .run(cacheKey, leaseOwner);
164
- }
165
- function delay(ms) {
166
- return new Promise((resolve) => setTimeout(resolve, ms));
167
- }
168
- async function waitForFreshPacket(adapter, input) {
169
- const pollIntervalMs = input.pollIntervalMs ?? 50;
170
- const maxPollMs = input.maxPollMs ?? 30_000;
171
- const started = Date.now();
172
- while (Date.now() - started < maxPollMs) {
173
- const fresh = getFreshAgentSituationPacket(adapter, input.cacheKey, input.rankingPolicyVersion, input.nowMs);
174
- if (fresh) {
175
- return fresh;
176
- }
177
- await delay(pollIntervalMs);
178
- }
179
- return null;
180
- }
181
- async function getOrRefreshAgentSituationPacket(adapter, input, builder) {
182
- if (!input.refresh) {
183
- const fresh = getFreshAgentSituationPacket(adapter, input.cacheKey, input.rankingPolicyVersion, input.nowMs);
184
- if (fresh) {
185
- return fresh;
186
- }
187
- }
188
- const refreshes = inProcessRefreshesForAdapter(adapter);
189
- const key = `${input.cacheKey}:${input.rankingPolicyVersion}`;
190
- const existing = refreshes.get(key);
191
- if (existing) {
192
- return existing;
193
- }
194
- const task = (async () => {
195
- const lease = acquireAgentSituationLease(adapter, {
196
- cacheKey: input.cacheKey,
197
- rankingPolicyVersion: input.rankingPolicyVersion,
198
- leaseOwner: input.leaseOwner,
199
- nowMs: input.nowMs,
200
- leaseSeconds: input.leaseSeconds ?? 30,
201
- });
202
- if (!lease) {
203
- const fresh = await waitForFreshPacket(adapter, input);
204
- if (fresh) {
205
- return fresh;
206
- }
207
- throw new Error(`Timed out waiting for agent situation refresh lease for cache key ${input.cacheKey} and ranking policy ${input.rankingPolicyVersion}`);
208
- }
209
- try {
210
- const built = await builder();
211
- return insertAgentSituationPacket(adapter, built);
212
- }
213
- finally {
214
- releaseAgentSituationLease(adapter, input.cacheKey, input.leaseOwner);
215
- }
216
- })();
217
- refreshes.set(key, task);
218
- try {
219
- return await task;
220
- }
221
- finally {
222
- refreshes.delete(key);
223
- if (refreshes.size === 0) {
224
- inProcessRefreshesByAdapter.delete(adapter);
225
- }
226
- }
227
- }
228
- //# sourceMappingURL=packet-store.js.map
@@ -1,18 +0,0 @@
1
- import type { AgentSituationCandidate, SituationScore } from './types.js';
2
- export declare const AGENT_SITUATION_V0_POLICY_VERSION = "agent_situation.v0";
3
- export declare const AGENT_SITUATION_V0_WEIGHTS: {
4
- readonly urgency: 0.35;
5
- readonly confidence_gap: 0.2;
6
- readonly debate_edge: 0.2;
7
- readonly source_freshness: 0.2;
8
- readonly cross_channel_signal: 0.15;
9
- readonly pending_human_question: 0.1;
10
- readonly open_question_urgency_boost: 0.2;
11
- };
12
- export interface AgentSituationRankingPolicy {
13
- version: string;
14
- weights: typeof AGENT_SITUATION_V0_WEIGHTS;
15
- }
16
- export declare function getAgentSituationRankingPolicy(version?: string): AgentSituationRankingPolicy;
17
- export declare function scoreAgentSituationCandidate(candidate: AgentSituationCandidate, policy: AgentSituationRankingPolicy): SituationScore;
18
- //# sourceMappingURL=ranking-policy.d.ts.map
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AGENT_SITUATION_V0_WEIGHTS = exports.AGENT_SITUATION_V0_POLICY_VERSION = void 0;
4
- exports.getAgentSituationRankingPolicy = getAgentSituationRankingPolicy;
5
- exports.scoreAgentSituationCandidate = scoreAgentSituationCandidate;
6
- exports.AGENT_SITUATION_V0_POLICY_VERSION = 'agent_situation.v0';
7
- exports.AGENT_SITUATION_V0_WEIGHTS = {
8
- urgency: 0.35,
9
- confidence_gap: 0.2,
10
- debate_edge: 0.2,
11
- source_freshness: 0.2,
12
- cross_channel_signal: 0.15,
13
- pending_human_question: 0.1,
14
- open_question_urgency_boost: 0.2,
15
- };
16
- const V0_POLICY = {
17
- version: exports.AGENT_SITUATION_V0_POLICY_VERSION,
18
- weights: exports.AGENT_SITUATION_V0_WEIGHTS,
19
- };
20
- function textHasUrgency(candidate) {
21
- const text = `${candidate.title} ${candidate.summary}`.toLowerCase();
22
- return /\b(blocked|urgent|risk|deploy|release|needs?|review|failed|failing)\b/.test(text);
23
- }
24
- function freshnessScore(candidate) {
25
- if (!Number.isFinite(candidate.timestamp_ms) || candidate.timestamp_ms <= 0) {
26
- return 0;
27
- }
28
- const ageMs = Math.max(0, Date.now() - candidate.timestamp_ms);
29
- const sevenDaysMs = 7 * 24 * 60 * 60 * 1000;
30
- return Math.max(0, 1 - Math.min(ageMs, sevenDaysMs) / sevenDaysMs);
31
- }
32
- function getAgentSituationRankingPolicy(version = exports.AGENT_SITUATION_V0_POLICY_VERSION) {
33
- if (version !== exports.AGENT_SITUATION_V0_POLICY_VERSION) {
34
- throw new Error(`Unknown agent situation ranking policy: ${version}`);
35
- }
36
- return V0_POLICY;
37
- }
38
- function scoreAgentSituationCandidate(candidate, policy) {
39
- const reasons = [];
40
- const caveats = [];
41
- let score = 0;
42
- if (textHasUrgency(candidate)) {
43
- score += policy.weights.urgency;
44
- reasons.push('urgent_visible_signal');
45
- }
46
- const confidence = typeof candidate.confidence === 'number' ? candidate.confidence : 1;
47
- if (confidence < 0.6) {
48
- score += policy.weights.confidence_gap;
49
- reasons.push('low_confidence_memory');
50
- caveats.push('low_confidence_visible_memory');
51
- }
52
- if (candidate.has_debate_edge) {
53
- score += policy.weights.debate_edge;
54
- reasons.push('debated_visible_memory');
55
- }
56
- const freshness = freshnessScore(candidate);
57
- if (freshness > 0) {
58
- score += freshness * policy.weights.source_freshness;
59
- reasons.push('recent_visible_source');
60
- }
61
- if (candidate.connector && candidate.channel_id) {
62
- score += policy.weights.cross_channel_signal / 2;
63
- reasons.push('visible_connector_context');
64
- }
65
- if (candidate.is_open_question) {
66
- score += policy.weights.pending_human_question + policy.weights.open_question_urgency_boost;
67
- reasons.push('pending_open_question');
68
- }
69
- return {
70
- score: Number(score.toFixed(6)),
71
- reasons: [...new Set(reasons)],
72
- caveats: [...new Set(caveats)],
73
- };
74
- }
75
- //# sourceMappingURL=ranking-policy.js.map
@@ -1,52 +0,0 @@
1
- import type { DatabaseAdapter } from '../db-manager.js';
2
- import type { AgentSituationCandidate, AgentSituationEffectiveFilters, SituationRef } from './types.js';
3
- type SituationReaderAdapter = Pick<DatabaseAdapter, 'prepare'>;
4
- export interface AgentSituationSourceReadInput {
5
- effective_filters: AgentSituationEffectiveFilters;
6
- range_start_ms: number;
7
- range_end_ms: number;
8
- limit: number;
9
- }
10
- export interface VisibleRawCandidate extends AgentSituationCandidate {
11
- ref: {
12
- kind: 'raw';
13
- id: string;
14
- };
15
- connector: string;
16
- channel_id: string | null;
17
- content: string;
18
- }
19
- export interface VisibleMemoryCandidate extends AgentSituationCandidate {
20
- ref: {
21
- kind: 'memory';
22
- id: string;
23
- };
24
- topic: string;
25
- }
26
- export interface VisibleCaseCandidate extends AgentSituationCandidate {
27
- ref: {
28
- kind: 'case';
29
- id: string;
30
- };
31
- }
32
- export interface VisibleEdgeCandidate extends AgentSituationCandidate {
33
- ref: {
34
- kind: 'edge';
35
- id: string;
36
- };
37
- subject_ref: SituationRef;
38
- object_ref: SituationRef;
39
- }
40
- export interface VisibleAgentSituationSources {
41
- raw: VisibleRawCandidate[];
42
- memories: VisibleMemoryCandidate[];
43
- cases: VisibleCaseCandidate[];
44
- edges: VisibleEdgeCandidate[];
45
- }
46
- export declare function listVisibleRawCandidates(adapter: SituationReaderAdapter, input: AgentSituationSourceReadInput): VisibleRawCandidate[];
47
- export declare function listVisibleMemoryCandidates(adapter: SituationReaderAdapter, input: AgentSituationSourceReadInput): VisibleMemoryCandidate[];
48
- export declare function listVisibleCaseCandidates(adapter: SituationReaderAdapter, input: AgentSituationSourceReadInput): VisibleCaseCandidate[];
49
- export declare function listVisibleEdgeCandidates(adapter: SituationReaderAdapter, input: AgentSituationSourceReadInput, visibleRefs: SituationRef[]): VisibleEdgeCandidate[];
50
- export declare function listVisibleAgentSituationSources(adapter: SituationReaderAdapter, input: AgentSituationSourceReadInput): VisibleAgentSituationSources;
51
- export {};
52
- //# sourceMappingURL=source-readers.d.ts.map