memkin 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +108 -836
- package/README.md +108 -836
- package/README.zh-CN.md +80 -44
- package/dist/cli-stores.d.ts +12 -0
- package/dist/cli-stores.d.ts.map +1 -1
- package/dist/cli-stores.js +15 -1
- package/dist/cli-stores.js.map +1 -1
- package/dist/cli.js +94 -6
- package/dist/cli.js.map +1 -1
- package/dist/collectors/agent/claude-code.d.ts.map +1 -1
- package/dist/collectors/agent/claude-code.js +10 -29
- package/dist/collectors/agent/claude-code.js.map +1 -1
- package/dist/collectors/agent/codex.d.ts.map +1 -1
- package/dist/collectors/agent/codex.js +24 -10
- package/dist/collectors/agent/codex.js.map +1 -1
- package/dist/collectors/agent/collector.d.ts +38 -0
- package/dist/collectors/agent/collector.d.ts.map +1 -1
- package/dist/collectors/agent/collector.js +91 -20
- package/dist/collectors/agent/collector.js.map +1 -1
- package/dist/collectors/agent/hermes.d.ts.map +1 -1
- package/dist/collectors/agent/hermes.js +5 -1
- package/dist/collectors/agent/hermes.js.map +1 -1
- package/dist/collectors/feishu/sources/calendar.d.ts.map +1 -1
- package/dist/collectors/feishu/sources/calendar.js +18 -7
- package/dist/collectors/feishu/sources/calendar.js.map +1 -1
- package/dist/consolidator/consolidator.d.ts +9 -1
- package/dist/consolidator/consolidator.d.ts.map +1 -1
- package/dist/consolidator/consolidator.js +7 -0
- package/dist/consolidator/consolidator.js.map +1 -1
- package/dist/consolidator/entity-merge.d.ts +33 -0
- package/dist/consolidator/entity-merge.d.ts.map +1 -0
- package/dist/consolidator/entity-merge.js +148 -0
- package/dist/consolidator/entity-merge.js.map +1 -0
- package/dist/core/agent-session-scanner.d.ts +23 -0
- package/dist/core/agent-session-scanner.d.ts.map +1 -0
- package/dist/core/agent-session-scanner.js +69 -0
- package/dist/core/agent-session-scanner.js.map +1 -0
- package/dist/core/canonicalize.d.ts +8 -0
- package/dist/core/canonicalize.d.ts.map +1 -1
- package/dist/core/canonicalize.js +12 -2
- package/dist/core/canonicalize.js.map +1 -1
- package/dist/core/config.d.ts +6 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/identity-resolver.d.ts +53 -3
- package/dist/core/identity-resolver.d.ts.map +1 -1
- package/dist/core/identity-resolver.js +112 -17
- package/dist/core/identity-resolver.js.map +1 -1
- package/dist/core/person-identity.d.ts +38 -3
- package/dist/core/person-identity.d.ts.map +1 -1
- package/dist/core/person-identity.js +58 -29
- package/dist/core/person-identity.js.map +1 -1
- package/dist/core/pipeline-factory.d.ts.map +1 -1
- package/dist/core/pipeline-factory.js +2 -1
- package/dist/core/pipeline-factory.js.map +1 -1
- package/dist/core/pipeline.js +3 -3
- package/dist/core/pipeline.js.map +1 -1
- package/dist/daemon/autostart/daemon-state.d.ts +32 -0
- package/dist/daemon/autostart/daemon-state.d.ts.map +1 -1
- package/dist/daemon/autostart/daemon-state.js +27 -1
- package/dist/daemon/autostart/daemon-state.js.map +1 -1
- package/dist/daemon/scheduler.d.ts +10 -0
- package/dist/daemon/scheduler.d.ts.map +1 -1
- package/dist/daemon/scheduler.js +20 -1
- package/dist/daemon/scheduler.js.map +1 -1
- package/dist/demo/seed.d.ts +32 -0
- package/dist/demo/seed.d.ts.map +1 -0
- package/dist/demo/seed.js +185 -0
- package/dist/demo/seed.js.map +1 -0
- package/dist/embedded-assets.generated.d.ts.map +1 -1
- package/dist/embedded-assets.generated.js +2 -2
- package/dist/embedded-assets.generated.js.map +1 -1
- package/dist/eval/golden.d.ts +107 -0
- package/dist/eval/golden.d.ts.map +1 -0
- package/dist/eval/golden.js +74 -0
- package/dist/eval/golden.js.map +1 -0
- package/dist/eval/judge.d.ts +82 -0
- package/dist/eval/judge.d.ts.map +1 -0
- package/dist/eval/judge.js +130 -0
- package/dist/eval/judge.js.map +1 -0
- package/dist/eval/manifest.d.ts +107 -0
- package/dist/eval/manifest.d.ts.map +1 -0
- package/dist/eval/manifest.js +84 -0
- package/dist/eval/manifest.js.map +1 -0
- package/dist/eval/metrics.d.ts +87 -0
- package/dist/eval/metrics.d.ts.map +1 -0
- package/dist/eval/metrics.js +97 -0
- package/dist/eval/metrics.js.map +1 -0
- package/dist/extractors/noise-filter.d.ts +7 -3
- package/dist/extractors/noise-filter.d.ts.map +1 -1
- package/dist/extractors/noise-filter.js +16 -3
- package/dist/extractors/noise-filter.js.map +1 -1
- package/dist/extractors/signal-extractor.d.ts.map +1 -1
- package/dist/extractors/signal-extractor.js +13 -2
- package/dist/extractors/signal-extractor.js.map +1 -1
- package/dist/lifecycle/legacy-migration.d.ts +6 -2
- package/dist/lifecycle/legacy-migration.d.ts.map +1 -1
- package/dist/lifecycle/legacy-migration.js +69 -4
- package/dist/lifecycle/legacy-migration.js.map +1 -1
- package/dist/server/api.d.ts.map +1 -1
- package/dist/server/api.js +18 -7
- package/dist/server/api.js.map +1 -1
- package/dist/server/backfill-routes.d.ts.map +1 -1
- package/dist/server/backfill-routes.js +2 -1
- package/dist/server/backfill-routes.js.map +1 -1
- package/dist/server/mcp.d.ts +4 -4
- package/dist/store/agent-sessions.d.ts +59 -0
- package/dist/store/agent-sessions.d.ts.map +1 -0
- package/dist/store/agent-sessions.js +119 -0
- package/dist/store/agent-sessions.js.map +1 -0
- package/dist/store/database.d.ts +20 -1
- package/dist/store/database.d.ts.map +1 -1
- package/dist/store/database.js +44 -6
- package/dist/store/database.js.map +1 -1
- package/dist/store/embedding.d.ts +20 -2
- package/dist/store/embedding.d.ts.map +1 -1
- package/dist/store/embedding.js +20 -5
- package/dist/store/embedding.js.map +1 -1
- package/dist/store/entity-suggestions.d.ts +62 -0
- package/dist/store/entity-suggestions.d.ts.map +1 -0
- package/dist/store/entity-suggestions.js +80 -0
- package/dist/store/entity-suggestions.js.map +1 -0
- package/dist/store/migrations/index.d.ts.map +1 -1
- package/dist/store/migrations/index.js +91 -0
- package/dist/store/migrations/index.js.map +1 -1
- package/dist/store/pages.d.ts.map +1 -1
- package/dist/store/pages.js +12 -3
- package/dist/store/pages.js.map +1 -1
- package/package.json +1 -1
|
@@ -93,6 +93,94 @@ DROP INDEX IF EXISTS idx_chunks_search_vector;
|
|
|
93
93
|
ALTER TABLE pages DROP COLUMN IF EXISTS search_vector;
|
|
94
94
|
ALTER TABLE content_chunks DROP COLUMN IF EXISTS search_vector;
|
|
95
95
|
`;
|
|
96
|
+
// Migration 007: agent_sessions processing ledger (extraction-quality-redesign PR-0).
|
|
97
|
+
// One row per session REVISION, keyed by (source_instance, session_id, content_hash) so a
|
|
98
|
+
// changed transcript (new content_hash) lands as a fresh revision without clobbering history.
|
|
99
|
+
// This replaces the lossy per-agent cursor watermark (claude-code compared sessionId
|
|
100
|
+
// lexicographically, permanently dropping recovered sessions). The state machine models the
|
|
101
|
+
// distill→apply lifecycle; PR-0 only writes `discovered` and lays down the reserved columns
|
|
102
|
+
// (payload_id, staging_applied_at, prod_applied_at) that PR-2/PR-4 populate. Migration-only
|
|
103
|
+
// (like M005 person_behavior) — runMigrations runs on both fresh and upgraded databases.
|
|
104
|
+
const M007_AGENT_SESSIONS = `
|
|
105
|
+
CREATE TABLE IF NOT EXISTS agent_sessions (
|
|
106
|
+
id SERIAL PRIMARY KEY,
|
|
107
|
+
source_instance TEXT NOT NULL,
|
|
108
|
+
session_id TEXT NOT NULL,
|
|
109
|
+
content_hash TEXT NOT NULL,
|
|
110
|
+
byte_size BIGINT NOT NULL,
|
|
111
|
+
line_count INTEGER NOT NULL,
|
|
112
|
+
state TEXT NOT NULL DEFAULT 'discovered'
|
|
113
|
+
CHECK (state IN ('discovered','distilled','applying','done','retrying','dead_letter')),
|
|
114
|
+
retry_count INTEGER NOT NULL DEFAULT 0,
|
|
115
|
+
payload_id INTEGER,
|
|
116
|
+
staging_applied_at TIMESTAMPTZ,
|
|
117
|
+
prod_applied_at TIMESTAMPTZ,
|
|
118
|
+
discovered_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
119
|
+
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
120
|
+
UNIQUE (source_instance, session_id, content_hash)
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
CREATE INDEX IF NOT EXISTS idx_agent_sessions_lookup ON agent_sessions (source_instance, session_id);
|
|
124
|
+
CREATE INDEX IF NOT EXISTS idx_agent_sessions_state ON agent_sessions (state);
|
|
125
|
+
`;
|
|
126
|
+
// Migration 008: generalize person_handles → entity_handles (extraction-quality-redesign
|
|
127
|
+
// PR-3, spec §9). Entity normalization needs the same typed-handle registry for project
|
|
128
|
+
// and tool entities that persons already have — one table, namespaced by (entity_type,
|
|
129
|
+
// scope), NOT a parallel registry. Existing person rows are preserved with
|
|
130
|
+
// entity_type='person'. The primary key widens from (kind, value) to
|
|
131
|
+
// (entity_type, scope, kind, value) so "Codex the tool" and "Codex the project" can each
|
|
132
|
+
// hold a name handle in their own namespace.
|
|
133
|
+
//
|
|
134
|
+
// Two compat guards, both load-bearing:
|
|
135
|
+
// - `person_handles` remains as a VIEW over entity_handles. Database.create re-applies
|
|
136
|
+
// schema.sql (which has CREATE TABLE IF NOT EXISTS person_handles) on EVERY boot,
|
|
137
|
+
// before migrations run; the view occupies the relation name so that statement skips
|
|
138
|
+
// instead of resurrecting an empty parallel table.
|
|
139
|
+
// - The idx_person_handles_slug index name is kept (table renames don't rename indexes);
|
|
140
|
+
// schema.sql's CREATE INDEX IF NOT EXISTS matches by index name and skips. Renaming it
|
|
141
|
+
// would make that statement try to index the view and fail.
|
|
142
|
+
const M008_ENTITY_HANDLES = `
|
|
143
|
+
ALTER TABLE person_handles RENAME TO entity_handles;
|
|
144
|
+
ALTER TABLE entity_handles ADD COLUMN entity_type TEXT NOT NULL DEFAULT 'person'
|
|
145
|
+
CHECK (entity_type IN ('person','project','organization','tool','concept'));
|
|
146
|
+
ALTER TABLE entity_handles ADD COLUMN scope TEXT NOT NULL DEFAULT 'global';
|
|
147
|
+
ALTER TABLE entity_handles DROP CONSTRAINT person_handles_pkey;
|
|
148
|
+
ALTER TABLE entity_handles ADD CONSTRAINT entity_handles_pkey
|
|
149
|
+
PRIMARY KEY (entity_type, scope, kind, value);
|
|
150
|
+
|
|
151
|
+
CREATE VIEW person_handles AS
|
|
152
|
+
SELECT kind, value, canonical_slug, strength, created_at
|
|
153
|
+
FROM entity_handles
|
|
154
|
+
WHERE entity_type = 'person';
|
|
155
|
+
`;
|
|
156
|
+
// Migration 009: entity_merge_suggestions (extraction-quality-redesign PR-3, spec §9).
|
|
157
|
+
// Near-duplicate entity pages (exact same name, Levenshtein-close titles, pinyin-equivalent
|
|
158
|
+
// person names, cross-type name clashes) are NEVER merged automatically — detection only
|
|
159
|
+
// produces suggestion rows here, the consolidator aggregates them, and merges happen only
|
|
160
|
+
// after explicit user confirmation via the existing merge machinery. A dismissed suggestion
|
|
161
|
+
// must stay dismissed even though the sweep keeps re-detecting the same pair, hence status
|
|
162
|
+
// lives on the unique (entity_type, from_slug, into_slug, reason) row. Migration-only table
|
|
163
|
+
// (M005/M007 precedent) — runMigrations runs on both fresh and upgraded databases.
|
|
164
|
+
const M009_ENTITY_MERGE_SUGGESTIONS = `
|
|
165
|
+
CREATE TABLE IF NOT EXISTS entity_merge_suggestions (
|
|
166
|
+
id SERIAL PRIMARY KEY,
|
|
167
|
+
entity_type TEXT NOT NULL
|
|
168
|
+
CHECK (entity_type IN ('person','project','organization','tool','concept')),
|
|
169
|
+
from_slug TEXT NOT NULL,
|
|
170
|
+
into_slug TEXT NOT NULL,
|
|
171
|
+
reason TEXT NOT NULL
|
|
172
|
+
CHECK (reason IN ('same_name','cross_type_name','levenshtein','pinyin')),
|
|
173
|
+
detail JSONB,
|
|
174
|
+
status TEXT NOT NULL DEFAULT 'pending'
|
|
175
|
+
CHECK (status IN ('pending','accepted','dismissed')),
|
|
176
|
+
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
177
|
+
resolved_at TIMESTAMPTZ,
|
|
178
|
+
UNIQUE (entity_type, from_slug, into_slug, reason)
|
|
179
|
+
);
|
|
180
|
+
|
|
181
|
+
CREATE INDEX IF NOT EXISTS idx_entity_merge_suggestions_status
|
|
182
|
+
ON entity_merge_suggestions (status);
|
|
183
|
+
`;
|
|
96
184
|
export const MIGRATIONS = [
|
|
97
185
|
{ version: 1, name: "lifecycle_columns", sql: M001_LIFECYCLE_COLUMNS },
|
|
98
186
|
{ version: 2, name: "provenance_columns", sql: M002_PROVENANCE_COLUMNS },
|
|
@@ -100,6 +188,9 @@ export const MIGRATIONS = [
|
|
|
100
188
|
{ version: 4, name: "identity_cache_nullable", sql: M004_IDENTITY_CACHE_NULLABLE },
|
|
101
189
|
{ version: 5, name: "person_behavior", sql: M005_PERSON_BEHAVIOR },
|
|
102
190
|
{ version: 6, name: "trgm_fts", sql: M006_TRGM_FTS },
|
|
191
|
+
{ version: 7, name: "agent_sessions", sql: M007_AGENT_SESSIONS },
|
|
192
|
+
{ version: 8, name: "entity_handles", sql: M008_ENTITY_HANDLES },
|
|
193
|
+
{ version: 9, name: "entity_merge_suggestions", sql: M009_ENTITY_MERGE_SUGGESTIONS },
|
|
103
194
|
];
|
|
104
195
|
export async function runMigrations(conn) {
|
|
105
196
|
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,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;
|
|
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":"pages.d.ts","sourceRoot":"","sources":["../../src/store/pages.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG9D,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAIzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/store/pages.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG9D,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAIzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAqDD,qBAAa,SAAS;IAGR,OAAO,CAAC,EAAE;IAFtB,OAAO,CAAC,KAAK,CAAa;gBAEN,EAAE,EAAE,OAAO;IAIzB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsDlF;;;;;;;;;;;;;OAaG;IACG,iBAAiB,CACrB,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,IAAI,CAAC;IA6BhB;;;OAGG;YACW,SAAS;YA6CT,aAAa;IAcrB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAKjD;;;;;;;;;OASG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAcnF;;;;;;OAMG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,SAAS,CAAC,IAAI,CAAC,EAAE;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IA8Cb,cAAc,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAWjC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAczF,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAQpD,OAAO,CAAC,SAAS;CAkBlB"}
|
package/dist/store/pages.js
CHANGED
|
@@ -3,6 +3,15 @@ import { parse as parseYaml } from "yaml";
|
|
|
3
3
|
import { rechunkTx } from "./chunks.js";
|
|
4
4
|
import { GraphStore } from "./graph.js";
|
|
5
5
|
import { parseWikiLinks } from "./wikilink.js";
|
|
6
|
+
/**
|
|
7
|
+
* Normalize a driver timestamp value (Date from PGLite/pg, or already a
|
|
8
|
+
* string) to the ISO-8601 string the Page interface declares. Without this,
|
|
9
|
+
* Date objects leak through rowToPage and break consumers that rely on the
|
|
10
|
+
* declared string type (e.g. MCP `put_page` output schema validation).
|
|
11
|
+
*/
|
|
12
|
+
function toIsoTimestamp(value) {
|
|
13
|
+
return value instanceof Date ? value.toISOString() : String(value);
|
|
14
|
+
}
|
|
6
15
|
function parseMarkdownWithFrontmatter(content) {
|
|
7
16
|
const fmMatch = content.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);
|
|
8
17
|
if (!fmMatch) {
|
|
@@ -276,10 +285,10 @@ export class PageStore {
|
|
|
276
285
|
content_hash: row.content_hash,
|
|
277
286
|
halflife_days: row.halflife_days,
|
|
278
287
|
tier: row.tier ?? "hot",
|
|
279
|
-
expires_at: row.expires_at
|
|
288
|
+
expires_at: row.expires_at == null ? null : toIsoTimestamp(row.expires_at),
|
|
280
289
|
consolidated_into: row.consolidated_into ?? null,
|
|
281
|
-
created_at: row.created_at,
|
|
282
|
-
updated_at: row.updated_at,
|
|
290
|
+
created_at: toIsoTimestamp(row.created_at),
|
|
291
|
+
updated_at: toIsoTimestamp(row.updated_at),
|
|
283
292
|
};
|
|
284
293
|
}
|
|
285
294
|
}
|
package/dist/store/pages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/store/pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/store/pages.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.1",
|
|
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": {
|