vskill 1.0.16 → 1.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/README.md +27 -3
  2. package/agents.json +3 -1
  3. package/dist/agents/agents-registry.d.ts +61 -0
  4. package/dist/agents/agents-registry.js +203 -0
  5. package/dist/agents/agents-registry.js.map +1 -1
  6. package/dist/api/client.d.ts +85 -0
  7. package/dist/api/client.js +193 -24
  8. package/dist/api/client.js.map +1 -1
  9. package/dist/bin.js +0 -0
  10. package/dist/commands/add.d.ts +7 -0
  11. package/dist/commands/add.js +94 -1
  12. package/dist/commands/add.js.map +1 -1
  13. package/dist/commands/auth.d.ts +23 -0
  14. package/dist/commands/auth.js +136 -12
  15. package/dist/commands/auth.js.map +1 -1
  16. package/dist/commands/eval/serve.d.ts +2 -0
  17. package/dist/commands/eval/serve.js +126 -4
  18. package/dist/commands/eval/serve.js.map +1 -1
  19. package/dist/commands/orgs.d.ts +21 -0
  20. package/dist/commands/orgs.js +164 -0
  21. package/dist/commands/orgs.js.map +1 -0
  22. package/dist/commands/skill.js +14 -1
  23. package/dist/commands/skill.js.map +1 -1
  24. package/dist/commands/whoami.d.ts +29 -0
  25. package/dist/commands/whoami.js +119 -0
  26. package/dist/commands/whoami.js.map +1 -0
  27. package/dist/eval/anthropic-catalog.js +32 -2
  28. package/dist/eval/anthropic-catalog.js.map +1 -1
  29. package/dist/eval/batch-judge.js +1 -0
  30. package/dist/eval/batch-judge.js.map +1 -1
  31. package/dist/eval/llm.d.ts +1 -1
  32. package/dist/eval/llm.js +104 -2
  33. package/dist/eval/llm.js.map +1 -1
  34. package/dist/eval-server/__tests__/helpers/studio-token-test-helpers.d.ts +2 -0
  35. package/dist/eval-server/__tests__/helpers/studio-token-test-helpers.js +20 -0
  36. package/dist/eval-server/__tests__/helpers/studio-token-test-helpers.js.map +1 -0
  37. package/dist/eval-server/active-root-store.d.ts +19 -0
  38. package/dist/eval-server/active-root-store.js +50 -0
  39. package/dist/eval-server/active-root-store.js.map +1 -0
  40. package/dist/eval-server/active-tenant-routes.d.ts +15 -0
  41. package/dist/eval-server/active-tenant-routes.js +101 -0
  42. package/dist/eval-server/active-tenant-routes.js.map +1 -0
  43. package/dist/eval-server/api-routes.d.ts +1 -1
  44. package/dist/eval-server/api-routes.js +60 -7
  45. package/dist/eval-server/api-routes.js.map +1 -1
  46. package/dist/eval-server/authoring-routes.d.ts +1 -1
  47. package/dist/eval-server/authoring-routes.js +9 -7
  48. package/dist/eval-server/authoring-routes.js.map +1 -1
  49. package/dist/eval-server/desktop-open-routes.d.ts +8 -0
  50. package/dist/eval-server/desktop-open-routes.js +64 -0
  51. package/dist/eval-server/desktop-open-routes.js.map +1 -0
  52. package/dist/eval-server/detect-engines-route.d.ts +1 -1
  53. package/dist/eval-server/detect-engines-route.js +3 -1
  54. package/dist/eval-server/detect-engines-route.js.map +1 -1
  55. package/dist/eval-server/eval-server.js +108 -29
  56. package/dist/eval-server/eval-server.js.map +1 -1
  57. package/dist/eval-server/export-skill-routes.d.ts +9 -0
  58. package/dist/eval-server/export-skill-routes.js +81 -0
  59. package/dist/eval-server/export-skill-routes.js.map +1 -0
  60. package/dist/eval-server/git-routes.d.ts +7 -6
  61. package/dist/eval-server/git-routes.js +123 -15
  62. package/dist/eval-server/git-routes.js.map +1 -1
  63. package/dist/eval-server/improve-routes.d.ts +1 -1
  64. package/dist/eval-server/improve-routes.js +4 -1
  65. package/dist/eval-server/improve-routes.js.map +1 -1
  66. package/dist/eval-server/install-engine-routes.d.ts +4 -17
  67. package/dist/eval-server/install-engine-routes.js +10 -125
  68. package/dist/eval-server/install-engine-routes.js.map +1 -1
  69. package/dist/eval-server/install-jobs.d.ts +41 -0
  70. package/dist/eval-server/install-jobs.js +161 -0
  71. package/dist/eval-server/install-jobs.js.map +1 -0
  72. package/dist/eval-server/install-skill-routes.d.ts +74 -11
  73. package/dist/eval-server/install-skill-routes.js +508 -79
  74. package/dist/eval-server/install-skill-routes.js.map +1 -1
  75. package/dist/eval-server/install-state-routes.d.ts +5 -1
  76. package/dist/eval-server/install-state-routes.js +18 -2
  77. package/dist/eval-server/install-state-routes.js.map +1 -1
  78. package/dist/eval-server/integration-routes.d.ts +1 -1
  79. package/dist/eval-server/integration-routes.js +6 -1
  80. package/dist/eval-server/integration-routes.js.map +1 -1
  81. package/dist/eval-server/model-compare-routes.d.ts +1 -1
  82. package/dist/eval-server/model-compare-routes.js +3 -1
  83. package/dist/eval-server/model-compare-routes.js.map +1 -1
  84. package/dist/eval-server/oauth-github-routes.d.ts +2 -0
  85. package/dist/eval-server/oauth-github-routes.js +505 -0
  86. package/dist/eval-server/oauth-github-routes.js.map +1 -0
  87. package/dist/eval-server/platform-proxy.d.ts +22 -1
  88. package/dist/eval-server/platform-proxy.js +183 -22
  89. package/dist/eval-server/platform-proxy.js.map +1 -1
  90. package/dist/eval-server/plugin-cli-routes.d.ts +1 -1
  91. package/dist/eval-server/plugin-cli-routes.js +19 -10
  92. package/dist/eval-server/plugin-cli-routes.js.map +1 -1
  93. package/dist/eval-server/remove-skill-routes.d.ts +18 -0
  94. package/dist/eval-server/remove-skill-routes.js +147 -0
  95. package/dist/eval-server/remove-skill-routes.js.map +1 -0
  96. package/dist/eval-server/router.d.ts +17 -3
  97. package/dist/eval-server/router.js +166 -9
  98. package/dist/eval-server/router.js.map +1 -1
  99. package/dist/eval-server/settings-store.js +1 -1
  100. package/dist/eval-server/settings-store.js.map +1 -1
  101. package/dist/eval-server/skill-create-routes.d.ts +1 -1
  102. package/dist/eval-server/skill-create-routes.js +8 -1
  103. package/dist/eval-server/skill-create-routes.js.map +1 -1
  104. package/dist/eval-server/supported-agents-routes.d.ts +6 -0
  105. package/dist/eval-server/supported-agents-routes.js +41 -0
  106. package/dist/eval-server/supported-agents-routes.js.map +1 -0
  107. package/dist/eval-server/sweep-routes.d.ts +1 -1
  108. package/dist/eval-server/sweep-routes.js +5 -1
  109. package/dist/eval-server/sweep-routes.js.map +1 -1
  110. package/dist/eval-server/utils/spawn-env.d.ts +1 -0
  111. package/dist/eval-server/utils/spawn-env.js +47 -0
  112. package/dist/eval-server/utils/spawn-env.js.map +1 -0
  113. package/dist/eval-server/workspace-routes.d.ts +12 -0
  114. package/dist/eval-server/workspace-routes.js +57 -2
  115. package/dist/eval-server/workspace-routes.js.map +1 -1
  116. package/dist/eval-ui/assets/AdvancedTab-DOgbx7u0.js +1 -0
  117. package/dist/eval-ui/assets/{CreateSkillPage-CvdYq8Rr.js → CreateSkillPage-Cv93Croj.js} +3 -3
  118. package/dist/eval-ui/assets/FindSkillsPalette-BY9DAhHh.js +2 -0
  119. package/dist/eval-ui/assets/GeneralTab-AwK9sIkP.js +1 -0
  120. package/dist/eval-ui/assets/PrivacyTab-BtNrxpVV.js +1 -0
  121. package/dist/eval-ui/assets/{SearchPaletteCore-Bf3PBC64.js → SearchPaletteCore-DMVcq7UB.js} +2 -2
  122. package/dist/eval-ui/assets/SkillDetailPanel-B_lbhK6q.js +1 -0
  123. package/dist/eval-ui/assets/UpdateDropdown-4AbjZLpq.js +1 -0
  124. package/dist/eval-ui/assets/UpdatesTab-DTmo-vVb.js +1 -0
  125. package/dist/eval-ui/assets/core-DZjBCfjp.js +1 -0
  126. package/dist/eval-ui/assets/event-QtOCMXAv.js +1 -0
  127. package/dist/eval-ui/assets/globals-Dpf9KmYH.css +1 -0
  128. package/dist/eval-ui/assets/globals-hm1COkXX.js +49 -0
  129. package/dist/eval-ui/assets/index-CUEYzTVL.js +1 -0
  130. package/dist/eval-ui/assets/index-DDNzcrhv.js +1 -0
  131. package/dist/eval-ui/assets/index-DhhmQddr.js +1 -0
  132. package/dist/eval-ui/assets/lifecycle-d1Sm9Hts.css +1 -0
  133. package/dist/eval-ui/assets/lifecycle-o_IRibOa.js +1 -0
  134. package/dist/eval-ui/assets/main-tpOyw9SC.js +87 -0
  135. package/dist/eval-ui/assets/preferences-BHZXB5dL.css +1 -0
  136. package/dist/eval-ui/assets/preferences-DCdw0Kvu.js +2 -0
  137. package/dist/eval-ui/assets/useDesktopBridge-9oZFQsrw.js +2 -0
  138. package/dist/eval-ui/index.html +4 -2
  139. package/dist/eval-ui/lifecycle.html +33 -0
  140. package/dist/eval-ui/preferences.html +34 -0
  141. package/dist/index.js +47 -1
  142. package/dist/index.js.map +1 -1
  143. package/dist/installer/bundle-files.d.ts +4 -0
  144. package/dist/installer/bundle-files.js +97 -0
  145. package/dist/installer/bundle-files.js.map +1 -0
  146. package/dist/installer/canonical.d.ts +31 -6
  147. package/dist/installer/canonical.js +48 -12
  148. package/dist/installer/canonical.js.map +1 -1
  149. package/dist/installer/clipboard-export.d.ts +19 -0
  150. package/dist/installer/clipboard-export.js +88 -0
  151. package/dist/installer/clipboard-export.js.map +1 -0
  152. package/dist/installer/multi-install.d.ts +43 -0
  153. package/dist/installer/multi-install.js +237 -0
  154. package/dist/installer/multi-install.js.map +1 -0
  155. package/dist/installer/transformers/aider.d.ts +2 -0
  156. package/dist/installer/transformers/aider.js +32 -0
  157. package/dist/installer/transformers/aider.js.map +1 -0
  158. package/dist/installer/transformers/continue-dev.d.ts +2 -0
  159. package/dist/installer/transformers/continue-dev.js +6 -0
  160. package/dist/installer/transformers/continue-dev.js.map +1 -0
  161. package/dist/installer/transformers/cursor.d.ts +2 -0
  162. package/dist/installer/transformers/cursor.js +24 -0
  163. package/dist/installer/transformers/cursor.js.map +1 -0
  164. package/dist/installer/transformers/github-copilot.d.ts +2 -0
  165. package/dist/installer/transformers/github-copilot.js +17 -0
  166. package/dist/installer/transformers/github-copilot.js.map +1 -0
  167. package/dist/installer/transformers/index.d.ts +78 -0
  168. package/dist/installer/transformers/index.js +13 -0
  169. package/dist/installer/transformers/index.js.map +1 -0
  170. package/dist/installer/transformers/junie.d.ts +2 -0
  171. package/dist/installer/transformers/junie.js +6 -0
  172. package/dist/installer/transformers/junie.js.map +1 -0
  173. package/dist/installer/transformers/kiro.d.ts +2 -0
  174. package/dist/installer/transformers/kiro.js +6 -0
  175. package/dist/installer/transformers/kiro.js.map +1 -0
  176. package/dist/installer/transformers/trae.d.ts +2 -0
  177. package/dist/installer/transformers/trae.js +6 -0
  178. package/dist/installer/transformers/trae.js.map +1 -0
  179. package/dist/installer/transformers/windsurf.d.ts +2 -0
  180. package/dist/installer/transformers/windsurf.js +12 -0
  181. package/dist/installer/transformers/windsurf.js.map +1 -0
  182. package/dist/installer/yaml-safe-mutate.d.ts +19 -0
  183. package/dist/installer/yaml-safe-mutate.js +184 -0
  184. package/dist/installer/yaml-safe-mutate.js.map +1 -0
  185. package/dist/lib/active-tenant.d.ts +36 -0
  186. package/dist/lib/active-tenant.js +120 -0
  187. package/dist/lib/active-tenant.js.map +1 -0
  188. package/dist/lib/keychain.d.ts +15 -2
  189. package/dist/lib/keychain.js +173 -8
  190. package/dist/lib/keychain.js.map +1 -1
  191. package/dist/lib/migration/keychain-migration.d.ts +35 -0
  192. package/dist/lib/migration/keychain-migration.js +189 -0
  193. package/dist/lib/migration/keychain-migration.js.map +1 -0
  194. package/dist/lib/tenant-resolver.d.ts +38 -0
  195. package/dist/lib/tenant-resolver.js +79 -0
  196. package/dist/lib/tenant-resolver.js.map +1 -0
  197. package/dist/studio/lib/ops-log.js +140 -57
  198. package/dist/studio/lib/ops-log.js.map +1 -1
  199. package/dist/studio/lib/scope-transfer.d.ts +11 -1
  200. package/dist/studio/lib/scope-transfer.js +48 -24
  201. package/dist/studio/lib/scope-transfer.js.map +1 -1
  202. package/dist/studio/routes/index.d.ts +1 -1
  203. package/dist/studio/routes/index.js +18 -8
  204. package/dist/studio/routes/index.js.map +1 -1
  205. package/dist/studio/routes/ops.js +31 -7
  206. package/dist/studio/routes/ops.js.map +1 -1
  207. package/dist/studio/routes/promote.d.ts +1 -1
  208. package/dist/studio/routes/promote.js +18 -9
  209. package/dist/studio/routes/promote.js.map +1 -1
  210. package/dist/studio/routes/revert.d.ts +1 -1
  211. package/dist/studio/routes/revert.js +15 -2
  212. package/dist/studio/routes/revert.js.map +1 -1
  213. package/dist/studio/routes/test-install.d.ts +1 -1
  214. package/dist/studio/routes/test-install.js +16 -9
  215. package/dist/studio/routes/test-install.js.map +1 -1
  216. package/dist/studio-runtime/lockfile.d.ts +51 -0
  217. package/dist/studio-runtime/lockfile.js +216 -0
  218. package/dist/studio-runtime/lockfile.js.map +1 -0
  219. package/package.json +18 -1
  220. package/dist/eval-ui/assets/FindSkillsPalette-DsSgotS9.js +0 -2
  221. package/dist/eval-ui/assets/SkillDetailPanel-DAD2yJO-.js +0 -1
  222. package/dist/eval-ui/assets/UpdateDropdown-h5Hg3h7Z.js +0 -1
  223. package/dist/eval-ui/assets/index-CKLqBL52.css +0 -1
  224. package/dist/eval-ui/assets/index-JaDg6FlU.js +0 -124
  225. package/dist/eval-ui/assets/skill-studio-logo-CRyKgIrg.png +0 -0
@@ -89,10 +89,32 @@ const PROXY_PREFIXES = [
89
89
  "/api/v1/studio/search",
90
90
  "/api/v1/studio/telemetry/",
91
91
  "/api/v1/stats",
92
+ // In-app submission queue (0856): the WebView POSTs /api/v1/submissions and
93
+ // streams /api/v1/submissions/stream/[id] + GET /positions/[id]. Proxying
94
+ // here keeps the CORS-free browser→localhost-only invariant and lets the
95
+ // eval-server inject the user's vsk_* keychain token server-side so an
96
+ // in-app submit is attributed to the signed-in user (not anonymous).
97
+ //
98
+ // Prefix has NO trailing slash so it matches BOTH the bare POST target
99
+ // (`/api/v1/submissions`) and the sub-resource GETs
100
+ // (`/api/v1/submissions/stream/<id>`, `/api/v1/submissions/positions/<id>`).
101
+ // This is deliberately distinct from the trailing-slash prefixes below so
102
+ // private/tenant/account paths keep their exact-segment semantics.
103
+ "/api/v1/submissions",
92
104
  // Private (org-scoped) routes that must carry the user's GitHub bearer token
93
105
  // to the platform. The browser never sees this token; injection happens here.
94
106
  "/api/v1/private/",
95
107
  "/api/v1/tenants/",
108
+ // 0836 US-003: account cabinet routes were previously fetched directly from
109
+ // the WebView with `Authorization: Bearer <gho_*>` minted by the deleted
110
+ // `account_get_token` IPC. Proxying them through the eval-server lets us
111
+ // inject the bearer Rust-side from the keychain — the WebView never holds
112
+ // the token. ALL /api/v1/account/* routes (profile, tokens, repos,
113
+ // notifications, exports, delete, sign-out-all) are user-authenticated;
114
+ // they all match AUTH_REQUIRED_PREFIXES below. If a future public
115
+ // marketing route is added, route it under a different prefix (not
116
+ // /api/v1/account/) so it doesn't pick up the bearer.
117
+ "/api/v1/account/",
96
118
  ];
97
119
  /**
98
120
  * Path prefixes that require an `Authorization: Bearer <github-token>` header
@@ -101,8 +123,16 @@ const PROXY_PREFIXES = [
101
123
  * function in the public skill catalog.
102
124
  */
103
125
  const AUTH_REQUIRED_PREFIXES = [
126
+ // 0856: in-app submissions carry the user's vsk_* keychain token (NOT gho_*)
127
+ // — see TOKEN_KIND_BY_PREFIX below. Any client-supplied Authorization is
128
+ // stripped here so the browser can never spoof identity to the platform.
129
+ "/api/v1/submissions",
104
130
  "/api/v1/private/",
105
131
  "/api/v1/tenants/",
132
+ // 0836 US-003: every /api/v1/account/* route requires the user's bearer
133
+ // (profile, repos, tokens, notifications, exports). Inject it here so the
134
+ // WebView never sees a `gho_*` value.
135
+ "/api/v1/account/",
106
136
  ];
107
137
  export function shouldProxyToPlatform(url) {
108
138
  if (!url)
@@ -114,28 +144,73 @@ export function shouldInjectAuth(url) {
114
144
  return false;
115
145
  return AUTH_REQUIRED_PREFIXES.some((p) => url.startsWith(p));
116
146
  }
147
+ // Which token kind each AUTH_REQUIRED prefix needs. Default (and the only
148
+ // non-github entry) is the submissions prefix → vskill. Everything else uses
149
+ // the GitHub token as before. Kept as an explicit, ordered list so the
150
+ // longest/most-specific prefix wins and the selection is obvious at a glance.
151
+ const TOKEN_KIND_BY_PREFIX = [
152
+ ["/api/v1/submissions", "vskill"],
153
+ ];
154
+ /** Select the bearer-token kind for a given upstream path. */
155
+ export function tokenKindForPath(path) {
156
+ if (path) {
157
+ for (const [prefix, kind] of TOKEN_KIND_BY_PREFIX) {
158
+ if (path.startsWith(prefix))
159
+ return kind;
160
+ }
161
+ }
162
+ return "github";
163
+ }
117
164
  // In-process token cache so a burst of proxy requests doesn't repeatedly hit
118
165
  // the OS keychain. The keychain itself is fast on macOS but can be slower on
119
- // Linux libsecret. 60s aligns with how stale a manual `vskill auth login`
120
- // → `vskill studio refresh` loop would feel.
121
- let _cachedToken = null;
122
- const TOKEN_CACHE_MS = 60_000;
123
- function readTokenForProxy(now = Date.now()) {
124
- if (_cachedToken && _cachedToken.expiresAt > now)
125
- return _cachedToken.value;
126
- let token = null;
166
+ // Linux libsecret.
167
+ //
168
+ // Cached PER token-kind: a gho_* request and a vsk_* request must never serve
169
+ // each other's cached value. Naively caching a single global token (the
170
+ // pre-0856 behaviour) would leak the wrong token across prefixes once the
171
+ // submissions path was added.
172
+ //
173
+ // 0836 hardening (F-005): TTL kept intentionally short (5s) so that a desktop
174
+ // `sign_out` IPC — which clears the Rust keychain in a separate process —
175
+ // is reflected by the Node-side eval-server within at most 5 seconds.
176
+ // Cross-process cache invalidation would require a control-channel from the
177
+ // Tauri shell into the sidecar; bounding the staleness window achieves the
178
+ // same UX guarantee with no extra plumbing.
179
+ const _cachedTokens = {};
180
+ const TOKEN_CACHE_MS = 5_000;
181
+ function readKeychainToken(kind) {
127
182
  try {
128
- token = getDefaultKeychain().getGitHubToken();
183
+ return kind === "vskill"
184
+ ? getDefaultKeychain().getVskillToken()
185
+ : getDefaultKeychain().getGitHubToken();
129
186
  }
130
187
  catch {
131
- token = null;
188
+ return null;
132
189
  }
133
- _cachedToken = { value: token, expiresAt: now + TOKEN_CACHE_MS };
190
+ }
191
+ function readTokenForProxy(kind = "github", now = Date.now()) {
192
+ const cached = _cachedTokens[kind];
193
+ if (cached && cached.expiresAt > now)
194
+ return cached.value;
195
+ const token = readKeychainToken(kind);
196
+ _cachedTokens[kind] = { value: token, expiresAt: now + TOKEN_CACHE_MS };
134
197
  return token;
135
198
  }
136
- /** Test-only reset hook. */
199
+ /**
200
+ * Public invalidation hook so callers (e.g. an HTTP control endpoint, or a
201
+ * future SIGUSR1 handler) can drop the cached token immediately on auth
202
+ * state changes. Tests use this to reset between cases as well. Clears ALL
203
+ * token kinds.
204
+ */
205
+ export function invalidatePlatformProxyTokenCache() {
206
+ for (const k of Object.keys(_cachedTokens)) {
207
+ delete _cachedTokens[k];
208
+ }
209
+ }
210
+ /** @deprecated Prefer `invalidatePlatformProxyTokenCache`. Kept for any
211
+ * existing test imports until they migrate. */
137
212
  export function _resetPlatformProxyAuthCacheForTests() {
138
- _cachedToken = null;
213
+ invalidatePlatformProxyTokenCache();
139
214
  }
140
215
  export function pickHeadersForUpstream(src, opts = {}) {
141
216
  const out = {};
@@ -156,7 +231,10 @@ export function pickHeadersForUpstream(src, opts = {}) {
156
231
  const xff = out["x-forwarded-for"];
157
232
  out["x-forwarded-for"] = xff ? `${xff}, 127.0.0.1` : "127.0.0.1";
158
233
  if (opts.path && shouldInjectAuth(opts.path)) {
159
- const tokenProvider = opts.tokenProvider ?? (() => readTokenForProxy());
234
+ // Per-prefix token kind: submissions vsk_*, everything else → gho_*.
235
+ // A test-supplied tokenProvider override always wins (kind-agnostic).
236
+ const kind = tokenKindForPath(opts.path);
237
+ const tokenProvider = opts.tokenProvider ?? (() => readTokenForProxy(kind));
160
238
  const token = tokenProvider();
161
239
  if (token) {
162
240
  out["authorization"] = `Bearer ${token}`;
@@ -175,6 +253,31 @@ function pickHeadersForDownstream(src) {
175
253
  }
176
254
  return out;
177
255
  }
256
+ /**
257
+ * Determine whether a given request/response pair is on the SSE path.
258
+ *
259
+ * Heuristic (cheap — runs on every request when VSKILL_DEBUG_SSE=1):
260
+ * - Path ends with `/stream` (e.g. `/api/v1/skills/stream`).
261
+ * - OR upstream response carries `content-type: text/event-stream`.
262
+ *
263
+ * The path heuristic alone is sufficient for the only SSE endpoint the studio
264
+ * proxies today (`/api/v1/skills/stream`). The content-type fallback covers
265
+ * forward-compat in case future SSE endpoints are added without a `/stream`
266
+ * suffix.
267
+ */
268
+ function isSsePathOrResponse(pathname, responseContentType) {
269
+ if (pathname.endsWith("/stream"))
270
+ return true;
271
+ if (typeof responseContentType === "string" &&
272
+ responseContentType.toLowerCase().includes("text/event-stream")) {
273
+ return true;
274
+ }
275
+ return false;
276
+ }
277
+ /** Whether structured per-request SSE logging is currently enabled. */
278
+ function isSseDebugEnabled() {
279
+ return process.env.VSKILL_DEBUG_SSE === "1";
280
+ }
178
281
  /**
179
282
  * Proxy a single HTTP request from the studio to the platform.
180
283
  * SSE-safe: streams the upstream body chunks directly to the response so
@@ -183,11 +286,40 @@ function pickHeadersForDownstream(src) {
183
286
  * Resolves once the proxy pipeline finishes (either side ended) — callers
184
287
  * can `await` to know the response has been written, but typical use is
185
288
  * fire-and-forget within an HTTP server handler.
289
+ *
290
+ * SSE diagnostic logging (0838 / AC-US1-02):
291
+ * When `VSKILL_DEBUG_SSE=1`, every `text/event-stream`-shaped request emits
292
+ * proxy.sse.start{requestId, upstreamUrl} on dispatch
293
+ * proxy.sse.end{requestId, status, durationMs} on completion
294
+ * AND the response gets `X-Request-Id: <requestId>` so client-side debug
295
+ * logs (in useSkillUpdates) can be correlated with server-side logs.
296
+ * When the flag is unset (or "0"), no per-request logs and no header
297
+ * injection — preserves the production hot path.
186
298
  */
187
299
  export function proxyToPlatform(req, res, baseUrl = getPlatformBaseUrl()) {
188
300
  return new Promise((resolve) => {
189
301
  const target = new URL(req.url ?? "/", baseUrl);
190
302
  const transport = target.protocol === "https:" ? https : http;
303
+ const debugEnabled = isSseDebugEnabled();
304
+ // Pre-allocate requestId only when debug is enabled — avoids unnecessary
305
+ // crypto work on the production hot path.
306
+ const requestId = debugEnabled ? randomUUID() : null;
307
+ const startTime = debugEnabled ? Date.now() : 0;
308
+ // Path-based heuristic for SSE detection (cheap + sufficient for /stream).
309
+ let isSseRequest = debugEnabled && target.pathname.endsWith("/stream");
310
+ let logEndEmitted = false;
311
+ // Captured for client-disconnect cleanup. Once headers are received the
312
+ // active socket is held by upstreamRes (an SSE stream may keep it open
313
+ // for hours); destroying upstreamReq alone is not enough on Node's https
314
+ // agent in all cases.
315
+ let upstreamRes = null;
316
+ function emitEndLog(status) {
317
+ if (!debugEnabled || !isSseRequest || logEndEmitted || !requestId)
318
+ return;
319
+ logEndEmitted = true;
320
+ const durationMs = Date.now() - startTime;
321
+ console.log("proxy.sse.end", { requestId, status, durationMs });
322
+ }
191
323
  const upstreamReq = transport.request({
192
324
  protocol: target.protocol,
193
325
  hostname: target.hostname,
@@ -195,9 +327,25 @@ export function proxyToPlatform(req, res, baseUrl = getPlatformBaseUrl()) {
195
327
  path: `${target.pathname}${target.search}`,
196
328
  method: req.method,
197
329
  headers: pickHeadersForUpstream(req.headers, { path: target.pathname }),
198
- }, (upstreamRes) => {
199
- const status = upstreamRes.statusCode ?? 502;
200
- const headers = pickHeadersForDownstream(upstreamRes.headers);
330
+ }, (incoming) => {
331
+ upstreamRes = incoming;
332
+ const status = incoming.statusCode ?? 502;
333
+ const headers = pickHeadersForDownstream(incoming.headers);
334
+ // Promote to SSE if upstream content-type confirms it (covers future
335
+ // SSE endpoints without a `/stream` suffix).
336
+ if (debugEnabled && !isSseRequest) {
337
+ const ct = incoming.headers["content-type"];
338
+ isSseRequest = isSsePathOrResponse(target.pathname, Array.isArray(ct) ? ct[0] : ct);
339
+ }
340
+ // Inject X-Request-Id so studio debug logs can correlate to server.
341
+ if (debugEnabled && isSseRequest && requestId) {
342
+ headers["x-request-id"] = requestId;
343
+ // Emit the start log only once we know this IS an SSE request.
344
+ console.log("proxy.sse.start", {
345
+ requestId,
346
+ upstreamUrl: `${target.origin}${target.pathname}${target.search}`,
347
+ });
348
+ }
201
349
  try {
202
350
  res.writeHead(status, headers);
203
351
  }
@@ -205,13 +353,17 @@ export function proxyToPlatform(req, res, baseUrl = getPlatformBaseUrl()) {
205
353
  // Headers already sent — fall through to pipe; `res.write` will
206
354
  // continue on the existing stream.
207
355
  }
208
- upstreamRes.on("end", () => resolve());
209
- upstreamRes.on("error", () => {
356
+ incoming.on("end", () => {
357
+ emitEndLog(status);
358
+ resolve();
359
+ });
360
+ incoming.on("error", () => {
361
+ emitEndLog(status);
210
362
  if (!res.writableEnded)
211
363
  res.end();
212
364
  resolve();
213
365
  });
214
- upstreamRes.pipe(res);
366
+ incoming.pipe(res);
215
367
  });
216
368
  upstreamReq.on("error", (err) => {
217
369
  if (!res.headersSent) {
@@ -224,19 +376,28 @@ export function proxyToPlatform(req, res, baseUrl = getPlatformBaseUrl()) {
224
376
  target: target.origin,
225
377
  }));
226
378
  }
379
+ emitEndLog(502);
227
380
  resolve();
228
381
  });
229
382
  // Close upstream cleanly when the client disconnects (esp. EventSource
230
383
  // unmounts) so we don't leak sockets on long-lived SSE streams.
384
+ // We tear down BOTH the request and the response — the response holds
385
+ // the socket once headers have been received.
231
386
  res.on("close", () => {
232
387
  try {
233
388
  upstreamReq.destroy();
234
389
  }
235
- catch {
236
- /* noop */
390
+ catch { /* noop */ }
391
+ try {
392
+ upstreamRes?.destroy();
237
393
  }
394
+ catch { /* noop */ }
395
+ emitEndLog(upstreamRes?.statusCode ?? 0);
238
396
  });
239
397
  // Forward the request body (if any) — req is a readable stream.
398
+ // Contract: callers MUST NOT pre-read the body before reaching this
399
+ // proxy, otherwise pipe sends nothing. No middleware in eval-server
400
+ // currently does, but new ones must respect this.
240
401
  req.pipe(upstreamReq);
241
402
  });
242
403
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform-proxy.js","sourceRoot":"","sources":["../../src/eval-server/platform-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-proxy.js","sourceRoot":"","sources":["../../src/eval-server/platform-proxy.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,4 @@ export interface PluginCliRoutesOptions {
6
6
  */
7
7
  cacheRoot?: string;
8
8
  }
9
- export declare function registerPluginCliRoutes(router: Router, root: string, options?: PluginCliRoutesOptions): void;
9
+ export declare function registerPluginCliRoutes(router: Router, rootArg: string | (() => string), options?: PluginCliRoutesOptions): void;
@@ -54,13 +54,15 @@ async function fetchPluginList(cwd, cacheRoot) {
54
54
  const root = cacheRoot ?? join(homedir(), ".claude", "plugins", "cache");
55
55
  return discoverInstalledPlugins({ cacheRoot: root, projectDir: cwd });
56
56
  }
57
- export function registerPluginCliRoutes(router, root, options = {}) {
57
+ export function registerPluginCliRoutes(router, rootArg, options = {}) {
58
+ const getRoot = typeof rootArg === "function" ? rootArg : () => rootArg;
58
59
  const cacheRoot = options.cacheRoot ?? join(homedir(), ".claude", "plugins", "cache");
59
60
  // GET /api/plugins — list installed plugins.
60
61
  // 0795: was shelling out to `claude plugin list`, but Claude Code removed
61
62
  // that subcommand. We now walk the plugin cache + read enabledPlugins from
62
63
  // settings.json directly. Same response contract.
63
64
  router.get("/api/plugins", (_req, res) => {
65
+ const root = getRoot();
64
66
  try {
65
67
  const plugins = discoverInstalledPlugins({ cacheRoot, projectDir: root });
66
68
  sendJson(res, { plugins });
@@ -105,6 +107,7 @@ export function registerPluginCliRoutes(router, root, options = {}) {
105
107
  // `data: {"line": "..."}` events as stdout arrives, then `data: {"done": true, "ok": <bool>, "code": <n>}`.
106
108
  // (0700 phase 2C: powers the progress toast/drawer during slow network ops.)
107
109
  router.post("/api/plugins/install/stream", async (req, res) => {
110
+ const root = getRoot();
108
111
  const body = await safeReadBody(req);
109
112
  const plugin = typeof body.plugin === "string" ? body.plugin : "";
110
113
  if (!PLUGIN_REF.test(plugin)) {
@@ -152,6 +155,7 @@ export function registerPluginCliRoutes(router, root, options = {}) {
152
155
  });
153
156
  // POST /api/plugins/marketplaces — add a marketplace (owner/repo, URL, or path)
154
157
  router.post("/api/plugins/marketplaces", async (req, res) => {
158
+ const root = getRoot();
155
159
  const body = await safeReadBody(req);
156
160
  const source = typeof body.source === "string" ? body.source.trim() : "";
157
161
  if (!source) {
@@ -178,6 +182,7 @@ export function registerPluginCliRoutes(router, root, options = {}) {
178
182
  });
179
183
  // GET /api/plugins/marketplaces — list configured marketplaces
180
184
  router.get("/api/plugins/marketplaces", async (_req, res) => {
185
+ const root = getRoot();
181
186
  try {
182
187
  const result = await runClaudePlugin(["marketplace", "list"], { cwd: root, timeout: 15_000 });
183
188
  if (result.code !== 0) {
@@ -192,6 +197,7 @@ export function registerPluginCliRoutes(router, root, options = {}) {
192
197
  });
193
198
  // POST /api/plugins/:name/enable
194
199
  router.post("/api/plugins/:name/enable", async (req, res, params) => {
200
+ const root = getRoot();
195
201
  const name = params.name;
196
202
  if (!PLUGIN_REF.test(name)) {
197
203
  return sendError(res, 400, "invalid-plugin-name", `Invalid plugin name: ${name}`);
@@ -201,12 +207,13 @@ export function registerPluginCliRoutes(router, root, options = {}) {
201
207
  if (scope !== undefined && !isValidScope(scope)) {
202
208
  return sendError(res, 400, "invalid-scope", `Invalid scope: ${scope}`);
203
209
  }
204
- const ref = resolvePluginRef(name, await fetchPluginList(root));
210
+ const ref = resolvePluginRef(name, await fetchPluginList(root, cacheRoot));
205
211
  const args = ["enable", ref, ...(scope ? ["--scope", scope] : [])];
206
- await runAndRespond(args, root, res);
212
+ await runAndRespond(args, root, res, { cacheRoot });
207
213
  });
208
214
  // POST /api/plugins/:name/disable
209
215
  router.post("/api/plugins/:name/disable", async (req, res, params) => {
216
+ const root = getRoot();
210
217
  const name = params.name;
211
218
  if (!PLUGIN_REF.test(name)) {
212
219
  return sendError(res, 400, "invalid-plugin-name", `Invalid plugin name: ${name}`);
@@ -216,12 +223,13 @@ export function registerPluginCliRoutes(router, root, options = {}) {
216
223
  if (scope !== undefined && !isValidScope(scope)) {
217
224
  return sendError(res, 400, "invalid-scope", `Invalid scope: ${scope}`);
218
225
  }
219
- const ref = resolvePluginRef(name, await fetchPluginList(root));
226
+ const ref = resolvePluginRef(name, await fetchPluginList(root, cacheRoot));
220
227
  const args = ["disable", ref, ...(scope ? ["--scope", scope] : [])];
221
- await runAndRespond(args, root, res);
228
+ await runAndRespond(args, root, res, { cacheRoot });
222
229
  });
223
230
  // POST /api/plugins/install body { plugin: "name@marketplace", scope? }
224
231
  router.post("/api/plugins/install", async (req, res) => {
232
+ const root = getRoot();
225
233
  const body = await safeReadBody(req);
226
234
  const plugin = typeof body.plugin === "string" ? body.plugin : "";
227
235
  if (!PLUGIN_REF.test(plugin)) {
@@ -232,10 +240,11 @@ export function registerPluginCliRoutes(router, root, options = {}) {
232
240
  return sendError(res, 400, "invalid-scope", `Invalid scope: ${scope}`);
233
241
  }
234
242
  const args = ["install", plugin, ...(scope ? ["--scope", scope] : [])];
235
- await runAndRespond(args, root, res, { timeout: 60_000 });
243
+ await runAndRespond(args, root, res, { timeout: 60_000, cacheRoot });
236
244
  });
237
245
  // POST /api/plugins/:name/uninstall
238
246
  router.post("/api/plugins/:name/uninstall", async (req, res, params) => {
247
+ const root = getRoot();
239
248
  const name = params.name;
240
249
  if (!PLUGIN_REF.test(name)) {
241
250
  return sendError(res, 400, "invalid-plugin-name", `Invalid plugin name: ${name}`);
@@ -249,12 +258,12 @@ export function registerPluginCliRoutes(router, root, options = {}) {
249
258
  // (bare name returns "not found in installed plugins"). Resolve the bare
250
259
  // name against the installed-list output so the UI can keep using the
251
260
  // short name while we shell out with the right ref.
252
- const ref = resolvePluginRef(name, await fetchPluginList(root));
261
+ const ref = resolvePluginRef(name, await fetchPluginList(root, cacheRoot));
253
262
  const args = ["uninstall", ref, ...(scope ? ["--scope", scope] : [])];
254
263
  try {
255
264
  const result = await runClaudePlugin(args, { cwd: root, timeout: 30_000 });
256
265
  if (result.code === 0) {
257
- const plugins = await fetchPluginList(root);
266
+ const plugins = await fetchPluginList(root, cacheRoot);
258
267
  sendJson(res, { ok: true, stdout: result.stdout, plugins });
259
268
  return;
260
269
  }
@@ -268,7 +277,7 @@ export function registerPluginCliRoutes(router, root, options = {}) {
268
277
  if (orphans.length > 0) {
269
278
  const cleanup = removeOrphanPluginCacheDirs(orphans, cacheRoot);
270
279
  if (cleanup.removed.length > 0) {
271
- const plugins = await fetchPluginList(root);
280
+ const plugins = await fetchPluginList(root, cacheRoot);
272
281
  sendJson(res, {
273
282
  ok: true,
274
283
  fallback: "orphan-cache-removed",
@@ -306,7 +315,7 @@ async function runAndRespond(args, cwd, res, opts = {}) {
306
315
  return;
307
316
  }
308
317
  // Re-fetch the plugin list so the UI can refresh without a second call.
309
- const plugins = await fetchPluginList(cwd);
318
+ const plugins = await fetchPluginList(cwd, opts.cacheRoot);
310
319
  sendJson(res, { ok: true, stdout: result.stdout, plugins });
311
320
  }
312
321
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-cli-routes.js","sourceRoot":"","sources":["../../src/eval-server/plugin-cli-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-cli-routes.js","sourceRoot":"","sources":["../../src/eval-server/plugin-cli-routes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Router } from "./router.js";
2
+ declare function lastSegment(name: string): string;
3
+ declare function validateAgentIds(ids: unknown): {
4
+ ok: true;
5
+ ids: string[];
6
+ } | {
7
+ ok: false;
8
+ error: string;
9
+ };
10
+ export declare function registerRemoveSkillRoutes(router: Router, rootArg?: string | (() => string)): void;
11
+ export declare const __test__: {
12
+ SAFE_NAME: RegExp;
13
+ SAFE_AGENT_ID: RegExp;
14
+ VALID_SCOPES: ReadonlySet<string>;
15
+ validateAgentIds: typeof validateAgentIds;
16
+ lastSegment: typeof lastSegment;
17
+ };
18
+ export {};