@schoolai/shipyard 3.26.0-rc.20260821.0 → 3.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/capability-detector-worker.js +4 -4
- package/dist/{chunk-PZ5HELSE.js → chunk-ASN6META.js} +2 -2
- package/dist/{chunk-YANUTYUV.js → chunk-KAA6A3YV.js} +2 -2
- package/dist/{chunk-3PS6R44Z.js → chunk-LLRLVCL4.js} +4 -4
- package/dist/{chunk-WOF2CNLX.js → chunk-OPMLQQWV.js} +49 -19
- package/dist/chunk-OPMLQQWV.js.map +1 -0
- package/dist/{chunk-OW66JVRI.js → chunk-UUE4MBYJ.js} +2 -2
- package/dist/{chunk-6Y627GV2.js → chunk-WUGADZYC.js} +2 -2
- package/dist/cursor-runner.js +3 -3
- package/dist/electron-utility.js +1 -1
- package/dist/index.js +4 -4
- package/dist/{login-G6KSXZYX.js → login-HS7TO3GQ.js} +3 -3
- package/dist/{plan-backfill-SIEOKGBX.js → plan-backfill-OM7ZKGCR.js} +4 -4
- package/dist/{serve-FAK2T3TT.js → serve-32BIUHWA.js} +39 -7
- package/dist/{serve-FAK2T3TT.js.map → serve-32BIUHWA.js.map} +1 -1
- package/dist/{start-WIWKZY7L.js → start-NAUZF4JP.js} +4 -4
- package/package.json +1 -1
- package/dist/chunk-WOF2CNLX.js.map +0 -1
- /package/dist/{chunk-PZ5HELSE.js.map → chunk-ASN6META.js.map} +0 -0
- /package/dist/{chunk-YANUTYUV.js.map → chunk-KAA6A3YV.js.map} +0 -0
- /package/dist/{chunk-3PS6R44Z.js.map → chunk-LLRLVCL4.js.map} +0 -0
- /package/dist/{chunk-OW66JVRI.js.map → chunk-UUE4MBYJ.js.map} +0 -0
- /package/dist/{chunk-6Y627GV2.js.map → chunk-WUGADZYC.js.map} +0 -0
- /package/dist/{login-G6KSXZYX.js.map → login-HS7TO3GQ.js.map} +0 -0
- /package/dist/{plan-backfill-SIEOKGBX.js.map → plan-backfill-OM7ZKGCR.js.map} +0 -0
- /package/dist/{start-WIWKZY7L.js.map → start-NAUZF4JP.js.map} +0 -0
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
detectCapabilities,
|
|
4
4
|
refreshMcpServers,
|
|
5
5
|
registerBuiltInProfiles
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LLRLVCL4.js";
|
|
7
7
|
import "./chunk-VSRWL5SP.js";
|
|
8
8
|
import {
|
|
9
9
|
getRepoMetadata
|
|
@@ -15,9 +15,9 @@ import {
|
|
|
15
15
|
import "./chunk-RR6V6SNM.js";
|
|
16
16
|
import "./chunk-ROEOOZOW.js";
|
|
17
17
|
import "./chunk-ZFKJAYAN.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-KAA6A3YV.js";
|
|
19
|
+
import "./chunk-UUE4MBYJ.js";
|
|
20
|
+
import "./chunk-OPMLQQWV.js";
|
|
21
21
|
import "./chunk-EHQITHQX.js";
|
|
22
22
|
import "./chunk-X3MULCV5.js";
|
|
23
23
|
import {
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
DevicePollResponseSchema,
|
|
16
16
|
DeviceStartResponseSchema,
|
|
17
17
|
ROUTES
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-OPMLQQWV.js";
|
|
19
19
|
import {
|
|
20
20
|
isDevMode,
|
|
21
21
|
validateEnv
|
|
@@ -223,4 +223,4 @@ export {
|
|
|
223
223
|
ensureAuthenticated,
|
|
224
224
|
loginCommand
|
|
225
225
|
};
|
|
226
|
-
//# sourceMappingURL=chunk-
|
|
226
|
+
//# sourceMappingURL=chunk-ASN6META.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
isImageMimeType,
|
|
4
4
|
parseAssetUri
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-UUE4MBYJ.js";
|
|
6
6
|
import {
|
|
7
7
|
assertNever
|
|
8
8
|
} from "./chunk-X3MULCV5.js";
|
|
@@ -588,4 +588,4 @@ export {
|
|
|
588
588
|
toRecord,
|
|
589
589
|
buildCursorUserPrompt
|
|
590
590
|
};
|
|
591
|
-
//# sourceMappingURL=chunk-
|
|
591
|
+
//# sourceMappingURL=chunk-KAA6A3YV.js.map
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
formatTaskFeedback,
|
|
39
39
|
toRecord,
|
|
40
40
|
toSdkContent
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-KAA6A3YV.js";
|
|
42
42
|
import {
|
|
43
43
|
AGENT_IDS,
|
|
44
44
|
AGENT_SYSTEM_CLAUDE_CODE,
|
|
@@ -50,14 +50,14 @@ import {
|
|
|
50
50
|
REASONING_EFFORTS,
|
|
51
51
|
inflateToolResultContent,
|
|
52
52
|
isImageMimeType
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-UUE4MBYJ.js";
|
|
54
54
|
import {
|
|
55
55
|
AnthropicAuthStatusSchema,
|
|
56
56
|
CodexAuthStatusSchema,
|
|
57
57
|
CursorAuthStatusSchema,
|
|
58
58
|
PermissionModeSchema,
|
|
59
59
|
TESTED_CODEX_VERSION
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-OPMLQQWV.js";
|
|
61
61
|
import {
|
|
62
62
|
logger
|
|
63
63
|
} from "./chunk-CA5PKTNJ.js";
|
|
@@ -8364,4 +8364,4 @@ export {
|
|
|
8364
8364
|
refreshInstalledAgents,
|
|
8365
8365
|
refreshCodexAuthSlice
|
|
8366
8366
|
};
|
|
8367
|
-
//# sourceMappingURL=chunk-
|
|
8367
|
+
//# sourceMappingURL=chunk-LLRLVCL4.js.map
|
|
@@ -974,9 +974,11 @@ function classifyCodexCompatibility(detected, tested = TESTED_CODEX_VERSION) {
|
|
|
974
974
|
return { status: "untested", detected, tested };
|
|
975
975
|
}
|
|
976
976
|
|
|
977
|
-
// ../../packages/session/src/
|
|
977
|
+
// ../../packages/session/src/signaling-keepalive.ts
|
|
978
978
|
var PING_BASE_DELAY_MS = 2e4;
|
|
979
979
|
var PING_JITTER_MS = 1e4;
|
|
980
|
+
|
|
981
|
+
// ../../packages/session/src/collab-room-connection.ts
|
|
980
982
|
var CollabRoomConnection = class {
|
|
981
983
|
state = "disconnected";
|
|
982
984
|
ws = null;
|
|
@@ -1172,7 +1174,6 @@ function extractCloseCode(ev) {
|
|
|
1172
1174
|
// ../../packages/session/src/personal-room-connection.ts
|
|
1173
1175
|
var DEFAULT_BACKOFF_SCHEDULE = [1e3, 2e3, 4e3, 8e3, 15e3, 3e4];
|
|
1174
1176
|
var DEFAULT_SLOW_RETRY_DELAY_MS = 3e5;
|
|
1175
|
-
var DEFAULT_PING_INTERVAL_MS = 3e4;
|
|
1176
1177
|
var DEFAULT_PONG_TIMEOUT_MS = 6e4;
|
|
1177
1178
|
var DEFAULT_PROBE_TIMEOUT_MS = 3e3;
|
|
1178
1179
|
var PersonalRoomConnection = class {
|
|
@@ -1180,6 +1181,7 @@ var PersonalRoomConnection = class {
|
|
|
1180
1181
|
ws = null;
|
|
1181
1182
|
messageHandlers = /* @__PURE__ */ new Set();
|
|
1182
1183
|
stateChangeHandlers = /* @__PURE__ */ new Set();
|
|
1184
|
+
closeInfoHandlers = /* @__PURE__ */ new Set();
|
|
1183
1185
|
rttSampleHandlers = /* @__PURE__ */ new Set();
|
|
1184
1186
|
config;
|
|
1185
1187
|
retryCount = 0;
|
|
@@ -1188,15 +1190,13 @@ var PersonalRoomConnection = class {
|
|
|
1188
1190
|
* Timestamp (ms) of the most recent outbound 'ping'. Cleared on the first
|
|
1189
1191
|
* pong-shaped reply that arrives afterwards. RTT = now - lastPingSentAt.
|
|
1190
1192
|
* Approximate when more than one ping is in flight at once (pong always
|
|
1191
|
-
* matches the latest send), but the proactive interval (30s) is two orders
|
|
1193
|
+
* matches the latest send), but the proactive interval (20-30s) is two orders
|
|
1192
1194
|
* of magnitude slower than typical RTTs so the approximation is fine.
|
|
1193
1195
|
*/
|
|
1194
1196
|
lastPingSentAt = null;
|
|
1195
1197
|
/**
|
|
1196
|
-
*
|
|
1197
|
-
*
|
|
1198
|
-
* timer (reset on every `onmessage`) hides half-open WS death until
|
|
1199
|
-
* kernel TCP RST (~30s on residential ISP).
|
|
1198
|
+
* Proactive one-shot timer. Each tick schedules the next with fresh jitter,
|
|
1199
|
+
* spreading client wakeups without drifting beyond the DO idle-close window.
|
|
1200
1200
|
*/
|
|
1201
1201
|
pingTimer = null;
|
|
1202
1202
|
/**
|
|
@@ -1214,14 +1214,14 @@ var PersonalRoomConnection = class {
|
|
|
1214
1214
|
intentionalDisconnect = false;
|
|
1215
1215
|
backoffSchedule;
|
|
1216
1216
|
slowRetryDelayMs;
|
|
1217
|
-
|
|
1217
|
+
pingBaseDelayMs;
|
|
1218
1218
|
pongTimeoutMs;
|
|
1219
1219
|
probeTimeoutMs;
|
|
1220
1220
|
constructor(config) {
|
|
1221
1221
|
this.config = config;
|
|
1222
1222
|
this.backoffSchedule = config.backoffSchedule ?? DEFAULT_BACKOFF_SCHEDULE;
|
|
1223
1223
|
this.slowRetryDelayMs = config.slowRetryDelayMs ?? DEFAULT_SLOW_RETRY_DELAY_MS;
|
|
1224
|
-
this.
|
|
1224
|
+
this.pingBaseDelayMs = config.pingIntervalMs ?? PING_BASE_DELAY_MS;
|
|
1225
1225
|
this.pongTimeoutMs = config.pongTimeoutMs ?? DEFAULT_PONG_TIMEOUT_MS;
|
|
1226
1226
|
this.probeTimeoutMs = config.probeTimeoutMs ?? DEFAULT_PROBE_TIMEOUT_MS;
|
|
1227
1227
|
}
|
|
@@ -1256,8 +1256,26 @@ var PersonalRoomConnection = class {
|
|
|
1256
1256
|
this.setState("connected");
|
|
1257
1257
|
this.startPingTimer();
|
|
1258
1258
|
};
|
|
1259
|
-
this.ws.onclose = () => {
|
|
1259
|
+
this.ws.onclose = (event) => {
|
|
1260
1260
|
this.stopPingTimer();
|
|
1261
|
+
const closeCode = extractCloseCode2(event);
|
|
1262
|
+
const closeInfo = {
|
|
1263
|
+
code: event.code,
|
|
1264
|
+
reason: event.reason,
|
|
1265
|
+
wasClean: event.wasClean
|
|
1266
|
+
};
|
|
1267
|
+
for (const handler of [...this.closeInfoHandlers]) {
|
|
1268
|
+
handler(closeInfo);
|
|
1269
|
+
}
|
|
1270
|
+
if (closeCode === 4001) {
|
|
1271
|
+
if (this.retryTimer !== null) {
|
|
1272
|
+
clearTimeout(this.retryTimer);
|
|
1273
|
+
this.retryTimer = null;
|
|
1274
|
+
}
|
|
1275
|
+
this.retryCount = 0;
|
|
1276
|
+
this.setState("disconnected");
|
|
1277
|
+
return;
|
|
1278
|
+
}
|
|
1261
1279
|
if (this.state !== "error" && this.state !== "reconnecting") {
|
|
1262
1280
|
this.setState("disconnected");
|
|
1263
1281
|
}
|
|
@@ -1319,6 +1337,12 @@ var PersonalRoomConnection = class {
|
|
|
1319
1337
|
this.stateChangeHandlers.delete(handler);
|
|
1320
1338
|
};
|
|
1321
1339
|
}
|
|
1340
|
+
onCloseInfo(handler) {
|
|
1341
|
+
this.closeInfoHandlers.add(handler);
|
|
1342
|
+
return () => {
|
|
1343
|
+
this.closeInfoHandlers.delete(handler);
|
|
1344
|
+
};
|
|
1345
|
+
}
|
|
1322
1346
|
/**
|
|
1323
1347
|
* Register a listener for ping/pong RTT samples. Fires once per pong
|
|
1324
1348
|
* received from the server with the round-trip duration in milliseconds.
|
|
@@ -1402,25 +1426,26 @@ var PersonalRoomConnection = class {
|
|
|
1402
1426
|
handler(rttMs);
|
|
1403
1427
|
}
|
|
1404
1428
|
}
|
|
1405
|
-
/**
|
|
1406
|
-
* Cluster A3: start the proactive ping interval. Fires every `pingIntervalMs`
|
|
1407
|
-
* regardless of message receipt — half-open WS death is detected by the
|
|
1408
|
-
* absence of an inbound pong, not by the absence of inbound messages.
|
|
1409
|
-
*/
|
|
1410
1429
|
startPingTimer() {
|
|
1411
1430
|
this.stopPingTimer();
|
|
1412
|
-
this.
|
|
1431
|
+
this.schedulePing();
|
|
1432
|
+
}
|
|
1433
|
+
schedulePing() {
|
|
1434
|
+
const delay = this.pingBaseDelayMs + Math.floor(Math.random() * PING_JITTER_MS);
|
|
1435
|
+
this.pingTimer = setTimeout(() => {
|
|
1436
|
+
this.pingTimer = null;
|
|
1413
1437
|
try {
|
|
1414
1438
|
this.ws?.send("ping");
|
|
1415
1439
|
this.lastPingSentAt = Date.now();
|
|
1416
1440
|
} catch {
|
|
1417
1441
|
}
|
|
1418
1442
|
this.armPongWatchdog();
|
|
1419
|
-
|
|
1443
|
+
this.schedulePing();
|
|
1444
|
+
}, delay);
|
|
1420
1445
|
}
|
|
1421
1446
|
stopPingTimer() {
|
|
1422
1447
|
if (this.pingTimer !== null) {
|
|
1423
|
-
|
|
1448
|
+
clearTimeout(this.pingTimer);
|
|
1424
1449
|
this.pingTimer = null;
|
|
1425
1450
|
}
|
|
1426
1451
|
this.clearPongWatchdog();
|
|
@@ -1526,6 +1551,11 @@ var PersonalRoomConnection = class {
|
|
|
1526
1551
|
}
|
|
1527
1552
|
}
|
|
1528
1553
|
};
|
|
1554
|
+
function extractCloseCode2(ev) {
|
|
1555
|
+
if (typeof ev !== "object" || ev === null || !("code" in ev)) return void 0;
|
|
1556
|
+
const code = ev.code;
|
|
1557
|
+
return typeof code === "number" ? code : void 0;
|
|
1558
|
+
}
|
|
1529
1559
|
|
|
1530
1560
|
// ../../packages/session/src/publish-constants.ts
|
|
1531
1561
|
var PUBLISHED_PREVIEW_KINDS = [
|
|
@@ -1633,4 +1663,4 @@ export {
|
|
|
1633
1663
|
PublishCreateResponseSchema,
|
|
1634
1664
|
ROUTES
|
|
1635
1665
|
};
|
|
1636
|
-
//# sourceMappingURL=chunk-
|
|
1666
|
+
//# sourceMappingURL=chunk-OPMLQQWV.js.map
|