@velum-labs/cursorkit 0.1.0
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/DISCLAIMER.md +12 -0
- package/README.md +157 -0
- package/dist/src/agentTools/diff.d.ts +11 -0
- package/dist/src/agentTools/diff.js +88 -0
- package/dist/src/agentTools/policy.d.ts +3 -0
- package/dist/src/agentTools/policy.js +12 -0
- package/dist/src/agentTools/registry.d.ts +114 -0
- package/dist/src/agentTools/registry.js +663 -0
- package/dist/src/agentTools/results.d.ts +14 -0
- package/dist/src/agentTools/results.js +117 -0
- package/dist/src/agentTools/schemas.d.ts +3 -0
- package/dist/src/agentTools/schemas.js +89 -0
- package/dist/src/agentTools/surface.d.ts +11 -0
- package/dist/src/agentTools/surface.js +251 -0
- package/dist/src/certs.d.ts +8 -0
- package/dist/src/certs.js +34 -0
- package/dist/src/ck.d.ts +2 -0
- package/dist/src/ck.js +6 -0
- package/dist/src/ckLauncher.d.ts +150 -0
- package/dist/src/ckLauncher.js +1496 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.js +265 -0
- package/dist/src/config.d.ts +52 -0
- package/dist/src/config.js +210 -0
- package/dist/src/connectEnvelope.d.ts +16 -0
- package/dist/src/connectEnvelope.js +70 -0
- package/dist/src/desktop.d.ts +19 -0
- package/dist/src/desktop.js +167 -0
- package/dist/src/desktopConnectProxy.d.ts +26 -0
- package/dist/src/desktopConnectProxy.js +175 -0
- package/dist/src/extensions/index.d.ts +2 -0
- package/dist/src/extensions/index.js +1 -0
- package/dist/src/extensions/registry.d.ts +8 -0
- package/dist/src/extensions/registry.js +52 -0
- package/dist/src/extensions/types.d.ts +42 -0
- package/dist/src/extensions/types.js +1 -0
- package/dist/src/fixtures/modelFusion.d.ts +103 -0
- package/dist/src/fixtures/modelFusion.js +404 -0
- package/dist/src/fixtures/replay.d.ts +9 -0
- package/dist/src/fixtures/replay.js +41 -0
- package/dist/src/fixtures/sanitizer.d.ts +9 -0
- package/dist/src/fixtures/sanitizer.js +43 -0
- package/dist/src/fixtures/schema.d.ts +38 -0
- package/dist/src/fixtures/schema.js +33 -0
- package/dist/src/gen/agent/v1/agent_pb.d.ts +21577 -0
- package/dist/src/gen/agent/v1/agent_pb.js +5325 -0
- package/dist/src/gen/aiserver/v1/aiserver_pb.d.ts +135242 -0
- package/dist/src/gen/aiserver/v1/aiserver_pb.js +34430 -0
- package/dist/src/gen/anyrun/v1/anyrun_pb.d.ts +1163 -0
- package/dist/src/gen/anyrun/v1/anyrun_pb.js +374 -0
- package/dist/src/gen/google/protobuf/google_pb.d.ts +142 -0
- package/dist/src/gen/google/protobuf/google_pb.js +54 -0
- package/dist/src/gen/internapi/v1/internapi_pb.d.ts +121 -0
- package/dist/src/gen/internapi/v1/internapi_pb.js +79 -0
- package/dist/src/logger.d.ts +8 -0
- package/dist/src/logger.js +37 -0
- package/dist/src/modelFusion/cursorHarness.d.ts +146 -0
- package/dist/src/modelFusion/cursorHarness.js +647 -0
- package/dist/src/modelFusion/index.d.ts +4 -0
- package/dist/src/modelFusion/index.js +2 -0
- package/dist/src/models/registry.d.ts +22 -0
- package/dist/src/models/registry.js +30 -0
- package/dist/src/proto.d.ts +13 -0
- package/dist/src/proto.js +61 -0
- package/dist/src/providers/openai.d.ts +64 -0
- package/dist/src/providers/openai.js +355 -0
- package/dist/src/redaction.d.ts +4 -0
- package/dist/src/redaction.js +65 -0
- package/dist/src/routeInventory.d.ts +16 -0
- package/dist/src/routeInventory.js +39 -0
- package/dist/src/routes.d.ts +37 -0
- package/dist/src/routes.js +227 -0
- package/dist/src/server.d.ts +50 -0
- package/dist/src/server.js +1353 -0
- package/dist/src/services/agent.d.ts +1 -0
- package/dist/src/services/agent.js +7 -0
- package/dist/src/services/agentRun.d.ts +60 -0
- package/dist/src/services/agentRun.js +391 -0
- package/dist/src/services/chat.d.ts +11 -0
- package/dist/src/services/chat.js +47 -0
- package/dist/src/services/models.d.ts +10 -0
- package/dist/src/services/models.js +216 -0
- package/dist/src/services/serverConfig.d.ts +2 -0
- package/dist/src/services/serverConfig.js +19 -0
- package/dist/src/testing/artifacts.d.ts +14 -0
- package/dist/src/testing/artifacts.js +92 -0
- package/dist/src/testing/cli.d.ts +4 -0
- package/dist/src/testing/cli.js +192 -0
- package/dist/src/testing/localBackend.d.ts +24 -0
- package/dist/src/testing/localBackend.js +310 -0
- package/dist/src/testing/processRunner.d.ts +7 -0
- package/dist/src/testing/processRunner.js +74 -0
- package/dist/src/testing/runner.d.ts +9 -0
- package/dist/src/testing/runner.js +85 -0
- package/dist/src/testing/scenarios.d.ts +3 -0
- package/dist/src/testing/scenarios.js +2535 -0
- package/dist/src/testing/types.d.ts +66 -0
- package/dist/src/testing/types.js +1 -0
- package/dist/src/tools/baselineInventory.d.ts +12 -0
- package/dist/src/tools/baselineInventory.js +680 -0
- package/dist/src/tools/checkModelFusionProtocol.d.ts +1 -0
- package/dist/src/tools/checkModelFusionProtocol.js +274 -0
- package/dist/src/tools/checkReleasePublishConfig.d.ts +1 -0
- package/dist/src/tools/checkReleasePublishConfig.js +99 -0
- package/dist/src/tools/generateProtoInventory.d.ts +1 -0
- package/dist/src/tools/generateProtoInventory.js +89 -0
- package/dist/src/tools/normalizeGeneratedCode.d.ts +1 -0
- package/dist/src/tools/normalizeGeneratedCode.js +18 -0
- package/dist/src/tools/releaseCheck.d.ts +26 -0
- package/dist/src/tools/releaseCheck.js +367 -0
- package/dist/src/trace.d.ts +39 -0
- package/dist/src/trace.js +106 -0
- package/dist/src/translation.d.ts +6 -0
- package/dist/src/translation.js +22 -0
- package/dist/src/upstream.d.ts +20 -0
- package/dist/src/upstream.js +270 -0
- package/docs/configuration.md +55 -0
- package/docs/cursor-app.md +263 -0
- package/docs/implementation-inventory.json +609 -0
- package/docs/learnings.md +363 -0
- package/docs/model-fusion-protocol-origin.json +126 -0
- package/docs/model-fusion-protocol.md +110 -0
- package/docs/plugin-authoring.md +24 -0
- package/docs/proto-inventory.md +1477 -0
- package/docs/protocol-surface-audit.md +92 -0
- package/docs/protocol.md +52 -0
- package/docs/refreshing-protos.md +78 -0
- package/docs/release-gates.md +110 -0
- package/docs/release-summary.json +86 -0
- package/docs/route-contract-manifest.json +288 -0
- package/docs/route-policy.json +133 -0
- package/docs/service-manifest.json +9490 -0
- package/docs/test-manifest.json +155 -0
- package/docs/testing-harness.md +204 -0
- package/docs/troubleshooting.md +36 -0
- package/docs/type-manifest-summary.json +28927 -0
- package/package.json +93 -0
- package/proto/agent/v1/agent.proto +5371 -0
- package/proto/aiserver/v1/aiserver.proto +32944 -0
- package/proto/anyrun/v1/anyrun.proto +294 -0
- package/proto/google/protobuf/google.proto +37 -0
- package/proto/internapi/v1/internapi.proto +32 -0
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"generatedBy": "src/tools/baselineInventory.ts",
|
|
4
|
+
"sources": ["docs/service-manifest.json", "src/routes.ts", "src/config.ts"],
|
|
5
|
+
"routes": [
|
|
6
|
+
{
|
|
7
|
+
"path": "/aiserver.v1.AiService/AvailableModels",
|
|
8
|
+
"policy": "intercept",
|
|
9
|
+
"owner": "bridge-core",
|
|
10
|
+
"packageName": "aiserver.v1",
|
|
11
|
+
"service": "AiService",
|
|
12
|
+
"method": "AvailableModels",
|
|
13
|
+
"inputType": "AvailableModelsRequest",
|
|
14
|
+
"outputType": "AvailableModelsResponse",
|
|
15
|
+
"serverStreaming": false,
|
|
16
|
+
"protoBacked": true,
|
|
17
|
+
"supportLevel": "implemented",
|
|
18
|
+
"expectedMethods": ["POST"],
|
|
19
|
+
"expectedContentTypes": [
|
|
20
|
+
"application/proto",
|
|
21
|
+
"application/connect+proto"
|
|
22
|
+
],
|
|
23
|
+
"fixtureStatus": "synthetic-or-unit-covered",
|
|
24
|
+
"testStatus": "focused-tests-present",
|
|
25
|
+
"realClientEvidence": "cli-or-unit-evidence",
|
|
26
|
+
"reason": "Merge conservative local model entries with upstream models.",
|
|
27
|
+
"uncertainty": "Model metadata fields beyond local id/display/context remain fixture-gated."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"path": "/aiserver.v1.AiService/GetUsableModels",
|
|
31
|
+
"policy": "intercept",
|
|
32
|
+
"owner": "bridge-core",
|
|
33
|
+
"packageName": "aiserver.v1",
|
|
34
|
+
"service": "AiService",
|
|
35
|
+
"method": "GetUsableModels",
|
|
36
|
+
"inputType": "AgentV1_GetUsableModelsRequest",
|
|
37
|
+
"outputType": "AgentV1_GetUsableModelsResponse",
|
|
38
|
+
"serverStreaming": false,
|
|
39
|
+
"protoBacked": true,
|
|
40
|
+
"supportLevel": "implemented",
|
|
41
|
+
"expectedMethods": ["POST"],
|
|
42
|
+
"expectedContentTypes": [
|
|
43
|
+
"application/proto",
|
|
44
|
+
"application/connect+proto"
|
|
45
|
+
],
|
|
46
|
+
"fixtureStatus": "synthetic-or-unit-covered",
|
|
47
|
+
"testStatus": "focused-tests-present",
|
|
48
|
+
"realClientEvidence": "cli-or-unit-evidence",
|
|
49
|
+
"reason": "Cursor Agent CLI reads this route for its model picker; merge local model entries with upstream usable models.",
|
|
50
|
+
"uncertainty": "Desktop model picker usage must be confirmed by route inventory before adding desktop-specific assumptions."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"path": "/aiserver.v1.AiService/GetDefaultModelForCli",
|
|
54
|
+
"policy": "intercept",
|
|
55
|
+
"owner": "bridge-core",
|
|
56
|
+
"packageName": "aiserver.v1",
|
|
57
|
+
"service": "AiService",
|
|
58
|
+
"method": "GetDefaultModelForCli",
|
|
59
|
+
"inputType": "AgentV1_GetDefaultModelForCliRequest",
|
|
60
|
+
"outputType": "AgentV1_GetDefaultModelForCliResponse",
|
|
61
|
+
"serverStreaming": false,
|
|
62
|
+
"protoBacked": true,
|
|
63
|
+
"supportLevel": "implemented",
|
|
64
|
+
"expectedMethods": ["POST"],
|
|
65
|
+
"expectedContentTypes": [
|
|
66
|
+
"application/proto",
|
|
67
|
+
"application/connect+proto"
|
|
68
|
+
],
|
|
69
|
+
"fixtureStatus": "synthetic-or-unit-covered",
|
|
70
|
+
"testStatus": "focused-tests-present",
|
|
71
|
+
"realClientEvidence": "cli-or-unit-evidence",
|
|
72
|
+
"reason": "Preserve upstream's CLI default model when present; otherwise provide the first registered local model.",
|
|
73
|
+
"uncertainty": "Client-specific default selection remains gated by observed CLI/ACP traffic."
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"path": "/aiserver.v1.AiService/GetDefaultModel",
|
|
77
|
+
"policy": "intercept",
|
|
78
|
+
"owner": "bridge-core",
|
|
79
|
+
"packageName": "aiserver.v1",
|
|
80
|
+
"service": "AiService",
|
|
81
|
+
"method": "GetDefaultModel",
|
|
82
|
+
"inputType": "GetDefaultModelRequest",
|
|
83
|
+
"outputType": "GetDefaultModelResponse",
|
|
84
|
+
"serverStreaming": false,
|
|
85
|
+
"protoBacked": true,
|
|
86
|
+
"supportLevel": "implemented",
|
|
87
|
+
"expectedMethods": ["POST"],
|
|
88
|
+
"expectedContentTypes": [
|
|
89
|
+
"application/proto",
|
|
90
|
+
"application/connect+proto"
|
|
91
|
+
],
|
|
92
|
+
"fixtureStatus": "synthetic-or-unit-covered",
|
|
93
|
+
"testStatus": "focused-tests-present",
|
|
94
|
+
"realClientEvidence": "cli-or-unit-evidence",
|
|
95
|
+
"reason": "Return the first registered local model as a fallback default for non-CLI callers.",
|
|
96
|
+
"uncertainty": "Desktop reliance on this route is not yet proven by captured traffic."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"path": "/aiserver.v1.AiService/NameAgent",
|
|
100
|
+
"policy": "intercept",
|
|
101
|
+
"owner": "bridge-core",
|
|
102
|
+
"packageName": "aiserver.v1",
|
|
103
|
+
"service": "AiService",
|
|
104
|
+
"method": "NameAgent",
|
|
105
|
+
"inputType": "AgentV1_NameAgentRequest",
|
|
106
|
+
"outputType": "AgentV1_NameAgentResponse",
|
|
107
|
+
"serverStreaming": false,
|
|
108
|
+
"protoBacked": true,
|
|
109
|
+
"supportLevel": "implemented",
|
|
110
|
+
"expectedMethods": ["POST"],
|
|
111
|
+
"expectedContentTypes": [
|
|
112
|
+
"application/proto",
|
|
113
|
+
"application/connect+proto"
|
|
114
|
+
],
|
|
115
|
+
"fixtureStatus": "synthetic-or-unit-covered",
|
|
116
|
+
"testStatus": "focused-tests-present",
|
|
117
|
+
"realClientEvidence": "cli-or-unit-evidence",
|
|
118
|
+
"reason": "Provide a local fallback name for Cursor Agent sessions.",
|
|
119
|
+
"uncertainty": "Exact naming behavior can be refined once real client naming fixtures are replayed."
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"path": "/aiserver.v1.ServerConfigService/GetServerConfig",
|
|
123
|
+
"policy": "intercept",
|
|
124
|
+
"owner": "bridge-core",
|
|
125
|
+
"packageName": "aiserver.v1",
|
|
126
|
+
"service": "ServerConfigService",
|
|
127
|
+
"method": "GetServerConfig",
|
|
128
|
+
"inputType": "GetServerConfigRequest",
|
|
129
|
+
"outputType": "GetServerConfigResponse",
|
|
130
|
+
"serverStreaming": false,
|
|
131
|
+
"protoBacked": true,
|
|
132
|
+
"supportLevel": "implemented",
|
|
133
|
+
"expectedMethods": ["POST"],
|
|
134
|
+
"expectedContentTypes": [
|
|
135
|
+
"application/proto",
|
|
136
|
+
"application/connect+proto"
|
|
137
|
+
],
|
|
138
|
+
"fixtureStatus": "synthetic-or-unit-covered",
|
|
139
|
+
"testStatus": "focused-tests-present",
|
|
140
|
+
"realClientEvidence": "cli-or-unit-evidence",
|
|
141
|
+
"reason": "Rewrite agent URLs to the bridge origin and force HTTP/2 off for local bridge compatibility.",
|
|
142
|
+
"uncertainty": "Additional desktop server-config fields stay pass-through until captured fixtures prove they are needed."
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"path": "/auth/full_stripe_profile",
|
|
146
|
+
"policy": "intercept",
|
|
147
|
+
"owner": "bridge-core",
|
|
148
|
+
"protoBacked": false,
|
|
149
|
+
"supportLevel": "implemented",
|
|
150
|
+
"expectedMethods": ["GET", "POST"],
|
|
151
|
+
"expectedContentTypes": ["application/json", "none"],
|
|
152
|
+
"fixtureStatus": "synthetic-or-unit-covered",
|
|
153
|
+
"testStatus": "focused-tests-present",
|
|
154
|
+
"realClientEvidence": "cli-or-unit-evidence",
|
|
155
|
+
"reason": "Provide a local desktop auth-profile shim for Cursor desktop experiments.",
|
|
156
|
+
"uncertainty": "HTTP auth profile routes are not proto-backed; exact desktop expectations remain traffic-gated."
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"path": "/auth/stripe_profile",
|
|
160
|
+
"policy": "intercept",
|
|
161
|
+
"owner": "bridge-core",
|
|
162
|
+
"protoBacked": false,
|
|
163
|
+
"supportLevel": "implemented",
|
|
164
|
+
"expectedMethods": ["GET", "POST"],
|
|
165
|
+
"expectedContentTypes": ["application/json", "none"],
|
|
166
|
+
"fixtureStatus": "synthetic-or-unit-covered",
|
|
167
|
+
"testStatus": "focused-tests-present",
|
|
168
|
+
"realClientEvidence": "cli-or-unit-evidence",
|
|
169
|
+
"reason": "Provide a local desktop auth-profile shim for Cursor desktop experiments.",
|
|
170
|
+
"uncertainty": "HTTP auth profile routes are not proto-backed; exact desktop expectations remain traffic-gated."
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"path": "/agent.v1.AgentService/Run",
|
|
174
|
+
"policy": "intercept",
|
|
175
|
+
"owner": "bridge-core",
|
|
176
|
+
"packageName": "agent.v1",
|
|
177
|
+
"service": "AgentService",
|
|
178
|
+
"method": "Run",
|
|
179
|
+
"inputType": "AgentClientMessage",
|
|
180
|
+
"outputType": "AgentServerMessage",
|
|
181
|
+
"serverStreaming": false,
|
|
182
|
+
"protoBacked": true,
|
|
183
|
+
"supportLevel": "conditional",
|
|
184
|
+
"expectedMethods": ["POST"],
|
|
185
|
+
"expectedContentTypes": [
|
|
186
|
+
"application/proto",
|
|
187
|
+
"application/connect+proto"
|
|
188
|
+
],
|
|
189
|
+
"fixtureStatus": "needs-captured-fixture",
|
|
190
|
+
"testStatus": "partial-tests-present",
|
|
191
|
+
"realClientEvidence": "traffic-gated",
|
|
192
|
+
"reason": "Handle local Agent Run requests when the selected model is registered locally; otherwise preserve upstream behavior.",
|
|
193
|
+
"uncertainty": "Connect/native streaming shape needs broader fixture replay before this becomes fully fixture-backed."
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"path": "/agent.v1.AgentService/RunSSE",
|
|
197
|
+
"policy": "intercept",
|
|
198
|
+
"owner": "bridge-core",
|
|
199
|
+
"packageName": "agent.v1",
|
|
200
|
+
"service": "AgentService",
|
|
201
|
+
"method": "RunSSE",
|
|
202
|
+
"inputType": "AiserverV1_BidiRequestId",
|
|
203
|
+
"outputType": "AgentServerMessage",
|
|
204
|
+
"serverStreaming": true,
|
|
205
|
+
"protoBacked": true,
|
|
206
|
+
"supportLevel": "conditional",
|
|
207
|
+
"expectedMethods": ["POST"],
|
|
208
|
+
"expectedContentTypes": [
|
|
209
|
+
"application/proto",
|
|
210
|
+
"application/connect+proto"
|
|
211
|
+
],
|
|
212
|
+
"fixtureStatus": "needs-captured-fixture",
|
|
213
|
+
"testStatus": "partial-tests-present",
|
|
214
|
+
"realClientEvidence": "traffic-gated",
|
|
215
|
+
"reason": "Serve Cursor Agent local-model runs when paired with a matching BidiAppend payload.",
|
|
216
|
+
"uncertainty": "Bidi request-id flow and payload framing need captured fixture replay across CLI and ACP."
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"path": "/aiserver.v1.BidiService/BidiAppend",
|
|
220
|
+
"policy": "intercept",
|
|
221
|
+
"owner": "bridge-core",
|
|
222
|
+
"packageName": "aiserver.v1",
|
|
223
|
+
"service": "BidiService",
|
|
224
|
+
"method": "BidiAppend",
|
|
225
|
+
"inputType": "BidiAppendRequest",
|
|
226
|
+
"outputType": "BidiAppendResponse",
|
|
227
|
+
"serverStreaming": false,
|
|
228
|
+
"protoBacked": true,
|
|
229
|
+
"supportLevel": "conditional",
|
|
230
|
+
"expectedMethods": ["POST"],
|
|
231
|
+
"expectedContentTypes": [
|
|
232
|
+
"application/proto",
|
|
233
|
+
"application/connect+proto"
|
|
234
|
+
],
|
|
235
|
+
"fixtureStatus": "needs-captured-fixture",
|
|
236
|
+
"testStatus": "partial-tests-present",
|
|
237
|
+
"realClientEvidence": "traffic-gated",
|
|
238
|
+
"reason": "Decode Cursor Agent client messages and register pending local-model runs.",
|
|
239
|
+
"uncertainty": "Observed payload encodings include surprising nested forms; unsupported forms must pass through."
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"path": "/aiserver.v1.ChatService/StreamUnifiedChatWithTools",
|
|
243
|
+
"policy": "intercept",
|
|
244
|
+
"owner": "bridge-core",
|
|
245
|
+
"packageName": "aiserver.v1",
|
|
246
|
+
"service": "ChatService",
|
|
247
|
+
"method": "StreamUnifiedChatWithTools",
|
|
248
|
+
"inputType": "StreamUnifiedChatRequestWithTools",
|
|
249
|
+
"outputType": "StreamUnifiedChatResponseWithTools",
|
|
250
|
+
"serverStreaming": false,
|
|
251
|
+
"protoBacked": true,
|
|
252
|
+
"supportLevel": "conditional",
|
|
253
|
+
"expectedMethods": ["POST"],
|
|
254
|
+
"expectedContentTypes": [
|
|
255
|
+
"application/proto",
|
|
256
|
+
"application/connect+proto"
|
|
257
|
+
],
|
|
258
|
+
"fixtureStatus": "needs-captured-fixture",
|
|
259
|
+
"testStatus": "partial-tests-present",
|
|
260
|
+
"realClientEvidence": "traffic-gated",
|
|
261
|
+
"reason": "Handle requests only when selected model is registered locally; otherwise pass upstream.",
|
|
262
|
+
"uncertainty": "SSE, Poll, and idempotent chat variants stay pass-through until observed and decoded."
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"path": "/aiserver.v1.AnalyticsService/UploadIssueTrace",
|
|
266
|
+
"policy": "intercept",
|
|
267
|
+
"owner": "bridge-core",
|
|
268
|
+
"packageName": "aiserver.v1",
|
|
269
|
+
"service": "AnalyticsService",
|
|
270
|
+
"method": "UploadIssueTrace",
|
|
271
|
+
"inputType": "UploadIssueTraceRequest",
|
|
272
|
+
"outputType": "UploadIssueTraceResponse",
|
|
273
|
+
"serverStreaming": false,
|
|
274
|
+
"protoBacked": true,
|
|
275
|
+
"supportLevel": "implemented",
|
|
276
|
+
"expectedMethods": ["POST"],
|
|
277
|
+
"expectedContentTypes": [
|
|
278
|
+
"application/proto",
|
|
279
|
+
"application/connect+proto"
|
|
280
|
+
],
|
|
281
|
+
"fixtureStatus": "synthetic-or-unit-covered",
|
|
282
|
+
"testStatus": "focused-tests-present",
|
|
283
|
+
"realClientEvidence": "cli-or-unit-evidence",
|
|
284
|
+
"reason": "Acknowledge issue-trace uploads locally to avoid forwarding sensitive diagnostic blobs during local experiments.",
|
|
285
|
+
"uncertainty": "Full payload redaction and fixture coverage remain part of the reliability/security workstream."
|
|
286
|
+
}
|
|
287
|
+
]
|
|
288
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"path": "/aiserver.v1.AiService/AvailableModels",
|
|
4
|
+
"package": "aiserver.v1",
|
|
5
|
+
"service": "AiService",
|
|
6
|
+
"method": "AvailableModels",
|
|
7
|
+
"policy": "intercept",
|
|
8
|
+
"supportLevel": "implemented",
|
|
9
|
+
"reason": "Merge conservative local model entries with upstream models.",
|
|
10
|
+
"uncertainty": "Model metadata fields beyond local id/display/context remain fixture-gated."
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"path": "/aiserver.v1.AiService/GetUsableModels",
|
|
14
|
+
"package": "aiserver.v1",
|
|
15
|
+
"service": "AiService",
|
|
16
|
+
"method": "GetUsableModels",
|
|
17
|
+
"policy": "intercept",
|
|
18
|
+
"supportLevel": "implemented",
|
|
19
|
+
"reason": "Cursor Agent CLI reads this route for its model picker; merge local model entries with upstream usable models.",
|
|
20
|
+
"uncertainty": "Desktop model picker usage must be confirmed by route inventory before adding desktop-specific assumptions."
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"path": "/aiserver.v1.AiService/GetDefaultModelForCli",
|
|
24
|
+
"package": "aiserver.v1",
|
|
25
|
+
"service": "AiService",
|
|
26
|
+
"method": "GetDefaultModelForCli",
|
|
27
|
+
"policy": "intercept",
|
|
28
|
+
"supportLevel": "implemented",
|
|
29
|
+
"reason": "Preserve upstream's CLI default model when present; otherwise provide the first registered local model.",
|
|
30
|
+
"uncertainty": "Client-specific default selection remains gated by observed CLI/ACP traffic."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"path": "/aiserver.v1.AiService/GetDefaultModel",
|
|
34
|
+
"package": "aiserver.v1",
|
|
35
|
+
"service": "AiService",
|
|
36
|
+
"method": "GetDefaultModel",
|
|
37
|
+
"policy": "intercept",
|
|
38
|
+
"supportLevel": "implemented",
|
|
39
|
+
"reason": "Return the first registered local model as a fallback default for non-CLI callers.",
|
|
40
|
+
"uncertainty": "Desktop reliance on this route is not yet proven by captured traffic."
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"path": "/aiserver.v1.AiService/NameAgent",
|
|
44
|
+
"package": "aiserver.v1",
|
|
45
|
+
"service": "AiService",
|
|
46
|
+
"method": "NameAgent",
|
|
47
|
+
"policy": "intercept",
|
|
48
|
+
"supportLevel": "implemented",
|
|
49
|
+
"reason": "Provide a local fallback name for Cursor Agent sessions.",
|
|
50
|
+
"uncertainty": "Exact naming behavior can be refined once real client naming fixtures are replayed."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"path": "/aiserver.v1.ServerConfigService/GetServerConfig",
|
|
54
|
+
"package": "aiserver.v1",
|
|
55
|
+
"service": "ServerConfigService",
|
|
56
|
+
"method": "GetServerConfig",
|
|
57
|
+
"policy": "intercept",
|
|
58
|
+
"supportLevel": "implemented",
|
|
59
|
+
"reason": "Rewrite agent URLs to the bridge origin and force HTTP/2 off for local bridge compatibility.",
|
|
60
|
+
"uncertainty": "Additional desktop server-config fields stay pass-through until captured fixtures prove they are needed."
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"path": "/auth/full_stripe_profile",
|
|
64
|
+
"policy": "intercept",
|
|
65
|
+
"supportLevel": "implemented",
|
|
66
|
+
"reason": "Provide a local desktop auth-profile shim for Cursor desktop experiments.",
|
|
67
|
+
"uncertainty": "HTTP auth profile routes are not proto-backed; exact desktop expectations remain traffic-gated."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"path": "/auth/stripe_profile",
|
|
71
|
+
"policy": "intercept",
|
|
72
|
+
"supportLevel": "implemented",
|
|
73
|
+
"reason": "Provide a local desktop auth-profile shim for Cursor desktop experiments.",
|
|
74
|
+
"uncertainty": "HTTP auth profile routes are not proto-backed; exact desktop expectations remain traffic-gated."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"path": "/agent.v1.AgentService/Run",
|
|
78
|
+
"package": "agent.v1",
|
|
79
|
+
"service": "AgentService",
|
|
80
|
+
"method": "Run",
|
|
81
|
+
"policy": "intercept",
|
|
82
|
+
"supportLevel": "conditional",
|
|
83
|
+
"reason": "Handle local Agent Run requests when the selected model is registered locally; otherwise preserve upstream behavior.",
|
|
84
|
+
"uncertainty": "Connect/native streaming shape needs broader fixture replay before this becomes fully fixture-backed."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"path": "/agent.v1.AgentService/RunSSE",
|
|
88
|
+
"package": "agent.v1",
|
|
89
|
+
"service": "AgentService",
|
|
90
|
+
"method": "RunSSE",
|
|
91
|
+
"policy": "intercept",
|
|
92
|
+
"supportLevel": "conditional",
|
|
93
|
+
"reason": "Serve Cursor Agent local-model runs when paired with a matching BidiAppend payload.",
|
|
94
|
+
"uncertainty": "Bidi request-id flow and payload framing need captured fixture replay across CLI and ACP."
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"path": "/aiserver.v1.BidiService/BidiAppend",
|
|
98
|
+
"package": "aiserver.v1",
|
|
99
|
+
"service": "BidiService",
|
|
100
|
+
"method": "BidiAppend",
|
|
101
|
+
"policy": "intercept",
|
|
102
|
+
"supportLevel": "conditional",
|
|
103
|
+
"reason": "Decode Cursor Agent client messages and register pending local-model runs.",
|
|
104
|
+
"uncertainty": "Observed payload encodings include surprising nested forms; unsupported forms must pass through."
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"path": "/aiserver.v1.ChatService/StreamUnifiedChatWithTools",
|
|
108
|
+
"package": "aiserver.v1",
|
|
109
|
+
"service": "ChatService",
|
|
110
|
+
"method": "StreamUnifiedChatWithTools",
|
|
111
|
+
"policy": "intercept",
|
|
112
|
+
"supportLevel": "conditional",
|
|
113
|
+
"reason": "Handle requests only when selected model is registered locally; otherwise pass upstream.",
|
|
114
|
+
"uncertainty": "SSE, Poll, and idempotent chat variants stay pass-through until observed and decoded."
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"path": "/aiserver.v1.AnalyticsService/UploadIssueTrace",
|
|
118
|
+
"package": "aiserver.v1",
|
|
119
|
+
"service": "AnalyticsService",
|
|
120
|
+
"method": "UploadIssueTrace",
|
|
121
|
+
"policy": "intercept",
|
|
122
|
+
"supportLevel": "implemented",
|
|
123
|
+
"reason": "Acknowledge issue-trace uploads locally to avoid forwarding sensitive diagnostic blobs during local experiments.",
|
|
124
|
+
"uncertainty": "Full payload redaction and fixture coverage remain part of the reliability/security workstream."
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"path": "*",
|
|
128
|
+
"policy": "pass-through",
|
|
129
|
+
"supportLevel": "observe-first",
|
|
130
|
+
"reason": "Default byte-preserving proxy policy for unknown or unverified routes.",
|
|
131
|
+
"uncertainty": "Desktop-specific and proto-visible routes must be observed and decoded before interception."
|
|
132
|
+
}
|
|
133
|
+
]
|