@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.
- package/CHANGELOG.md +58 -0
- package/README.md +45 -21
- package/dist/configurators/workflow.d.ts +1 -1
- package/dist/configurators/workflow.d.ts.map +1 -1
- package/dist/configurators/workflow.js +20 -9
- package/dist/configurators/workflow.js.map +1 -1
- package/dist/migrations/manifests/0.1.3.json +9 -0
- package/dist/migrations/manifests/0.1.4.json +9 -0
- package/dist/templates/cursor/rules/retrieval-routing.mdc +9 -7
- package/dist/templates/markdown/agents.md +1 -1
- package/dist/templates/markdown/index.d.ts +1 -0
- package/dist/templates/markdown/index.d.ts.map +1 -1
- package/dist/templates/markdown/index.js +1 -0
- package/dist/templates/markdown/index.js.map +1 -1
- package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +13 -29
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +0 -49
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +0 -85
- package/dist/templates/markdown/spec/guides/cursor-semantic-compliance.md.txt +7 -21
- package/dist/templates/markdown/spec/guides/cursor-subagent-policy.md.txt +6 -10
- package/dist/templates/markdown/spec/guides/retrieval-daily-guide.md.txt +17 -18
- package/dist/templates/shared-hooks/inject-retrieval-plan.py +42 -23
- package/dist/templates/shared-hooks/inject-subagent-context.py +6 -2
- package/dist/templates/shared-hooks/session-start.py +17 -9
- package/dist/templates/trellis/index.d.ts +8 -4
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +13 -7
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/scripts/common/codebase_retrieval_router.py +80 -31
- package/dist/templates/trellis/scripts/common/config.py +1 -1
- package/dist/templates/trellis/scripts/common/cursor_retrieval_env.py +92 -0
- package/dist/templates/trellis/scripts/common/parent_orchestration.py +27 -15
- 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/smart_search_resolve.py +28 -3
- package/dist/templates/trellis/scripts/common/task_gates.py +372 -73
- package/dist/templates/trellis/scripts/common/task_map.py +29 -1
- 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/workflow.md +9 -53
- 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 +5 -43
- package/bin/smart-search.js +0 -79
- package/dist/templates/trellis/scripts/aggregate_retrieval_telemetry.py +0 -342
- package/dist/templates/trellis/scripts/batch_plan_envelope.py +0 -105
- package/vendor/smart-search/LICENSE +0 -21
- package/vendor/smart-search/README.md +0 -412
- package/vendor/smart-search/README.zh-CN.md +0 -430
- package/vendor/smart-search/npm/bin/smart-search.js +0 -63
- package/vendor/smart-search/npm/scripts/postinstall.js +0 -87
- package/vendor/smart-search/npm/scripts/resolve-prerelease-version.js +0 -108
- package/vendor/smart-search/npm/scripts/set-package-version.js +0 -35
- package/vendor/smart-search/npm/scripts/sync-python-version.js +0 -22
- package/vendor/smart-search/npm/scripts/test-wrapper-repair.js +0 -99
- package/vendor/smart-search/npm/scripts/test.js +0 -85
- package/vendor/smart-search/package.json +0 -42
- package/vendor/smart-search/pyproject.toml +0 -37
- package/vendor/smart-search/skills/smart-search-cli/SKILL.md +0 -387
- package/vendor/smart-search/skills/smart-search-cli/agents/openai.yaml +0 -3
- package/vendor/smart-search/skills/smart-search-cli/examples/batch-search.md +0 -98
- package/vendor/smart-search/skills/smart-search-cli/examples/evidence-gathering.md +0 -89
- package/vendor/smart-search/skills/smart-search-cli/references/cli-contract.md +0 -337
- package/vendor/smart-search/src/smart_search/__init__.py +0 -1
- package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/SKILL.md +0 -387
- package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/agents/openai.yaml +0 -3
- package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/examples/batch-search.md +0 -98
- package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/examples/evidence-gathering.md +0 -89
- package/vendor/smart-search/src/smart_search/assets/skills/smart-search-cli/references/cli-contract.md +0 -337
- package/vendor/smart-search/src/smart_search/cli.py +0 -2003
- package/vendor/smart-search/src/smart_search/config.py +0 -580
- package/vendor/smart-search/src/smart_search/logger.py +0 -43
- package/vendor/smart-search/src/smart_search/providers/__init__.py +0 -16
- package/vendor/smart-search/src/smart_search/providers/base.py +0 -41
- package/vendor/smart-search/src/smart_search/providers/context7.py +0 -141
- package/vendor/smart-search/src/smart_search/providers/exa.py +0 -206
- package/vendor/smart-search/src/smart_search/providers/jina.py +0 -136
- package/vendor/smart-search/src/smart_search/providers/openai_compatible.py +0 -370
- package/vendor/smart-search/src/smart_search/providers/zhipu.py +0 -143
- package/vendor/smart-search/src/smart_search/service.py +0 -2865
- package/vendor/smart-search/src/smart_search/sources.py +0 -429
- 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
|
|
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
|
|
728
|
-
| Full | Lite evidence plus required completion gates, fresh fingerprints, and no unresolved required `FAIL` gates. |
|
|
729
|
-
| Child | Lite
|
|
730
|
-
| Parent |
|
|
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;
|
|
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":"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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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"}
|