@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.
Files changed (49) hide show
  1. package/README.md +2 -0
  2. package/dist/migrations/manifests/0.1.1.json +9 -0
  3. package/dist/migrations/manifests/0.1.2.json +9 -0
  4. package/dist/templates/cursor/rules/retrieval-routing.mdc +9 -7
  5. package/dist/templates/markdown/spec/guides/cursor-context-injection-guide.md.txt +2 -1
  6. package/dist/templates/markdown/spec/guides/cursor-subagent-policy.md.txt +16 -3
  7. package/dist/templates/markdown/spec/guides/retrieval-daily-guide.md.txt +11 -6
  8. package/dist/templates/shared-hooks/inject-subagent-context.py +31 -567
  9. package/dist/templates/trellis/index.d.ts +2 -0
  10. package/dist/templates/trellis/index.d.ts.map +1 -1
  11. package/dist/templates/trellis/index.js +4 -0
  12. package/dist/templates/trellis/index.js.map +1 -1
  13. package/dist/templates/trellis/scripts/common/codebase_retrieval_router.py +78 -29
  14. package/dist/templates/trellis/scripts/common/cursor_retrieval_env.py +92 -0
  15. package/dist/templates/trellis/scripts/common/retrieval_adapter_metadata.py +100 -9
  16. package/dist/templates/trellis/scripts/common/retrieval_agent_instructions.py +76 -31
  17. package/dist/templates/trellis/scripts/common/retrieval_tool_classification.py +18 -3
  18. package/dist/templates/trellis/scripts/common/semantic_plan_gate.py +19 -0
  19. package/dist/templates/trellis/scripts/common/smart_search_evidence.py +5 -2
  20. package/dist/templates/trellis/scripts/common/subagent_dispatch.py +527 -0
  21. package/dist/templates/trellis/scripts/common/task_store.py +32 -0
  22. package/dist/templates/trellis/scripts/cursor_retrieval_probe.py +396 -0
  23. package/dist/templates/trellis/scripts/cursor_retrieval_probe_prompt.md +300 -0
  24. package/dist/templates/trellis/scripts/retrieval_probe_matrix_template.json +126 -0
  25. package/dist/templates/trellis/scripts/task.py +26 -0
  26. package/dist/templates/trellis/workflow.md +5 -22
  27. package/dist/utils/codebase-retrieval-router.d.ts +5 -0
  28. package/dist/utils/codebase-retrieval-router.d.ts.map +1 -1
  29. package/dist/utils/codebase-retrieval-router.js +48 -28
  30. package/dist/utils/codebase-retrieval-router.js.map +1 -1
  31. package/dist/utils/cursor-retrieval-env.d.ts +28 -0
  32. package/dist/utils/cursor-retrieval-env.d.ts.map +1 -0
  33. package/dist/utils/cursor-retrieval-env.js +89 -0
  34. package/dist/utils/cursor-retrieval-env.js.map +1 -0
  35. package/dist/utils/project-capabilities.d.ts.map +1 -1
  36. package/dist/utils/project-capabilities.js +22 -15
  37. package/dist/utils/project-capabilities.js.map +1 -1
  38. package/dist/utils/retrieval-agent-instructions.d.ts.map +1 -1
  39. package/dist/utils/retrieval-agent-instructions.js +37 -21
  40. package/dist/utils/retrieval-agent-instructions.js.map +1 -1
  41. package/dist/utils/retrieval-tool-classification.d.ts +2 -0
  42. package/dist/utils/retrieval-tool-classification.d.ts.map +1 -1
  43. package/dist/utils/retrieval-tool-classification.js +10 -2
  44. package/dist/utils/retrieval-tool-classification.js.map +1 -1
  45. package/dist/utils/semantic-plan-gate.d.ts +8 -0
  46. package/dist/utils/semantic-plan-gate.d.ts.map +1 -0
  47. package/dist/utils/semantic-plan-gate.js +42 -0
  48. package/dist/utils/semantic-plan-gate.js.map +1 -0
  49. 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
- - **Task description**: Implement the reviewed task artifacts, consulting materials under `{TASK_DIR}/research/`; finish by running project lint and type-check
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
- The platform hook/plugin auto-handles:
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
- - **Task description**: Review all code changes against specs and task artifacts; fix implementation defects only inside the approved contract; route contract-changing findings instead of silently expanding scope; ensure lint and type-check pass
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;CAC1B;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;AAED,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,oBAAoB,EAAE,CAAC;CACxC;AAED,wFAAwF;AACxF,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,OAAO,iCAAiC,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,YAAY,EAAE,EAAE,CAAC;IACjB,SAAS,EAAE,EAAE,CAAC;IACd,QAAQ,EAAE,6BAA6B,EAAE,CAAC;IAC1C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,iCAAiC,EAAE,CAAC;IAClD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,wBAAgB,0BAA0B,CACxC,KAAK,SAAK,EACV,gBAAgB,GAAE,MAAM,GAAG,IAAW,GACrC,6BAA6B,CAa/B;AAitBD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,2BAA2B,GACjC,6BAA6B,CAsD/B"}
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 orderedRoutesForIntents(intents, includeOptionalAdapters, projectFileCount = null) {
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: "lsp",
436
- sourceFamily: "language-server",
437
- commands: ["definition", "references", "hover"],
438
- rationale: "Optional editor/LSP navigation when exposed; not guaranteed in Agent tool telemetry — prefer Read/Grep/codegraph after candidates exist.",
439
- platformNative: true,
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 Cursor @codebase or built-in semantic search per platform-semantic route, then narrow with rg on returned keywords and paths.",
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":"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"}
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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"}