@schoolai/shipyard 3.19.0 → 3.20.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-KMMF5R3M.js → chunk-FMHVDAJK.js} +3 -3
- package/dist/{chunk-FASB7KFF.js → chunk-LYUR7G6B.js} +2 -2
- package/dist/{chunk-NRXFTDBH.js → chunk-MD32Y6U4.js} +2 -2
- package/dist/{chunk-LVQLRQKF.js → chunk-OBYRPZRA.js} +40 -10
- package/dist/chunk-OBYRPZRA.js.map +1 -0
- package/dist/{chunk-6TK5KO76.js → chunk-OC75AUKJ.js} +33 -5
- package/dist/chunk-OC75AUKJ.js.map +1 -0
- package/dist/{chunk-4XU7QHYE.js → chunk-QNEFPC4Y.js} +2 -2
- package/dist/{chunk-JEIJ4LIM.js → chunk-SECZGRK2.js} +3 -3
- package/dist/{chunk-JEIJ4LIM.js.map → chunk-SECZGRK2.js.map} +1 -1
- package/dist/{chunk-HD66ZG4O.js → chunk-TJ4TMMMB.js} +3 -3
- package/dist/chunk-TJ4TMMMB.js.map +1 -0
- package/dist/cursor-runner.js +3 -3
- package/dist/electron-utility.js +2 -2
- package/dist/index.js +4 -4
- package/dist/{login-RU3BXPEI.js → login-VNZ6AQDV.js} +3 -3
- package/dist/{plan-backfill-CKSC7OK3.js → plan-backfill-ZNL2YQP6.js} +4 -4
- package/dist/{serve-AA4FCUY6.js → serve-WG7HQAYG.js} +653 -202
- package/dist/{serve-AA4FCUY6.js.map → serve-WG7HQAYG.js.map} +1 -1
- package/dist/{start-RNGMBSQN.js → start-5VG7QWUR.js} +6 -6
- package/package.json +1 -1
- package/dist/chunk-6TK5KO76.js.map +0 -1
- package/dist/chunk-HD66ZG4O.js.map +0 -1
- package/dist/chunk-LVQLRQKF.js.map +0 -1
- /package/dist/{chunk-KMMF5R3M.js.map → chunk-FMHVDAJK.js.map} +0 -0
- /package/dist/{chunk-FASB7KFF.js.map → chunk-LYUR7G6B.js.map} +0 -0
- /package/dist/{chunk-NRXFTDBH.js.map → chunk-MD32Y6U4.js.map} +0 -0
- /package/dist/{chunk-4XU7QHYE.js.map → chunk-QNEFPC4Y.js.map} +0 -0
- /package/dist/{login-RU3BXPEI.js.map → login-VNZ6AQDV.js.map} +0 -0
- /package/dist/{plan-backfill-CKSC7OK3.js.map → plan-backfill-ZNL2YQP6.js.map} +0 -0
- /package/dist/{start-RNGMBSQN.js.map → start-5VG7QWUR.js.map} +0 -0
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
detectCapabilities,
|
|
4
4
|
refreshMcpServers,
|
|
5
5
|
registerBuiltInProfiles
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-OBYRPZRA.js";
|
|
7
7
|
import "./chunk-TUQTEWK3.js";
|
|
8
8
|
import {
|
|
9
9
|
getRepoMetadata
|
|
@@ -15,9 +15,9 @@ import {
|
|
|
15
15
|
import "./chunk-RR6V6SNM.js";
|
|
16
16
|
import "./chunk-ESCSN2NN.js";
|
|
17
17
|
import "./chunk-ZFKJAYAN.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-LYUR7G6B.js";
|
|
19
|
+
import "./chunk-OC75AUKJ.js";
|
|
20
|
+
import "./chunk-TJ4TMMMB.js";
|
|
21
21
|
import "./chunk-EHQITHQX.js";
|
|
22
22
|
import "./chunk-X3MULCV5.js";
|
|
23
23
|
import {
|
|
@@ -18,8 +18,8 @@ function getDaemonVersion() {
|
|
|
18
18
|
return cached;
|
|
19
19
|
}
|
|
20
20
|
function readDaemonVersion() {
|
|
21
|
-
if ("3.
|
|
22
|
-
return "3.
|
|
21
|
+
if ("3.20.0".length > 0) {
|
|
22
|
+
return "3.20.0";
|
|
23
23
|
}
|
|
24
24
|
try {
|
|
25
25
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
@@ -48,4 +48,4 @@ function readDaemonVersion() {
|
|
|
48
48
|
export {
|
|
49
49
|
getDaemonVersion
|
|
50
50
|
};
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
51
|
+
//# sourceMappingURL=chunk-FMHVDAJK.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
isImageMimeType,
|
|
4
4
|
parseAssetUri
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-OC75AUKJ.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-LYUR7G6B.js.map
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
DevicePollResponseSchema,
|
|
16
16
|
DeviceStartResponseSchema,
|
|
17
17
|
ROUTES
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-TJ4TMMMB.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-MD32Y6U4.js.map
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
formatTaskFeedback,
|
|
39
39
|
toRecord,
|
|
40
40
|
toSdkContent
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-LYUR7G6B.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-OC75AUKJ.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-TJ4TMMMB.js";
|
|
61
61
|
import {
|
|
62
62
|
logger
|
|
63
63
|
} from "./chunk-X53VIV2J.js";
|
|
@@ -3353,7 +3353,7 @@ var codexProfile = {
|
|
|
3353
3353
|
return null;
|
|
3354
3354
|
},
|
|
3355
3355
|
async applyLive(subprocess, target) {
|
|
3356
|
-
if (target.kind !== "dropLastTurns") return { handled: false };
|
|
3356
|
+
if (target.kind !== "dropLastTurns" || target.numTurns <= 0) return { handled: false };
|
|
3357
3357
|
await subprocess.rollback(target.numTurns);
|
|
3358
3358
|
return { handled: true };
|
|
3359
3359
|
}
|
|
@@ -3701,7 +3701,11 @@ var codexProfile = {
|
|
|
3701
3701
|
* codex-subprocess-spawn-helpers.ts; add the rendered section there.
|
|
3702
3702
|
*/
|
|
3703
3703
|
subagentBackend: {
|
|
3704
|
-
/**
|
|
3704
|
+
/**
|
|
3705
|
+
* Codex's native `spawn_agent` tool launches a sub-thread. It is built
|
|
3706
|
+
* into the Codex runtime — NOT a Shipyard harness MCP tool (#4784
|
|
3707
|
+
* showed the bare word "MCP" here misleads; say which surface owns it).
|
|
3708
|
+
*/
|
|
3705
3709
|
spawnTool: "spawn_agent",
|
|
3706
3710
|
/**
|
|
3707
3711
|
* Progress lands as collab-tool-call updates on the parent thread —
|
|
@@ -3855,7 +3859,7 @@ var codexProfile = {
|
|
|
3855
3859
|
*/
|
|
3856
3860
|
systemPromptFragments: {
|
|
3857
3861
|
backgroundExecution: "Codex does not support background execution. Long-running shell commands block the current turn \u2014 keep them short or break work into smaller steps so the user sees progress.",
|
|
3858
|
-
planMode: "In plan mode Codex runs read-only \u2014
|
|
3862
|
+
planMode: "In plan mode Codex runs under a read-only filesystem sandbox with network enabled \u2014 apply_patch and mutating shell commands are blocked, while shell reads and network research are allowed; update_plan is also blocked in plan mode. Publish your plan by wrapping it in a <proposed_plan>...</proposed_plan> block in your streamed message \u2014 Shipyard extracts the block and surfaces it for review; text outside the block is chat, not plan. Do not mutate files until reviewers approve.",
|
|
3859
3863
|
todoGuidance: "Use the update_plan tool to keep the user-visible task list in sync with your work. When starting, include any items already visible in <task-list> using their exact subjects \u2014 then add your own steps below them. Don't paraphrase template items or you'll create duplicate sidebar entries. Update statuses (pending \u2192 in_progress \u2192 completed) as you progress; call update_plan whenever you start, finish, or reorder a step.",
|
|
3860
3864
|
toolReferences: {
|
|
3861
3865
|
subagentSpawn: "spawn_agent",
|
|
@@ -3884,7 +3888,33 @@ var codexProfile = {
|
|
|
3884
3888
|
* system-prompt assembly path (~2500 chars / 4 ≈ 625 tokens as of 2026-05-25).
|
|
3885
3889
|
*/
|
|
3886
3890
|
systemPromptOverheadTokens: 625,
|
|
3887
|
-
|
|
3891
|
+
/**
|
|
3892
|
+
* Stall watchdog (#4921). Codex previously set every window to null, so no
|
|
3893
|
+
* watchdog ever armed — an overnight Codex hang had no recovery path. The
|
|
3894
|
+
* watchdog machinery is agent-neutral (`resolveStallBudgets` reads these
|
|
3895
|
+
* fields; the pure FSM resets on `stream_activity`), so declaring the windows
|
|
3896
|
+
* here is what turns it on. Codex liveness is emitted per turn frame from
|
|
3897
|
+
* `codex-turn-event-dispatch.ts` (`onLiveness` → `stream_activity`), so the
|
|
3898
|
+
* timer measures TRUE silence (a genuine hang), not turn cadence.
|
|
3899
|
+
*
|
|
3900
|
+
* 180 s mid-run silence — the agent-operation timeout floor; matches Cursor.
|
|
3901
|
+
*/
|
|
3902
|
+
stallTimeoutMs: 18e4,
|
|
3903
|
+
/**
|
|
3904
|
+
* 5 min from spawn to the first liveness frame. Covers Codex's `app-server`
|
|
3905
|
+
* spawn + `thread/start` handshake with generous headroom. Because Codex
|
|
3906
|
+
* emits `stream_activity` (not `step_progress`), the cold-start latch is
|
|
3907
|
+
* never retired — this window stays in force all session, which is fine: it
|
|
3908
|
+
* still catches a multi-hour hang far below the "overnight" failure it fixes.
|
|
3909
|
+
*/
|
|
3910
|
+
firstStepStallTimeoutMs: 3e5,
|
|
3911
|
+
/**
|
|
3912
|
+
* Per-tool extended window stays disabled for v1 — Codex emits no
|
|
3913
|
+
* `tool_execution_started` / `tool_execution_settled` edges, so there is
|
|
3914
|
+
* nothing to latch. A silent long-running shell command (no output frames
|
|
3915
|
+
* for >300 s) is the known v1 gap; adding the tool-execution edges is the
|
|
3916
|
+
* follow-up, mirroring Cursor's #4229 fix.
|
|
3917
|
+
*/
|
|
3888
3918
|
toolExecutionStallTimeoutMs: null
|
|
3889
3919
|
};
|
|
3890
3920
|
|
|
@@ -5410,8 +5440,8 @@ var cursorProfile = {
|
|
|
5410
5440
|
*/
|
|
5411
5441
|
systemPromptFragments: {
|
|
5412
5442
|
backgroundExecution: "Cursor does not support background execution. Long-running Shell commands block the current turn \u2014 keep them short or break work into smaller steps so the user sees progress.",
|
|
5413
|
-
planMode: 'In plan mode Cursor runs read-only \u2014 `
|
|
5414
|
-
todoGuidance: 'Use the shipyard_update_plan MCP tool to keep the user-visible task list in sync with your work. When starting, include any items already visible in <task-list> with their visible IDs (for example, use id: "1" for #1). Keep that same ID if you rename a template item, and omit id only for brand-new steps. Update statuses (pending \u2192 in_progress \u2192 completed) as you progress; call shipyard_update_plan whenever you start, finish, or reorder a step. Use the task tool to spawn subagents for parallel work \u2014 that is a separate concern.',
|
|
5443
|
+
planMode: 'In plan mode Cursor runs read-only \u2014 `Write`, `Edit`, `MultiEdit`, `Shell`, and `applyPatch` are denied at the hook layer, and the native `task` subagent tool must not be called (blocked by instruction, not the hook). Research the codebase, then propose your plan by calling `createPlan({ plan: "..." })` with the full plan as markdown \u2014 that tool call is how Shipyard captures the plan, so a plan written only as a chat message will not be captured. Wait for the user to approve before attempting writes.',
|
|
5444
|
+
todoGuidance: 'Use the shipyard_update_plan MCP tool to keep the user-visible task list in sync with your work. When starting, include any items already visible in <task-list> with their visible IDs (for example, use id: "1" for #1). Keep that same ID if you rename a template item, and omit id only for brand-new steps. Update statuses (pending \u2192 in_progress \u2192 completed) as you progress; call shipyard_update_plan whenever you start, finish, or reorder a step. Use the native `task` tool to spawn subagents for parallel work \u2014 that is a separate concern (and distinct from the Shipyard `task` MCP tool, which manages sibling tasks).',
|
|
5415
5445
|
toolReferences: {
|
|
5416
5446
|
subagentSpawn: "task",
|
|
5417
5447
|
shellExec: "Shell",
|
|
@@ -8251,4 +8281,4 @@ export {
|
|
|
8251
8281
|
refreshInstalledAgents,
|
|
8252
8282
|
refreshCodexAuthSlice
|
|
8253
8283
|
};
|
|
8254
|
-
//# sourceMappingURL=chunk-
|
|
8284
|
+
//# sourceMappingURL=chunk-OBYRPZRA.js.map
|