@schoolai/shipyard 3.9.1 → 3.10.0-rc.20260609.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/{auth-UF3MLB77.js → auth-GGM253LQ.js} +3 -3
- package/dist/capability-detector-worker.js +9 -9
- package/dist/{chunk-LBTLMT5Z.js → chunk-2EQOL57Z.js} +2 -2
- package/dist/{chunk-CVMNGYPR.js → chunk-3WEEGJJN.js} +2 -2
- package/dist/{chunk-DGX2QR6G.js → chunk-4PBXNWJV.js} +26 -3
- package/dist/chunk-4PBXNWJV.js.map +1 -0
- package/dist/{chunk-K3QG7S6V.js → chunk-4THTCNVI.js} +4 -4
- package/dist/{chunk-K3QG7S6V.js.map → chunk-4THTCNVI.js.map} +1 -1
- package/dist/{chunk-7OD3UJUP.js → chunk-6LINHACK.js} +29 -9
- package/dist/chunk-6LINHACK.js.map +1 -0
- package/dist/{chunk-APVDHUPT.js → chunk-AEUTFH76.js} +28 -4
- package/dist/chunk-AEUTFH76.js.map +1 -0
- package/dist/{chunk-WYP4NTFE.js → chunk-GM6MH4CD.js} +2 -2
- package/dist/{chunk-G7W4GFUC.js → chunk-IJHF4OM4.js} +2 -2
- package/dist/{chunk-2I5XDMUD.js → chunk-KRX7OJER.js} +5 -5
- package/dist/{chunk-7AB4NH6T.js → chunk-Q2HUVPOL.js} +38 -10
- package/dist/chunk-Q2HUVPOL.js.map +1 -0
- package/dist/{chunk-3SXIJEPM.js → chunk-QJP7JCIS.js} +31 -13
- package/dist/chunk-QJP7JCIS.js.map +1 -0
- package/dist/{chunk-MCDZOOAI.js → chunk-RW2OTTUA.js} +50 -15
- package/dist/chunk-RW2OTTUA.js.map +1 -0
- package/dist/{chunk-AVF7LE7Q.js → chunk-WMOR5Q6C.js} +181 -23
- package/dist/chunk-WMOR5Q6C.js.map +1 -0
- package/dist/{chunk-MLEGFDFW.js → chunk-Z37T5W6S.js} +13 -2
- package/dist/chunk-Z37T5W6S.js.map +1 -0
- package/dist/cursor-runner.js +4 -4
- package/dist/electron-utility.js +5 -5
- package/dist/{git-repo-723BKZIH.js → git-repo-QNGPCJLI.js} +6 -4
- package/dist/index.js +8 -8
- package/dist/{logger-KICM6IPJ.js → logger-2F3CBS3V.js} +7 -5
- package/dist/{login-OKFUEGZW.js → login-NZKH63H7.js} +7 -7
- package/dist/{logout-5RGCOHCI.js → logout-HY3MPOY5.js} +5 -5
- package/dist/{mcp-servers-CAUI2K5W.js → mcp-servers-ICHOWXZB.js} +4 -4
- package/dist/{roi-Q3BQLIO7.js → roi-YM5OOWHG.js} +3 -3
- package/dist/{serve-76X367VD.js → serve-FJT6POBH.js} +64212 -62725
- package/dist/{serve-76X367VD.js.map → serve-FJT6POBH.js.map} +1 -1
- package/dist/{skills-YEZJMAPT.js → skills-W2Y6TWHA.js} +2 -2
- package/dist/{start-QOGAKRUP.js → start-MD62XHS6.js} +11 -10
- package/dist/{start-QOGAKRUP.js.map → start-MD62XHS6.js.map} +1 -1
- package/package.json +1 -1
- package/dist/chunk-3SXIJEPM.js.map +0 -1
- package/dist/chunk-7AB4NH6T.js.map +0 -1
- package/dist/chunk-7OD3UJUP.js.map +0 -1
- package/dist/chunk-APVDHUPT.js.map +0 -1
- package/dist/chunk-AVF7LE7Q.js.map +0 -1
- package/dist/chunk-DGX2QR6G.js.map +0 -1
- package/dist/chunk-MCDZOOAI.js.map +0 -1
- package/dist/chunk-MLEGFDFW.js.map +0 -1
- /package/dist/{auth-UF3MLB77.js.map → auth-GGM253LQ.js.map} +0 -0
- /package/dist/{chunk-LBTLMT5Z.js.map → chunk-2EQOL57Z.js.map} +0 -0
- /package/dist/{chunk-CVMNGYPR.js.map → chunk-3WEEGJJN.js.map} +0 -0
- /package/dist/{chunk-WYP4NTFE.js.map → chunk-GM6MH4CD.js.map} +0 -0
- /package/dist/{chunk-G7W4GFUC.js.map → chunk-IJHF4OM4.js.map} +0 -0
- /package/dist/{chunk-2I5XDMUD.js.map → chunk-KRX7OJER.js.map} +0 -0
- /package/dist/{git-repo-723BKZIH.js.map → git-repo-QNGPCJLI.js.map} +0 -0
- /package/dist/{logger-KICM6IPJ.js.map → logger-2F3CBS3V.js.map} +0 -0
- /package/dist/{login-OKFUEGZW.js.map → login-NZKH63H7.js.map} +0 -0
- /package/dist/{logout-5RGCOHCI.js.map → logout-HY3MPOY5.js.map} +0 -0
- /package/dist/{mcp-servers-CAUI2K5W.js.map → mcp-servers-ICHOWXZB.js.map} +0 -0
- /package/dist/{roi-Q3BQLIO7.js.map → roi-YM5OOWHG.js.map} +0 -0
- /package/dist/{skills-YEZJMAPT.js.map → skills-W2Y6TWHA.js.map} +0 -0
|
@@ -17,11 +17,14 @@ function isVanillaAgentMode() {
|
|
|
17
17
|
function isClaudeCodeKeychainReadEnabled() {
|
|
18
18
|
return validateEnv().SHIPYARD_MCP_REUSE_CC_KEYCHAIN;
|
|
19
19
|
}
|
|
20
|
+
function isCodexKeychainReadEnabled() {
|
|
21
|
+
return validateEnv().SHIPYARD_MCP_REUSE_CODEX_KEYCHAIN;
|
|
22
|
+
}
|
|
20
23
|
function shipyardDirName() {
|
|
21
24
|
return isDevMode() ? ".shipyard-dev" : ".shipyard";
|
|
22
25
|
}
|
|
23
26
|
var DEFAULT_PRODUCTION_SIGNALING_URL = "https://shipyard-session-server.jacob-191.workers.dev";
|
|
24
|
-
var DEFAULT_PRODUCTION_WEB_URL = "https://shipyard
|
|
27
|
+
var DEFAULT_PRODUCTION_WEB_URL = "https://shipyard.computer";
|
|
25
28
|
function getShipyardHome() {
|
|
26
29
|
if (process.env.SHIPYARD_HOME) return process.env.SHIPYARD_HOME;
|
|
27
30
|
return join(homedir(), shipyardDirName());
|
|
@@ -70,6 +73,13 @@ var EnvSchema = external_exports.object({
|
|
|
70
73
|
* avoidance). Validated here so a typo fails at boot.
|
|
71
74
|
*/
|
|
72
75
|
SHIPYARD_MCP_REUSE_CC_KEYCHAIN: external_exports.enum(["1", "true", "0", "false", ""]).optional().transform((v) => v === "1" || v === "true"),
|
|
76
|
+
/**
|
|
77
|
+
* Opt in to reusing Codex's macOS Keychain credentials ("Codex MCP
|
|
78
|
+
* Credentials") for MCP OAuth. Default OFF — see
|
|
79
|
+
* {@link isCodexKeychainReadEnabled} for why (prompt avoidance). Validated
|
|
80
|
+
* here so a typo fails at boot.
|
|
81
|
+
*/
|
|
82
|
+
SHIPYARD_MCP_REUSE_CODEX_KEYCHAIN: external_exports.enum(["1", "true", "0", "false", ""]).optional().transform((v) => v === "1" || v === "true"),
|
|
73
83
|
SHIPYARD_STALL_PROFILER_ENABLED: external_exports.enum(["1", "true", "0", "false", ""]).optional().transform((v) => v !== "0" && v !== "false"),
|
|
74
84
|
/**
|
|
75
85
|
* Event-loop stall threshold (ms). Once `histogram.max` crosses this,
|
|
@@ -204,9 +214,10 @@ export {
|
|
|
204
214
|
isDevMode,
|
|
205
215
|
isVanillaAgentMode,
|
|
206
216
|
isClaudeCodeKeychainReadEnabled,
|
|
217
|
+
isCodexKeychainReadEnabled,
|
|
207
218
|
getShipyardHome,
|
|
208
219
|
resolveNodeExecPath,
|
|
209
220
|
validateEnv,
|
|
210
221
|
getStallProfilerConfig
|
|
211
222
|
};
|
|
212
|
-
//# sourceMappingURL=chunk-
|
|
223
|
+
//# sourceMappingURL=chunk-Z37T5W6S.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/shared/env.ts"],"sourcesContent":["import { homedir } from 'node:os';\nimport { join } from 'node:path';\nimport { z } from 'zod';\n\n/**\n * Enable fine-grained tool streaming so MCP tool inputs stream token-by-token\n * via input_json_delta events instead of being buffered as complete JSON.\n * Set early so the subprocess inherits it.\n */\nprocess.env.CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING = '1';\n\n/**\n * Enable the Task system (TaskCreate/TaskGet/TaskList/TaskUpdate) which provides\n * structured task management with dependency tracking (blocks/blockedBy).\n * Replaces TodoWrite — when enabled, CC only has TaskCreate (not TodoWrite).\n */\nprocess.env.CLAUDE_CODE_ENABLE_TASKS = '1';\n\n/**\n * Bootstrap exception: reads `process.env` directly because it feeds the\n * `SHIPYARD_DATA_DIR` schema transform (via `shipyardDirName`). Routing it\n * through `validateEnv()` would recurse (validateEnv → parse → transform →\n * shipyardDirName → isDevMode → validateEnv).\n */\nexport function isDevMode(): boolean {\n return process.env.SHIPYARD_DEV === '1' || process.env.SHIPYARD_DEV === 'true';\n}\n\n/**\n * When enabled, the agent runs with only Shipyard builtins (system prompt,\n * comment + visualize MCP servers) and no user/plugin MCP servers.\n * Useful for testing the harness in isolation without external interference.\n *\n * Set `SHIPYARD_VANILLA_AGENT=1` to activate.\n */\nexport function isVanillaAgentMode(): boolean {\n return validateEnv().SHIPYARD_VANILLA_AGENT;\n}\n\n/**\n * Reuse Claude Code's macOS Keychain item (\"Claude Code-credentials\") as a\n * source for MCP connector OAuth clients/tokens.\n *\n * Default OFF. The daemon is a different binary than Claude Code, so reading\n * that Keychain item triggers a macOS password prompt in a GUI session (or a\n * silent denial when headless) — unacceptable in the connector status path,\n * which runs on every capability refresh. Shipyard's own token store is the\n * source of truth, mirroring how local MCPs work (no prompt). Opt back into\n * the legacy import behavior with `SHIPYARD_MCP_REUSE_CC_KEYCHAIN=1`.\n */\nexport function isClaudeCodeKeychainReadEnabled(): boolean {\n return validateEnv().SHIPYARD_MCP_REUSE_CC_KEYCHAIN;\n}\n\n/**\n * Reuse Codex's macOS Keychain item (\"Codex MCP Credentials\") as a source for\n * per-MCP-connector OAuth clients/tokens (Codex DCRs its own atomic\n * client_id+token pairs, useful for borrowing on connectors Claude Code hasn't\n * registered with).\n *\n * Default OFF for the same reason as {@link isClaudeCodeKeychainReadEnabled}:\n * the daemon is a different binary than Codex, so reading that Keychain item\n * triggers a macOS password prompt in a GUI session (or a silent denial when\n * headless) — unacceptable in the connector status path. The\n * `~/.codex/.credentials.json` file fallback is read regardless. Opt in with\n * `SHIPYARD_MCP_REUSE_CODEX_KEYCHAIN=1`.\n */\nexport function isCodexKeychainReadEnabled(): boolean {\n return validateEnv().SHIPYARD_MCP_REUSE_CODEX_KEYCHAIN;\n}\n\nfunction shipyardDirName(): string {\n return isDevMode() ? '.shipyard-dev' : '.shipyard';\n}\n\n/**\n * The signaling worker is a RENDEZVOUS point: a browser and this daemon only\n * meet if they hit the SAME worker. This MUST equal the web build's\n * `VITE_SESSION_SERVER_URL` (.github/workflows/ci.yml + publish-npm.yml) — all\n * live clients (web next+stable, daemons all channels) point here. Do not make\n * this per-channel; a staging worker is a CI/E2E fixture only. See AGENTS.md\n * Invariant #22 (the #4186 \"install daemon\" incident).\n */\nconst DEFAULT_PRODUCTION_SIGNALING_URL = 'https://shipyard-session-server.jacob-191.workers.dev';\nconst DEFAULT_PRODUCTION_WEB_URL = 'https://shipyard.computer';\n\n/**\n * Bootstrap exception: reads `process.env` directly (not `validateEnv()`)\n * because it computes the electron-utility startup-breadcrumb path BEFORE\n * `validateEnv()` runs — the breadcrumb must still resolve when validateEnv\n * itself throws (see apps/daemon/src/electron-utility.ts).\n */\nexport function getShipyardHome(): string {\n if (process.env.SHIPYARD_HOME) return process.env.SHIPYARD_HOME;\n return join(homedir(), shipyardDirName());\n}\n\n/**\n * The executable to fork JS subprocesses with (cursor-runner, the TS language\n * server, the cursor-hook shim).\n *\n * `child_process.fork`/`spawn` default to `process.execPath`. Inside an\n * Electron *utility* process (how the packaged daemon runs) that does NOT point\n * at the main app binary — it resolves to a per-platform helper executable\n * (e.g. `…/Frameworks/Shipyard Helper.app/Contents/MacOS/Shipyard Helper`) that\n * may not exist on disk in the shipped bundle. Forking it ENOENTs, which (with\n * the cursor-runner pre-warm running at boot) crash-looped the daemon on\n * 2026-06-01 (Dylan's log).\n *\n * The Electron *main* process has a guaranteed-valid `process.execPath` (the\n * main app binary, which also honors `ELECTRON_RUN_AS_NODE=1`) and forwards it\n * as `SHIPYARD_NODE_EXEC_PATH` (see apps/electron/src/main/daemon-host.ts). The\n * CLI daemon and dev leave it unset and fall back to `process.execPath`, which\n * is already correct there. Declared in `EnvSchema` so a malformed value fails\n * at boot. Re-exported from `spawn-as-node.ts` for call-site ergonomics.\n */\nexport function resolveNodeExecPath(): string {\n return validateEnv().SHIPYARD_NODE_EXEC_PATH || process.execPath;\n}\n\nexport const EnvSchema = z.object({\n ANTHROPIC_API_KEY: z.string().min(1).optional(),\n SHIPYARD_DEV: z\n .enum(['1', 'true', '0', 'false', ''])\n .optional()\n .transform((v) => v === '1' || v === 'true'),\n SHIPYARD_DAEMON_CHILD: z\n .enum(['1', 'true', '0', 'false', ''])\n .optional()\n .transform((v) => v === '1' || v === 'true'),\n SHIPYARD_DATA_DIR: z\n .string()\n .optional()\n .transform((v) => v ?? `~/${shipyardDirName()}/data`),\n LOG_LEVEL: z.enum(['debug', 'info', 'warn', 'error']).default('warn'),\n SHIPYARD_SIGNALING_URL: z.string().url().optional(),\n SHIPYARD_PRODUCTION_SIGNALING_URL: z.string().url().default(DEFAULT_PRODUCTION_SIGNALING_URL),\n SHIPYARD_METRICS_WORKER_URL: z\n .string()\n .url()\n .default('https://shipyard-metrics.jacob-191.workers.dev'),\n SHIPYARD_TELEMETRY: z\n .enum(['1', 'true', '0', 'false', ''])\n .optional()\n .transform((v) => v !== '0' && v !== 'false'),\n SHIPYARD_USER_TOKEN: z.string().optional(),\n /**\n * Worker URL for the `shipyard roi` report command (distinct from\n * SHIPYARD_METRICS_WORKER_URL, which is the telemetry ingestion endpoint).\n * Falls back to the `--worker-url` CLI flag when unset.\n */\n SHIPYARD_METRICS_URL: z.string().url().optional(),\n SHIPYARD_USER_ID: z.string().optional(),\n SHIPYARD_MACHINE_ID: z.string().optional(),\n SHIPYARD_MACHINE_NAME: z.string().optional(),\n SHIPYARD_USER_DISPLAY_NAME: z.string().optional(),\n SHIPYARD_HOME: z.string().optional(),\n SHIPYARD_WORKTREE_NAME: z.string().optional(),\n /**\n * Electron utility transport mode. Absent for the CLI daemon; set by\n * apps/electron/src/main/daemon-host.ts when the daemon runs as an Electron\n * utility process.\n */\n SHIPYARD_TRANSPORT: z.enum(['electron-port']).optional(),\n /**\n * Build artifact hosting this daemon. Electron disables the daemon's npm\n * self-updater because electron-updater owns app replacement.\n */\n SHIPYARD_ARTIFACT: z.enum(['electron']).optional(),\n SHIPYARD_VANILLA_AGENT: z\n .enum(['1', 'true', '0', 'false', ''])\n .optional()\n .transform((v) => v === '1' || v === 'true'),\n /**\n * Opt in to reusing Claude Code's macOS Keychain credentials for MCP OAuth.\n * Default OFF — see {@link isClaudeCodeKeychainReadEnabled} for why (prompt\n * avoidance). Validated here so a typo fails at boot.\n */\n SHIPYARD_MCP_REUSE_CC_KEYCHAIN: z\n .enum(['1', 'true', '0', 'false', ''])\n .optional()\n .transform((v) => v === '1' || v === 'true'),\n /**\n * Opt in to reusing Codex's macOS Keychain credentials (\"Codex MCP\n * Credentials\") for MCP OAuth. Default OFF — see\n * {@link isCodexKeychainReadEnabled} for why (prompt avoidance). Validated\n * here so a typo fails at boot.\n */\n SHIPYARD_MCP_REUSE_CODEX_KEYCHAIN: z\n .enum(['1', 'true', '0', 'false', ''])\n .optional()\n .transform((v) => v === '1' || v === 'true'),\n SHIPYARD_STALL_PROFILER_ENABLED: z\n .enum(['1', 'true', '0', 'false', ''])\n .optional()\n .transform((v) => v !== '0' && v !== 'false'),\n /**\n * Event-loop stall threshold (ms). Once `histogram.max` crosses this,\n * the profiler starts a CPU profile. Raised from 250ms to 5000ms in\n * May 2026 to prevent the profiler from amplifying the stalls it was\n * trying to measure — V8 inspector `post()` itself consumed ~493ms of\n * a measured 800ms capture window. At 5s only severe stalls are profiled.\n * Override via `SHIPYARD_STALL_PROFILER_THRESHOLD_MS`.\n */\n SHIPYARD_STALL_PROFILER_THRESHOLD_MS: z.coerce.number().int().positive().default(5_000),\n /**\n * How long to sample the V8 CPU profile after a stall is detected.\n * Default 250ms — long enough for the post-stall queue drain and the\n * cascading sibling stall (if any) to land in the same profile, but\n * short enough that the capture window does not itself amplify the\n * stall on the same event loop. Lowered from 1000 → 250 in May 2026\n * after profile evidence showed `#capture` consumed ~1s of inclusive\n * time inside a 3.5s stall window — the profiler was contributing\n * to the stalls it was trying to measure once #3204 dropped the\n * threshold from 500ms to 250ms.\n */\n SHIPYARD_STALL_PROFILER_PROFILE_DURATION_MS: z.coerce.number().int().positive().default(250),\n /**\n * Cascading-stall suppression window. After one capture, subsequent\n * stalls within this window log `stall_profile_suppressed` instead of\n * starting a new profile. Raised from 30s to 300s (5min) in May 2026\n * to prevent capture storms — at 30s a recurring stall every 60s would\n * trigger 2 captures/min, each adding hundreds of ms of inspector overhead.\n */\n SHIPYARD_STALL_PROFILER_MIN_INTERVAL_MS: z.coerce.number().int().nonnegative().default(300_000),\n /**\n * Supervisor wedge detection: if the daemon child sends no IPC heartbeats\n * for this many ms, the supervisor declares the event loop wedged, sends\n * SIGUSR2 to capture a CPU profile (the inspector runs off the JS loop),\n * waits 2s, then SIGKILLs and respawns via the normal abnormal-exit flow.\n * Generous default — 30s tolerates GC pauses and other legitimate sync\n * blocks well outside human-noticeable territory.\n */\n SHIPYARD_WEDGE_TIMEOUT_MS: z.coerce.number().int().positive().default(30_000),\n /**\n * Daemon child IPC heartbeat interval. Must be smaller than\n * SHIPYARD_WEDGE_TIMEOUT_MS by a comfortable margin so a single missed\n * heartbeat doesn't trip the wedge detector.\n */\n SHIPYARD_HEARTBEAT_INTERVAL_MS: z.coerce.number().int().positive().default(2_000),\n /**\n * When set to `'electron-safe-storage'`, the vault-key-manager wraps the\n * master key via Electron's safeStorage API (macOS Keychain on macOS,\n * Secret Service on Linux). Set by daemon-host.ts in the Electron main\n * process. When absent, the daemon falls back to the existing AES-256-GCM\n * file-based path (CLI daemon path — unchanged).\n */\n SHIPYARD_VAULT_BACKEND: z.enum(['electron-safe-storage']).optional(),\n /**\n * Absolute path to a Node-capable executable for forking JS subprocesses\n * (cursor-runner, the TS language server, the cursor-hook shim). Set by\n * apps/electron/src/main/daemon-host.ts to the Electron MAIN process's\n * `process.execPath` (the main app binary), because the daemon utility\n * process's own `process.execPath` resolves to a helper executable that may\n * not exist in the packaged bundle. Absent for the CLI daemon, which falls\n * back to its own `process.execPath`. See `resolveNodeExecPath()`.\n */\n SHIPYARD_NODE_EXEC_PATH: z.string().optional(),\n /**\n * TTL (ms) for the per-repo worktree list cache. Browser polls at 4-7/sec;\n * this collapses redundant git subprocess invocations to 1 per TTL window.\n * Set to 0 to disable caching (useful for tests that need fresh results).\n */\n SHIPYARD_WORKTREE_LIST_TTL_MS: z.coerce.number().int().min(0).default(30_000),\n /**\n * Override for the web app URL the daemon advertises. Absent → derived from\n * the signaling URL (see `getWebAppUrl`). A malformed value fails at boot\n * rather than propagating into URL concatenation.\n */\n SHIPYARD_WEB_URL: z.string().url().optional(),\n SHIPYARD_PRODUCTION_WEB_URL: z.string().url().default(DEFAULT_PRODUCTION_WEB_URL),\n /**\n * Absolute path override for the Claude Code binary. When set and the file\n * exists, the daemon spawns it instead of the SDK-bundled native binary.\n * See `resolveClaudeCodePath` / `resolveClaudeBinaryPath`.\n */\n CLAUDE_CODE_PATH: z.string().optional(),\n /**\n * Suppress auto-opening the verification URL in the browser during the\n * CLI device-login flow. Default OFF (the browser opens).\n */\n SHIPYARD_NO_OPEN: z\n .enum(['1', 'true', '0', 'false', ''])\n .optional()\n .transform((v) => v === '1' || v === 'true'),\n /**\n * Kill-switch for Loro CRDT recovery on startup. Default OFF (recovery runs).\n */\n SHIPYARD_DISABLE_LORO_RECOVERY: z\n .enum(['1', 'true', '0', 'false', ''])\n .optional()\n .transform((v) => v === '1' || v === 'true'),\n /**\n * Harness HTTP MCP server (Codex's endpoint). Default ON — Codex ships with\n * every daemon and needs it. `SHIPYARD_HARNESS_HTTP=0` is the kill-switch for\n * Codex-disabled deployments.\n */\n SHIPYARD_HARNESS_HTTP: z\n .enum(['1', 'true', '0', 'false', ''])\n .optional()\n .transform((v) => v !== '0' && v !== 'false'),\n /**\n * Use the shared `codex app-server` engine (single token owner — fixes the\n * 401-storm). Default ON. Set to `0`/`false` for the legacy per-process path.\n */\n SHIPYARD_CODEX_SHARED_ENGINE: z\n .enum(['1', 'true', '0', 'false', ''])\n .optional()\n .transform((v) => v !== '0' && v !== 'false'),\n /**\n * Browser-metrics sampling cadence. Kept as a raw string here — clamp /\n * disable (`0`) / invalid-fallback semantics + logging live in\n * `parseBrowserMetricsInterval` (services/metrics/browser-metrics-config.ts),\n * which consumes this validated value.\n */\n SHIPYARD_BROWSER_METRICS_INTERVAL_MS: z.string().optional(),\n /**\n * Max concurrent file watchers before the guard sheds new subscriptions.\n * Absent → default (450). An invalid value fails at boot.\n */\n SHIPYARD_FILE_WATCHER_MAX: z.coerce.number().int().positive().optional(),\n});\n\nexport type Env = z.infer<typeof EnvSchema>;\n\nexport function validateEnv(): Env {\n return EnvSchema.parse(process.env);\n}\n\n/**\n * Resolved profiler tuning derived from the validated env. Re-parses the\n * schema so a typo in one of the *_MS vars (e.g. `THRESHOLD_MS=abc`) fails\n * here too — boot already failed in `validateEnv()` (start.ts / serve.ts\n * call it), this second parse is cheap and keeps the wiring side free of\n * `process.env.X` reads at the call site.\n */\nexport interface StallProfilerConfig {\n enabled: boolean;\n thresholdMs: number;\n captureMs: number;\n rateLimitMs: number;\n}\n\nexport function getStallProfilerConfig(): StallProfilerConfig {\n const env = validateEnv();\n\n /**\n * Default OFF in packaged Electron when `SHIPYARD_STALL_PROFILER_ENABLED`\n * is unset. Rationale: the V8 inspector `post()` blocks the event loop\n * during capture — in a 2,959ms stall, `node:inspector:117 post` consumed\n * 493.5ms of 800ms captured, i.e. the profiler was profiling itself.\n * Trade: lose production stall visibility in packaged builds in exchange\n * for not amplifying stalls for users. Dev sessions and CLI daemon keep\n * profiling enabled by default. Override with `SHIPYARD_STALL_PROFILER_ENABLED=1`.\n *\n * `env.SHIPYARD_STALL_PROFILER_ENABLED` is `true` when the env var is\n * absent (the Zod transform treats missing/empty as truthy). We detect\n * \"explicitly set\" vs \"defaulted\" by reading `process.env` directly here\n * — the schema transform already validated it, so this read is safe.\n */\n const explicitlySet =\n process.env.SHIPYARD_STALL_PROFILER_ENABLED !== undefined &&\n process.env.SHIPYARD_STALL_PROFILER_ENABLED !== '';\n\n const enabled = explicitlySet\n ? env.SHIPYARD_STALL_PROFILER_ENABLED\n : env.SHIPYARD_ARTIFACT !== 'electron';\n\n return {\n enabled,\n thresholdMs: env.SHIPYARD_STALL_PROFILER_THRESHOLD_MS,\n captureMs: env.SHIPYARD_STALL_PROFILER_PROFILE_DURATION_MS,\n rateLimitMs: env.SHIPYARD_STALL_PROFILER_MIN_INTERVAL_MS,\n };\n}\n"],"mappings":"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","names":[]}
|
package/dist/cursor-runner.js
CHANGED
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
ContentBlockSchema,
|
|
7
7
|
HARNESS_SERVER_NAME,
|
|
8
8
|
buildCursorUserPrompt
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-WMOR5Q6C.js";
|
|
10
|
+
import "./chunk-4PBXNWJV.js";
|
|
11
11
|
import "./chunk-EHQITHQX.js";
|
|
12
12
|
import "./chunk-X3MULCV5.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-QJP7JCIS.js";
|
|
14
|
+
import "./chunk-Z37T5W6S.js";
|
|
15
15
|
import "./chunk-CNR7O5YH.js";
|
|
16
16
|
import "./chunk-2H7UOFLK.js";
|
|
17
17
|
|
package/dist/electron-utility.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
getDaemonVersion
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-4THTCNVI.js";
|
|
5
5
|
import {
|
|
6
6
|
installWasmPanicBuffer
|
|
7
7
|
} from "./chunk-7H34LI75.js";
|
|
8
8
|
import {
|
|
9
9
|
logger
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-QJP7JCIS.js";
|
|
11
11
|
import {
|
|
12
12
|
getShipyardHome,
|
|
13
13
|
validateEnv
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-Z37T5W6S.js";
|
|
15
15
|
import "./chunk-CNR7O5YH.js";
|
|
16
16
|
import "./chunk-2H7UOFLK.js";
|
|
17
17
|
|
|
@@ -35,7 +35,7 @@ function isVersionQuery(data) {
|
|
|
35
35
|
}
|
|
36
36
|
async function loadAuthFromConfig(env) {
|
|
37
37
|
if (env.SHIPYARD_USER_TOKEN) return;
|
|
38
|
-
const { loadAuthToken } = await import("./auth-
|
|
38
|
+
const { loadAuthToken } = await import("./auth-GGM253LQ.js");
|
|
39
39
|
const auth = await loadAuthToken();
|
|
40
40
|
if (auth.status === "ok") {
|
|
41
41
|
env.SHIPYARD_USER_TOKEN = auth.token;
|
|
@@ -66,7 +66,7 @@ async function main() {
|
|
|
66
66
|
await loadAuthFromConfig(env);
|
|
67
67
|
crumb("post-auth-load");
|
|
68
68
|
crumb("pre-serve-import");
|
|
69
|
-
const { serve } = await import("./serve-
|
|
69
|
+
const { serve } = await import("./serve-FJT6POBH.js");
|
|
70
70
|
crumb("post-serve-import");
|
|
71
71
|
const portQueue = [];
|
|
72
72
|
let acceptor = null;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
|
+
NEGATIVE_CACHE_TTL_MS,
|
|
3
4
|
_testing,
|
|
4
5
|
detectEnvironments,
|
|
5
6
|
discoverWorktrees,
|
|
@@ -12,15 +13,16 @@ import {
|
|
|
12
13
|
isGhAvailable,
|
|
13
14
|
isGitRepo,
|
|
14
15
|
parseOwnerRepo
|
|
15
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-6LINHACK.js";
|
|
16
17
|
import "./chunk-4T2OQAVL.js";
|
|
17
18
|
import "./chunk-RR6V6SNM.js";
|
|
18
19
|
import "./chunk-ZFKJAYAN.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-QJP7JCIS.js";
|
|
21
|
+
import "./chunk-Z37T5W6S.js";
|
|
21
22
|
import "./chunk-CNR7O5YH.js";
|
|
22
23
|
import "./chunk-2H7UOFLK.js";
|
|
23
24
|
export {
|
|
25
|
+
NEGATIVE_CACHE_TTL_MS,
|
|
24
26
|
_testing,
|
|
25
27
|
detectEnvironments,
|
|
26
28
|
discoverWorktrees,
|
|
@@ -34,4 +36,4 @@ export {
|
|
|
34
36
|
isGitRepo,
|
|
35
37
|
parseOwnerRepo
|
|
36
38
|
};
|
|
37
|
-
//# sourceMappingURL=git-repo-
|
|
39
|
+
//# sourceMappingURL=git-repo-QNGPCJLI.js.map
|
package/dist/index.js
CHANGED
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
} from "./chunk-7H34LI75.js";
|
|
5
5
|
import {
|
|
6
6
|
logger
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-QJP7JCIS.js";
|
|
8
8
|
import {
|
|
9
9
|
validateEnv
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-Z37T5W6S.js";
|
|
11
11
|
import "./chunk-CNR7O5YH.js";
|
|
12
12
|
import "./chunk-2H7UOFLK.js";
|
|
13
13
|
|
|
@@ -81,7 +81,7 @@ function parseCliArgs() {
|
|
|
81
81
|
}
|
|
82
82
|
async function loadAuthFromConfig(env) {
|
|
83
83
|
if (env.SHIPYARD_USER_TOKEN) return;
|
|
84
|
-
const { loadAuthToken } = await import("./auth-
|
|
84
|
+
const { loadAuthToken } = await import("./auth-GGM253LQ.js");
|
|
85
85
|
const auth = await loadAuthToken();
|
|
86
86
|
if (auth.status === "ok") {
|
|
87
87
|
env.SHIPYARD_USER_TOKEN = auth.token;
|
|
@@ -101,23 +101,23 @@ async function loadAuthFromConfig(env) {
|
|
|
101
101
|
async function handleSubcommand() {
|
|
102
102
|
const subcommand = process.argv[2];
|
|
103
103
|
if (subcommand === "login") {
|
|
104
|
-
const { loginCommand } = await import("./login-
|
|
104
|
+
const { loginCommand } = await import("./login-NZKH63H7.js");
|
|
105
105
|
const hasCheck = process.argv.includes("--check");
|
|
106
106
|
await loginCommand({ check: hasCheck });
|
|
107
107
|
return true;
|
|
108
108
|
}
|
|
109
109
|
if (subcommand === "logout") {
|
|
110
|
-
const { logoutCommand } = await import("./logout-
|
|
110
|
+
const { logoutCommand } = await import("./logout-HY3MPOY5.js");
|
|
111
111
|
await logoutCommand();
|
|
112
112
|
return true;
|
|
113
113
|
}
|
|
114
114
|
if (subcommand === "start") {
|
|
115
|
-
const { startCommand } = await import("./start-
|
|
115
|
+
const { startCommand } = await import("./start-MD62XHS6.js");
|
|
116
116
|
await startCommand();
|
|
117
117
|
return true;
|
|
118
118
|
}
|
|
119
119
|
if (subcommand === "roi") {
|
|
120
|
-
const { roiCommand } = await import("./roi-
|
|
120
|
+
const { roiCommand } = await import("./roi-YM5OOWHG.js");
|
|
121
121
|
await roiCommand();
|
|
122
122
|
return true;
|
|
123
123
|
}
|
|
@@ -129,7 +129,7 @@ async function main() {
|
|
|
129
129
|
const args = parseCliArgs();
|
|
130
130
|
if (args.serve) {
|
|
131
131
|
await loadAuthFromConfig(env);
|
|
132
|
-
const { serve } = await import("./serve-
|
|
132
|
+
const { serve } = await import("./serve-FJT6POBH.js");
|
|
133
133
|
return serve({ isDev: env.SHIPYARD_DEV });
|
|
134
134
|
}
|
|
135
135
|
logger.error("Use `shipyard start` to run the daemon. Use --help for usage.");
|
|
@@ -3,15 +3,17 @@ import {
|
|
|
3
3
|
createChildLogger,
|
|
4
4
|
flushLogger,
|
|
5
5
|
getLogFilePath,
|
|
6
|
-
logger
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
logger,
|
|
7
|
+
shouldAttachFileTransport
|
|
8
|
+
} from "./chunk-QJP7JCIS.js";
|
|
9
|
+
import "./chunk-Z37T5W6S.js";
|
|
9
10
|
import "./chunk-CNR7O5YH.js";
|
|
10
11
|
import "./chunk-2H7UOFLK.js";
|
|
11
12
|
export {
|
|
12
13
|
createChildLogger,
|
|
13
14
|
flushLogger,
|
|
14
15
|
getLogFilePath,
|
|
15
|
-
logger
|
|
16
|
+
logger,
|
|
17
|
+
shouldAttachFileTransport
|
|
16
18
|
};
|
|
17
|
-
//# sourceMappingURL=logger-
|
|
19
|
+
//# sourceMappingURL=logger-2F3CBS3V.js.map
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
ensureAuthenticated,
|
|
4
4
|
getSignalingUrl,
|
|
5
5
|
loginCommand
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-KRX7OJER.js";
|
|
7
|
+
import "./chunk-IJHF4OM4.js";
|
|
8
|
+
import "./chunk-3WEEGJJN.js";
|
|
9
|
+
import "./chunk-4PBXNWJV.js";
|
|
10
10
|
import "./chunk-EHQITHQX.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-QJP7JCIS.js";
|
|
12
|
+
import "./chunk-Z37T5W6S.js";
|
|
13
13
|
import "./chunk-CNR7O5YH.js";
|
|
14
14
|
import "./chunk-2H7UOFLK.js";
|
|
15
15
|
export {
|
|
@@ -17,4 +17,4 @@ export {
|
|
|
17
17
|
getSignalingUrl,
|
|
18
18
|
loginCommand
|
|
19
19
|
};
|
|
20
|
-
//# sourceMappingURL=login-
|
|
20
|
+
//# sourceMappingURL=login-NZKH63H7.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
print
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-IJHF4OM4.js";
|
|
5
5
|
import {
|
|
6
6
|
deleteConfig,
|
|
7
7
|
getConfigPath
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-3WEEGJJN.js";
|
|
9
|
+
import "./chunk-QJP7JCIS.js";
|
|
10
|
+
import "./chunk-Z37T5W6S.js";
|
|
11
11
|
import "./chunk-CNR7O5YH.js";
|
|
12
12
|
import "./chunk-2H7UOFLK.js";
|
|
13
13
|
|
|
@@ -23,4 +23,4 @@ async function logoutCommand() {
|
|
|
23
23
|
export {
|
|
24
24
|
logoutCommand
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=logout-
|
|
26
|
+
//# sourceMappingURL=logout-HY3MPOY5.js.map
|
|
@@ -12,10 +12,10 @@ import {
|
|
|
12
12
|
redactEnv,
|
|
13
13
|
resetMCPConfigCaches,
|
|
14
14
|
shouldFetchClaudeAiIntegrations
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-RW2OTTUA.js";
|
|
16
16
|
import "./chunk-RR6V6SNM.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-QJP7JCIS.js";
|
|
18
|
+
import "./chunk-Z37T5W6S.js";
|
|
19
19
|
import "./chunk-CNR7O5YH.js";
|
|
20
20
|
import "./chunk-2H7UOFLK.js";
|
|
21
21
|
export {
|
|
@@ -32,4 +32,4 @@ export {
|
|
|
32
32
|
resetMCPConfigCaches,
|
|
33
33
|
shouldFetchClaudeAiIntegrations
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=mcp-servers-
|
|
35
|
+
//# sourceMappingURL=mcp-servers-ICHOWXZB.js.map
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
import "./chunk-EHQITHQX.js";
|
|
9
9
|
import {
|
|
10
10
|
logger
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-QJP7JCIS.js";
|
|
12
12
|
import {
|
|
13
13
|
validateEnv
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-Z37T5W6S.js";
|
|
15
15
|
import "./chunk-CNR7O5YH.js";
|
|
16
16
|
import "./chunk-2H7UOFLK.js";
|
|
17
17
|
|
|
@@ -681,4 +681,4 @@ function renderReport(report, format) {
|
|
|
681
681
|
export {
|
|
682
682
|
roiCommand
|
|
683
683
|
};
|
|
684
|
-
//# sourceMappingURL=roi-
|
|
684
|
+
//# sourceMappingURL=roi-YM5OOWHG.js.map
|