@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,155 +0,0 @@
1
- import type { MemoryScopeRef } from '../memory/types.js';
2
- export declare const CONTEXT_REF_KINDS: readonly ["memory", "raw", "entity", "case"];
3
- export type ContextRefKind = (typeof CONTEXT_REF_KINDS)[number];
4
- export declare const UNSUPPORTED_CONTEXT_REF_KINDS: readonly ["decision", "wiki_page", "context_packet", "report"];
5
- export type UnsupportedContextRefKind = (typeof UNSUPPORTED_CONTEXT_REF_KINDS)[number];
6
- export type ContextRef = {
7
- kind: 'memory';
8
- id: string;
9
- } | {
10
- kind: 'raw';
11
- raw_id: string;
12
- connector: string;
13
- source_id?: string;
14
- channel_id?: string | null;
15
- } | {
16
- kind: 'entity';
17
- id: string;
18
- } | {
19
- kind: 'case';
20
- id: string;
21
- };
22
- export interface ContextRange {
23
- start_ms?: number;
24
- end_ms?: number;
25
- }
26
- export interface ContextProjectRef {
27
- kind: 'project';
28
- id: string;
29
- }
30
- export interface ContextCompileInput {
31
- task: string;
32
- scopes?: MemoryScopeRef[];
33
- seed_refs?: ContextRef[];
34
- connectors?: string[];
35
- project_refs?: ContextProjectRef[];
36
- tenant_id?: string | null;
37
- range?: ContextRange;
38
- as_of?: string | number | null;
39
- limit?: number;
40
- max_tool_calls?: number;
41
- max_ms?: number;
42
- max_tokens?: number;
43
- strictness?: 'recall' | 'balanced' | 'strict' | 'low' | 'medium' | 'high';
44
- }
45
- export interface ContextBoundary {
46
- scopes?: MemoryScopeRef[];
47
- connectors?: string[];
48
- project_refs?: ContextProjectRef[];
49
- tenant_id?: string | null;
50
- as_of?: string | number | null;
51
- range?: ContextRange;
52
- /**
53
- * Which channels of each connector may be read, keyed by connector.
54
- *
55
- * When present this DECIDES raw visibility, and the scope/project/tenant clauses are not
56
- * applied to raw rows. That is a deliberate replacement, not a relaxation, and the reason
57
- * is measurable: on a live index of 30,671 events, `memory_scope_id` is populated on 37%
58
- * of rows in three mutually incompatible namespaces, and 63% carry no scope at all - so a
59
- * caller that names any specific scope loses exactly the two thirds of the corpus that
60
- * were never labelled. A filter that hides most of the data from anyone precise enough to
61
- * ask a narrow question is not a privacy boundary; it is a leak of a different kind, the
62
- * kind where the system quietly answers from nothing.
63
- *
64
- * The grant is (connector, channel) because that is what the owner actually configures
65
- * and what the connector actually emits. The caller computes it - this module enforces
66
- * what it is given and never widens it.
67
- */
68
- channels?: Record<string, readonly string[]>;
69
- }
70
- export interface CanonicalContextScopes {
71
- scopes: MemoryScopeRef[];
72
- scopeJson: string;
73
- scopeHash: string;
74
- }
75
- export interface ContextVisibility {
76
- scopes: MemoryScopeRef[];
77
- scope_json: string;
78
- scope_hash: string;
79
- connectors: string[];
80
- project_refs: ContextProjectRef[];
81
- tenant_id: string | null;
82
- as_of: string | number | null;
83
- range: ContextRange | null;
84
- }
85
- export interface ContextEvidence {
86
- ref: ContextRef;
87
- title?: string;
88
- excerpt?: string;
89
- score?: number;
90
- reasons?: string[];
91
- retrieval_diagnostics?: unknown;
92
- }
93
- export interface ContextPacket {
94
- packet_id: string;
95
- mode: 'general';
96
- task: string;
97
- scopes: MemoryScopeRef[];
98
- scope_hash: string;
99
- generated_at: string;
100
- range: ContextRange | null;
101
- as_of: string | number | null;
102
- compiler_version: string;
103
- source_refs: ContextRef[];
104
- selected_evidence: ContextEvidence[];
105
- evidence_clusters: unknown[];
106
- related_decisions: unknown[];
107
- rejected_refs: ContextRef[];
108
- rejected_refs_truncated: boolean;
109
- rejected_summary: string[];
110
- missing_context: string[];
111
- caveats: string[];
112
- expansion_trace: unknown[];
113
- retrieval_diagnostics: unknown;
114
- budget: {
115
- max_tool_calls?: number;
116
- used_tool_calls: number;
117
- max_ms?: number;
118
- elapsed_ms: number;
119
- max_tokens?: number;
120
- estimated_tokens: number;
121
- budget_exhausted: boolean;
122
- };
123
- budget_manifest: {
124
- budget_exhausted: boolean;
125
- skipped_operators: string[];
126
- };
127
- }
128
- export interface ContextPacketRecord {
129
- packet_id: string;
130
- task: string;
131
- packet_json: string;
132
- packet: ContextPacket;
133
- scope_json: string;
134
- scopes: MemoryScopeRef[];
135
- scope_hash: string;
136
- envelope_hash: string;
137
- model_run_id: string;
138
- agent_id: string;
139
- input_snapshot_ref: string;
140
- source_refs_json: string;
141
- source_refs: ContextRef[];
142
- tenant_id: string;
143
- project_id: string;
144
- memory_scope_kind: MemoryScopeRef['kind'];
145
- memory_scope_id: string;
146
- created_at: number;
147
- }
148
- export interface TrustedContextPacketLookupInput {
149
- packetId: string;
150
- envelopeHash: string;
151
- modelRunId?: string;
152
- callerModelRunId?: string;
153
- includeFailed?: boolean;
154
- }
155
- //# sourceMappingURL=types.d.ts.map
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UNSUPPORTED_CONTEXT_REF_KINDS = exports.CONTEXT_REF_KINDS = void 0;
4
- exports.CONTEXT_REF_KINDS = ['memory', 'raw', 'entity', 'case'];
5
- exports.UNSUPPORTED_CONTEXT_REF_KINDS = [
6
- 'decision',
7
- 'wiki_page',
8
- 'context_packet',
9
- 'report',
10
- ];
11
- //# sourceMappingURL=types.js.map
@@ -1,21 +0,0 @@
1
- import { type MemoryScopeRef } from '../memory/types.js';
2
- import type { ContextBoundary, ContextProjectRef, ContextRef } from './types.js';
3
- type BoundaryCheckInput = {
4
- boundary: ContextBoundary;
5
- requestedScopes?: readonly MemoryScopeRef[];
6
- requestedConnectors?: readonly string[];
7
- requestedProjectRefs?: readonly ContextProjectRef[];
8
- requestedTenantId?: string | null;
9
- seedRefs?: readonly unknown[];
10
- };
11
- export declare function canonicalizeContextScopes(scopes: readonly MemoryScopeRef[] | undefined): {
12
- scopes: MemoryScopeRef[];
13
- scopeJson: string;
14
- scopeHash: string;
15
- };
16
- export declare function derivePrimaryContextScope(scopes: readonly MemoryScopeRef[]): MemoryScopeRef;
17
- export declare function assertContextBoundaryAllowsInput(input: BoundaryCheckInput): void;
18
- export declare function sanitizeContextPacketForVisibility<T>(packet: T): T;
19
- export declare function normalizeSeedRefs(seedRefs: readonly unknown[] | undefined): ContextRef[];
20
- export {};
21
- //# sourceMappingURL=visibility.d.ts.map
@@ -1,224 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.canonicalizeContextScopes = canonicalizeContextScopes;
4
- exports.derivePrimaryContextScope = derivePrimaryContextScope;
5
- exports.assertContextBoundaryAllowsInput = assertContextBoundaryAllowsInput;
6
- exports.sanitizeContextPacketForVisibility = sanitizeContextPacketForVisibility;
7
- exports.normalizeSeedRefs = normalizeSeedRefs;
8
- const node_crypto_1 = require("node:crypto");
9
- const types_js_1 = require("../memory/types.js");
10
- const ref_js_1 = require("./ref.js");
11
- const channel_grant_js_1 = require("./channel-grant.js");
12
- const SCOPE_ORDER = {
13
- project: 0,
14
- channel: 1,
15
- user: 2,
16
- global: 3,
17
- };
18
- function assertScope(scope) {
19
- if (!types_js_1.MEMORY_SCOPE_KINDS.includes(scope.kind)) {
20
- throw new Error(`Unsupported memory scope kind: ${scope.kind}`);
21
- }
22
- const id = scope.id.trim();
23
- if (id.length === 0) {
24
- throw new Error('Memory scope id must not be empty');
25
- }
26
- return { kind: scope.kind, id };
27
- }
28
- function scopeKey(scope) {
29
- return `${scope.kind}\0${scope.id}`;
30
- }
31
- function connectorKey(connector) {
32
- const trimmed = connector.trim();
33
- if (trimmed.length === 0) {
34
- throw new Error('Connector must not be empty');
35
- }
36
- return trimmed;
37
- }
38
- function projectKey(project) {
39
- const kind = project.kind.trim();
40
- const id = project.id.trim();
41
- if (kind.length === 0 || id.length === 0) {
42
- throw new Error('Project ref kind and id must not be empty');
43
- }
44
- return `${kind}\0${id}`;
45
- }
46
- function sortScopes(scopes) {
47
- return [...scopes].sort((left, right) => {
48
- const orderDiff = SCOPE_ORDER[left.kind] - SCOPE_ORDER[right.kind];
49
- if (orderDiff !== 0) {
50
- return orderDiff;
51
- }
52
- return left.id.localeCompare(right.id);
53
- });
54
- }
55
- function canonicalizeContextScopes(scopes) {
56
- const unique = new Map();
57
- for (const scope of scopes ?? []) {
58
- const normalized = assertScope(scope);
59
- unique.set(scopeKey(normalized), normalized);
60
- }
61
- const canonicalScopes = sortScopes([...unique.values()]);
62
- const scopeJson = JSON.stringify(canonicalScopes);
63
- const scopeHash = (0, node_crypto_1.createHash)('sha256').update(scopeJson).digest('hex');
64
- return {
65
- scopes: canonicalScopes,
66
- scopeJson,
67
- scopeHash,
68
- };
69
- }
70
- function derivePrimaryContextScope(scopes) {
71
- const canonical = canonicalizeContextScopes(scopes).scopes;
72
- const primary = canonical.find((scope) => scope.kind === 'project') ?? canonical[0];
73
- return primary ?? { kind: 'global', id: 'default' };
74
- }
75
- function assertContextBoundaryAllowsInput(input) {
76
- const hasScopeBoundary = Array.isArray(input.boundary.scopes);
77
- const boundaryScopes = canonicalizeContextScopes(input.boundary.scopes).scopes;
78
- const requestedScopes = canonicalizeContextScopes(input.requestedScopes).scopes;
79
- if (hasScopeBoundary && requestedScopes.length > 0) {
80
- const allowed = new Set(boundaryScopes.map(scopeKey));
81
- const disallowed = requestedScopes.find((scope) => !allowed.has(scopeKey(scope)));
82
- if (disallowed) {
83
- throw new Error(`Requested scope is outside the context boundary: ${disallowed.kind}:${disallowed.id}`);
84
- }
85
- }
86
- const hasConnectorBoundary = Array.isArray(input.boundary.connectors);
87
- const boundaryConnectors = new Set((input.boundary.connectors ?? []).map(connectorKey));
88
- const requestedConnectors = (input.requestedConnectors ?? []).map(connectorKey);
89
- if (hasConnectorBoundary) {
90
- const disallowedConnector = requestedConnectors.find((connector) => !boundaryConnectors.has(connector));
91
- if (disallowedConnector) {
92
- throw new Error(`Requested connector is outside the context boundary: ${disallowedConnector}`);
93
- }
94
- }
95
- const hasProjectBoundary = Array.isArray(input.boundary.project_refs);
96
- const boundaryProjects = new Set((input.boundary.project_refs ?? []).map(projectKey));
97
- const requestedProjects = (input.requestedProjectRefs ?? []).map(projectKey);
98
- if (hasProjectBoundary && requestedProjects.length > 0) {
99
- const disallowedProject = requestedProjects.find((project) => !boundaryProjects.has(project));
100
- if (disallowedProject) {
101
- const [kind, id] = disallowedProject.split('\0');
102
- throw new Error(`Requested project ref is outside the context boundary: ${kind}:${id}`);
103
- }
104
- }
105
- const boundaryTenantId = input.boundary.tenant_id;
106
- if (typeof boundaryTenantId === 'string' &&
107
- boundaryTenantId.length > 0 &&
108
- input.requestedTenantId !== undefined &&
109
- input.requestedTenantId !== null &&
110
- input.requestedTenantId !== boundaryTenantId) {
111
- throw new Error('Requested tenant is outside the context boundary');
112
- }
113
- const seedRefs = (0, ref_js_1.normalizeContextRefs)(input.seedRefs);
114
- assertSeedRefsAllowed(seedRefs, boundaryConnectors, hasConnectorBoundary, input.boundary.channels);
115
- }
116
- /**
117
- * A seed ref must satisfy the same visibility rule as a row the reader would have returned.
118
- *
119
- * The connector check alone was never enough, and once raw visibility is decided by
120
- * (connector, channel) it is plainly not: a caller could name the raw id of an event in an
121
- * ungranted channel and have its identifiers - upstream source id and channel - come back
122
- * in the packet's source_refs, which is then persisted. That is a citation path reaching
123
- * past the reading path, the exact asymmetry this rebuild exists to remove.
124
- *
125
- * The channel is checked only when the boundary carries a grant. Without one there is no
126
- * channel rule to enforce and the connector check stands, unchanged.
127
- */
128
- function assertSeedRefsAllowed(seedRefs, boundaryConnectors, hasConnectorBoundary, channelGrant) {
129
- for (const ref of seedRefs) {
130
- if (ref.kind !== 'raw')
131
- continue;
132
- if (hasConnectorBoundary && !boundaryConnectors.has(ref.connector)) {
133
- throw new Error(`Seed raw ref connector is outside the context boundary: ${ref.connector}`);
134
- }
135
- if (!channelGrant)
136
- continue;
137
- // Calls the shared rule rather than re-deriving membership. An inline re-derivation
138
- // here already disagreed with it on the empty-channel case, which is how a fourth copy
139
- // of a decision starts: not by being written as a copy, but by being written as
140
- // "obviously the same check".
141
- if (!(0, channel_grant_js_1.isChannelGranted)(ref.connector, ref.channel_id, channelGrant)) {
142
- throw new Error(`Seed raw ref channel is outside the context boundary: ${ref.connector}`);
143
- }
144
- }
145
- }
146
- function isRecord(value) {
147
- return value !== null && typeof value === 'object' && !Array.isArray(value);
148
- }
149
- function collectHiddenIdentifiers(value, hidden) {
150
- if (Array.isArray(value)) {
151
- for (const item of value) {
152
- collectHiddenIdentifiers(item, hidden);
153
- }
154
- return;
155
- }
156
- if (!isRecord(value)) {
157
- return;
158
- }
159
- const maybeHidden = value;
160
- if (maybeHidden.visible === false) {
161
- for (const field of ['id', 'raw_id', 'source_id', 'channel_id']) {
162
- const fieldValue = value[field];
163
- if (typeof fieldValue === 'string' && fieldValue.length > 0) {
164
- hidden.add(fieldValue);
165
- }
166
- }
167
- }
168
- for (const child of Object.values(value)) {
169
- collectHiddenIdentifiers(child, hidden);
170
- }
171
- }
172
- function isIdentifierBoundary(character) {
173
- return character === undefined || !/[A-Za-z0-9_]/.test(character);
174
- }
175
- function containsHiddenIdentifier(value, identifier) {
176
- if (identifier.length === 0) {
177
- return false;
178
- }
179
- let index = value.indexOf(identifier);
180
- while (index !== -1) {
181
- const before = value[index - 1];
182
- const after = value[index + identifier.length];
183
- if (isIdentifierBoundary(before) && isIdentifierBoundary(after)) {
184
- return true;
185
- }
186
- index = value.indexOf(identifier, index + 1);
187
- }
188
- return false;
189
- }
190
- function sanitizeValue(value, hidden) {
191
- if (typeof value === 'string') {
192
- return [...hidden].some((identifier) => containsHiddenIdentifier(value, identifier))
193
- ? undefined
194
- : value;
195
- }
196
- if (Array.isArray(value)) {
197
- return value
198
- .map((item) => sanitizeValue(item, hidden))
199
- .filter((item) => item !== undefined);
200
- }
201
- if (!isRecord(value)) {
202
- return value;
203
- }
204
- if (value.visible === false) {
205
- return undefined;
206
- }
207
- const sanitized = {};
208
- for (const [key, child] of Object.entries(value)) {
209
- const next = sanitizeValue(child, hidden);
210
- if (next !== undefined) {
211
- sanitized[key] = next;
212
- }
213
- }
214
- return sanitized;
215
- }
216
- function sanitizeContextPacketForVisibility(packet) {
217
- const hidden = new Set();
218
- collectHiddenIdentifiers(packet, hidden);
219
- return sanitizeValue(packet, hidden);
220
- }
221
- function normalizeSeedRefs(seedRefs) {
222
- return (0, ref_js_1.normalizeContextRefs)(seedRefs).map((ref) => (0, ref_js_1.normalizeContextRef)(ref));
223
- }
224
- //# sourceMappingURL=visibility.js.map
@@ -1,206 +0,0 @@
1
- /**
2
- * MAMA (Memory-Augmented MCP Architecture) - Decision Tracker
3
- *
4
- * Learn and store decisions with graph relationships
5
- * Tasks: 3.1-3.9 (Learn decision, ID generation, supersedes edges, refinement, embeddings)
6
- * AC #1: Decision stored with outcome=NULL, confidence from LLM
7
- * AC #2: Supersedes relationship creation
8
- * AC #5: Multi-parent refinement with confidence calculation
9
- *
10
- * Updated for PostgreSQL compatibility via db-manager
11
- *
12
- * @module decision-tracker
13
- * @version 2.0
14
- * @date 2025-11-17
15
- */
16
- import type { DecisionRecord } from './db-manager.js';
17
- export type { DecisionRecord };
18
- export declare const VALID_EDGE_TYPES: readonly ["supersedes", "refines", "contradicts", "builds_on", "debates", "synthesizes"];
19
- export type EdgeType = (typeof VALID_EDGE_TYPES)[number];
20
- /**
21
- * Decision detection result from analysis
22
- */
23
- export interface DecisionDetection {
24
- topic: string;
25
- decision: string;
26
- reasoning: string;
27
- confidence: number;
28
- type?: string;
29
- trust_context?: Record<string, unknown>;
30
- evidence?: string | string[];
31
- alternatives?: string | string[];
32
- risks?: string;
33
- }
34
- /**
35
- * Tool execution context
36
- */
37
- export interface ToolExecution {
38
- timestamp?: number;
39
- tool_name?: string;
40
- tool_input?: unknown;
41
- exit_code?: number;
42
- }
43
- /**
44
- * Session context for decision tracking
45
- */
46
- export interface SessionContext {
47
- session_id?: string;
48
- latest_user_message?: string;
49
- recent_exchange?: string;
50
- }
51
- /**
52
- * Learn decision result
53
- */
54
- export interface LearnDecisionResult {
55
- decisionId: string;
56
- notification: unknown | null;
57
- }
58
- /**
59
- * Parsed relationship from reasoning
60
- */
61
- export interface ParsedRelationship {
62
- type: string;
63
- targetIds: string[];
64
- }
65
- /**
66
- * Generate decision ID
67
- *
68
- * Task 3.2: Generate decision ID: `decision_${topic}_${timestamp}`
69
- *
70
- * @param topic - Decision topic
71
- * @returns Decision ID
72
- */
73
- export declare function generateDecisionId(topic: string): string;
74
- /**
75
- * Check for previous decision on same topic
76
- *
77
- * Task 3.3: Query decisions table WHERE topic=? AND superseded_by IS NULL
78
- * AC #2: Find previous decision to create supersedes relationship
79
- *
80
- * @param topic - Decision topic
81
- * @returns Previous decision or null
82
- */
83
- export declare function getPreviousDecision(topic: string): Promise<DecisionRecord | null>;
84
- /**
85
- * Create a decision edge with specified relationship type
86
- *
87
- * Story 2.1: Generic edge creation supporting all relationship types
88
- *
89
- * @param fromId - Source decision ID
90
- * @param toId - Target decision ID
91
- * @param relationship - Edge type (supersedes, builds_on, debates, synthesizes, etc.)
92
- * @param reason - Reason for the relationship
93
- * @returns Success status
94
- */
95
- export declare function createEdge(fromId: string, toId: string, relationship: string, reason: string): Promise<boolean>;
96
- /**
97
- * Create supersedes edge
98
- *
99
- * Task 3.5: Create supersedes edge (INSERT INTO decision_edges)
100
- * AC #2: Supersedes relationship creation
101
- *
102
- * @param fromId - New decision ID
103
- * @param toId - Previous decision ID
104
- * @param reason - Reason for superseding
105
- */
106
- export declare function createSupersedesEdge(fromId: string, toId: string, reason: string): Promise<boolean>;
107
- /**
108
- * Update previous decision's superseded_by field
109
- *
110
- * Task 3.5: Update previous decision's superseded_by field
111
- * AC #2: Previous decision's superseded_by field updated
112
- *
113
- * @param previousId - Previous decision ID
114
- * @param newId - New decision ID
115
- */
116
- export declare function markSuperseded(previousId: string, newId: string): Promise<void>;
117
- /**
118
- * Calculate combined confidence (Bayesian update)
119
- *
120
- * Task 3.6: Calculate combined confidence for multi-parent refinement
121
- * AC #5: Confidence score calculated based on history
122
- *
123
- * @param prior - Prior confidence
124
- * @param parents - Parent decisions
125
- * @returns Updated confidence (0.0-1.0)
126
- */
127
- export declare function calculateCombinedConfidence(prior: number, parents: Array<{
128
- confidence?: number;
129
- }>): number;
130
- /**
131
- * Detect multi-parent refinement
132
- *
133
- * Task 3.6: Detect if new decision refines multiple previous decisions
134
- * AC #5: Multi-parent refinement
135
- *
136
- * @param _detection - Decision detection result
137
- * @param _sessionContext - Session context
138
- * @returns Array of parent decision IDs or null
139
- */
140
- export declare function detectRefinement(_detection: DecisionDetection, _sessionContext: SessionContext): string[] | null;
141
- /**
142
- * Parse reasoning field for relationship references
143
- *
144
- * Story 2.2: Detect patterns like:
145
- * - builds_on: <decision_id>
146
- * - debates: <decision_id>
147
- * - synthesizes: [id1, id2]
148
- *
149
- * @param reasoning - Decision reasoning text
150
- * @returns Detected relationships
151
- */
152
- export declare function parseReasoningForRelationships(reasoning: string): ParsedRelationship[];
153
- /**
154
- * Create edges from parsed reasoning relationships
155
- *
156
- * Story 2.2: Auto-create edges when reasoning references other decisions
157
- *
158
- * @param fromId - Source decision ID
159
- * @param reasoning - Decision reasoning text
160
- * @returns Edge creation stats
161
- */
162
- export declare function createEdgesFromReasoning(fromId: string, reasoning: string): Promise<{
163
- created: number;
164
- failed: number;
165
- }>;
166
- /**
167
- * Learn Decision Function (Main API)
168
- *
169
- * Task 3.1: Create Learn Decision Function
170
- * Task 3.2: Generate decision ID
171
- * Task 3.3: Check for previous decision on same topic
172
- * Task 3.4: Insert new decision with outcome=NULL, confidence from LLM
173
- * Task 3.5: If previous exists: Create supersedes edge, Update previous superseded_by
174
- * Task 3.6: If multi-parent refinement: Store refined_from, Calculate combined confidence
175
- * Task 3.7: Generate enhanced embedding
176
- * Task 3.8: Store embedding (link via rowid)
177
- *
178
- * AC #1: Decision stored with outcome=NULL, confidence from LLM
179
- * AC #2: Supersedes relationship creation
180
- * AC #5: Multi-parent refinement with confidence calculation
181
- *
182
- * @param detection - Decision detection result
183
- * @param toolExecution - Tool execution data
184
- * @param sessionContext - Session context
185
- * @returns decisionId and notification
186
- */
187
- export declare function learnDecision(detection: DecisionDetection, toolExecution: ToolExecution, sessionContext: SessionContext): Promise<LearnDecisionResult>;
188
- /**
189
- * Evidence item for confidence updates
190
- */
191
- export interface EvidenceItem {
192
- type: 'success' | 'failure' | 'partial';
193
- impact: number;
194
- }
195
- /**
196
- * Update confidence score
197
- *
198
- * Task 6: Confidence evolution (used in outcome tracking)
199
- * AC #5: Confidence score calculated based on history
200
- *
201
- * @param prior - Prior confidence
202
- * @param evidence - Evidence items
203
- * @returns Updated confidence (0.0-1.0)
204
- */
205
- export declare function updateConfidence(prior: number, evidence: EvidenceItem[]): number;
206
- //# sourceMappingURL=decision-tracker.d.ts.map