@schoolai/shipyard 3.7.0 → 3.8.0-rc.20260529.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.
Files changed (104) hide show
  1. package/dist/{auth-SS7LV5XK.js → auth-EXHO3AG5.js} +4 -4
  2. package/dist/capability-detector-worker.js +142 -0
  3. package/dist/capability-detector-worker.js.map +1 -0
  4. package/dist/{chunk-DKMDBOFU.js → chunk-2CNIEBKO.js} +21 -11
  5. package/dist/chunk-2CNIEBKO.js.map +1 -0
  6. package/dist/chunk-4T2OQAVL.js +51 -0
  7. package/dist/chunk-4T2OQAVL.js.map +1 -0
  8. package/dist/chunk-5ER6ZHA2.js +46 -0
  9. package/dist/chunk-5ER6ZHA2.js.map +1 -0
  10. package/dist/chunk-7LSEE26O.js +24227 -0
  11. package/dist/chunk-7LSEE26O.js.map +1 -0
  12. package/dist/{chunk-7AHRFPAL.js → chunk-7YOU7MBN.js} +183 -17
  13. package/dist/chunk-7YOU7MBN.js.map +1 -0
  14. package/dist/chunk-CMGJGK6R.js +382 -0
  15. package/dist/chunk-CMGJGK6R.js.map +1 -0
  16. package/dist/{chunk-VPMN47TL.js → chunk-CNR7O5YH.js} +1 -2
  17. package/dist/{chunk-2J3WSIAF.js → chunk-EF2DAODF.js} +18 -3
  18. package/dist/chunk-EF2DAODF.js.map +1 -0
  19. package/dist/chunk-HQ43PHOH.js +1203 -0
  20. package/dist/chunk-HQ43PHOH.js.map +1 -0
  21. package/dist/chunk-KITSAHTX.js +134 -0
  22. package/dist/chunk-KITSAHTX.js.map +1 -0
  23. package/dist/chunk-LESHN5J5.js +6898 -0
  24. package/dist/chunk-LESHN5J5.js.map +1 -0
  25. package/dist/{chunk-LW2MS4T5.js → chunk-LMJFHKRD.js} +15 -12
  26. package/dist/chunk-LMJFHKRD.js.map +1 -0
  27. package/dist/{chunk-SNYEQHUK.js → chunk-NACJENDW.js} +14 -21
  28. package/dist/chunk-NACJENDW.js.map +1 -0
  29. package/dist/{chunk-IISLTKYY.js → chunk-TU63KZFW.js} +2 -2
  30. package/dist/chunk-TX6DK4PK.js +186 -0
  31. package/dist/chunk-TX6DK4PK.js.map +1 -0
  32. package/dist/chunk-UQVXWOPT.js +48 -0
  33. package/dist/chunk-UQVXWOPT.js.map +1 -0
  34. package/dist/{chunk-3MNPDCO5.js → chunk-WBB4XHLH.js} +139 -140
  35. package/dist/chunk-WBB4XHLH.js.map +1 -0
  36. package/dist/chunk-X3MULCV5.js +11 -0
  37. package/dist/chunk-X3MULCV5.js.map +1 -0
  38. package/dist/chunk-YZ3Z3ZYI.js +787 -0
  39. package/dist/chunk-YZ3Z3ZYI.js.map +1 -0
  40. package/dist/{chunk-2UN5AR7V.js → chunk-ZAOPND5G.js} +2 -2
  41. package/dist/chunk-ZFKJAYAN.js +542 -0
  42. package/dist/chunk-ZFKJAYAN.js.map +1 -0
  43. package/dist/cursor-hook-shim.js +316 -0
  44. package/dist/cursor-hook-shim.js.map +1 -0
  45. package/dist/cursor-runner.js +358 -0
  46. package/dist/cursor-runner.js.map +1 -0
  47. package/dist/electron-utility.js +111 -0
  48. package/dist/electron-utility.js.map +1 -0
  49. package/dist/git-pool-V73Q53NX.js +18 -0
  50. package/dist/{git-repo-VRT57DGC.js → git-repo-TN3VZXQV.js} +9 -6
  51. package/dist/index.js +12 -12
  52. package/dist/index.js.map +1 -1
  53. package/dist/{logger-GQCSLSZH.js → logger-QHPTO22N.js} +4 -4
  54. package/dist/login-Q7SZI7JJ.js +20 -0
  55. package/dist/{logout-VUNCW5B2.js → logout-O4AVMO5S.js} +6 -6
  56. package/dist/mcp-servers-F64M5T4I.js +24 -0
  57. package/dist/{roi-Y3MX5UW4.js → roi-EYDLPOCS.js} +5 -5
  58. package/dist/rss-worker.js +159 -0
  59. package/dist/rss-worker.js.map +1 -0
  60. package/dist/{serve-O53FNK64.js → serve-6A7RJWEF.js} +89862 -102999
  61. package/dist/{serve-O53FNK64.js.map → serve-6A7RJWEF.js.map} +1 -1
  62. package/dist/skills-ZHEPSBHW.js +11 -0
  63. package/dist/{start-IDFDHRD6.js → start-YGYYIK53.js} +229 -27
  64. package/dist/start-YGYYIK53.js.map +1 -0
  65. package/dist/vault-crypto-BKDOA65F.js +13 -0
  66. package/dist/vault-crypto-BKDOA65F.js.map +1 -0
  67. package/dist/worker.js +6 -3
  68. package/dist/worker.js.map +1 -1
  69. package/package.json +17 -10
  70. package/dist/chunk-2J3WSIAF.js.map +0 -1
  71. package/dist/chunk-3MNPDCO5.js.map +0 -1
  72. package/dist/chunk-66OBOZ3X.js +0 -79
  73. package/dist/chunk-66OBOZ3X.js.map +0 -1
  74. package/dist/chunk-7AHRFPAL.js.map +0 -1
  75. package/dist/chunk-DKMDBOFU.js.map +0 -1
  76. package/dist/chunk-L2WQMPWS.js +0 -666
  77. package/dist/chunk-L2WQMPWS.js.map +0 -1
  78. package/dist/chunk-LW2MS4T5.js.map +0 -1
  79. package/dist/chunk-PI77CUEP.js +0 -49
  80. package/dist/chunk-PI77CUEP.js.map +0 -1
  81. package/dist/chunk-RXI4637N.js +0 -395
  82. package/dist/chunk-RXI4637N.js.map +0 -1
  83. package/dist/chunk-SNYEQHUK.js.map +0 -1
  84. package/dist/chunk-VBPHGPBR.js +0 -126
  85. package/dist/chunk-VBPHGPBR.js.map +0 -1
  86. package/dist/index.d.ts +0 -2
  87. package/dist/login-L4BBPUYO.js +0 -20
  88. package/dist/mcp-servers-MXS5VAWI.js +0 -18
  89. package/dist/shell-V36EX2IJ.js +0 -27
  90. package/dist/skills-GPGRNV4R.js +0 -9
  91. package/dist/start-IDFDHRD6.js.map +0 -1
  92. package/dist/worker.d.ts +0 -49
  93. /package/dist/{auth-SS7LV5XK.js.map → auth-EXHO3AG5.js.map} +0 -0
  94. /package/dist/{chunk-VPMN47TL.js.map → chunk-CNR7O5YH.js.map} +0 -0
  95. /package/dist/{chunk-IISLTKYY.js.map → chunk-TU63KZFW.js.map} +0 -0
  96. /package/dist/{chunk-2UN5AR7V.js.map → chunk-ZAOPND5G.js.map} +0 -0
  97. /package/dist/{git-repo-VRT57DGC.js.map → git-pool-V73Q53NX.js.map} +0 -0
  98. /package/dist/{logger-GQCSLSZH.js.map → git-repo-TN3VZXQV.js.map} +0 -0
  99. /package/dist/{login-L4BBPUYO.js.map → logger-QHPTO22N.js.map} +0 -0
  100. /package/dist/{mcp-servers-MXS5VAWI.js.map → login-Q7SZI7JJ.js.map} +0 -0
  101. /package/dist/{logout-VUNCW5B2.js.map → logout-O4AVMO5S.js.map} +0 -0
  102. /package/dist/{shell-V36EX2IJ.js.map → mcp-servers-F64M5T4I.js.map} +0 -0
  103. /package/dist/{roi-Y3MX5UW4.js.map → roi-EYDLPOCS.js.map} +0 -0
  104. /package/dist/{skills-GPGRNV4R.js.map → skills-ZHEPSBHW.js.map} +0 -0
@@ -3,6 +3,60 @@ import {
3
3
  external_exports
4
4
  } from "./chunk-EHQITHQX.js";
5
5
 
6
+ // ../../packages/session/src/skill-schemas.ts
7
+ var SkillCompatibleAgentSchema = external_exports.enum(["claude-code", "codex", "cursor"]);
8
+ var SkillBodyResolutionSchema = external_exports.enum(["native", "pass-in", "mirror", "unreachable"]);
9
+ var SkillInfoSchema = external_exports.object({
10
+ name: external_exports.string(),
11
+ description: external_exports.string(),
12
+ path: external_exports.string().optional(),
13
+ sourceAgent: external_exports.string().optional(),
14
+ /**
15
+ * Which agent runtimes can invoke this skill. Defaults to `[sourceAgent]`
16
+ * on read for back-compat. Set by the daemon's compat resolver after
17
+ * detection. Codex pass-in via `[$name](skill://path)` extends a Claude
18
+ * skill's reach to include 'codex'; mirror=on makes both runtimes native.
19
+ * See plan: skill-compat.ts.
20
+ */
21
+ compatibleAgents: external_exports.array(SkillCompatibleAgentSchema).optional(),
22
+ /**
23
+ * How this skill reaches the active agent. `native` = agent's own resolver
24
+ * indexed it; `pass-in` = injected via `skill://` path at submission time;
25
+ * `mirror` = available through a Shipyard-managed symlink; `unreachable` =
26
+ * cannot be invoked from the active agent. Default on read: `'native'`.
27
+ */
28
+ bodyResolution: SkillBodyResolutionSchema.optional(),
29
+ /**
30
+ * Size of the SKILL.md in bytes. Used for context-budget warnings in the
31
+ * composer (per-skill display + per-session injection watermark). Excludes
32
+ * referenced asset files.
33
+ */
34
+ bodyBytes: external_exports.number().optional(),
35
+ /**
36
+ * Plugin id, when the skill is provided by a plugin install (under a plugin
37
+ * cache path such as
38
+ * `~/.claude/plugins/cache/<marketplace>/<plugin-id>/<version>/skills/...`
39
+ * or
40
+ * `~/.codex/plugins/cache/<marketplace>/<plugin-id>/<version>/skills/...`).
41
+ * Used as the SDK invocation prefix (`plugin:name`) — the only namespace
42
+ * form Claude's `Options.skills` and Codex's skill resolver recognize.
43
+ * Unset for user-, project-, and system-scoped skills (the SDK accepts
44
+ * bare names for those). Synthetic prefixes like `'user'`, `'project'`, the
45
+ * marketplace name, or the agent name (e.g. `'claude-code'`) are NEVER
46
+ * written here — they would be rejected at invocation time with "Skill X is
47
+ * not in this session's skills allowlist".
48
+ */
49
+ namespace: external_exports.string().optional(),
50
+ /**
51
+ * Set when the entry was loaded from the persistent Codex skills cache at
52
+ * daemon boot (before the live `listSkills` RPC has replied). The composer
53
+ * may render these with a "stale" treatment; once the RPC result lands the
54
+ * flag is cleared. Never persisted in the cache file itself — the file
55
+ * carries fresh skills and the loader stamps `stale: true` on read.
56
+ */
57
+ stale: external_exports.boolean().optional()
58
+ });
59
+
6
60
  // ../../packages/session/src/schemas.ts
7
61
  var BRANCH_NAME_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9/_.-]*$/;
8
62
  var ErrorResponseSchema = external_exports.object({
@@ -35,8 +89,8 @@ var AuthGitHubCallbackRequestSchema = external_exports.object({
35
89
  var OAuthUserSchema = external_exports.object({
36
90
  /** Shipyard user ID ("usr_abc123") */
37
91
  id: external_exports.string(),
38
- /** Display name */
39
92
  displayName: external_exports.string(),
93
+ login: external_exports.string().optional(),
40
94
  /** GitHub avatar URL */
41
95
  avatarUrl: external_exports.string().nullable(),
42
96
  /** Linked providers */
@@ -158,8 +212,8 @@ var PresignedUrlPayloadSchema = external_exports.object({
158
212
  generation: external_exports.number().optional()
159
213
  });
160
214
  var ReasoningCapabilitySchema = external_exports.object({
161
- efforts: external_exports.array(external_exports.enum(["none", "low", "medium", "high", "xhigh", "max"])).min(1),
162
- defaultEffort: external_exports.enum(["none", "low", "medium", "high", "xhigh", "max"])
215
+ efforts: external_exports.array(external_exports.enum(["none", "low", "medium", "high", "xhigh", "ultracode", "max"])).min(1),
216
+ defaultEffort: external_exports.enum(["none", "low", "medium", "high", "xhigh", "ultracode", "max"])
163
217
  }).refine((data) => data.efforts.includes(data.defaultEffort), {
164
218
  message: "defaultEffort must be one of the supported efforts"
165
219
  });
@@ -196,12 +250,33 @@ var AnthropicAuthStatusSchema = external_exports.object({
196
250
  orgName: external_exports.string().optional(),
197
251
  subscriptionType: external_exports.string().nullable().optional(),
198
252
  apiProvider: external_exports.string().optional(),
253
+ /**
254
+ * Account identifier surfaced for collision detection on the web side
255
+ * (Step 19). Populated from the email claim or subject claim of the
256
+ * id_token. Optional/nullable so older daemons that omit the field
257
+ * still parse cleanly.
258
+ */
259
+ accountId: external_exports.string().optional(),
199
260
  authMismatch: external_exports.object({
200
261
  selected: AnthropicAuthMethodEnum,
201
262
  envMethod: AnthropicAuthMethodEnum,
202
263
  envVar: external_exports.string()
203
264
  }).optional()
204
265
  });
266
+ var CursorAuthStatusSchema = external_exports.object({
267
+ status: external_exports.enum(["authenticated", "unauthenticated", "unknown"]),
268
+ method: external_exports.enum(["api-key", "none"]).optional(),
269
+ email: external_exports.string().optional(),
270
+ accountId: external_exports.string().optional(),
271
+ apiKeyHint: external_exports.string().optional()
272
+ });
273
+ var CodexAuthStatusSchema = external_exports.object({
274
+ status: external_exports.enum(["authenticated", "unauthenticated", "unknown"]),
275
+ method: external_exports.enum(["chatgpt", "api-key", "bedrock", "none"]).optional(),
276
+ email: external_exports.string().optional(),
277
+ accountId: external_exports.string().optional(),
278
+ apiKeyHint: external_exports.string().optional()
279
+ });
205
280
  var MCPServerAuthStatusSchema = external_exports.enum(["authenticated", "unauthenticated", "unknown"]);
206
281
  var MCPServerSourceSchema = external_exports.enum([
207
282
  "project",
@@ -215,11 +290,19 @@ var MCP_SERVER_TYPES = ["stdio", "http", "sse"];
215
290
  var MCPServerTypeSchema = external_exports.enum(MCP_SERVER_TYPES);
216
291
  var MCPOAuthConfigSchema = external_exports.object({
217
292
  clientId: external_exports.string().optional(),
218
- callbackPort: external_exports.number().optional()
293
+ /**
294
+ * `.positive()` rejects `0` at the boundary so a malformed
295
+ * `.mcp.json` with `oauth.callbackPort: 0` doesn't propagate
296
+ * through to DCR and cement `http://localhost:0/callback` in the
297
+ * OAuth state. Downstream defensive guards still treat undefined
298
+ * the same as "missing".
299
+ */
300
+ callbackPort: external_exports.number().int().positive().optional()
219
301
  });
220
302
  var MCPServerInfoSchema = external_exports.object({
221
303
  name: external_exports.string(),
222
304
  type: MCPServerTypeSchema.default("stdio"),
305
+ runtimeId: external_exports.string().min(1).optional(),
223
306
  command: external_exports.string().optional(),
224
307
  args: external_exports.array(external_exports.string()).optional(),
225
308
  env: external_exports.record(external_exports.string(), external_exports.string()).optional(),
@@ -228,12 +311,10 @@ var MCPServerInfoSchema = external_exports.object({
228
311
  oauth: MCPOAuthConfigSchema.optional(),
229
312
  enabled: external_exports.boolean(),
230
313
  source: MCPServerSourceSchema,
314
+ sourceLabel: external_exports.string().optional(),
315
+ sourcePath: external_exports.string().optional(),
231
316
  authStatus: MCPServerAuthStatusSchema
232
317
  });
233
- var SkillInfoSchema = external_exports.object({
234
- name: external_exports.string(),
235
- description: external_exports.string()
236
- });
237
318
  var MarketplacePluginInfoSchema = external_exports.object({
238
319
  name: external_exports.string(),
239
320
  description: external_exports.string(),
@@ -245,23 +326,95 @@ var MarketplacePluginInfoSchema = external_exports.object({
245
326
  version: external_exports.string().optional(),
246
327
  isExternal: external_exports.boolean()
247
328
  });
329
+ var RuntimeIdSchema = external_exports.string().min(1);
248
330
  var ClaudeCodeAgentSchema = external_exports.object({
249
331
  id: external_exports.literal("claude-code"),
332
+ providerId: external_exports.literal("anthropic").default("anthropic"),
250
333
  name: external_exports.literal("Claude Code"),
251
334
  version: external_exports.string().optional()
252
335
  });
253
- var InstalledAgentSchema = external_exports.discriminatedUnion("id", [ClaudeCodeAgentSchema]);
336
+ var CodexAgentSchema = external_exports.object({
337
+ id: external_exports.literal("codex"),
338
+ providerId: external_exports.literal("openai").default("openai"),
339
+ name: external_exports.literal("Codex"),
340
+ version: external_exports.string().optional()
341
+ });
342
+ var CursorAgentSchema = external_exports.object({
343
+ id: external_exports.literal("cursor"),
344
+ providerId: external_exports.literal("anysphere").default("anysphere"),
345
+ name: external_exports.literal("Cursor"),
346
+ version: external_exports.string().optional()
347
+ });
348
+ var InstalledAgentSchema = external_exports.object({
349
+ id: RuntimeIdSchema,
350
+ providerId: external_exports.string().min(1).default("unknown").optional(),
351
+ name: external_exports.string().min(1),
352
+ version: external_exports.string().optional()
353
+ });
354
+ var InstalledRuntimeSchema = InstalledAgentSchema;
355
+ var RuntimeAuthStatusSchema = external_exports.object({
356
+ runtimeId: RuntimeIdSchema,
357
+ providerId: external_exports.string().min(1),
358
+ status: external_exports.enum(["authenticated", "unauthenticated", "unknown"]),
359
+ method: external_exports.string().optional(),
360
+ email: external_exports.string().optional(),
361
+ /**
362
+ * Stable account identifier from the provider. Optional — only set
363
+ * when the auth payload includes it (codex chatgpt path, cursor
364
+ * api-key path once `/v1/me` is wired).
365
+ */
366
+ accountId: external_exports.string().optional(),
367
+ /**
368
+ * Masked hint for the api-key auth method, e.g. `crsr_abc***xyz12` or
369
+ * `sk-abc***xyz12`. Lets the settings card show "Signed in as ..."
370
+ * without exposing the full secret.
371
+ */
372
+ apiKeyHint: external_exports.string().optional(),
373
+ orgName: external_exports.string().optional(),
374
+ subscriptionType: external_exports.string().nullable().optional(),
375
+ apiProvider: external_exports.string().optional(),
376
+ authMismatch: external_exports.object({
377
+ selected: external_exports.string().min(1),
378
+ envMethod: external_exports.string().min(1),
379
+ envVar: external_exports.string()
380
+ }).optional()
381
+ });
382
+ var CommonDirSchema = external_exports.object({
383
+ path: external_exports.string(),
384
+ label: external_exports.string()
385
+ });
254
386
  var MachineCapabilitiesSchema = external_exports.object({
255
387
  models: external_exports.array(ModelInfoSchema),
256
388
  environments: external_exports.array(GitRepoInfoSchema),
257
389
  permissionModes: external_exports.array(PermissionModeSchema),
258
390
  homeDir: external_exports.string(),
391
+ /**
392
+ * Pre-detected common directories (e.g. ~/Documents). Optional with a
393
+ * default so pre-v79 daemons that don't send the field still parse —
394
+ * the browser falls back to a Home-only picker. See PROTOCOL_VERSION 79.
395
+ */
396
+ commonDirs: external_exports.array(CommonDirSchema).default([]),
259
397
  anthropicAuth: AnthropicAuthStatusSchema.optional(),
398
+ /**
399
+ * Codex auth status (PROTOCOL_VERSION 83). Optional + `.nullable()`
400
+ * because pre-v83 daemons don't emit the field; older browsers reading
401
+ * a v83 daemon's snapshot ignore the unknown key.
402
+ */
403
+ codexAuth: CodexAuthStatusSchema.nullable().optional(),
404
+ /**
405
+ * Cursor auth status (PROTOCOL_VERSION 102). Same nullable+optional
406
+ * shape as `codexAuth` so pre-cursor daemons / older browsers stay
407
+ * compatible. The `cursor-agent` profile's `authDetector` populates
408
+ * this on every `refreshFull` / cursor login.
409
+ */
410
+ cursorAuth: CursorAuthStatusSchema.nullable().optional(),
411
+ runtimeAuth: external_exports.record(external_exports.string(), RuntimeAuthStatusSchema).default({}).optional(),
260
412
  mcpServers: external_exports.array(MCPServerInfoSchema),
261
413
  skills: external_exports.array(SkillInfoSchema),
262
414
  marketplacePlugins: external_exports.array(MarketplacePluginInfoSchema),
263
415
  autoModeEnabled: external_exports.boolean().optional(),
264
416
  installedAgents: external_exports.array(InstalledAgentSchema),
417
+ installedRuntimes: external_exports.array(InstalledRuntimeSchema).default([]).optional(),
265
418
  /**
266
419
  * False until `runCapabilityDetection` resolves (success OR failure).
267
420
  * Browser banner predicates that treat empty arrays as authoritative-empty
@@ -548,6 +701,8 @@ var AuthLinearCallbackRequestSchema = external_exports.object({
548
701
  var AuthLinearCallbackResponseSchema = external_exports.object({
549
702
  /** Linear access token */
550
703
  linearAccessToken: external_exports.string(),
704
+ /** OAuth refresh token, when Linear returns one (requires offline_access scope) */
705
+ refreshToken: external_exports.string().optional(),
551
706
  /** Seconds until the access token expires (from Linear's token response) */
552
707
  expiresIn: external_exports.number().optional(),
553
708
  /** Linear user info */
@@ -621,6 +776,10 @@ var MetricsIngestResponseSchema = external_exports.object({
621
776
  accepted: external_exports.number()
622
777
  });
623
778
 
779
+ // ../../packages/session/src/protocol-version.ts
780
+ var PROTOCOL_VERSION = 110;
781
+ var MIN_PROTOCOL_VERSION = 103;
782
+
624
783
  // ../../packages/session/src/routes.ts
625
784
  var ROUTES = {
626
785
  HEALTH: "/health",
@@ -647,7 +806,10 @@ var ROUTES = {
647
806
  METRICS_QUERY_EVENTS: "/query/events",
648
807
  PUBLISH_UPLOAD: "/publish",
649
808
  PUBLISH_ITEM: "/publish/:id",
650
- PUBLISH_MINE: "/publish/mine"
809
+ PUBLISH_MINE: "/publish/mine",
810
+ ELECTRON_INSTALL_STABLE: "/install.sh",
811
+ ELECTRON_INSTALL_NEXT: "/install-next.sh",
812
+ ELECTRON_DOWNLOAD: "/downloads/electron/:channel/:file"
651
813
  };
652
814
  var ROUTE_DESCRIPTIONS = [
653
815
  `GET ${ROUTES.HEALTH}`,
@@ -676,11 +838,14 @@ var ROUTE_DESCRIPTIONS = [
676
838
  `POST ${ROUTES.PUBLISH_UPLOAD}`,
677
839
  `PUT ${ROUTES.PUBLISH_ITEM}`,
678
840
  `DELETE ${ROUTES.PUBLISH_ITEM}`,
679
- `GET ${ROUTES.PUBLISH_MINE}`
841
+ `GET ${ROUTES.PUBLISH_MINE}`,
842
+ `GET ${ROUTES.ELECTRON_INSTALL_STABLE}`,
843
+ `GET ${ROUTES.ELECTRON_INSTALL_NEXT}`,
844
+ `GET ${ROUTES.ELECTRON_DOWNLOAD}`
680
845
  ];
681
846
 
682
847
  // ../../packages/session/src/claude-code-compat.ts
683
- var TESTED_CLAUDE_CODE_VERSION = "2.1.120";
848
+ var TESTED_CLAUDE_CODE_VERSION = "2.1.153";
684
849
  function classifyClaudeCodeCompatibility(detected, tested = TESTED_CLAUDE_CODE_VERSION) {
685
850
  if (!detected) return { status: "unknown" };
686
851
  const detectedParts = detected.split(".");
@@ -886,7 +1051,7 @@ function extractCloseCode(ev) {
886
1051
 
887
1052
  // ../../packages/session/src/personal-room-connection.ts
888
1053
  var DEFAULT_BACKOFF_SCHEDULE = [1e3, 2e3, 4e3, 8e3, 15e3, 3e4];
889
- var DEFAULT_SLOW_RETRY_DELAY_MS = 3e4;
1054
+ var DEFAULT_SLOW_RETRY_DELAY_MS = 3e5;
890
1055
  var DEFAULT_PING_INTERVAL_MS = 3e4;
891
1056
  var DEFAULT_PONG_TIMEOUT_MS = 6e4;
892
1057
  var PersonalRoomConnection = class {
@@ -1178,9 +1343,6 @@ var PersonalRoomConnection = class {
1178
1343
  }
1179
1344
  };
1180
1345
 
1181
- // ../../packages/session/src/protocol-version.ts
1182
- var PROTOCOL_VERSION = 74;
1183
-
1184
1346
  // ../../packages/session/src/publish-constants.ts
1185
1347
  var PUBLISHED_PREVIEW_KINDS = [
1186
1348
  "html",
@@ -1249,6 +1411,9 @@ export {
1249
1411
  CollabCreateRequestSchema,
1250
1412
  CollabCreateResponseSchema,
1251
1413
  PermissionModeSchema,
1414
+ AnthropicAuthStatusSchema,
1415
+ CursorAuthStatusSchema,
1416
+ CodexAuthStatusSchema,
1252
1417
  DEFAULT_ICE_SERVERS,
1253
1418
  GitHubIssueCreateRequestSchema,
1254
1419
  GitHubIssueCreateResponseSchema,
@@ -1271,6 +1436,7 @@ export {
1271
1436
  CollabRoomConnection,
1272
1437
  PersonalRoomConnection,
1273
1438
  PROTOCOL_VERSION,
1439
+ MIN_PROTOCOL_VERSION,
1274
1440
  PUBLISHED_PREVIEW_KINDS,
1275
1441
  PUBLISH_TTL_CHOICES,
1276
1442
  MAX_BUILD_TOTAL_BYTES,
@@ -1279,4 +1445,4 @@ export {
1279
1445
  PublishCreateResponseSchema,
1280
1446
  ROUTES
1281
1447
  };
1282
- //# sourceMappingURL=chunk-7AHRFPAL.js.map
1448
+ //# sourceMappingURL=chunk-7YOU7MBN.js.map