mindlore 0.6.0 → 0.6.2
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.md +20 -13
- package/SCHEMA.md +3 -2
- package/dist/scripts/cc-session-sync.d.ts +1 -0
- package/dist/scripts/cc-session-sync.d.ts.map +1 -1
- package/dist/scripts/cc-session-sync.js +55 -0
- package/dist/scripts/cc-session-sync.js.map +1 -1
- package/dist/scripts/fetch-raw.js +62 -2
- package/dist/scripts/fetch-raw.js.map +1 -1
- package/dist/scripts/init.js +92 -47
- package/dist/scripts/init.js.map +1 -1
- package/dist/scripts/lib/constants.d.ts +4 -0
- package/dist/scripts/lib/constants.d.ts.map +1 -1
- package/dist/scripts/lib/constants.js +11 -1
- package/dist/scripts/lib/constants.js.map +1 -1
- package/dist/scripts/lib/daemon.d.ts +1 -0
- package/dist/scripts/lib/daemon.d.ts.map +1 -1
- package/dist/scripts/lib/daemon.js +1 -0
- package/dist/scripts/lib/daemon.js.map +1 -1
- package/dist/scripts/lib/decay.d.ts.map +1 -1
- package/dist/scripts/lib/decay.js +3 -0
- package/dist/scripts/lib/decay.js.map +1 -1
- package/dist/scripts/lib/episodes.d.ts +1 -1
- package/dist/scripts/lib/episodes.d.ts.map +1 -1
- package/dist/scripts/lib/episodes.js +1 -1
- package/dist/scripts/lib/episodes.js.map +1 -1
- package/dist/scripts/lib/hybrid-search.d.ts +1 -0
- package/dist/scripts/lib/hybrid-search.d.ts.map +1 -1
- package/dist/scripts/lib/hybrid-search.js +16 -1
- package/dist/scripts/lib/hybrid-search.js.map +1 -1
- package/dist/scripts/lib/migrations-v061.d.ts +3 -0
- package/dist/scripts/lib/migrations-v061.d.ts.map +1 -0
- package/dist/scripts/lib/migrations-v061.js +58 -0
- package/dist/scripts/lib/migrations-v061.js.map +1 -0
- package/dist/scripts/lib/migrations-v062.d.ts +3 -0
- package/dist/scripts/lib/migrations-v062.d.ts.map +1 -0
- package/dist/scripts/lib/migrations-v062.js +35 -0
- package/dist/scripts/lib/migrations-v062.js.map +1 -0
- package/dist/scripts/lib/session-payload.d.ts.map +1 -1
- package/dist/scripts/lib/session-payload.js +12 -0
- package/dist/scripts/lib/session-payload.js.map +1 -1
- package/dist/scripts/lib/triage.d.ts +18 -0
- package/dist/scripts/lib/triage.d.ts.map +1 -0
- package/dist/scripts/lib/triage.js +81 -0
- package/dist/scripts/lib/triage.js.map +1 -0
- package/dist/scripts/mindlore-daemon.js +1 -0
- package/dist/scripts/mindlore-daemon.js.map +1 -1
- package/dist/scripts/mindlore-doctor.d.ts +18 -0
- package/dist/scripts/mindlore-doctor.d.ts.map +1 -0
- package/dist/scripts/mindlore-doctor.js +243 -0
- package/dist/scripts/mindlore-doctor.js.map +1 -0
- package/dist/scripts/mindlore-fts5-index.js +16 -3
- package/dist/scripts/mindlore-fts5-index.js.map +1 -1
- package/dist/scripts/mindlore-fts5-search.js +12 -10
- package/dist/scripts/mindlore-fts5-search.js.map +1 -1
- package/dist/scripts/mindlore-health-check.d.ts +10 -0
- package/dist/scripts/mindlore-health-check.d.ts.map +1 -1
- package/dist/scripts/mindlore-health-check.js +26 -1
- package/dist/scripts/mindlore-health-check.js.map +1 -1
- package/dist/scripts/mindlore-perf.d.ts +22 -0
- package/dist/scripts/mindlore-perf.d.ts.map +1 -0
- package/dist/scripts/mindlore-perf.js +130 -0
- package/dist/scripts/mindlore-perf.js.map +1 -0
- package/dist/tests/compaction-snapshot.test.d.ts +2 -0
- package/dist/tests/compaction-snapshot.test.d.ts.map +1 -0
- package/dist/tests/compaction-snapshot.test.js +55 -0
- package/dist/tests/compaction-snapshot.test.js.map +1 -0
- package/dist/tests/decay.test.js +29 -0
- package/dist/tests/decay.test.js.map +1 -1
- package/dist/tests/diary.test.js +3 -3
- package/dist/tests/diary.test.js.map +1 -1
- package/dist/tests/doctor.test.d.ts +2 -0
- package/dist/tests/doctor.test.d.ts.map +1 -0
- package/dist/tests/doctor.test.js +82 -0
- package/dist/tests/doctor.test.js.map +1 -0
- package/dist/tests/fetch-raw.test.js +12 -5
- package/dist/tests/fetch-raw.test.js.map +1 -1
- package/dist/tests/fts5.test.js +28 -0
- package/dist/tests/fts5.test.js.map +1 -1
- package/dist/tests/health-check-memory.test.js +27 -0
- package/dist/tests/health-check-memory.test.js.map +1 -1
- package/dist/tests/helpers/db.d.ts.map +1 -1
- package/dist/tests/helpers/db.js +3 -1
- package/dist/tests/helpers/db.js.map +1 -1
- package/dist/tests/hook-smoke.test.js +27 -0
- package/dist/tests/hook-smoke.test.js.map +1 -1
- package/dist/tests/hybrid-search.test.js +25 -0
- package/dist/tests/hybrid-search.test.js.map +1 -1
- package/dist/tests/init.test.js +20 -0
- package/dist/tests/init.test.js.map +1 -1
- package/dist/tests/migrations-v061.test.d.ts +2 -0
- package/dist/tests/migrations-v061.test.d.ts.map +1 -0
- package/dist/tests/migrations-v061.test.js +70 -0
- package/dist/tests/migrations-v061.test.js.map +1 -0
- package/dist/tests/migrations-v062.test.d.ts +2 -0
- package/dist/tests/migrations-v062.test.d.ts.map +1 -0
- package/dist/tests/migrations-v062.test.js +61 -0
- package/dist/tests/migrations-v062.test.js.map +1 -0
- package/dist/tests/nomination.test.js +1 -1
- package/dist/tests/savings.test.d.ts +2 -0
- package/dist/tests/savings.test.d.ts.map +1 -0
- package/dist/tests/savings.test.js +87 -0
- package/dist/tests/savings.test.js.map +1 -0
- package/dist/tests/session-focus.test.js +15 -0
- package/dist/tests/session-focus.test.js.map +1 -1
- package/dist/tests/session-summary.test.d.ts +2 -0
- package/dist/tests/session-summary.test.d.ts.map +1 -0
- package/dist/tests/session-summary.test.js +102 -0
- package/dist/tests/session-summary.test.js.map +1 -0
- package/dist/tests/telemetry-perf.test.d.ts +2 -0
- package/dist/tests/telemetry-perf.test.d.ts.map +1 -0
- package/dist/tests/telemetry-perf.test.js +65 -0
- package/dist/tests/telemetry-perf.test.js.map +1 -0
- package/dist/tests/triage.test.d.ts +2 -0
- package/dist/tests/triage.test.d.ts.map +1 -0
- package/dist/tests/triage.test.js +69 -0
- package/dist/tests/triage.test.js.map +1 -0
- package/hooks/lib/mindlore-common.cjs +54 -6
- package/hooks/mindlore-fts5-sync.cjs +10 -4
- package/hooks/mindlore-post-compact.cjs +23 -3
- package/hooks/mindlore-pre-compact.cjs +78 -3
- package/hooks/mindlore-search.cjs +20 -11
- package/hooks/mindlore-session-end.cjs +32 -19
- package/hooks/mindlore-session-focus.cjs +107 -72
- package/package.json +7 -4
- package/plugin.json +1 -1
- package/skills/mindlore-maintain/SKILL.md +1 -0
- package/templates/config.json +1 -1
package/README.md
CHANGED
|
@@ -45,12 +45,19 @@ To add your first source:
|
|
|
45
45
|
### CLI Commands
|
|
46
46
|
|
|
47
47
|
```bash
|
|
48
|
-
npx mindlore
|
|
49
|
-
npx mindlore
|
|
50
|
-
npx mindlore
|
|
51
|
-
npx mindlore
|
|
52
|
-
npx mindlore
|
|
53
|
-
npx mindlore
|
|
48
|
+
npx mindlore # Install / upgrade
|
|
49
|
+
npx mindlore --upgrade # Upgrade only (skip dir creation)
|
|
50
|
+
npx mindlore health # 16-point structural health check
|
|
51
|
+
npx mindlore doctor # 7-point runtime validation (Node, DB, hooks, skills)
|
|
52
|
+
npx mindlore perf # Hook latency report (p50/p95/p99)
|
|
53
|
+
npx mindlore perf --top 10 # Top 10 slowest hook calls
|
|
54
|
+
npx mindlore perf --savings # Context token savings report
|
|
55
|
+
npx mindlore search "query" # FTS5 keyword search (knowledge)
|
|
56
|
+
npx mindlore search "query" --sessions # Search session data (cc-subagent, cc-session)
|
|
57
|
+
npx mindlore index # Full FTS5 re-index
|
|
58
|
+
npx mindlore quality # Bulk quality assignment for sources
|
|
59
|
+
npx mindlore backup init # Git-based backup for ~/.mindlore/
|
|
60
|
+
npx mindlore backup status # Show backup status + last commit
|
|
54
61
|
npx mindlore obsidian export --vault /path # Export to Obsidian vault
|
|
55
62
|
npx mindlore obsidian import --vault /path # Import from Obsidian vault
|
|
56
63
|
npx mindlore episodes list # List recent episodes
|
|
@@ -114,7 +121,7 @@ Nine directories, each mapping to a frontmatter `type`:
|
|
|
114
121
|
├── decisions/ # Decision records
|
|
115
122
|
├── INDEX.md # Navigation map (~15 lines)
|
|
116
123
|
├── SCHEMA.md # LLM specification
|
|
117
|
-
└── mindlore.db # FTS5 search database
|
|
124
|
+
└── mindlore.db # FTS5 search database (mindlore_fts + mindlore_fts_sessions)
|
|
118
125
|
```
|
|
119
126
|
|
|
120
127
|
## Installation
|
|
@@ -125,7 +132,7 @@ Nine directories, each mapping to a frontmatter `type`:
|
|
|
125
132
|
npx mindlore
|
|
126
133
|
```
|
|
127
134
|
|
|
128
|
-
Requires: Node.js 20+ (24 supported), `better-sqlite3` ^12 (installed automatically).
|
|
135
|
+
Requires: Node.js 20+ (22, 24 supported), `better-sqlite3` ^12 (installed automatically).
|
|
129
136
|
|
|
130
137
|
### Recommended
|
|
131
138
|
|
|
@@ -177,8 +184,8 @@ SESSION START DURING SESSION SESSIO
|
|
|
177
184
|
- **Single global store** — `~/.mindlore/` shared across projects; `project` FTS5 column namespaces per `path.basename(cwd)`
|
|
178
185
|
- **Project-scoped search** — results filtered by current project, falls back to all projects if none found
|
|
179
186
|
- **No `.mindlore/`?** — hooks silently skip, zero overhead
|
|
180
|
-
- **FTS5 search** — SQLite full-text search with BM25 ranking, no external services
|
|
181
|
-
- **Hybrid search** — RRF fusion combining FTS5 keyword + sqlite-vec vector results with synonym expansion
|
|
187
|
+
- **FTS5 search** — SQLite full-text search with BM25 ranking, no external services. Knowledge and session data in separate tables for better IDF quality
|
|
188
|
+
- **Hybrid search** — RRF fusion combining FTS5 keyword + sqlite-vec vector results with synonym expansion + category boost
|
|
182
189
|
- **Content-hash dedup** — SHA256 prevents re-indexing unchanged files
|
|
183
190
|
|
|
184
191
|
## Daily Usage
|
|
@@ -211,12 +218,12 @@ Skills spawn subagents with `[mindlore:SKILL]` markers — the model-router hook
|
|
|
211
218
|
|
|
212
219
|
## Hooks
|
|
213
220
|
|
|
214
|
-
14 Claude Code lifecycle hooks (v0.
|
|
221
|
+
14 Claude Code lifecycle hooks (v0.6.1):
|
|
215
222
|
|
|
216
223
|
| Event | Hook | What it does |
|
|
217
224
|
|-------|------|-------------|
|
|
218
|
-
| SessionStart | session-focus | Injects last delta + INDEX +
|
|
219
|
-
| UserPromptSubmit | search | FTS5 search + episodes recall, project-scoped |
|
|
225
|
+
| SessionStart | session-focus | Injects last delta + INDEX + episodes + corrupt DB auto-recovery |
|
|
226
|
+
| UserPromptSubmit | search | FTS5 search + episodes recall, project-scoped + version tokenization |
|
|
220
227
|
| UserPromptSubmit | decision-detector | TR+EN decision signal detection |
|
|
221
228
|
| FileChanged | index | Sync changed files to FTS5 |
|
|
222
229
|
| FileChanged | fts5-sync | Incremental batch re-index |
|
package/SCHEMA.md
CHANGED
|
@@ -146,8 +146,9 @@ Discover unexpected connections between sources. Cross-reference analysis.
|
|
|
146
146
|
### FTS5 Search (hooks + scripts)
|
|
147
147
|
|
|
148
148
|
- Database: `.mindlore/mindlore.db`
|
|
149
|
-
- Table: `mindlore_fts` (
|
|
150
|
-
-
|
|
149
|
+
- Table: `mindlore_fts` — knowledge content (sources, domains, analyses, decisions, diary)
|
|
150
|
+
- Table: `mindlore_fts_sessions` — session content (cc-subagent, cc-session) — v0.6.1
|
|
151
|
+
- Dedup: `file_hashes` table with SHA256 content-hash + `table_target` column (v0.6.1)
|
|
151
152
|
- Tokenizer: `unicode61`
|
|
152
153
|
- Max results: 3 per query (BM25 ranking)
|
|
153
154
|
- Hook injects: file path + first 2 headings
|
|
@@ -28,5 +28,6 @@ export interface SessionConversion {
|
|
|
28
28
|
isSubagent: boolean;
|
|
29
29
|
}
|
|
30
30
|
export declare function convertJsonlToMd(jsonlPath: string, projectName: string): SessionConversion;
|
|
31
|
+
export declare function extractSessionSummary(transcriptMd: string): string;
|
|
31
32
|
export declare function syncSessions(dbPath: string, sessions: SessionFile[], mindloreDir: string): SessionSyncResult;
|
|
32
33
|
//# sourceMappingURL=cc-session-sync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cc-session-sync.d.ts","sourceRoot":"","sources":["../../scripts/cc-session-sync.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAeH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAgBD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,IAAI,CAAC;CACb;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAuDrE;AA2CD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAgE1F;AAaD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EAAE,EACvB,WAAW,EAAE,MAAM,GAClB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"cc-session-sync.d.ts","sourceRoot":"","sources":["../../scripts/cc-session-sync.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAeH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAgBD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,IAAI,CAAC;CACb;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAuDrE;AA2CD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAgE1F;AAUD,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAsClE;AAaD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EAAE,EACvB,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAmHnB"}
|
|
@@ -15,6 +15,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.discoverSessionFiles = discoverSessionFiles;
|
|
17
17
|
exports.convertJsonlToMd = convertJsonlToMd;
|
|
18
|
+
exports.extractSessionSummary = extractSessionSummary;
|
|
18
19
|
exports.syncSessions = syncSessions;
|
|
19
20
|
const fs_1 = __importDefault(require("fs"));
|
|
20
21
|
const path_1 = __importDefault(require("path"));
|
|
@@ -176,6 +177,47 @@ function convertJsonlToMd(jsonlPath, projectName) {
|
|
|
176
177
|
const md = frontmatter + mdParts.join('\n');
|
|
177
178
|
return { md, date: meta.date, userCount, assistantCount, isSubagent };
|
|
178
179
|
}
|
|
180
|
+
// ── Session Summary ──────────────────────────────────────────────────
|
|
181
|
+
const DECISION_KEYWORDS = [
|
|
182
|
+
'karar:', 'ertele', 'seçtik', 'yapma:',
|
|
183
|
+
'decision:', 'defer', 'chose', 'skip:',
|
|
184
|
+
'blocker:', 'ertelendi',
|
|
185
|
+
];
|
|
186
|
+
function extractSessionSummary(transcriptMd) {
|
|
187
|
+
const lines = transcriptMd.split('\n');
|
|
188
|
+
const userMessages = [];
|
|
189
|
+
const decisions = [];
|
|
190
|
+
let inUser = false;
|
|
191
|
+
for (const line of lines) {
|
|
192
|
+
if (line.startsWith('## User')) {
|
|
193
|
+
inUser = true;
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
if (line.startsWith('## ')) {
|
|
197
|
+
inUser = false;
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
if (inUser && line.trim()) {
|
|
201
|
+
userMessages.push(line.trim());
|
|
202
|
+
const lower = line.toLowerCase();
|
|
203
|
+
if (DECISION_KEYWORDS.some(kw => lower.includes(kw))) {
|
|
204
|
+
decisions.push(line.trim());
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
if (userMessages.length === 0)
|
|
209
|
+
return '';
|
|
210
|
+
const firstIntent = userMessages[0]?.slice(0, 100) ?? '';
|
|
211
|
+
const lastIntent = userMessages[userMessages.length - 1]?.slice(0, 100) ?? '';
|
|
212
|
+
const parts = [`Intent: ${firstIntent}`];
|
|
213
|
+
if (lastIntent && lastIntent !== firstIntent) {
|
|
214
|
+
parts.push(`Son: ${lastIntent}`);
|
|
215
|
+
}
|
|
216
|
+
if (decisions.length > 0) {
|
|
217
|
+
parts.push(`Kararlar: ${decisions.slice(0, 5).join('; ')}`);
|
|
218
|
+
}
|
|
219
|
+
return parts.join(' | ');
|
|
220
|
+
}
|
|
179
221
|
// ── Sync ──────────────────────────────────────────────────────────────
|
|
180
222
|
function sessionShortId(sessionId) {
|
|
181
223
|
return sessionId.startsWith('agent-') ? sessionId.slice(-8) : sessionId.substring(0, 8);
|
|
@@ -232,6 +274,19 @@ function syncSessions(dbPath, sessions, mindloreDir) {
|
|
|
232
274
|
project: slug,
|
|
233
275
|
});
|
|
234
276
|
upsertHash.run(destPath, hash, nowIso, category);
|
|
277
|
+
// Session summary injection (#9)
|
|
278
|
+
if (!isSubagent) {
|
|
279
|
+
try {
|
|
280
|
+
const sessionSummary = extractSessionSummary(md);
|
|
281
|
+
if (sessionSummary) {
|
|
282
|
+
const epSlug = `session-summary-${sessionDate}-${shortId}`;
|
|
283
|
+
const shortSummary = sessionSummary.slice(0, 300);
|
|
284
|
+
db.prepare(`INSERT OR REPLACE INTO episodes (id, kind, scope, project, summary, session_summary, created_at)
|
|
285
|
+
VALUES (?, 'session-summary', 'project', ?, ?, ?, ?)`).run(epSlug, slug, shortSummary, sessionSummary, nowIso);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
catch { /* session_summary column may not exist */ }
|
|
289
|
+
}
|
|
235
290
|
result.synced++;
|
|
236
291
|
});
|
|
237
292
|
for (const session of sessions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cc-session-sync.js","sourceRoot":"","sources":["../../scripts/cc-session-sync.ts"],"names":[],"mappings":";;AAEA;;;;;;;;GAQG;;;;;AA0CH,oDAuDC;AAmDD,4CAgEC;AAaD,oCAuGC;AAtUD,4CAAoB;AACpB,gDAAwB;AACxB,4CAAoB;AACpB,qDAM4B;AAC5B,+DAAwD;AACxD,2DAAkF;AA6BlF,SAAgB,oBAAoB,CAAC,SAAiB;IACpD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3C,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,IAAI,cAA2B,CAAC;IAChC,IAAI,CAAC;QACH,cAAc,GAAG,YAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QACnC,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEnD,IAAI,KAAkB,CAAC;QACvB,IAAI,CAAC;YACH,KAAK,GAAG,YAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,oDAAoD;YACpD,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5C,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC/C,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7F,SAAS;YACX,CAAC;YAED,+DAA+D;YAC/D,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC7D,IAAI,QAAqB,CAAC;gBAC1B,IAAI,CAAC;oBACH,QAAQ,GAAG,YAAE,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAAE,SAAS;oBAC1D,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAChD,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;oBAClD,MAAM,IAAI,GAAG,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACnC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yEAAyE;AAEzE,SAAS,WAAW,CAAC,WAAmB;IACtC,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACjE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,WAAW,CAAC;IAE1C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAU,CAAC;IAC1F,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC;AAChD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAe;IACzC,IAAI,IAAI,GAAG,SAAS,CAAC;IACrB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,qGAAqG;YACrG,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC;YACzC,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACxC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YAC5B,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM;gBAAE,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC;YACrD,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG;gBAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AAUD,SAAgB,gBAAgB,CAAC,SAAiB,EAAE,WAAmB;IACrE,MAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,cAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAElD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,qGAAqG;YACrG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;YACrC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;YACxD,MAAM,KAAK,GAAa,EAAE,CAAC;YAE3B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;wBAChD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAA,iCAAa,EAAC,IAAI,CAAC,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,OAAO,IAAI,CAAC,CAAC;gBAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;oBAAE,SAAS,EAAE,CAAC;;oBAChC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG;QAClB,KAAK;QACL,WAAW;QACX,YAAY,IAAI,EAAE;QAClB,eAAe,SAAS,EAAE;QAC1B,SAAS,IAAI,CAAC,IAAI,EAAE;QACpB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI;QACvD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;QAC7C,aAAa,SAAS,UAAU,cAAc,YAAY;QAC1D,aAAa,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,EAAE;QACxD,KAAK;QACL,EAAE;QACF,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,EAAE;QACjE,EAAE;KACH,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,EAAE,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxE,CAAC;AAED,yEAAyE;AAEzE,SAAS,cAAc,CAAC,SAAiB;IACvC,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC;AAGD,qFAAqF;AACrF,uGAAuG;AACvG,MAAM,2BAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAElD,SAAgB,YAAY,CAC1B,MAAc,EACd,QAAuB,EACvB,WAAmB;IAEnB,MAAM,MAAM,GAAsB,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEzC,iHAAiH;IACjH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAA,gCAAiB,EAAC,SAAS,CAAC,CAAqB,CAAC;IACzE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAEtD,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC;IAChG,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,iCAAe,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IAExE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAEjC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,OAAoB,EAAE,IAAY,EAAE,OAAe,EAAE,EAAE;QACrF,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAElI,IAAI,SAAS,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAChE,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,WAAW,IAAI,OAAO,KAAK,CAAC,CAAC;QAEpE,gGAAgG;QAChG,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAA+D,CAAC;QACrG,IAAI,QAAQ,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC/C,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAEvC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,mCAAoB,CAAC,CAAC,CAAC,kCAAmB,CAAC;QAEzE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,YAAY,CAAC,EAAE,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,WAAW,WAAW,IAAI,OAAO,EAAE;YACzC,WAAW,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,iBAAiB,IAAI,MAAM,WAAW,EAAE;YAC9F,IAAI,EAAE,KAAK;YACX,QAAQ;YACR,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,WAAW,MAAM,IAAI,EAAE;YACxE,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,aAAa;YACjE,YAAY,EAAE,WAAW;YACzB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACtD,IAAI,KAAK,GAAG,2BAA2B,EAAE,CAAC;gBACxC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,0EAA0E;YAC1E,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAChE,MAAM,aAAa,GAAG,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC1C,CAAC,CAAC,YAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1D,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACpD,gGAAgG;gBAChG,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAyC,CAAC;gBACjF,IAAI,MAAM,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC7D,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,SAAS;gBACX,CAAC;YACH,CAAC;YAED,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,yEAAyE;AAEzE,MAAM,MAAM,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AACzE,IAAI,MAAM,EAAE,CAAC;IACX,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,IAAA,wBAAM,EAAC,IAAI,EAAE,cAAc,CAAC,IAAI,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACrF,MAAM,WAAW,GAAG,IAAA,wBAAM,EAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,kCAAmB,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAA,wBAAM,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAO,CAAC,CAAC;IAEvE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,MAAM,kBAAkB,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,MAAM,cAAc,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"cc-session-sync.js","sourceRoot":"","sources":["../../scripts/cc-session-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,30 @@ function validateUrl(raw) {
|
|
|
16
16
|
return u;
|
|
17
17
|
}
|
|
18
18
|
function slugFromUrl(url) {
|
|
19
|
+
const parsed = new URL(url);
|
|
20
|
+
// GitHub repo: owner/repo → repo slug
|
|
21
|
+
const ghMatch = parsed.pathname.match(/^\/([^/]+)\/([^/]+)\/?$/);
|
|
22
|
+
if (parsed.hostname === 'github.com' && ghMatch) {
|
|
23
|
+
return (ghMatch[2] ?? '').replace(/\.git$/, '').toLowerCase();
|
|
24
|
+
}
|
|
25
|
+
// Strip common noise from pathname
|
|
26
|
+
const segments = parsed.pathname
|
|
27
|
+
.replace(/\/$/, '')
|
|
28
|
+
.split('/')
|
|
29
|
+
.filter(s => s && !['index.html', 'index.htm', 'README.md'].includes(s));
|
|
30
|
+
if (segments.length > 0) {
|
|
31
|
+
// Take last 2 meaningful segments max
|
|
32
|
+
const tail = segments.slice(-2).join('-');
|
|
33
|
+
const slug = tail
|
|
34
|
+
.replace(/\.[^.]+$/, '') // strip extension
|
|
35
|
+
.replace(/[^a-zA-Z0-9-]/g, '-') // non-alphanumeric → dash
|
|
36
|
+
.replace(/-{2,}/g, '-') // collapse dashes
|
|
37
|
+
.replace(/^-|-$/g, '') // trim dashes
|
|
38
|
+
.toLowerCase();
|
|
39
|
+
if (slug.length >= 3)
|
|
40
|
+
return slug;
|
|
41
|
+
}
|
|
42
|
+
// Fallback: hash (only if URL has no useful path)
|
|
19
43
|
return crypto_1.default.createHash('sha256').update(url).digest('hex').slice(0, 12);
|
|
20
44
|
}
|
|
21
45
|
function fetchGitHubReadme(url) {
|
|
@@ -79,8 +103,20 @@ function generateFrontmatter(url, slug, content) {
|
|
|
79
103
|
'',
|
|
80
104
|
].join('\n');
|
|
81
105
|
}
|
|
106
|
+
function findExistingFile(outDir, slug) {
|
|
107
|
+
if (!fs_1.default.existsSync(outDir))
|
|
108
|
+
return null;
|
|
109
|
+
const files = fs_1.default.readdirSync(outDir).filter(f => f.endsWith(`-${slug}.md`));
|
|
110
|
+
if (files.length === 0)
|
|
111
|
+
return null;
|
|
112
|
+
files.sort();
|
|
113
|
+
const latest = files[files.length - 1];
|
|
114
|
+
return latest ? path_1.default.join(outDir, latest) : null;
|
|
115
|
+
}
|
|
116
|
+
const CACHE_TTL_MS = 24 * 60 * 60 * 1000;
|
|
82
117
|
function main() {
|
|
83
118
|
const args = process.argv.slice(2);
|
|
119
|
+
const forceFlag = args.includes('--force');
|
|
84
120
|
const outDirFlag = args.indexOf('--out-dir');
|
|
85
121
|
const skipIndices = new Set();
|
|
86
122
|
if (outDirFlag >= 0) {
|
|
@@ -93,11 +129,22 @@ function main() {
|
|
|
93
129
|
? args[outDirFlag + 1]
|
|
94
130
|
: path_1.default.join(process.env.MINDLORE_HOME ?? path_1.default.join(os_1.default.homedir(), '.mindlore'), 'raw');
|
|
95
131
|
if (!url) {
|
|
96
|
-
console.error('Usage: node fetch-raw.js <URL> [--out-dir <path>]');
|
|
132
|
+
console.error('Usage: node fetch-raw.js <URL> [--out-dir <path>] [--force]');
|
|
97
133
|
process.exit(1);
|
|
98
134
|
}
|
|
99
135
|
const parsedUrl = validateUrl(url);
|
|
100
136
|
const safeUrl = parsedUrl.href;
|
|
137
|
+
const slug = slugFromUrl(safeUrl);
|
|
138
|
+
let cachedPath = findExistingFile(outDir, slug);
|
|
139
|
+
if (!forceFlag && cachedPath) {
|
|
140
|
+
const stat = fs_1.default.statSync(cachedPath);
|
|
141
|
+
const ageMs = Date.now() - stat.mtimeMs;
|
|
142
|
+
if (ageMs < CACHE_TTL_MS) {
|
|
143
|
+
const hoursAgo = Math.round(ageMs / (60 * 60 * 1000));
|
|
144
|
+
console.log(JSON.stringify({ cached: true, file: cachedPath, hours_ago: hoursAgo }));
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
101
148
|
let content = null;
|
|
102
149
|
let method = 'curl';
|
|
103
150
|
if (parsedUrl.hostname === 'github.com' || parsedUrl.hostname.endsWith('.github.com')) {
|
|
@@ -117,9 +164,22 @@ function main() {
|
|
|
117
164
|
console.error(JSON.stringify({ error: 'All fetch methods failed', url: safeUrl }));
|
|
118
165
|
process.exit(1);
|
|
119
166
|
}
|
|
120
|
-
const slug = slugFromUrl(safeUrl);
|
|
121
167
|
const frontmatter = generateFrontmatter(safeUrl, slug, content);
|
|
122
168
|
const fullContent = frontmatter + content;
|
|
169
|
+
const newHash = crypto_1.default.createHash('sha256').update(content).digest('hex');
|
|
170
|
+
if (!cachedPath)
|
|
171
|
+
cachedPath = findExistingFile(outDir, slug);
|
|
172
|
+
if (cachedPath && !forceFlag) {
|
|
173
|
+
const oldContent = fs_1.default.readFileSync(cachedPath, 'utf8');
|
|
174
|
+
const bodyStart = oldContent.indexOf('---', 4);
|
|
175
|
+
const oldBody = bodyStart > 0 ? oldContent.slice(bodyStart + 3).trim() : oldContent;
|
|
176
|
+
const oldHash = crypto_1.default.createHash('sha256').update(oldBody).digest('hex');
|
|
177
|
+
if (newHash === oldHash) {
|
|
178
|
+
fs_1.default.utimesSync(cachedPath, new Date(), new Date());
|
|
179
|
+
console.log(JSON.stringify({ cached: true, file: cachedPath, reason: 'content_unchanged' }));
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
123
183
|
fs_1.default.mkdirSync(outDir, { recursive: true });
|
|
124
184
|
const fileName = `${new Date().toISOString().split('T')[0]}-${slug}.md`;
|
|
125
185
|
const filePath = path_1.default.join(outDir, fileName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-raw.js","sourceRoot":"","sources":["../../scripts/fetch-raw.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fetch-raw.js","sourceRoot":"","sources":["../../scripts/fetch-raw.ts"],"names":[],"mappings":"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"}
|
package/dist/scripts/init.js
CHANGED
|
@@ -19,10 +19,33 @@ const child_process_1 = require("child_process");
|
|
|
19
19
|
const constants_js_1 = require("./lib/constants.js");
|
|
20
20
|
const db_helpers_js_1 = require("./lib/db-helpers.js");
|
|
21
21
|
const safe_parse_js_1 = require("./lib/safe-parse.js");
|
|
22
|
+
const schema_version_js_1 = require("./lib/schema-version.js");
|
|
23
|
+
const migrations_v062_js_1 = require("./lib/migrations-v062.js");
|
|
22
24
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- dynamic CJS require, typed by mindlore-common.d.cts
|
|
23
25
|
const { SQL_FTS_CREATE, ensureEpisodesTable: ensureEpisodesTableCjs } = require((0, constants_js_1.resolveHookCommon)(__dirname));
|
|
24
26
|
const TEMPLATE_FILES = ['INDEX.md', 'log.md'];
|
|
25
27
|
// ── Helpers ────────────────────────────────────────────────────────────
|
|
28
|
+
function mergeDefaults(target, defaults) {
|
|
29
|
+
const result = { ...target };
|
|
30
|
+
let changed = false;
|
|
31
|
+
for (const [key, defaultValue] of Object.entries(defaults)) {
|
|
32
|
+
if (!(key in result) || result[key] === undefined || result[key] === null) {
|
|
33
|
+
result[key] = defaultValue;
|
|
34
|
+
changed = true;
|
|
35
|
+
}
|
|
36
|
+
else if (typeof result[key] === 'object' && result[key] !== null && !Array.isArray(result[key]) &&
|
|
37
|
+
typeof defaultValue === 'object' && defaultValue !== null && !Array.isArray(defaultValue)) {
|
|
38
|
+
/* eslint-disable @typescript-eslint/no-unsafe-type-assertion -- narrowed by typeof+null+array checks above */
|
|
39
|
+
const nested = mergeDefaults(result[key], defaultValue);
|
|
40
|
+
/* eslint-enable @typescript-eslint/no-unsafe-type-assertion */
|
|
41
|
+
if (nested.changed) {
|
|
42
|
+
result[key] = nested.result;
|
|
43
|
+
changed = true;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return { result, changed };
|
|
48
|
+
}
|
|
26
49
|
function resolvePackageRoot() {
|
|
27
50
|
// When compiled to dist/scripts/, go up two levels to reach package root
|
|
28
51
|
// When running as .ts (ts-jest), go up one level
|
|
@@ -142,6 +165,8 @@ function createDatabase(baseDir) {
|
|
|
142
165
|
// Idempotent: ensure episodes table on pre-v0.4 databases
|
|
143
166
|
const dbEp = new DatabaseCtor(dbPath);
|
|
144
167
|
ensureEpisodesTableCjs(dbEp);
|
|
168
|
+
(0, schema_version_js_1.ensureSchemaTable)(dbEp);
|
|
169
|
+
(0, schema_version_js_1.runMigrations)(dbEp, migrations_v062_js_1.V062_MIGRATIONS);
|
|
145
170
|
dbEp.close();
|
|
146
171
|
return migrated;
|
|
147
172
|
}
|
|
@@ -157,6 +182,9 @@ function createDatabase(baseDir) {
|
|
|
157
182
|
`);
|
|
158
183
|
// Idempotent: pre-v0.4 installs won't have this table
|
|
159
184
|
ensureEpisodesTableCjs(db);
|
|
185
|
+
// v0.6.2 migrations (raw_metadata + session_summary)
|
|
186
|
+
(0, schema_version_js_1.ensureSchemaTable)(db);
|
|
187
|
+
(0, schema_version_js_1.runMigrations)(db, migrations_v062_js_1.V062_MIGRATIONS);
|
|
160
188
|
db.close();
|
|
161
189
|
return true;
|
|
162
190
|
}
|
|
@@ -340,50 +368,16 @@ function ensureConfig(baseDir, packageRoot) {
|
|
|
340
368
|
config.models = { ...constants_js_1.DEFAULT_MODELS };
|
|
341
369
|
changed = true;
|
|
342
370
|
}
|
|
343
|
-
//
|
|
371
|
+
// Merge missing fields from template (handles top-level + nested objects)
|
|
344
372
|
if (fs_1.default.existsSync(configSrc)) {
|
|
345
373
|
const template = (0, safe_parse_js_1.readJsonFile)(configSrc);
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
config.hybrid = template.hybrid;
|
|
352
|
-
changed = true;
|
|
353
|
-
}
|
|
354
|
-
// Backfill tokenBudget from template for pre-v0.5.1 configs
|
|
355
|
-
if (!config.tokenBudget && template.tokenBudget) {
|
|
356
|
-
config.tokenBudget = template.tokenBudget;
|
|
357
|
-
changed = true;
|
|
358
|
-
}
|
|
359
|
-
// Backfill backup from template for pre-v0.5.4 configs
|
|
360
|
-
if (!config.backup && template.backup) {
|
|
361
|
-
config.backup = template.backup;
|
|
374
|
+
/* eslint-disable @typescript-eslint/no-unsafe-type-assertion -- MindloreConfig is a plain object, safe to cast */
|
|
375
|
+
const { result: merged, changed: mergeChanged } = mergeDefaults(config, template);
|
|
376
|
+
/* eslint-enable @typescript-eslint/no-unsafe-type-assertion */
|
|
377
|
+
if (mergeChanged) {
|
|
378
|
+
Object.assign(config, merged);
|
|
362
379
|
changed = true;
|
|
363
380
|
}
|
|
364
|
-
// Backfill reminders from template for pre-v0.5.4 configs
|
|
365
|
-
if (!config.reminders && template.reminders) {
|
|
366
|
-
config.reminders = template.reminders;
|
|
367
|
-
changed = true;
|
|
368
|
-
}
|
|
369
|
-
// Merge nested session_focus keys
|
|
370
|
-
if (typeof config.session_focus === 'object' && config.session_focus !== null
|
|
371
|
-
&& typeof template.session_focus === 'object' && template.session_focus !== null) {
|
|
372
|
-
const merged = (0, safe_parse_js_1.parseJsonObject)(JSON.stringify(template.session_focus)); // lint-safe cast
|
|
373
|
-
const existing = (0, safe_parse_js_1.parseJsonObject)(JSON.stringify(config.session_focus)); // defensive copy
|
|
374
|
-
let sfChanged = false;
|
|
375
|
-
for (const subKey of Object.keys(merged)) {
|
|
376
|
-
if (!(subKey in existing)) {
|
|
377
|
-
existing[subKey] = merged[subKey];
|
|
378
|
-
sfChanged = true;
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
if (sfChanged) {
|
|
382
|
-
config.session_focus = existing;
|
|
383
|
-
changed = true;
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
// Update version to match template
|
|
387
381
|
if (config.version !== template.version) {
|
|
388
382
|
config.version = template.version;
|
|
389
383
|
changed = true;
|
|
@@ -403,6 +397,11 @@ function main() {
|
|
|
403
397
|
require('./uninstall.js');
|
|
404
398
|
return;
|
|
405
399
|
}
|
|
400
|
+
if (command === 'upgrade') {
|
|
401
|
+
process.argv = [...process.argv.slice(0, 2), 'init', '--upgrade'];
|
|
402
|
+
main();
|
|
403
|
+
return;
|
|
404
|
+
}
|
|
406
405
|
// CLI subcommands — delegate to dist scripts
|
|
407
406
|
const cliCommands = {
|
|
408
407
|
health: { script: './mindlore-health-check.js', passArgs: false },
|
|
@@ -443,6 +442,7 @@ function main() {
|
|
|
443
442
|
console.log(' npx mindlore memory-sync');
|
|
444
443
|
console.log(' npx mindlore fetch-raw <url>');
|
|
445
444
|
console.log(' npx mindlore daemon start|stop|status');
|
|
445
|
+
console.log(' npx mindlore upgrade');
|
|
446
446
|
process.exit(1);
|
|
447
447
|
}
|
|
448
448
|
const isRecommended = args.includes('--recommended');
|
|
@@ -450,7 +450,8 @@ function main() {
|
|
|
450
450
|
// Resolution order: MINDLORE_HOME env var > ~/.mindlore/ (global default).
|
|
451
451
|
// Project-local .mindlore/ was removed in v0.3.3 and is migrated to .mindlore.bak/ below.
|
|
452
452
|
const baseDir = constants_js_1.GLOBAL_MINDLORE_DIR;
|
|
453
|
-
|
|
453
|
+
const isUpgrade = process.argv.includes('--upgrade');
|
|
454
|
+
console.log(`\n Mindlore — AI-native knowledge system [${isUpgrade ? 'upgrade' : 'global'} (~/.mindlore/)]\n`);
|
|
454
455
|
// v0.3.3 Migration: rename existing project .mindlore/ → .mindlore.bak/
|
|
455
456
|
const projectMindlore = path_1.default.join(process.cwd(), constants_js_1.MINDLORE_DIR);
|
|
456
457
|
if (fs_1.default.existsSync(projectMindlore) && projectMindlore !== baseDir) {
|
|
@@ -463,12 +464,14 @@ function main() {
|
|
|
463
464
|
(0, constants_js_1.log)('Project .mindlore/ exists — .mindlore.bak/ already present, skipping migration');
|
|
464
465
|
}
|
|
465
466
|
}
|
|
466
|
-
// Step 1: Directories
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
467
|
+
// Step 1: Directories (skip on upgrade — dirs already exist)
|
|
468
|
+
if (!isUpgrade) {
|
|
469
|
+
const dirsCreated = createDirectories(baseDir);
|
|
470
|
+
(0, constants_js_1.log)(dirsCreated > 0
|
|
471
|
+
? `Created ${dirsCreated} directories in ${constants_js_1.MINDLORE_DIR}/`
|
|
472
|
+
: 'All directories already exist');
|
|
473
|
+
}
|
|
474
|
+
// Step 2: Templates (always run — may have new templates)
|
|
472
475
|
const filesCopied = copyTemplates(baseDir, packageRoot);
|
|
473
476
|
(0, constants_js_1.log)(filesCopied > 0
|
|
474
477
|
? `Copied ${filesCopied} template files`
|
|
@@ -589,7 +592,49 @@ function main() {
|
|
|
589
592
|
fs_1.default.writeFileSync(versionPath, packageJson.version, 'utf8');
|
|
590
593
|
fs_1.default.writeFileSync(pkgVersionPath, packageJson.version, 'utf8');
|
|
591
594
|
(0, constants_js_1.log)(`Version: ${packageJson.version}`);
|
|
595
|
+
// Step 12: Register agents (v0.6.1)
|
|
596
|
+
const agentsAdded = registerAgents(packageRoot);
|
|
597
|
+
if (agentsAdded > 0) {
|
|
598
|
+
(0, constants_js_1.log)(`Registered ${agentsAdded} agents in ~/.claude/agents/`);
|
|
599
|
+
}
|
|
600
|
+
// Step 13: Auto-doctor (v0.6.1)
|
|
601
|
+
runDoctor(packageRoot);
|
|
592
602
|
console.log('\n Done! Start with: /mindlore-ingest\n');
|
|
593
603
|
}
|
|
604
|
+
function registerAgents(packageRoot) {
|
|
605
|
+
const agentsDir = path_1.default.join(packageRoot, 'agents');
|
|
606
|
+
if (!fs_1.default.existsSync(agentsDir))
|
|
607
|
+
return 0;
|
|
608
|
+
const targetDir = path_1.default.join((0, constants_js_1.homedir)(), '.claude', 'agents');
|
|
609
|
+
ensureDir(targetDir);
|
|
610
|
+
let copied = 0;
|
|
611
|
+
for (const file of fs_1.default.readdirSync(agentsDir)) {
|
|
612
|
+
const src = path_1.default.join(agentsDir, file);
|
|
613
|
+
const dest = path_1.default.join(targetDir, file);
|
|
614
|
+
if (!fs_1.default.statSync(src).isFile())
|
|
615
|
+
continue;
|
|
616
|
+
if (fs_1.default.existsSync(dest)) {
|
|
617
|
+
const srcStat = fs_1.default.statSync(src);
|
|
618
|
+
const destStat = fs_1.default.statSync(dest);
|
|
619
|
+
if (srcStat.size === destStat.size && srcStat.mtimeMs <= destStat.mtimeMs)
|
|
620
|
+
continue;
|
|
621
|
+
}
|
|
622
|
+
fs_1.default.copyFileSync(src, dest);
|
|
623
|
+
copied++;
|
|
624
|
+
}
|
|
625
|
+
return copied;
|
|
626
|
+
}
|
|
627
|
+
function runDoctor(packageRoot) {
|
|
628
|
+
try {
|
|
629
|
+
const doctorScript = path_1.default.join(packageRoot, 'dist', 'scripts', 'mindlore-doctor.js');
|
|
630
|
+
if (fs_1.default.existsSync(doctorScript)) {
|
|
631
|
+
const { execFileSync } = require('child_process');
|
|
632
|
+
execFileSync(process.execPath, [doctorScript], {
|
|
633
|
+
stdio: 'inherit', timeout: 10000, windowsHide: true,
|
|
634
|
+
});
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
catch { /* doctor failure is non-blocking */ }
|
|
638
|
+
}
|
|
594
639
|
main();
|
|
595
640
|
//# sourceMappingURL=init.js.map
|