@soleri/core 9.14.0 → 9.15.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/dist/brain/brain.d.ts +9 -0
- package/dist/brain/brain.d.ts.map +1 -1
- package/dist/brain/brain.js +11 -1
- package/dist/brain/brain.js.map +1 -1
- package/dist/brain/intelligence.d.ts.map +1 -1
- package/dist/brain/intelligence.js +24 -0
- package/dist/brain/intelligence.js.map +1 -1
- package/dist/brain/types.d.ts +1 -0
- package/dist/brain/types.d.ts.map +1 -1
- package/dist/chat/chat-session.d.ts +6 -0
- package/dist/chat/chat-session.d.ts.map +1 -1
- package/dist/chat/chat-session.js +68 -17
- package/dist/chat/chat-session.js.map +1 -1
- package/dist/curator/curator.d.ts +6 -0
- package/dist/curator/curator.d.ts.map +1 -1
- package/dist/curator/curator.js +138 -0
- package/dist/curator/curator.js.map +1 -1
- package/dist/curator/types.d.ts +10 -0
- package/dist/curator/types.d.ts.map +1 -1
- package/dist/engine/bin/soleri-engine.js +0 -0
- package/dist/flows/types.d.ts +16 -16
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/intake/content-classifier.d.ts +10 -4
- package/dist/intake/content-classifier.d.ts.map +1 -1
- package/dist/intake/content-classifier.js +19 -5
- package/dist/intake/content-classifier.js.map +1 -1
- package/dist/intake/text-ingester.d.ts +18 -0
- package/dist/intake/text-ingester.d.ts.map +1 -1
- package/dist/intake/text-ingester.js +37 -13
- package/dist/intake/text-ingester.js.map +1 -1
- package/dist/planning/planner.d.ts +3 -0
- package/dist/planning/planner.d.ts.map +1 -1
- package/dist/planning/planner.js +43 -4
- package/dist/planning/planner.js.map +1 -1
- package/dist/plugins/types.d.ts +2 -2
- package/dist/runtime/admin-setup-ops.d.ts.map +1 -1
- package/dist/runtime/admin-setup-ops.js +59 -20
- package/dist/runtime/admin-setup-ops.js.map +1 -1
- package/dist/runtime/facades/orchestrate-facade.d.ts.map +1 -1
- package/dist/runtime/facades/orchestrate-facade.js +28 -1
- package/dist/runtime/facades/orchestrate-facade.js.map +1 -1
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +16 -0
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/types.d.ts +19 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/skills/sync-skills.d.ts.map +1 -1
- package/dist/skills/sync-skills.js +9 -3
- package/dist/skills/sync-skills.js.map +1 -1
- package/dist/skills/validate-skills.d.ts +32 -0
- package/dist/skills/validate-skills.d.ts.map +1 -0
- package/dist/skills/validate-skills.js +396 -0
- package/dist/skills/validate-skills.js.map +1 -0
- package/dist/vault/default-canonical-tags.d.ts +15 -0
- package/dist/vault/default-canonical-tags.d.ts.map +1 -0
- package/dist/vault/default-canonical-tags.js +65 -0
- package/dist/vault/default-canonical-tags.js.map +1 -0
- package/dist/vault/tag-normalizer.d.ts +42 -0
- package/dist/vault/tag-normalizer.d.ts.map +1 -0
- package/dist/vault/tag-normalizer.js +157 -0
- package/dist/vault/tag-normalizer.js.map +1 -0
- package/package.json +6 -2
- package/src/__tests__/embeddings.test.ts +3 -3
- package/src/brain/brain.ts +25 -1
- package/src/brain/intelligence.ts +25 -0
- package/src/brain/types.ts +1 -0
- package/src/chat/chat-session.ts +75 -17
- package/src/chat/chat-transport.test.ts +31 -1
- package/src/curator/curator.ts +180 -0
- package/src/curator/types.ts +10 -0
- package/src/index.ts +7 -0
- package/src/intake/content-classifier.ts +22 -4
- package/src/intake/text-ingester.ts +61 -12
- package/src/planning/planner.test.ts +86 -90
- package/src/planning/planner.ts +48 -4
- package/src/runtime/admin-setup-ops.test.ts +44 -0
- package/src/runtime/admin-setup-ops.ts +59 -20
- package/src/runtime/facades/orchestrate-facade.ts +27 -1
- package/src/runtime/runtime.ts +18 -0
- package/src/runtime/types.ts +19 -0
- package/src/skills/sync-skills.ts +9 -3
- package/src/skills/validate-skills.test.ts +205 -0
- package/src/skills/validate-skills.ts +470 -0
- package/src/vault/default-canonical-tags.ts +64 -0
- package/src/vault/tag-normalizer.test.ts +214 -0
- package/src/vault/tag-normalizer.ts +188 -0
- package/dist/embeddings/index.d.ts +0 -5
- package/dist/embeddings/index.d.ts.map +0 -1
- package/dist/embeddings/index.js +0 -3
- package/dist/embeddings/index.js.map +0 -1
- package/dist/knowledge-packs/knowledge-packs/community/.gitkeep +0 -0
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-craft/soleri-pack.json +0 -10
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-craft/vault/accessibility.json +0 -53
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-craft/vault/design-tokens.json +0 -26
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-craft/vault/design.json +0 -33
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-craft/vault/styling.json +0 -44
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-craft/vault/ux-laws.json +0 -36
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-craft/vault/ux.json +0 -36
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/soleri-pack.json +0 -10
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/architecture.json +0 -143
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/commercial.json +0 -16
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/communication.json +0 -33
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/component.json +0 -16
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/express.json +0 -34
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/leadership.json +0 -33
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/methodology.json +0 -33
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/monorepo.json +0 -33
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/other.json +0 -73
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/performance.json +0 -35
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/prisma.json +0 -33
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/product-strategy.json +0 -42
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/react.json +0 -47
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/security.json +0 -34
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/testing.json +0 -33
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/tooling.json +0 -85
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/typescript.json +0 -34
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-engineering/vault/workflow.json +0 -46
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-uipro/soleri-pack.json +0 -10
- package/dist/knowledge-packs/knowledge-packs/salvador/salvador-uipro/vault/design.json +0 -2589
- package/dist/knowledge-packs/knowledge-packs/starter/architecture/soleri-pack.json +0 -10
- package/dist/knowledge-packs/knowledge-packs/starter/architecture/vault/patterns.json +0 -137
- package/dist/knowledge-packs/knowledge-packs/starter/design/soleri-pack.json +0 -10
- package/dist/knowledge-packs/knowledge-packs/starter/design/vault/patterns.json +0 -137
- package/dist/knowledge-packs/knowledge-packs/starter/security/soleri-pack.json +0 -10
- package/dist/knowledge-packs/knowledge-packs/starter/security/vault/patterns.json +0 -137
- /package/dist/knowledge-packs/{knowledge-packs/starter → starter}/api-design/soleri-pack.json +0 -0
- /package/dist/knowledge-packs/{knowledge-packs/starter → starter}/api-design/vault/patterns.json +0 -0
- /package/dist/knowledge-packs/{knowledge-packs/starter → starter}/nodejs/soleri-pack.json +0 -0
- /package/dist/knowledge-packs/{knowledge-packs/starter → starter}/nodejs/vault/patterns.json +0 -0
- /package/dist/knowledge-packs/{knowledge-packs/starter → starter}/react/soleri-pack.json +0 -0
- /package/dist/knowledge-packs/{knowledge-packs/starter → starter}/react/vault/patterns.json +0 -0
- /package/dist/knowledge-packs/{knowledge-packs/starter → starter}/testing/soleri-pack.json +0 -0
- /package/dist/knowledge-packs/{knowledge-packs/starter → starter}/testing/vault/patterns.json +0 -0
- /package/dist/knowledge-packs/{knowledge-packs/starter → starter}/typescript/soleri-pack.json +0 -0
- /package/dist/knowledge-packs/{knowledge-packs/starter → starter}/typescript/vault/patterns.json +0 -0
|
@@ -13,6 +13,7 @@ const DEFAULT_TTL_MS = 7_200_000; // 2 hours
|
|
|
13
13
|
const DEFAULT_COMPACTION_THRESHOLD = 100;
|
|
14
14
|
const DEFAULT_COMPACTION_KEEP = 40;
|
|
15
15
|
const REAPER_INTERVAL_MS = 60_000; // 1 minute
|
|
16
|
+
const SESSION_SUBDIR = 'sessions';
|
|
16
17
|
export class ChatSessionManager {
|
|
17
18
|
sessions = new Map();
|
|
18
19
|
config;
|
|
@@ -25,6 +26,7 @@ export class ChatSessionManager {
|
|
|
25
26
|
compactionKeep: config.compactionKeep ?? DEFAULT_COMPACTION_KEEP,
|
|
26
27
|
};
|
|
27
28
|
mkdirSync(this.config.storageDir, { recursive: true });
|
|
29
|
+
mkdirSync(this.sessionDir(), { recursive: true });
|
|
28
30
|
}
|
|
29
31
|
// ─── Lifecycle ──────────────────────────────────────────────────
|
|
30
32
|
/**
|
|
@@ -67,7 +69,9 @@ export class ChatSessionManager {
|
|
|
67
69
|
has(sessionId) {
|
|
68
70
|
if (this.sessions.has(sessionId))
|
|
69
71
|
return true;
|
|
70
|
-
|
|
72
|
+
if (existsSync(this.sessionPath(sessionId)))
|
|
73
|
+
return true;
|
|
74
|
+
return this.loadSessionFile(this.legacySessionPath(sessionId)) !== undefined;
|
|
71
75
|
}
|
|
72
76
|
// ─── Message Management ─────────────────────────────────────────
|
|
73
77
|
/**
|
|
@@ -136,16 +140,11 @@ export class ChatSessionManager {
|
|
|
136
140
|
*/
|
|
137
141
|
listAll() {
|
|
138
142
|
const memoryIds = new Set(this.sessions.keys());
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
for (const f of files) {
|
|
142
|
-
if (f.endsWith('.json')) {
|
|
143
|
-
memoryIds.add(f.replace('.json', ''));
|
|
144
|
-
}
|
|
145
|
-
}
|
|
143
|
+
for (const id of this.readPersistedSessionIds(this.sessionDir())) {
|
|
144
|
+
memoryIds.add(id);
|
|
146
145
|
}
|
|
147
|
-
|
|
148
|
-
|
|
146
|
+
for (const id of this.readPersistedSessionIds(this.config.storageDir)) {
|
|
147
|
+
memoryIds.add(id);
|
|
149
148
|
}
|
|
150
149
|
return [...memoryIds];
|
|
151
150
|
}
|
|
@@ -214,39 +213,91 @@ export class ChatSessionManager {
|
|
|
214
213
|
return;
|
|
215
214
|
session.messages = session.messages.slice(-keep);
|
|
216
215
|
}
|
|
216
|
+
sessionDir() {
|
|
217
|
+
return join(this.config.storageDir, SESSION_SUBDIR);
|
|
218
|
+
}
|
|
217
219
|
sessionPath(sessionId) {
|
|
218
220
|
// Sanitize ID for filesystem safety
|
|
221
|
+
const safe = sessionId.replace(/[^a-zA-Z0-9_-]/g, '_');
|
|
222
|
+
return join(this.sessionDir(), `${safe}.json`);
|
|
223
|
+
}
|
|
224
|
+
legacySessionPath(sessionId) {
|
|
219
225
|
const safe = sessionId.replace(/[^a-zA-Z0-9_-]/g, '_');
|
|
220
226
|
return join(this.config.storageDir, `${safe}.json`);
|
|
221
227
|
}
|
|
222
228
|
persistToDisk(session) {
|
|
223
229
|
try {
|
|
230
|
+
mkdirSync(this.sessionDir(), { recursive: true });
|
|
224
231
|
writeFileSync(this.sessionPath(session.id), JSON.stringify(session), 'utf-8');
|
|
232
|
+
// Clean up valid legacy session files after migrating to the namespaced path.
|
|
233
|
+
const legacyPath = this.legacySessionPath(session.id);
|
|
234
|
+
if (this.loadSessionFile(legacyPath)) {
|
|
235
|
+
this.removeFile(legacyPath);
|
|
236
|
+
}
|
|
225
237
|
}
|
|
226
238
|
catch {
|
|
227
239
|
// Disk write failure is non-critical — session lives in memory
|
|
228
240
|
}
|
|
229
241
|
}
|
|
230
242
|
loadFromDisk(sessionId) {
|
|
231
|
-
const
|
|
243
|
+
const current = this.loadSessionFile(this.sessionPath(sessionId));
|
|
244
|
+
if (current)
|
|
245
|
+
return current;
|
|
246
|
+
const legacyPath = this.legacySessionPath(sessionId);
|
|
247
|
+
const legacy = this.loadSessionFile(legacyPath);
|
|
248
|
+
if (legacy) {
|
|
249
|
+
this.persistToDisk(legacy);
|
|
250
|
+
return legacy;
|
|
251
|
+
}
|
|
252
|
+
return undefined;
|
|
253
|
+
}
|
|
254
|
+
removeFromDisk(sessionId) {
|
|
255
|
+
this.removeFile(this.sessionPath(sessionId));
|
|
256
|
+
const legacyPath = this.legacySessionPath(sessionId);
|
|
257
|
+
if (this.loadSessionFile(legacyPath)) {
|
|
258
|
+
this.removeFile(legacyPath);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
removeFile(path) {
|
|
262
|
+
try {
|
|
263
|
+
rmSync(path, { force: true });
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
// Removal failure is non-critical
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
loadSessionFile(path) {
|
|
232
270
|
if (!existsSync(path))
|
|
233
271
|
return undefined;
|
|
234
272
|
try {
|
|
235
|
-
const data = readFileSync(path, 'utf-8');
|
|
236
|
-
return
|
|
273
|
+
const data = JSON.parse(readFileSync(path, 'utf-8'));
|
|
274
|
+
return this.isChatSession(data) ? data : undefined;
|
|
237
275
|
}
|
|
238
276
|
catch {
|
|
239
277
|
return undefined;
|
|
240
278
|
}
|
|
241
279
|
}
|
|
242
|
-
|
|
243
|
-
const path = this.sessionPath(sessionId);
|
|
280
|
+
readPersistedSessionIds(dir) {
|
|
244
281
|
try {
|
|
245
|
-
|
|
282
|
+
return readdirSync(dir).flatMap((file) => {
|
|
283
|
+
if (!file.endsWith('.json'))
|
|
284
|
+
return [];
|
|
285
|
+
const session = this.loadSessionFile(join(dir, file));
|
|
286
|
+
return session ? [session.id] : [];
|
|
287
|
+
});
|
|
246
288
|
}
|
|
247
289
|
catch {
|
|
248
|
-
|
|
290
|
+
return [];
|
|
249
291
|
}
|
|
250
292
|
}
|
|
293
|
+
isChatSession(value) {
|
|
294
|
+
if (!value || typeof value !== 'object')
|
|
295
|
+
return false;
|
|
296
|
+
const session = value;
|
|
297
|
+
return (typeof session.id === 'string' &&
|
|
298
|
+
Array.isArray(session.messages) &&
|
|
299
|
+
typeof session.createdAt === 'number' &&
|
|
300
|
+
typeof session.lastActiveAt === 'number');
|
|
301
|
+
}
|
|
251
302
|
}
|
|
252
303
|
//# sourceMappingURL=chat-session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-session.js","sourceRoot":"","sources":["../../src/chat/chat-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,UAAU;AAC5C,MAAM,4BAA4B,GAAG,GAAG,CAAC;AACzC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,kBAAkB,GAAG,MAAM,CAAC,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"chat-session.js","sourceRoot":"","sources":["../../src/chat/chat-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,12 @@ export declare class Curator {
|
|
|
26
26
|
}>;
|
|
27
27
|
groomEntry(entryId: string): GroomResult | null;
|
|
28
28
|
groomAll(): GroomAllResult;
|
|
29
|
+
/**
|
|
30
|
+
* Detect tag pairs where edit-distance ≤ 1 (e.g. 'workflow'/'workflows') and merge
|
|
31
|
+
* the lower-frequency tag into the higher-frequency one across all entries.
|
|
32
|
+
* Returns count of tags merged.
|
|
33
|
+
*/
|
|
34
|
+
private mergeSynonymTags;
|
|
29
35
|
consolidate(options?: ConsolidationOptions): ConsolidationResult;
|
|
30
36
|
getEntryHistory(entryId: string, limit?: number): ChangelogEntry[];
|
|
31
37
|
healthAudit(): HealthAuditResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curator.d.ts","sourceRoot":"","sources":["../../src/curator/curator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,EACV,aAAa,EACb,sBAAsB,EACtB,YAAY,EAEZ,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EAClB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"curator.d.ts","sourceRoot":"","sources":["../../src/curator/curator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,EACV,aAAa,EACb,sBAAsB,EACtB,YAAY,EAEZ,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAqCpB,qBAAa,OAAO;IAClB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,QAAQ,CAAW;gBAEf,KAAK,EAAE,KAAK;IAQxB,OAAO,CAAC,cAAc;IAoCtB,SAAS,IAAI,aAAa;IAyB1B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB;IAIjD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAoBxD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAGnD,gBAAgB,IAAI,YAAY,EAAE;IAMlC,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAkGlF,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE;IAS7F,OAAO,CAAC,iBAAiB;IASzB,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE;IAUzD,iBAAiB,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,aAAa,EAAE;IAShE,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,IAAI;IAYtF,0BAA0B,CAC9B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,cAAc,EAAE,aAAa,EAAE,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC;IAerE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAmB/C,QAAQ,IAAI,cAAc;IAmC1B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAsHxB,WAAW,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB;IA+GhE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE;IAWlE,WAAW,IAAI,iBAAiB;IAyBhC,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAU3C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;QACxC,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAkBF,aAAa,IAAI;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;KAC3B;IA8CD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG;QAC/B,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClE;IAmBD;;OAEG;IACH,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,cAAc;CAWvB"}
|
package/dist/curator/curator.js
CHANGED
|
@@ -5,6 +5,7 @@ import { normalizeTag as normalizeTagPure, normalizeAndDedup, addTagAlias as add
|
|
|
5
5
|
import { initializeTables } from './schema.js';
|
|
6
6
|
import { computeHealthAudit } from './health-audit.js';
|
|
7
7
|
import { enrichEntryMetadata } from './metadata-enricher.js';
|
|
8
|
+
import { computeEditDistance, normalizeTags as normalizeTagsCanonical, } from '../vault/tag-normalizer.js';
|
|
8
9
|
// ─── Constants ──────────────────────────────────────────────────────
|
|
9
10
|
const DEFAULT_STALE_DAYS = 90;
|
|
10
11
|
const DEFAULT_BATCH_SIZE = 100;
|
|
@@ -260,14 +261,123 @@ export class Curator {
|
|
|
260
261
|
break;
|
|
261
262
|
offset += DEFAULT_BATCH_SIZE;
|
|
262
263
|
}
|
|
264
|
+
// Synonym merge: detect tag pairs with edit-distance ≤ 1 and merge lower-frequency into higher
|
|
265
|
+
const synonymMerges = this.mergeSynonymTags();
|
|
263
266
|
return {
|
|
264
267
|
totalEntries,
|
|
265
268
|
groomedCount: totalEntries,
|
|
266
269
|
tagsNormalized,
|
|
267
270
|
staleCount,
|
|
268
271
|
durationMs: Date.now() - start,
|
|
272
|
+
synonymMerges,
|
|
269
273
|
};
|
|
270
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* Detect tag pairs where edit-distance ≤ 1 (e.g. 'workflow'/'workflows') and merge
|
|
277
|
+
* the lower-frequency tag into the higher-frequency one across all entries.
|
|
278
|
+
* Returns count of tags merged.
|
|
279
|
+
*/
|
|
280
|
+
mergeSynonymTags() {
|
|
281
|
+
// Collect all unique tags and their usage counts
|
|
282
|
+
const rows = this.provider.all('SELECT tags FROM entries WHERE tags IS NOT NULL');
|
|
283
|
+
const tagCounts = new Map();
|
|
284
|
+
for (const row of rows) {
|
|
285
|
+
let tags;
|
|
286
|
+
try {
|
|
287
|
+
tags = JSON.parse(row.tags);
|
|
288
|
+
}
|
|
289
|
+
catch {
|
|
290
|
+
continue;
|
|
291
|
+
}
|
|
292
|
+
for (const tag of tags) {
|
|
293
|
+
if (typeof tag === 'string' && tag.length > 0) {
|
|
294
|
+
tagCounts.set(tag, (tagCounts.get(tag) ?? 0) + 1);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
const allTags = Array.from(tagCounts.keys());
|
|
299
|
+
if (allTags.length < 2)
|
|
300
|
+
return 0;
|
|
301
|
+
// Build synonym merge map: minorTag → majorTag
|
|
302
|
+
// Only merge if edit-distance ≤ 1 and major has higher or equal frequency
|
|
303
|
+
const mergeMap = new Map(); // minor → major
|
|
304
|
+
const processed = new Set();
|
|
305
|
+
// Bucket tags by length to reduce comparisons from O(n²) to O(n * avg_bucket_size)
|
|
306
|
+
const buckets = new Map();
|
|
307
|
+
for (const tag of allTags) {
|
|
308
|
+
const len = tag.length;
|
|
309
|
+
const bucket = buckets.get(len);
|
|
310
|
+
if (bucket) {
|
|
311
|
+
bucket.push(tag);
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
buckets.set(len, [tag]);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
for (const a of allTags) {
|
|
318
|
+
if (processed.has(a))
|
|
319
|
+
continue;
|
|
320
|
+
// Only compare against tags of the same or adjacent length (edit distance ≤ 1)
|
|
321
|
+
const candidates = [
|
|
322
|
+
...(buckets.get(a.length) ?? []),
|
|
323
|
+
...(buckets.get(a.length - 1) ?? []),
|
|
324
|
+
...(buckets.get(a.length + 1) ?? []),
|
|
325
|
+
];
|
|
326
|
+
for (const b of candidates) {
|
|
327
|
+
if (b === a)
|
|
328
|
+
continue;
|
|
329
|
+
if (processed.has(a) || processed.has(b))
|
|
330
|
+
continue;
|
|
331
|
+
if (computeEditDistance(a, b) <= 1) {
|
|
332
|
+
const countA = tagCounts.get(a) ?? 0;
|
|
333
|
+
const countB = tagCounts.get(b) ?? 0;
|
|
334
|
+
// Merge lower-frequency into higher-frequency
|
|
335
|
+
if (countA >= countB) {
|
|
336
|
+
mergeMap.set(b, a);
|
|
337
|
+
processed.add(b);
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
mergeMap.set(a, b);
|
|
341
|
+
processed.add(a);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
if (mergeMap.size === 0)
|
|
347
|
+
return 0;
|
|
348
|
+
// Apply merges to all affected entries
|
|
349
|
+
let mergeCount = 0;
|
|
350
|
+
const allEntryRows = this.provider.all('SELECT id, tags FROM entries WHERE tags IS NOT NULL');
|
|
351
|
+
for (const row of allEntryRows) {
|
|
352
|
+
let tags;
|
|
353
|
+
try {
|
|
354
|
+
tags = JSON.parse(row.tags);
|
|
355
|
+
}
|
|
356
|
+
catch {
|
|
357
|
+
continue;
|
|
358
|
+
}
|
|
359
|
+
let changed = false;
|
|
360
|
+
const updated = [
|
|
361
|
+
...new Set(tags.map((tag) => {
|
|
362
|
+
const replacement = mergeMap.get(tag);
|
|
363
|
+
if (replacement) {
|
|
364
|
+
changed = true;
|
|
365
|
+
return replacement;
|
|
366
|
+
}
|
|
367
|
+
return tag;
|
|
368
|
+
})),
|
|
369
|
+
];
|
|
370
|
+
if (changed) {
|
|
371
|
+
this.provider.run('UPDATE entries SET tags = ?, updated_at = unixepoch() WHERE id = ?', [
|
|
372
|
+
JSON.stringify(updated),
|
|
373
|
+
row.id,
|
|
374
|
+
]);
|
|
375
|
+
this.logChange('synonym_merge', row.id, JSON.stringify(tags), JSON.stringify(updated), 'Synonym tag merge (edit-distance ≤ 1)');
|
|
376
|
+
mergeCount++;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
return mergeCount;
|
|
380
|
+
}
|
|
271
381
|
// ─── Consolidation ───────────────────────────────────────────
|
|
272
382
|
consolidate(options) {
|
|
273
383
|
const start = Date.now();
|
|
@@ -299,6 +409,33 @@ export class Curator {
|
|
|
299
409
|
}
|
|
300
410
|
}
|
|
301
411
|
}
|
|
412
|
+
// Retag: run all entries through canonical normalization if requested
|
|
413
|
+
let retagged;
|
|
414
|
+
if (options?.retag && options.canonicalTags && options.canonicalTags.length > 0) {
|
|
415
|
+
const tagMode = options.tagConstraintMode ?? 'suggest';
|
|
416
|
+
const metaPrefixes = options.metadataTagPrefixes ?? ['source:'];
|
|
417
|
+
retagged = 0;
|
|
418
|
+
const entryRows = this.provider.all('SELECT id, tags FROM entries WHERE tags IS NOT NULL');
|
|
419
|
+
for (const row of entryRows) {
|
|
420
|
+
let tags;
|
|
421
|
+
try {
|
|
422
|
+
tags = JSON.parse(row.tags);
|
|
423
|
+
}
|
|
424
|
+
catch {
|
|
425
|
+
continue;
|
|
426
|
+
}
|
|
427
|
+
const normalized = normalizeTagsCanonical(tags, options.canonicalTags, tagMode, metaPrefixes);
|
|
428
|
+
const tagsChanged = normalized.length !== tags.length || normalized.some((t, i) => t !== tags[i]);
|
|
429
|
+
if (tagsChanged) {
|
|
430
|
+
if (!dryRun) {
|
|
431
|
+
this.provider.run('UPDATE entries SET tags = ?, updated_at = unixepoch() WHERE id = ?', [JSON.stringify(normalized), row.id]);
|
|
432
|
+
this.logChange('retag', row.id, JSON.stringify(tags), JSON.stringify(normalized), 'Canonical retag during consolidation');
|
|
433
|
+
mutations++;
|
|
434
|
+
}
|
|
435
|
+
retagged++;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
302
439
|
return {
|
|
303
440
|
dryRun,
|
|
304
441
|
duplicates,
|
|
@@ -306,6 +443,7 @@ export class Curator {
|
|
|
306
443
|
contradictions,
|
|
307
444
|
mutations,
|
|
308
445
|
durationMs: Date.now() - start,
|
|
446
|
+
retagged,
|
|
309
447
|
};
|
|
310
448
|
}
|
|
311
449
|
// ─── Changelog ────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curator.js","sourceRoot":"","sources":["../../src/curator/curator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"curator.js","sourceRoot":"","sources":["../../src/curator/curator.ts"],"names":[],"mappings":"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"}
|
package/dist/curator/types.d.ts
CHANGED
|
@@ -44,12 +44,21 @@ export interface GroomAllResult {
|
|
|
44
44
|
tagsNormalized: number;
|
|
45
45
|
staleCount: number;
|
|
46
46
|
durationMs: number;
|
|
47
|
+
synonymMerges: number;
|
|
47
48
|
}
|
|
48
49
|
export interface ConsolidationOptions {
|
|
49
50
|
dryRun?: boolean;
|
|
50
51
|
staleDaysThreshold?: number;
|
|
51
52
|
duplicateThreshold?: number;
|
|
52
53
|
contradictionThreshold?: number;
|
|
54
|
+
/** When true, run all entries through canonical tag normalization. Dry-run by default. */
|
|
55
|
+
retag?: boolean;
|
|
56
|
+
/** Canonical tag list for retag operation. Required when retag is true. */
|
|
57
|
+
canonicalTags?: string[];
|
|
58
|
+
/** Tag constraint mode for retag. Default: 'suggest'. */
|
|
59
|
+
tagConstraintMode?: 'enforce' | 'suggest' | 'off';
|
|
60
|
+
/** Metadata tag prefixes exempt from canonical normalization. Default: ['source:']. */
|
|
61
|
+
metadataTagPrefixes?: string[];
|
|
53
62
|
}
|
|
54
63
|
export interface ConsolidationResult {
|
|
55
64
|
dryRun: boolean;
|
|
@@ -58,6 +67,7 @@ export interface ConsolidationResult {
|
|
|
58
67
|
contradictions: Contradiction[];
|
|
59
68
|
mutations: number;
|
|
60
69
|
durationMs: number;
|
|
70
|
+
retagged?: number;
|
|
61
71
|
}
|
|
62
72
|
export interface ChangelogEntry {
|
|
63
73
|
id: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/curator/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAIpE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAID,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/curator/types.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|