memkin 0.4.2 → 0.4.4
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/dist/apply/candidate-selection.d.ts +60 -0
- package/dist/apply/candidate-selection.d.ts.map +1 -0
- package/dist/apply/candidate-selection.js +159 -0
- package/dist/apply/candidate-selection.js.map +1 -0
- package/dist/apply/cutover.d.ts +45 -0
- package/dist/apply/cutover.d.ts.map +1 -0
- package/dist/apply/cutover.js +85 -0
- package/dist/apply/cutover.js.map +1 -0
- package/dist/apply/engine.d.ts +34 -0
- package/dist/apply/engine.d.ts.map +1 -0
- package/dist/apply/engine.js +255 -0
- package/dist/apply/engine.js.map +1 -0
- package/dist/apply/ids.d.ts +9 -0
- package/dist/apply/ids.d.ts.map +1 -0
- package/dist/apply/ids.js +0 -0
- package/dist/apply/ids.js.map +1 -0
- package/dist/apply/page-content.d.ts +14 -0
- package/dist/apply/page-content.d.ts.map +1 -0
- package/dist/apply/page-content.js +0 -0
- package/dist/apply/page-content.js.map +1 -0
- package/dist/apply/rematerialize.d.ts +13 -0
- package/dist/apply/rematerialize.d.ts.map +1 -0
- package/dist/apply/rematerialize.js +150 -0
- package/dist/apply/rematerialize.js.map +1 -0
- package/dist/apply/rollback.d.ts +20 -0
- package/dist/apply/rollback.d.ts.map +1 -0
- package/dist/apply/rollback.js +117 -0
- package/dist/apply/rollback.js.map +1 -0
- package/dist/apply/shadow-runner.d.ts +47 -0
- package/dist/apply/shadow-runner.d.ts.map +1 -0
- package/dist/apply/shadow-runner.js +84 -0
- package/dist/apply/shadow-runner.js.map +1 -0
- package/dist/apply/types.d.ts +51 -0
- package/dist/apply/types.d.ts.map +1 -0
- package/dist/apply/types.js +13 -0
- package/dist/apply/types.js.map +1 -0
- package/dist/cli.js +8 -6
- package/dist/cli.js.map +1 -1
- package/dist/consolidator/consolidator.d.ts +21 -2
- package/dist/consolidator/consolidator.d.ts.map +1 -1
- package/dist/consolidator/consolidator.js +16 -1
- package/dist/consolidator/consolidator.js.map +1 -1
- package/dist/core/config.d.ts +42 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +25 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/pipeline.d.ts +26 -1
- package/dist/core/pipeline.d.ts.map +1 -1
- package/dist/core/pipeline.js +26 -0
- package/dist/core/pipeline.js.map +1 -1
- package/dist/core/schemas.d.ts +16 -16
- package/dist/daemon/serve-runtime.d.ts +1 -1
- package/dist/daemon/serve-runtime.d.ts.map +1 -1
- package/dist/daemon/serve-runtime.js +26 -1
- package/dist/daemon/serve-runtime.js.map +1 -1
- package/dist/distiller/authority-matrix.d.ts +22 -0
- package/dist/distiller/authority-matrix.d.ts.map +1 -0
- package/dist/distiller/authority-matrix.js +29 -0
- package/dist/distiller/authority-matrix.js.map +1 -0
- package/dist/distiller/contract.d.ts +1427 -0
- package/dist/distiller/contract.d.ts.map +1 -0
- package/dist/distiller/contract.js +166 -0
- package/dist/distiller/contract.js.map +1 -0
- package/dist/distiller/index.d.ts +83 -0
- package/dist/distiller/index.d.ts.map +1 -0
- package/dist/distiller/index.js +226 -0
- package/dist/distiller/index.js.map +1 -0
- package/dist/distiller/map-reduce.d.ts +81 -0
- package/dist/distiller/map-reduce.d.ts.map +1 -0
- package/dist/distiller/map-reduce.js +92 -0
- package/dist/distiller/map-reduce.js.map +1 -0
- package/dist/distiller/msg-id.d.ts +55 -0
- package/dist/distiller/msg-id.d.ts.map +1 -0
- package/dist/distiller/msg-id.js +91 -0
- package/dist/distiller/msg-id.js.map +1 -0
- package/dist/distiller/payload-privacy.d.ts +18 -0
- package/dist/distiller/payload-privacy.d.ts.map +1 -0
- package/dist/distiller/payload-privacy.js +51 -0
- package/dist/distiller/payload-privacy.js.map +1 -0
- package/dist/distiller/prompt.d.ts +28 -0
- package/dist/distiller/prompt.d.ts.map +1 -0
- package/dist/distiller/prompt.js +69 -0
- package/dist/distiller/prompt.js.map +1 -0
- package/dist/distiller/raw-privacy.d.ts +55 -0
- package/dist/distiller/raw-privacy.d.ts.map +1 -0
- package/dist/distiller/raw-privacy.js +123 -0
- package/dist/distiller/raw-privacy.js.map +1 -0
- package/dist/distiller/segmenter.d.ts +40 -0
- package/dist/distiller/segmenter.d.ts.map +1 -0
- package/dist/distiller/segmenter.js +75 -0
- package/dist/distiller/segmenter.js.map +1 -0
- package/dist/embedded-assets.generated.d.ts.map +1 -1
- package/dist/embedded-assets.generated.js +5 -4
- package/dist/embedded-assets.generated.js.map +1 -1
- package/dist/eval/golden.d.ts +12 -12
- package/dist/extractors/providers/index.d.ts +1 -0
- package/dist/extractors/providers/index.d.ts.map +1 -1
- package/dist/extractors/providers/index.js +17 -1
- package/dist/extractors/providers/index.js.map +1 -1
- package/dist/server/api.d.ts.map +1 -1
- package/dist/server/api.js +6 -1
- package/dist/server/api.js.map +1 -1
- package/dist/server/serve.d.ts +20 -0
- package/dist/server/serve.d.ts.map +1 -0
- package/dist/server/serve.js +70 -0
- package/dist/server/serve.js.map +1 -0
- package/dist/server/setup-server.d.ts.map +1 -1
- package/dist/server/setup-server.js +38 -38
- package/dist/server/setup-server.js.map +1 -1
- package/dist/setup/generate-config.d.ts.map +1 -1
- package/dist/setup/generate-config.js +3 -0
- package/dist/setup/generate-config.js.map +1 -1
- package/dist/setup/init-wizard.d.ts.map +1 -1
- package/dist/setup/init-wizard.js +2 -1
- package/dist/setup/init-wizard.js.map +1 -1
- package/dist/setup/validate-config.d.ts +2 -1
- package/dist/setup/validate-config.d.ts.map +1 -1
- package/dist/setup/validate-config.js.map +1 -1
- package/dist/store/agent-sessions.d.ts.map +1 -1
- package/dist/store/agent-sessions.js +3 -1
- package/dist/store/agent-sessions.js.map +1 -1
- package/dist/store/distilled-payload.d.ts +50 -0
- package/dist/store/distilled-payload.d.ts.map +1 -0
- package/dist/store/distilled-payload.js +117 -0
- package/dist/store/distilled-payload.js.map +1 -0
- package/dist/store/engine-factory.d.ts.map +1 -1
- package/dist/store/engine-factory.js +8 -1
- package/dist/store/engine-factory.js.map +1 -1
- package/dist/store/migrations/index.d.ts.map +1 -1
- package/dist/store/migrations/index.js +139 -0
- package/dist/store/migrations/index.js.map +1 -1
- package/dist/store/search.d.ts.map +1 -1
- package/dist/store/search.js +15 -8
- package/dist/store/search.js.map +1 -1
- package/dist/store/source-filter.d.ts +19 -0
- package/dist/store/source-filter.d.ts.map +1 -0
- package/dist/store/source-filter.js +44 -0
- package/dist/store/source-filter.js.map +1 -0
- package/dist/store/timeline.d.ts.map +1 -1
- package/dist/store/timeline.js +15 -8
- package/dist/store/timeline.js.map +1 -1
- package/dist/synth/scope.d.ts.map +1 -1
- package/dist/synth/scope.js +10 -4
- package/dist/synth/scope.js.map +1 -1
- package/package.json +2 -1
- package/web/dist/assets/index-Cie2dVF3.js +5167 -0
- package/web/dist/assets/index-diZtO98v.css +2 -0
- package/web/dist/assets/newsreader-T5L87s1n.woff2 +0 -0
- package/web/dist/index.html +19 -0
|
@@ -3,7 +3,14 @@ export async function createEngine(config) {
|
|
|
3
3
|
switch (engine) {
|
|
4
4
|
case "pglite": {
|
|
5
5
|
const { PgliteExecutor } = await import("./pglite-executor.js");
|
|
6
|
-
|
|
6
|
+
// In a `bun --compile` sidecar (Tauri desktop) the PGLite WASM/data assets are
|
|
7
|
+
// staged outside the executable and their real path arrives via --pglite-assets
|
|
8
|
+
// (mirrored to MEMKIN_PGLITE_ASSETS by the serve command). Thread it through so
|
|
9
|
+
// the compiled binary loads assets from the resource dir instead of the missing
|
|
10
|
+
// <execDir>/assets fallback. In dev/non-compiled mode this override is ignored.
|
|
11
|
+
return PgliteExecutor.create(config.store?.data_dir, {
|
|
12
|
+
assetsOverride: process.env.MEMKIN_PGLITE_ASSETS,
|
|
13
|
+
});
|
|
7
14
|
}
|
|
8
15
|
case "postgres": {
|
|
9
16
|
const { PostgresExecutor } = await import("./postgres-executor.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-factory.js","sourceRoot":"","sources":["../../src/store/engine-factory.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,QAAQ,CAAC;IAEhD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAChE,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"engine-factory.js","sourceRoot":"","sources":["../../src/store/engine-factory.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,QAAQ,CAAC;IAEhD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAChE,+EAA+E;YAC/E,gFAAgF;YAChF,gFAAgF;YAChF,gFAAgF;YAChF,gFAAgF;YAChF,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE;gBACnD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;aACjD,CAAC,CAAC;QACL,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACpE,OAAO,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,SAAS;YACZ,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,0CAA0C,CAAC,CAAC;IAChG,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AA8UD,eAAO,MAAM,UAAU,EAAE,SAAS,EAajC,CAAC;AAEF,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhE"}
|
|
@@ -181,6 +181,142 @@ CREATE TABLE IF NOT EXISTS entity_merge_suggestions (
|
|
|
181
181
|
CREATE INDEX IF NOT EXISTS idx_entity_merge_suggestions_status
|
|
182
182
|
ON entity_merge_suggestions (status);
|
|
183
183
|
`;
|
|
184
|
+
// Migration 010: distilled_payload outbox (extraction-quality-redesign PR-2).
|
|
185
|
+
// Numbered M010 because PR-3 (entity normalization) merged to main first and
|
|
186
|
+
// took M008 (entity_handles) + M009 (entity_merge_suggestions).
|
|
187
|
+
// One row per session revision, holding the target-agnostic, immutable distilled
|
|
188
|
+
// payload (spec §5, §6.2). PR-2 produces and persists this; the apply engine
|
|
189
|
+
// (PR-4) later consumes it to build target-specific apply plans. Never mutated
|
|
190
|
+
// after insert — hence the unique(revision_id). ttl_expires_at drives the
|
|
191
|
+
// consolidator's payload-TTL sweep (spec §4.3, distiller.payload_ttl_days,
|
|
192
|
+
// default 90 days after the session reaches `done`). restoration_map holds the
|
|
193
|
+
// reversible pre-LLM redaction mapping keyed by msg_id (spec §4.3), cleared on
|
|
194
|
+
// TTL alongside the payload. Migration-only (like M005/M007) — runMigrations
|
|
195
|
+
// runs on both fresh and upgraded databases.
|
|
196
|
+
const M010_DISTILLED_PAYLOAD = `
|
|
197
|
+
CREATE TABLE IF NOT EXISTS distilled_payload (
|
|
198
|
+
id SERIAL PRIMARY KEY,
|
|
199
|
+
source_instance TEXT NOT NULL,
|
|
200
|
+
session_id TEXT NOT NULL,
|
|
201
|
+
revision_id INTEGER NOT NULL,
|
|
202
|
+
content_hash TEXT NOT NULL,
|
|
203
|
+
payload JSONB NOT NULL,
|
|
204
|
+
restoration_map JSONB,
|
|
205
|
+
ttl_expires_at TIMESTAMPTZ,
|
|
206
|
+
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
207
|
+
UNIQUE (revision_id)
|
|
208
|
+
);
|
|
209
|
+
|
|
210
|
+
CREATE INDEX IF NOT EXISTS idx_distilled_payload_lookup
|
|
211
|
+
ON distilled_payload (source_instance, session_id);
|
|
212
|
+
CREATE INDEX IF NOT EXISTS idx_distilled_payload_ttl
|
|
213
|
+
ON distilled_payload (ttl_expires_at) WHERE ttl_expires_at IS NOT NULL;
|
|
214
|
+
`;
|
|
215
|
+
// Migration 011: apply-engine backbone (extraction-quality-redesign PR-4).
|
|
216
|
+
// The three-layer apply data structure (spec §6.2) plus the two-layer ID
|
|
217
|
+
// provenance table (spec §6.1, §8):
|
|
218
|
+
// - memory_contributions: source-signal → canonical-page contribution ledger.
|
|
219
|
+
// Two-layer ID: contribution_id = hash(revision_id, type, normalized_topic)
|
|
220
|
+
// is the PK (one raw material per distillation); signal_family_key =
|
|
221
|
+
// hash(source_instance, session_id, type, normalized_topic) is the
|
|
222
|
+
// cross-revision family, unique per (signal_family_key, revision_id). Every
|
|
223
|
+
// canonical-page derivative (system-managed body, primary source, links,
|
|
224
|
+
// tags, timeline) is rematerialized from the ACTIVE rows here. This table
|
|
225
|
+
// doubles as the normalized provenance table (spec §8) via source_ref.
|
|
226
|
+
// - apply_plan(payload_id, target): the candidate-selection result, one per
|
|
227
|
+
// (payload, target). staging and production plans are independent.
|
|
228
|
+
// - apply_attempt(plan_id, status): one row per apply of a plan.
|
|
229
|
+
// - apply_mutation_journal: inverse records for NON-derived writes only
|
|
230
|
+
// (spec §3.1 / §6.2) — a rollback safety net; derived writes are rebuilt by
|
|
231
|
+
// rematerialize, so they are not journaled.
|
|
232
|
+
// Numbered M011 (M008/M009 = PR-3, M010 = PR-2). Migration-only, runs on both
|
|
233
|
+
// fresh and upgraded databases.
|
|
234
|
+
const M011_APPLY_ENGINE = `
|
|
235
|
+
CREATE TABLE IF NOT EXISTS memory_contributions (
|
|
236
|
+
contribution_id TEXT PRIMARY KEY,
|
|
237
|
+
signal_family_key TEXT NOT NULL,
|
|
238
|
+
canonical_page_id INTEGER REFERENCES pages(id) ON DELETE CASCADE,
|
|
239
|
+
session_ref TEXT NOT NULL,
|
|
240
|
+
revision_id INTEGER NOT NULL,
|
|
241
|
+
authority TEXT NOT NULL,
|
|
242
|
+
signal_type TEXT NOT NULL,
|
|
243
|
+
normalized_topic TEXT NOT NULL,
|
|
244
|
+
signal JSONB NOT NULL,
|
|
245
|
+
source_ref JSONB,
|
|
246
|
+
evidence JSONB,
|
|
247
|
+
active BOOLEAN NOT NULL DEFAULT TRUE,
|
|
248
|
+
apply_attempt_id INTEGER,
|
|
249
|
+
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
250
|
+
UNIQUE (signal_family_key, revision_id)
|
|
251
|
+
);
|
|
252
|
+
|
|
253
|
+
CREATE INDEX IF NOT EXISTS idx_memory_contributions_page
|
|
254
|
+
ON memory_contributions (canonical_page_id) WHERE active;
|
|
255
|
+
CREATE INDEX IF NOT EXISTS idx_memory_contributions_family
|
|
256
|
+
ON memory_contributions (signal_family_key);
|
|
257
|
+
CREATE INDEX IF NOT EXISTS idx_memory_contributions_attempt
|
|
258
|
+
ON memory_contributions (apply_attempt_id);
|
|
259
|
+
|
|
260
|
+
CREATE TABLE IF NOT EXISTS apply_plan (
|
|
261
|
+
id SERIAL PRIMARY KEY,
|
|
262
|
+
payload_id INTEGER NOT NULL REFERENCES distilled_payload(id) ON DELETE CASCADE,
|
|
263
|
+
target TEXT NOT NULL CHECK (target IN ('staging','production')),
|
|
264
|
+
plan JSONB NOT NULL,
|
|
265
|
+
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
266
|
+
UNIQUE (payload_id, target)
|
|
267
|
+
);
|
|
268
|
+
|
|
269
|
+
CREATE TABLE IF NOT EXISTS apply_attempt (
|
|
270
|
+
id SERIAL PRIMARY KEY,
|
|
271
|
+
plan_id INTEGER NOT NULL REFERENCES apply_plan(id) ON DELETE CASCADE,
|
|
272
|
+
target TEXT NOT NULL CHECK (target IN ('staging','production')),
|
|
273
|
+
status TEXT NOT NULL DEFAULT 'pending'
|
|
274
|
+
CHECK (status IN ('pending','applied','failed','dead_letter')),
|
|
275
|
+
detail JSONB,
|
|
276
|
+
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
277
|
+
completed_at TIMESTAMPTZ
|
|
278
|
+
);
|
|
279
|
+
|
|
280
|
+
CREATE INDEX IF NOT EXISTS idx_apply_attempt_plan ON apply_attempt (plan_id);
|
|
281
|
+
|
|
282
|
+
CREATE TABLE IF NOT EXISTS apply_mutation_journal (
|
|
283
|
+
id SERIAL PRIMARY KEY,
|
|
284
|
+
apply_attempt_id INTEGER NOT NULL REFERENCES apply_attempt(id) ON DELETE CASCADE,
|
|
285
|
+
seq INTEGER NOT NULL,
|
|
286
|
+
kind TEXT NOT NULL,
|
|
287
|
+
inverse JSONB NOT NULL,
|
|
288
|
+
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
289
|
+
UNIQUE (apply_attempt_id, seq)
|
|
290
|
+
);
|
|
291
|
+
`;
|
|
292
|
+
// Migration 012: staging schema for shadow apply (extraction-quality-redesign
|
|
293
|
+
// PR-4, spec §3.1). A physically isolated `staging` schema holds tables
|
|
294
|
+
// isomorphic to production, so the SINGLE target-agnostic apply engine can run
|
|
295
|
+
// with target=staging (shadow) writing here without touching production. The
|
|
296
|
+
// engine selects the target by SET LOCAL search_path within its transaction, so
|
|
297
|
+
// the same unqualified store SQL (pages, content_chunks, …) writes to whichever
|
|
298
|
+
// schema is first on the path. Search / consolidator / stats keep the default
|
|
299
|
+
// search_path ("$user", public) and therefore only ever read production —
|
|
300
|
+
// staging rows cannot pollute retrieval. Isomorphism is guaranteed by
|
|
301
|
+
// LIKE ... INCLUDING ALL against the just-migrated production tables (this runs
|
|
302
|
+
// after M001–M011), so any column added upstream is mirrored automatically.
|
|
303
|
+
// Migration-only; runs on both fresh and upgraded databases.
|
|
304
|
+
const M012_STAGING_SCHEMA = `
|
|
305
|
+
CREATE SCHEMA IF NOT EXISTS staging;
|
|
306
|
+
|
|
307
|
+
CREATE TABLE IF NOT EXISTS staging.pages
|
|
308
|
+
(LIKE public.pages INCLUDING ALL);
|
|
309
|
+
CREATE TABLE IF NOT EXISTS staging.content_chunks
|
|
310
|
+
(LIKE public.content_chunks INCLUDING ALL);
|
|
311
|
+
CREATE TABLE IF NOT EXISTS staging.links
|
|
312
|
+
(LIKE public.links INCLUDING ALL);
|
|
313
|
+
CREATE TABLE IF NOT EXISTS staging.tags
|
|
314
|
+
(LIKE public.tags INCLUDING ALL);
|
|
315
|
+
CREATE TABLE IF NOT EXISTS staging.timeline_entries
|
|
316
|
+
(LIKE public.timeline_entries INCLUDING ALL);
|
|
317
|
+
CREATE TABLE IF NOT EXISTS staging.memory_contributions
|
|
318
|
+
(LIKE public.memory_contributions INCLUDING ALL);
|
|
319
|
+
`;
|
|
184
320
|
export const MIGRATIONS = [
|
|
185
321
|
{ version: 1, name: "lifecycle_columns", sql: M001_LIFECYCLE_COLUMNS },
|
|
186
322
|
{ version: 2, name: "provenance_columns", sql: M002_PROVENANCE_COLUMNS },
|
|
@@ -191,6 +327,9 @@ export const MIGRATIONS = [
|
|
|
191
327
|
{ version: 7, name: "agent_sessions", sql: M007_AGENT_SESSIONS },
|
|
192
328
|
{ version: 8, name: "entity_handles", sql: M008_ENTITY_HANDLES },
|
|
193
329
|
{ version: 9, name: "entity_merge_suggestions", sql: M009_ENTITY_MERGE_SUGGESTIONS },
|
|
330
|
+
{ version: 10, name: "distilled_payload", sql: M010_DISTILLED_PAYLOAD },
|
|
331
|
+
{ version: 11, name: "apply_engine", sql: M011_APPLY_ENGINE },
|
|
332
|
+
{ version: 12, name: "staging_schema", sql: M012_STAGING_SCHEMA },
|
|
194
333
|
];
|
|
195
334
|
export async function runMigrations(conn) {
|
|
196
335
|
await conn.exec(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/migrations/index.ts"],"names":[],"mappings":"AAQA,sFAAsF;AACtF,4FAA4F;AAC5F,wFAAwF;AACxF,qFAAqF;AACrF,EAAE;AACF,2FAA2F;AAE3F,iEAAiE;AACjE,mFAAmF;AACnF,kFAAkF;AAClF,mDAAmD;AACnD,MAAM,sBAAsB,GAAG;;;;;;;;;CAS9B,CAAC;AAEF,yFAAyF;AACzF,0DAA0D;AAC1D,MAAM,uBAAuB,GAAG;;;;CAI/B,CAAC;AAEF,wFAAwF;AACxF,sEAAsE;AACtE,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;CAgB3B,CAAC;AAEF,gEAAgE;AAChE,0EAA0E;AAC1E,4EAA4E;AAC5E,6DAA6D;AAC7D,MAAM,4BAA4B,GAAG;;CAEpC,CAAC;AAEF,iFAAiF;AACjF,oFAAoF;AACpF,+EAA+E;AAC/E,iFAAiF;AACjF,oFAAoF;AACpF,4EAA4E;AAC5E,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;CAc5B,CAAC;AAEF,wFAAwF;AACxF,2FAA2F;AAC3F,6FAA6F;AAC7F,uFAAuF;AACvF,iDAAiD;AACjD,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;CAerB,CAAC;AAEF,sFAAsF;AACtF,0FAA0F;AAC1F,8FAA8F;AAC9F,qFAAqF;AACrF,4FAA4F;AAC5F,4FAA4F;AAC5F,4FAA4F;AAC5F,yFAAyF;AACzF,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB3B,CAAC;AAEF,yFAAyF;AACzF,wFAAwF;AACxF,uFAAuF;AACvF,2EAA2E;AAC3E,qEAAqE;AACrE,yFAAyF;AACzF,6CAA6C;AAC7C,EAAE;AACF,wCAAwC;AACxC,wFAAwF;AACxF,qFAAqF;AACrF,wFAAwF;AACxF,sDAAsD;AACtD,0FAA0F;AAC1F,0FAA0F;AAC1F,+DAA+D;AAC/D,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;CAa3B,CAAC;AAEF,uFAAuF;AACvF,4FAA4F;AAC5F,yFAAyF;AACzF,0FAA0F;AAC1F,4FAA4F;AAC5F,2FAA2F;AAC3F,4FAA4F;AAC5F,mFAAmF;AACnF,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;CAmBrC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,sBAAsB,EAAE;IACtE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,uBAAuB,EAAE;IACxE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,mBAAmB,EAAE;IAChE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,GAAG,EAAE,4BAA4B,EAAE;IAClF,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,oBAAoB,EAAE;IAClE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE;IACpD,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,mBAAmB,EAAE;IAChE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,mBAAmB,EAAE;IAChE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,6BAA6B,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/migrations/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/store/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/store/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAGpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,UAAU,gBAAgB;IACxB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD;;;OAGG;IACH,MAAM,CAAC,EAAE;QACP,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,uEAAuE;QACvE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;KACrC,CAAC;IACF,iFAAiF;IACjF,GAAG,CAAC,EAAE,WAAW,CAAC;CACnB;AAyBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAMpE;AA8ID,qBAAa,YAAY;IAQrB,OAAO,CAAC,EAAE;IAPZ,OAAO,CAAC,SAAS,CAAC,CAAsC;IACxD,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,QAAQ,CAAC,CAA2B;IAC5C,OAAO,CAAC,GAAG,CAAC,CAAc;gBAGhB,EAAE,EAAE,OAAO,EACnB,IAAI,CAAC,EAAE,gBAAgB;IAUzB;;;;OAIG;YACW,OAAO;IAUf,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAgDvE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YA6H9D,cAAc;YAuDd,YAAY;CAiC3B"}
|
package/dist/store/search.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { rewriteQuery } from "./query-rewrite.js";
|
|
2
|
+
import { sourceFilterCondition } from "./source-filter.js";
|
|
2
3
|
import { buildSnippet, buildTrgmConditions, splitTerms } from "./trgm-search.js";
|
|
3
4
|
const RRF_K = 60;
|
|
4
5
|
const COMPILED_TRUTH_BOOST = 2.0;
|
|
@@ -44,35 +45,41 @@ function sourceJson(alias) {
|
|
|
44
45
|
return `COALESCE(${alias}.frontmatter->'source', ${alias}.frontmatter->'first_seen')`;
|
|
45
46
|
}
|
|
46
47
|
function addMemoryFilterConditions(conditions, params, opts, pageAlias = "p") {
|
|
48
|
+
const pageId = `${pageAlias}.id`;
|
|
47
49
|
const addArrayCondition = (field) => {
|
|
48
50
|
const values = asArray(opts?.[field]);
|
|
49
51
|
if (!values || values.length === 0)
|
|
50
52
|
return;
|
|
51
53
|
params.push(values);
|
|
52
|
-
|
|
54
|
+
const p = `$${params.length}`;
|
|
55
|
+
// Spec §8: match active contributions (multi-source truth), frontmatter primary as fallback.
|
|
56
|
+
conditions.push(sourceFilterCondition(pageId, `mc.source_ref->>'${field}' = ANY(${p}::text[])`, `${sourceField(pageAlias, field)} = ANY(${p}::text[])`));
|
|
53
57
|
};
|
|
54
58
|
addArrayCondition("platform");
|
|
55
59
|
addArrayCondition("source_type");
|
|
56
60
|
if (opts?.channel) {
|
|
57
61
|
params.push(opts.channel);
|
|
58
|
-
|
|
62
|
+
const p = `$${params.length}`;
|
|
63
|
+
conditions.push(sourceFilterCondition(pageId, `mc.source_ref->>'channel' = ${p}`, `${sourceField(pageAlias, "channel")} = ${p}`));
|
|
59
64
|
}
|
|
60
65
|
if (opts?.channel_name) {
|
|
61
66
|
params.push(opts.channel_name);
|
|
62
|
-
|
|
67
|
+
const p = `$${params.length}`;
|
|
68
|
+
conditions.push(sourceFilterCondition(pageId, `mc.source_ref->>'channel_name' = ${p}`, `${sourceField(pageAlias, "channel_name")} = ${p}`));
|
|
63
69
|
}
|
|
64
70
|
if (opts?.participant) {
|
|
65
71
|
params.push(opts.participant);
|
|
66
72
|
const param = `$${params.length}`;
|
|
67
|
-
|
|
73
|
+
const participantMatch = (json) => `(
|
|
68
74
|
EXISTS (
|
|
69
75
|
SELECT 1
|
|
70
|
-
FROM jsonb_array_elements(COALESCE(${
|
|
76
|
+
FROM jsonb_array_elements(COALESCE(${json}->'participants', '[]'::jsonb)) AS participant
|
|
71
77
|
WHERE participant->>'name' = ${param} OR participant->>'id' = ${param}
|
|
72
78
|
)
|
|
73
|
-
OR ${
|
|
74
|
-
OR ${
|
|
75
|
-
)
|
|
79
|
+
OR ${json}->'author'->>'name' = ${param}
|
|
80
|
+
OR ${json}->'author'->>'id' = ${param}
|
|
81
|
+
)`;
|
|
82
|
+
conditions.push(sourceFilterCondition(pageId, participantMatch("mc.source_ref"), participantMatch(sourceJson(pageAlias))));
|
|
76
83
|
}
|
|
77
84
|
if (opts?.type && opts.type.length > 0) {
|
|
78
85
|
params.push(opts.type);
|
package/dist/store/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/store/search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/store/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build a boolean SQL condition that matches when an active contribution of the
|
|
3
|
+
* page satisfies `contribCond`, or — only when the page has no active
|
|
4
|
+
* contributions — the frontmatter `fallbackCond` matches.
|
|
5
|
+
*
|
|
6
|
+
* `contribCond` is evaluated against alias `mc` (memory_contributions);
|
|
7
|
+
* `fallbackCond` against whatever page/entry aliases the caller already uses.
|
|
8
|
+
* Both branches must reference the SAME bound parameter so the caller pushes it
|
|
9
|
+
* exactly once.
|
|
10
|
+
*/
|
|
11
|
+
export declare function sourceFilterCondition(pageIdExpr: string, contribCond: string, fallbackCond: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* A correlated subquery returning the primary active contribution's source_ref
|
|
14
|
+
* (first user_confirmed, else earliest) as JSONB, for use in COALESCE(...) so
|
|
15
|
+
* derived timestamps/sources come from contributions with a frontmatter
|
|
16
|
+
* fallback. Alias-safe: pass the page id expression.
|
|
17
|
+
*/
|
|
18
|
+
export declare function primaryContribSourceExpr(pageIdExpr: string): string;
|
|
19
|
+
//# sourceMappingURL=source-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-filter.d.ts","sourceRoot":"","sources":["../../src/store/source-filter.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,MAAM,CAGR;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAOnE"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// src/store/source-filter.ts
|
|
2
|
+
//
|
|
3
|
+
// Source filtering against active contributions (spec §8, PR-4).
|
|
4
|
+
//
|
|
5
|
+
// The multi-source truth lives in memory_contributions, not in the frontmatter
|
|
6
|
+
// (which keeps only a singular `source` = primary, for display). Filtering by a
|
|
7
|
+
// NON-primary platform / source_type / channel would MISS multi-source pages if
|
|
8
|
+
// it read only the frontmatter primary. So every source filter now matches
|
|
9
|
+
// against the page's ACTIVE contributions.
|
|
10
|
+
//
|
|
11
|
+
// Legacy pages that predate the apply engine have no contributions yet; for
|
|
12
|
+
// them we fall back to the frontmatter primary so existing retrieval keeps
|
|
13
|
+
// working during the transition. Concretely, a page matches a source filter
|
|
14
|
+
// when EITHER an active contribution matches, OR (the page has no active
|
|
15
|
+
// contributions AND) the frontmatter primary matches.
|
|
16
|
+
/**
|
|
17
|
+
* Build a boolean SQL condition that matches when an active contribution of the
|
|
18
|
+
* page satisfies `contribCond`, or — only when the page has no active
|
|
19
|
+
* contributions — the frontmatter `fallbackCond` matches.
|
|
20
|
+
*
|
|
21
|
+
* `contribCond` is evaluated against alias `mc` (memory_contributions);
|
|
22
|
+
* `fallbackCond` against whatever page/entry aliases the caller already uses.
|
|
23
|
+
* Both branches must reference the SAME bound parameter so the caller pushes it
|
|
24
|
+
* exactly once.
|
|
25
|
+
*/
|
|
26
|
+
export function sourceFilterCondition(pageIdExpr, contribCond, fallbackCond) {
|
|
27
|
+
const base = `SELECT 1 FROM memory_contributions mc WHERE mc.canonical_page_id = ${pageIdExpr} AND mc.active`;
|
|
28
|
+
return `(EXISTS (${base} AND (${contribCond})) OR (NOT EXISTS (${base}) AND (${fallbackCond})))`;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A correlated subquery returning the primary active contribution's source_ref
|
|
32
|
+
* (first user_confirmed, else earliest) as JSONB, for use in COALESCE(...) so
|
|
33
|
+
* derived timestamps/sources come from contributions with a frontmatter
|
|
34
|
+
* fallback. Alias-safe: pass the page id expression.
|
|
35
|
+
*/
|
|
36
|
+
export function primaryContribSourceExpr(pageIdExpr) {
|
|
37
|
+
return `(
|
|
38
|
+
SELECT mc.source_ref FROM memory_contributions mc
|
|
39
|
+
WHERE mc.canonical_page_id = ${pageIdExpr} AND mc.active
|
|
40
|
+
ORDER BY (mc.authority = 'user_confirmed') DESC, mc.created_at ASC
|
|
41
|
+
LIMIT 1
|
|
42
|
+
)`;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=source-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-filter.js","sourceRoot":"","sources":["../../src/store/source-filter.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,EAAE;AACF,iEAAiE;AACjE,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,2EAA2E;AAC3E,2CAA2C;AAC3C,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,4EAA4E;AAC5E,yEAAyE;AACzE,sDAAsD;AAEtD;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EAClB,WAAmB,EACnB,YAAoB;IAEpB,MAAM,IAAI,GAAG,sEAAsE,UAAU,gBAAgB,CAAC;IAC9G,OAAO,YAAY,IAAI,SAAS,WAAW,sBAAsB,IAAI,UAAU,YAAY,KAAK,CAAC;AACnG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,OAAO;;oCAE2B,UAAU;;;IAG1C,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/store/timeline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/store/timeline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AA+JD,qBAAa,aAAa;IACZ,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,OAAO;IAEzB,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,SAAS,CAAC;KACxB,GACA,OAAO,CAAC,IAAI,CAAC;IAuBV,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAcvD,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAqC5E,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;CAerE"}
|
package/dist/store/timeline.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { compactSourceRef } from "../core/source-ref.js";
|
|
2
|
+
import { sourceFilterCondition } from "./source-filter.js";
|
|
2
3
|
const DEFAULT_TIMELINE_LIMIT = 20;
|
|
3
4
|
const MAX_TIMELINE_LIMIT = 100;
|
|
4
5
|
function clampLimit(limit) {
|
|
@@ -38,35 +39,41 @@ function addFeedFilters(conditions, params, opts) {
|
|
|
38
39
|
params.push(`%${opts.query}%`);
|
|
39
40
|
conditions.push(`(te.summary ILIKE $${params.length} OR te.detail ILIKE $${params.length} OR p.title ILIKE $${params.length})`);
|
|
40
41
|
}
|
|
42
|
+
const pageId = "p.id";
|
|
41
43
|
const addArrayCondition = (field) => {
|
|
42
44
|
const values = asArray(opts?.[field]);
|
|
43
45
|
if (!values || values.length === 0)
|
|
44
46
|
return;
|
|
45
47
|
params.push(values);
|
|
46
|
-
|
|
48
|
+
const p = `$${params.length}`;
|
|
49
|
+
// Spec §8: match active contributions, timeline-entry/frontmatter primary as fallback.
|
|
50
|
+
conditions.push(sourceFilterCondition(pageId, `mc.source_ref->>'${field}' = ANY(${p}::text[])`, `${sourceField(field)} = ANY(${p}::text[])`));
|
|
47
51
|
};
|
|
48
52
|
addArrayCondition("platform");
|
|
49
53
|
addArrayCondition("source_type");
|
|
50
54
|
if (opts?.channel) {
|
|
51
55
|
params.push(opts.channel);
|
|
52
|
-
|
|
56
|
+
const p = `$${params.length}`;
|
|
57
|
+
conditions.push(sourceFilterCondition(pageId, `mc.source_ref->>'channel' = ${p}`, `${sourceField("channel")} = ${p}`));
|
|
53
58
|
}
|
|
54
59
|
if (opts?.channel_name) {
|
|
55
60
|
params.push(opts.channel_name);
|
|
56
|
-
|
|
61
|
+
const p = `$${params.length}`;
|
|
62
|
+
conditions.push(sourceFilterCondition(pageId, `mc.source_ref->>'channel_name' = ${p}`, `${sourceField("channel_name")} = ${p}`));
|
|
57
63
|
}
|
|
58
64
|
if (opts?.participant) {
|
|
59
65
|
params.push(opts.participant);
|
|
60
66
|
const param = `$${params.length}`;
|
|
61
|
-
|
|
67
|
+
const participantMatch = (json) => `(
|
|
62
68
|
EXISTS (
|
|
63
69
|
SELECT 1
|
|
64
|
-
FROM jsonb_array_elements(COALESCE(${
|
|
70
|
+
FROM jsonb_array_elements(COALESCE(${json}->'participants', '[]'::jsonb)) AS participant
|
|
65
71
|
WHERE participant->>'name' = ${param} OR participant->>'id' = ${param}
|
|
66
72
|
)
|
|
67
|
-
OR ${
|
|
68
|
-
OR ${
|
|
69
|
-
)
|
|
73
|
+
OR ${json}->'author'->>'name' = ${param}
|
|
74
|
+
OR ${json}->'author'->>'id' = ${param}
|
|
75
|
+
)`;
|
|
76
|
+
conditions.push(sourceFilterCondition(pageId, participantMatch("mc.source_ref"), participantMatch(sourceJson())));
|
|
70
77
|
}
|
|
71
78
|
if (opts?.type && opts.type.length > 0) {
|
|
72
79
|
params.push(opts.type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/store/timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/store/timeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/synth/scope.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/synth/scope.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEjE,iFAAiF;AACjF,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AAqB3D;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,EAC/B,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC,CAazB"}
|
package/dist/synth/scope.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { primaryContribSourceExpr } from "../store/source-filter.js";
|
|
1
2
|
const DEFAULT_LIMIT = 30;
|
|
2
3
|
function sourceToString(source) {
|
|
3
4
|
if (!source)
|
|
@@ -104,10 +105,15 @@ function dedupeBySourceHash(rows) {
|
|
|
104
105
|
}
|
|
105
106
|
async function retrieveByTime(scope, limit, stores) {
|
|
106
107
|
const time = scope.time;
|
|
108
|
+
// Spec §8: derive the signal source/time from the primary ACTIVE contribution,
|
|
109
|
+
// falling back to the frontmatter primary (legacy pages) then created_at.
|
|
110
|
+
const primarySource = primaryContribSourceExpr("pages.id");
|
|
111
|
+
const signalTimeExpr = `COALESCE(${primarySource}->>'timestamp', frontmatter->'source'->>'timestamp', frontmatter->'first_seen'->>'timestamp', created_at::text)`;
|
|
112
|
+
const sourceExpr = `COALESCE(${primarySource}, frontmatter->'source', frontmatter->'first_seen')`;
|
|
107
113
|
const params = [time.from, time.to];
|
|
108
114
|
const conditions = [
|
|
109
|
-
|
|
110
|
-
|
|
115
|
+
`${signalTimeExpr}::timestamptz >= $1::timestamptz`,
|
|
116
|
+
`${signalTimeExpr}::timestamptz < ($2::date + interval '1 day')`,
|
|
111
117
|
];
|
|
112
118
|
if (scope.types && scope.types.length > 0) {
|
|
113
119
|
params.push(scope.types);
|
|
@@ -115,8 +121,8 @@ async function retrieveByTime(scope, limit, stores) {
|
|
|
115
121
|
}
|
|
116
122
|
params.push(limit);
|
|
117
123
|
const result = await stores.db.executor.query(`SELECT slug, title, type, compiled_truth,
|
|
118
|
-
|
|
119
|
-
|
|
124
|
+
${signalTimeExpr} AS signal_time,
|
|
125
|
+
${sourceExpr} AS source,
|
|
120
126
|
frontmatter->>'source_hash' AS source_hash
|
|
121
127
|
FROM pages
|
|
122
128
|
WHERE ${conditions.join(" AND ")}
|
package/dist/synth/scope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/synth/scope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/synth/scope.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memkin",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.4",
|
|
4
4
|
"description": "Local-first personal memory system — extracts signals from Feishu/Lark chats and AI-agent sessions into a private knowledge graph, served to any agent via MCP",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"files": [
|
|
14
14
|
"dist/",
|
|
15
|
+
"web/dist/",
|
|
15
16
|
"bin/",
|
|
16
17
|
"README.md",
|
|
17
18
|
"README.en.md",
|