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
@@ -10,7 +10,13 @@
10
10
  // and gh-CLI-based repo creation on top of these primitives.
11
11
  // ---------------------------------------------------------------------------
12
12
  import { spawn } from "node:child_process";
13
- import { sendJson, readBody, LOCALHOST_ORIGIN_RE } from "./router.js";
13
+ import { sendJson, readBody } from "./router.js";
14
+ // 0836 US-002: the studio-token gate is now the primary authn for /api/*.
15
+ // Origin-pattern matching kept as defense-in-depth for git-routes (CSRF
16
+ // guard against browser cross-site requests with the token leaking via
17
+ // devtools / extension). The pattern was previously exported from router.ts
18
+ // as LOCALHOST_ORIGIN_RE — inlined here as the only remaining caller.
19
+ const LOCALHOST_ORIGIN_RE = /^https?:\/\/(localhost|127\.0\.0\.1)(:\d+)?$/;
14
20
  import { createLlmClient } from "../eval/llm.js";
15
21
  const DEFAULT_TIMEOUT_MS = 60_000;
16
22
  function getTimeoutMs() {
@@ -94,12 +100,14 @@ function isRequestAllowed(req) {
94
100
  // ---------------------------------------------------------------------------
95
101
  // GET /api/git/remote
96
102
  // ---------------------------------------------------------------------------
97
- export function makeGetGitRemoteHandler(root) {
103
+ export function makeGetGitRemoteHandler(rootArg) {
104
+ const getRoot = typeof rootArg === "function" ? rootArg : () => rootArg;
98
105
  return async function handler(req, res) {
99
106
  if (!isRequestAllowed(req)) {
100
107
  sendJson(res, { error: "forbidden" }, 403);
101
108
  return;
102
109
  }
110
+ const root = getRoot();
103
111
  const timeout = getTimeoutMs();
104
112
  const [remote, branchResult] = await Promise.all([
105
113
  runGitCommand(["remote", "get-url", "origin"], root, timeout),
@@ -139,12 +147,14 @@ async function collectDiffSummary(root, timeoutMs) {
139
147
  // interval. Non-git workspaces (or git error) → `{ paths: [] }`, never 5xx.
140
148
  // ---------------------------------------------------------------------------
141
149
  const PORCELAIN_PREFIX_RE = /^[ MADRCU?!]{1,2} +/;
142
- export function makeGetGitStatusHandler(root) {
150
+ export function makeGetGitStatusHandler(rootArg) {
151
+ const getRoot = typeof rootArg === "function" ? rootArg : () => rootArg;
143
152
  return async function handler(req, res) {
144
153
  if (!isRequestAllowed(req)) {
145
154
  sendJson(res, { error: "forbidden" }, 403);
146
155
  return;
147
156
  }
157
+ const root = getRoot();
148
158
  const result = await runGitCommand(["status", "--porcelain"], root, getTimeoutMs());
149
159
  if (result.exitCode !== 0) {
150
160
  // Not a git repo / detached / network — fail soft so the UI just shows
@@ -166,12 +176,14 @@ export function makeGetGitStatusHandler(root) {
166
176
  // The UI calls this when the user clicks Publish to decide whether to open
167
177
  // the commit-message drawer (dirty) or just push (clean).
168
178
  // ---------------------------------------------------------------------------
169
- export function makePostGitDiffHandler(root) {
179
+ export function makePostGitDiffHandler(rootArg) {
180
+ const getRoot = typeof rootArg === "function" ? rootArg : () => rootArg;
170
181
  return async function handler(req, res) {
171
182
  if (!isRequestAllowed(req)) {
172
183
  sendJson(res, { error: "forbidden" }, 403);
173
184
  return;
174
185
  }
186
+ const root = getRoot();
175
187
  const summary = await collectDiffSummary(root, getTimeoutMs());
176
188
  sendJson(res, summary, 200);
177
189
  };
@@ -191,8 +203,10 @@ const COMMIT_MESSAGE_SYSTEM_PROMPT = "You write concise, conventional-commit-sty
191
203
  "(feat:, fix:, refactor:, docs:, test:, chore:). Be specific about what changed " +
192
204
  "and why, but stay terse.";
193
205
  const DIFF_TRUNCATION_CAP = 10_000;
194
- export function makePostGitCommitMessageHandler(root) {
206
+ export function makePostGitCommitMessageHandler(rootArg) {
207
+ const getRoot = typeof rootArg === "function" ? rootArg : () => rootArg;
195
208
  return async function handler(req, res) {
209
+ const root = getRoot();
196
210
  if (!isRequestAllowed(req)) {
197
211
  sendJson(res, { error: "forbidden" }, 403);
198
212
  return;
@@ -239,8 +253,10 @@ export function makePostGitCommitMessageHandler(root) {
239
253
  // before push. The full 0742 increment may layer dirty-pill, SSE streaming,
240
254
  // and gh-CLI repo creation on top.
241
255
  // ---------------------------------------------------------------------------
242
- export function makePostGitPublishHandler(root) {
256
+ export function makePostGitPublishHandler(rootArg) {
257
+ const getRoot = typeof rootArg === "function" ? rootArg : () => rootArg;
243
258
  return async function handler(req, res) {
259
+ const root = getRoot();
244
260
  if (!isRequestAllowed(req)) {
245
261
  const msg = "forbidden: publish only allowed from loopback";
246
262
  sendJson(res, { success: false, error: msg, stderr: msg }, 403);
@@ -308,19 +324,111 @@ export function makePostGitPublishHandler(root) {
308
324
  }, 200);
309
325
  };
310
326
  }
311
- // ---------------------------------------------------------------------------
312
- // Mount
313
- // ---------------------------------------------------------------------------
314
- export function registerGitRoutes(router, root) {
315
- const remoteHandler = makeGetGitRemoteHandler(root);
327
+ function parseGithubUrl(url) {
328
+ const stripDotGit = (s) => s.replace(/\.git$/, "");
329
+ // SSH form: git@github.com:owner/repo(.git)?
330
+ const sshMatch = url.match(/^git@github\.com:([^/]+)\/(.+?)(\.git)?$/);
331
+ if (sshMatch)
332
+ return { owner: sshMatch[1], repo: stripDotGit(sshMatch[2]) };
333
+ // SSH proto form: ssh://git@github.com/owner/repo(.git)?
334
+ const sshProtoMatch = url.match(/^ssh:\/\/git@github\.com\/([^/]+)\/(.+?)(\.git)?$/);
335
+ if (sshProtoMatch)
336
+ return { owner: sshProtoMatch[1], repo: stripDotGit(sshProtoMatch[2]) };
337
+ // HTTPS form: https://github.com/owner/repo(.git)?
338
+ const httpsMatch = url.match(/^https:\/\/github\.com\/([^/]+)\/(.+?)(\.git)?$/);
339
+ if (httpsMatch)
340
+ return { owner: httpsMatch[1], repo: stripDotGit(httpsMatch[2]) };
341
+ return null;
342
+ }
343
+ export function makeGetRepoInfoHandler() {
344
+ return async function handler(req, res) {
345
+ if (!isRequestAllowed(req)) {
346
+ sendJson(res, { error: "forbidden" }, 403);
347
+ return;
348
+ }
349
+ const url = new URL(req.url || "/", `http://${req.headers.host || "localhost"}`);
350
+ const folder = url.searchParams.get("folder");
351
+ const empty = {
352
+ name: null,
353
+ branch: null,
354
+ is_private: null,
355
+ sync_state: { kind: "no_remote" },
356
+ };
357
+ if (!folder) {
358
+ sendJson(res, empty, 200);
359
+ return;
360
+ }
361
+ const timeout = getTimeoutMs();
362
+ // Detect remote URL — `git remote get-url origin` is the canonical form.
363
+ const remote = await runGitCommand(["remote", "get-url", "origin"], folder, timeout);
364
+ if (remote.exitCode !== 0) {
365
+ sendJson(res, empty, 200);
366
+ return;
367
+ }
368
+ const remoteUrl = remote.stdout.trim();
369
+ const parsed = parseGithubUrl(remoteUrl);
370
+ const branchResult = await runGitCommand(["branch", "--show-current"], folder, timeout);
371
+ const branch = branchResult.exitCode === 0
372
+ ? branchResult.stdout.trim() || null
373
+ : null;
374
+ if (!parsed) {
375
+ // Not a github.com remote — return what we have, the widget will
376
+ // render the "external git" empty state.
377
+ sendJson(res, { ...empty, branch }, 200);
378
+ return;
379
+ }
380
+ const name = `${parsed.owner}/${parsed.repo}`;
381
+ // Sync state: upstream → dirty → ahead/behind → clean.
382
+ const upstream = await runGitCommand(["rev-parse", "--abbrev-ref", "@{u}"], folder, timeout);
383
+ let sync_state = { kind: "no_remote" };
384
+ if (upstream.exitCode === 0) {
385
+ const porcelain = await runGitCommand(["status", "--porcelain"], folder, timeout);
386
+ const dirty = porcelain.exitCode === 0
387
+ ? porcelain.stdout.split("\n").filter((l) => l.trim().length > 0).length
388
+ : 0;
389
+ if (dirty > 0) {
390
+ sync_state = { kind: "dirty", count: dirty };
391
+ }
392
+ else {
393
+ const counts = await runGitCommand(["rev-list", "--left-right", "--count", "HEAD...@{u}"], folder, timeout);
394
+ if (counts.exitCode === 0) {
395
+ const [aheadStr, behindStr] = counts.stdout.trim().split(/\s+/);
396
+ const ahead = parseInt(aheadStr ?? "0", 10) || 0;
397
+ const behind = parseInt(behindStr ?? "0", 10) || 0;
398
+ if (ahead > 0)
399
+ sync_state = { kind: "ahead", count: ahead };
400
+ else if (behind > 0)
401
+ sync_state = { kind: "behind", count: behind };
402
+ else
403
+ sync_state = { kind: "clean" };
404
+ }
405
+ else {
406
+ sync_state = { kind: "clean" };
407
+ }
408
+ }
409
+ }
410
+ sendJson(res, {
411
+ name,
412
+ branch,
413
+ is_private: null, // GitHub API call deferred — null = "unknown"
414
+ sync_state,
415
+ }, 200);
416
+ };
417
+ }
418
+ export function registerGitRoutes(router, rootArg) {
419
+ const getRoot = typeof rootArg === "function" ? rootArg : () => rootArg;
420
+ const remoteHandler = makeGetGitRemoteHandler(getRoot);
316
421
  router.get("/api/git/remote", (req, res) => remoteHandler(req, res));
317
- const statusHandler = makeGetGitStatusHandler(root);
422
+ const statusHandler = makeGetGitStatusHandler(getRoot);
318
423
  router.get("/api/git/status", (req, res) => statusHandler(req, res));
319
- const diffHandler = makePostGitDiffHandler(root);
424
+ const diffHandler = makePostGitDiffHandler(getRoot);
320
425
  router.post("/api/git/diff", (req, res) => diffHandler(req, res));
321
- const commitMessageHandler = makePostGitCommitMessageHandler(root);
426
+ const commitMessageHandler = makePostGitCommitMessageHandler(getRoot);
322
427
  router.post("/api/git/commit-message", (req, res) => commitMessageHandler(req, res));
323
- const publishHandler = makePostGitPublishHandler(root);
428
+ const publishHandler = makePostGitPublishHandler(getRoot);
324
429
  router.post("/api/git/publish", (req, res) => publishHandler(req, res));
430
+ // 2026-05-11 — replaces the blocked Tauri get_repo_info IPC.
431
+ const repoInfoHandler = makeGetRepoInfoHandler();
432
+ router.get("/api/git/repo-info", (req, res) => repoInfoHandler(req, res));
325
433
  }
326
434
  //# sourceMappingURL=git-routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-routes.js","sourceRoot":"","sources":["../../src/eval-server/git-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-routes.js","sourceRoot":"","sources":["../../src/eval-server/git-routes.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,kDAAkD;AAClD,EAAE;AACF,4DAA4D;AAC5D,qFAAqF;AACrF,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,6EAA6E;AAC7E,6DAA6D;AAC7D,8EAA8E;AAG9E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjD,0EAA0E;AAC1E,wEAAwE;AACxE,uEAAuE;AACvE,4EAA4E;AAC5E,sEAAsE;AACtE,MAAM,mBAAmB,GAAG,8CAA8C,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAqB,MAAM,gBAAgB,CAAC;AASpE,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,SAAS,YAAY;IACnB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,kBAAkB,CAAC;IACpC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;AAC9D,CAAC;AAED,0EAA0E;AAC1E,mEAAmE;AACnE,SAAS,aAAa,CACpB,IAAuB,EACvB,GAAW,EACX,SAAiB;IAEjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,IAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACrD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;YACvC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAC9B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC;gBACN,QAAQ,EAAE,IAAI;gBACd,MAAM;gBACN,MAAM,EAAE,MAAM,IAAI,GAAG,CAAC,OAAO;gBAC7B,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,iEAAiE;AACjE,2EAA2E;AAC3E,yDAAyD;AACzD,SAAS,UAAU,CAAC,IAAwB;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,kBAAkB,CAAC;AAC/E,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,qEAAqE;AACrE,oEAAoE;AACpE,SAAS,eAAe,CAAC,GAAoB;IAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,CAAC,+CAA+C;IACzE,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAoB;IAC5C,OAAO,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAC9E,MAAM,UAAU,uBAAuB,CAAC,OAAgC;IACtE,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACxE,OAAO,KAAK,UAAU,OAAO,CAAC,GAAoB,EAAE,GAAmB;QACrE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/C,aAAa,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;YAC7D,aAAa,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;SACpE,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE/E,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvC,QAAQ,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC,CAAC;AACJ,CAAC;AAiBD,KAAK,UAAU,kBAAkB,CAAC,IAAY,EAAE,SAAiB;IAC/D,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACnD,aAAa,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC;QACpD,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC;QACxC,aAAa,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC;KAC1D,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,MAAM,SAAS,GAAG,UAAU;SACzB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,UAAU,EAAE,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,0EAA0E;AAC1E,2EAA2E;AAC3E,4EAA4E;AAC5E,8EAA8E;AAE9E,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAElD,MAAM,UAAU,uBAAuB,CAAC,OAAgC;IACtE,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACxE,OAAO,KAAK,UAAU,OAAO,CAAC,GAAoB,EAAE,GAAmB;QACrE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QACpF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,uEAAuE;YACvE,iDAAiD;YACjD,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM;aACxB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;aAC3D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,0DAA0D;AAC1D,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CAAC,OAAgC;IACrE,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACxE,OAAO,KAAK,UAAU,OAAO,CAAC,GAAoB,EAAE,GAAmB;QACrE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAC/D,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,6EAA6E;AAC7E,2DAA2D;AAC3D,8EAA8E;AAE9E,MAAM,4BAA4B,GAChC,oEAAoE;IACpE,+EAA+E;IAC/E,+EAA+E;IAC/E,iFAAiF;IACjF,iFAAiF;IACjF,0BAA0B,CAAC;AAE7B,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,MAAM,UAAU,+BAA+B,CAAC,OAAgC;IAC9E,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACxE,OAAO,KAAK,UAAU,OAAO,CAAC,GAAoB,EAAE,GAAmB;QACrE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,IAAiD,CAAC;QACtD,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAgD,CAAC;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,OAAO,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YACzC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAChD,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,MAAM,UAAU,GACd,kDAAkD;YAClD,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,mBAAmB,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,QAAQ,OAAO,EAAE,CAAC;QAEpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,4BAA4B,EAAE,UAAU,CAAC,CAAC;YAC/E,QAAQ,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,mCAAmC;AACnC,8EAA8E;AAC9E,MAAM,UAAU,yBAAyB,CAAC,OAAgC;IACxE,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACxE,OAAO,KAAK,UAAU,OAAO,CAAC,GAAoB,EAAE,GAAmB;QACrE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,+CAA+C,CAAC;YAC5D,QAAQ,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAI,IAAI,GAA+B,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAA+B,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,mEAAmE;YACnE,oCAAoC;QACtC,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;QAE/B,2EAA2E;QAC3E,0EAA0E;QAC1E,6DAA6D;QAC7D,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YACvE,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC9D,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,gBAAgB,CAAC;oBACvE,QAAQ,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;oBAChG,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,EACpC,IAAI,EACJ,OAAO,CACR,CAAC;gBACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,mBAAmB,CAAC;oBAChF,QAAQ,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;oBACtG,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,mDAAmD,CAAC;YACvE,QAAQ,CACN,GAAG,EACH,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAC9E,GAAG,CACJ,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,0EAA0E;YAC1E,sEAAsE;YACtE,yDAAyD;YACzD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,QAAQ,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;YAClG,OAAO;QACT,CAAC;QAED,oEAAoE;QACpE,yEAAyE;QACzE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpD,aAAa,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;YACnD,aAAa,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;YAC7D,aAAa,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;SACpE,CAAC,CAAC;QAEH,QAAQ,CACN,GAAG,EACH;YACE,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;YACxD,MAAM,EAAE,YAAY,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;YACvE,SAAS,EAAE,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;YAC9D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,EACD,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAkCD,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC3D,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACvE,IAAI,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,yDAAyD;IACzD,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACrF,IAAI,aAAa;QAAE,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,mDAAmD;IACnD,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAChF,IAAI,UAAU;QAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,KAAK,UAAU,OAAO,CAAC,GAAoB,EAAE,GAAmB;QACrE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAa;YACtB,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAClC,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;QAC/B,yEAAyE;QACzE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACrF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,KAAK,CAAC;YACxC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI;YACpC,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,iEAAiE;YACjE,yCAAyC;YACzC,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAE9C,uDAAuD;QACvD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7F,IAAI,UAAU,GAA2B,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC/D,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAClF,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,KAAK,CAAC;gBACpC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM;gBACxE,CAAC,CAAC,CAAC,CAAC;YACN,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC,EACtD,MAAM,EACN,OAAO,CACR,CAAC;gBACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;oBACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;oBACnD,IAAI,KAAK,GAAG,CAAC;wBAAE,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBACvD,IAAI,MAAM,GAAG,CAAC;wBAAE,UAAU,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;;wBAC/D,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,GAAG,EAAE;YACZ,IAAI;YACJ,MAAM;YACN,UAAU,EAAE,IAAI,EAAI,8CAA8C;YAClE,UAAU;SACQ,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAgC;IAChF,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACxE,MAAM,aAAa,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAErE,MAAM,aAAa,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAErE,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAElE,MAAM,oBAAoB,GAAG,+BAA+B,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAErF,MAAM,cAAc,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAExE,6DAA6D;IAC7D,MAAM,eAAe,GAAG,sBAAsB,EAAE,CAAC;IACjD,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC5E,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { Router } from "./router.js";
2
- export declare function registerImproveRoutes(router: Router, root: string): void;
2
+ export declare function registerImproveRoutes(router: Router, rootArg: string | (() => string)): void;
@@ -13,9 +13,11 @@ import { initSSE, sendSSE, sendSSEDone, withHeartbeat } from "./sse-helpers.js";
13
13
  import { classifyError } from "./error-classifier.js";
14
14
  import { extractFrontmatterVersion, bumpPatch, setFrontmatterVersion } from "../utils/version.js";
15
15
  import { submitSkillUpdateEvent } from "./platform-proxy.js";
16
- export function registerImproveRoutes(router, root) {
16
+ export function registerImproveRoutes(router, rootArg) {
17
+ const getRoot = typeof rootArg === "function" ? rootArg : () => rootArg;
17
18
  // POST /api/skills/:plugin/:skill/improve
18
19
  router.post("/api/skills/:plugin/:skill/improve", async (req, res, params) => {
20
+ const root = getRoot();
19
21
  const skillDir = resolveSkillDir(root, params.plugin, params.skill);
20
22
  const skillMdPath = join(skillDir, "SKILL.md");
21
23
  if (!existsSync(skillMdPath)) {
@@ -304,6 +306,7 @@ After the improved content, on a new line, write "---REASONING---" followed by a
304
306
  // internal publish queue. This is a no-op in production where the studio
305
307
  // doesn't carry INTERNAL_BROADCAST_KEY — see platform-proxy.submitSkillUpdateEvent.
306
308
  router.post("/api/skills/:plugin/:skill/apply-improvement", async (req, res, params) => {
309
+ const root = getRoot();
307
310
  const skillDir = resolveSkillDir(root, params.plugin, params.skill);
308
311
  const skillMdPath = join(skillDir, "SKILL.md");
309
312
  const body = (await readBody(req));
@@ -1 +1 @@
1
- {"version":3,"file":"improve-routes.js","sourceRoot":"","sources":["../../src/eval-server/improve-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"improve-routes.js","sourceRoot":"","sources":["../../src/eval-server/improve-routes.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { type ChildProcess } from "node:child_process";
2
1
  import type { Router } from "./router.js";
2
+ import { type SpawnJob } from "./install-jobs.js";
3
3
  type EngineName = "vskill" | "anthropic-skill-creator";
4
4
  interface EngineCommand {
5
5
  command: string;
@@ -7,26 +7,13 @@ interface EngineCommand {
7
7
  /** PATH-resolved CLI that MUST exist before we spawn `command`. */
8
8
  prerequisite: string;
9
9
  }
10
- interface InstallJob {
11
- id: string;
10
+ interface EngineJobMeta {
12
11
  engine: EngineName;
13
- proc: ChildProcess;
14
- stdoutBuffer: string;
15
- stderrBuffer: string;
16
- exitCode: number | null;
17
- done: boolean;
18
- /** Listeners that receive progress events as they arrive. */
19
- subscribers: Set<(event: "progress" | "done", data: unknown) => void>;
20
- /** Replay log so a stream that connects after spawn started gets prior events. */
21
- pastEvents: Array<{
22
- event: "progress" | "done";
23
- data: unknown;
24
- }>;
25
12
  }
26
- export declare function registerInstallEngineRoutes(router: Router, _root: string): void;
13
+ export declare function registerInstallEngineRoutes(router: Router, _rootArg: string | (() => string)): void;
27
14
  export declare const __test__: {
28
15
  INSTALL_COMMANDS: Record<EngineName, EngineCommand>;
29
16
  INSTALL_TIMEOUT_MS: number;
30
- jobs: Map<string, InstallJob>;
17
+ jobs: Map<string, SpawnJob<EngineJobMeta>>;
31
18
  };
32
19
  export {};
@@ -21,11 +21,9 @@
21
21
  // Ref: .specweave/increments/0734-studio-create-skill-engine-selector
22
22
  // ACs: AC-US5-01..AC-US5-09
23
23
  // ---------------------------------------------------------------------------
24
- import { spawn } from "node:child_process";
25
- import { randomUUID } from "node:crypto";
26
24
  import { sendJson, readBody } from "./router.js";
27
- import { initSSE, sendSSE, sendSSEDone } from "./sse-helpers.js";
28
25
  import { isCliAvailable } from "./install-engine-routes-helpers.js";
26
+ import { isLocalhost, mountSpawnStreamRoute, startSpawnJob, } from "./install-jobs.js";
29
27
  /**
30
28
  * Hard-coded engine→command allow-list. The HTTP request body NEVER reaches a
31
29
  * shell — only the engine *name* is read from the request, then mapped here.
@@ -43,87 +41,8 @@ const INSTALL_COMMANDS = {
43
41
  },
44
42
  };
45
43
  const INSTALL_TIMEOUT_MS = 120_000;
46
- const STDOUT_BUFFER_CAP = 1024 * 1024; // 1 MB
47
44
  const JOBS = new Map();
48
- function isLocalhost(req) {
49
- const addr = req.socket.remoteAddress ?? "";
50
- return addr === "127.0.0.1" || addr === "::1" || addr === "::ffff:127.0.0.1";
51
- }
52
- function trimRing(buf, cap) {
53
- return buf.length <= cap ? buf : buf.slice(buf.length - cap);
54
- }
55
- function emitToJob(job, event, data) {
56
- job.pastEvents.push({ event, data });
57
- for (const sub of job.subscribers) {
58
- try {
59
- sub(event, data);
60
- }
61
- catch { /* subscriber failed — ignore */ }
62
- }
63
- }
64
- function startInstall(engine) {
65
- const cmd = INSTALL_COMMANDS[engine];
66
- const proc = spawn(cmd.command, cmd.args, { stdio: ["ignore", "pipe", "pipe"] });
67
- const job = {
68
- id: randomUUID(),
69
- engine,
70
- proc,
71
- stdoutBuffer: "",
72
- stderrBuffer: "",
73
- exitCode: null,
74
- done: false,
75
- subscribers: new Set(),
76
- pastEvents: [],
77
- };
78
- proc.stdout?.on("data", (chunk) => {
79
- const text = chunk.toString();
80
- job.stdoutBuffer = trimRing(job.stdoutBuffer + text, STDOUT_BUFFER_CAP);
81
- for (const line of text.split(/\r?\n/)) {
82
- if (line.length > 0)
83
- emitToJob(job, "progress", { stream: "stdout", line });
84
- }
85
- });
86
- proc.stderr?.on("data", (chunk) => {
87
- const text = chunk.toString();
88
- job.stderrBuffer = trimRing(job.stderrBuffer + text, STDOUT_BUFFER_CAP);
89
- for (const line of text.split(/\r?\n/)) {
90
- if (line.length > 0)
91
- emitToJob(job, "progress", { stream: "stderr", line });
92
- }
93
- });
94
- let timedOut = false;
95
- const timer = setTimeout(() => {
96
- timedOut = true;
97
- try {
98
- proc.kill("SIGTERM");
99
- }
100
- catch { /* process already gone */ }
101
- }, INSTALL_TIMEOUT_MS);
102
- proc.on("exit", (code) => {
103
- clearTimeout(timer);
104
- job.exitCode = timedOut ? -1 : code;
105
- job.done = true;
106
- const stderr = timedOut ? "timeout" : job.stderrBuffer.trim();
107
- emitToJob(job, "done", {
108
- success: !timedOut && code === 0,
109
- exitCode: timedOut ? -1 : code,
110
- stderr,
111
- });
112
- });
113
- proc.on("error", (err) => {
114
- clearTimeout(timer);
115
- job.exitCode = -1;
116
- job.done = true;
117
- emitToJob(job, "done", {
118
- success: false,
119
- exitCode: -1,
120
- stderr: err.message || "spawn failed",
121
- });
122
- });
123
- JOBS.set(job.id, job);
124
- return job;
125
- }
126
- export function registerInstallEngineRoutes(router, _root) {
45
+ export function registerInstallEngineRoutes(router, _rootArg) {
127
46
  // POST /api/studio/install-engine
128
47
  router.post("/api/studio/install-engine", async (req, res) => {
129
48
  if (!isLocalhost(req)) {
@@ -153,51 +72,17 @@ export function registerInstallEngineRoutes(router, _root) {
153
72
  }, 412, req);
154
73
  return;
155
74
  }
156
- const job = startInstall(engine);
75
+ const job = startSpawnJob({
76
+ command: cmd.command,
77
+ args: cmd.args,
78
+ meta: { engine },
79
+ timeoutMs: INSTALL_TIMEOUT_MS,
80
+ jobs: JOBS,
81
+ });
157
82
  sendJson(res, { jobId: job.id }, 202, req);
158
83
  });
159
84
  // GET /api/studio/install-engine/:jobId/stream
160
- router.get("/api/studio/install-engine/:jobId/stream", async (req, res, params) => {
161
- if (!isLocalhost(req)) {
162
- sendJson(res, { error: "localhost-only endpoint" }, 403, req);
163
- return;
164
- }
165
- const job = JOBS.get(params.jobId);
166
- if (!job) {
167
- sendJson(res, { error: "unknown jobId" }, 404, req);
168
- return;
169
- }
170
- initSSE(res, req);
171
- // Replay any events that fired before this stream connected.
172
- for (const ev of job.pastEvents) {
173
- try {
174
- sendSSE(res, ev.event, ev.data);
175
- }
176
- catch { /* stream closed */ }
177
- }
178
- if (job.done) {
179
- try {
180
- res.end();
181
- }
182
- catch { /* already closed */ }
183
- return;
184
- }
185
- const subscriber = (event, data) => {
186
- try {
187
- if (event === "done")
188
- sendSSEDone(res, data);
189
- else
190
- sendSSE(res, event, data);
191
- }
192
- catch { /* stream closed */ }
193
- };
194
- job.subscribers.add(subscriber);
195
- const cleanup = () => {
196
- job.subscribers.delete(subscriber);
197
- };
198
- req.on("close", cleanup);
199
- req.on("aborted", cleanup);
200
- });
85
+ mountSpawnStreamRoute(router, "/api/studio/install-engine", JOBS);
201
86
  }
202
87
  // ---------------------------------------------------------------------------
203
88
  // Internals exposed for tests.
@@ -1 +1 @@
1
- {"version":3,"file":"install-engine-routes.js","sourceRoot":"","sources":["../../src/eval-server/install-engine-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-engine-routes.js","sourceRoot":"","sources":["../../src/eval-server/install-engine-routes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import * as http from "node:http";
2
+ import { type ChildProcess } from "node:child_process";
3
+ import type { Router } from "./router.js";
4
+ export declare const STDOUT_BUFFER_CAP: number;
5
+ export type JobEvent = "progress" | "done";
6
+ export interface SpawnJob<TMeta extends object> {
7
+ id: string;
8
+ meta: TMeta;
9
+ proc: ChildProcess;
10
+ stdoutBuffer: string;
11
+ stderrBuffer: string;
12
+ exitCode: number | null;
13
+ done: boolean;
14
+ subscribers: Set<(event: JobEvent, data: unknown) => void>;
15
+ pastEvents: Array<{
16
+ event: JobEvent;
17
+ data: unknown;
18
+ }>;
19
+ }
20
+ export interface StartSpawnJobOptions<TMeta extends object> {
21
+ command: string;
22
+ args: string[];
23
+ meta: TMeta;
24
+ timeoutMs: number;
25
+ jobs: Map<string, SpawnJob<TMeta>>;
26
+ }
27
+ export declare function isLocalhost(req: http.IncomingMessage): boolean;
28
+ export declare function trimRing(buf: string, cap: number): string;
29
+ /**
30
+ * Spawn `command` with `args`, wire stdout/stderr to per-line "progress"
31
+ * events, register the job in `jobs`, and emit "done" on exit / error /
32
+ * timeout. Returns the registered job synchronously so the HTTP handler
33
+ * can reply with `{ jobId }` immediately.
34
+ */
35
+ export declare function startSpawnJob<TMeta extends object>(opts: StartSpawnJobOptions<TMeta>): SpawnJob<TMeta>;
36
+ /**
37
+ * Mount `GET <prefix>/:jobId/stream` on `router`. The handler enforces the
38
+ * localhost gate, replays buffered events, then subscribes the SSE response
39
+ * to live "progress"/"done" events until disconnect.
40
+ */
41
+ export declare function mountSpawnStreamRoute<TMeta extends object>(router: Router, prefix: string, jobs: Map<string, SpawnJob<TMeta>>): void;