homegraph 1.5.6 → 1.5.7
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/CHANGELOG.md +32 -0
- package/README.md +10 -4
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +120 -15
- package/dist/context/index.js.map +1 -1
- package/dist/extraction/languages/arkts.d.ts +25 -3
- package/dist/extraction/languages/arkts.d.ts.map +1 -1
- package/dist/extraction/languages/arkts.js +184 -22
- package/dist/extraction/languages/arkts.js.map +1 -1
- package/dist/mcp/evidence-rendering.d.ts +10 -0
- package/dist/mcp/evidence-rendering.d.ts.map +1 -0
- package/dist/mcp/evidence-rendering.js +71 -0
- package/dist/mcp/evidence-rendering.js.map +1 -0
- package/dist/mcp/explore-repeat-guard.d.ts +8 -13
- package/dist/mcp/explore-repeat-guard.d.ts.map +1 -1
- package/dist/mcp/explore-repeat-guard.js +54 -114
- package/dist/mcp/explore-repeat-guard.js.map +1 -1
- package/dist/mcp/explore-session-state.d.ts +26 -4
- package/dist/mcp/explore-session-state.d.ts.map +1 -1
- package/dist/mcp/explore-session-state.js +50 -4
- package/dist/mcp/explore-session-state.js.map +1 -1
- package/dist/mcp/query-cache.d.ts +1 -1
- package/dist/mcp/query-cache.d.ts.map +1 -1
- package/dist/mcp/query-cache.js +86 -3
- package/dist/mcp/query-cache.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +2 -2
- package/dist/mcp/server-instructions.d.ts.map +1 -1
- package/dist/mcp/server-instructions.js +34 -21
- package/dist/mcp/server-instructions.js.map +1 -1
- package/dist/mcp/tools.d.ts +19 -3
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +690 -107
- package/dist/mcp/tools.js.map +1 -1
- package/dist/search/literal-evidence.d.ts +44 -0
- package/dist/search/literal-evidence.d.ts.map +1 -0
- package/dist/search/literal-evidence.js +278 -0
- package/dist/search/literal-evidence.js.map +1 -0
- package/dist/search/query-plan-provider.d.ts +6 -0
- package/dist/search/query-plan-provider.d.ts.map +1 -0
- package/dist/search/query-plan-provider.js +289 -0
- package/dist/search/query-plan-provider.js.map +1 -0
- package/dist/search/query-plan.d.ts +98 -0
- package/dist/search/query-plan.d.ts.map +1 -0
- package/dist/search/query-plan.js +334 -0
- package/dist/search/query-plan.js.map +1 -0
- package/dist/search/query-utils.d.ts +6 -1
- package/dist/search/query-utils.d.ts.map +1 -1
- package/dist/search/query-utils.js +64 -5
- package/dist/search/query-utils.js.map +1 -1
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Node } from '../types';
|
|
2
|
+
/** Multiple parser roles for one source declaration are not overloads. */
|
|
3
|
+
export declare function canonicalSourceDeclarations(nodes: Node[]): Node[];
|
|
4
|
+
/** Guidance describes retrieval; it must never close the host's coding task.
|
|
5
|
+
* Source fences are byte-preserved, including strings that resemble guidance.
|
|
6
|
+
*/
|
|
7
|
+
export declare function neutralRetrievalGuidance(text: string): string;
|
|
8
|
+
/** Preserve complete lines at a shared output limit; never forge a full body. */
|
|
9
|
+
export declare function trimEvidenceAtLine(text: string, limit: number): string;
|
|
10
|
+
//# sourceMappingURL=evidence-rendering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-rendering.d.ts","sourceRoot":"","sources":["../../src/mcp/evidence-rendering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAErC,0EAA0E;AAC1E,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAcjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsB7D;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQtE"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.canonicalSourceDeclarations = canonicalSourceDeclarations;
|
|
4
|
+
exports.neutralRetrievalGuidance = neutralRetrievalGuidance;
|
|
5
|
+
exports.trimEvidenceAtLine = trimEvidenceAtLine;
|
|
6
|
+
/** Multiple parser roles for one source declaration are not overloads. */
|
|
7
|
+
function canonicalSourceDeclarations(nodes) {
|
|
8
|
+
const out = [];
|
|
9
|
+
const roles = new Map();
|
|
10
|
+
const ids = new Set();
|
|
11
|
+
for (const node of nodes) {
|
|
12
|
+
if (ids.has(node.id))
|
|
13
|
+
continue;
|
|
14
|
+
ids.add(node.id);
|
|
15
|
+
if (node.kind !== 'struct' && node.kind !== 'component') {
|
|
16
|
+
out.push(node);
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
const key = `${node.filePath}:${node.startLine}:${node.name}`;
|
|
20
|
+
const prior = roles.get(key);
|
|
21
|
+
if (prior === undefined) {
|
|
22
|
+
roles.set(key, out.length);
|
|
23
|
+
out.push(node);
|
|
24
|
+
}
|
|
25
|
+
else if (node.kind === 'component')
|
|
26
|
+
out[prior] = node;
|
|
27
|
+
}
|
|
28
|
+
return out;
|
|
29
|
+
}
|
|
30
|
+
/** Guidance describes retrieval; it must never close the host's coding task.
|
|
31
|
+
* Source fences are byte-preserved, including strings that resemble guidance.
|
|
32
|
+
*/
|
|
33
|
+
function neutralRetrievalGuidance(text) {
|
|
34
|
+
let fence = '';
|
|
35
|
+
return text.split('\n').map((line) => {
|
|
36
|
+
const marker = line.match(/^\s*(`{3,}|~{3,})/);
|
|
37
|
+
if (marker) {
|
|
38
|
+
if (!fence)
|
|
39
|
+
fence = marker[1][0];
|
|
40
|
+
else if (marker[1][0] === fence)
|
|
41
|
+
fence = '';
|
|
42
|
+
return line;
|
|
43
|
+
}
|
|
44
|
+
if (fence)
|
|
45
|
+
return line;
|
|
46
|
+
if (/^>\s*\*\*Explore complete/i.test(line)) {
|
|
47
|
+
return '> Retrieval returned the evidence shown above. Check missing requirements, continue the requested edits, and verify the resulting code.';
|
|
48
|
+
}
|
|
49
|
+
if (/^>/.test(line) && /treat as already Read|treat it as already Read/i.test(line)) {
|
|
50
|
+
return '> The displayed source ranges are available as evidence. Inspect omitted ranges or changed files when needed; avoid repeating unchanged ranges.';
|
|
51
|
+
}
|
|
52
|
+
return line
|
|
53
|
+
.replace(/\*{0,2}ANSWER NOW\*{0,2}/g, 'use the evidence shown')
|
|
54
|
+
.replace(/Flow \+ Source above are authoritative for this query\./g, 'Source coverage is limited to the displayed ranges.')
|
|
55
|
+
.replace(/Do \*\*not\*\* grep\/read\/`homegraph_node`\/`homegraph_search`[^.]*\./gi, 'Inspect missing evidence as needed.')
|
|
56
|
+
.replace(/do\s+\*{0,2}not\*{0,2}\s+(?:re-)?(?:grep|read|glob)(?:\/[^.;]+)?[^.;]*[.;]/gi, 'Avoid duplicate reads of unchanged ranges;');
|
|
57
|
+
}).join('\n');
|
|
58
|
+
}
|
|
59
|
+
/** Preserve complete lines at a shared output limit; never forge a full body. */
|
|
60
|
+
function trimEvidenceAtLine(text, limit) {
|
|
61
|
+
if (text.length <= limit)
|
|
62
|
+
return text;
|
|
63
|
+
const note = '\n[Partial source: shared output budget reached; omitted ranges remain available for a focused lookup.]';
|
|
64
|
+
const cut = text.slice(0, Math.max(0, limit - note.length - 5));
|
|
65
|
+
const boundary = cut.lastIndexOf('\n');
|
|
66
|
+
let kept = boundary >= 0 ? cut.slice(0, boundary) : '';
|
|
67
|
+
if ((kept.match(/^\s*```/gm)?.length ?? 0) % 2)
|
|
68
|
+
kept += '\n```';
|
|
69
|
+
return kept + note;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=evidence-rendering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-rendering.js","sourceRoot":"","sources":["../../src/mcp/evidence-rendering.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Session-level explore repeat / partial guidance (generic).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* retry anchors extracted from the query — never an empty 242-char shell.
|
|
8
|
-
*
|
|
9
|
-
* Failure fuse (post A/B): hard-cap explores per session, require tight
|
|
10
|
-
* single-Type follow-ups after 2 calls, and bind Partial → named Next anchor.
|
|
4
|
+
* Repeated evidence is deduplicated; lexical overlap alone cannot prove that a
|
|
5
|
+
* follow-up's evidence obligation is already covered. Incomplete retrieval gets
|
|
6
|
+
* one bounded recovery, including when the first response was short or SDK-only.
|
|
11
7
|
*
|
|
12
8
|
* Shape-driven only — no product nouns.
|
|
13
9
|
*/
|
|
@@ -65,10 +61,10 @@ export declare function latestCountedExplore(prior: ExploreProjectState | null |
|
|
|
65
61
|
* Whether `homegraph_node` / callers / callees should short-refuse after a
|
|
66
62
|
* Partial explore (same failure class as explore×N — depth fan-out).
|
|
67
63
|
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
64
|
+
* Any one focused depth tool may recover missing evidence. The shared budget
|
|
65
|
+
* prevents fan-out without declaring callers/callees intrinsically invalid.
|
|
70
66
|
*/
|
|
71
|
-
export declare function decideDepthToolFuse(prior: ExploreProjectState | null | undefined, depthCallCount: number,
|
|
67
|
+
export declare function decideDepthToolFuse(prior: ExploreProjectState | null | undefined, depthCallCount: number, _toolName?: string): DepthToolFuseDecision;
|
|
72
68
|
/** Success-shaped refuse when Partial already spent its one depth drill. */
|
|
73
69
|
export declare function formatDepthToolRefuse(decision: DepthToolFuseDecision, toolName: string, symbolHint?: string): string;
|
|
74
70
|
/** Candidate Type for Partial **Next anchor** / digest preference. */
|
|
@@ -92,12 +88,11 @@ export declare function pickBestDomainRoleAnchor(candidates: ReadonlyArray<Domai
|
|
|
92
88
|
/** Format Next anchor caption used in Partial / soft-close footers. */
|
|
93
89
|
export declare function formatNextAnchorCaption(c: DomainRoleAnchorCandidate): string;
|
|
94
90
|
/**
|
|
95
|
-
*
|
|
91
|
+
* Coarse retrieval banner: source reuse is separate from task completion.
|
|
96
92
|
*/
|
|
97
93
|
export declare function formatMechanismSoftCloseHeader(): string;
|
|
98
94
|
/**
|
|
99
|
-
*
|
|
100
|
-
* Must NOT contain "Partial locator" so the session fuse treats the call as closed.
|
|
95
|
+
* Coarse retrieval footer; never claims that an inventory completes the task.
|
|
101
96
|
*/
|
|
102
97
|
export declare function formatMechanismSoftCloseFooter(next?: DomainRoleAnchorCandidate): string;
|
|
103
98
|
/** Honest Partial footer with a single Next anchor + ONE Grep. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explore-repeat-guard.d.ts","sourceRoot":"","sources":["../../src/mcp/explore-repeat-guard.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"explore-repeat-guard.d.ts","sourceRoot":"","sources":["../../src/mcp/explore-repeat-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AActF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAa7D;AAED,iCAAiC;AACjC,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAMxF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAQ7F;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBpE;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,MAAM,EAAE,CAGtG;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAK7D;AAED,4DAA4D;AAC5D,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS1E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAS/F;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,oDAAoD;IACpD,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,IAAI,CAAC;CACvE;AAmBD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,EAC7C,KAAK,EAAE,MAAM,GACZ,qBAAqB,CAgCvB;AAED,4EAA4E;AAC5E,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,MAAM,GACZ,MAAM,CAgCR;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,IAAI,CAAC;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,iEAAiE;AACjE,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAC5C,iBAAiB,GAAG,SAAS,CAO/B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,EAC7C,cAAc,EAAE,MAAM,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,qBAAqB,CAYvB;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,qBAAqB,EAC/B,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAeR;AAED,sEAAsE;AACtE,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,yBAAyB,EACpC,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAC/B,MAAM,CAkDR;AAED,gFAAgF;AAChF,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,aAAa,CAAC,yBAAyB,CAAC,EACpD,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAC/B,yBAAyB,GAAG,SAAS,CAavC;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,yBAAyB,GAAG,MAAM,CAG5E;AAED;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,CAMvD;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,CAAC,EAAE,yBAAyB,GAAG,MAAM,CAUvF;AAED,kEAAkE;AAClE,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAOxE;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAYzE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAa/D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,CAyBT"}
|
|
@@ -2,13 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Session-level explore repeat / partial guidance (generic).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* retry anchors extracted from the query — never an empty 242-char shell.
|
|
9
|
-
*
|
|
10
|
-
* Failure fuse (post A/B): hard-cap explores per session, require tight
|
|
11
|
-
* single-Type follow-ups after 2 calls, and bind Partial → named Next anchor.
|
|
5
|
+
* Repeated evidence is deduplicated; lexical overlap alone cannot prove that a
|
|
6
|
+
* follow-up's evidence obligation is already covered. Incomplete retrieval gets
|
|
7
|
+
* one bounded recovery, including when the first response was short or SDK-only.
|
|
12
8
|
*
|
|
13
9
|
* Shape-driven only — no product nouns.
|
|
14
10
|
*/
|
|
@@ -36,6 +32,7 @@ exports.formatSecondPartialStopFooter = formatSecondPartialStopFooter;
|
|
|
36
32
|
exports.extractRetryIntentHints = extractRetryIntentHints;
|
|
37
33
|
exports.formatPartialExploreGuidance = formatPartialExploreGuidance;
|
|
38
34
|
const query_utils_1 = require("../search/query-utils");
|
|
35
|
+
const explore_session_state_1 = require("./explore-session-state");
|
|
39
36
|
/** Tokens that do not distinguish one explore bag from another. */
|
|
40
37
|
const STOP = new Set([
|
|
41
38
|
'the', 'a', 'an', 'and', 'or', 'of', 'to', 'in', 'on', 'for', 'with', 'from',
|
|
@@ -153,21 +150,17 @@ function extractNextAnchorFromText(text) {
|
|
|
153
150
|
return id?.slice(0, 120);
|
|
154
151
|
}
|
|
155
152
|
function inferExplorePartialMeta(text) {
|
|
156
|
-
//
|
|
157
|
-
//
|
|
158
|
-
const
|
|
159
|
-
.test(text);
|
|
160
|
-
const partial = /\*\*Partial locator\*\*|Partial locator|⚠️ \*\*Partial result\*\*|\*\*Partial result\*\*/i.test(text)
|
|
161
|
-
&& !closedAnswer;
|
|
153
|
+
// Compatibility for renderers without structured receipts. A positive
|
|
154
|
+
// completion slogan must never erase a separately reported coverage gap.
|
|
155
|
+
const partial = /\*\*Partial locator\*\*|Partial locator|⚠️ \*\*Partial result\*\*|\*\*Partial result\*\*/i.test(text);
|
|
162
156
|
return {
|
|
163
157
|
partial,
|
|
164
158
|
nextAnchor: partial ? extractNextAnchorFromText(text) : undefined,
|
|
165
159
|
};
|
|
166
160
|
}
|
|
167
|
-
const OVERLAP_THRESHOLD = 0.45;
|
|
168
161
|
/**
|
|
169
|
-
* Absolute
|
|
170
|
-
*
|
|
162
|
+
* Absolute retrieval budget per session/project. Empty receipts count as
|
|
163
|
+
* attempts too, so failed recovery cannot create an unbounded retry loop.
|
|
171
164
|
*/
|
|
172
165
|
const MAX_EXPLORES = 2;
|
|
173
166
|
/**
|
|
@@ -177,21 +170,7 @@ const MAX_EXPLORES = 2;
|
|
|
177
170
|
*/
|
|
178
171
|
const MAX_DEPTH_AFTER_PARTIAL = 1;
|
|
179
172
|
function isCountedCall(call) {
|
|
180
|
-
return (call.responseBytes || 0) >= 400;
|
|
181
|
-
}
|
|
182
|
-
/** Shared mechanism domain stems (theme/install/xml/…) between two queries. */
|
|
183
|
-
function domainStemOverlap(a, b) {
|
|
184
|
-
const sa = new Set((0, query_utils_1.mechanismDomainPathTokens)(a));
|
|
185
|
-
const sb = new Set((0, query_utils_1.mechanismDomainPathTokens)(b));
|
|
186
|
-
let shared = 0;
|
|
187
|
-
for (const t of sa) {
|
|
188
|
-
if (sb.has(t))
|
|
189
|
-
shared++;
|
|
190
|
-
}
|
|
191
|
-
return shared;
|
|
192
|
-
}
|
|
193
|
-
function hadClosedExplore(calls) {
|
|
194
|
-
return calls.some((c) => isCountedCall(c) && c.partial !== true);
|
|
173
|
+
return call.evidenceStatus !== undefined || (call.responseBytes || 0) >= 400;
|
|
195
174
|
}
|
|
196
175
|
/**
|
|
197
176
|
* Whether this explore should short-refuse instead of re-running.
|
|
@@ -199,59 +178,31 @@ function hadClosedExplore(calls) {
|
|
|
199
178
|
function decideExploreRepeat(prior, query) {
|
|
200
179
|
if (!prior || prior.calls.length === 0)
|
|
201
180
|
return { refuse: false, reason: 'ok' };
|
|
202
|
-
const qTokens = exploreQueryTokens(query);
|
|
203
181
|
const counted = prior.calls.filter(isCountedCall);
|
|
204
|
-
const novel = novelAnchorsVsPriors(query, prior.calls);
|
|
205
182
|
const last = counted[counted.length - 1];
|
|
206
|
-
//
|
|
207
|
-
if (counted.length >= MAX_EXPLORES) {
|
|
183
|
+
// Keep the lifetime budget even if bounded state has evicted early receipts.
|
|
184
|
+
if (Math.max(prior.callCount, counted.length) >= MAX_EXPLORES) {
|
|
208
185
|
return {
|
|
209
186
|
refuse: true,
|
|
210
187
|
matched: last,
|
|
211
188
|
reason: 'hard-cap',
|
|
212
189
|
};
|
|
213
190
|
}
|
|
214
|
-
//
|
|
215
|
-
if
|
|
216
|
-
|
|
217
|
-
if (!query.toLowerCase().includes(na)) {
|
|
218
|
-
return {
|
|
219
|
-
refuse: true,
|
|
220
|
-
matched: last,
|
|
221
|
-
reason: 'next-anchor',
|
|
222
|
-
};
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
// After a closed ANSWER explore, refuse NL paraphrase bags that share domain
|
|
226
|
-
// stems (theme/install/parse…) — stops D33-style explore×N token storms.
|
|
227
|
-
if (hadClosedExplore(counted) && !isTightExploreFollowUp(query)) {
|
|
228
|
-
for (const call of counted) {
|
|
229
|
-
if (call.partial === true)
|
|
230
|
-
continue;
|
|
231
|
-
const overlap = queryTokenOverlapScore(qTokens, exploreQueryTokens(call.query));
|
|
232
|
-
const domainShared = domainStemOverlap(query, call.query);
|
|
233
|
-
if (domainShared >= 2 || overlap >= 0.28) {
|
|
234
|
-
return { refuse: true, matched: call, reason: 'overlap' };
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
// Overlap with any prior counted explore — unless a tight novel Type/file bag
|
|
239
|
-
// (and, after Partial, only when Next anchor is already in the query above).
|
|
240
|
-
if (novel.length > 0 && isTightExploreFollowUp(query)) {
|
|
191
|
+
// Missing or SDK-only evidence is not a successfully answered query. Permit
|
|
192
|
+
// its single recovery even if the query overlaps or uses another next anchor.
|
|
193
|
+
if (last && (0, explore_session_state_1.inferExploreEvidenceStatus)(last) !== 'complete') {
|
|
241
194
|
return { refuse: false, reason: 'ok' };
|
|
242
195
|
}
|
|
243
|
-
|
|
244
|
-
let bestScore = 0;
|
|
196
|
+
const normalized = (s) => s.trim().toLowerCase().replace(/\s+/g, ' ');
|
|
245
197
|
for (const call of counted) {
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
198
|
+
if ((0, explore_session_state_1.inferExploreEvidenceStatus)(call) !== 'complete')
|
|
199
|
+
continue;
|
|
200
|
+
// Even the same token bag can reverse a relation ("A calls B" versus
|
|
201
|
+
// "B calls A"). Only an identical normalized request proves repetition.
|
|
202
|
+
if (normalized(query) === normalized(call.query)) {
|
|
203
|
+
return { refuse: true, matched: call, reason: 'overlap' };
|
|
250
204
|
}
|
|
251
205
|
}
|
|
252
|
-
if (best && bestScore >= OVERLAP_THRESHOLD) {
|
|
253
|
-
return { refuse: true, matched: best, reason: 'overlap' };
|
|
254
|
-
}
|
|
255
206
|
return { refuse: false, reason: 'ok' };
|
|
256
207
|
}
|
|
257
208
|
/** Short success-shaped refuse when a repeat explore would waste tokens. */
|
|
@@ -262,12 +213,12 @@ function formatExploreRepeatRefuse(decision, query) {
|
|
|
262
213
|
? `\nAlready covered files include: ${files.map((f) => `\`${f}\``).join(', ')}.`
|
|
263
214
|
: '';
|
|
264
215
|
const next = decision.matched?.nextAnchor
|
|
265
|
-
? `\
|
|
216
|
+
? `\nSuggested **Next anchor:** \`${decision.matched.nextAnchor}\`.`
|
|
266
217
|
: '';
|
|
267
218
|
let why;
|
|
268
219
|
switch (decision.reason) {
|
|
269
220
|
case 'hard-cap':
|
|
270
|
-
why = `This session
|
|
221
|
+
why = `This session reached its **${MAX_EXPLORES}** \`homegraph_explore\` retrieval attempts on this project, including incomplete attempts.`;
|
|
271
222
|
break;
|
|
272
223
|
case 'next-anchor':
|
|
273
224
|
why = `Prior explore was Partial and named a **Next anchor** — do not re-explore a paraphrase of "${priorQ}${priorQ.length >= 100 ? '…' : ''}".`;
|
|
@@ -276,14 +227,14 @@ function formatExploreRepeatRefuse(decision, query) {
|
|
|
276
227
|
why = `Explore call budget exhausted for this project in the session.`;
|
|
277
228
|
break;
|
|
278
229
|
default:
|
|
279
|
-
why = `This query
|
|
230
|
+
why = `This query repeats the same evidence request as "${priorQ}${priorQ.length >= 100 ? '…' : ''}".`;
|
|
280
231
|
}
|
|
281
232
|
return [
|
|
282
|
-
'**
|
|
233
|
+
'**Explore retrieval limit — reuse evidence already returned.**',
|
|
283
234
|
why + fileLine + next,
|
|
284
235
|
`Current query: "${query.trim().slice(0, 160)}${query.trim().length > 160 ? '…' : ''}"`,
|
|
285
|
-
'
|
|
286
|
-
'Do
|
|
236
|
+
'This limit does not mean the task or its evidence is complete. Inspect missing source with a targeted Read or narrow Grep, then continue the requested edits and validation.',
|
|
237
|
+
'Do not repeat the same explore or reread unchanged source already shown; keep any remaining inspection scoped to uncovered evidence.',
|
|
287
238
|
].join('\n');
|
|
288
239
|
}
|
|
289
240
|
/** Latest counted explore call (≥400 response bytes), if any. */
|
|
@@ -301,21 +252,14 @@ function latestCountedExplore(prior) {
|
|
|
301
252
|
* Whether `homegraph_node` / callers / callees should short-refuse after a
|
|
302
253
|
* Partial explore (same failure class as explore×N — depth fan-out).
|
|
303
254
|
*
|
|
304
|
-
*
|
|
305
|
-
*
|
|
255
|
+
* Any one focused depth tool may recover missing evidence. The shared budget
|
|
256
|
+
* prevents fan-out without declaring callers/callees intrinsically invalid.
|
|
306
257
|
*/
|
|
307
|
-
function decideDepthToolFuse(prior, depthCallCount,
|
|
258
|
+
function decideDepthToolFuse(prior, depthCallCount, _toolName) {
|
|
308
259
|
const last = latestCountedExplore(prior);
|
|
309
|
-
if (!last
|
|
260
|
+
if (!last || (0, explore_session_state_1.inferExploreEvidenceStatus)(last) === 'complete')
|
|
310
261
|
return { refuse: false, reason: 'ok' };
|
|
311
262
|
const nextAnchor = last.nextAnchor;
|
|
312
|
-
if (toolName === 'homegraph_callers' || toolName === 'homegraph_callees') {
|
|
313
|
-
return {
|
|
314
|
-
refuse: true,
|
|
315
|
-
reason: 'partial-no-callers',
|
|
316
|
-
nextAnchor,
|
|
317
|
-
};
|
|
318
|
-
}
|
|
319
263
|
if (depthCallCount >= MAX_DEPTH_AFTER_PARTIAL) {
|
|
320
264
|
return {
|
|
321
265
|
refuse: true,
|
|
@@ -328,20 +272,18 @@ function decideDepthToolFuse(prior, depthCallCount, toolName) {
|
|
|
328
272
|
/** Success-shaped refuse when Partial already spent its one depth drill. */
|
|
329
273
|
function formatDepthToolRefuse(decision, toolName, symbolHint) {
|
|
330
274
|
const next = decision.nextAnchor
|
|
331
|
-
? `\
|
|
275
|
+
? `\nSuggested **Next anchor:** \`${decision.nextAnchor}\`.`
|
|
332
276
|
: '';
|
|
333
277
|
const sym = symbolHint?.trim()
|
|
334
278
|
? `\nRequested: \`${symbolHint.trim().slice(0, 80)}\``
|
|
335
279
|
: '';
|
|
336
|
-
const why =
|
|
337
|
-
|
|
338
|
-
: `Prior \`homegraph_explore\` was a Partial locator; this session already used its **${MAX_DEPTH_AFTER_PARTIAL}** `
|
|
339
|
-
+ `allowed \`homegraph_node\` call on this project.`;
|
|
280
|
+
const why = `Prior retrieval was incomplete; this session already used its **${MAX_DEPTH_AFTER_PARTIAL}** `
|
|
281
|
+
+ `focused depth recovery call on this project (requested \`${toolName}\`).`;
|
|
340
282
|
return [
|
|
341
|
-
'**
|
|
283
|
+
'**Depth recovery budget reached — evidence may still be incomplete.**',
|
|
342
284
|
why + next + sym,
|
|
343
|
-
'
|
|
344
|
-
'
|
|
285
|
+
'Use a targeted Read or narrow Grep for the missing evidence, then continue the requested edits and validation.',
|
|
286
|
+
'Reuse source already shown and avoid repeating the same depth query.',
|
|
345
287
|
].join('\n');
|
|
346
288
|
}
|
|
347
289
|
/**
|
|
@@ -446,33 +388,31 @@ function formatNextAnchorCaption(c) {
|
|
|
446
388
|
return `\`${c.name}\` (${c.kind}) — \`${c.filePath.replace(/\\/g, '/')}:${line}\``;
|
|
447
389
|
}
|
|
448
390
|
/**
|
|
449
|
-
*
|
|
391
|
+
* Coarse retrieval banner: source reuse is separate from task completion.
|
|
450
392
|
*/
|
|
451
393
|
function formatMechanismSoftCloseHeader() {
|
|
452
|
-
return ('> **Coarse
|
|
453
|
-
+ '
|
|
454
|
-
+ '
|
|
394
|
+
return ('> **Coarse source evidence below.** '
|
|
395
|
+
+ 'Reuse the source shown for these symbols. '
|
|
396
|
+
+ 'Check relevance and uncovered wiring before continuing the requested edits or explanation.');
|
|
455
397
|
}
|
|
456
398
|
/**
|
|
457
|
-
*
|
|
458
|
-
* Must NOT contain "Partial locator" so the session fuse treats the call as closed.
|
|
399
|
+
* Coarse retrieval footer; never claims that an inventory completes the task.
|
|
459
400
|
*/
|
|
460
401
|
function formatMechanismSoftCloseFooter(next) {
|
|
461
402
|
const hint = next
|
|
462
403
|
? ` Primary Type: \`${next.name}\`.`
|
|
463
404
|
: '';
|
|
464
|
-
return ('> **Coarse
|
|
405
|
+
return ('> **Coarse source evidence returned.**'
|
|
465
406
|
+ hint
|
|
466
|
-
+ '
|
|
467
|
-
+ '
|
|
407
|
+
+ ' Retrieval is not task completion. Reuse the displayed source; inspect uncovered code '
|
|
408
|
+
+ 'with one focused follow-up or targeted Read/Grep, then continue authorized edits and checks.');
|
|
468
409
|
}
|
|
469
410
|
/** Honest Partial footer with a single Next anchor + ONE Grep. */
|
|
470
411
|
function formatMechanismPartialFooter(nextCaption) {
|
|
471
412
|
return ('> **Partial locator** — not a full mechanism closure. '
|
|
472
413
|
+ `**Next anchor:** ${nextCaption}. `
|
|
473
|
-
+ '
|
|
474
|
-
+ '
|
|
475
|
-
+ 'do **not** fan out `homegraph_node` / Read / glob, and do **not** ANSWER NOW from inventory alone.');
|
|
414
|
+
+ 'One focused recovery may use this anchor or a different uncovered part of the task. '
|
|
415
|
+
+ 'Use targeted Read/Grep if the evidence remains missing; an inventory alone does not establish behavior.');
|
|
476
416
|
}
|
|
477
417
|
/**
|
|
478
418
|
* Appended when a second counted Partial is emitted in the same session —
|
|
@@ -485,10 +425,10 @@ function formatSecondPartialStopFooter(nextAnchor) {
|
|
|
485
425
|
return [
|
|
486
426
|
'',
|
|
487
427
|
'---',
|
|
488
|
-
'> **Second Partial —
|
|
428
|
+
'> **Second Partial — explore retrieval budget reached.** Do not repeat `homegraph_explore`.'
|
|
489
429
|
+ next
|
|
490
|
-
+ '
|
|
491
|
-
+ '
|
|
430
|
+
+ ' Evidence remains incomplete. Inspect only missing source with targeted Read or narrow Grep, '
|
|
431
|
+
+ 'then continue the requested edits and validation. Reuse unchanged source already returned.',
|
|
492
432
|
].join('\n');
|
|
493
433
|
}
|
|
494
434
|
/**
|
|
@@ -531,10 +471,10 @@ function formatPartialExploreGuidance(opts) {
|
|
|
531
471
|
: 'If you retry, ONE tight \`homegraph_explore\` with a single Type / file / `@kit` name — not a broad paraphrase.';
|
|
532
472
|
return [
|
|
533
473
|
`⚠️ **Partial result** — ${why}. This is NOT an error.`,
|
|
534
|
-
'
|
|
474
|
+
'A targeted Read or **ONE narrow Grep** may recover missing evidence using names already in the question.',
|
|
535
475
|
anchorLine,
|
|
536
|
-
'At most **one** `homegraph_node`
|
|
537
|
-
'If a second explore still
|
|
476
|
+
'At most **one** focused `homegraph_node` or callers/callees recovery after Partial; reuse source already returned.',
|
|
477
|
+
'If a second explore is still Partial, its retrieval budget is exhausted. Inspect missing source directly and continue the requested work; do not infer task completion.',
|
|
538
478
|
].join('\n');
|
|
539
479
|
}
|
|
540
480
|
//# sourceMappingURL=explore-repeat-guard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explore-repeat-guard.js","sourceRoot":"","sources":["../../src/mcp/explore-repeat-guard.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAoBH,gDAaC;AAGD,8CAMC;AAOD,wDAQC;AAMD,oEAoBC;AAGD,oDAGC;AAMD,wDAKC;AAGD,8DASC;AAED,0DAaC;AA6CD,kDAiEC;AAGD,8DAmCC;AASD,oDASC;AASD,kDAuBC;AAGD,sDAqBC;AAkBD,0DAsDC;AAGD,4DAiBC;AAGD,0DAGC;AAKD,wEAMC;AAMD,wEAUC;AAGD,oEAQC;AAMD,sEAYC;AAMD,0DAaC;AAKD,oEA6BC;AA1iBD,uDAAkE;AAGlE,mEAAmE;AACnE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC;IACnB,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;IAC5E,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;IAC1E,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IACnE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACpD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;IACrD,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW;IACpE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS;IACrE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY;CACnD,CAAC,CAAC;AAEH;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACnB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iCAAiC;AACjC,SAAgB,iBAAiB,CAAC,CAAsB,EAAE,CAAsB;IAC9E,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,KAAK,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;IACtC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,CAAsB,EAAE,CAAsB;IACnF,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,KAAK,EAAE,CAAC;IACzC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,SAAgB,4BAA4B,CAAC,KAAa;IACxD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO;QAC5C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;IACpE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;IACrE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,wDAAwD,CAAC;QAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;IACrG,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;IAC1F,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnG,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,+CAA+C,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,gFAAgF;AAChF,SAAgB,oBAAoB,CAAC,KAAa,EAAE,MAAwC;IAC1F,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACtE,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACjG,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,KAAa;IAClD,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,4DAA4D;AAC5D,SAAgB,yBAAyB,CAAC,IAAY;IACpD,MAAM,CAAC,GACL,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC;WACjD,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,mEAAmE;IACnE,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,uBAAuB,CAAC,IAAY;IAClD,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,YAAY,GAChB,iJAAiJ;SAC9I,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,MAAM,OAAO,GACX,2FAA2F,CAAC,IAAI,CAAC,IAAI,CAAC;WACnG,CAAC,YAAY,CAAC;IACnB,OAAO;QACL,OAAO;QACP,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAClE,CAAC;AACJ,CAAC;AASD,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B;;;GAGG;AACH,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC,SAAS,aAAa,CAAC,IAAuB;IAC5C,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC;AAC1C,CAAC;AAED,+EAA+E;AAC/E,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC7C,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,IAAA,uCAAyB,EAAC,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,IAAA,uCAAyB,EAAC,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAuC;IAC/D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,KAA6C,EAC7C,KAAa;IAEb,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAE/E,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEzC,yFAAyF;IACzF,IAAI,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;QACnC,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC;IAED,yFAAyF;IACzF,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,aAAa;aACtB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,yEAAyE;IACzE,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;gBAAE,SAAS;YACpC,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,YAAY,IAAI,CAAC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACzC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,IAAmC,CAAC;IACxC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,IAAI,IAAI,SAAS,IAAI,iBAAiB,EAAE,CAAC;QAC3C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,4EAA4E;AAC5E,SAAgB,yBAAyB,CACvC,QAA+B,EAC/B,KAAa;IAEb,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,mBAAmB,CAAC;IACpF,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;QAC/B,CAAC,CAAC,oCAAoC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAChF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,UAAU;QACvC,CAAC,CAAC,iCAAiC,QAAQ,CAAC,OAAO,CAAC,UAAU,yCAAyC;QACvG,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,GAAW,CAAC;IAChB,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,UAAU;YACb,GAAG,GAAG,8BAA8B,YAAY,iEAAiE,CAAC;YAClH,MAAM;QACR,KAAK,aAAa;YAChB,GAAG,GAAG,8FAA8F,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YACjJ,MAAM;QACR,KAAK,aAAa;YAChB,GAAG,GAAG,gEAAgE,CAAC;YACvE,MAAM;QACR;YACE,GAAG,GAAG,+CAA+C,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IACvG,CAAC;IAED,OAAO;QACL,sDAAsD;QACtD,GAAG,GAAG,QAAQ,GAAG,IAAI;QACrB,mBAAmB,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;QACvF,uHAAuH;QACvH,+HAA+H;KAChI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAQD,iEAAiE;AACjE,SAAgB,oBAAoB,CAClC,KAA6C;IAE7C,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QAC1B,IAAI,aAAa,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,KAA6C,EAC7C,cAAsB,EACtB,QAAiB;IAEjB,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,IAAI,QAAQ,KAAK,mBAAmB,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;QACzE,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,oBAAoB;YAC5B,UAAU;SACX,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,IAAI,uBAAuB,EAAE,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,mBAAmB;YAC3B,UAAU;SACX,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACrD,CAAC;AAED,4EAA4E;AAC5E,SAAgB,qBAAqB,CACnC,QAA+B,EAC/B,QAAgB,EAChB,UAAmB;IAEnB,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU;QAC9B,CAAC,CAAC,iCAAiC,QAAQ,CAAC,UAAU,mFAAmF;QACzI,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,GAAG,GAAG,UAAU,EAAE,IAAI,EAAE;QAC5B,CAAC,CAAC,kBAAkB,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI;QACtD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,KAAK,oBAAoB;QAClD,CAAC,CAAC,yEAAyE,QAAQ,sCAAsC;QACzH,CAAC,CAAC,sFAAsF,uBAAuB,KAAK;cAChH,kDAAkD,CAAC;IACzD,OAAO;QACL,sDAAsD;QACtD,GAAG,GAAG,IAAI,GAAG,GAAG;QAChB,uHAAuH;QACvH,wGAAwG;KACzG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAUD;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CACrC,SAAoC,EACpC,KAAa,EACb,YAAgC;IAEhC,MAAM,MAAM,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QACrD,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,IAAA,uCAAyB,EAAC,KAAK,CAAC,CACnC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;aAClC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;aAClC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IACvC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IACxC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IACvC,IAAI,gEAAgE,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IAC5F,iFAAiF;IACjF,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QACtD,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QACjG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QACzE,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;IAC7F,CAAC;IACD,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QAC5E,IAAI,yDAAyD,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QACtF,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,2EAA2E;IAC3E,8EAA8E;IAC9E,IAAI,kDAAkD,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,IAAI,yDAAyD,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QACtF,IAAI,4CAA4C,CAAC,IAAI,CAAC,IAAI,CAAC;eACtD,8CAA8C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,KAAK,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IACD,4DAA4D;IAC5D,IAAI,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IACnE,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;QAAE,KAAK,IAAI,CAAC,CAAC;IAClF,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;QAAE,KAAK,IAAI,CAAC,CAAC;IAChF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAChF,SAAgB,wBAAwB,CACtC,UAAoD,EACpD,KAAa,EACb,YAAgC;IAEhC,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,IAA2C,CAAC;IAChD,IAAI,SAAS,GAAG,CAAC,QAAQ,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,EAAE,IAAI;YAAE,SAAS;QACvB,MAAM,CAAC,GAAG,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC;YAClB,SAAS,GAAG,CAAC,CAAC;YACd,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uEAAuE;AACvE,SAAgB,uBAAuB,CAAC,CAA4B;IAClE,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACxE,OAAO,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;AACrF,CAAC;AAED;;GAEG;AACH,SAAgB,8BAA8B;IAC5C,OAAO,CACL,6DAA6D;UAC3D,4CAA4C;UAC5C,gGAAgG,CACnG,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,8BAA8B,CAAC,IAAgC;IAC7E,MAAM,IAAI,GAAG,IAAI;QACf,CAAC,CAAC,oBAAoB,IAAI,CAAC,IAAI,KAAK;QACpC,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,CACL,4DAA4D;UAC1D,IAAI;UACJ,mEAAmE;UACnE,mFAAmF,CACtF,CAAC;AACJ,CAAC;AAED,kEAAkE;AAClE,SAAgB,4BAA4B,CAAC,WAAmB;IAC9D,OAAO,CACL,wDAAwD;UACtD,oBAAoB,WAAW,IAAI;UACnC,iEAAiE;UACjE,yDAAyD;UACzD,oGAAoG,CACvG,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,6BAA6B,CAAC,UAAmB;IAC/D,MAAM,IAAI,GAAG,UAAU;QACrB,CAAC,CAAC,8BAA8B,UAAU,KAAK;QAC/C,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,EAAE;QACF,KAAK;QACL,mFAAmF;cACjF,IAAI;cACJ,yGAAyG;cACzG,kCAAkC;KACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,KAAa;IACnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,qDAAqD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,iDAAiD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,yCAAyC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,4BAA4B,CAAC,IAI5C;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;WACf,mCAAmC,IAAI,6BAA6B,CAAC;IAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,SAAS,GAAG;QAChB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QACjC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;KAClC,CAAC;IACF,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;QACrC,CAAC,CAAC,6DAA6D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;cAClF,2CAA2C;cAC3C,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBACnB,CAAC,CAAC,uCAAuC;gBACzC,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,CAAC,iHAAiH,CAAC;IAEtH,OAAO;QACL,2BAA2B,GAAG,yBAAyB;QACvD,+HAA+H;QAC/H,UAAU;QACV,uIAAuI;QACvI,mGAAmG;KACpG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"explore-repeat-guard.js","sourceRoot":"","sources":["../../src/mcp/explore-repeat-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,8 @@ export interface ExploreFileEmission {
|
|
|
74
74
|
/** Set when ranges were dropped to stay under the per-file bound. */
|
|
75
75
|
rangesTruncated?: boolean;
|
|
76
76
|
}
|
|
77
|
+
/** Retrieval coverage only; even complete evidence does not complete a coding task. */
|
|
78
|
+
export type ExploreEvidenceStatus = 'complete' | 'partial' | 'empty' | 'sdk-only';
|
|
77
79
|
/** What one explore call emitted, as reported by the handler. */
|
|
78
80
|
export interface ExploreEmission {
|
|
79
81
|
/** Resolved project root — the key state is filed under. */
|
|
@@ -85,14 +87,30 @@ export interface ExploreEmission {
|
|
|
85
87
|
sourceBytes: number;
|
|
86
88
|
/** Total chars of the response the agent received. */
|
|
87
89
|
responseBytes: number;
|
|
90
|
+
/** Internal receipt: declarations actually shown, not all retrieval candidates.
|
|
91
|
+
* A located node is source-grounded, not proof of relevance to the user's task.
|
|
92
|
+
*/
|
|
93
|
+
locatedNodes?: Array<{
|
|
94
|
+
id: string;
|
|
95
|
+
name: string;
|
|
96
|
+
qualifiedName?: string;
|
|
97
|
+
filePath: string;
|
|
98
|
+
startLine: number;
|
|
99
|
+
}>;
|
|
100
|
+
/** Derived by the executor from emitted evidence, never from a completion banner. */
|
|
101
|
+
evidenceStatus?: ExploreEvidenceStatus;
|
|
102
|
+
/** Bounded descriptions of retrieval obligations with emitted supporting evidence. */
|
|
103
|
+
coveredObligations?: string[];
|
|
104
|
+
/** Requested retrieval obligations that the emitted evidence did not cover. */
|
|
105
|
+
uncoveredObligations?: string[];
|
|
88
106
|
/**
|
|
89
|
-
* True when
|
|
90
|
-
*
|
|
107
|
+
* True when some requested evidence is missing. Legacy renderers may supply
|
|
108
|
+
* this without evidenceStatus; a textual completion banner cannot clear it.
|
|
91
109
|
*/
|
|
92
110
|
partial?: boolean;
|
|
93
111
|
/**
|
|
94
|
-
*
|
|
95
|
-
*
|
|
112
|
+
* Suggested next Type / file. Advisory: a missing evidence obligation may
|
|
113
|
+
* require a different source, especially after an irrelevant first hit.
|
|
96
114
|
*/
|
|
97
115
|
nextAnchor?: string;
|
|
98
116
|
}
|
|
@@ -140,7 +158,11 @@ export declare const EXPLORE_SESSION_LIMITS: {
|
|
|
140
158
|
readonly MAX_RANGES_PER_FILE: 24;
|
|
141
159
|
/** Most-recent calls per project included in {@link ExploreSessionView}. */
|
|
142
160
|
readonly MAX_VIEW_CALLS: 4;
|
|
161
|
+
readonly MAX_LOCATED_NODES: 64;
|
|
162
|
+
readonly MAX_OBLIGATIONS: 12;
|
|
143
163
|
};
|
|
164
|
+
/** Conservative fallback for older renderers that have not supplied a receipt. */
|
|
165
|
+
export declare function inferExploreEvidenceStatus(emission: ExploreEmission): ExploreEvidenceStatus;
|
|
144
166
|
/**
|
|
145
167
|
* Key a project root is filed under. Resolved so `/repo` and `/repo/` agree;
|
|
146
168
|
* case-folded on the two platforms whose filesystems are case-insensitive, so a
|