@blxzer/cursor-trellis 0.1.2 → 0.2.1

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 (105) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +45 -21
  3. package/dist/configurators/workflow.d.ts +1 -1
  4. package/dist/configurators/workflow.d.ts.map +1 -1
  5. package/dist/configurators/workflow.js +20 -9
  6. package/dist/configurators/workflow.js.map +1 -1
  7. package/dist/migrations/manifests/0.1.3.json +9 -0
  8. package/dist/migrations/manifests/0.1.4.json +9 -0
  9. package/dist/templates/cursor/rules/retrieval-routing.mdc +9 -7
  10. package/dist/templates/markdown/agents.md +1 -1
  11. package/dist/templates/markdown/index.d.ts +1 -0
  12. package/dist/templates/markdown/index.d.ts.map +1 -1
  13. package/dist/templates/markdown/index.js +1 -0
  14. package/dist/templates/markdown/index.js.map +1 -1
  15. package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +13 -29
  16. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +0 -49
  17. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +0 -85
  18. package/dist/templates/markdown/spec/guides/cursor-semantic-compliance.md.txt +7 -21
  19. package/dist/templates/markdown/spec/guides/cursor-subagent-policy.md.txt +6 -10
  20. package/dist/templates/markdown/spec/guides/retrieval-daily-guide.md.txt +17 -18
  21. package/dist/templates/shared-hooks/inject-retrieval-plan.py +42 -23
  22. package/dist/templates/shared-hooks/inject-subagent-context.py +6 -2
  23. package/dist/templates/shared-hooks/session-start.py +17 -9
  24. package/dist/templates/trellis/index.d.ts +8 -4
  25. package/dist/templates/trellis/index.d.ts.map +1 -1
  26. package/dist/templates/trellis/index.js +13 -7
  27. package/dist/templates/trellis/index.js.map +1 -1
  28. package/dist/templates/trellis/scripts/common/codebase_retrieval_router.py +80 -31
  29. package/dist/templates/trellis/scripts/common/config.py +1 -1
  30. package/dist/templates/trellis/scripts/common/cursor_retrieval_env.py +92 -0
  31. package/dist/templates/trellis/scripts/common/parent_orchestration.py +27 -15
  32. package/dist/templates/trellis/scripts/common/retrieval_adapter_metadata.py +100 -9
  33. package/dist/templates/trellis/scripts/common/retrieval_agent_instructions.py +76 -31
  34. package/dist/templates/trellis/scripts/common/retrieval_tool_classification.py +18 -3
  35. package/dist/templates/trellis/scripts/common/semantic_plan_gate.py +19 -0
  36. package/dist/templates/trellis/scripts/common/smart_search_evidence.py +5 -2
  37. package/dist/templates/trellis/scripts/common/smart_search_resolve.py +28 -3
  38. package/dist/templates/trellis/scripts/common/task_gates.py +372 -73
  39. package/dist/templates/trellis/scripts/common/task_map.py +29 -1
  40. package/dist/templates/trellis/scripts/cursor_retrieval_probe.py +396 -0
  41. package/dist/templates/trellis/scripts/cursor_retrieval_probe_prompt.md +300 -0
  42. package/dist/templates/trellis/scripts/retrieval_probe_matrix_template.json +126 -0
  43. package/dist/templates/trellis/workflow.md +9 -53
  44. package/dist/utils/codebase-retrieval-router.d.ts +5 -0
  45. package/dist/utils/codebase-retrieval-router.d.ts.map +1 -1
  46. package/dist/utils/codebase-retrieval-router.js +48 -28
  47. package/dist/utils/codebase-retrieval-router.js.map +1 -1
  48. package/dist/utils/cursor-retrieval-env.d.ts +28 -0
  49. package/dist/utils/cursor-retrieval-env.d.ts.map +1 -0
  50. package/dist/utils/cursor-retrieval-env.js +89 -0
  51. package/dist/utils/cursor-retrieval-env.js.map +1 -0
  52. package/dist/utils/project-capabilities.d.ts.map +1 -1
  53. package/dist/utils/project-capabilities.js +22 -15
  54. package/dist/utils/project-capabilities.js.map +1 -1
  55. package/dist/utils/retrieval-agent-instructions.d.ts.map +1 -1
  56. package/dist/utils/retrieval-agent-instructions.js +37 -21
  57. package/dist/utils/retrieval-agent-instructions.js.map +1 -1
  58. package/dist/utils/retrieval-tool-classification.d.ts +2 -0
  59. package/dist/utils/retrieval-tool-classification.d.ts.map +1 -1
  60. package/dist/utils/retrieval-tool-classification.js +10 -2
  61. package/dist/utils/retrieval-tool-classification.js.map +1 -1
  62. package/dist/utils/semantic-plan-gate.d.ts +8 -0
  63. package/dist/utils/semantic-plan-gate.d.ts.map +1 -0
  64. package/dist/utils/semantic-plan-gate.js +42 -0
  65. package/dist/utils/semantic-plan-gate.js.map +1 -0
  66. package/package.json +5 -43
  67. package/bin/smart-search.js +0 -79
  68. package/dist/templates/trellis/scripts/aggregate_retrieval_telemetry.py +0 -342
  69. package/dist/templates/trellis/scripts/batch_plan_envelope.py +0 -105
  70. package/vendor/smart-search/LICENSE +0 -21
  71. package/vendor/smart-search/README.md +0 -412
  72. package/vendor/smart-search/README.zh-CN.md +0 -430
  73. package/vendor/smart-search/npm/bin/smart-search.js +0 -63
  74. package/vendor/smart-search/npm/scripts/postinstall.js +0 -87
  75. package/vendor/smart-search/npm/scripts/resolve-prerelease-version.js +0 -108
  76. package/vendor/smart-search/npm/scripts/set-package-version.js +0 -35
  77. package/vendor/smart-search/npm/scripts/sync-python-version.js +0 -22
  78. package/vendor/smart-search/npm/scripts/test-wrapper-repair.js +0 -99
  79. package/vendor/smart-search/npm/scripts/test.js +0 -85
  80. package/vendor/smart-search/package.json +0 -42
  81. package/vendor/smart-search/pyproject.toml +0 -37
  82. package/vendor/smart-search/skills/smart-search-cli/SKILL.md +0 -387
  83. package/vendor/smart-search/skills/smart-search-cli/agents/openai.yaml +0 -3
  84. package/vendor/smart-search/skills/smart-search-cli/examples/batch-search.md +0 -98
  85. package/vendor/smart-search/skills/smart-search-cli/examples/evidence-gathering.md +0 -89
  86. package/vendor/smart-search/skills/smart-search-cli/references/cli-contract.md +0 -337
  87. package/vendor/smart-search/src/smart_search/__init__.py +0 -1
  88. package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/SKILL.md +0 -387
  89. package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/agents/openai.yaml +0 -3
  90. package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/examples/batch-search.md +0 -98
  91. package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/examples/evidence-gathering.md +0 -89
  92. package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/references/cli-contract.md +0 -337
  93. package/vendor/smart-search/src/smart_search/cli.py +0 -2003
  94. package/vendor/smart-search/src/smart_search/config.py +0 -580
  95. package/vendor/smart-search/src/smart_search/logger.py +0 -43
  96. package/vendor/smart-search/src/smart_search/providers/__init__.py +0 -16
  97. package/vendor/smart-search/src/smart_search/providers/base.py +0 -41
  98. package/vendor/smart-search/src/smart_search/providers/context7.py +0 -141
  99. package/vendor/smart-search/src/smart_search/providers/exa.py +0 -206
  100. package/vendor/smart-search/src/smart_search/providers/jina.py +0 -136
  101. package/vendor/smart-search/src/smart_search/providers/openai_compatible.py +0 -370
  102. package/vendor/smart-search/src/smart_search/providers/zhipu.py +0 -143
  103. package/vendor/smart-search/src/smart_search/service.py +0 -2865
  104. package/vendor/smart-search/src/smart_search/sources.py +0 -429
  105. package/vendor/smart-search/src/smart_search/utils.py +0 -220
@@ -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
+ }
@@ -41,8 +41,6 @@ python3 ./.trellis/scripts/get_context.py --mode packages # list packages / la
41
41
 
42
42
  Every task has its own directory under `.trellis/tasks/{MM-DD-name}/` holding `task.json`, `prd.md`, optional `design.md`, optional `implement.md`, optional `research/`, and context manifests (`implement.jsonl`, `check.jsonl`) for Cursor (sub-agent dispatch).
43
43
 
44
- Optional copied templates live under `.trellis/tasks/templates/` (for example `release-readiness/` and `release-execution/`). `task.py create` does not auto-apply them; copy files into a new task when starting that workflow.
45
-
46
44
  ```bash
47
45
  # Task lifecycle
48
46
  python3 ./.trellis/scripts/task.py create "<title>" [--slug <name>] [--parent <dir>]
@@ -265,7 +263,11 @@ python3 ./.trellis/scripts/task.py review-child <parent-task> <child-task> --dec
265
263
 
266
264
  - `generate-child-prompt` reads parent `task-map.md` for `depends_on` and `touches`, child artifacts, and optional parent `child-prompts.md`. Use `--mode subagent` only as a delivery hint when the platform can spawn subagents; inline mode remains the portable default.
267
265
  - `review-child` summarizes child `verify.md` / `handoff.md`, appends notes to parent `verify.md`, and can advance `accepted` / `integrating` / `integrated` in one flow (`--decision integrate-through`) while still using the same Stage 0 integration guards as `integrate-child`.
268
- - Reviewer quality gates (`child-review`, `parent-accepted`, `parent-integrated`) are **not** auto-recorded; the command prints optional `record-gate` hints only.
266
+ - Reviewer quality gates are **not** auto-recorded. CLI enforces them at transition boundaries:
267
+ - **Full Child accept / integrate-through**: requires substantive `verify.md` evidence and `child-review/code-review` (plus configured architecture gates) before Parent marks the Child `accepted`.
268
+ - **Parent archive**: requires every structural Child `integrated` or `cancelled`, substantive Parent integration evidence, and `parent-integrated/integration-review`.
269
+ - **Lite closeout**: explicit no-gate chain; archive still requires validation, acceptance, and durable-learning evidence in `verify.md`.
270
+ - **`record-gate`**: rejects PASS/SKIPPED when transition evidence is missing or placeholder-only.
269
271
 
270
272
  <!-- Per-turn breadcrumb: shown when no task is selected (before Phase 1) -->
271
273
 
@@ -724,10 +726,10 @@ Archive readiness by mode:
724
726
  |---|---|
725
727
  | No Task | No archive; upgrade to a durable task mode before archive is possible. |
726
728
  | Micro-Grill | No archive unless upgraded into Lite, Full, or Parent/Child. |
727
- | Lite | `verify.md` has validation evidence, final acceptance evidence, and durable-learning decision evidence. |
728
- | Full | Lite evidence plus required completion gates, fresh fingerprints, and no unresolved required `FAIL` gates. |
729
- | Child | Lite/Full evidence plus Parent task-map marks the Child `integrated` or `cancelled`; integrated Children include `handoff.md`. |
730
- | Parent | Full evidence plus every Child is `integrated` or `cancelled`, with final integration evidence. |
729
+ | Lite | Explicit no-gate chain. `verify.md` has substantive validation, final acceptance, and durable-learning decision evidence. |
730
+ | Full | Lite evidence plus required completion gates (`full-task-complete/*`), substantive check/change-set evidence, fresh fingerprints, and no unresolved required `FAIL` gates. |
731
+ | Child | Lite or Full evidence (by child profile). Full Children require `child-review` gates before Parent `accepted`. Parent task-map marks the Child `integrated` or `cancelled`; integrated Children include `handoff.md`. |
732
+ | Parent | Archive evidence plus every Child `integrated` or `cancelled`, substantive final integration evidence, and `parent-integrated/integration-review`. |
731
733
 
732
734
  Archive / Learning is terminal. After archive, do not silently mutate archived task artifacts; follow-up work requires a new task unless the user explicitly approves an archive amendment.
733
735
 
@@ -735,52 +737,6 @@ If archive is not being run in this session, report the passing or failing archi
735
737
 
736
738
  ---
737
739
 
738
- ## Release readiness and release execution
739
-
740
- Package and CLI releases use **two tasks** (or two explicit phases with separate evidence). Readiness is non-mutating; execution requires explicit user approval before any remote mutation.
741
-
742
- ### When to split
743
-
744
- | Task type | Purpose | Remote mutations |
745
- | --- | --- | --- |
746
- | **Release readiness** | Version recommendation, changelog, manifest notes, build/test/typecheck, pack dry-run, prepublish blockers | **None** — no publish, tag, push, or version bump |
747
- | **Release execution** | Preflight immediately before publish; run approved `release.js` / `npm publish` / tag / push; post-publish smoke | **Only after explicit user approval** in the execution task |
748
-
749
- Templates: `.trellis/tasks/templates/release-readiness/` and `.trellis/tasks/templates/release-execution/`. Copy `prd.md`, `design.md`, and `implement.md` into a new task directory; use `handoff-template.md` as the outline for `handoff.md`.
750
-
751
- ### Release status vocabulary (handoff / verify)
752
-
753
- These labels describe **release posture** in `handoff.md` and `verify.md`. They are not `task.json.status` values (contract epoch 1).
754
-
755
- | Label | Typical task |
756
- | --- | --- |
757
- | **ready to publish** | Readiness — evidence complete; operator may proceed after approval |
758
- | **not published** | Readiness or aborted execution — no remote release in this task |
759
- | **published** | Execution — registry and/or git remote actions completed |
760
- | **blocked** | Required gate failed; do not publish until fixed or waived |
761
- | **waived** | User explicitly accepted a known blocker (name approver + rationale) |
762
- | **deferred** | Publish postponed by user (e.g. wait for dogfood / another child) |
763
-
764
- Readiness `handoff.md` must include **Ready to publish**, **Not published**, and **Blockers**. Execution `handoff.md` must include **Published** (or **Not published** if aborted) and **Publish approval evidence** in `verify.md`.
765
-
766
- ### Standard evidence (readiness `verify.md`)
767
-
768
- - Version recommendation (current → proposed; channel; npm dist-tag expectation)
769
- - Changelog / release notes (draft)
770
- - Migration manifest (id or none)
771
- - Build evidence, test evidence, pack dry-run evidence
772
- - Prepublish blockers with disposition: `blocking` / `fixed` / `waived` / `deferred`
773
-
774
- Dry-run examples for `@blxzer/cursor-trellis` (from `packages/cli`): `check-manifest-continuity.js`, `release-preflight.js check-versions`, `publish-plan`, `verify-packed-cli`, `npm pack --dry-run`. Do not run `release.js`, `npm publish`, or `git push` during readiness.
775
-
776
- ### Execution approval gate
777
-
778
- Before `release.js`, `npm publish`, `git tag`, `git push`, or GitHub release creation, stop and obtain **explicit user approval**. Record in execution `verify.md` under **Publish approval evidence** (approved version, dist-tag, and which remote actions are allowed). Passing preflight is not approval.
779
-
780
- See also `.trellis/spec/Trellis/cli/release-and-vendor.md`.
781
-
782
- ---
783
-
784
740
  ## Customizing Trellis (for forks)
785
741
 
786
742
  This section is for developers who want to modify the Trellis workflow itself. All customization is done by editing this file; the scripts are parsers only.
@@ -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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"}