context-vault 3.6.0 → 3.8.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.
Files changed (37) hide show
  1. package/assets/vault-error-hook.mjs +106 -0
  2. package/assets/vault-recall-hook.mjs +67 -0
  3. package/bin/cli.js +734 -5
  4. package/dist/register-tools.d.ts.map +1 -1
  5. package/dist/register-tools.js +2 -0
  6. package/dist/register-tools.js.map +1 -1
  7. package/dist/stats/recall.d.ts +33 -0
  8. package/dist/stats/recall.d.ts.map +1 -0
  9. package/dist/stats/recall.js +86 -0
  10. package/dist/stats/recall.js.map +1 -0
  11. package/dist/tools/clear-context.d.ts +7 -3
  12. package/dist/tools/clear-context.d.ts.map +1 -1
  13. package/dist/tools/clear-context.js +157 -8
  14. package/dist/tools/clear-context.js.map +1 -1
  15. package/dist/tools/context-status.d.ts.map +1 -1
  16. package/dist/tools/context-status.js +21 -0
  17. package/dist/tools/context-status.js.map +1 -1
  18. package/dist/tools/get-context.d.ts.map +1 -1
  19. package/dist/tools/get-context.js +50 -1
  20. package/dist/tools/get-context.js.map +1 -1
  21. package/dist/tools/recall.d.ts +25 -0
  22. package/dist/tools/recall.d.ts.map +1 -0
  23. package/dist/tools/recall.js +257 -0
  24. package/dist/tools/recall.js.map +1 -0
  25. package/dist/tools/session-start.d.ts +2 -1
  26. package/dist/tools/session-start.d.ts.map +1 -1
  27. package/dist/tools/session-start.js +16 -5
  28. package/dist/tools/session-start.js.map +1 -1
  29. package/node_modules/@context-vault/core/package.json +1 -1
  30. package/package.json +2 -2
  31. package/src/register-tools.ts +2 -0
  32. package/src/stats/recall.ts +139 -0
  33. package/src/tools/clear-context.ts +195 -10
  34. package/src/tools/context-status.ts +21 -0
  35. package/src/tools/get-context.ts +64 -1
  36. package/src/tools/recall.ts +307 -0
  37. package/src/tools/session-start.ts +18 -5
@@ -1 +1 @@
1
- {"version":3,"file":"register-tools.d.ts","sourceRoot":"","sources":["../src/register-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAyB,MAAM,YAAY,CAAC;AA+ClE,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAwI9D"}
1
+ {"version":3,"file":"register-tools.d.ts","sourceRoot":"","sources":["../src/register-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAyB,MAAM,YAAY,CAAC;AAiDlE,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAwI9D"}
@@ -19,6 +19,7 @@ import * as sessionStart from './tools/session-start.js';
19
19
  import * as listBuckets from './tools/list-buckets.js';
20
20
  import * as ingestProject from './tools/ingest-project.js';
21
21
  import * as sessionEnd from './tools/session-end.js';
22
+ import * as recall from './tools/recall.js';
22
23
  const toolModules = [
23
24
  getContext,
24
25
  saveContext,
@@ -32,6 +33,7 @@ const toolModules = [
32
33
  sessionStart,
33
34
  sessionEnd,
34
35
  listBuckets,
36
+ recall,
35
37
  ];
36
38
  const TOOL_TIMEOUT_MS = 120_000;
37
39
  // Reindex state hoisted to module scope so that in HTTP daemon mode
@@ -1 +1 @@
1
- {"version":3,"file":"register-tools.js","sourceRoot":"","sources":["../src/register-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-tools.js","sourceRoot":"","sources":["../src/register-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { LocalCtx } from '../types.js';
2
+ export interface RecallSummary {
3
+ ratio: number;
4
+ target: number;
5
+ total_entries: number;
6
+ recalled_entries: number;
7
+ never_recalled: number;
8
+ avg_recall_count: number;
9
+ top_recalled: Array<{
10
+ title: string;
11
+ recall_count: number;
12
+ recall_sessions: number;
13
+ }>;
14
+ dead_entry_count: number;
15
+ dead_bucket_count: number;
16
+ top_dead_buckets: Array<{
17
+ bucket: string;
18
+ count: number;
19
+ }>;
20
+ co_retrieval_pairs: number;
21
+ }
22
+ export interface CoRetrievalSummary {
23
+ total_pairs: number;
24
+ graph_density: number;
25
+ top_pairs: Array<{
26
+ title_a: string;
27
+ title_b: string;
28
+ weight: number;
29
+ }>;
30
+ }
31
+ export declare function gatherRecallSummary(ctx: LocalCtx): RecallSummary;
32
+ export declare function gatherCoRetrievalSummary(ctx: LocalCtx): CoRetrievalSummary;
33
+ //# sourceMappingURL=recall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../src/stats/recall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtF,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,KAAK,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,CA4EhE;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,QAAQ,GAAG,kBAAkB,CA8B1E"}
@@ -0,0 +1,86 @@
1
+ const RECALL_TARGET = 0.30;
2
+ const DEAD_DAYS = 30;
3
+ const TOP_COUNT = 10;
4
+ export function gatherRecallSummary(ctx) {
5
+ const { db } = ctx;
6
+ const totalRow = db.prepare('SELECT COUNT(*) as c FROM vault').get();
7
+ const total_entries = totalRow.c;
8
+ const recalledRow = db
9
+ .prepare('SELECT COUNT(*) as c FROM vault WHERE recall_count > 0')
10
+ .get();
11
+ const recalled_entries = recalledRow.c;
12
+ const never_recalled = total_entries - recalled_entries;
13
+ const ratio = total_entries > 0 ? Math.round((recalled_entries / total_entries) * 100) / 100 : 0;
14
+ const avgRow = db
15
+ .prepare('SELECT AVG(recall_count) as avg FROM vault WHERE recall_count > 0')
16
+ .get();
17
+ const avg_recall_count = Math.round((avgRow.avg ?? 0) * 10) / 10;
18
+ const top_recalled = db
19
+ .prepare('SELECT title, recall_count, recall_sessions FROM vault WHERE recall_count > 0 ORDER BY recall_count DESC LIMIT ?')
20
+ .all(TOP_COUNT);
21
+ const deadRow = db
22
+ .prepare(`SELECT COUNT(*) as c FROM vault WHERE recall_count = 0 AND created_at <= datetime('now', '-${DEAD_DAYS} days')`)
23
+ .get();
24
+ const dead_entry_count = deadRow.c;
25
+ const deadBuckets = db
26
+ .prepare(`SELECT tags, COUNT(*) as c FROM vault WHERE recall_count = 0 AND created_at <= datetime('now', '-${DEAD_DAYS} days') GROUP BY tags`)
27
+ .all();
28
+ const bucketMap = new Map();
29
+ for (const row of deadBuckets) {
30
+ let tags = [];
31
+ try {
32
+ tags = JSON.parse(row.tags ?? '[]');
33
+ }
34
+ catch {
35
+ tags = [];
36
+ }
37
+ const bucket = tags.find((t) => t.startsWith('bucket:'));
38
+ if (bucket) {
39
+ bucketMap.set(bucket, (bucketMap.get(bucket) ?? 0) + row.c);
40
+ }
41
+ }
42
+ const top_dead_buckets = [...bucketMap.entries()]
43
+ .sort((a, b) => b[1] - a[1])
44
+ .slice(0, 5)
45
+ .map(([bucket, count]) => ({ bucket: bucket.replace('bucket:', ''), count }));
46
+ const dead_bucket_count = bucketMap.size;
47
+ const coRow = db.prepare('SELECT COUNT(*) as c FROM co_retrievals').get();
48
+ const co_retrieval_pairs = coRow.c;
49
+ return {
50
+ ratio,
51
+ target: RECALL_TARGET,
52
+ total_entries,
53
+ recalled_entries,
54
+ never_recalled,
55
+ avg_recall_count,
56
+ top_recalled,
57
+ dead_entry_count,
58
+ dead_bucket_count,
59
+ top_dead_buckets,
60
+ co_retrieval_pairs,
61
+ };
62
+ }
63
+ export function gatherCoRetrievalSummary(ctx) {
64
+ const { db } = ctx;
65
+ const pairsRow = db.prepare('SELECT COUNT(*) as c FROM co_retrievals').get();
66
+ const total_pairs = pairsRow.c;
67
+ const entryRow = db.prepare('SELECT COUNT(*) as c FROM vault').get();
68
+ const total_entries = entryRow.c;
69
+ const max_possible = total_entries > 1 ? (total_entries * (total_entries - 1)) / 2 : 1;
70
+ const graph_density = Math.round((total_pairs / max_possible) * 10000) / 10000;
71
+ const rawPairs = db
72
+ .prepare(`SELECT c.entry_a, c.entry_b, c.count as weight, a.title as title_a, b.title as title_b
73
+ FROM co_retrievals c
74
+ JOIN vault a ON a.id = c.entry_a
75
+ JOIN vault b ON b.id = c.entry_b
76
+ ORDER BY c.count DESC
77
+ LIMIT 10`)
78
+ .all();
79
+ const top_pairs = rawPairs.map((row) => ({
80
+ title_a: row.title_a ?? '(untitled)',
81
+ title_b: row.title_b ?? '(untitled)',
82
+ weight: row.weight,
83
+ }));
84
+ return { total_pairs, graph_density, top_pairs };
85
+ }
86
+ //# sourceMappingURL=recall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recall.js","sourceRoot":"","sources":["../../src/stats/recall.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
1
  import { z } from 'zod';
2
- import type { ToolResult } from '../types.js';
2
+ import type { LocalCtx, SharedCtx, ToolResult } from '../types.js';
3
3
  export declare const name = "clear_context";
4
4
  export declare const description = "Reset active in-memory session context without deleting vault entries. Call this when switching projects or topics mid-session. With `scope`, all subsequent get_context calls should filter to that tag/project. Vault data is never modified.";
5
5
  export declare const inputSchema: {
6
6
  scope: z.ZodOptional<z.ZodString>;
7
+ preload_bucket: z.ZodOptional<z.ZodString>;
8
+ max_tokens: z.ZodOptional<z.ZodNumber>;
7
9
  };
8
- export declare function handler({ scope }?: {
10
+ export declare function handler({ scope, preload_bucket, max_tokens }?: {
9
11
  scope?: string;
10
- }): ToolResult;
12
+ preload_bucket?: string;
13
+ max_tokens?: number;
14
+ }, ctx?: LocalCtx, shared?: SharedCtx): Promise<ToolResult>;
11
15
  //# sourceMappingURL=clear-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clear-context.d.ts","sourceRoot":"","sources":["../../src/tools/clear-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,eAAO,MAAM,IAAI,kBAAkB,CAAC;AAEpC,eAAO,MAAM,WAAW,oPAC2N,CAAC;AAEpP,eAAO,MAAM,WAAW;;CAOvB,CAAC;AAEF,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,UAAU,CAsBtE"}
1
+ {"version":3,"file":"clear-context.d.ts","sourceRoot":"","sources":["../../src/tools/clear-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOnE,eAAO,MAAM,IAAI,kBAAkB,CAAC;AAEpC,eAAO,MAAM,WAAW,oPAC2N,CAAC;AAEpP,eAAO,MAAM,WAAW;;;;CAmBvB,CAAC;AAuHF,wBAAsB,OAAO,CAC3B,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,EAC5G,GAAG,CAAC,EAAE,QAAQ,EACd,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,UAAU,CAAC,CAqErB"}
@@ -1,5 +1,9 @@
1
1
  import { z } from 'zod';
2
- import { ok } from '../helpers.js';
2
+ import { ok, ensureVaultExists, kindIcon, fmtDate } from '../helpers.js';
3
+ const DEFAULT_PRELOAD_TOKENS = 2000;
4
+ const MAX_BODY_PER_ENTRY = 300;
5
+ const RECENT_DAYS = 7;
6
+ const PRIORITY_KINDS = ['decision', 'insight', 'pattern'];
3
7
  export const name = 'clear_context';
4
8
  export const description = 'Reset active in-memory session context without deleting vault entries. Call this when switching projects or topics mid-session. With `scope`, all subsequent get_context calls should filter to that tag/project. Vault data is never modified.';
5
9
  export const inputSchema = {
@@ -7,22 +11,167 @@ export const inputSchema = {
7
11
  .string()
8
12
  .optional()
9
13
  .describe('Optional tag or project name to focus on going forward. When provided, treat subsequent get_context calls as if filtered to this tag.'),
14
+ preload_bucket: z
15
+ .string()
16
+ .optional()
17
+ .describe('Bucket name to preload context from after clearing. Loads recent decisions, insights, and patterns scoped to this bucket into the response so the agent has immediate context for the new project.'),
18
+ max_tokens: z
19
+ .number()
20
+ .optional()
21
+ .describe('Token budget for preloaded context (rough estimate: 1 token ~ 4 chars). Default: 2000. Only applies when preload_bucket is set.'),
10
22
  };
11
- export function handler({ scope } = {}) {
23
+ function estimateTokens(text) {
24
+ return Math.ceil((text || '').length / 4);
25
+ }
26
+ function truncateBody(body, maxLen = MAX_BODY_PER_ENTRY) {
27
+ if (!body)
28
+ return '(no body)';
29
+ if (body.length <= maxLen)
30
+ return body;
31
+ return body.slice(0, maxLen) + '...';
32
+ }
33
+ function formatEntry(entry) {
34
+ const tags = entry.tags ? JSON.parse(entry.tags) : [];
35
+ const tagStr = tags.length ? tags.join(', ') : '';
36
+ const date = fmtDate(entry.updated_at || entry.created_at);
37
+ const icon = kindIcon(entry.kind);
38
+ const meta = [`\`${entry.kind}\``, tagStr, date].filter(Boolean).join(' · ');
39
+ return [
40
+ `- ${icon} **${entry.title || '(untitled)'}**`,
41
+ ` ${meta} · \`${entry.id}\``,
42
+ ` ${truncateBody(entry.body).replace(/\n+/g, ' ').trim()}`,
43
+ ].join('\n');
44
+ }
45
+ function preloadBucketContext(ctx, bucket, tokenBudget) {
46
+ const sections = [];
47
+ let tokensUsed = 0;
48
+ let entryCount = 0;
49
+ const bucketTag = `bucket:${bucket}`;
50
+ const sinceDate = new Date(Date.now() - RECENT_DAYS * 86400000).toISOString();
51
+ // Query priority kinds (decisions, insights, patterns)
52
+ const kindPlaceholders = PRIORITY_KINDS.map(() => '?').join(',');
53
+ const priorityRows = ctx.db
54
+ .prepare(`SELECT * FROM vault
55
+ WHERE kind IN (${kindPlaceholders})
56
+ AND created_at >= ?
57
+ AND (expires_at IS NULL OR expires_at > datetime('now'))
58
+ AND superseded_by IS NULL
59
+ ORDER BY created_at DESC
60
+ LIMIT 30`)
61
+ .all(...PRIORITY_KINDS, sinceDate);
62
+ // Filter to bucket-tagged entries
63
+ const taggedPriority = priorityRows.filter((r) => {
64
+ const tags = r.tags ? JSON.parse(r.tags) : [];
65
+ return tags.includes(bucketTag);
66
+ });
67
+ if (taggedPriority.length > 0) {
68
+ const header = '### Active Decisions, Insights & Patterns\n';
69
+ const headerTokens = estimateTokens(header);
70
+ if (tokensUsed + headerTokens <= tokenBudget) {
71
+ const entryLines = [];
72
+ tokensUsed += headerTokens;
73
+ for (const entry of taggedPriority) {
74
+ const line = formatEntry(entry);
75
+ const lineTokens = estimateTokens(line);
76
+ if (tokensUsed + lineTokens > tokenBudget)
77
+ break;
78
+ entryLines.push(line);
79
+ tokensUsed += lineTokens;
80
+ entryCount++;
81
+ }
82
+ if (entryLines.length > 0) {
83
+ sections.push(header + entryLines.join('\n'));
84
+ }
85
+ }
86
+ }
87
+ // Query recent entries (any kind)
88
+ const recentRows = ctx.db
89
+ .prepare(`SELECT * FROM vault
90
+ WHERE created_at >= ?
91
+ AND (expires_at IS NULL OR expires_at > datetime('now'))
92
+ AND superseded_by IS NULL
93
+ ORDER BY created_at DESC
94
+ LIMIT 30`)
95
+ .all(sinceDate);
96
+ const seenIds = new Set(taggedPriority.map((r) => r.id));
97
+ const taggedRecent = recentRows.filter((r) => {
98
+ if (seenIds.has(r.id))
99
+ return false;
100
+ const tags = r.tags ? JSON.parse(r.tags) : [];
101
+ return tags.includes(bucketTag);
102
+ });
103
+ if (taggedRecent.length > 0) {
104
+ const header = `\n### Recent Entries (last ${RECENT_DAYS} days)\n`;
105
+ const headerTokens = estimateTokens(header);
106
+ if (tokensUsed + headerTokens <= tokenBudget) {
107
+ const entryLines = [];
108
+ tokensUsed += headerTokens;
109
+ for (const entry of taggedRecent) {
110
+ const line = formatEntry(entry);
111
+ const lineTokens = estimateTokens(line);
112
+ if (tokensUsed + lineTokens > tokenBudget)
113
+ break;
114
+ entryLines.push(line);
115
+ tokensUsed += lineTokens;
116
+ entryCount++;
117
+ }
118
+ if (entryLines.length > 0) {
119
+ sections.push(header + entryLines.join('\n'));
120
+ }
121
+ }
122
+ }
123
+ return { sections, tokensUsed, entryCount };
124
+ }
125
+ export async function handler({ scope, preload_bucket, max_tokens } = {}, ctx, shared) {
12
126
  const lines = [
13
127
  '## Context Reset',
14
128
  '',
15
129
  'Active session context has been cleared. All previous context from this session should be disregarded.',
16
130
  '',
17
- 'Vault entries are unchanged no data was deleted.',
131
+ 'Vault entries are unchanged -- no data was deleted.',
18
132
  ];
19
- if (scope?.trim()) {
20
- const trimmed = scope.trim();
21
- lines.push('', `### Active Scope: \`${trimmed}\``, '', `Going forward, treat \`get_context\` calls as scoped to the tag or project **"${trimmed}"** unless the user explicitly requests a different scope or passes their own tag filters.`);
133
+ const trimmedScope = scope?.trim() || '';
134
+ // If preload_bucket is set but scope is not, infer scope from the bucket
135
+ const effectiveScope = trimmedScope || preload_bucket?.trim() || '';
136
+ if (effectiveScope) {
137
+ lines.push('', `### Active Scope: \`${effectiveScope}\``, '', `Going forward, treat \`get_context\` calls as scoped to the tag or project **"${effectiveScope}"** unless the user explicitly requests a different scope or passes their own tag filters.`);
22
138
  }
23
139
  else {
24
- lines.push('', 'No scope set. Use `get_context` normally all vault entries are accessible.');
140
+ lines.push('', 'No scope set. Use `get_context` normally -- all vault entries are accessible.');
141
+ }
142
+ // Preload bucket context if requested and ctx is available
143
+ const bucket = preload_bucket?.trim();
144
+ let preloadMeta = {};
145
+ if (bucket && ctx) {
146
+ const vaultErr = ensureVaultExists(ctx.config);
147
+ if (vaultErr) {
148
+ lines.push('', `> **Warning:** Could not preload bucket context: vault not found.`);
149
+ }
150
+ else {
151
+ if (shared?.ensureIndexed) {
152
+ await shared.ensureIndexed({ blocking: false });
153
+ }
154
+ const tokenBudget = max_tokens || DEFAULT_PRELOAD_TOKENS;
155
+ const { sections, tokensUsed, entryCount } = preloadBucketContext(ctx, bucket, tokenBudget);
156
+ if (sections.length > 0) {
157
+ lines.push('', `## Preloaded Context: \`${bucket}\``, `_${entryCount} entries | ${tokensUsed} / ${tokenBudget} tokens used_`, '', ...sections);
158
+ }
159
+ else {
160
+ lines.push('', `_No recent entries found in bucket \`${bucket}\`. Use \`get_context\` to search across all entries._`);
161
+ }
162
+ preloadMeta = {
163
+ preload_bucket: bucket,
164
+ preload_entries: entryCount,
165
+ preload_tokens_used: tokensUsed,
166
+ preload_tokens_budget: tokenBudget,
167
+ };
168
+ }
25
169
  }
26
- return ok(lines.join('\n'));
170
+ const result = ok(lines.join('\n'));
171
+ result._meta = {
172
+ scope: effectiveScope || null,
173
+ ...preloadMeta,
174
+ };
175
+ return result;
27
176
  }
28
177
  //# sourceMappingURL=clear-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clear-context.js","sourceRoot":"","sources":["../../src/tools/clear-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAGnC,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC;AAEpC,MAAM,CAAC,MAAM,WAAW,GACtB,iPAAiP,CAAC;AAEpP,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uIAAuI,CACxI;CACJ,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,EAAE,KAAK,KAAyB,EAAE;IACxD,MAAM,KAAK,GAAG;QACZ,kBAAkB;QAClB,EAAE;QACF,wGAAwG;QACxG,EAAE;QACF,oDAAoD;KACrD,CAAC;IAEF,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CACR,EAAE,EACF,uBAAuB,OAAO,IAAI,EAClC,EAAE,EACF,iFAAiF,OAAO,4FAA4F,CACrL,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,8EAA8E,CAAC,CAAC;IACjG,CAAC;IAED,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"clear-context.js","sourceRoot":"","sources":["../../src/tools/clear-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGzE,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC;AAEpC,MAAM,CAAC,MAAM,WAAW,GACtB,iPAAiP,CAAC;AAEpP,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uIAAuI,CACxI;IACH,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,oMAAoM,CACrM;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,iIAAiI,CAClI;CACJ,CAAC;AAEF,SAAS,cAAc,CAAC,IAA+B;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CAAC,IAA+B,EAAE,MAAM,GAAG,kBAAkB;IAChF,IAAI,CAAC,IAAI;QAAE,OAAO,WAAW,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;AACvC,CAAC;AAED,SAAS,WAAW,CAAC,KAAU;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7E,OAAO;QACL,KAAK,IAAI,MAAM,KAAK,CAAC,KAAK,IAAI,YAAY,IAAI;QAC9C,KAAK,IAAI,QAAQ,KAAK,CAAC,EAAE,IAAI;QAC7B,KAAK,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;KAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAC3B,GAAa,EACb,MAAc,EACd,WAAmB;IAEnB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,SAAS,GAAG,UAAU,MAAM,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAE9E,uDAAuD;IACvD,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,GAAG,CAAC,EAAE;SACxB,OAAO,CACN;wBACkB,gBAAgB;;;;;gBAKxB,CACX;SACA,GAAG,CAAC,GAAG,cAAc,EAAE,SAAS,CAAU,CAAC;IAE9C,kCAAkC;IAClC,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,6CAA6C,CAAC;QAC7D,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,UAAU,GAAG,YAAY,IAAI,WAAW,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,UAAU,IAAI,YAAY,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,UAAU,GAAG,UAAU,GAAG,WAAW;oBAAE,MAAM;gBACjD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,UAAU,IAAI,UAAU,CAAC;gBACzB,UAAU,EAAE,CAAC;YACf,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,MAAM,UAAU,GAAG,GAAG,CAAC,EAAE;SACtB,OAAO,CACN;;;;;gBAKU,CACX;SACA,GAAG,CAAC,SAAS,CAAU,CAAC;IAE3B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;QAChD,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACpC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,8BAA8B,WAAW,UAAU,CAAC;QACnE,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,UAAU,GAAG,YAAY,IAAI,WAAW,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,UAAU,IAAI,YAAY,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,UAAU,GAAG,UAAU,GAAG,WAAW;oBAAE,MAAM;gBACjD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,UAAU,IAAI,UAAU,CAAC;gBACzB,UAAU,EAAE,CAAC;YACf,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,KAAuE,EAAE,EAC5G,GAAc,EACd,MAAkB;IAElB,MAAM,KAAK,GAAG;QACZ,kBAAkB;QAClB,EAAE;QACF,wGAAwG;QACxG,EAAE;QACF,qDAAqD;KACtD,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzC,yEAAyE;IACzE,MAAM,cAAc,GAAG,YAAY,IAAI,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEpE,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,uBAAuB,cAAc,IAAI,EACzC,EAAE,EACF,iFAAiF,cAAc,4FAA4F,CAC5L,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,+EAA+E,CAAC,CAAC;IAClG,CAAC;IAED,2DAA2D;IAC3D,MAAM,MAAM,GAAG,cAAc,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,WAAW,GAA4B,EAAE,CAAC;IAC9C,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,mEAAmE,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;gBAC1B,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,WAAW,GAAG,UAAU,IAAI,sBAAsB,CAAC;YACzD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAE5F,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,2BAA2B,MAAM,IAAI,EACrC,IAAI,UAAU,cAAc,UAAU,MAAM,WAAW,eAAe,EACtE,EAAE,EACF,GAAG,QAAQ,CACZ,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CACR,EAAE,EACF,wCAAwC,MAAM,wDAAwD,CACvG,CAAC;YACJ,CAAC;YAED,WAAW,GAAG;gBACZ,cAAc,EAAE,MAAM;gBACtB,eAAe,EAAE,UAAU;gBAC3B,mBAAmB,EAAE,UAAU;gBAC/B,qBAAqB,EAAE,WAAW;aACnC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAe,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG;QACb,KAAK,EAAE,cAAc,IAAI,IAAI;QAC7B,GAAG,WAAW;KACf,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-status.d.ts","sourceRoot":"","sources":["../../src/tools/context-status.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoDxD,eAAO,MAAM,IAAI,mBAAmB,CAAC;AAErC,eAAO,MAAM,WAAW,0MACiL,CAAC;AAE1M,eAAO,MAAM,WAAW,IAAK,CAAC;AAE9B,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,UAAU,CAsN7E"}
1
+ {"version":3,"file":"context-status.d.ts","sourceRoot":"","sources":["../../src/tools/context-status.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoDxD,eAAO,MAAM,IAAI,mBAAmB,CAAC;AAErC,eAAO,MAAM,WAAW,0MACiL,CAAC;AAE1M,eAAO,MAAM,WAAW,IAAK,CAAC;AAE9B,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,UAAU,CA0O7E"}
@@ -1,6 +1,7 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { gatherVaultStatus, computeGrowthWarnings } from '../status.js';
4
+ import { gatherRecallSummary } from '../stats/recall.js';
4
5
  import { errorLogPath, errorLogCount } from '../error-log.js';
5
6
  import { ok, err, kindIcon } from '../helpers.js';
6
7
  function relativeTime(ts) {
@@ -228,6 +229,26 @@ export function handler(_args, ctx) {
228
229
  if (actions.length) {
229
230
  lines.push('', '### Suggested Actions', ...actions);
230
231
  }
232
+ // Recall ratio structured summary
233
+ let recallSection = null;
234
+ try {
235
+ const rs = gatherRecallSummary(ctx);
236
+ recallSection = {
237
+ ratio: rs.ratio,
238
+ target: rs.target,
239
+ total_entries: rs.total_entries,
240
+ recalled_entries: rs.recalled_entries,
241
+ avg_recall_count: rs.avg_recall_count,
242
+ co_retrieval_pairs: rs.co_retrieval_pairs,
243
+ };
244
+ lines.push('', '### Recall Ratio');
245
+ lines.push('```json');
246
+ lines.push(JSON.stringify({ recall: recallSection }, null, 2));
247
+ lines.push('```');
248
+ }
249
+ catch {
250
+ // non-fatal: skip recall section if unavailable
251
+ }
231
252
  return ok(lines.join('\n'));
232
253
  }
233
254
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"context-status.js","sourceRoot":"","sources":["../../src/tools/context-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGlD,SAAS,YAAY,CAAC,EAAU;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAClD,IAAI,IAAI,GAAG,EAAE;QAAE,OAAO,GAAG,IAAI,OAAO,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IACnC,IAAI,IAAI,GAAG,EAAE;QAAE,OAAO,GAAG,IAAI,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAClC,OAAO,GAAG,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAClD,CAAC;AAWD,SAAS,mBAAmB,CAAC,GAAa;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,GAAI,GAAG,CAAC,EAAE,CAAC,OAAO,CAC7B,+HAA+H,CAChI,CAAC,GAAG,EAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QAExB,MAAM,QAAQ,GAAI,GAAG,CAAC,EAAE,CAAC,OAAO,CAC9B,gIAAgI,CACjI,CAAC,GAAG,EAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QAExB,MAAM,WAAW,GAAI,GAAG,CAAC,EAAE,CAAC,OAAO,CACjC,sGAAsG,CACvG,CAAC,GAAG,EAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QAExB,MAAM,eAAe,GAAG,WAAW,GAAG,CAAC;YACrC,CAAC,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,KAAK,CAAC;QAEV,MAAM,UAAU,GAAI,GAAG,CAAC,EAAE,CAAC,OAAO,CAChC,gGAAgG,CACjG,CAAC,GAAG,EAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QAExB,MAAM,iBAAiB,GAAG,QAAQ,GAAG,CAAC;YACpC,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YAC3C,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC;QAErE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,gBAAgB,CAAC;AAErC,MAAM,CAAC,MAAM,WAAW,GACtB,uMAAuM,CAAC;AAE1M,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAE9B,MAAM,UAAU,OAAO,CAAC,KAA0B,EAAE,GAAa;IAC/D,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QAEvB,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEtC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAClF,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEzC,MAAM,aAAa,GAAI,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAU,EAAE,YAAY,IAAI,SAAS,CAAC;QACtG,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe;YACrC,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9H,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe;YACrC,CAAC,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,KAAK,QAAQ,IAAI;YACpF,CAAC,CAAC,KAAK,CAAC;QACV,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvI,MAAM,KAAK,GAAG;YACZ,MAAM,UAAU,kBAAkB;YAClC,EAAE;YACF,OAAO;YACP,WAAW;YACX,iBAAiB,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,KAAK;YAC3G,oBAAoB,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,KAAK;YACxD,mBAAmB,aAAa,IAAI;YACpC,sBAAsB,QAAQ,IAAI;YAClC,iBAAiB,QAAQ,IAAI;YAC7B,uBAAuB,MAAM,CAAC,cAAc,SAAS;SACtD,CAAC;QACF,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,YAAY,kBAAkB,CAAC,CAAC;QACvE,CAAC;QAED,2BAA2B;QAC3B,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;YAChC,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC3E,KAAK,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,KAAK,KAAK,GAAG,MAAM,CAAC,CAAC;QAC9E,CAAC;QAED,iCAAiC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpF,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAqC,CAAC;oBACvE,MAAM,QAAQ,GAAG,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,QAAQ,IAAI,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxB,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7B,KAAK,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,MAAM,CAAC,cAAc;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC;QAC5F,CAAC;QAED,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,eAAe,IAAI,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC,cAAc,IAAI,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,cAAc,IAAI,CAAC,CAAC;YACzD,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;gBACpC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,YAAY,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,YAAY,aAAa,CAAC,CAAC,eAAe,WAAW,CAAC,CAAC;gBACzH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,0BAA0B,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,2BAA2B,YAAY,CAAC,QAAQ,IAAI,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,8BAA8B,YAAY,CAAC,WAAW,IAAI,CAAC,CAAC;YACvE,IAAI,YAAY,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,6BAA6B,YAAY,CAAC,eAAe,IAAI,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,YAAY,CAAC,UAAU,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,6BAA6B,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC;gBACrE,KAAK,CAAC,IAAI,CAAC,6BAA6B,YAAY,CAAC,iBAAiB,IAAI,CAAC,CAAC;YAC9E,CAAC;YACD,IAAI,YAAY,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;YAC/F,CAAC;iBAAM,IAAI,YAAY,CAAC,WAAW,GAAG,CAAC,IAAI,YAAY,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;gBAClF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,UAAU,wCAAwC,CAAC,CAAC;YACrF,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CACR,2FAA2F,CAC5F,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtF,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,IAAI,oBAAoB,WAAW,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QACvF,CAAC;QAED,YAAY;QACZ,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,cAAc,QAAQ,gCAAgC,CAAC,CAAC;QACrE,CAAC;QAED,qBAAqB;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC1D,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,wCAAwC;QACxC,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;QACzB,IAAI,EAAE,EAAE,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,SAAS,CAAC,CAAC;YACvE,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;gBACjB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;gBAC/C,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,SAAS,MAAM,IAAI,KAAK,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC1F,CAAC;YACD,IAAI,MAAM,CAAC,yBAAyB,GAAG,CAAC,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CACR,qCAAqC,MAAM,CAAC,yBAAyB,0DAA0D,CAChI,CAAC;YACJ,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACnC,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACxD,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,cAAc,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC;gBAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,MAAM,CAAC,UAAU;YAAE,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,CAAC,cAAc;YACxB,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC5E,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc;YACzD,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAE/D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"context-status.js","sourceRoot":"","sources":["../../src/tools/context-status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-context.d.ts","sourceRoot":"","sources":["../../src/tools/get-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoBnE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAapE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,GAAG,EAAE,EACd,IAAI,EAAE,GAAG,GACR,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CA0D3F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,GAAG,EAAE,EACd,EAAE,EAAE,GAAG,EACP,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAyDpF;AAyDD,eAAO,MAAM,IAAI,gBAAgB,CAAC;AAElC,eAAO,MAAM,WAAW,mQAC0O,CAAC;AAEnQ,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyGvB,CAAC;AAEF,wBAAsB,OAAO,CAC3B,EACE,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,KAAK,EACL,KAAK,EACL,KAAK,EACL,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,YAAY,EACZ,UAAU,EACV,MAAM,EACN,OAAO,GACR,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtB,GAAG,EAAE,QAAQ,EACb,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,SAAS,GAC1C,OAAO,CAAC,UAAU,CAAC,CAmXrB"}
1
+ {"version":3,"file":"get-context.d.ts","sourceRoot":"","sources":["../../src/tools/get-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoBnE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAapE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,GAAG,EAAE,EACd,IAAI,EAAE,GAAG,GACR,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CA0D3F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,GAAG,EAAE,EACd,EAAE,EAAE,GAAG,EACP,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAyDpF;AAyDD,eAAO,MAAM,IAAI,gBAAgB,CAAC;AAElC,eAAO,MAAM,WAAW,mQAC0O,CAAC;AAEnQ,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyGvB,CAAC;AAEF,wBAAsB,OAAO,CAC3B,EACE,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,KAAK,EACL,KAAK,EACL,KAAK,EACL,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,YAAY,EACZ,UAAU,EACV,MAAM,EACN,OAAO,GACR,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtB,GAAG,EAAE,QAAQ,EACb,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,SAAS,GAC1C,OAAO,CAAC,UAAU,CAAC,CAkbrB"}
@@ -572,7 +572,7 @@ export async function handler({ query, kind, category, identity_key, tags, bucke
572
572
  lines.push('');
573
573
  }
574
574
  }
575
- // Graph traversal: follow related_to links bidirectionally
575
+ // Graph traversal: follow related_to links bidirectionally + co-retrieval edges
576
576
  if (follow_links) {
577
577
  const { forward, backward } = collectLinkedEntries(ctx.db, filtered);
578
578
  const allLinked = [...forward, ...backward];
@@ -600,6 +600,55 @@ export async function handler({ query, kind, category, identity_key, tags, bucke
600
600
  else {
601
601
  lines.push(`## Linked Entries\n\nNo related entries found.\n`);
602
602
  }
603
+ // Co-retrieval graph traversal: edges with count > 3
604
+ const primaryIds = filtered.map((e) => e.id);
605
+ const primaryIdSet = new Set([...primaryIds, ...Array.from(seen)]);
606
+ const coRetrieved = [];
607
+ try {
608
+ const CO_RETRIEVAL_THRESHOLD = 3;
609
+ const placeholders = primaryIds.map(() => '?').join(',');
610
+ const coRows = ctx.db
611
+ .prepare(`SELECT entry_a, entry_b, count FROM co_retrievals
612
+ WHERE count > ? AND (entry_a IN (${placeholders}) OR entry_b IN (${placeholders}))`)
613
+ .all(CO_RETRIEVAL_THRESHOLD, ...primaryIds, ...primaryIds);
614
+ const linkedIds = new Map();
615
+ for (const row of coRows) {
616
+ for (const candidate of [row.entry_a, row.entry_b]) {
617
+ if (!primaryIdSet.has(candidate)) {
618
+ const existing = linkedIds.get(candidate) ?? 0;
619
+ if (row.count > existing)
620
+ linkedIds.set(candidate, row.count);
621
+ }
622
+ }
623
+ }
624
+ if (linkedIds.size > 0) {
625
+ const coIds = Array.from(linkedIds.keys());
626
+ const coPlaceholders = coIds.map(() => '?').join(',');
627
+ const coEntries = ctx.db
628
+ .prepare(`SELECT * FROM vault WHERE id IN (${coPlaceholders}) AND (expires_at IS NULL OR expires_at > datetime('now')) AND superseded_by IS NULL`)
629
+ .all(...coIds);
630
+ for (const entry of coEntries) {
631
+ coRetrieved.push({ ...entry, co_retrieval_weight: linkedIds.get(entry.id) ?? 0 });
632
+ }
633
+ }
634
+ }
635
+ catch {
636
+ // Non-fatal: co-retrieval traversal is best-effort
637
+ }
638
+ if (coRetrieved.length > 0) {
639
+ coRetrieved.sort((a, b) => b.co_retrieval_weight - a.co_retrieval_weight);
640
+ lines.push(`## Co-Retrieved Entries (${coRetrieved.length} via usage patterns)\n`);
641
+ for (const r of coRetrieved) {
642
+ const entryTags = r.tags ? JSON.parse(r.tags) : [];
643
+ const tagStr = entryTags.length ? entryTags.join(', ') : '';
644
+ const icon = kindIcon(r.kind);
645
+ lines.push(`### ${icon} ${r.title || '(untitled)'} (weight: ${r.co_retrieval_weight})`);
646
+ const meta = [`\`${r.kind}\``, tagStr].filter(Boolean).join(' · ');
647
+ lines.push(`${meta} \nid: \`${r.id}\``);
648
+ lines.push(truncateBody(r.body, body_limit ?? 300));
649
+ lines.push('');
650
+ }
651
+ }
603
652
  }
604
653
  // Consolidation suggestion detection — lazy, opportunistic, vault-wide
605
654
  const consolidationOpts = {