@schoolai/shipyard 3.31.0-rc.20260922.0 → 3.31.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.
@@ -3,7 +3,7 @@ import {
3
3
  detectCapabilities,
4
4
  refreshMcpServers,
5
5
  registerBuiltInProfiles
6
- } from "./chunk-U2PMT54H.js";
6
+ } from "./chunk-PSV3NCGY.js";
7
7
  import "./chunk-ZDJEJI62.js";
8
8
  import "./chunk-Y6AAH7LO.js";
9
9
  import {
@@ -452,25 +452,52 @@ import { open } from "fs/promises";
452
452
  // src/shared/capabilities/claude-binary.ts
453
453
  import { existsSync } from "fs";
454
454
  import { createRequire } from "module";
455
- function resolveBundledClaudeBinary() {
456
- const req = createRequire(import.meta.url);
457
- const sdkMain = req.resolve("@anthropic-ai/claude-agent-sdk");
458
- const sdkReq = createRequire(sdkMain);
455
+ function platformPackages(base) {
456
+ return process.platform === "linux" ? [`${base}-linux-${process.arch}-musl`, `${base}-linux-${process.arch}`] : [`${base}-${process.platform}-${process.arch}`];
457
+ }
458
+ function unAsar(resolved) {
459
+ return resolved.includes("app.asar/") ? resolved.replace("app.asar/", "app.asar.unpacked/") : resolved;
460
+ }
461
+ function tryResolvePlatformBinary(packageJsonId, base, req) {
462
+ let pkgReq;
463
+ try {
464
+ pkgReq = createRequire(req.resolve(packageJsonId));
465
+ } catch (err) {
466
+ logger.debug({ packageJsonId, err }, "claude binary host package not resolvable");
467
+ return null;
468
+ }
459
469
  const ext = process.platform === "win32" ? ".exe" : "";
460
- const candidates = process.platform === "linux" ? [
461
- `@anthropic-ai/claude-agent-sdk-linux-${process.arch}-musl`,
462
- `@anthropic-ai/claude-agent-sdk-linux-${process.arch}`
463
- ] : [`@anthropic-ai/claude-agent-sdk-${process.platform}-${process.arch}`];
464
- for (const pkg of candidates) {
470
+ for (const pkg of platformPackages(base)) {
465
471
  try {
466
- const resolved = sdkReq.resolve(`${pkg}/claude${ext}`);
467
- return resolved.includes("app.asar/") ? resolved.replace("app.asar/", "app.asar.unpacked/") : resolved;
472
+ return unAsar(pkgReq.resolve(`${pkg}/claude${ext}`));
468
473
  } catch (err) {
469
474
  logger.debug({ pkg, err }, "platform claude binary candidate not resolvable");
470
475
  }
471
476
  }
472
477
  return null;
473
478
  }
479
+ function resolveBundledClaudeBinary() {
480
+ const req = createRequire(import.meta.url);
481
+ const standalone = tryResolvePlatformBinary(
482
+ "@anthropic-ai/claude-code/package.json",
483
+ "@anthropic-ai/claude-code",
484
+ req
485
+ );
486
+ if (standalone) {
487
+ logger.debug({ event: "claude_binary_resolved", source: "claude-code-pkg", path: standalone });
488
+ return standalone;
489
+ }
490
+ const sdk = tryResolvePlatformBinary(
491
+ "@anthropic-ai/claude-agent-sdk",
492
+ "@anthropic-ai/claude-agent-sdk",
493
+ req
494
+ );
495
+ if (sdk) {
496
+ logger.debug({ event: "claude_binary_resolved", source: "sdk", path: sdk });
497
+ return sdk;
498
+ }
499
+ return null;
500
+ }
474
501
  function resolveClaudeBinaryPath(log) {
475
502
  const envPath = validateEnv().CLAUDE_CODE_PATH;
476
503
  if (envPath && existsSync(envPath)) return envPath;
@@ -1560,26 +1587,6 @@ var claudeCodeProfile = {
1560
1587
  vision: true
1561
1588
  }
1562
1589
  },
1563
- {
1564
- id: "claude-fable-5",
1565
- nativeName: "claude-fable-5",
1566
- displayName: "Claude Fable 5",
1567
- description: "Previous-generation Fable for long-horizon agentic work",
1568
- note: "Covered Model \xB7 30-day retention",
1569
- contextWindow: 1e6,
1570
- maxOutput: 128e3,
1571
- supportedEfforts: ["low", "medium", "high", "xhigh", "ultracode", "max"],
1572
- defaultEffort: "high",
1573
- tagline: "Previous-generation Fable for long-horizon agentic work",
1574
- speedTier: "slow",
1575
- ...claudeDisplayPricing("claude-fable-5"),
1576
- capabilities: {
1577
- reasoning: true,
1578
- adaptiveThinking: true,
1579
- webSearch: true,
1580
- vision: true
1581
- }
1582
- },
1583
1590
  {
1584
1591
  /**
1585
1592
  * Sonnet 5 has NO smaller context variant — 1M is both the default and the
@@ -8735,6 +8742,7 @@ export {
8735
8742
  bootstrapPhase,
8736
8743
  emitStartupComplete,
8737
8744
  getCurrentBootPhase,
8745
+ resolveBundledClaudeBinary,
8738
8746
  resolveClaudeBinaryPath,
8739
8747
  getSupportedEfforts,
8740
8748
  getSupportedEffortsSync,
@@ -8864,4 +8872,4 @@ export {
8864
8872
  refreshInstalledAgents,
8865
8873
  refreshCodexAuthSlice
8866
8874
  };
8867
- //# sourceMappingURL=chunk-U2PMT54H.js.map
8875
+ //# sourceMappingURL=chunk-PSV3NCGY.js.map