@blxzer/cursor-trellis 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/migrations/manifests/0.1.1.json +9 -0
- package/dist/migrations/manifests/0.1.2.json +9 -0
- package/dist/templates/cursor/rules/retrieval-routing.mdc +9 -7
- package/dist/templates/markdown/spec/guides/cursor-context-injection-guide.md.txt +2 -1
- package/dist/templates/markdown/spec/guides/cursor-subagent-policy.md.txt +16 -3
- package/dist/templates/markdown/spec/guides/retrieval-daily-guide.md.txt +11 -6
- package/dist/templates/shared-hooks/inject-subagent-context.py +31 -567
- package/dist/templates/trellis/index.d.ts +2 -0
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +4 -0
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/scripts/common/codebase_retrieval_router.py +78 -29
- package/dist/templates/trellis/scripts/common/cursor_retrieval_env.py +92 -0
- package/dist/templates/trellis/scripts/common/retrieval_adapter_metadata.py +100 -9
- package/dist/templates/trellis/scripts/common/retrieval_agent_instructions.py +76 -31
- package/dist/templates/trellis/scripts/common/retrieval_tool_classification.py +18 -3
- package/dist/templates/trellis/scripts/common/semantic_plan_gate.py +19 -0
- package/dist/templates/trellis/scripts/common/smart_search_evidence.py +5 -2
- package/dist/templates/trellis/scripts/common/subagent_dispatch.py +527 -0
- package/dist/templates/trellis/scripts/common/task_store.py +32 -0
- package/dist/templates/trellis/scripts/cursor_retrieval_probe.py +396 -0
- package/dist/templates/trellis/scripts/cursor_retrieval_probe_prompt.md +300 -0
- package/dist/templates/trellis/scripts/retrieval_probe_matrix_template.json +126 -0
- package/dist/templates/trellis/scripts/task.py +26 -0
- package/dist/templates/trellis/workflow.md +5 -22
- package/dist/utils/codebase-retrieval-router.d.ts +5 -0
- package/dist/utils/codebase-retrieval-router.d.ts.map +1 -1
- package/dist/utils/codebase-retrieval-router.js +48 -28
- package/dist/utils/codebase-retrieval-router.js.map +1 -1
- package/dist/utils/cursor-retrieval-env.d.ts +28 -0
- package/dist/utils/cursor-retrieval-env.d.ts.map +1 -0
- package/dist/utils/cursor-retrieval-env.js +89 -0
- package/dist/utils/cursor-retrieval-env.js.map +1 -0
- package/dist/utils/project-capabilities.d.ts.map +1 -1
- package/dist/utils/project-capabilities.js +22 -15
- package/dist/utils/project-capabilities.js.map +1 -1
- package/dist/utils/retrieval-agent-instructions.d.ts.map +1 -1
- package/dist/utils/retrieval-agent-instructions.js +37 -21
- package/dist/utils/retrieval-agent-instructions.js.map +1 -1
- package/dist/utils/retrieval-tool-classification.d.ts +2 -0
- package/dist/utils/retrieval-tool-classification.d.ts.map +1 -1
- package/dist/utils/retrieval-tool-classification.js +10 -2
- package/dist/utils/retrieval-tool-classification.js.map +1 -1
- package/dist/utils/semantic-plan-gate.d.ts +8 -0
- package/dist/utils/semantic-plan-gate.d.ts.map +1 -0
- package/dist/utils/semantic-plan-gate.js +42 -0
- package/dist/utils/semantic-plan-gate.js.map +1 -0
- package/package.json +3 -2
|
@@ -37,12 +37,14 @@ export declare const commonTaskDashboard: string;
|
|
|
37
37
|
export declare const commonTaskGates: string;
|
|
38
38
|
export declare const commonTaskMap: string;
|
|
39
39
|
export declare const commonParentOrchestration: string;
|
|
40
|
+
export declare const commonSubagentDispatch: string;
|
|
40
41
|
export declare const commonArtifactSearch: string;
|
|
41
42
|
export declare const commonSessionMemory: string;
|
|
42
43
|
export declare const commonSmartSearchEvidence: string;
|
|
43
44
|
export declare const commonSmartSearchResolve: string;
|
|
44
45
|
export declare const commonRetrievalEvidence: string;
|
|
45
46
|
export declare const commonCodebaseRetrievalRouter: string;
|
|
47
|
+
export declare const commonCursorRetrievalEnv: string;
|
|
46
48
|
export declare const commonProjectFileStats: string;
|
|
47
49
|
export declare const commonRetrievalToolClassification: string;
|
|
48
50
|
export declare const aggregateRetrievalTelemetryScript: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/trellis/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/trellis/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,12 +47,14 @@ export const commonTaskDashboard = readTemplate("scripts/common/task_dashboard.p
|
|
|
47
47
|
export const commonTaskGates = readTemplate("scripts/common/task_gates.py");
|
|
48
48
|
export const commonTaskMap = readTemplate("scripts/common/task_map.py");
|
|
49
49
|
export const commonParentOrchestration = readTemplate("scripts/common/parent_orchestration.py");
|
|
50
|
+
export const commonSubagentDispatch = readTemplate("scripts/common/subagent_dispatch.py");
|
|
50
51
|
export const commonArtifactSearch = readTemplate("scripts/common/artifact_search.py");
|
|
51
52
|
export const commonSessionMemory = readTemplate("scripts/common/session_memory.py");
|
|
52
53
|
export const commonSmartSearchEvidence = readTemplate("scripts/common/smart_search_evidence.py");
|
|
53
54
|
export const commonSmartSearchResolve = readTemplate("scripts/common/smart_search_resolve.py");
|
|
54
55
|
export const commonRetrievalEvidence = readTemplate("scripts/common/retrieval_evidence.py");
|
|
55
56
|
export const commonCodebaseRetrievalRouter = readTemplate("scripts/common/codebase_retrieval_router.py");
|
|
57
|
+
export const commonCursorRetrievalEnv = readTemplate("scripts/common/cursor_retrieval_env.py");
|
|
56
58
|
export const commonProjectFileStats = readTemplate("scripts/common/project_file_stats.py");
|
|
57
59
|
export const commonRetrievalToolClassification = readTemplate("scripts/common/retrieval_tool_classification.py");
|
|
58
60
|
export const aggregateRetrievalTelemetryScript = readTemplate("scripts/aggregate_retrieval_telemetry.py");
|
|
@@ -149,12 +151,14 @@ export function getAllScripts() {
|
|
|
149
151
|
scripts.set("common/task_gates.py", commonTaskGates);
|
|
150
152
|
scripts.set("common/task_map.py", commonTaskMap);
|
|
151
153
|
scripts.set("common/parent_orchestration.py", commonParentOrchestration);
|
|
154
|
+
scripts.set("common/subagent_dispatch.py", commonSubagentDispatch);
|
|
152
155
|
scripts.set("common/artifact_search.py", commonArtifactSearch);
|
|
153
156
|
scripts.set("common/session_memory.py", commonSessionMemory);
|
|
154
157
|
scripts.set("common/smart_search_evidence.py", commonSmartSearchEvidence);
|
|
155
158
|
scripts.set("common/smart_search_resolve.py", commonSmartSearchResolve);
|
|
156
159
|
scripts.set("common/retrieval_evidence.py", commonRetrievalEvidence);
|
|
157
160
|
scripts.set("common/codebase_retrieval_router.py", commonCodebaseRetrievalRouter);
|
|
161
|
+
scripts.set("common/cursor_retrieval_env.py", commonCursorRetrievalEnv);
|
|
158
162
|
scripts.set("common/project_file_stats.py", commonProjectFileStats);
|
|
159
163
|
scripts.set("common/retrieval_tool_classification.py", commonRetrievalToolClassification);
|
|
160
164
|
scripts.set("common/retrieval_agent_instructions.py", commonRetrievalAgentInstructions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/trellis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,SAAS,YAAY,CAAC,YAAoB;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,gCAAgC;AAChC,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC;AAE/D,0BAA0B;AAC1B,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,yBAAyB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAC9C,mCAAmC,CACpC,CAAC;AACF,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,yBAAyB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,yBAAyB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC,gCAAgC,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAC7C,kCAAkC,CACnC,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CACnD,wCAAwC,CACzC,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAC9C,mCAAmC,CACpC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAC7C,kCAAkC,CACnC,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CACnD,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAClD,wCAAwC,CACzC,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CACjD,sCAAsC,CACvC,CAAC;AACF,MAAM,CAAC,MAAM,6BAA6B,GAAG,YAAY,CACvD,6CAA6C,CAC9C,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAChD,sCAAsC,CACvC,CAAC;AACF,MAAM,CAAC,MAAM,iCAAiC,GAAG,YAAY,CAC3D,iDAAiD,CAClD,CAAC;AACF,MAAM,CAAC,MAAM,iCAAiC,GAAG,YAAY,CAC3D,0CAA0C,CAC3C,CAAC;AACF,MAAM,CAAC,MAAM,gCAAgC,GAAG,YAAY,CAC1D,gDAAgD,CACjD,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CACjD,uCAAuC,CACxC,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAChD,sCAAsC,CACvC,CAAC;AACF,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CACtD,4CAA4C,CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,6BAA6B,GAAG,YAAY,CACvD,sCAAsC,CACvC,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CACjD,gCAAgC,CACjC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,8BAA8B,GAAG,YAAY,CACxD,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC,gCAAgC,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC,kCAAkC,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CACpD,0CAA0C,CAC3C,CAAC;AACF,MAAM,CAAC,MAAM,8BAA8B,GAAG,YAAY,CACxD,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAC9C,mCAAmC,CACpC,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAC/C,oCAAoC,CACrC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAC7C,kCAAkC,CACnC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAC7C,kCAAkC,CACnC,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAE9E,wBAAwB;AACxB,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AACjF,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,iCAAiC,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CACtD,qCAAqC,CACtC,CAAC;AACF,MAAM,CAAC,MAAM,2BAA2B,GAAG,YAAY,CACrD,oCAAoC,CACrC,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAE/D,MAAM,qCAAqC,GAAG;IAC5C,QAAQ;IACR,WAAW;IACX,cAAc;IACd,qBAAqB;CACb,CAAC;AAEX,MAAM,qCAAqC,GAAG;IAC5C,QAAQ;IACR,WAAW;IACX,cAAc;IACd,qBAAqB;CACb,CAAC;AAEX,SAAS,gBAAgB,CAAC,YAAoB;IAC5C,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,qCAAqC,EAAE,CAAC;QACzD,SAAS,CAAC,GAAG,CACX,qCAAqC,IAAI,EAAE,EAC3C,gBAAgB,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAC9C,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,qCAAqC,EAAE,CAAC;QACzD,SAAS,CAAC,GAAG,CACX,qCAAqC,IAAI,EAAE,EAC3C,gBAAgB,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1C,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAExC,SAAS;IACT,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,yBAAyB,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,yBAAyB,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,wBAAwB,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,uBAAuB,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,6BAA6B,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,sBAAsB,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CACT,yCAAyC,EACzC,iCAAiC,CAClC,CAAC;IACF,OAAO,CAAC,GAAG,CACT,wCAAwC,EACxC,gCAAgC,CACjC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,uBAAuB,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,sBAAsB,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,4BAA4B,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,8BAA8B,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,0BAA0B,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,8BAA8B,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,qBAAqB,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;IAEvD,OAAO;IACP,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,wBAAwB,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,4BAA4B,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,2BAA2B,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CACT,kCAAkC,EAClC,iCAAiC,CAClC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IAEtD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/trellis/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,12 @@ import re
|
|
|
13
13
|
from pathlib import Path
|
|
14
14
|
from typing import Any
|
|
15
15
|
|
|
16
|
+
from .cursor_retrieval_env import (
|
|
17
|
+
ENV_BYOK,
|
|
18
|
+
detect_cursor_retrieval_env,
|
|
19
|
+
semantic_route_spec,
|
|
20
|
+
)
|
|
21
|
+
|
|
16
22
|
ROUTER_VERSION = 2
|
|
17
23
|
|
|
18
24
|
PLATFORM_CURSOR = "cursor"
|
|
@@ -439,11 +445,32 @@ def _large_project(project_file_count: int | None) -> bool:
|
|
|
439
445
|
return project_file_count > 2000
|
|
440
446
|
|
|
441
447
|
|
|
448
|
+
def _platform_semantic_route(
|
|
449
|
+
*,
|
|
450
|
+
base_rationale: str,
|
|
451
|
+
cursor_env: str,
|
|
452
|
+
) -> dict[str, object]:
|
|
453
|
+
spec = semantic_route_spec(cursor_env)
|
|
454
|
+
suffix = str(spec.get("rationale_suffix", ""))
|
|
455
|
+
commands = spec.get("commands")
|
|
456
|
+
cmd_list = list(commands) if isinstance(commands, list) else []
|
|
457
|
+
return {
|
|
458
|
+
"id": "platform-semantic",
|
|
459
|
+
"role": "semantic",
|
|
460
|
+
"sourceFamily": "platform-semantic",
|
|
461
|
+
"commands": cmd_list,
|
|
462
|
+
"rationale": base_rationale + suffix,
|
|
463
|
+
"platformNative": bool(spec.get("platformNative", False)),
|
|
464
|
+
"semanticBackend": spec.get("semanticBackend"),
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
|
|
442
468
|
def _ordered_routes(
|
|
443
469
|
intents: list[dict[str, object]],
|
|
444
470
|
include_optional_adapters: bool,
|
|
445
471
|
*,
|
|
446
472
|
project_file_count: int | None = None,
|
|
473
|
+
cursor_env: str | None = None,
|
|
447
474
|
) -> list[dict[str, object]]:
|
|
448
475
|
ids = {str(item["id"]) for item in intents}
|
|
449
476
|
active = list(ids)
|
|
@@ -459,6 +486,7 @@ def _ordered_routes(
|
|
|
459
486
|
conceptual_primary = conceptual and not preserve and not exact_primary_first
|
|
460
487
|
large = _large_project(project_file_count)
|
|
461
488
|
semantic_promoted = False
|
|
489
|
+
cenv = cursor_env or detect_cursor_retrieval_env()
|
|
462
490
|
|
|
463
491
|
routes: list[dict[str, object]] = []
|
|
464
492
|
|
|
@@ -542,14 +570,7 @@ def _ordered_routes(
|
|
|
542
570
|
if policy
|
|
543
571
|
else "Conceptual query without exact signals; semantic recall before exact rg narrowing."
|
|
544
572
|
)
|
|
545
|
-
append(
|
|
546
|
-
"id": "platform-semantic",
|
|
547
|
-
"role": "semantic",
|
|
548
|
-
"sourceFamily": "platform-semantic",
|
|
549
|
-
"commands": ["cursor @codebase or built-in semantic search"],
|
|
550
|
-
"rationale": semantic_rationale + " (Cursor built-in semantic search)",
|
|
551
|
-
"platformNative": True,
|
|
552
|
-
})
|
|
573
|
+
append(_platform_semantic_route(base_rationale=semantic_rationale, cursor_env=cenv))
|
|
553
574
|
semantic_promoted = True
|
|
554
575
|
append({
|
|
555
576
|
"id": "exact-rg-primary",
|
|
@@ -638,24 +659,25 @@ def _ordered_routes(
|
|
|
638
659
|
})
|
|
639
660
|
append({
|
|
640
661
|
"id": "lsp-navigation",
|
|
641
|
-
"role": "
|
|
642
|
-
"sourceFamily": "
|
|
643
|
-
"commands": [
|
|
662
|
+
"role": "ast",
|
|
663
|
+
"sourceFamily": "codegraph",
|
|
664
|
+
"commands": [
|
|
665
|
+
"codegraph_node <symbol> --includeCode",
|
|
666
|
+
"codegraph_search <symbol>",
|
|
667
|
+
],
|
|
644
668
|
"rationale": (
|
|
645
|
-
"
|
|
646
|
-
"
|
|
669
|
+
"Definition/reference via codegraph (Cursor Agent does not expose "
|
|
670
|
+
"GO_TO_DEFINITION); corroborate with Read on returned line ranges."
|
|
647
671
|
),
|
|
648
|
-
"platformNative":
|
|
672
|
+
"platformNative": False,
|
|
649
673
|
})
|
|
650
674
|
if not semantic_promoted:
|
|
651
|
-
append(
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
"platformNative": True,
|
|
658
|
-
})
|
|
675
|
+
append(
|
|
676
|
+
_platform_semantic_route(
|
|
677
|
+
base_rationale="Semantic recall for conceptual narrowing.",
|
|
678
|
+
cursor_env=cenv,
|
|
679
|
+
)
|
|
680
|
+
)
|
|
659
681
|
|
|
660
682
|
append({
|
|
661
683
|
"id": "verification-source-git-tests",
|
|
@@ -678,6 +700,8 @@ def _fallback_hints(
|
|
|
678
700
|
intents: list[dict[str, object]],
|
|
679
701
|
include_optional_adapters: bool,
|
|
680
702
|
routes: list[dict[str, object]],
|
|
703
|
+
*,
|
|
704
|
+
cursor_env: str | None = None,
|
|
681
705
|
) -> list[dict[str, object]]:
|
|
682
706
|
hints: list[dict[str, object]] = [
|
|
683
707
|
{
|
|
@@ -688,7 +712,22 @@ def _fallback_hints(
|
|
|
688
712
|
if not include_optional_adapters:
|
|
689
713
|
hints.append({
|
|
690
714
|
"when": "codebase-retrieval not selected",
|
|
691
|
-
"action": "Skip optional AST/
|
|
715
|
+
"action": "Skip optional AST/semantic routes; use exact search and verification.",
|
|
716
|
+
"replacesRole": "semantic",
|
|
717
|
+
})
|
|
718
|
+
cenv = cursor_env or detect_cursor_retrieval_env()
|
|
719
|
+
if cenv == ENV_BYOK:
|
|
720
|
+
hints.append({
|
|
721
|
+
"when": "built-in @codebase / SemanticSearch not in agent tool list",
|
|
722
|
+
"action": (
|
|
723
|
+
"Use fast_context_search (fast-context MCP) per platform-semantic route; "
|
|
724
|
+
"do not use WebSearch for codebase questions."
|
|
725
|
+
),
|
|
726
|
+
"replacesRole": "semantic",
|
|
727
|
+
})
|
|
728
|
+
hints.append({
|
|
729
|
+
"when": "DEEP_SEARCH not available for wide cross-cutting explore",
|
|
730
|
+
"action": "Use Task subagent (explore), then Grep/codegraph/Read to verify.",
|
|
692
731
|
"replacesRole": "semantic",
|
|
693
732
|
})
|
|
694
733
|
if any(str(item["id"]) == INTENT_POLICY for item in intents):
|
|
@@ -716,8 +755,8 @@ def _fallback_hints(
|
|
|
716
755
|
"(or only trap hits) before final Top-1"
|
|
717
756
|
),
|
|
718
757
|
"action": (
|
|
719
|
-
"Use
|
|
720
|
-
"then narrow with rg on returned keywords and paths."
|
|
758
|
+
"Use fast_context_search (BYOK) or Cursor built-in semantic search (Native) "
|
|
759
|
+
"per platform-semantic route, then narrow with rg on returned keywords and paths."
|
|
721
760
|
),
|
|
722
761
|
"replacesRole": "semantic",
|
|
723
762
|
})
|
|
@@ -754,26 +793,33 @@ def route_codebase_retrieval(
|
|
|
754
793
|
*,
|
|
755
794
|
codebase_retrieval_selected: bool = True,
|
|
756
795
|
project_file_count: int | None = None,
|
|
796
|
+
cursor_env: str | None = None,
|
|
757
797
|
) -> dict[str, object]:
|
|
758
798
|
"""Return the shared evidence envelope with router-owned fields populated."""
|
|
759
799
|
normalized = _normalize_query(query)
|
|
760
800
|
include_optional = codebase_retrieval_selected
|
|
801
|
+
cenv = cursor_env or detect_cursor_retrieval_env()
|
|
761
802
|
if not normalized:
|
|
762
803
|
intents = [
|
|
763
804
|
_intent(INTENT_EXACT, "General codebase (exact baseline)", ["empty-query"], "low", True)
|
|
764
805
|
]
|
|
765
806
|
empty_routes = _ordered_routes(
|
|
766
|
-
intents,
|
|
807
|
+
intents,
|
|
808
|
+
include_optional,
|
|
767
809
|
project_file_count=project_file_count,
|
|
810
|
+
cursor_env=cenv,
|
|
768
811
|
)
|
|
769
812
|
return {
|
|
770
813
|
"version": ROUTER_VERSION,
|
|
771
814
|
"query": normalized,
|
|
815
|
+
"cursorEnv": cenv,
|
|
772
816
|
"intents": intents,
|
|
773
817
|
"routes": empty_routes,
|
|
774
818
|
"adapterState": [],
|
|
775
819
|
"freshness": [],
|
|
776
|
-
"fallback": _fallback_hints(
|
|
820
|
+
"fallback": _fallback_hints(
|
|
821
|
+
intents, include_optional, empty_routes, cursor_env=cenv
|
|
822
|
+
),
|
|
777
823
|
"warnings": ["Empty query; only baseline exact route is emitted."],
|
|
778
824
|
"verification": _base_verification(),
|
|
779
825
|
"projectFileCount": project_file_count,
|
|
@@ -781,17 +827,20 @@ def route_codebase_retrieval(
|
|
|
781
827
|
|
|
782
828
|
intents = _classify_intents(normalized)
|
|
783
829
|
routes = _ordered_routes(
|
|
784
|
-
intents,
|
|
830
|
+
intents,
|
|
831
|
+
include_optional,
|
|
785
832
|
project_file_count=project_file_count,
|
|
833
|
+
cursor_env=cenv,
|
|
786
834
|
)
|
|
787
835
|
return {
|
|
788
836
|
"version": ROUTER_VERSION,
|
|
789
837
|
"query": normalized,
|
|
838
|
+
"cursorEnv": cenv,
|
|
790
839
|
"intents": intents,
|
|
791
840
|
"routes": routes,
|
|
792
841
|
"adapterState": [],
|
|
793
842
|
"freshness": [],
|
|
794
|
-
"fallback": _fallback_hints(intents, include_optional, routes),
|
|
843
|
+
"fallback": _fallback_hints(intents, include_optional, routes, cursor_env=cenv),
|
|
795
844
|
"warnings": _warnings(intents),
|
|
796
845
|
"verification": _verification_for_intents(intents),
|
|
797
846
|
"projectFileCount": project_file_count,
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"""Detect Cursor Native vs Cursor++ BYOK for retrieval routing."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import json
|
|
6
|
+
import os
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
from typing import Any
|
|
9
|
+
|
|
10
|
+
ENV_NATIVE = "native"
|
|
11
|
+
ENV_BYOK = "byok"
|
|
12
|
+
ENV_UNKNOWN = "unknown"
|
|
13
|
+
|
|
14
|
+
CursorRetrievalEnv = str # native | byok | unknown
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def ccursor_home() -> Path:
|
|
18
|
+
env = os.environ.get("TRELLIS_CCURSOR_HOME", "").strip()
|
|
19
|
+
if env:
|
|
20
|
+
return Path(env).expanduser()
|
|
21
|
+
return Path.home() / ".ccursor"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def detect_cursor_retrieval_env() -> CursorRetrievalEnv:
|
|
25
|
+
"""Return native | byok | unknown.
|
|
26
|
+
|
|
27
|
+
Override: TRELLIS_CURSOR_BYOK=1|0
|
|
28
|
+
"""
|
|
29
|
+
info = detect_cursor_retrieval_env_info()
|
|
30
|
+
env = info.get("env")
|
|
31
|
+
if env in (ENV_NATIVE, ENV_BYOK, ENV_UNKNOWN):
|
|
32
|
+
return str(env)
|
|
33
|
+
return ENV_UNKNOWN
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def detect_cursor_retrieval_env_info() -> dict[str, Any]:
|
|
37
|
+
"""Full detection record (for probes and envelopes)."""
|
|
38
|
+
env_override = os.environ.get("TRELLIS_CURSOR_BYOK", "").strip()
|
|
39
|
+
if env_override == "1":
|
|
40
|
+
return {"env": ENV_BYOK, "source": "env-override", "byokMode": 1}
|
|
41
|
+
if env_override == "0":
|
|
42
|
+
return {"env": ENV_NATIVE, "source": "env-override", "byokMode": 0}
|
|
43
|
+
|
|
44
|
+
routes_path = ccursor_home() / "routes.json"
|
|
45
|
+
if not routes_path.is_file():
|
|
46
|
+
return {
|
|
47
|
+
"env": ENV_UNKNOWN,
|
|
48
|
+
"source": "routes-not-found",
|
|
49
|
+
"byokMode": None,
|
|
50
|
+
"routes_path": str(routes_path),
|
|
51
|
+
}
|
|
52
|
+
try:
|
|
53
|
+
routes = json.loads(routes_path.read_text(encoding="utf-8"))
|
|
54
|
+
except (OSError, json.JSONDecodeError) as exc:
|
|
55
|
+
return {
|
|
56
|
+
"env": ENV_UNKNOWN,
|
|
57
|
+
"source": "routes-parse-error",
|
|
58
|
+
"byokMode": None,
|
|
59
|
+
"error": str(exc),
|
|
60
|
+
"routes_path": str(routes_path),
|
|
61
|
+
}
|
|
62
|
+
byok = routes.get("byokMode")
|
|
63
|
+
env = ENV_BYOK if byok == 1 else ENV_NATIVE if byok == 0 else ENV_UNKNOWN
|
|
64
|
+
redirect = routes.get("redirect", [])
|
|
65
|
+
return {
|
|
66
|
+
"env": env,
|
|
67
|
+
"source": "routes.json",
|
|
68
|
+
"byokMode": byok,
|
|
69
|
+
"routes_path": str(routes_path),
|
|
70
|
+
"redirect_endpoints": list(redirect) if isinstance(redirect, list) else [],
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def is_byok(env: CursorRetrievalEnv | None = None) -> bool:
|
|
75
|
+
return (env or detect_cursor_retrieval_env()) == ENV_BYOK
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def semantic_route_spec(cursor_env: CursorRetrievalEnv) -> dict[str, object]:
|
|
79
|
+
"""platform-semantic route fields for conceptual / optional semantic slots."""
|
|
80
|
+
if cursor_env == ENV_BYOK:
|
|
81
|
+
return {
|
|
82
|
+
"commands": ["fast_context_search (fast-context MCP)"],
|
|
83
|
+
"rationale_suffix": " Cursor++ BYOK: built-in semantic unavailable; fast-context MCP primary.",
|
|
84
|
+
"platformNative": False,
|
|
85
|
+
"semanticBackend": "fast-context-mcp",
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
"commands": ["cursor @codebase or built-in semantic search"],
|
|
89
|
+
"rationale_suffix": " Cursor built-in semantic search.",
|
|
90
|
+
"platformNative": True,
|
|
91
|
+
"semanticBackend": "cursor-builtin",
|
|
92
|
+
}
|
|
@@ -11,6 +11,7 @@ from __future__ import annotations
|
|
|
11
11
|
from datetime import datetime, timezone
|
|
12
12
|
from typing import Any
|
|
13
13
|
|
|
14
|
+
from common.cursor_retrieval_env import ENV_BYOK, detect_cursor_retrieval_env
|
|
14
15
|
from common.retrieval_evidence import (
|
|
15
16
|
SOURCE_ARTIFACT_SEARCH,
|
|
16
17
|
SOURCE_CODEBASE_EVIDENCE,
|
|
@@ -71,7 +72,6 @@ REQUIRED_ADAPTERS = frozenset({ADAPTER_RG, ADAPTER_VERIFICATION})
|
|
|
71
72
|
OPTIONAL_INTEGRATION_ADAPTERS = (
|
|
72
73
|
ADAPTER_CODEGRAPH,
|
|
73
74
|
ADAPTER_LSP,
|
|
74
|
-
ADAPTER_FAST_CONTEXT,
|
|
75
75
|
ADAPTER_MCP,
|
|
76
76
|
ADAPTER_BROWSER,
|
|
77
77
|
ADAPTER_NETWORK,
|
|
@@ -236,15 +236,11 @@ def build_adapter_states(
|
|
|
236
236
|
optional_integration_adapter_state(adapter=adapter, hints=hints)
|
|
237
237
|
)
|
|
238
238
|
|
|
239
|
-
# Platform-semantic: Cursor built-in semantic search (replaces fast-context)
|
|
240
239
|
states.append(
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
invoked=False,
|
|
246
|
-
reason="Platform-native semantic search on Cursor (e.g. @codebase); supersedes fast-context",
|
|
247
|
-
)
|
|
240
|
+
platform_semantic_adapter_state(router=router, hints=hints)
|
|
241
|
+
)
|
|
242
|
+
states.append(
|
|
243
|
+
fast_context_adapter_state(router=router, hints=hints)
|
|
248
244
|
)
|
|
249
245
|
|
|
250
246
|
states.append(
|
|
@@ -441,6 +437,101 @@ def codebase_adapter_state(
|
|
|
441
437
|
)
|
|
442
438
|
|
|
443
439
|
|
|
440
|
+
def resolve_cursor_env_for_adapter_metadata(
|
|
441
|
+
router: dict[str, Any] | None,
|
|
442
|
+
) -> str:
|
|
443
|
+
"""native | byok | unknown for retrieval-pack adapter reasons."""
|
|
444
|
+
router = router or {}
|
|
445
|
+
env = string_value(router.get("cursorEnv"))
|
|
446
|
+
if env in ("native", "byok", "unknown"):
|
|
447
|
+
return env
|
|
448
|
+
return detect_cursor_retrieval_env()
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
def platform_semantic_adapter_state(
|
|
452
|
+
*,
|
|
453
|
+
router: dict[str, Any] | None,
|
|
454
|
+
hints: dict[str, dict[str, Any]],
|
|
455
|
+
) -> dict[str, object]:
|
|
456
|
+
hint = hints.get(ADAPTER_PLATFORM_SEMANTIC, {})
|
|
457
|
+
if hint:
|
|
458
|
+
return adapter_state_entry(
|
|
459
|
+
adapter=ADAPTER_PLATFORM_SEMANTIC,
|
|
460
|
+
state=resolve_hint_state(hints, ADAPTER_PLATFORM_SEMANTIC, default=STATE_SKIPPED),
|
|
461
|
+
required=False,
|
|
462
|
+
invoked=bool(hint.get("invoked")),
|
|
463
|
+
reason=string_value(hint.get("reason")) or "platform-semantic adapter hint",
|
|
464
|
+
)
|
|
465
|
+
env = resolve_cursor_env_for_adapter_metadata(router)
|
|
466
|
+
if env == ENV_BYOK:
|
|
467
|
+
reason = (
|
|
468
|
+
"Cursor++ BYOK: built-in codebase semantic often absent (Experiment D); "
|
|
469
|
+
"concept recall Primary is fast-context MCP per router cursorEnv"
|
|
470
|
+
)
|
|
471
|
+
state = STATE_UNAVAILABLE
|
|
472
|
+
elif env == "native":
|
|
473
|
+
reason = (
|
|
474
|
+
"Cursor Native: built-in codebase semantic (e.g. SemanticSearch / @codebase) "
|
|
475
|
+
"is Primary for concept recall"
|
|
476
|
+
)
|
|
477
|
+
state = STATE_AVAILABLE
|
|
478
|
+
else:
|
|
479
|
+
reason = (
|
|
480
|
+
"Cursor platform-semantic: Native uses built-in search; BYOK uses fast-context "
|
|
481
|
+
"when cursorEnv is byok (see cursor_retrieval_env)"
|
|
482
|
+
)
|
|
483
|
+
state = STATE_UNVERIFIED
|
|
484
|
+
return adapter_state_entry(
|
|
485
|
+
adapter=ADAPTER_PLATFORM_SEMANTIC,
|
|
486
|
+
state=state,
|
|
487
|
+
required=False,
|
|
488
|
+
invoked=False,
|
|
489
|
+
reason=reason,
|
|
490
|
+
)
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
def fast_context_adapter_state(
|
|
494
|
+
*,
|
|
495
|
+
router: dict[str, Any] | None,
|
|
496
|
+
hints: dict[str, dict[str, Any]],
|
|
497
|
+
) -> dict[str, object]:
|
|
498
|
+
hint = hints.get(ADAPTER_FAST_CONTEXT, {})
|
|
499
|
+
if hint:
|
|
500
|
+
return adapter_state_entry(
|
|
501
|
+
adapter=ADAPTER_FAST_CONTEXT,
|
|
502
|
+
state=resolve_hint_state(hints, ADAPTER_FAST_CONTEXT, default=STATE_SKIPPED),
|
|
503
|
+
required=False,
|
|
504
|
+
invoked=bool(hint.get("invoked")),
|
|
505
|
+
reason=string_value(hint.get("reason")) or "fast-context-mcp adapter hint",
|
|
506
|
+
)
|
|
507
|
+
env = resolve_cursor_env_for_adapter_metadata(router)
|
|
508
|
+
if env == ENV_BYOK:
|
|
509
|
+
reason = (
|
|
510
|
+
"Cursor++ BYOK: fast_context_search is compliant Primary for concept recall "
|
|
511
|
+
"(select codebase-retrieval at init for .cursor/mcp.json fast-context entry)"
|
|
512
|
+
)
|
|
513
|
+
state = STATE_AVAILABLE
|
|
514
|
+
elif env == "native":
|
|
515
|
+
reason = (
|
|
516
|
+
"Cursor Native: prefer built-in platform-semantic; fast-context is optional "
|
|
517
|
+
"and misuse when plan requires native semantic"
|
|
518
|
+
)
|
|
519
|
+
state = STATE_SKIPPED
|
|
520
|
+
else:
|
|
521
|
+
reason = (
|
|
522
|
+
"fast-context MCP: required for BYOK concept recall on Cursor when "
|
|
523
|
+
"codebase-retrieval capability is selected"
|
|
524
|
+
)
|
|
525
|
+
state = STATE_UNVERIFIED
|
|
526
|
+
return adapter_state_entry(
|
|
527
|
+
adapter=ADAPTER_FAST_CONTEXT,
|
|
528
|
+
state=state,
|
|
529
|
+
required=False,
|
|
530
|
+
invoked=False,
|
|
531
|
+
reason=reason,
|
|
532
|
+
)
|
|
533
|
+
|
|
534
|
+
|
|
444
535
|
def optional_integration_adapter_state(
|
|
445
536
|
*,
|
|
446
537
|
adapter: str,
|