audrey 1.1.2 → 1.2.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.
- package/CHANGELOG.md +101 -0
- package/README.md +39 -12
- package/dist/mcp-server/codex-hooks-probe.d.ts +22 -0
- package/dist/mcp-server/codex-hooks-probe.d.ts.map +1 -0
- package/dist/mcp-server/codex-hooks-probe.js +160 -0
- package/dist/mcp-server/codex-hooks-probe.js.map +1 -0
- package/dist/mcp-server/config.d.ts +26 -2
- package/dist/mcp-server/config.d.ts.map +1 -1
- package/dist/mcp-server/config.js +52 -20
- package/dist/mcp-server/config.js.map +1 -1
- package/dist/mcp-server/hooks.d.ts +28 -0
- package/dist/mcp-server/hooks.d.ts.map +1 -1
- package/dist/mcp-server/hooks.js +91 -2
- package/dist/mcp-server/hooks.js.map +1 -1
- package/dist/mcp-server/index.d.ts +242 -2
- package/dist/mcp-server/index.d.ts.map +1 -1
- package/dist/mcp-server/index.js +806 -240
- package/dist/mcp-server/index.js.map +1 -1
- package/dist/mcp-server/tool-schemas.d.ts +32 -2
- package/dist/mcp-server/tool-schemas.d.ts.map +1 -1
- package/dist/mcp-server/tool-schemas.js +55 -0
- package/dist/mcp-server/tool-schemas.js.map +1 -1
- package/dist/src/audrey.d.ts +14 -2
- package/dist/src/audrey.d.ts.map +1 -1
- package/dist/src/audrey.js +152 -28
- package/dist/src/audrey.js.map +1 -1
- package/dist/src/autopilot.d.ts +22 -0
- package/dist/src/autopilot.d.ts.map +1 -1
- package/dist/src/autopilot.js +271 -50
- package/dist/src/autopilot.js.map +1 -1
- package/dist/src/capsule.d.ts +23 -0
- package/dist/src/capsule.d.ts.map +1 -1
- package/dist/src/capsule.js +56 -11
- package/dist/src/capsule.js.map +1 -1
- package/dist/src/confidence.d.ts +9 -1
- package/dist/src/confidence.d.ts.map +1 -1
- package/dist/src/confidence.js +16 -2
- package/dist/src/confidence.js.map +1 -1
- package/dist/src/consolidate.d.ts +4 -0
- package/dist/src/consolidate.d.ts.map +1 -1
- package/dist/src/consolidate.js +206 -34
- package/dist/src/consolidate.js.map +1 -1
- package/dist/src/controller.d.ts +17 -1
- package/dist/src/controller.d.ts.map +1 -1
- package/dist/src/controller.js +244 -128
- package/dist/src/controller.js.map +1 -1
- package/dist/src/db.d.ts.map +1 -1
- package/dist/src/db.js +233 -56
- package/dist/src/db.js.map +1 -1
- package/dist/src/encode.d.ts +2 -1
- package/dist/src/encode.d.ts.map +1 -1
- package/dist/src/encode.js +41 -4
- package/dist/src/encode.js.map +1 -1
- package/dist/src/events.d.ts +48 -1
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +160 -62
- package/dist/src/events.js.map +1 -1
- package/dist/src/export.d.ts.map +1 -1
- package/dist/src/export.js +4 -4
- package/dist/src/export.js.map +1 -1
- package/dist/src/grounding.d.ts +111 -0
- package/dist/src/grounding.d.ts.map +1 -0
- package/dist/src/grounding.js +259 -0
- package/dist/src/grounding.js.map +1 -0
- package/dist/src/hybrid-recall.d.ts +16 -7
- package/dist/src/hybrid-recall.d.ts.map +1 -1
- package/dist/src/hybrid-recall.js +22 -11
- package/dist/src/hybrid-recall.js.map +1 -1
- package/dist/src/import.d.ts +10 -0
- package/dist/src/import.d.ts.map +1 -1
- package/dist/src/import.js +122 -22
- package/dist/src/import.js.map +1 -1
- package/dist/src/llm.d.ts.map +1 -1
- package/dist/src/llm.js +16 -0
- package/dist/src/llm.js.map +1 -1
- package/dist/src/preflight.d.ts.map +1 -1
- package/dist/src/preflight.js +89 -47
- package/dist/src/preflight.js.map +1 -1
- package/dist/src/project.d.ts +4 -1
- package/dist/src/project.d.ts.map +1 -1
- package/dist/src/project.js +65 -5
- package/dist/src/project.js.map +1 -1
- package/dist/src/recall.d.ts.map +1 -1
- package/dist/src/recall.js +138 -13
- package/dist/src/recall.js.map +1 -1
- package/dist/src/redact.d.ts +1 -1
- package/dist/src/redact.d.ts.map +1 -1
- package/dist/src/redact.js +185 -5
- package/dist/src/redact.js.map +1 -1
- package/dist/src/routes.d.ts.map +1 -1
- package/dist/src/routes.js +91 -18
- package/dist/src/routes.js.map +1 -1
- package/dist/src/trust.d.ts +35 -0
- package/dist/src/trust.d.ts.map +1 -0
- package/dist/src/trust.js +77 -0
- package/dist/src/trust.js.map +1 -0
- package/dist/src/types.d.ts +24 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +4 -38
- package/benchmarks/adapter-kit.mjs +0 -20
- package/benchmarks/adapter-self-test.mjs +0 -170
- package/benchmarks/adapters/example-allow.mjs +0 -31
- package/benchmarks/adapters/mem0-platform.mjs +0 -274
- package/benchmarks/adapters/registry.json +0 -51
- package/benchmarks/adapters/zep-cloud.mjs +0 -304
- package/benchmarks/baselines.js +0 -174
- package/benchmarks/build-leaderboard.mjs +0 -183
- package/benchmarks/cases.js +0 -549
- package/benchmarks/create-conformance-card.mjs +0 -148
- package/benchmarks/create-submission-bundle.mjs +0 -190
- package/benchmarks/dry-run-external-adapters.mjs +0 -177
- package/benchmarks/guardbench.js +0 -1265
- package/benchmarks/output/adapter-self-test/guardbench-adapter-self-test.json +0 -50
- package/benchmarks/output/external/guardbench-external-dry-run.json +0 -69
- package/benchmarks/output/external/guardbench-external-evidence.json +0 -56
- package/benchmarks/output/guardbench-conformance-card.json +0 -63
- package/benchmarks/output/guardbench-manifest.json +0 -414
- package/benchmarks/output/guardbench-raw.json +0 -1279
- package/benchmarks/output/guardbench-summary.json +0 -2123
- package/benchmarks/output/leaderboard/guardbench-leaderboard.json +0 -93
- package/benchmarks/output/leaderboard/guardbench-leaderboard.md +0 -7
- package/benchmarks/output/submission-bundle/guardbench-conformance-card.json +0 -63
- package/benchmarks/output/submission-bundle/guardbench-manifest.json +0 -414
- package/benchmarks/output/submission-bundle/guardbench-raw.json +0 -1279
- package/benchmarks/output/submission-bundle/guardbench-summary.json +0 -2123
- package/benchmarks/output/submission-bundle/schemas/guardbench-adapter-registry.schema.json +0 -69
- package/benchmarks/output/submission-bundle/schemas/guardbench-adapter-self-test.schema.json +0 -156
- package/benchmarks/output/submission-bundle/schemas/guardbench-conformance-card.schema.json +0 -184
- package/benchmarks/output/submission-bundle/schemas/guardbench-external-dry-run.schema.json +0 -74
- package/benchmarks/output/submission-bundle/schemas/guardbench-external-evidence.schema.json +0 -108
- package/benchmarks/output/submission-bundle/schemas/guardbench-external-run.schema.json +0 -160
- package/benchmarks/output/submission-bundle/schemas/guardbench-leaderboard.schema.json +0 -179
- package/benchmarks/output/submission-bundle/schemas/guardbench-manifest.schema.json +0 -213
- package/benchmarks/output/submission-bundle/schemas/guardbench-publication-verification.schema.json +0 -47
- package/benchmarks/output/submission-bundle/schemas/guardbench-raw.schema.json +0 -184
- package/benchmarks/output/submission-bundle/schemas/guardbench-submission-manifest.schema.json +0 -151
- package/benchmarks/output/submission-bundle/schemas/guardbench-summary.schema.json +0 -249
- package/benchmarks/output/submission-bundle/submission-manifest.json +0 -131
- package/benchmarks/output/submission-bundle/validation-report.json +0 -31
- package/benchmarks/output/summary.json +0 -2354
- package/benchmarks/perf-snapshot.js +0 -307
- package/benchmarks/perf.bench.js +0 -169
- package/benchmarks/public-paths.mjs +0 -97
- package/benchmarks/reference-results.js +0 -75
- package/benchmarks/report.js +0 -280
- package/benchmarks/run-external-guardbench.mjs +0 -303
- package/benchmarks/run.js +0 -735
- package/benchmarks/schemas/guardbench-adapter-registry.schema.json +0 -69
- package/benchmarks/schemas/guardbench-adapter-self-test.schema.json +0 -156
- package/benchmarks/schemas/guardbench-conformance-card.schema.json +0 -184
- package/benchmarks/schemas/guardbench-external-dry-run.schema.json +0 -74
- package/benchmarks/schemas/guardbench-external-evidence.schema.json +0 -108
- package/benchmarks/schemas/guardbench-external-run.schema.json +0 -160
- package/benchmarks/schemas/guardbench-leaderboard.schema.json +0 -179
- package/benchmarks/schemas/guardbench-manifest.schema.json +0 -213
- package/benchmarks/schemas/guardbench-publication-verification.schema.json +0 -47
- package/benchmarks/schemas/guardbench-raw.schema.json +0 -184
- package/benchmarks/schemas/guardbench-submission-manifest.schema.json +0 -151
- package/benchmarks/schemas/guardbench-summary.schema.json +0 -249
- package/benchmarks/snapshots/perf-0.22.2.json +0 -123
- package/benchmarks/snapshots/perf-0.23.0.json +0 -123
- package/benchmarks/validate-adapter-module.mjs +0 -107
- package/benchmarks/validate-adapter-registry.mjs +0 -145
- package/benchmarks/validate-adapter-self-test.mjs +0 -96
- package/benchmarks/validate-guardbench-artifacts.mjs +0 -400
- package/benchmarks/verify-external-evidence.mjs +0 -351
- package/benchmarks/verify-publication-artifacts.mjs +0 -309
- package/benchmarks/verify-submission-bundle.mjs +0 -172
- package/docs/AUDREY_PAPER_OUTLINE.md +0 -178
- package/docs/MEMORY_BENCHMARKING.md +0 -59
- package/docs/PRODUCTION_BACKLOG.md +0 -321
- package/docs/assets/audrey-feature-grid.jpg +0 -0
- package/docs/assets/audrey-logo.svg +0 -45
- package/docs/assets/audrey-wordmark.png +0 -0
- package/docs/paper/00-master.md +0 -48
- package/docs/paper/01-introduction.md +0 -27
- package/docs/paper/02-related-work.md +0 -47
- package/docs/paper/03-problem-definition.md +0 -108
- package/docs/paper/04-design.md +0 -164
- package/docs/paper/05-guardbench-spec.md +0 -412
- package/docs/paper/06-implementation.md +0 -115
- package/docs/paper/07-evaluation.md +0 -168
- package/docs/paper/08-discussion-limitations.md +0 -61
- package/docs/paper/09-conclusion.md +0 -11
- package/docs/paper/SUBMISSION_README.md +0 -162
- package/docs/paper/appendix-a-demo-transcript.md +0 -114
- package/docs/paper/arxiv-compile-report.schema.json +0 -116
- package/docs/paper/arxiv-source.schema.json +0 -61
- package/docs/paper/audrey-paper-v1.md +0 -1108
- package/docs/paper/browser-launch-plan.json +0 -209
- package/docs/paper/browser-launch-plan.schema.json +0 -100
- package/docs/paper/browser-launch-results.json +0 -86
- package/docs/paper/browser-launch-results.schema.json +0 -66
- package/docs/paper/claim-register.json +0 -138
- package/docs/paper/claim-register.schema.json +0 -81
- package/docs/paper/evidence-ledger.md +0 -103
- package/docs/paper/output/arxiv/README-arxiv.txt +0 -8
- package/docs/paper/output/arxiv/arxiv-manifest.json +0 -41
- package/docs/paper/output/arxiv/main.tex +0 -951
- package/docs/paper/output/arxiv/references.bib +0 -222
- package/docs/paper/output/arxiv-compile-report.json +0 -24
- package/docs/paper/output/submission-bundle/LICENSE +0 -21
- package/docs/paper/output/submission-bundle/README.md +0 -440
- package/docs/paper/output/submission-bundle/benchmarks/output/adapter-self-test/guardbench-adapter-self-test.json +0 -50
- package/docs/paper/output/submission-bundle/benchmarks/output/external/guardbench-external-dry-run.json +0 -69
- package/docs/paper/output/submission-bundle/benchmarks/output/external/guardbench-external-evidence.json +0 -56
- package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-conformance-card.json +0 -63
- package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-manifest.json +0 -414
- package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-raw.json +0 -1279
- package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-summary.json +0 -2123
- package/docs/paper/output/submission-bundle/benchmarks/output/leaderboard/guardbench-leaderboard.json +0 -93
- package/docs/paper/output/submission-bundle/benchmarks/output/leaderboard/guardbench-leaderboard.md +0 -7
- package/docs/paper/output/submission-bundle/benchmarks/output/submission-bundle/submission-manifest.json +0 -131
- package/docs/paper/output/submission-bundle/benchmarks/output/submission-bundle/validation-report.json +0 -31
- package/docs/paper/output/submission-bundle/benchmarks/output/summary.json +0 -2354
- package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-adapter-registry.schema.json +0 -69
- package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-adapter-self-test.schema.json +0 -156
- package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-conformance-card.schema.json +0 -184
- package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-external-dry-run.schema.json +0 -74
- package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-external-evidence.schema.json +0 -108
- package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-external-run.schema.json +0 -160
- package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-leaderboard.schema.json +0 -179
- package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-manifest.schema.json +0 -213
- package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-publication-verification.schema.json +0 -47
- package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-raw.schema.json +0 -184
- package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-submission-manifest.schema.json +0 -151
- package/docs/paper/output/submission-bundle/benchmarks/schemas/guardbench-summary.schema.json +0 -249
- package/docs/paper/output/submission-bundle/docs/AUDREY_PAPER_OUTLINE.md +0 -178
- package/docs/paper/output/submission-bundle/docs/paper/00-master.md +0 -48
- package/docs/paper/output/submission-bundle/docs/paper/01-introduction.md +0 -27
- package/docs/paper/output/submission-bundle/docs/paper/02-related-work.md +0 -47
- package/docs/paper/output/submission-bundle/docs/paper/03-problem-definition.md +0 -108
- package/docs/paper/output/submission-bundle/docs/paper/04-design.md +0 -164
- package/docs/paper/output/submission-bundle/docs/paper/05-guardbench-spec.md +0 -412
- package/docs/paper/output/submission-bundle/docs/paper/06-implementation.md +0 -115
- package/docs/paper/output/submission-bundle/docs/paper/07-evaluation.md +0 -168
- package/docs/paper/output/submission-bundle/docs/paper/08-discussion-limitations.md +0 -61
- package/docs/paper/output/submission-bundle/docs/paper/09-conclusion.md +0 -11
- package/docs/paper/output/submission-bundle/docs/paper/SUBMISSION_README.md +0 -162
- package/docs/paper/output/submission-bundle/docs/paper/appendix-a-demo-transcript.md +0 -114
- package/docs/paper/output/submission-bundle/docs/paper/arxiv-compile-report.schema.json +0 -116
- package/docs/paper/output/submission-bundle/docs/paper/arxiv-source.schema.json +0 -61
- package/docs/paper/output/submission-bundle/docs/paper/audrey-paper-v1.md +0 -1108
- package/docs/paper/output/submission-bundle/docs/paper/browser-launch-plan.json +0 -209
- package/docs/paper/output/submission-bundle/docs/paper/browser-launch-plan.schema.json +0 -100
- package/docs/paper/output/submission-bundle/docs/paper/browser-launch-results.json +0 -86
- package/docs/paper/output/submission-bundle/docs/paper/browser-launch-results.schema.json +0 -66
- package/docs/paper/output/submission-bundle/docs/paper/claim-register.json +0 -138
- package/docs/paper/output/submission-bundle/docs/paper/claim-register.schema.json +0 -81
- package/docs/paper/output/submission-bundle/docs/paper/evidence-ledger.md +0 -103
- package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/README-arxiv.txt +0 -8
- package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/arxiv-manifest.json +0 -41
- package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/main.tex +0 -951
- package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/references.bib +0 -222
- package/docs/paper/output/submission-bundle/docs/paper/output/arxiv-compile-report.json +0 -24
- package/docs/paper/output/submission-bundle/docs/paper/paper-submission-bundle.schema.json +0 -70
- package/docs/paper/output/submission-bundle/docs/paper/publication-pack.json +0 -81
- package/docs/paper/output/submission-bundle/docs/paper/publication-pack.schema.json +0 -60
- package/docs/paper/output/submission-bundle/docs/paper/references.bib +0 -222
- package/docs/paper/output/submission-bundle/package.json +0 -235
- package/docs/paper/output/submission-bundle/paper-submission-manifest.json +0 -379
- package/docs/paper/paper-submission-bundle.schema.json +0 -70
- package/docs/paper/publication-pack.json +0 -81
- package/docs/paper/publication-pack.schema.json +0 -60
- package/docs/paper/references.bib +0 -222
- package/scripts/audit-release-completion.mjs +0 -440
- package/scripts/create-arxiv-source.mjs +0 -368
- package/scripts/create-paper-submission-bundle.mjs +0 -214
- package/scripts/finalize-release.mjs +0 -601
- package/scripts/prepare-release-cut.mjs +0 -277
- package/scripts/publish-release-bundle.mjs +0 -252
- package/scripts/publish-release-github-api.mjs +0 -494
- package/scripts/run-vitest.mjs +0 -34
- package/scripts/smoke-cli.js +0 -92
- package/scripts/sync-paper-artifacts.mjs +0 -112
- package/scripts/verify-arxiv-compile.mjs +0 -476
- package/scripts/verify-arxiv-source.mjs +0 -224
- package/scripts/verify-browser-launch-plan.mjs +0 -254
- package/scripts/verify-browser-launch-results.mjs +0 -303
- package/scripts/verify-paper-artifacts.mjs +0 -798
- package/scripts/verify-paper-claims.mjs +0 -254
- package/scripts/verify-paper-submission-bundle.mjs +0 -218
- package/scripts/verify-publication-pack.mjs +0 -210
- package/scripts/verify-python-package.py +0 -201
- package/scripts/verify-release-readiness.mjs +0 -920
package/dist/src/db.js
CHANGED
|
@@ -141,6 +141,10 @@ const SCHEMA = `
|
|
|
141
141
|
cwd TEXT,
|
|
142
142
|
file_fingerprints TEXT,
|
|
143
143
|
redaction_state TEXT DEFAULT 'unreviewed' CHECK(redaction_state IN ('unreviewed','redacted','clean','quarantined')),
|
|
144
|
+
action_key TEXT,
|
|
145
|
+
hook_host TEXT,
|
|
146
|
+
hook_tool_use_id TEXT,
|
|
147
|
+
receipt_id TEXT,
|
|
144
148
|
metadata TEXT,
|
|
145
149
|
created_at TEXT NOT NULL
|
|
146
150
|
);
|
|
@@ -208,37 +212,105 @@ export function createVec0Tables(db, dimensions) {
|
|
|
208
212
|
createVec0Table(db, dimensions, spec.table);
|
|
209
213
|
}
|
|
210
214
|
}
|
|
215
|
+
const VEC_SYNC_SOURCES = ['episodes', 'semantics', 'procedures'];
|
|
216
|
+
/**
|
|
217
|
+
* Keyed on id, not rowid, and deliberately a different config key from the
|
|
218
|
+
* `vec_sync_rowid_*` marks earlier versions wrote.
|
|
219
|
+
*
|
|
220
|
+
* SQLite hands out max(rowid)+1, so deleting the row that holds the current
|
|
221
|
+
* maximum makes the next insert reuse that rowid. A rowid high-water mark
|
|
222
|
+
* then reads as already-synced and the new row never reaches its vec0
|
|
223
|
+
* table — silently, permanently, with no error and no migrated flag. Memory
|
|
224
|
+
* ids are ULIDs: monotonic, and never recycled by a delete.
|
|
225
|
+
*
|
|
226
|
+
* The key rename matters for the upgrade. A stored numeric mark like "412"
|
|
227
|
+
* compares lexicographically against ULIDs beginning with "0", so reusing
|
|
228
|
+
* the old key would make every existing row look already-synced. A fresh
|
|
229
|
+
* key starts empty and every id sorts above it, which costs one full
|
|
230
|
+
* catch-up scan on first open and is correct from then on.
|
|
231
|
+
*/
|
|
232
|
+
function vecSyncMarkKey(source) {
|
|
233
|
+
return `vec_sync_id_${source}`;
|
|
234
|
+
}
|
|
235
|
+
function readConfigText(db, key) {
|
|
236
|
+
const row = db.prepare('SELECT value FROM audrey_config WHERE key = ?').get(key);
|
|
237
|
+
return row ? String(row.value) : '';
|
|
238
|
+
}
|
|
239
|
+
function writeConfigText(db, key, value) {
|
|
240
|
+
db.prepare(`INSERT INTO audrey_config (key, value) VALUES (?, ?)
|
|
241
|
+
ON CONFLICT(key) DO UPDATE SET value = excluded.value`).run(key, value);
|
|
242
|
+
}
|
|
211
243
|
export function dropVec0Tables(db) {
|
|
212
|
-
db.
|
|
213
|
-
|
|
214
|
-
|
|
244
|
+
const drop = db.transaction(() => {
|
|
245
|
+
db.exec('DROP TABLE IF EXISTS vec_episodes');
|
|
246
|
+
db.exec('DROP TABLE IF EXISTS vec_semantics');
|
|
247
|
+
db.exec('DROP TABLE IF EXISTS vec_procedures');
|
|
248
|
+
// The vec0 tables are gone, so any high-water mark claiming rows up to
|
|
249
|
+
// some rowid are already synced would be a lie — the next
|
|
250
|
+
// migrateEmbeddingsToVec0 call must rescan those tables from scratch.
|
|
251
|
+
const clearMark = db.prepare('DELETE FROM audrey_config WHERE key = ?');
|
|
252
|
+
for (const source of VEC_SYNC_SOURCES)
|
|
253
|
+
clearMark.run(vecSyncMarkKey(source));
|
|
254
|
+
});
|
|
255
|
+
drop();
|
|
215
256
|
}
|
|
216
|
-
|
|
257
|
+
/**
|
|
258
|
+
* Copies not-yet-synced embeddings from a source table into its vec0
|
|
259
|
+
* shadow, bounded by a persisted high-water mark (audrey_config key
|
|
260
|
+
* markKey) instead of a full table scan on every call. Returns true when a
|
|
261
|
+
* gap remains that this pass could not close (a dimension mismatch, most
|
|
262
|
+
* likely — see the expectedBytes check below), in which case the mark is
|
|
263
|
+
* deliberately left behind: the caller should trigger a full reembed, and
|
|
264
|
+
* the next open must see the same rows again rather than silently treating
|
|
265
|
+
* them as handled.
|
|
266
|
+
*/
|
|
267
|
+
function migrateTable(db, { source, target, selectCols, insertCols, placeholders, transform, dimensions, markKey, }) {
|
|
268
|
+
const mark = readConfigText(db, markKey);
|
|
269
|
+
const maxIdRow = db.prepare(`SELECT MAX(id) AS m FROM ${source}`).get();
|
|
270
|
+
const maxId = maxIdRow.m ?? '';
|
|
271
|
+
if (maxId === '' || maxId <= mark)
|
|
272
|
+
return false;
|
|
217
273
|
const rows = db
|
|
218
274
|
.prepare(`
|
|
219
275
|
SELECT ${selectCols}
|
|
220
276
|
FROM ${source} source_row
|
|
221
|
-
WHERE source_row.
|
|
277
|
+
WHERE source_row.id > ?
|
|
278
|
+
AND source_row.embedding IS NOT NULL
|
|
222
279
|
AND NOT EXISTS (
|
|
223
280
|
SELECT 1 FROM ${target} target_row WHERE target_row.id = source_row.id
|
|
224
281
|
)
|
|
225
282
|
`)
|
|
226
|
-
.all();
|
|
227
|
-
if (rows.length === 0)
|
|
228
|
-
return;
|
|
283
|
+
.all(mark);
|
|
229
284
|
const expectedBytes = dimensions ? dimensions * 4 : null;
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
285
|
+
let inserted = 0;
|
|
286
|
+
if (rows.length > 0) {
|
|
287
|
+
const insert = db.prepare(`INSERT INTO ${target}(${insertCols}) VALUES (${placeholders})`);
|
|
288
|
+
const tx = db.transaction(() => {
|
|
289
|
+
for (const row of rows) {
|
|
290
|
+
if (expectedBytes && row.embedding.byteLength !== expectedBytes)
|
|
291
|
+
continue;
|
|
292
|
+
insert.run(...transform(row));
|
|
293
|
+
inserted += 1;
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
tx();
|
|
297
|
+
}
|
|
298
|
+
if (inserted < rows.length)
|
|
299
|
+
return true;
|
|
300
|
+
writeConfigText(db, markKey, maxId);
|
|
301
|
+
return false;
|
|
239
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* Catches up vec0 tables with any source rows a normal encode/import/
|
|
305
|
+
* consolidate write didn't already sync atomically (legacy pre-vec0 data,
|
|
306
|
+
* or a row written by another connection). Each table is bounded by its
|
|
307
|
+
* own high-water mark, so a steady-state open with nothing new touches
|
|
308
|
+
* only three cheap MAX(rowid) lookups instead of a full table scan.
|
|
309
|
+
* Returns true if any table still has an unresolved gap, signaling the
|
|
310
|
+
* caller that a full reembed is needed.
|
|
311
|
+
*/
|
|
240
312
|
function migrateEmbeddingsToVec0(db, dimensions) {
|
|
241
|
-
migrateTable(db, {
|
|
313
|
+
const episodesMismatch = migrateTable(db, {
|
|
242
314
|
source: 'episodes',
|
|
243
315
|
target: 'vec_episodes',
|
|
244
316
|
selectCols: 'id, agent, embedding, source, consolidated',
|
|
@@ -252,8 +324,9 @@ function migrateEmbeddingsToVec0(db, dimensions) {
|
|
|
252
324
|
BigInt(row.consolidated ?? 0),
|
|
253
325
|
],
|
|
254
326
|
dimensions,
|
|
327
|
+
markKey: vecSyncMarkKey('episodes'),
|
|
255
328
|
});
|
|
256
|
-
migrateTable(db, {
|
|
329
|
+
const semanticsMismatch = migrateTable(db, {
|
|
257
330
|
source: 'semantics',
|
|
258
331
|
target: 'vec_semantics',
|
|
259
332
|
selectCols: 'id, agent, embedding, state',
|
|
@@ -261,8 +334,9 @@ function migrateEmbeddingsToVec0(db, dimensions) {
|
|
|
261
334
|
placeholders: '?, ?, ?, ?',
|
|
262
335
|
transform: row => [row.id, requireAgent(row.agent, 'default'), row.embedding, row.state],
|
|
263
336
|
dimensions,
|
|
337
|
+
markKey: vecSyncMarkKey('semantics'),
|
|
264
338
|
});
|
|
265
|
-
migrateTable(db, {
|
|
339
|
+
const proceduresMismatch = migrateTable(db, {
|
|
266
340
|
source: 'procedures',
|
|
267
341
|
target: 'vec_procedures',
|
|
268
342
|
selectCols: 'id, agent, embedding, state',
|
|
@@ -270,7 +344,9 @@ function migrateEmbeddingsToVec0(db, dimensions) {
|
|
|
270
344
|
placeholders: '?, ?, ?, ?',
|
|
271
345
|
transform: row => [row.id, requireAgent(row.agent, 'default'), row.embedding, row.state],
|
|
272
346
|
dimensions,
|
|
347
|
+
markKey: vecSyncMarkKey('procedures'),
|
|
273
348
|
});
|
|
349
|
+
return episodesMismatch || semanticsMismatch || proceduresMismatch;
|
|
274
350
|
}
|
|
275
351
|
function hasAgentPartition(db, table) {
|
|
276
352
|
const row = db
|
|
@@ -321,30 +397,6 @@ function migrateVec0AgentPartitions(db, dimensions) {
|
|
|
321
397
|
});
|
|
322
398
|
migrate();
|
|
323
399
|
}
|
|
324
|
-
function getEmbeddingSyncCounts(db) {
|
|
325
|
-
let vecEpisodes = 0;
|
|
326
|
-
let vecSemantics = 0;
|
|
327
|
-
let vecProcedures = 0;
|
|
328
|
-
try {
|
|
329
|
-
vecEpisodes = db.prepare('SELECT COUNT(*) as c FROM vec_episodes').get().c;
|
|
330
|
-
vecSemantics = db.prepare('SELECT COUNT(*) as c FROM vec_semantics').get().c;
|
|
331
|
-
vecProcedures = db.prepare('SELECT COUNT(*) as c FROM vec_procedures').get().c;
|
|
332
|
-
}
|
|
333
|
-
catch {
|
|
334
|
-
// vec tables may not exist yet
|
|
335
|
-
}
|
|
336
|
-
const episodes = db.prepare('SELECT COUNT(*) as c FROM episodes WHERE embedding IS NOT NULL').get().c;
|
|
337
|
-
const semantics = db.prepare('SELECT COUNT(*) as c FROM semantics WHERE embedding IS NOT NULL').get().c;
|
|
338
|
-
const procedures = db.prepare('SELECT COUNT(*) as c FROM procedures WHERE embedding IS NOT NULL').get().c;
|
|
339
|
-
return {
|
|
340
|
-
episodes,
|
|
341
|
-
vecEpisodes,
|
|
342
|
-
semantics,
|
|
343
|
-
vecSemantics,
|
|
344
|
-
procedures,
|
|
345
|
-
vecProcedures,
|
|
346
|
-
};
|
|
347
|
-
}
|
|
348
400
|
function addColumnIfMissing(db, table, column, definition) {
|
|
349
401
|
const columns = db.pragma(`table_info(${table})`);
|
|
350
402
|
const exists = columns.some(col => col.name === column);
|
|
@@ -352,7 +404,7 @@ function addColumnIfMissing(db, table, column, definition) {
|
|
|
352
404
|
db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
|
|
353
405
|
}
|
|
354
406
|
}
|
|
355
|
-
const SCHEMA_VERSION =
|
|
407
|
+
const SCHEMA_VERSION = 15;
|
|
356
408
|
const MIGRATIONS = [
|
|
357
409
|
{
|
|
358
410
|
version: 1,
|
|
@@ -433,6 +485,134 @@ const MIGRATIONS = [
|
|
|
433
485
|
// this migration simply advances schema_version to 11 for existing DBs.
|
|
434
486
|
},
|
|
435
487
|
},
|
|
488
|
+
{
|
|
489
|
+
version: 12,
|
|
490
|
+
up(db) {
|
|
491
|
+
addColumnIfMissing(db, 'memory_events', 'action_key', 'TEXT');
|
|
492
|
+
db.exec(`
|
|
493
|
+
UPDATE memory_events
|
|
494
|
+
SET action_key = CASE
|
|
495
|
+
WHEN json_valid(metadata) THEN CASE
|
|
496
|
+
WHEN json_type(metadata, '$.audrey_guard_action_key') = 'text'
|
|
497
|
+
THEN json_extract(metadata, '$.audrey_guard_action_key')
|
|
498
|
+
ELSE NULL
|
|
499
|
+
END
|
|
500
|
+
ELSE NULL
|
|
501
|
+
END
|
|
502
|
+
WHERE action_key IS NULL;
|
|
503
|
+
|
|
504
|
+
CREATE INDEX IF NOT EXISTS idx_memory_events_action_key
|
|
505
|
+
ON memory_events(action_key, actor_agent, created_at, outcome);
|
|
506
|
+
`);
|
|
507
|
+
},
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
version: 13,
|
|
511
|
+
up(db) {
|
|
512
|
+
// Some prerelease v12 stores advanced the logical version without
|
|
513
|
+
// receiving the v12 action_key DDL. Repair the physical schema before
|
|
514
|
+
// any v13 validation or indexes reference that column.
|
|
515
|
+
addColumnIfMissing(db, 'memory_events', 'action_key', 'TEXT');
|
|
516
|
+
addColumnIfMissing(db, 'memory_events', 'hook_host', 'TEXT');
|
|
517
|
+
addColumnIfMissing(db, 'memory_events', 'hook_tool_use_id', 'TEXT');
|
|
518
|
+
addColumnIfMissing(db, 'memory_events', 'receipt_id', 'TEXT');
|
|
519
|
+
db.exec(`
|
|
520
|
+
UPDATE memory_events
|
|
521
|
+
SET action_key = json_extract(metadata, '$.audrey_guard_action_key')
|
|
522
|
+
WHERE action_key IS NULL
|
|
523
|
+
AND json_valid(metadata)
|
|
524
|
+
AND json_type(metadata, '$.audrey_guard_action_key') = 'text'
|
|
525
|
+
AND length(json_extract(metadata, '$.audrey_guard_action_key')) = 64
|
|
526
|
+
AND json_extract(metadata, '$.audrey_guard_action_key') NOT GLOB '*[^0-9a-f]*';
|
|
527
|
+
|
|
528
|
+
UPDATE memory_events
|
|
529
|
+
SET action_key = NULL
|
|
530
|
+
WHERE action_key IS NOT NULL
|
|
531
|
+
AND (length(action_key) != 64 OR action_key GLOB '*[^0-9a-f]*');
|
|
532
|
+
|
|
533
|
+
UPDATE memory_events
|
|
534
|
+
SET hook_host = CASE
|
|
535
|
+
WHEN hook_host IS NOT NULL THEN hook_host
|
|
536
|
+
WHEN json_valid(metadata)
|
|
537
|
+
AND json_type(metadata, '$.autopilot_host') = 'text'
|
|
538
|
+
THEN json_extract(metadata, '$.autopilot_host')
|
|
539
|
+
ELSE NULL
|
|
540
|
+
END,
|
|
541
|
+
hook_tool_use_id = CASE
|
|
542
|
+
WHEN hook_tool_use_id IS NOT NULL THEN hook_tool_use_id
|
|
543
|
+
WHEN json_valid(metadata)
|
|
544
|
+
AND json_type(metadata, '$.autopilot_tool_use_id') = 'text'
|
|
545
|
+
THEN json_extract(metadata, '$.autopilot_tool_use_id')
|
|
546
|
+
ELSE NULL
|
|
547
|
+
END,
|
|
548
|
+
receipt_id = CASE
|
|
549
|
+
WHEN receipt_id IS NOT NULL THEN receipt_id
|
|
550
|
+
WHEN json_valid(metadata)
|
|
551
|
+
AND json_type(metadata, '$.receipt_id') = 'text'
|
|
552
|
+
THEN json_extract(metadata, '$.receipt_id')
|
|
553
|
+
ELSE NULL
|
|
554
|
+
END
|
|
555
|
+
WHERE hook_host IS NULL OR hook_tool_use_id IS NULL OR receipt_id IS NULL;
|
|
556
|
+
|
|
557
|
+
CREATE INDEX IF NOT EXISTS idx_memory_events_action_key
|
|
558
|
+
ON memory_events(action_key, actor_agent, created_at, outcome);
|
|
559
|
+
CREATE INDEX IF NOT EXISTS idx_memory_events_hook_lookup
|
|
560
|
+
ON memory_events(
|
|
561
|
+
actor_agent, hook_host, hook_tool_use_id, session_id, event_type, created_at DESC
|
|
562
|
+
);
|
|
563
|
+
CREATE INDEX IF NOT EXISTS idx_memory_events_receipt
|
|
564
|
+
ON memory_events(receipt_id, actor_agent, created_at DESC);
|
|
565
|
+
`);
|
|
566
|
+
},
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
version: 14,
|
|
570
|
+
up(db) {
|
|
571
|
+
db.exec(`
|
|
572
|
+
CREATE INDEX IF NOT EXISTS idx_memory_events_tool_outcome_created_actor
|
|
573
|
+
ON memory_events(tool_name, outcome, created_at, actor_agent);
|
|
574
|
+
|
|
575
|
+
CREATE INDEX IF NOT EXISTS idx_episodes_embedding_present
|
|
576
|
+
ON episodes(id) WHERE embedding IS NOT NULL;
|
|
577
|
+
CREATE INDEX IF NOT EXISTS idx_semantics_embedding_present
|
|
578
|
+
ON semantics(id) WHERE embedding IS NOT NULL;
|
|
579
|
+
CREATE INDEX IF NOT EXISTS idx_procedures_embedding_present
|
|
580
|
+
ON procedures(id) WHERE embedding IS NOT NULL;
|
|
581
|
+
`);
|
|
582
|
+
},
|
|
583
|
+
},
|
|
584
|
+
{
|
|
585
|
+
version: 15,
|
|
586
|
+
up(db) {
|
|
587
|
+
db.exec(`
|
|
588
|
+
CREATE TABLE IF NOT EXISTS memory_anchors (
|
|
589
|
+
id TEXT PRIMARY KEY,
|
|
590
|
+
memory_id TEXT NOT NULL,
|
|
591
|
+
memory_type TEXT NOT NULL CHECK(memory_type IN ('episodic','semantic','procedural')),
|
|
592
|
+
agent TEXT NOT NULL DEFAULT 'default',
|
|
593
|
+
project_root TEXT NOT NULL,
|
|
594
|
+
kind TEXT NOT NULL CHECK(kind IN ('path','npm_script')),
|
|
595
|
+
value TEXT NOT NULL,
|
|
596
|
+
state TEXT NOT NULL DEFAULT 'intact' CHECK(state IN ('intact','broken')),
|
|
597
|
+
created_at TEXT NOT NULL,
|
|
598
|
+
last_verified_at TEXT,
|
|
599
|
+
broken_at TEXT
|
|
600
|
+
);
|
|
601
|
+
|
|
602
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_memory_anchors_unique
|
|
603
|
+
ON memory_anchors(memory_id, project_root, kind, value);
|
|
604
|
+
CREATE INDEX IF NOT EXISTS idx_memory_anchors_memory
|
|
605
|
+
ON memory_anchors(memory_id);
|
|
606
|
+
CREATE INDEX IF NOT EXISTS idx_memory_anchors_sweep
|
|
607
|
+
ON memory_anchors(agent, project_root, last_verified_at);
|
|
608
|
+
CREATE INDEX IF NOT EXISTS idx_memory_anchors_broken
|
|
609
|
+
ON memory_anchors(memory_id) WHERE state = 'broken';
|
|
610
|
+
|
|
611
|
+
CREATE INDEX IF NOT EXISTS idx_episodes_must_follow_tag
|
|
612
|
+
ON episodes(id) WHERE tags LIKE '%"must-follow"%';
|
|
613
|
+
`);
|
|
614
|
+
},
|
|
615
|
+
},
|
|
436
616
|
];
|
|
437
617
|
function runMigrations(db) {
|
|
438
618
|
const row = db.prepare("SELECT value FROM audrey_config WHERE key = 'schema_version'").get();
|
|
@@ -440,11 +620,14 @@ function runMigrations(db) {
|
|
|
440
620
|
if (currentVersion >= SCHEMA_VERSION)
|
|
441
621
|
return;
|
|
442
622
|
const pending = MIGRATIONS.filter(m => m.version > currentVersion);
|
|
623
|
+
const setSchemaVersion = db.prepare(`INSERT INTO audrey_config (key, value) VALUES ('schema_version', ?)
|
|
624
|
+
ON CONFLICT(key) DO UPDATE SET value = excluded.value`);
|
|
443
625
|
for (const migration of pending) {
|
|
444
|
-
|
|
626
|
+
db.transaction(() => {
|
|
627
|
+
migration.up(db);
|
|
628
|
+
setSchemaVersion.run(String(migration.version));
|
|
629
|
+
})();
|
|
445
630
|
}
|
|
446
|
-
db.prepare(`INSERT INTO audrey_config (key, value) VALUES ('schema_version', ?)
|
|
447
|
-
ON CONFLICT(key) DO UPDATE SET value = excluded.value`).run(String(SCHEMA_VERSION));
|
|
448
631
|
}
|
|
449
632
|
export function createDatabase(dataDir, options = {}) {
|
|
450
633
|
let { dimensions } = options;
|
|
@@ -493,14 +676,8 @@ export function createDatabase(dataDir, options = {}) {
|
|
|
493
676
|
}
|
|
494
677
|
createVec0Tables(db, dimensions);
|
|
495
678
|
migrateVec0AgentPartitions(db, dimensions);
|
|
496
|
-
if (!migrated) {
|
|
497
|
-
|
|
498
|
-
const sync = getEmbeddingSyncCounts(db);
|
|
499
|
-
if (sync.episodes !== sync.vecEpisodes ||
|
|
500
|
-
sync.semantics !== sync.vecSemantics ||
|
|
501
|
-
sync.procedures !== sync.vecProcedures) {
|
|
502
|
-
migrated = true;
|
|
503
|
-
}
|
|
679
|
+
if (!migrated && migrateEmbeddingsToVec0(db, dimensions)) {
|
|
680
|
+
migrated = true;
|
|
504
681
|
}
|
|
505
682
|
}
|
|
506
683
|
return { db, migrated };
|
package/dist/src/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwJd,CAAC;AAmDF,MAAM,oBAAoB,GAAwB;IAChD;QACE,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,UAAU;QAClB,YAAY,EAAE,qCAAqC;QACnD,aAAa,EAAE,4CAA4C;QAC3D,aAAa,EAAE,8EAA8E;KAC9F;IACD;QACE,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,WAAW;QACnB,YAAY,EAAE,sBAAsB;QACpC,aAAa,EAAE,6BAA6B;QAC5C,aAAa,EAAE,wDAAwD;KACxE;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,YAAY;QACpB,YAAY,EAAE,sBAAsB;QACpC,aAAa,EAAE,6BAA6B;QAC5C,aAAa,EAAE,wDAAwD;KACxE;CACF,CAAC;AAEF,SAAS,eAAe,CAAC,EAAqB,EAAE,UAAkB,EAAE,KAAoB;IACtF,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7B,EAAE,CAAC,IAAI,CAAC;;;;0BAIc,UAAU;;;;KAI/B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAClF,EAAE,CAAC,IAAI,CAAC;yCAC+B,UAAU;;;wBAG3B,UAAU;;;GAG/B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAqB,EAAE,UAAkB;IACxE,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;QACxC,eAAe,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAqB;IAClD,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC7C,EAAE,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAC9C,EAAE,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CACnB,EAAqB,EACrB,EACE,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,GACU;IAEtB,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN;aACO,UAAU;WACZ,MAAM;;;wBAGO,MAAM;;GAE3B,CACE;SACA,GAAG,EAAoB,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE9B,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,MAAM,IAAI,UAAU,aAAa,YAAY,GAAG,CAAC,CAAC;IAC3F,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,aAAa,IAAI,GAAG,CAAC,SAAS,CAAC,UAAU,KAAK,aAAa;gBAAE,SAAS;YAC1E,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,EAAE,EAAE,CAAC;AACP,CAAC;AAED,SAAS,uBAAuB,CAAC,EAAqB,EAAE,UAAkB;IACxE,YAAY,CAAC,EAAE,EAAE;QACf,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,cAAc;QACtB,UAAU,EAAE,4CAA4C;QACxD,UAAU,EAAE,4CAA4C;QACxD,YAAY,EAAE,eAAe;QAC7B,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;YAChB,GAAG,CAAC,EAAE;YACN,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC;YAClC,GAAG,CAAC,SAAS;YACb,GAAG,CAAC,MAAM;YACV,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;SAC9B;QACD,UAAU;KACX,CAAC,CAAC;IAEH,YAAY,CAAC,EAAE,EAAE;QACf,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,6BAA6B;QACzC,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,YAAY;QAC1B,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC;QACxF,UAAU;KACX,CAAC,CAAC;IAEH,YAAY,CAAC,EAAE,EAAE;QACf,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,6BAA6B;QACzC,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,YAAY;QAC1B,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC;QACxF,UAAU;KACX,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAqB,EAAE,KAAoB;IACpE,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CAAC,iEAAiE,CAAC;SAC1E,GAAG,CAAC,KAAK,CAAiC,CAAC;IAC9C,OAAO,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,qCAAqC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,0BAA0B,CAAC,EAAqB,EAAE,UAAkB;IAC3E,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5F,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAErC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAClC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,WAAW,IAAI,CAAC,KAAK,cAAc,CAAC;YAClD,EAAE,CAAC,IAAI,CAAC,yBAAyB,KAAK,GAAG,CAAC,CAAC;YAC3C,EAAE,CAAC,IAAI,CAAC,sBAAsB,KAAK,eAAe,IAAI,CAAC,YAAY,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAE1F,MAAM,YAAY,GAAG,EAAE;iBACpB,OAAO,CACN;;gBAEM,KAAK;oBACD,IAAI,CAAC,MAAM;;;;;;;OAOxB,CACE;iBACA,GAAG,EAAiC,CAAC;YACxC,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,KAAK,YAAY,YAAY,CAAC,EAAE,2CAA2C,IAAI,CAAC,MAAM,EAAE,CAChH,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAI,EAAE,CAAC,OAAO,CAAC,8BAA8B,KAAK,GAAG,CAAC,CAAC,GAAG,EAAe,CAAC,CAAC,CAAC;YAC1F,EAAE,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACpC,eAAe,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,EAAE,CAAC,IAAI,CAAC;sBACQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa;iBACrC,IAAI,CAAC,aAAa;gBACnB,KAAK;eACN,IAAI,CAAC,MAAM;OACnB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAI,EAAE,CAAC,OAAO,CAAC,6BAA6B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAe,CAAC,CAAC,CAAC;YAC7F,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,KAAK,cAAc,QAAQ,qBAAqB,QAAQ,EAAE,CAClF,CAAC;YACJ,CAAC;YACD,EAAE,CAAC,IAAI,CAAC,eAAe,KAAK,GAAG,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC;AAWD,SAAS,sBAAsB,CAAC,EAAqB;IACnD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,IAAI,CAAC;QACH,WAAW,GAAI,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAe,CAAC,CAAC,CAAC;QACzF,YAAY,GAAI,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAAe,CAAC,CAAC,CAAC;QAC3F,aAAa,GAAI,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,EAAe,CAAC,CAAC,CAAC;IAC/F,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IAED,MAAM,QAAQ,GACZ,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC,GAAG,EACjF,CAAC,CAAC,CAAC;IACJ,MAAM,SAAS,GACb,EAAE,CAAC,OAAO,CAAC,iEAAiE,CAAC,CAAC,GAAG,EAClF,CAAC,CAAC,CAAC;IACJ,MAAM,UAAU,GACd,EAAE,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAC,GAAG,EACnF,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,QAAQ;QACR,WAAW;QACX,SAAS;QACT,YAAY;QACZ,UAAU;QACV,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,EAAqB,EACrB,KAAa,EACb,MAAc,EACd,UAAkB;IAElB,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,KAAK,GAAG,CAAmB,CAAC;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,EAAE,CAAC,IAAI,CAAC,eAAe,KAAK,eAAe,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,MAAM,UAAU,GAA2D;IACzE;QACE,OAAO,EAAE,CAAC;QACV,EAAE,CAAC,EAAE;YACH,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;QACrE,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,EAAE,CAAC,EAAE;YACH,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QACpE,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,EAAE,CAAC,EAAE;YACH,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;QACjF,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,EAAE,CAAC,EAAE;YACH,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACtE,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,EAAE,CAAC,EAAE;YACH,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;QAClF,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,EAAE,CAAC,EAAE;YACH,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACvE,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,EAAE,CAAC,EAAE;YACH,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;QACrE,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,EAAE,CAAC,EAAE;YACH,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC;YACtE,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC;YACvE,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC;YACxE,EAAE,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YAC5E,EAAE,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;YAC9E,EAAE,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QAClF,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,EAAE,CAAC,EAAE;YACH,eAAe,CAAC,EAAE,CAAC,CAAC;YACpB,WAAW,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;KACF;IACD;QACE,OAAO,EAAE,EAAE;QACX,EAAE,CAAC,EAAE;YACH,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;YACvE,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YAC3D,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;YACxE,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YAC5D,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;YACzE,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC;KACF;IACD;QACE,OAAO,EAAE,EAAE;QACX,EAAE,CAAC,GAAG;YACJ,oEAAoE;YACpE,0EAA0E;YAC1E,wEAAwE;QAC1E,CAAC;KACF;CACF,CAAC;AAEF,SAAS,aAAa,CAAC,EAAqB;IAC1C,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC,GAAG,EACnE,CAAC;IACxB,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnD,IAAI,cAAc,IAAI,cAAc;QAAE,OAAO;IAE7C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC;IACnE,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,EAAE,CAAC,OAAO,CACR;2DACuD,CACxD,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,UAAmC,EAAE;IAErC,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACjC,6EAA6E;IAC7E,8EAA8E;IAC9E,+DAA+D;IAC/D,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,EAAE,CAAC;QAC/C,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAClC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACnC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACnC,CAAC;IACD,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,aAAa,CAAC,EAAE,CAAC,CAAC;IAElB,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC,GAAG,EAClE,CAAC;QACxB,IAAI,MAAM,EAAE,CAAC;YACX,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,+CAA+C,UAAU,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnB,MAAM,QAAQ,GAAG,EAAE;aAChB,OAAO,CAAC,0DAA0D,CAAC;aACnE,GAAG,EAA2B,CAAC;QAElC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC9B,cAAc,CAAC,EAAE,CAAC,CAAC;gBACnB,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAC3E,MAAM,CAAC,UAAU,CAAC,CACnB,CAAC;gBACF,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,OAAO,CAAC,iEAAiE,CAAC,CAAC,GAAG,CAC/E,MAAM,CAAC,UAAU,CAAC,CACnB,CAAC;QACJ,CAAC;QAED,gBAAgB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACjC,0BAA0B,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,uBAAuB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;YACxC,IACE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW;gBAClC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,YAAY;gBACpC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,aAAa,EACtC,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC,GAAG,EAC/D,CAAC;QACxB,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC;YAAE,OAAO,IAAI,CAAC;QAChF,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAqB;IACjD,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAClB,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"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"}
|
package/dist/src/encode.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import Database from 'better-sqlite3';
|
|
2
|
-
import type { Affect, CausalParams, EmbeddingProvider, SourceType } from './types.js';
|
|
2
|
+
import type { Affect, CausalParams, EmbeddingProvider, RedactionSummary, SourceType } from './types.js';
|
|
3
3
|
import type { ProfileRecorder } from './profile.js';
|
|
4
4
|
export interface EncodeEpisodeOptions {
|
|
5
5
|
profile?: ProfileRecorder;
|
|
6
6
|
vector?: number[];
|
|
7
7
|
onVector?: (vector: number[], buffer: Buffer) => void;
|
|
8
|
+
onRedaction?: (summary: RedactionSummary) => void;
|
|
8
9
|
}
|
|
9
10
|
export declare function encodeEpisode(db: Database.Database, embeddingProvider: EmbeddingProvider, { content, source, agent, salience, causal, tags, supersedes, context, affect, arousalWeight, private: isPrivate, }: {
|
|
10
11
|
content: string;
|
package/dist/src/encode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../src/encode.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../src/encode.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACX,MAAM,YAAY,CAAC;AAKpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIpD,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACnD;AAYD,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,iBAAiB,EAAE,iBAAiB,EACpC,EACE,OAAO,EACP,MAAM,EACN,KAAiB,EACjB,QAAc,EACd,MAAM,EACN,IAAI,EACJ,UAAU,EACV,OAAY,EACZ,MAAW,EACX,aAAmB,EACnB,OAAO,EAAE,SAAiB,GAC3B,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,EACD,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,MAAM,CAAC,CAoGjB"}
|
package/dist/src/encode.js
CHANGED
|
@@ -3,6 +3,16 @@ import { sourceReliability } from './confidence.js';
|
|
|
3
3
|
import { arousalSalienceBoost } from './affect.js';
|
|
4
4
|
import { insertFTSEpisode } from './fts.js';
|
|
5
5
|
import { requireAgent } from './utils.js';
|
|
6
|
+
import { redact } from './redact.js';
|
|
7
|
+
function mergeRedactionHits(...sets) {
|
|
8
|
+
const counts = new Map();
|
|
9
|
+
for (const set of sets) {
|
|
10
|
+
for (const hit of set) {
|
|
11
|
+
counts.set(hit.class, (counts.get(hit.class) ?? 0) + hit.count);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return [...counts.entries()].map(([cls, count]) => ({ class: cls, count }));
|
|
15
|
+
}
|
|
6
16
|
export async function encodeEpisode(db, embeddingProvider, { content, source, agent = 'default', salience = 0.5, causal, tags, supersedes, context = {}, affect = {}, arousalWeight = 0.3, private: isPrivate = false, }, options = {}) {
|
|
7
17
|
if (!content || typeof content !== 'string')
|
|
8
18
|
throw new Error('content must be a non-empty string');
|
|
@@ -11,12 +21,39 @@ export async function encodeEpisode(db, embeddingProvider, { content, source, ag
|
|
|
11
21
|
if (tags && !Array.isArray(tags))
|
|
12
22
|
throw new Error('tags must be an array');
|
|
13
23
|
const ownerAgent = requireAgent(agent);
|
|
24
|
+
// Storage boundary: this is the primary ingestion path (memory_encode,
|
|
25
|
+
// POST /v1/encode, Audrey.encode), so content/context/affect are always
|
|
26
|
+
// filtered through redact() before they reach the episodes row, the FTS
|
|
27
|
+
// index, or the embedding model. redact() is a no-op on ordinary prose.
|
|
28
|
+
const contentResult = redact(content);
|
|
29
|
+
const redactedContent = contentResult.text;
|
|
30
|
+
const redactedContext = {};
|
|
31
|
+
const contextHits = [];
|
|
32
|
+
for (const [key, value] of Object.entries(context)) {
|
|
33
|
+
const valueResult = redact(value);
|
|
34
|
+
redactedContext[key] = valueResult.text;
|
|
35
|
+
contextHits.push(...valueResult.redactions);
|
|
36
|
+
}
|
|
37
|
+
let redactedAffect = affect;
|
|
38
|
+
let affectHits = [];
|
|
39
|
+
if (affect.label) {
|
|
40
|
+
const labelResult = redact(affect.label);
|
|
41
|
+
affectHits = labelResult.redactions;
|
|
42
|
+
redactedAffect = { ...affect, label: labelResult.text };
|
|
43
|
+
}
|
|
44
|
+
const mergedHits = mergeRedactionHits(contentResult.redactions, contextHits, affectHits);
|
|
45
|
+
const redactionSummary = {
|
|
46
|
+
redacted: mergedHits.length > 0,
|
|
47
|
+
classes: mergedHits.map(hit => hit.class),
|
|
48
|
+
count: mergedHits.reduce((sum, hit) => sum + hit.count, 0),
|
|
49
|
+
};
|
|
50
|
+
options.onRedaction?.(redactionSummary);
|
|
14
51
|
const reliability = sourceReliability(source);
|
|
15
52
|
const profile = options.profile;
|
|
16
53
|
const vector = options.vector ??
|
|
17
54
|
(profile
|
|
18
|
-
? await profile.measure('encode.embedding', () => embeddingProvider.embed(
|
|
19
|
-
: await embeddingProvider.embed(
|
|
55
|
+
? await profile.measure('encode.embedding', () => embeddingProvider.embed(redactedContent))
|
|
56
|
+
: await embeddingProvider.embed(redactedContent));
|
|
20
57
|
const embeddingBuffer = profile
|
|
21
58
|
? profile.measureSync('encode.vector_to_buffer', () => embeddingProvider.vectorToBuffer(vector))
|
|
22
59
|
: embeddingProvider.vectorToBuffer(vector);
|
|
@@ -34,9 +71,9 @@ export async function encodeEpisode(db, embeddingProvider, { content, source, ag
|
|
|
34
71
|
tags, causal_trigger, causal_consequence, created_at,
|
|
35
72
|
embedding_model, embedding_version, supersedes, "private"
|
|
36
73
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
37
|
-
`).run(id,
|
|
74
|
+
`).run(id, redactedContent, embeddingBuffer, source, ownerAgent, reliability, effectiveSalience, JSON.stringify(redactedContext), JSON.stringify(redactedAffect), tags ? JSON.stringify(tags) : null, causal?.trigger || null, causal?.consequence || null, now, embeddingProvider.modelName, embeddingProvider.modelVersion, supersedes || null, isPrivate ? 1 : 0);
|
|
38
75
|
db.prepare('INSERT INTO vec_episodes(id, agent, embedding, source, consolidated) VALUES (?, ?, ?, ?, ?)').run(id, ownerAgent, embeddingBuffer, source, BigInt(0));
|
|
39
|
-
insertFTSEpisode(db, id,
|
|
76
|
+
insertFTSEpisode(db, id, redactedContent, tags ?? null);
|
|
40
77
|
if (supersedes) {
|
|
41
78
|
db.prepare('UPDATE episodes SET superseded_by = ? WHERE id = ?').run(id, supersedes);
|
|
42
79
|
}
|
package/dist/src/encode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.js","sourceRoot":"","sources":["../../src/encode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encode.js","sourceRoot":"","sources":["../../src/encode.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC;AASxD,SAAS,kBAAkB,CAAC,GAAG,IAAsB;IACnD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiC,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAqB,EACrB,iBAAoC,EACpC,EACE,OAAO,EACP,MAAM,EACN,KAAK,GAAG,SAAS,EACjB,QAAQ,GAAG,GAAG,EACd,MAAM,EACN,IAAI,EACJ,UAAU,EACV,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,EAAE,EACX,aAAa,GAAG,GAAG,EACnB,OAAO,EAAE,SAAS,GAAG,KAAK,GAa3B,EACD,UAAgC,EAAE;IAElC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtF,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEvC,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC;IAE3C,MAAM,eAAe,GAA2B,EAAE,CAAC;IACnD,MAAM,WAAW,GAAmB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,eAAe,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;QACxC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,cAAc,GAAoB,MAAM,CAAC;IAC7C,IAAI,UAAU,GAAmB,EAAE,CAAC;IACpC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QACpC,cAAc,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACzF,MAAM,gBAAgB,GAAqB;QACzC,QAAQ,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC;QAC/B,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;QACzC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;KAC3D,CAAC;IACF,OAAO,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAExC,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,MAAM,GACV,OAAO,CAAC,MAAM;QACd,CAAC,OAAO;YACN,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC3F,CAAC,CAAC,MAAM,iBAAiB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,OAAO;QAC7B,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChG,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5C,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnD,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC;IAEvF,MAAM,aAAa,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,EAAE,CAAC,OAAO,CACR;;;;;;KAMD,CACA,CAAC,GAAG,CACH,EAAE,EACF,eAAe,EACf,eAAe,EACf,MAAM,EACN,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAC/B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAClC,MAAM,EAAE,OAAO,IAAI,IAAI,EACvB,MAAM,EAAE,WAAW,IAAI,IAAI,EAC3B,GAAG,EACH,iBAAiB,CAAC,SAAS,EAC3B,iBAAiB,CAAC,YAAY,EAC9B,UAAU,IAAI,IAAI,EAClB,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClB,CAAC;QACF,EAAE,CAAC,OAAO,CACR,6FAA6F,CAC9F,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;QACxD,IAAI,UAAU,EAAE,CAAC;YACf,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACvF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,WAAW,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,aAAa,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
package/dist/src/events.d.ts
CHANGED
|
@@ -21,6 +21,10 @@ export interface MemoryEvent {
|
|
|
21
21
|
cwd: string | null;
|
|
22
22
|
file_fingerprints: string | null;
|
|
23
23
|
redaction_state: RedactionState;
|
|
24
|
+
action_key: string | null;
|
|
25
|
+
hook_host: string | null;
|
|
26
|
+
hook_tool_use_id: string | null;
|
|
27
|
+
receipt_id: string | null;
|
|
24
28
|
metadata: string | null;
|
|
25
29
|
created_at: string;
|
|
26
30
|
}
|
|
@@ -38,6 +42,10 @@ export interface EventInsert {
|
|
|
38
42
|
cwd?: string | null;
|
|
39
43
|
fileFingerprints?: string[] | null;
|
|
40
44
|
redactionState?: RedactionState;
|
|
45
|
+
actionKey?: string | null;
|
|
46
|
+
hookHost?: string | null;
|
|
47
|
+
hookToolUseId?: string | null;
|
|
48
|
+
receiptId?: string | null;
|
|
41
49
|
metadata?: Record<string, unknown> | null;
|
|
42
50
|
createdAt?: string;
|
|
43
51
|
}
|
|
@@ -51,6 +59,12 @@ export interface EventQuery {
|
|
|
51
59
|
limit?: number;
|
|
52
60
|
}
|
|
53
61
|
export declare function insertEvent(db: Database.Database, input: EventInsert): MemoryEvent;
|
|
62
|
+
export interface ExactActionHistoryOptions {
|
|
63
|
+
actionKey: string;
|
|
64
|
+
actorAgent: string;
|
|
65
|
+
since?: string;
|
|
66
|
+
}
|
|
67
|
+
export declare function exactActionHistory(db: Database.Database, options: ExactActionHistoryOptions): MemoryEvent[];
|
|
54
68
|
export declare function listEvents(db: Database.Database, query?: EventQuery): MemoryEvent[];
|
|
55
69
|
export declare function countEvents(db: Database.Database, query?: EventQuery): number;
|
|
56
70
|
export interface FailurePattern {
|
|
@@ -83,7 +97,40 @@ export interface RecentFailureOptions {
|
|
|
83
97
|
* failure_count counts failures since the tool's last success in scope
|
|
84
98
|
* (extinction: disconfirming evidence retires the warning), not raw failures
|
|
85
99
|
* in the window.
|
|
100
|
+
*
|
|
101
|
+
* Implemented as one filtered pass over memory_events plus per-tool window
|
|
102
|
+
* functions, rather than a correlated subquery (error summary, last success)
|
|
103
|
+
* and a NOT EXISTS extinction check evaluated per candidate row — the
|
|
104
|
+
* per-row version turns near-quadratic on a large event table.
|
|
105
|
+
*
|
|
106
|
+
* `scoped` must stay MATERIALIZED: without the hint the planner evaluates it
|
|
107
|
+
* once per referencing CTE as co-routines over the low-selectivity outcome
|
|
108
|
+
* index (~30x slower at 50k rows, measured).
|
|
86
109
|
*/
|
|
87
110
|
export declare function recentFailures(db: Database.Database, options?: RecentFailureOptions): FailurePattern[];
|
|
88
|
-
|
|
111
|
+
/**
|
|
112
|
+
* Default memory_events retention window. Guarded tool calls write at least
|
|
113
|
+
* two rows apiece (PreToolUse + a PostToolUse/PostToolUseFailure receipt),
|
|
114
|
+
* so an install with no retention keeps growing for its whole lifetime —
|
|
115
|
+
* that unbounded growth is what lets recentFailures() and createDatabase()'s
|
|
116
|
+
* embedding sync get slow. 30 days keeps failure-streak history well beyond
|
|
117
|
+
* recentFailures()'s own 7-day default lookback while bounding table size
|
|
118
|
+
* for long-running installs.
|
|
119
|
+
*/
|
|
120
|
+
export declare const DEFAULT_EVENT_RETENTION_MS: number;
|
|
121
|
+
export interface DeleteEventsBeforeOptions {
|
|
122
|
+
/**
|
|
123
|
+
* Rows deleted per statement. Deleting in bounded batches (rather than one
|
|
124
|
+
* DELETE spanning the whole backlog) keeps any single write short even
|
|
125
|
+
* when a long-neglected store has millions of stale rows to purge.
|
|
126
|
+
* Defaults to 1000, capped at 50000.
|
|
127
|
+
*/
|
|
128
|
+
batchSize?: number;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Deletes memory_events rows older than cutoffIso, batching so a large
|
|
132
|
+
* purge cannot hold one long-running write. Returns the total number of
|
|
133
|
+
* rows deleted across all batches.
|
|
134
|
+
*/
|
|
135
|
+
export declare function deleteEventsBefore(db: Database.Database, cutoffIso: string, options?: DeleteEventsBeforeOptions): number;
|
|
89
136
|
//# sourceMappingURL=events.d.ts.map
|
package/dist/src/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAKtC,MAAM,MAAM,SAAS,GACjB,YAAY,GACZ,aAAa,GACb,oBAAoB,GACpB,YAAY,GACZ,aAAa,GACb,cAAc,GACd,aAAa,GACb,eAAe,GACf,cAAc,GACd,aAAa,CAAC;AAElB,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AACtF,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,aAAa,CAAC;AAEjF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,aAAa,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,cAAc,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,aAAa,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}
|