audrey 0.23.1 → 1.0.1

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 (250) hide show
  1. package/CHANGELOG.md +101 -15
  2. package/LICENSE +21 -21
  3. package/README.md +232 -6
  4. package/SECURITY.md +2 -1
  5. package/benchmarks/adapter-kit.mjs +20 -0
  6. package/benchmarks/adapter-self-test.mjs +166 -0
  7. package/benchmarks/adapters/example-allow.mjs +28 -0
  8. package/benchmarks/adapters/mem0-platform.mjs +267 -0
  9. package/benchmarks/adapters/registry.json +51 -0
  10. package/benchmarks/adapters/zep-cloud.mjs +280 -0
  11. package/benchmarks/baselines.js +169 -0
  12. package/benchmarks/build-leaderboard.mjs +170 -0
  13. package/benchmarks/cases.js +537 -0
  14. package/benchmarks/create-conformance-card.mjs +139 -0
  15. package/benchmarks/create-submission-bundle.mjs +176 -0
  16. package/benchmarks/dry-run-external-adapters.mjs +165 -0
  17. package/benchmarks/guardbench.js +1125 -0
  18. package/benchmarks/output/adapter-self-test/guardbench-adapter-self-test.json +50 -0
  19. package/benchmarks/output/external/guardbench-external-dry-run.json +69 -0
  20. package/benchmarks/output/external/guardbench-external-evidence.json +56 -0
  21. package/benchmarks/output/guardbench-conformance-card.json +63 -0
  22. package/benchmarks/output/guardbench-manifest.json +414 -0
  23. package/benchmarks/output/guardbench-raw.json +1271 -0
  24. package/benchmarks/output/guardbench-summary.json +2107 -0
  25. package/benchmarks/output/leaderboard/guardbench-leaderboard.json +93 -0
  26. package/benchmarks/output/leaderboard/guardbench-leaderboard.md +7 -0
  27. package/benchmarks/output/submission-bundle/guardbench-conformance-card.json +63 -0
  28. package/benchmarks/output/submission-bundle/guardbench-manifest.json +414 -0
  29. package/benchmarks/output/submission-bundle/guardbench-raw.json +1271 -0
  30. package/benchmarks/output/submission-bundle/guardbench-summary.json +2107 -0
  31. package/benchmarks/output/submission-bundle/schemas/guardbench-adapter-registry.schema.json +69 -0
  32. package/benchmarks/output/submission-bundle/schemas/guardbench-adapter-self-test.schema.json +156 -0
  33. package/benchmarks/output/submission-bundle/schemas/guardbench-conformance-card.schema.json +184 -0
  34. package/benchmarks/output/submission-bundle/schemas/guardbench-external-dry-run.schema.json +74 -0
  35. package/benchmarks/output/submission-bundle/schemas/guardbench-external-evidence.schema.json +108 -0
  36. package/benchmarks/output/submission-bundle/schemas/guardbench-external-run.schema.json +160 -0
  37. package/benchmarks/output/submission-bundle/schemas/guardbench-leaderboard.schema.json +179 -0
  38. package/benchmarks/output/submission-bundle/schemas/guardbench-manifest.schema.json +213 -0
  39. package/benchmarks/output/submission-bundle/schemas/guardbench-publication-verification.schema.json +47 -0
  40. package/benchmarks/output/submission-bundle/schemas/guardbench-raw.schema.json +184 -0
  41. package/benchmarks/output/submission-bundle/schemas/guardbench-submission-manifest.schema.json +151 -0
  42. package/benchmarks/output/submission-bundle/schemas/guardbench-summary.schema.json +249 -0
  43. package/benchmarks/output/submission-bundle/submission-manifest.json +131 -0
  44. package/benchmarks/output/submission-bundle/validation-report.json +31 -0
  45. package/benchmarks/output/summary.json +2354 -0
  46. package/benchmarks/perf-snapshot.js +304 -0
  47. package/benchmarks/perf.bench.js +161 -0
  48. package/benchmarks/public-paths.mjs +78 -0
  49. package/benchmarks/reference-results.js +70 -0
  50. package/benchmarks/report.js +259 -0
  51. package/benchmarks/run-external-guardbench.mjs +281 -0
  52. package/benchmarks/run.js +682 -0
  53. package/benchmarks/schemas/guardbench-adapter-registry.schema.json +69 -0
  54. package/benchmarks/schemas/guardbench-adapter-self-test.schema.json +156 -0
  55. package/benchmarks/schemas/guardbench-conformance-card.schema.json +184 -0
  56. package/benchmarks/schemas/guardbench-external-dry-run.schema.json +74 -0
  57. package/benchmarks/schemas/guardbench-external-evidence.schema.json +108 -0
  58. package/benchmarks/schemas/guardbench-external-run.schema.json +160 -0
  59. package/benchmarks/schemas/guardbench-leaderboard.schema.json +179 -0
  60. package/benchmarks/schemas/guardbench-manifest.schema.json +213 -0
  61. package/benchmarks/schemas/guardbench-publication-verification.schema.json +47 -0
  62. package/benchmarks/schemas/guardbench-raw.schema.json +184 -0
  63. package/benchmarks/schemas/guardbench-submission-manifest.schema.json +151 -0
  64. package/benchmarks/schemas/guardbench-summary.schema.json +249 -0
  65. package/benchmarks/snapshots/perf-0.22.2.json +123 -0
  66. package/benchmarks/snapshots/perf-0.23.0.json +123 -0
  67. package/benchmarks/validate-adapter-module.mjs +104 -0
  68. package/benchmarks/validate-adapter-registry.mjs +134 -0
  69. package/benchmarks/validate-adapter-self-test.mjs +96 -0
  70. package/benchmarks/validate-guardbench-artifacts.mjs +343 -0
  71. package/benchmarks/verify-external-evidence.mjs +296 -0
  72. package/benchmarks/verify-publication-artifacts.mjs +286 -0
  73. package/benchmarks/verify-submission-bundle.mjs +167 -0
  74. package/dist/mcp-server/config.d.ts +1 -1
  75. package/dist/mcp-server/config.d.ts.map +1 -1
  76. package/dist/mcp-server/config.js +1 -1
  77. package/dist/mcp-server/config.js.map +1 -1
  78. package/dist/mcp-server/index.d.ts +65 -3
  79. package/dist/mcp-server/index.d.ts.map +1 -1
  80. package/dist/mcp-server/index.js +675 -157
  81. package/dist/mcp-server/index.js.map +1 -1
  82. package/dist/src/action-key.d.ts +9 -0
  83. package/dist/src/action-key.d.ts.map +1 -0
  84. package/dist/src/action-key.js +49 -0
  85. package/dist/src/action-key.js.map +1 -0
  86. package/dist/src/adaptive.js +5 -5
  87. package/dist/src/affect.js +8 -8
  88. package/dist/src/audrey.d.ts +13 -0
  89. package/dist/src/audrey.d.ts.map +1 -1
  90. package/dist/src/audrey.js +68 -3
  91. package/dist/src/audrey.js.map +1 -1
  92. package/dist/src/capsule.js +4 -4
  93. package/dist/src/causal.js +3 -3
  94. package/dist/src/consolidate.js +48 -48
  95. package/dist/src/controller.d.ts +78 -6
  96. package/dist/src/controller.d.ts.map +1 -1
  97. package/dist/src/controller.js +273 -53
  98. package/dist/src/controller.js.map +1 -1
  99. package/dist/src/db.js +172 -172
  100. package/dist/src/decay.js +8 -8
  101. package/dist/src/embedding.d.ts +2 -1
  102. package/dist/src/embedding.d.ts.map +1 -1
  103. package/dist/src/embedding.js +39 -29
  104. package/dist/src/embedding.js.map +1 -1
  105. package/dist/src/encode.js +6 -6
  106. package/dist/src/feedback.d.ts +6 -0
  107. package/dist/src/feedback.d.ts.map +1 -1
  108. package/dist/src/feedback.js +6 -0
  109. package/dist/src/feedback.js.map +1 -1
  110. package/dist/src/forget.js +12 -12
  111. package/dist/src/hybrid-recall.js +9 -9
  112. package/dist/src/impact.js +6 -6
  113. package/dist/src/import.d.ts +3 -3
  114. package/dist/src/import.js +41 -41
  115. package/dist/src/index.d.ts +5 -4
  116. package/dist/src/index.d.ts.map +1 -1
  117. package/dist/src/index.js +3 -3
  118. package/dist/src/index.js.map +1 -1
  119. package/dist/src/interference.js +14 -14
  120. package/dist/src/introspect.js +18 -18
  121. package/dist/src/preflight.d.ts.map +1 -1
  122. package/dist/src/preflight.js +41 -0
  123. package/dist/src/preflight.js.map +1 -1
  124. package/dist/src/promote.js +7 -7
  125. package/dist/src/prompts.js +118 -118
  126. package/dist/src/recall.js +30 -30
  127. package/dist/src/reflexes.d.ts +1 -0
  128. package/dist/src/reflexes.d.ts.map +1 -1
  129. package/dist/src/reflexes.js +3 -0
  130. package/dist/src/reflexes.js.map +1 -1
  131. package/dist/src/rollback.js +4 -4
  132. package/dist/src/routes.d.ts.map +1 -1
  133. package/dist/src/routes.js +71 -2
  134. package/dist/src/routes.js.map +1 -1
  135. package/dist/src/validate.js +25 -25
  136. package/docs/AUDREY_PAPER_OUTLINE.md +175 -0
  137. package/docs/MEMORY_BENCHMARKING.md +59 -0
  138. package/docs/PRODUCTION_BACKLOG.md +304 -0
  139. package/docs/paper/00-master.md +48 -0
  140. package/docs/paper/01-introduction.md +27 -0
  141. package/docs/paper/02-related-work.md +47 -0
  142. package/docs/paper/03-problem-definition.md +108 -0
  143. package/docs/paper/04-design.md +164 -0
  144. package/docs/paper/05-guardbench-spec.md +412 -0
  145. package/docs/paper/06-implementation.md +113 -0
  146. package/docs/paper/07-evaluation.md +168 -0
  147. package/docs/paper/08-discussion-limitations.md +61 -0
  148. package/docs/paper/09-conclusion.md +11 -0
  149. package/docs/paper/SUBMISSION_README.md +162 -0
  150. package/docs/paper/appendix-a-demo-transcript.md +114 -0
  151. package/docs/paper/arxiv-compile-report.schema.json +116 -0
  152. package/docs/paper/arxiv-source.schema.json +61 -0
  153. package/docs/paper/audrey-paper-v1.md +1106 -0
  154. package/docs/paper/browser-launch-plan.json +209 -0
  155. package/docs/paper/browser-launch-plan.schema.json +100 -0
  156. package/docs/paper/browser-launch-results.json +86 -0
  157. package/docs/paper/browser-launch-results.schema.json +66 -0
  158. package/docs/paper/claim-register.json +138 -0
  159. package/docs/paper/claim-register.schema.json +81 -0
  160. package/docs/paper/evidence-ledger.md +103 -0
  161. package/docs/paper/output/arxiv/README-arxiv.txt +8 -0
  162. package/docs/paper/output/arxiv/arxiv-manifest.json +41 -0
  163. package/docs/paper/output/arxiv/main.tex +949 -0
  164. package/docs/paper/output/arxiv/references.bib +222 -0
  165. package/docs/paper/output/arxiv-compile-report.json +24 -0
  166. package/docs/paper/output/submission-bundle/LICENSE +21 -0
  167. package/docs/paper/output/submission-bundle/README.md +555 -0
  168. package/docs/paper/output/submission-bundle/benchmarks/output/adapter-self-test/guardbench-adapter-self-test.json +50 -0
  169. package/docs/paper/output/submission-bundle/benchmarks/output/external/guardbench-external-dry-run.json +69 -0
  170. package/docs/paper/output/submission-bundle/benchmarks/output/external/guardbench-external-evidence.json +56 -0
  171. package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-conformance-card.json +63 -0
  172. package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-manifest.json +414 -0
  173. package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-raw.json +1271 -0
  174. package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-summary.json +2107 -0
  175. package/docs/paper/output/submission-bundle/benchmarks/output/leaderboard/guardbench-leaderboard.json +93 -0
  176. package/docs/paper/output/submission-bundle/benchmarks/output/leaderboard/guardbench-leaderboard.md +7 -0
  177. package/docs/paper/output/submission-bundle/benchmarks/output/submission-bundle/submission-manifest.json +131 -0
  178. package/docs/paper/output/submission-bundle/benchmarks/output/submission-bundle/validation-report.json +31 -0
  179. package/docs/paper/output/submission-bundle/benchmarks/output/summary.json +2354 -0
  180. package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-adapter-registry.schema.json +69 -0
  181. package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-adapter-self-test.schema.json +156 -0
  182. package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-conformance-card.schema.json +184 -0
  183. package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-external-dry-run.schema.json +74 -0
  184. package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-external-evidence.schema.json +108 -0
  185. package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-external-run.schema.json +160 -0
  186. package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-leaderboard.schema.json +179 -0
  187. package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-manifest.schema.json +213 -0
  188. package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-publication-verification.schema.json +47 -0
  189. package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-raw.schema.json +184 -0
  190. package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-submission-manifest.schema.json +151 -0
  191. package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-summary.schema.json +249 -0
  192. package/docs/paper/output/submission-bundle/docs/AUDREY_PAPER_OUTLINE.md +175 -0
  193. package/docs/paper/output/submission-bundle/docs/paper/00-master.md +48 -0
  194. package/docs/paper/output/submission-bundle/docs/paper/01-introduction.md +27 -0
  195. package/docs/paper/output/submission-bundle/docs/paper/02-related-work.md +47 -0
  196. package/docs/paper/output/submission-bundle/docs/paper/03-problem-definition.md +108 -0
  197. package/docs/paper/output/submission-bundle/docs/paper/04-design.md +164 -0
  198. package/docs/paper/output/submission-bundle/docs/paper/05-guardbench-spec.md +412 -0
  199. package/docs/paper/output/submission-bundle/docs/paper/06-implementation.md +113 -0
  200. package/docs/paper/output/submission-bundle/docs/paper/07-evaluation.md +168 -0
  201. package/docs/paper/output/submission-bundle/docs/paper/08-discussion-limitations.md +61 -0
  202. package/docs/paper/output/submission-bundle/docs/paper/09-conclusion.md +11 -0
  203. package/docs/paper/output/submission-bundle/docs/paper/SUBMISSION_README.md +162 -0
  204. package/docs/paper/output/submission-bundle/docs/paper/appendix-a-demo-transcript.md +114 -0
  205. package/docs/paper/output/submission-bundle/docs/paper/arxiv-compile-report.schema.json +116 -0
  206. package/docs/paper/output/submission-bundle/docs/paper/arxiv-source.schema.json +61 -0
  207. package/docs/paper/output/submission-bundle/docs/paper/audrey-paper-v1.md +1106 -0
  208. package/docs/paper/output/submission-bundle/docs/paper/browser-launch-plan.json +209 -0
  209. package/docs/paper/output/submission-bundle/docs/paper/browser-launch-plan.schema.json +100 -0
  210. package/docs/paper/output/submission-bundle/docs/paper/browser-launch-results.json +86 -0
  211. package/docs/paper/output/submission-bundle/docs/paper/browser-launch-results.schema.json +66 -0
  212. package/docs/paper/output/submission-bundle/docs/paper/claim-register.json +138 -0
  213. package/docs/paper/output/submission-bundle/docs/paper/claim-register.schema.json +81 -0
  214. package/docs/paper/output/submission-bundle/docs/paper/evidence-ledger.md +103 -0
  215. package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/README-arxiv.txt +8 -0
  216. package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/arxiv-manifest.json +41 -0
  217. package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/main.tex +949 -0
  218. package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/references.bib +222 -0
  219. package/docs/paper/output/submission-bundle/docs/paper/output/arxiv-compile-report.json +24 -0
  220. package/docs/paper/output/submission-bundle/docs/paper/paper-submission-bundle.schema.json +70 -0
  221. package/docs/paper/output/submission-bundle/docs/paper/publication-pack.json +81 -0
  222. package/docs/paper/output/submission-bundle/docs/paper/publication-pack.schema.json +60 -0
  223. package/docs/paper/output/submission-bundle/docs/paper/references.bib +222 -0
  224. package/docs/paper/output/submission-bundle/package.json +212 -0
  225. package/docs/paper/output/submission-bundle/paper-submission-manifest.json +379 -0
  226. package/docs/paper/paper-submission-bundle.schema.json +70 -0
  227. package/docs/paper/publication-pack.json +81 -0
  228. package/docs/paper/publication-pack.schema.json +60 -0
  229. package/docs/paper/references.bib +222 -0
  230. package/package.json +87 -4
  231. package/scripts/audit-release-completion.mjs +362 -0
  232. package/scripts/create-arxiv-source.mjs +362 -0
  233. package/scripts/create-paper-submission-bundle.mjs +210 -0
  234. package/scripts/finalize-release.mjs +526 -0
  235. package/scripts/prepare-release-cut.mjs +269 -0
  236. package/scripts/publish-release-bundle.mjs +209 -0
  237. package/scripts/publish-release-github-api.mjs +429 -0
  238. package/scripts/run-vitest.mjs +34 -0
  239. package/scripts/smoke-cli.js +92 -0
  240. package/scripts/sync-paper-artifacts.mjs +109 -0
  241. package/scripts/verify-arxiv-compile.mjs +440 -0
  242. package/scripts/verify-arxiv-source.mjs +194 -0
  243. package/scripts/verify-browser-launch-plan.mjs +237 -0
  244. package/scripts/verify-browser-launch-results.mjs +285 -0
  245. package/scripts/verify-paper-artifacts.mjs +338 -0
  246. package/scripts/verify-paper-claims.mjs +226 -0
  247. package/scripts/verify-paper-submission-bundle.mjs +207 -0
  248. package/scripts/verify-publication-pack.mjs +196 -0
  249. package/scripts/verify-python-package.py +201 -0
  250. package/scripts/verify-release-readiness.mjs +785 -0
package/dist/src/db.js CHANGED
@@ -3,181 +3,181 @@ import * as sqliteVec from 'sqlite-vec';
3
3
  import { join } from 'node:path';
4
4
  import { mkdirSync, existsSync } from 'node:fs';
5
5
  import { createFTSTables, backfillFTS } from './fts.js';
6
- const SCHEMA = `
7
- CREATE TABLE IF NOT EXISTS episodes (
8
- id TEXT PRIMARY KEY,
9
- content TEXT NOT NULL,
10
- embedding BLOB,
11
- source TEXT NOT NULL CHECK(source IN ('direct-observation','told-by-user','tool-result','inference','model-generated')),
12
- agent TEXT DEFAULT 'default',
13
- source_reliability REAL NOT NULL,
14
- salience REAL DEFAULT 0.5,
15
- context TEXT DEFAULT '{}',
16
- affect TEXT DEFAULT '{}',
17
- tags TEXT,
18
- causal_trigger TEXT,
19
- causal_consequence TEXT,
20
- created_at TEXT NOT NULL,
21
- embedding_model TEXT,
22
- embedding_version TEXT,
23
- supersedes TEXT,
24
- superseded_by TEXT,
25
- consolidated INTEGER DEFAULT 0,
26
- private INTEGER DEFAULT 0,
27
- FOREIGN KEY (supersedes) REFERENCES episodes(id)
28
- );
29
-
30
- CREATE TABLE IF NOT EXISTS semantics (
31
- id TEXT PRIMARY KEY,
32
- content TEXT NOT NULL,
33
- agent TEXT DEFAULT 'default',
34
- embedding BLOB,
35
- state TEXT DEFAULT 'active' CHECK(state IN ('active','disputed','superseded','context_dependent','dormant','rolled_back')),
36
- conditions TEXT,
37
- evidence_episode_ids TEXT,
38
- evidence_count INTEGER DEFAULT 0,
39
- supporting_count INTEGER DEFAULT 0,
40
- contradicting_count INTEGER DEFAULT 0,
41
- source_type_diversity INTEGER DEFAULT 0,
42
- consolidation_checkpoint TEXT,
43
- embedding_model TEXT,
44
- embedding_version TEXT,
45
- consolidation_model TEXT,
46
- consolidation_prompt_hash TEXT,
47
- created_at TEXT NOT NULL,
48
- last_reinforced_at TEXT,
49
- retrieval_count INTEGER DEFAULT 0,
50
- challenge_count INTEGER DEFAULT 0,
51
- interference_count INTEGER DEFAULT 0,
52
- salience REAL DEFAULT 0.5
53
- );
54
-
55
- CREATE TABLE IF NOT EXISTS procedures (
56
- id TEXT PRIMARY KEY,
57
- content TEXT NOT NULL,
58
- agent TEXT DEFAULT 'default',
59
- embedding BLOB,
60
- state TEXT DEFAULT 'active' CHECK(state IN ('active','disputed','superseded','context_dependent','dormant','rolled_back')),
61
- trigger_conditions TEXT,
62
- evidence_episode_ids TEXT,
63
- success_count INTEGER DEFAULT 0,
64
- failure_count INTEGER DEFAULT 0,
65
- embedding_model TEXT,
66
- embedding_version TEXT,
67
- created_at TEXT NOT NULL,
68
- last_reinforced_at TEXT,
69
- retrieval_count INTEGER DEFAULT 0,
70
- interference_count INTEGER DEFAULT 0,
71
- salience REAL DEFAULT 0.5
72
- );
73
-
74
- CREATE TABLE IF NOT EXISTS causal_links (
75
- id TEXT PRIMARY KEY,
76
- cause_id TEXT NOT NULL,
77
- effect_id TEXT NOT NULL,
78
- link_type TEXT DEFAULT 'causal' CHECK(link_type IN ('causal','correlational','temporal')),
79
- mechanism TEXT,
80
- confidence REAL,
81
- evidence_count INTEGER DEFAULT 1,
82
- created_at TEXT NOT NULL
83
- );
84
-
85
- CREATE TABLE IF NOT EXISTS contradictions (
86
- id TEXT PRIMARY KEY,
87
- claim_a_id TEXT NOT NULL,
88
- claim_b_id TEXT NOT NULL,
89
- claim_a_type TEXT NOT NULL,
90
- claim_b_type TEXT NOT NULL,
91
- state TEXT DEFAULT 'open' CHECK(state IN ('open','resolved','context_dependent','reopened')),
92
- resolution TEXT,
93
- resolved_at TEXT,
94
- reopened_at TEXT,
95
- reopen_evidence_id TEXT,
96
- created_at TEXT NOT NULL
97
- );
98
-
99
- CREATE TABLE IF NOT EXISTS consolidation_runs (
100
- id TEXT PRIMARY KEY,
101
- checkpoint_cursor TEXT,
102
- input_episode_ids TEXT,
103
- output_memory_ids TEXT,
104
- confidence_deltas TEXT,
105
- consolidation_model TEXT,
106
- consolidation_prompt_hash TEXT,
107
- started_at TEXT,
108
- completed_at TEXT,
109
- status TEXT DEFAULT 'running' CHECK(status IN ('running','completed','failed','rolled_back'))
110
- );
111
-
112
- CREATE TABLE IF NOT EXISTS audrey_config (
113
- key TEXT PRIMARY KEY,
114
- value TEXT NOT NULL
115
- );
116
-
117
- CREATE TABLE IF NOT EXISTS consolidation_metrics (
118
- id TEXT PRIMARY KEY,
119
- run_id TEXT NOT NULL,
120
- min_cluster_size INTEGER NOT NULL,
121
- similarity_threshold REAL NOT NULL,
122
- episodes_evaluated INTEGER NOT NULL,
123
- clusters_found INTEGER NOT NULL,
124
- principles_extracted INTEGER NOT NULL,
125
- created_at TEXT NOT NULL,
126
- FOREIGN KEY (run_id) REFERENCES consolidation_runs(id)
127
- );
128
-
129
- CREATE TABLE IF NOT EXISTS memory_events (
130
- id TEXT PRIMARY KEY,
131
- session_id TEXT,
132
- event_type TEXT NOT NULL,
133
- source TEXT NOT NULL,
134
- actor_agent TEXT,
135
- tool_name TEXT,
136
- input_hash TEXT,
137
- output_hash TEXT,
138
- outcome TEXT CHECK(outcome IN ('succeeded','failed','blocked','skipped','unknown') OR outcome IS NULL),
139
- error_summary TEXT,
140
- cwd TEXT,
141
- file_fingerprints TEXT,
142
- redaction_state TEXT DEFAULT 'unreviewed' CHECK(redaction_state IN ('unreviewed','redacted','clean','quarantined')),
143
- metadata TEXT,
144
- created_at TEXT NOT NULL
145
- );
146
-
147
- CREATE INDEX IF NOT EXISTS idx_episodes_created ON episodes(created_at);
148
- CREATE INDEX IF NOT EXISTS idx_episodes_consolidated ON episodes(consolidated);
149
- CREATE INDEX IF NOT EXISTS idx_episodes_source ON episodes(source);
150
- CREATE INDEX IF NOT EXISTS idx_semantics_state ON semantics(state);
151
- CREATE INDEX IF NOT EXISTS idx_procedures_state ON procedures(state);
152
- CREATE INDEX IF NOT EXISTS idx_contradictions_state ON contradictions(state);
153
- CREATE INDEX IF NOT EXISTS idx_consolidation_status ON consolidation_runs(status);
154
- CREATE INDEX IF NOT EXISTS idx_memory_events_session ON memory_events(session_id);
155
- CREATE INDEX IF NOT EXISTS idx_memory_events_tool ON memory_events(tool_name);
156
- CREATE INDEX IF NOT EXISTS idx_memory_events_created ON memory_events(created_at);
157
- CREATE INDEX IF NOT EXISTS idx_memory_events_outcome ON memory_events(outcome);
6
+ const SCHEMA = `
7
+ CREATE TABLE IF NOT EXISTS episodes (
8
+ id TEXT PRIMARY KEY,
9
+ content TEXT NOT NULL,
10
+ embedding BLOB,
11
+ source TEXT NOT NULL CHECK(source IN ('direct-observation','told-by-user','tool-result','inference','model-generated')),
12
+ agent TEXT DEFAULT 'default',
13
+ source_reliability REAL NOT NULL,
14
+ salience REAL DEFAULT 0.5,
15
+ context TEXT DEFAULT '{}',
16
+ affect TEXT DEFAULT '{}',
17
+ tags TEXT,
18
+ causal_trigger TEXT,
19
+ causal_consequence TEXT,
20
+ created_at TEXT NOT NULL,
21
+ embedding_model TEXT,
22
+ embedding_version TEXT,
23
+ supersedes TEXT,
24
+ superseded_by TEXT,
25
+ consolidated INTEGER DEFAULT 0,
26
+ private INTEGER DEFAULT 0,
27
+ FOREIGN KEY (supersedes) REFERENCES episodes(id)
28
+ );
29
+
30
+ CREATE TABLE IF NOT EXISTS semantics (
31
+ id TEXT PRIMARY KEY,
32
+ content TEXT NOT NULL,
33
+ agent TEXT DEFAULT 'default',
34
+ embedding BLOB,
35
+ state TEXT DEFAULT 'active' CHECK(state IN ('active','disputed','superseded','context_dependent','dormant','rolled_back')),
36
+ conditions TEXT,
37
+ evidence_episode_ids TEXT,
38
+ evidence_count INTEGER DEFAULT 0,
39
+ supporting_count INTEGER DEFAULT 0,
40
+ contradicting_count INTEGER DEFAULT 0,
41
+ source_type_diversity INTEGER DEFAULT 0,
42
+ consolidation_checkpoint TEXT,
43
+ embedding_model TEXT,
44
+ embedding_version TEXT,
45
+ consolidation_model TEXT,
46
+ consolidation_prompt_hash TEXT,
47
+ created_at TEXT NOT NULL,
48
+ last_reinforced_at TEXT,
49
+ retrieval_count INTEGER DEFAULT 0,
50
+ challenge_count INTEGER DEFAULT 0,
51
+ interference_count INTEGER DEFAULT 0,
52
+ salience REAL DEFAULT 0.5
53
+ );
54
+
55
+ CREATE TABLE IF NOT EXISTS procedures (
56
+ id TEXT PRIMARY KEY,
57
+ content TEXT NOT NULL,
58
+ agent TEXT DEFAULT 'default',
59
+ embedding BLOB,
60
+ state TEXT DEFAULT 'active' CHECK(state IN ('active','disputed','superseded','context_dependent','dormant','rolled_back')),
61
+ trigger_conditions TEXT,
62
+ evidence_episode_ids TEXT,
63
+ success_count INTEGER DEFAULT 0,
64
+ failure_count INTEGER DEFAULT 0,
65
+ embedding_model TEXT,
66
+ embedding_version TEXT,
67
+ created_at TEXT NOT NULL,
68
+ last_reinforced_at TEXT,
69
+ retrieval_count INTEGER DEFAULT 0,
70
+ interference_count INTEGER DEFAULT 0,
71
+ salience REAL DEFAULT 0.5
72
+ );
73
+
74
+ CREATE TABLE IF NOT EXISTS causal_links (
75
+ id TEXT PRIMARY KEY,
76
+ cause_id TEXT NOT NULL,
77
+ effect_id TEXT NOT NULL,
78
+ link_type TEXT DEFAULT 'causal' CHECK(link_type IN ('causal','correlational','temporal')),
79
+ mechanism TEXT,
80
+ confidence REAL,
81
+ evidence_count INTEGER DEFAULT 1,
82
+ created_at TEXT NOT NULL
83
+ );
84
+
85
+ CREATE TABLE IF NOT EXISTS contradictions (
86
+ id TEXT PRIMARY KEY,
87
+ claim_a_id TEXT NOT NULL,
88
+ claim_b_id TEXT NOT NULL,
89
+ claim_a_type TEXT NOT NULL,
90
+ claim_b_type TEXT NOT NULL,
91
+ state TEXT DEFAULT 'open' CHECK(state IN ('open','resolved','context_dependent','reopened')),
92
+ resolution TEXT,
93
+ resolved_at TEXT,
94
+ reopened_at TEXT,
95
+ reopen_evidence_id TEXT,
96
+ created_at TEXT NOT NULL
97
+ );
98
+
99
+ CREATE TABLE IF NOT EXISTS consolidation_runs (
100
+ id TEXT PRIMARY KEY,
101
+ checkpoint_cursor TEXT,
102
+ input_episode_ids TEXT,
103
+ output_memory_ids TEXT,
104
+ confidence_deltas TEXT,
105
+ consolidation_model TEXT,
106
+ consolidation_prompt_hash TEXT,
107
+ started_at TEXT,
108
+ completed_at TEXT,
109
+ status TEXT DEFAULT 'running' CHECK(status IN ('running','completed','failed','rolled_back'))
110
+ );
111
+
112
+ CREATE TABLE IF NOT EXISTS audrey_config (
113
+ key TEXT PRIMARY KEY,
114
+ value TEXT NOT NULL
115
+ );
116
+
117
+ CREATE TABLE IF NOT EXISTS consolidation_metrics (
118
+ id TEXT PRIMARY KEY,
119
+ run_id TEXT NOT NULL,
120
+ min_cluster_size INTEGER NOT NULL,
121
+ similarity_threshold REAL NOT NULL,
122
+ episodes_evaluated INTEGER NOT NULL,
123
+ clusters_found INTEGER NOT NULL,
124
+ principles_extracted INTEGER NOT NULL,
125
+ created_at TEXT NOT NULL,
126
+ FOREIGN KEY (run_id) REFERENCES consolidation_runs(id)
127
+ );
128
+
129
+ CREATE TABLE IF NOT EXISTS memory_events (
130
+ id TEXT PRIMARY KEY,
131
+ session_id TEXT,
132
+ event_type TEXT NOT NULL,
133
+ source TEXT NOT NULL,
134
+ actor_agent TEXT,
135
+ tool_name TEXT,
136
+ input_hash TEXT,
137
+ output_hash TEXT,
138
+ outcome TEXT CHECK(outcome IN ('succeeded','failed','blocked','skipped','unknown') OR outcome IS NULL),
139
+ error_summary TEXT,
140
+ cwd TEXT,
141
+ file_fingerprints TEXT,
142
+ redaction_state TEXT DEFAULT 'unreviewed' CHECK(redaction_state IN ('unreviewed','redacted','clean','quarantined')),
143
+ metadata TEXT,
144
+ created_at TEXT NOT NULL
145
+ );
146
+
147
+ CREATE INDEX IF NOT EXISTS idx_episodes_created ON episodes(created_at);
148
+ CREATE INDEX IF NOT EXISTS idx_episodes_consolidated ON episodes(consolidated);
149
+ CREATE INDEX IF NOT EXISTS idx_episodes_source ON episodes(source);
150
+ CREATE INDEX IF NOT EXISTS idx_semantics_state ON semantics(state);
151
+ CREATE INDEX IF NOT EXISTS idx_procedures_state ON procedures(state);
152
+ CREATE INDEX IF NOT EXISTS idx_contradictions_state ON contradictions(state);
153
+ CREATE INDEX IF NOT EXISTS idx_consolidation_status ON consolidation_runs(status);
154
+ CREATE INDEX IF NOT EXISTS idx_memory_events_session ON memory_events(session_id);
155
+ CREATE INDEX IF NOT EXISTS idx_memory_events_tool ON memory_events(tool_name);
156
+ CREATE INDEX IF NOT EXISTS idx_memory_events_created ON memory_events(created_at);
157
+ CREATE INDEX IF NOT EXISTS idx_memory_events_outcome ON memory_events(outcome);
158
158
  `;
159
159
  export function createVec0Tables(db, dimensions) {
160
- db.exec(`
161
- CREATE VIRTUAL TABLE IF NOT EXISTS vec_episodes USING vec0(
162
- id text primary key,
163
- embedding float[${dimensions}] distance_metric=cosine,
164
- source text,
165
- consolidated integer
166
- );
160
+ db.exec(`
161
+ CREATE VIRTUAL TABLE IF NOT EXISTS vec_episodes USING vec0(
162
+ id text primary key,
163
+ embedding float[${dimensions}] distance_metric=cosine,
164
+ source text,
165
+ consolidated integer
166
+ );
167
167
  `);
168
- db.exec(`
169
- CREATE VIRTUAL TABLE IF NOT EXISTS vec_semantics USING vec0(
170
- id text primary key,
171
- embedding float[${dimensions}] distance_metric=cosine,
172
- state text
173
- );
168
+ db.exec(`
169
+ CREATE VIRTUAL TABLE IF NOT EXISTS vec_semantics USING vec0(
170
+ id text primary key,
171
+ embedding float[${dimensions}] distance_metric=cosine,
172
+ state text
173
+ );
174
174
  `);
175
- db.exec(`
176
- CREATE VIRTUAL TABLE IF NOT EXISTS vec_procedures USING vec0(
177
- id text primary key,
178
- embedding float[${dimensions}] distance_metric=cosine,
179
- state text
180
- );
175
+ db.exec(`
176
+ CREATE VIRTUAL TABLE IF NOT EXISTS vec_procedures USING vec0(
177
+ id text primary key,
178
+ embedding float[${dimensions}] distance_metric=cosine,
179
+ state text
180
+ );
181
181
  `);
182
182
  }
183
183
  export function dropVec0Tables(db) {
@@ -307,7 +307,7 @@ function runMigrations(db) {
307
307
  for (const migration of pending) {
308
308
  migration.up(db);
309
309
  }
310
- db.prepare(`INSERT INTO audrey_config (key, value) VALUES ('schema_version', ?)
310
+ db.prepare(`INSERT INTO audrey_config (key, value) VALUES ('schema_version', ?)
311
311
  ON CONFLICT(key) DO UPDATE SET value = excluded.value`).run(String(SCHEMA_VERSION));
312
312
  }
313
313
  export function createDatabase(dataDir, options = {}) {
package/dist/src/decay.js CHANGED
@@ -5,15 +5,15 @@ export function applyDecay(db, { dormantThreshold = 0.1, halfLives } = {}) {
5
5
  const now = new Date();
6
6
  let totalEvaluated = 0;
7
7
  let transitionedToDormant = 0;
8
- const selectActiveSemantics = db.prepare(`
9
- SELECT id, supporting_count, contradicting_count, created_at,
10
- last_reinforced_at, retrieval_count, interference_count, salience
11
- FROM semantics WHERE state = 'active'
8
+ const selectActiveSemantics = db.prepare(`
9
+ SELECT id, supporting_count, contradicting_count, created_at,
10
+ last_reinforced_at, retrieval_count, interference_count, salience
11
+ FROM semantics WHERE state = 'active'
12
12
  `);
13
- const selectActiveProcedures = db.prepare(`
14
- SELECT id, success_count, failure_count, created_at,
15
- last_reinforced_at, retrieval_count, interference_count, salience
16
- FROM procedures WHERE state = 'active'
13
+ const selectActiveProcedures = db.prepare(`
14
+ SELECT id, success_count, failure_count, created_at,
15
+ last_reinforced_at, retrieval_count, interference_count, salience
16
+ FROM procedures WHERE state = 'active'
17
17
  `);
18
18
  const markDormantSem = db.prepare('UPDATE semantics SET state = ? WHERE id = ?');
19
19
  const markDormantProc = db.prepare('UPDATE procedures SET state = ? WHERE id = ?');
@@ -14,9 +14,10 @@ export declare class OpenAIEmbeddingProvider implements EmbeddingProvider {
14
14
  model: string;
15
15
  dimensions: number;
16
16
  timeout: number;
17
+ batchSize: number;
17
18
  modelName: string;
18
19
  modelVersion: string;
19
- constructor({ apiKey, model, dimensions, timeout }?: Partial<EmbeddingConfig>);
20
+ constructor({ apiKey, model, dimensions, timeout, batchSize }?: Partial<EmbeddingConfig>);
20
21
  embed(text: string): Promise<number[]>;
21
22
  embedBatch(texts: string[]): Promise<number[][]>;
22
23
  vectorToBuffer(vector: number[]): Buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/embedding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/embedding.ts"],"names":[],"mappings":"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"}
@@ -33,13 +33,15 @@ export class OpenAIEmbeddingProvider {
33
33
  model;
34
34
  dimensions;
35
35
  timeout;
36
+ batchSize;
36
37
  modelName;
37
38
  modelVersion;
38
- constructor({ apiKey, model = 'text-embedding-3-small', dimensions = 1536, timeout = 30000 } = {}) {
39
+ constructor({ apiKey, model = 'text-embedding-3-small', dimensions = 1536, timeout = 30000, batchSize = 256 } = {}) {
39
40
  this.apiKey = apiKey || process.env.OPENAI_API_KEY;
40
41
  this.model = model ?? 'text-embedding-3-small';
41
42
  this.dimensions = dimensions ?? 1536;
42
43
  this.timeout = timeout ?? 30000;
44
+ this.batchSize = Math.max(1, Math.floor(batchSize ?? 256));
43
45
  this.modelName = this.model;
44
46
  this.modelVersion = 'latest';
45
47
  }
@@ -70,38 +72,46 @@ export class OpenAIEmbeddingProvider {
70
72
  }
71
73
  }
72
74
  async embedBatch(texts) {
75
+ if (texts.length === 0)
76
+ return [];
73
77
  requireApiKey(this.apiKey, 'OpenAI embedding', 'OPENAI_API_KEY');
74
- const controller = new AbortController();
75
- const timer = setTimeout(() => controller.abort(), this.timeout);
76
- try {
77
- const response = await fetch('https://api.openai.com/v1/embeddings', {
78
- method: 'POST',
79
- headers: {
80
- 'Authorization': `Bearer ${this.apiKey}`,
81
- 'Content-Type': 'application/json',
82
- },
83
- body: JSON.stringify({ input: texts, model: this.model, dimensions: this.dimensions }),
84
- signal: controller.signal,
85
- });
86
- if (!response.ok)
87
- throw new Error(`OpenAI embedding failed: ${await describeHttpError(response)}`);
88
- const data = await response.json();
89
- if (!Array.isArray(data.data) || data.data.length === 0) {
90
- throw new Error('OpenAI embedBatch response contained no embeddings');
91
- }
92
- const out = [];
93
- for (let i = 0; i < data.data.length; i++) {
94
- const emb = data.data[i]?.embedding;
95
- if (!Array.isArray(emb)) {
96
- throw new Error(`OpenAI embedBatch response missing embedding at index ${i}`);
78
+ const out = [];
79
+ for (let offset = 0; offset < texts.length; offset += this.batchSize) {
80
+ const chunk = texts.slice(offset, offset + this.batchSize);
81
+ const controller = new AbortController();
82
+ const timer = setTimeout(() => controller.abort(), this.timeout);
83
+ try {
84
+ const response = await fetch('https://api.openai.com/v1/embeddings', {
85
+ method: 'POST',
86
+ headers: {
87
+ 'Authorization': `Bearer ${this.apiKey}`,
88
+ 'Content-Type': 'application/json',
89
+ },
90
+ body: JSON.stringify({ input: chunk, model: this.model, dimensions: this.dimensions }),
91
+ signal: controller.signal,
92
+ });
93
+ if (!response.ok)
94
+ throw new Error(`OpenAI embedding failed: ${await describeHttpError(response)}`);
95
+ const data = await response.json();
96
+ if (!Array.isArray(data.data) || data.data.length === 0) {
97
+ throw new Error('OpenAI embedBatch response contained no embeddings');
98
+ }
99
+ if (data.data.length !== chunk.length) {
100
+ throw new Error(`OpenAI embedBatch returned ${data.data.length} embeddings for ${chunk.length} inputs at offset ${offset}`);
101
+ }
102
+ for (let i = 0; i < data.data.length; i++) {
103
+ const emb = data.data[i]?.embedding;
104
+ if (!Array.isArray(emb)) {
105
+ throw new Error(`OpenAI embedBatch response missing embedding at index ${offset + i}`);
106
+ }
107
+ out.push(emb);
97
108
  }
98
- out.push(emb);
99
109
  }
100
- return out;
101
- }
102
- finally {
103
- clearTimeout(timer);
110
+ finally {
111
+ clearTimeout(timer);
112
+ }
104
113
  }
114
+ return out;
105
115
  }
106
116
  vectorToBuffer(vector) {
107
117
  return Buffer.from(new Float32Array(vector).buffer);
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../src/embedding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,OAAO,qBAAqB;IAChC,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,YAAY,CAAS;IAErB,YAAY,EAAE,UAAU,GAAG,EAAE,KAA+B,EAAE;QAC5D,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAE,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAE,GAAG,CAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,GAAG,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAe;QAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,cAAc,CAAC,MAAgB;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF;AAED,MAAM,OAAO,uBAAuB;IAClC,MAAM,CAAqB;IAC3B,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,OAAO,CAAS;IAChB,SAAS,CAAS;IAClB,YAAY,CAAS;IAErB,YAAY,EAAE,MAAM,EAAE,KAAK,GAAG,wBAAwB,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,GAAG,KAAK,KAA+B,EAAE;QACzH,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,wBAAwB,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,sCAAsC,EAAE;gBACnE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;oBACxC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrF,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA0C,CAAC;YAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;YACxC,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACjF,OAAO,KAAK,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAe;QAC9B,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,sCAAsC,EAAE;gBACnE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;oBACxC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtF,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA2C,CAAC;YAC5E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,GAAG,GAAe,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;gBACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,EAAE,CAAC,CAAC;gBAChF,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,cAAc,CAAC,MAAgB;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF;AAED,MAAM,OAAO,sBAAsB;IACjC,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,YAAY,CAAS;IACrB,MAAM,CAAS;IACf,SAAS,CAAS;IAClB,eAAe,CAAgG;IAC/G,SAAS,CAAM,CAAC,yDAAyD;IACzE,aAAa,CAAuB;IACpC,aAAa,CAAgB;IAE7B,YAAY,EAAE,KAAK,GAAG,yBAAyB,EAAE,MAAM,GAAG,KAAK,EAAE,SAAS,GAAG,EAAE,EAAE,eAAe,GAAG,IAAI,KAA+B,EAAE;QACtI,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,yBAAyB,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,IAAI,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC/B,IAAI,QAAkD,CAAC;gBACvD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;oBACrD,QAAQ,GAAG,EAAE,CAAC,QAA+D,CAAC;gBAChF,CAAC;gBACD,uEAAuE;gBACvE,yEAAyE;gBACzE,+EAA+E;gBAC/E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG,CAAC;gBACxD,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;gBACrE,IAAI,CAAC;oBACH,IAAI,CAAC,SAAS,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,EAAE;wBAChE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAuB;wBACnD,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC7B,CAAC,CAAC;oBACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;gBACnC,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,CAAC,SAAS,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,EAAE;wBAChE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;wBAC5B,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC7B,CAAC,CAAC;oBACrC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAoB,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAe;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,GAAI,MAAM,CAAC,MAAM,EAAiB,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,cAAc,CAAC,MAAgB;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF;AAED,MAAM,OAAO,uBAAuB;IAClC,MAAM,CAAqB;IAC3B,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,OAAO,CAAS;IAChB,SAAS,CAAS;IAClB,YAAY,CAAS;IAErB,YAAY,EAAE,MAAM,EAAE,KAAK,GAAG,sBAAsB,EAAE,OAAO,GAAG,KAAK,KAA+B,EAAE;QACpG,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,sBAAsB,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,2DAA2D,IAAI,CAAC,KAAK,eAAe,EACpF;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,IAAI,CAAC,MAAM,EAAE;gBAC9E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvF,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CACF,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAyC,CAAC;YAC1E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAe;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACjE,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,2DAA2D,IAAI,CAAC,KAAK,qBAAqB,EAC1F;oBACE,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,IAAI,CAAC,MAAM,EAAE;oBAC9E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BAC3B,KAAK,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;4BAC7B,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;yBAC/B,CAAC,CAAC;qBACJ,CAAC;oBACF,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CACF,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACzG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA4C,CAAC;gBAC7E,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,cAAc,CAAC,MAAgB;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAuB;IAC7D,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC3C,KAAK,QAAQ;YACX,OAAO,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,OAAO;YACV,OAAO,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC5C,KAAK,QAAQ;YACX,OAAO,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC7C;YACE,MAAM,IAAI,KAAK,CAAC,+BAAgC,MAA0B,CAAC,QAAQ,sCAAsC,CAAC,CAAC;IAC/H,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../src/embedding.ts"],"names":[],"mappings":"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"}
@@ -25,12 +25,12 @@ export async function encodeEpisode(db, embeddingProvider, { content, source, ag
25
25
  // below 0, which propagates as a negative confidence multiplier downstream.
26
26
  const effectiveSalience = Math.max(0, Math.min(1.0, salience + (boost * arousalWeight)));
27
27
  const insertAndLink = db.transaction(() => {
28
- db.prepare(`
29
- INSERT INTO episodes (
30
- id, content, embedding, source, agent, source_reliability, salience, context, affect,
31
- tags, causal_trigger, causal_consequence, created_at,
32
- embedding_model, embedding_version, supersedes, "private"
33
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
28
+ db.prepare(`
29
+ INSERT INTO episodes (
30
+ id, content, embedding, source, agent, source_reliability, salience, context, affect,
31
+ tags, causal_trigger, causal_consequence, created_at,
32
+ embedding_model, embedding_version, supersedes, "private"
33
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
34
34
  `).run(id, content, embeddingBuffer, source, agent, reliability, effectiveSalience, JSON.stringify(context), JSON.stringify(affect), tags ? JSON.stringify(tags) : null, causal?.trigger || null, causal?.consequence || null, now, embeddingProvider.modelName, embeddingProvider.modelVersion, supersedes || null, isPrivate ? 1 : 0);
35
35
  db.prepare('INSERT INTO vec_episodes(id, embedding, source, consolidated) VALUES (?, ?, ?, ?)').run(id, embeddingBuffer, source, BigInt(0));
36
36
  insertFTSEpisode(db, id, content, tags ?? null);
@@ -3,6 +3,9 @@ export type MemoryValidateOutcome = 'used' | 'helpful' | 'wrong';
3
3
  export interface MemoryValidateInput {
4
4
  id: string;
5
5
  outcome: MemoryValidateOutcome;
6
+ preflightEventId?: string;
7
+ actionKey?: string;
8
+ evidenceIds?: string[];
6
9
  }
7
10
  export type MemoryType = 'episodic' | 'semantic' | 'procedural';
8
11
  export interface MemoryValidateResult {
@@ -14,6 +17,9 @@ export interface MemoryValidateResult {
14
17
  retrievalCount: number | null;
15
18
  challengeCount: number | null;
16
19
  state: string | null;
20
+ preflightEventId?: string;
21
+ actionKey?: string;
22
+ evidenceIds?: string[];
17
23
  }
18
24
  /**
19
25
  * Apply an agent-supplied feedback signal to a memory. The closed-loop
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AA4DD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,IAAI,CA2E5G"}
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,qBAAqB,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AA4DD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,IAAI,CAiF5G"}
@@ -107,6 +107,9 @@ export function applyFeedback(db, input) {
107
107
  retrievalCount: null,
108
108
  challengeCount: null,
109
109
  state: null,
110
+ ...(input.preflightEventId ? { preflightEventId: input.preflightEventId } : {}),
111
+ ...(input.actionKey ? { actionKey: input.actionKey } : {}),
112
+ ...(input.evidenceIds ? { evidenceIds: input.evidenceIds } : {}),
110
113
  };
111
114
  }
112
115
  return {
@@ -118,6 +121,9 @@ export function applyFeedback(db, input) {
118
121
  retrievalCount: fresh.retrieval_count,
119
122
  challengeCount: fresh.challenge_count,
120
123
  state: fresh.state,
124
+ ...(input.preflightEventId ? { preflightEventId: input.preflightEventId } : {}),
125
+ ...(input.actionKey ? { actionKey: input.actionKey } : {}),
126
+ ...(input.evidenceIds ? { evidenceIds: input.evidenceIds } : {}),
121
127
  };
122
128
  }
123
129
  //# sourceMappingURL=feedback.js.map