@blxzer/cursor-trellis 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/migrations/manifests/0.1.1.json +9 -0
- package/dist/migrations/manifests/0.1.2.json +9 -0
- package/dist/templates/cursor/rules/retrieval-routing.mdc +9 -7
- package/dist/templates/markdown/spec/guides/cursor-context-injection-guide.md.txt +2 -1
- package/dist/templates/markdown/spec/guides/cursor-subagent-policy.md.txt +16 -3
- package/dist/templates/markdown/spec/guides/retrieval-daily-guide.md.txt +11 -6
- package/dist/templates/shared-hooks/inject-subagent-context.py +31 -567
- package/dist/templates/trellis/index.d.ts +2 -0
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +4 -0
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/scripts/common/codebase_retrieval_router.py +78 -29
- package/dist/templates/trellis/scripts/common/cursor_retrieval_env.py +92 -0
- package/dist/templates/trellis/scripts/common/retrieval_adapter_metadata.py +100 -9
- package/dist/templates/trellis/scripts/common/retrieval_agent_instructions.py +76 -31
- package/dist/templates/trellis/scripts/common/retrieval_tool_classification.py +18 -3
- package/dist/templates/trellis/scripts/common/semantic_plan_gate.py +19 -0
- package/dist/templates/trellis/scripts/common/smart_search_evidence.py +5 -2
- package/dist/templates/trellis/scripts/common/subagent_dispatch.py +527 -0
- package/dist/templates/trellis/scripts/common/task_store.py +32 -0
- package/dist/templates/trellis/scripts/cursor_retrieval_probe.py +396 -0
- package/dist/templates/trellis/scripts/cursor_retrieval_probe_prompt.md +300 -0
- package/dist/templates/trellis/scripts/retrieval_probe_matrix_template.json +126 -0
- package/dist/templates/trellis/scripts/task.py +26 -0
- package/dist/templates/trellis/workflow.md +5 -22
- package/dist/utils/codebase-retrieval-router.d.ts +5 -0
- package/dist/utils/codebase-retrieval-router.d.ts.map +1 -1
- package/dist/utils/codebase-retrieval-router.js +48 -28
- package/dist/utils/codebase-retrieval-router.js.map +1 -1
- package/dist/utils/cursor-retrieval-env.d.ts +28 -0
- package/dist/utils/cursor-retrieval-env.d.ts.map +1 -0
- package/dist/utils/cursor-retrieval-env.js +89 -0
- package/dist/utils/cursor-retrieval-env.js.map +1 -0
- package/dist/utils/project-capabilities.d.ts.map +1 -1
- package/dist/utils/project-capabilities.js +22 -15
- package/dist/utils/project-capabilities.js.map +1 -1
- package/dist/utils/retrieval-agent-instructions.d.ts.map +1 -1
- package/dist/utils/retrieval-agent-instructions.js +37 -21
- package/dist/utils/retrieval-agent-instructions.js.map +1 -1
- package/dist/utils/retrieval-tool-classification.d.ts +2 -0
- package/dist/utils/retrieval-tool-classification.d.ts.map +1 -1
- package/dist/utils/retrieval-tool-classification.js +10 -2
- package/dist/utils/retrieval-tool-classification.js.map +1 -1
- package/dist/utils/semantic-plan-gate.d.ts +8 -0
- package/dist/utils/semantic-plan-gate.d.ts.map +1 -0
- package/dist/utils/semantic-plan-gate.js +42 -0
- package/dist/utils/semantic-plan-gate.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
{
|
|
2
|
+
"matrix_version": 1,
|
|
3
|
+
"description": "Cursor retrieval capability matrix — Native vs Cursor++ BYOK. Fill in results from cursor_retrieval_probe.py (auto) and cursor_retrieval_probe_prompt.md (manual). One object per probe ID.",
|
|
4
|
+
"instructions": "Run the auto probe script in BOTH environments: (1) Cursor Native (ccursor off / byokMode=0), (2) Cursor++ BYOK (ccursor on / byokMode=1). Paste the auto_results entries into the matching native/byok slots. For manual probes, feed cursor_retrieval_probe_prompt.md to a live agent in each environment, then record results below.",
|
|
5
|
+
"probes": [
|
|
6
|
+
{
|
|
7
|
+
"id": "P-01",
|
|
8
|
+
"label": "Grep (rg) — local IDE literal search",
|
|
9
|
+
"nature": "local",
|
|
10
|
+
"expected_byok": "pass",
|
|
11
|
+
"native": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" },
|
|
12
|
+
"byok": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" }
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "P-02",
|
|
16
|
+
"label": "Read — local IDE file read + JSON parse",
|
|
17
|
+
"nature": "local",
|
|
18
|
+
"expected_byok": "pass",
|
|
19
|
+
"native": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" },
|
|
20
|
+
"byok": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" }
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "P-03",
|
|
24
|
+
"label": "codegraph MCP — codegraph_search (symbol lookup)",
|
|
25
|
+
"nature": "local-mcp",
|
|
26
|
+
"expected_byok": "pass",
|
|
27
|
+
"native": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" },
|
|
28
|
+
"byok": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" }
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "P-04",
|
|
32
|
+
"label": "codegraph MCP — codegraph_callers (caller chain)",
|
|
33
|
+
"nature": "local-mcp",
|
|
34
|
+
"expected_byok": "pass",
|
|
35
|
+
"native": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" },
|
|
36
|
+
"byok": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" }
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "P-05",
|
|
40
|
+
"label": "codegraph index — on-disk .codegraph/ presence",
|
|
41
|
+
"nature": "local",
|
|
42
|
+
"expected_byok": "pass",
|
|
43
|
+
"native": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" },
|
|
44
|
+
"byok": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" }
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "P-06",
|
|
48
|
+
"label": "fast-context MCP — semantic search",
|
|
49
|
+
"nature": "local-mcp",
|
|
50
|
+
"expected_byok": "pass",
|
|
51
|
+
"native": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" },
|
|
52
|
+
"byok": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" }
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "P-07",
|
|
56
|
+
"label": "smart-search CLI — resolve + doctor",
|
|
57
|
+
"nature": "local",
|
|
58
|
+
"expected_byok": "pass",
|
|
59
|
+
"native": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" },
|
|
60
|
+
"byok": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" }
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "D-01",
|
|
64
|
+
"label": "Experiment D — SemanticSearch drop (tool inventory + MCP readiness)",
|
|
65
|
+
"nature": "hybrid",
|
|
66
|
+
"expected_byok": "pass",
|
|
67
|
+
"native": { "status": "pass", "evidence": "manual 2026-06-23: builtin SemanticSearch; fast-context MCP optional (configured); auto D-01 pass; env native byokMode=0", "actual_tool": "SemanticSearch", "probed_at": "2026-06-23T12:38:33Z" },
|
|
68
|
+
"byok": { "status": "pass", "evidence": "manual 2026-06-23: builtin none; fast_context_search listed; auto D-01 pass; routes byokMode=1; codegraph+fast-context in mcp.json", "actual_tool": "fast_context_search", "probed_at": "2026-06-23T12:37:39Z" }
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "P-08",
|
|
72
|
+
"label": "@codebase semantic search (Cursor built-in)",
|
|
73
|
+
"nature": "cloud",
|
|
74
|
+
"expected_byok": "fail",
|
|
75
|
+
"native": { "status": "pass", "evidence": "manual session A 2026-06-23: SemanticSearch 25 hits; patch_wpelc8.py + policy/reverse-engineering guides; matched_expected yes; no Grep/MCP fallback", "actual_tool": "SemanticSearch", "probed_at": "2026-06-23" },
|
|
76
|
+
"byok": { "status": "fail", "evidence": "manual session C 2026-06-23: tool_invoked none; no @codebase/SemanticSearch in tool table; matched_expected no (by design); aligns D-01 builtin none", "actual_tool": "none", "probed_at": "2026-06-23" }
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "P-09",
|
|
80
|
+
"label": "DEEP_SEARCH / wide cross-cutting semantic explore",
|
|
81
|
+
"nature": "cloud",
|
|
82
|
+
"expected_byok": "degraded",
|
|
83
|
+
"native": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" },
|
|
84
|
+
"byok": { "status": "degraded", "evidence": "Task explore subagent acceptable; not DEEP_SEARCH", "actual_tool": "Task", "probed_at": "2026-06-23" }
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "P-10",
|
|
88
|
+
"label": "Definition / reference via codegraph (LSP not in Agent tool table)",
|
|
89
|
+
"nature": "local-mcp",
|
|
90
|
+
"expected_byok": "pass",
|
|
91
|
+
"native": { "status": "pass", "evidence": "codegraph_search + node; def route_codebase_retrieval L791; GO_TO_DEFINITION none", "actual_tool": "codegraph_search", "probed_at": "2026-06-23" },
|
|
92
|
+
"byok": { "status": "pass", "evidence": "codegraph_node at def route_codebase_retrieval; GO_TO_DEFINITION none", "actual_tool": "codegraph_node", "probed_at": "2026-06-23" }
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "P-08-SA",
|
|
96
|
+
"label": "Concept probe — fast-context only",
|
|
97
|
+
"nature": "local-mcp",
|
|
98
|
+
"expected_byok": "pass",
|
|
99
|
+
"native": { "status": "pass", "evidence": "manual session B 2026-06-23: Top patch_wpelc8.py + cursor-subagent-policy.md; 10 paths; optional control (Native Primary remains SemanticSearch)", "actual_tool": "fast_context_search", "probed_at": "2026-06-23" },
|
|
100
|
+
"byok": { "status": "pass", "evidence": "manual session D 2026-06-23: #1 patch_wpelc8.py #3 cursor-subagent-policy.md; 10 paths; BYOK Primary path", "actual_tool": "fast_context_search", "probed_at": "2026-06-23" }
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"id": "P-08-SB",
|
|
104
|
+
"label": "Concept probe — codegraph_explore only",
|
|
105
|
+
"nature": "local-mcp",
|
|
106
|
+
"expected_byok": "degraded",
|
|
107
|
+
"native": { "status": null, "evidence": "", "actual_tool": "", "probed_at": "" },
|
|
108
|
+
"byok": { "status": "degraded", "evidence": "Wrong semantic hits; not Primary for concept on BYOK", "actual_tool": "codegraph_explore", "probed_at": "2026-06-23" }
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"env_detection": {
|
|
112
|
+
"native": { "byokMode": 0, "ccursor_running": false, "notes": "" },
|
|
113
|
+
"byok": { "byokMode": 1, "ccursor_running": true, "notes": "" }
|
|
114
|
+
},
|
|
115
|
+
"verdict": {
|
|
116
|
+
"summary": "D-01: BYOK inventory + MCP readiness; Native builtin semantic. Native P-08 pass (SemanticSearch). BYOK P-08 fail → fast-context Primary (P-08-SA). P-09 degraded → Task explore. Definition: codegraph (P-10).",
|
|
117
|
+
"degraded_capabilities": ["P-08", "P-09"],
|
|
118
|
+
"probed_at": "2026-06-23",
|
|
119
|
+
"probe_evidence_files": [
|
|
120
|
+
".trellis/tasks/06-23-06-23-cursor-retrieval-byok-lsp-fastcontext/research/01-byok-retrieval-role-matrix.md",
|
|
121
|
+
".trellis/tasks/06-23-06-23-cursor-retrieval-byok-lsp-fastcontext/research/02-lsp-via-codegraph-decision.md",
|
|
122
|
+
".trellis/tasks/06-23-06-23-cursor-retrieval-byok-lsp-fastcontext/research/04-semantic-search-target-directories.md",
|
|
123
|
+
".trellis/tasks/06-23-experiment-d-byok-semanticsearch-drop/research/01-semanticsearch-drop-byok.md"
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -28,6 +28,7 @@ Usage:
|
|
|
28
28
|
python task.py set-child-state <parent-dir> <child-dir> <state> --evidence <ref>
|
|
29
29
|
python task.py integrate-child <parent-dir> <child-dir> <state> --evidence <ref>
|
|
30
30
|
python task.py generate-child-prompt <parent-dir> <child-dir> [--mode inline|subagent]
|
|
31
|
+
python task.py generate-dispatch-prompt <task-dir> <role> [--scope TEXT] [--finish] [--max-chars N]
|
|
31
32
|
python task.py parent-status <parent-dir>
|
|
32
33
|
python task.py review-child <parent-dir> <child-dir> [--check] [--decision accept|changes|cancel|integrate-through]
|
|
33
34
|
"""
|
|
@@ -90,6 +91,7 @@ from common.task_store import (
|
|
|
90
91
|
cmd_set_child_state,
|
|
91
92
|
cmd_integrate_child,
|
|
92
93
|
cmd_generate_child_prompt,
|
|
94
|
+
cmd_generate_dispatch_prompt,
|
|
93
95
|
cmd_parent_status,
|
|
94
96
|
cmd_review_child,
|
|
95
97
|
)
|
|
@@ -750,6 +752,29 @@ def main() -> int:
|
|
|
750
752
|
p_integrate_child.add_argument("--execute-merge", action="store_true", help="Execute git merge --no-ff --no-commit for an integrated Child")
|
|
751
753
|
p_integrate_child.add_argument("--check", action="store_true", help="Run non-mutating integration readiness check")
|
|
752
754
|
|
|
755
|
+
# generate-dispatch-prompt
|
|
756
|
+
p_dispatch_prompt = subparsers.add_parser(
|
|
757
|
+
"generate-dispatch-prompt",
|
|
758
|
+
help="Build full Task dispatch prompt (Agent-facing)",
|
|
759
|
+
)
|
|
760
|
+
p_dispatch_prompt.add_argument("task_dir", help="Task directory")
|
|
761
|
+
p_dispatch_prompt.add_argument(
|
|
762
|
+
"role",
|
|
763
|
+
choices=["implement", "check", "research"],
|
|
764
|
+
help="Subagent role",
|
|
765
|
+
)
|
|
766
|
+
p_dispatch_prompt.add_argument("--scope", help="One-line task instruction for subagent")
|
|
767
|
+
p_dispatch_prompt.add_argument(
|
|
768
|
+
"--finish",
|
|
769
|
+
action="store_true",
|
|
770
|
+
help="Use finish check context (role=check only)",
|
|
771
|
+
)
|
|
772
|
+
p_dispatch_prompt.add_argument(
|
|
773
|
+
"--max-chars",
|
|
774
|
+
type=int,
|
|
775
|
+
help="Hard truncate embedded context block",
|
|
776
|
+
)
|
|
777
|
+
|
|
753
778
|
# generate-child-prompt
|
|
754
779
|
p_gen_prompt = subparsers.add_parser(
|
|
755
780
|
"generate-child-prompt",
|
|
@@ -834,6 +859,7 @@ def main() -> int:
|
|
|
834
859
|
"set-child-state": cmd_set_child_state,
|
|
835
860
|
"integrate-child": cmd_integrate_child,
|
|
836
861
|
"generate-child-prompt": cmd_generate_child_prompt,
|
|
862
|
+
"generate-dispatch-prompt": cmd_generate_dispatch_prompt,
|
|
837
863
|
"parent-status": cmd_parent_status,
|
|
838
864
|
"review-child": cmd_review_child,
|
|
839
865
|
"list": cmd_list,
|
|
@@ -580,38 +580,21 @@ Use retrieval layers before and during implementation when context is incomplete
|
|
|
580
580
|
- Record exploratory chains in `{TASK_DIR}/research/` and final source/Git/test proof in `verify.md`.
|
|
581
581
|
|
|
582
582
|
|
|
583
|
-
Spawn the implement sub-agent:
|
|
583
|
+
Spawn the implement sub-agent (Full / Parent — Cursor):
|
|
584
584
|
|
|
585
585
|
- **Agent type**: `trellis-implement`
|
|
586
|
-
- **
|
|
586
|
+
- **Orchestrator contract**: After `start-execution --approved`, the main session assembles the full dispatch prompt via Trellis scripts (CLI Layer 2), then calls `Task(subagent_type=trellis-implement, prompt=<assembled>)`. Do **not** rely on the preToolUse hook alone for context on Cursor — see `cursor-context-injection-guide.md`.
|
|
587
587
|
- **Dispatch prompt guard**: Tell the spawned agent it is already the `trellis-implement` sub-agent and must implement directly, not spawn another `trellis-implement` / `trellis-check`.
|
|
588
588
|
|
|
589
|
-
|
|
590
|
-
- Reads `implement.jsonl` and injects referenced spec/research files into the agent prompt
|
|
591
|
-
- Injects `prd.md`, `design.md` if present, and `implement.md` if present
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
Spawn the implement sub-agent:
|
|
597
|
-
|
|
598
|
-
- **Agent type**: `trellis-implement`
|
|
599
|
-
- **Task description**: Implement the reviewed task artifacts, consulting materials under `{TASK_DIR}/research/`; finish by running project lint and type-check
|
|
600
|
-
- **Dispatch prompt guard**: Tell the spawned agent it is already the `trellis-implement` sub-agent and must implement directly, not spawn another `trellis-implement` / `trellis-check`.
|
|
601
|
-
|
|
602
|
-
The platform prelude auto-handles the context load requirement:
|
|
603
|
-
- Reads `implement.jsonl` and injects referenced spec/research files into the agent prompt
|
|
604
|
-
- Injects `prd.md`, `design.md` if present, and `implement.md` if present
|
|
605
|
-
|
|
606
|
-
|
|
589
|
+
Context embedded in the dispatch prompt includes `implement.jsonl` references, `prd.md`, `design.md` if present, and `implement.md` if present.
|
|
607
590
|
|
|
608
591
|
#### 2.2 Quality check `[required · repeatable]`
|
|
609
592
|
|
|
610
593
|
|
|
611
|
-
Spawn the check sub-agent:
|
|
594
|
+
Spawn the check sub-agent (Full / Parent — Cursor):
|
|
612
595
|
|
|
613
596
|
- **Agent type**: `trellis-check`
|
|
614
|
-
- **
|
|
597
|
+
- **Orchestrator contract**: Assemble the full dispatch prompt via Trellis scripts (CLI Layer 2) before `Task(subagent_type=trellis-check, prompt=<assembled>)`. Hook-only injection is best-effort on Cursor.
|
|
615
598
|
- **Dispatch prompt guard**: Tell the spawned agent it is already the `trellis-check` sub-agent and must review/fix only inside the approved contract, not spawn another `trellis-check` / `trellis-implement`.
|
|
616
599
|
|
|
617
600
|
The check agent's job:
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* in project-capabilities.ts. Produces the parent shared evidence envelope
|
|
6
6
|
* (router-owned fields only; adapterState/freshness are pass-through stubs).
|
|
7
7
|
*/
|
|
8
|
+
import { type CursorRetrievalEnv } from "./cursor-retrieval-env.js";
|
|
8
9
|
export declare const CODEBASE_RETRIEVAL_ROUTER_VERSION: 2;
|
|
9
10
|
export declare const MODALITY_LEXICAL: "lexical";
|
|
10
11
|
export declare const MODALITY_STRUCTURAL: "structural";
|
|
@@ -32,6 +33,7 @@ export interface CodebaseRetrievalRoute {
|
|
|
32
33
|
intentIds: CodebaseRetrievalIntentId[];
|
|
33
34
|
tokenEconomy?: "high" | "medium" | "low";
|
|
34
35
|
platformNative?: boolean;
|
|
36
|
+
semanticBackend?: "fast-context-mcp" | "cursor-builtin";
|
|
35
37
|
}
|
|
36
38
|
export interface CodebaseRetrievalFallbackHint {
|
|
37
39
|
when: string;
|
|
@@ -55,12 +57,15 @@ export interface CodebaseRetrievalPlanEnvelope {
|
|
|
55
57
|
warnings: string[];
|
|
56
58
|
verification: CodebaseRetrievalVerificationStep[];
|
|
57
59
|
projectFileCount: number | null;
|
|
60
|
+
cursorEnv?: CursorRetrievalEnv;
|
|
58
61
|
}
|
|
59
62
|
export interface RouteCodebaseRetrievalInput {
|
|
60
63
|
query: string;
|
|
61
64
|
/** When false, optional adapter routes are omitted from the ordered plan. */
|
|
62
65
|
codebaseRetrievalSelected?: boolean;
|
|
63
66
|
projectFileCount?: number | null;
|
|
67
|
+
/** `native` | `byok` | `unknown`; defaults to detectCursorRetrievalEnv(). */
|
|
68
|
+
cursorEnv?: CursorRetrievalEnv;
|
|
64
69
|
}
|
|
65
70
|
export declare function emptyCodebaseRetrievalPlan(query?: string, projectFileCount?: number | null): CodebaseRetrievalPlanEnvelope;
|
|
66
71
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codebase-retrieval-router.d.ts","sourceRoot":"","sources":["../../src/utils/codebase-retrieval-router.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,iCAAiC,EAAG,CAAU,CAAC;AAE5D,eAAO,MAAM,gBAAgB,EAAG,SAAkB,CAAC;AACnD,eAAO,MAAM,mBAAmB,EAAG,YAAqB,CAAC;AACzD,eAAO,MAAM,iBAAiB,EAAG,UAAmB,CAAC;AAErD,eAAO,MAAM,kBAAkB,EAAG,MAAe,CAAC;AAClD,eAAO,MAAM,oBAAoB,EAAG,QAAiB,CAAC;AACtD,eAAO,MAAM,iBAAiB,EAAG,KAAc,CAAC;AAEhD,MAAM,MAAM,yBAAyB,GACjC,mBAAmB,GACnB,iBAAiB,GACjB,cAAc,GACd,6BAA6B,GAC7B,yBAAyB,GACzB,oBAAoB,GACpB,4BAA4B,GAC5B,yBAAyB,CAAC;AAE9B,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACP,KAAK,GACL,KAAK,GACL,UAAU,GACV,cAAc,CAAC;AAEnB,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,yBAAyB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qFAAqF;IACrF,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,oBAAoB,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,yBAAyB,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"codebase-retrieval-router.d.ts","sourceRoot":"","sources":["../../src/utils/codebase-retrieval-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* in project-capabilities.ts. Produces the parent shared evidence envelope
|
|
6
6
|
* (router-owned fields only; adapterState/freshness are pass-through stubs).
|
|
7
7
|
*/
|
|
8
|
+
import { ENV_BYOK, detectCursorRetrievalEnv, semanticRouteSpec, } from "./cursor-retrieval-env.js";
|
|
8
9
|
export const CODEBASE_RETRIEVAL_ROUTER_VERSION = 2;
|
|
9
10
|
export const MODALITY_LEXICAL = "lexical";
|
|
10
11
|
export const MODALITY_STRUCTURAL = "structural";
|
|
@@ -250,7 +251,19 @@ function largeProject(projectFileCount) {
|
|
|
250
251
|
return false;
|
|
251
252
|
return projectFileCount > 2000;
|
|
252
253
|
}
|
|
253
|
-
function
|
|
254
|
+
function platformSemanticRoute(baseRationale, cursorEnv) {
|
|
255
|
+
const spec = semanticRouteSpec(cursorEnv);
|
|
256
|
+
return {
|
|
257
|
+
id: "platform-semantic",
|
|
258
|
+
role: "semantic",
|
|
259
|
+
sourceFamily: "platform-semantic",
|
|
260
|
+
commands: spec.commands,
|
|
261
|
+
rationale: baseRationale + spec.rationaleSuffix,
|
|
262
|
+
platformNative: spec.platformNative,
|
|
263
|
+
semanticBackend: spec.semanticBackend,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
function orderedRoutesForIntents(intents, includeOptionalAdapters, projectFileCount = null, cursorEnv = detectCursorRetrievalEnv()) {
|
|
254
267
|
const ids = new Set(intents.map((item) => item.id));
|
|
255
268
|
const preserve = ids.has("protocol-platform-preserve");
|
|
256
269
|
const policy = ids.has("policy-document");
|
|
@@ -340,14 +353,7 @@ function orderedRoutesForIntents(intents, includeOptionalAdapters, projectFileCo
|
|
|
340
353
|
const semanticRationale = policy
|
|
341
354
|
? "Policy plus conceptual intent: semantic recall after policy docs, before exact rg follow-up."
|
|
342
355
|
: "Conceptual query without exact signals; semantic recall before exact rg narrowing.";
|
|
343
|
-
append(
|
|
344
|
-
id: "platform-semantic",
|
|
345
|
-
role: "semantic",
|
|
346
|
-
sourceFamily: "platform-semantic",
|
|
347
|
-
commands: ["cursor @codebase or built-in semantic search"],
|
|
348
|
-
rationale: semanticRationale + " (Cursor built-in semantic search)",
|
|
349
|
-
platformNative: true,
|
|
350
|
-
});
|
|
356
|
+
append(platformSemanticRoute(semanticRationale, cursorEnv));
|
|
351
357
|
semanticPromoted = true;
|
|
352
358
|
append({
|
|
353
359
|
id: "exact-rg-primary",
|
|
@@ -432,21 +438,18 @@ function orderedRoutesForIntents(intents, includeOptionalAdapters, projectFileCo
|
|
|
432
438
|
}
|
|
433
439
|
append({
|
|
434
440
|
id: "lsp-navigation",
|
|
435
|
-
role: "
|
|
436
|
-
sourceFamily: "
|
|
437
|
-
commands: [
|
|
438
|
-
|
|
439
|
-
|
|
441
|
+
role: "ast",
|
|
442
|
+
sourceFamily: "codegraph",
|
|
443
|
+
commands: [
|
|
444
|
+
"codegraph_node <symbol> --includeCode",
|
|
445
|
+
"codegraph_search <symbol>",
|
|
446
|
+
],
|
|
447
|
+
rationale: "Definition/reference via codegraph (Cursor Agent does not expose " +
|
|
448
|
+
"GO_TO_DEFINITION); corroborate with Read on returned line ranges.",
|
|
449
|
+
platformNative: false,
|
|
440
450
|
});
|
|
441
451
|
if (!semanticPromoted) {
|
|
442
|
-
append(
|
|
443
|
-
id: "platform-semantic",
|
|
444
|
-
role: "semantic",
|
|
445
|
-
sourceFamily: "platform-semantic",
|
|
446
|
-
commands: ["cursor @codebase or built-in semantic search"],
|
|
447
|
-
rationale: "Semantic recall via Cursor built-in codebase search.",
|
|
448
|
-
platformNative: true,
|
|
449
|
-
});
|
|
452
|
+
append(platformSemanticRoute("Semantic recall for conceptual narrowing.", cursorEnv));
|
|
450
453
|
}
|
|
451
454
|
}
|
|
452
455
|
append({
|
|
@@ -514,7 +517,7 @@ function classifyIntents(query) {
|
|
|
514
517
|
return true;
|
|
515
518
|
});
|
|
516
519
|
}
|
|
517
|
-
function buildFallbackHints(intents, includeOptionalAdapters, routes) {
|
|
520
|
+
function buildFallbackHints(intents, includeOptionalAdapters, routes, cursorEnv = detectCursorRetrievalEnv()) {
|
|
518
521
|
const hints = [
|
|
519
522
|
{
|
|
520
523
|
when: "rg missing on PATH",
|
|
@@ -528,6 +531,19 @@ function buildFallbackHints(intents, includeOptionalAdapters, routes) {
|
|
|
528
531
|
replacesRole: "semantic",
|
|
529
532
|
});
|
|
530
533
|
}
|
|
534
|
+
if (cursorEnv === ENV_BYOK) {
|
|
535
|
+
hints.push({
|
|
536
|
+
when: "built-in @codebase / SemanticSearch not in agent tool list",
|
|
537
|
+
action: "Use fast_context_search (fast-context MCP) per platform-semantic route; " +
|
|
538
|
+
"do not use WebSearch for codebase questions.",
|
|
539
|
+
replacesRole: "semantic",
|
|
540
|
+
});
|
|
541
|
+
hints.push({
|
|
542
|
+
when: "DEEP_SEARCH not available for wide cross-cutting explore",
|
|
543
|
+
action: "Use Task subagent (explore), then Grep/codegraph/Read to verify.",
|
|
544
|
+
replacesRole: "semantic",
|
|
545
|
+
});
|
|
546
|
+
}
|
|
531
547
|
if (intents.some((i) => i.id === "policy-document")) {
|
|
532
548
|
hints.push({
|
|
533
549
|
when: "semantic Top-1 is implementation-only for policy query",
|
|
@@ -543,7 +559,8 @@ function buildFallbackHints(intents, includeOptionalAdapters, routes) {
|
|
|
543
559
|
(hasConceptual || semanticRoute.order >= 3 || exactPrimary)) {
|
|
544
560
|
hints.push({
|
|
545
561
|
when: "exact rg returns no corroborated file/range candidates (or only trap hits) before final Top-1",
|
|
546
|
-
action: "Use
|
|
562
|
+
action: "Use fast_context_search (BYOK) or Cursor built-in semantic search (Native) " +
|
|
563
|
+
"per platform-semantic route, then narrow with rg on returned keywords and paths.",
|
|
547
564
|
replacesRole: "semantic",
|
|
548
565
|
});
|
|
549
566
|
}
|
|
@@ -592,32 +609,35 @@ export function routeCodebaseRetrieval(input) {
|
|
|
592
609
|
const query = normalizeQuery(input.query);
|
|
593
610
|
const includeOptionalAdapters = input.codebaseRetrievalSelected !== false;
|
|
594
611
|
const projectFileCount = input.projectFileCount ?? null;
|
|
612
|
+
const cursorEnv = input.cursorEnv ?? detectCursorRetrievalEnv();
|
|
595
613
|
if (!query) {
|
|
596
614
|
const emptyIntent = buildIntent("exact-symbol-path", "General codebase (exact baseline)", ["empty-query"], "low", true);
|
|
597
|
-
const emptyRoutes = orderedRoutesForIntents([emptyIntent], includeOptionalAdapters, projectFileCount);
|
|
615
|
+
const emptyRoutes = orderedRoutesForIntents([emptyIntent], includeOptionalAdapters, projectFileCount, cursorEnv);
|
|
598
616
|
return {
|
|
599
617
|
version: CODEBASE_RETRIEVAL_ROUTER_VERSION,
|
|
600
618
|
query,
|
|
619
|
+
cursorEnv,
|
|
601
620
|
intents: [emptyIntent],
|
|
602
621
|
routes: emptyRoutes,
|
|
603
622
|
adapterState: [],
|
|
604
623
|
freshness: [],
|
|
605
|
-
fallback: buildFallbackHints([emptyIntent], includeOptionalAdapters, emptyRoutes),
|
|
624
|
+
fallback: buildFallbackHints([emptyIntent], includeOptionalAdapters, emptyRoutes, cursorEnv),
|
|
606
625
|
warnings: ["Empty query; only baseline exact route is emitted."],
|
|
607
626
|
verification: baseVerification(),
|
|
608
627
|
projectFileCount,
|
|
609
628
|
};
|
|
610
629
|
}
|
|
611
630
|
const intents = classifyIntents(query);
|
|
612
|
-
const routes = orderedRoutesForIntents(intents, includeOptionalAdapters, projectFileCount);
|
|
631
|
+
const routes = orderedRoutesForIntents(intents, includeOptionalAdapters, projectFileCount, cursorEnv);
|
|
613
632
|
return {
|
|
614
633
|
version: CODEBASE_RETRIEVAL_ROUTER_VERSION,
|
|
615
634
|
query,
|
|
635
|
+
cursorEnv,
|
|
616
636
|
intents,
|
|
617
637
|
routes,
|
|
618
638
|
adapterState: [],
|
|
619
639
|
freshness: [],
|
|
620
|
-
fallback: buildFallbackHints(intents, includeOptionalAdapters, routes),
|
|
640
|
+
fallback: buildFallbackHints(intents, includeOptionalAdapters, routes, cursorEnv),
|
|
621
641
|
warnings: buildWarnings(intents),
|
|
622
642
|
verification: verificationForIntents(intents),
|
|
623
643
|
projectFileCount,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codebase-retrieval-router.js","sourceRoot":"","sources":["../../src/utils/codebase-retrieval-router.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAU,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAqB,CAAC;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAe,CAAC;AAClD,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAiB,CAAC;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAc,CAAC;AAyEhD,MAAM,UAAU,0BAA0B,CACxC,KAAK,GAAG,EAAE,EACV,mBAAkC,IAAI;IAEtC,OAAO;QACL,OAAO,EAAE,iCAAiC;QAC1C,KAAK;QACL,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,EAAE;QAChB,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAsB;IACxC,uBAAuB;IACvB,cAAc;IACd,oBAAoB;IACpB,kBAAkB;IAClB,qBAAqB;IACrB,wBAAwB;IACxB,mBAAmB;IACnB,qBAAqB;IACrB,gBAAgB;IAChB,cAAc;IACd,iCAAiC;IACjC,iBAAiB;IACjB,mCAAmC;IACnC,+BAA+B;IAC/B,yCAAyC;IACzC,mBAAmB;IACnB,qBAAqB;IACrB,sBAAsB;IACtB,iBAAiB;IACjB,mBAAmB;IACnB,yBAAyB;IACzB,oBAAoB;IACpB,sBAAsB;IACtB,wBAAwB;IACxB,yBAAyB;IACzB,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,iBAAiB;IACjB,aAAa;IACb,gBAAgB;IAChB,2BAA2B;IAC3B,IAAI;IACJ,IAAI;CACL,CAAC;AAEF,MAAM,kBAAkB,GAAsB;IAC5C,iBAAiB;IACjB,kCAAkC;IAClC,4CAA4C;IAC5C,2BAA2B;IAC3B,uBAAuB;IACvB,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,KAAK;IACL,IAAI;IACJ,IAAI;CACL,CAAC;AAEF,MAAM,gBAAgB,GAAsB;IAC1C,0BAA0B;IAC1B,uBAAuB;IACvB,iCAAiC;IACjC,YAAY;IACZ,SAAS;IACT,aAAa;IACb,eAAe;IACf,0BAA0B;CAC3B,CAAC;AAEF,MAAM,oBAAoB,GAAsB;IAC9C,kBAAkB;IAClB,gCAAgC;IAChC,oBAAoB;IACpB,iBAAiB;IACjB,YAAY;IACZ,qBAAqB;IACrB,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;CACP,CAAC;AAEF,MAAM,YAAY,GAAsB;IACtC,2BAA2B;IAC3B,kBAAkB;IAClB,WAAW;IACX,0BAA0B;IAC1B,YAAY;IACZ,cAAc;IACd,qBAAqB;CACtB,CAAC;AAEF,MAAM,iBAAiB,GAAsB;IAC3C,mBAAmB;IACnB,qBAAqB;IACrB,sBAAsB;IACtB,0BAA0B;CAC3B,CAAC;AAEF,MAAM,mBAAmB,GAAsB;IAC7C,yBAAyB;IACzB,UAAU;IACV,mBAAmB;IACnB,cAAc;IACd,6BAA6B;IAC7B,uBAAuB;CACxB,CAAC;AAEF,MAAM,oBAAoB,GAAsB;IAC9C,6CAA6C;IAC7C,6CAA6C;IAC7C,SAAS;IACT,kEAAkE;IAClE,0CAA0C;CAC3C,CAAC;AAEF,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,QAAQ,CAAC,QAA2B,EAAE,IAAY;IACzD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAgB,EAChB,MAAe;IAEf,IAAI,MAAM,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3C,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IACnC,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAClB,EAA6B,EAC7B,KAAa,EACb,OAAiB,EACjB,UAAqC,EACrC,oBAA6B;IAE7B,OAAO;QACL,EAAE;QACF,KAAK;QACL,UAAU;QACV,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3C,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO;QACL;YACE,EAAE,EAAE,aAAa;YACjB,WAAW,EACT,uEAAuE;YACzE,cAAc,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC;SACpD;QACD;YACE,EAAE,EAAE,WAAW;YACf,WAAW,EACT,4EAA4E;YAC9E,cAAc,EAAE,CAAC,cAAc,CAAC;SACjC;QACD;YACE,EAAE,EAAE,eAAe;YACnB,WAAW,EACT,uEAAuE;YACzE,cAAc,EAAE,CAAC,cAAc,CAAC;SACjC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;QACL;YACE,EAAE,EAAE,iBAAiB;YACrB,WAAW,EACT,yIAAyI;YAC3I,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;SACtC;QACD;YACE,EAAE,EAAE,qBAAqB;YACzB,WAAW,EACT,2IAA2I;YAC7I,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;SACtC;QACD,GAAG,gBAAgB,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;QACL;YACE,EAAE,EAAE,cAAc;YAClB,WAAW,EACT,qEAAqE;gBACrE,wEAAwE;gBACxE,4CAA4C;YAC9C,cAAc,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;SACjC;QACD,GAAG,gBAAgB,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO;QACL;YACE,EAAE,EAAE,oBAAoB;YACxB,WAAW,EACT,sEAAsE;gBACtE,yEAAyE;gBACzE,iDAAiD;YACnD,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;SACjC;QACD,GAAG,gBAAgB,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO;QACL;YACE,EAAE,EAAE,uBAAuB;YAC3B,WAAW,EACT,kEAAkE;gBAClE,4DAA4D;YAC9D,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;SACjC;QACD,GAAG,gBAAgB,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;QACrD,kBAAkB;QAClB,uBAAuB;QACvB,qBAAqB;QACrB,eAAe;QACf,mBAAmB;KACpB,CAAC,CAAC;IACH,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,gBAA+B;IACnD,IAAI,gBAAgB,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,gBAAgB,GAAG,IAAI,CAAC;AACjC,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAkC,EAClC,uBAAgC,EAChC,mBAAkC,IAAI;IAEtC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,CAAC,GAAG,GAAG,CAAgC,CAAC;IAChE,MAAM,OAAO,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC/C,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,MAAM,MAAM,GAA6B,EAAE,CAAC;IAE5C,SAAS,MAAM,CAAC,KAA6H;QAC3I,MAAM,CAAC,IAAI,CAAC;YACV,GAAG,KAAK;YACR,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;YACxB,SAAS,EAAE,eAAe;YAC1B,YAAY,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,KAAK;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,0DAA0D;IAC1D,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC;YACL,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,KAAK;YACX,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE,CAAC,iDAAiD,CAAC;YAC7D,SAAS,EAAE,8DAA8D;SAC1E,CAAC,CAAC;QACH,MAAM,CAAC;YACL,EAAE,EAAE,oBAAoB;YACxB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,CAAC,2BAA2B,CAAC;YACvC,SAAS,EAAE,6EAA6E;SACzF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,CAAC;YACL,EAAE,EAAE,uBAAuB;YAC3B,IAAI,EAAE,KAAK;YACX,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE,CAAC,gDAAgD,CAAC;YAC5D,SAAS,EAAE,0EAA0E;SACtF,CAAC,CAAC;QACH,MAAM,CAAC;YACL,EAAE,EAAE,gBAAgB;YACpB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,CAAC,8BAA8B,EAAE,kBAAkB,CAAC;YAC9D,SAAS,EAAE,sDAAsD;SAClE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC;YACL,EAAE,EAAE,qBAAqB;YACzB,IAAI,EAAE,KAAK;YACX,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE,CAAC,gDAAgD,CAAC;YAC5D,SAAS,EAAE,uEAAuE;SACnF,CAAC,CAAC;QACH,MAAM,CAAC;YACL,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,CAAC,yBAAyB,CAAC;YACrC,SAAS,EAAE,yDAAyD;SACrE,CAAC,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,MAAM,iBAAiB,GAAG,QAAQ,IAAI,KAAK,CAAC;IAC5C,MAAM,iBAAiB,GAAG,UAAU,IAAI,CAAC,QAAQ,IAAI,CAAC,iBAAiB,CAAC;IAExE,IAAI,iBAAiB,EAAE,CAAC;QACtB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC;gBACL,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,aAAa;gBAC3B,QAAQ,EAAE;oBACR,8GAA8G;iBAC/G;gBACD,SAAS,EAAE,iEAAiE;aAC7E,CAAC,CAAC;QACL,CAAC;QACD,MAAM,iBAAiB,GAAG,MAAM;YAC9B,CAAC,CAAC,8FAA8F;YAChG,CAAC,CAAC,oFAAoF,CAAC;QACzF,MAAM,CAAC;YACL,EAAE,EAAE,mBAAmB;YACvB,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,mBAAmB;YACjC,QAAQ,EAAE,CAAC,8CAA8C,CAAC;YAC1D,SAAS,EAAE,iBAAiB,GAAG,oCAAoC;YACnE,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,gBAAgB,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC;YACL,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,CAAC,qBAAqB,CAAC;YACjC,SAAS,EAAE,gGAAgG;SAC5G,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrD,MAAM,CAAC;YACL,EAAE,EAAE,gBAAgB;YACpB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE;gBACR,8GAA8G;aAC/G;YACD,SAAS,EAAE,iEAAiE;SAC7E,CAAC,CAAC;QACH,MAAM,CAAC;YACL,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,CAAC,qBAAqB,CAAC;YACjC,SAAS,EAAE,uEAAuE;SACnF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,iBAAiB,EAAE,CAAC;QAC7B,MAAM,CAAC;YACL,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,CAAC,qBAAqB,CAAC;YACjC,SAAS,EAAE,2CAA2C;SACvD,CAAC,CAAC;QACH,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,MAAM,CAAC;gBACL,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,aAAa;gBAC3B,QAAQ,EAAE;oBACR,8GAA8G;iBAC/G;gBACD,SAAS,EAAE,qEAAqE;aACjF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC;YACL,EAAE,EAAE,gBAAgB;YACpB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,CAAC,wCAAwC,CAAC;YACpD,SAAS,EAAE,kEAAkE;SAC9E,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,kBAAkB,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC;YACL,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,CAAC,qBAAqB,CAAC;YACjC,SAAS,EAAE,wBAAwB;SACpC,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;IAC1B,IAAI,uBAAuB,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,kBAAkB,CAAC,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,OAAO;gBACzB,CAAC,CAAC,iEAAiE;gBACnE,CAAC,CAAC,8CAA8C,CAAC;YACnD,MAAM,CAAC;gBACL,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,WAAW;gBACzB,QAAQ,EAAE;oBACR,yDAAyD;oBACzD,iDAAiD;iBAClD;gBACD,SAAS,EAAE,WAAW;aACvB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC;YACL,EAAE,EAAE,gBAAgB;YACpB,IAAI,EAAE,KAAK;YACX,YAAY,EAAE,iBAAiB;YAC/B,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC;YAC/C,SAAS,EACP,0IAA0I;YAC5I,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,CAAC;gBACL,EAAE,EAAE,mBAAmB;gBACvB,IAAI,EAAE,UAAU;gBAChB,YAAY,EAAE,mBAAmB;gBACjC,QAAQ,EAAE,CAAC,8CAA8C,CAAC;gBAC1D,SAAS,EAAE,sDAAsD;gBACjE,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,CAAC;QACL,EAAE,EAAE,+BAA+B;QACnC,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;QACtD,SAAS,EAAE,2CAA2C;KACvD,CAAC,CAAC;IAEH,mEAAmE;IACnE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,CAAC;QAC7C,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,MAAM;SACV,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,OAAO,GAA8B,EAAE,CAAC;IAE9C,MAAM,YAAY,GAAG,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACvD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CACV,WAAW,CACT,4BAA4B,EAC5B,oCAAoC,EACpC,YAAY,EACZ,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EAC3C,IAAI,CACL,CACF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CACV,WAAW,CACT,mBAAmB,EACnB,sBAAsB,EACtB,SAAS,EACT,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EACxC,IAAI,CACL,CACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CACV,WAAW,CACT,iBAAiB,EACjB,qCAAqC,EACrC,UAAU,EACV,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1C,KAAK,CACN,CACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACzD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CACV,WAAW,CACT,cAAc,EACd,qCAAqC,EACrC,UAAU,EACV,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1C,KAAK,CACN,CACF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CACV,WAAW,CACT,6BAA6B,EAC7B,8CAA8C,EAC9C,QAAQ,EACR,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,EACxC,KAAK,CACN,CACF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACzD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CACV,WAAW,CACT,yBAAyB,EACzB,kDAAkD,EAClD,aAAa,EACb,gBAAgB,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7C,KAAK,CACN,CACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CACV,WAAW,CACT,oBAAoB,EACpB,2CAA2C,EAC3C,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EACvC,KAAK,CACN,CACF,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,cAAc,GAAG,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CACV,WAAW,CACT,yBAAyB,EACzB,sCAAsC,EACtC,cAAc,EACd,gBAAgB,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9C,KAAK,CACN,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CACV,WAAW,CACT,mBAAmB,EACnB,mCAAmC,EACnC,CAAC,wBAAwB,CAAC,EAC1B,KAAK,EACL,IAAI,CACL,CACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAA6B,CAAC;IAClD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAkC,EAClC,uBAAgC,EAChC,MAAgC;IAEhC,MAAM,KAAK,GAAoC;QAC7C;YACE,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EACJ,qFAAqF;SACxF;KACF,CAAC;IACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,iCAAiC;YACvC,MAAM,EACJ,0FAA0F;YAC5F,YAAY,EAAE,UAAU;SACzB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,CAAC,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,wDAAwD;YAC9D,MAAM,EACJ,uGAAuG;YACzG,YAAY,EAAE,UAAU;SACzB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,yBAAyB,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,mBAAmB,IAAI,CAAC,CAAC,oBAAoB,CAC9D,CAAC;IACF,IACE,uBAAuB;QACvB,aAAa;QACb,CAAC,aAAa,IAAI,aAAa,CAAC,KAAK,IAAI,CAAC,IAAI,YAAY,CAAC,EAC3D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EACF,+FAA+F;YACjG,MAAM,EACJ,mIAAmI;YACrI,YAAY,EAAE,UAAU;SACzB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CACpB,OAAkC;IAElC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;IAC1D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,QAAQ,CAAC,IAAI,CACX,6CAA6C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,4BAA4B,CAAC,CAAC;IAC/E,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CACX,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,yBAAyB,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,mBAAmB,CAAC,CAAC;IACzE,IACE,aAAa;QACb,CAAC,cAAc;QACf,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,4BAA4B,CAAC,EAC3D,CAAC;QACD,MAAM,YAAY,GAAG,mBAAmB,CAAC;QACzC,QAAQ,CAAC,IAAI,CACX,4CAA4C,YAAY,4FAA4F,CACrJ,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAkC;IAElC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,CAAC,EAAE,CAAC;QACpD,OAAO,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC;QACjD,OAAO,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,6BAA6B,CAAC,EAAE,CAAC;QAChE,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,yBAAyB,CAAC,EAAE,CAAC;QAC5D,OAAO,qBAAqB,EAAE,CAAC;IACjC,CAAC;IACD,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAkC;IAElC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,uBAAuB,GAAG,KAAK,CAAC,yBAAyB,KAAK,KAAK,CAAC;IAC1E,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAExD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,WAAW,CAC7B,mBAAmB,EACnB,mCAAmC,EACnC,CAAC,aAAa,CAAC,EACf,KAAK,EACL,IAAI,CACL,CAAC;QACF,MAAM,WAAW,GAAG,uBAAuB,CACzC,CAAC,WAAW,CAAC,EACb,uBAAuB,EACvB,gBAAgB,CACjB,CAAC;QACF,OAAO;YACL,OAAO,EAAE,iCAAiC;YAC1C,KAAK;YACL,OAAO,EAAE,CAAC,WAAW,CAAC;YACtB,MAAM,EAAE,WAAW;YACnB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,kBAAkB,CAC1B,CAAC,WAAW,CAAC,EACb,uBAAuB,EACvB,WAAW,CACZ;YACD,QAAQ,EAAE,CAAC,oDAAoD,CAAC;YAChE,YAAY,EAAE,gBAAgB,EAAE;YAChC,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,uBAAuB,CACpC,OAAO,EACP,uBAAuB,EACvB,gBAAgB,CACjB,CAAC;IACF,OAAO;QACL,OAAO,EAAE,iCAAiC;QAC1C,KAAK;QACL,OAAO;QACP,MAAM;QACN,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,EAAE,MAAM,CAAC;QACtE,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC;QAChC,YAAY,EAAE,sBAAsB,CAAC,OAAO,CAAC;QAC7C,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"codebase-retrieval-router.js","sourceRoot":"","sources":["../../src/utils/codebase-retrieval-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect Cursor Native vs Cursor++ BYOK for retrieval routing.
|
|
3
|
+
* Mirrors templates/trellis/scripts/common/cursor_retrieval_env.py
|
|
4
|
+
*/
|
|
5
|
+
export declare const ENV_NATIVE: "native";
|
|
6
|
+
export declare const ENV_BYOK: "byok";
|
|
7
|
+
export declare const ENV_UNKNOWN: "unknown";
|
|
8
|
+
export type CursorRetrievalEnv = typeof ENV_NATIVE | typeof ENV_BYOK | typeof ENV_UNKNOWN;
|
|
9
|
+
export interface CursorRetrievalEnvInfo {
|
|
10
|
+
env: CursorRetrievalEnv;
|
|
11
|
+
source: string;
|
|
12
|
+
byokMode?: number | null;
|
|
13
|
+
routes_path?: string;
|
|
14
|
+
redirect_endpoints?: string[];
|
|
15
|
+
error?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function ccursorHome(): string;
|
|
18
|
+
export declare function detectCursorRetrievalEnvInfo(): CursorRetrievalEnvInfo;
|
|
19
|
+
export declare function detectCursorRetrievalEnv(): CursorRetrievalEnv;
|
|
20
|
+
export declare function isByok(env?: CursorRetrievalEnv | null): boolean;
|
|
21
|
+
export interface SemanticRouteSpec {
|
|
22
|
+
commands: string[];
|
|
23
|
+
rationaleSuffix: string;
|
|
24
|
+
platformNative: boolean;
|
|
25
|
+
semanticBackend: "fast-context-mcp" | "cursor-builtin";
|
|
26
|
+
}
|
|
27
|
+
export declare function semanticRouteSpec(cursorEnv: CursorRetrievalEnv): SemanticRouteSpec;
|
|
28
|
+
//# sourceMappingURL=cursor-retrieval-env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-retrieval-env.d.ts","sourceRoot":"","sources":["../../src/utils/cursor-retrieval-env.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,eAAO,MAAM,UAAU,EAAG,QAAiB,CAAC;AAC5C,eAAO,MAAM,QAAQ,EAAG,MAAe,CAAC;AACxC,eAAO,MAAM,WAAW,EAAG,SAAkB,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAC1B,OAAO,UAAU,GACjB,OAAO,QAAQ,GACf,OAAO,WAAW,CAAC;AAEvB,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,kBAAkB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,WAAW,IAAI,MAAM,CAMpC;AAED,wBAAgB,4BAA4B,IAAI,sBAAsB,CA8CrE;AAED,wBAAgB,wBAAwB,IAAI,kBAAkB,CAU7D;AAED,wBAAgB,MAAM,CAAC,GAAG,CAAC,EAAE,kBAAkB,GAAG,IAAI,GAAG,OAAO,CAE/D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,kBAAkB,GAAG,gBAAgB,CAAC;CACxD;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,kBAAkB,GAC5B,iBAAiB,CAgBnB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect Cursor Native vs Cursor++ BYOK for retrieval routing.
|
|
3
|
+
* Mirrors templates/trellis/scripts/common/cursor_retrieval_env.py
|
|
4
|
+
*/
|
|
5
|
+
import fs from "node:fs";
|
|
6
|
+
import os from "node:os";
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
export const ENV_NATIVE = "native";
|
|
9
|
+
export const ENV_BYOK = "byok";
|
|
10
|
+
export const ENV_UNKNOWN = "unknown";
|
|
11
|
+
export function ccursorHome() {
|
|
12
|
+
const env = process.env.TRELLIS_CCURSOR_HOME?.trim();
|
|
13
|
+
if (env) {
|
|
14
|
+
return path.resolve(env.replace(/^~/, os.homedir()));
|
|
15
|
+
}
|
|
16
|
+
return path.join(os.homedir(), ".ccursor");
|
|
17
|
+
}
|
|
18
|
+
export function detectCursorRetrievalEnvInfo() {
|
|
19
|
+
const envOverride = process.env.TRELLIS_CURSOR_BYOK?.trim();
|
|
20
|
+
if (envOverride === "1") {
|
|
21
|
+
return { env: ENV_BYOK, source: "env-override", byokMode: 1 };
|
|
22
|
+
}
|
|
23
|
+
if (envOverride === "0") {
|
|
24
|
+
return { env: ENV_NATIVE, source: "env-override", byokMode: 0 };
|
|
25
|
+
}
|
|
26
|
+
const routesPath = path.join(ccursorHome(), "routes.json");
|
|
27
|
+
if (!fs.existsSync(routesPath)) {
|
|
28
|
+
return {
|
|
29
|
+
env: ENV_UNKNOWN,
|
|
30
|
+
source: "routes-not-found",
|
|
31
|
+
byokMode: null,
|
|
32
|
+
routes_path: routesPath,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
const raw = fs.readFileSync(routesPath, "utf8");
|
|
37
|
+
const routes = JSON.parse(raw);
|
|
38
|
+
const byok = routes.byokMode;
|
|
39
|
+
const env = byok === 1 ? ENV_BYOK : byok === 0 ? ENV_NATIVE : ENV_UNKNOWN;
|
|
40
|
+
const redirect = routes.redirect;
|
|
41
|
+
return {
|
|
42
|
+
env,
|
|
43
|
+
source: "routes.json",
|
|
44
|
+
byokMode: byok ?? null,
|
|
45
|
+
routes_path: routesPath,
|
|
46
|
+
redirect_endpoints: Array.isArray(redirect)
|
|
47
|
+
? redirect.map(String)
|
|
48
|
+
: [],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
return {
|
|
53
|
+
env: ENV_UNKNOWN,
|
|
54
|
+
source: "routes-parse-error",
|
|
55
|
+
byokMode: null,
|
|
56
|
+
routes_path: routesPath,
|
|
57
|
+
error: err instanceof Error ? err.message : String(err),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export function detectCursorRetrievalEnv() {
|
|
62
|
+
const info = detectCursorRetrievalEnvInfo();
|
|
63
|
+
if (info.env === ENV_NATIVE ||
|
|
64
|
+
info.env === ENV_BYOK ||
|
|
65
|
+
info.env === ENV_UNKNOWN) {
|
|
66
|
+
return info.env;
|
|
67
|
+
}
|
|
68
|
+
return ENV_UNKNOWN;
|
|
69
|
+
}
|
|
70
|
+
export function isByok(env) {
|
|
71
|
+
return (env ?? detectCursorRetrievalEnv()) === ENV_BYOK;
|
|
72
|
+
}
|
|
73
|
+
export function semanticRouteSpec(cursorEnv) {
|
|
74
|
+
if (cursorEnv === ENV_BYOK) {
|
|
75
|
+
return {
|
|
76
|
+
commands: ["fast_context_search (fast-context MCP)"],
|
|
77
|
+
rationaleSuffix: " Cursor++ BYOK: built-in semantic unavailable; fast-context MCP primary.",
|
|
78
|
+
platformNative: false,
|
|
79
|
+
semanticBackend: "fast-context-mcp",
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
commands: ["cursor @codebase or built-in semantic search"],
|
|
84
|
+
rationaleSuffix: " Cursor built-in semantic search.",
|
|
85
|
+
platformNative: true,
|
|
86
|
+
semanticBackend: "cursor-builtin",
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=cursor-retrieval-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-retrieval-env.js","sourceRoot":"","sources":["../../src/utils/cursor-retrieval-env.ts"],"names":[],"mappings":"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"}
|