@outerlayer/cli 0.24.0 → 0.25.1

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 (114) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +9 -0
  3. package/dist/{agent-setup-QQYRBPK2.js → agent-setup-PDIIGMKE.js} +7 -7
  4. package/dist/{bridge-4ZARDVGS.js → bridge-5KZ36YDG.js} +3 -3
  5. package/dist/build-YYVAJ75G.js +12 -0
  6. package/dist/build-info.json +1 -1
  7. package/dist/{builder-MECDEKXX.js → builder-MNUJS4RG.js} +7 -7
  8. package/dist/{check-YYKNYFNI.js → check-C6HEFW6R.js} +39 -38
  9. package/dist/{chunk-BUBCPP3F.js → chunk-23SPSYXZ.js} +3 -3
  10. package/dist/{chunk-5ECUMU53.js → chunk-24LQ34XL.js} +6 -6
  11. package/dist/{chunk-BN3CSI7S.js → chunk-2K3TCQHW.js} +1 -1
  12. package/dist/{chunk-A62QFN2M.js → chunk-2N72GPS2.js} +3 -3
  13. package/dist/{chunk-TQ6Y7YV6.js → chunk-3FNPTQRH.js} +5 -5
  14. package/dist/{chunk-F2W2IYNP.js → chunk-3WZ5ECSM.js} +3 -3
  15. package/dist/{chunk-WH2QV3UL.js → chunk-4S4VBDSO.js} +1 -1
  16. package/dist/{chunk-IDSHLKQA.js → chunk-5222PA6S.js} +1 -1
  17. package/dist/{chunk-6GSA2SKT.js → chunk-A6ORKBVJ.js} +213 -59
  18. package/dist/{chunk-3W333NFO.js → chunk-APBTVIM4.js} +15 -4
  19. package/dist/{chunk-HHXBOTRO.js → chunk-ATGHVEU4.js} +1 -1
  20. package/dist/{chunk-D7K446H6.js → chunk-C36EOUUU.js} +5 -5
  21. package/dist/{chunk-RVYOOYOA.js → chunk-CQRIZNE6.js} +19 -10
  22. package/dist/{chunk-FWEWFW3F.js → chunk-DEBOL6ON.js} +1 -1
  23. package/dist/{chunk-GU4PKXN7.js → chunk-ENFBARQP.js} +185 -38
  24. package/dist/{chunk-H6IUKXXI.js → chunk-F57CLUH7.js} +207 -35
  25. package/dist/{chunk-E4OUL7ZP.js → chunk-FXUVXSY2.js} +2 -2
  26. package/dist/{chunk-F7Y2USIM.js → chunk-H6ZFLIX3.js} +3 -3
  27. package/dist/{chunk-LY2L3O2O.js → chunk-HPOEVC2V.js} +3 -2
  28. package/dist/{chunk-ZFLOFAUG.js → chunk-I25F6YVP.js} +8 -8
  29. package/dist/{chunk-DG2ULWM6.js → chunk-IGRRD7PX.js} +11 -7
  30. package/dist/{chunk-GISNHSYL.js → chunk-JGD5TWQ2.js} +4 -2
  31. package/dist/{chunk-D7X5ITVT.js → chunk-JWRX5ZTT.js} +6 -2
  32. package/dist/{chunk-755WXDBI.js → chunk-K5WVK7IC.js} +1 -1
  33. package/dist/{chunk-FKXGQOF5.js → chunk-M4B6QKNZ.js} +1 -1
  34. package/dist/{chunk-5XCAPBE2.js → chunk-N3VSI5ZI.js} +6 -6
  35. package/dist/{chunk-NTQTDCYR.js → chunk-O2WYUIK7.js} +1 -1
  36. package/dist/{chunk-BOQY756V.js → chunk-OEU4JSDE.js} +8 -7
  37. package/dist/{chunk-TTLVQZSH.js → chunk-Q435LWVN.js} +5 -5
  38. package/dist/{chunk-D4AMAEZ7.js → chunk-QE3UQAHK.js} +322 -17
  39. package/dist/{chunk-VV7ZD5LR.js → chunk-QMQC6JCO.js} +1 -1
  40. package/dist/{chunk-FQPN5S4Q.js → chunk-QXNJWSTM.js} +4 -4
  41. package/dist/{chunk-VBEXKEBV.js → chunk-S6AWZKJN.js} +19 -6
  42. package/dist/{chunk-V5Q3S4NM.js → chunk-SNQR2EYI.js} +2 -2
  43. package/dist/{chunk-CZUH2SLQ.js → chunk-UNF7MWEL.js} +1 -1
  44. package/dist/{chunk-W7O4LA4E.js → chunk-VAMUWK55.js} +3 -3
  45. package/dist/{chunk-PDIM5T65.js → chunk-XGJUNNXL.js} +1 -1
  46. package/dist/{chunk-NGZID7UI.js → chunk-XRYUJTAT.js} +8 -1
  47. package/dist/{chunk-LBCZXXOX.js → chunk-ZGMQQWCV.js} +2 -2
  48. package/dist/{chunk-KF37SUDM.js → chunk-ZI2ZVWKT.js} +1 -1
  49. package/dist/{chunk-PVRBE7S4.js → chunk-ZODVSFI4.js} +1 -1
  50. package/dist/chunk-ZVB57WI6.js +19 -0
  51. package/dist/{claude-launcher-JCPSHDZQ.js → claude-launcher-WGOCLTG6.js} +1 -1
  52. package/dist/{cli-ZTBH3FBG.js → cli-YMTNHR4W.js} +107 -102
  53. package/dist/command-DKYZC7PH.js +533 -0
  54. package/dist/{config-7Z5DHSGY.js → config-JJ3EO7SB.js} +3 -3
  55. package/dist/{connect-cmd-NY5LIKVC.js → connect-cmd-F7T4LNKX.js} +7 -7
  56. package/dist/{container-start-OHBUZEJJ.js → container-start-AX7QXJMR.js} +45 -36
  57. package/dist/{control-plane-launch-GKGI6HJA.js → control-plane-launch-ZFT6SI4N.js} +6 -6
  58. package/dist/{dist-2APO44JG.js → dist-QPHZE47F.js} +1 -1
  59. package/dist/{docker-RKGBJESN.js → docker-5EC5TE3Y.js} +7 -7
  60. package/dist/{doctor-DOAFZV4O.js → doctor-S6YCZGUU.js} +79 -33
  61. package/dist/{emit-artifact-cmd-VZHIDPXQ.js → emit-artifact-cmd-DJO475VZ.js} +11 -11
  62. package/dist/{emit-criteria-cmd-SYLBCWHW.js → emit-criteria-cmd-EULQ2MLI.js} +8 -8
  63. package/dist/{emit-finding-cmd-52M43NPC.js → emit-finding-cmd-QIIKMITO.js} +8 -8
  64. package/dist/{emit-result-cmd-BTMTGDAV.js → emit-result-cmd-NMCLTA47.js} +11 -11
  65. package/dist/{emit-step-cmd-6XTJITZT.js → emit-step-cmd-72OX5P6M.js} +9 -9
  66. package/dist/{exec-client-CKPK62K2.js → exec-client-KH33DICR.js} +4 -4
  67. package/dist/{governing-source-GWN7GVEN.js → governing-source-JNQ6PX2A.js} +11 -11
  68. package/dist/{guest-init-ZBL5CN7Y.js → guest-init-TOSKPGPF.js} +5 -5
  69. package/dist/{hook-fast-3JL4PXLG.js → hook-fast-NEELST6G.js} +1 -1
  70. package/dist/host-key-ICJEQBWH.js +9 -0
  71. package/dist/{image-tag-AO4RBAKW.js → image-tag-6KJOGBQK.js} +4 -4
  72. package/dist/index.js +4 -4
  73. package/dist/{init-TSQ3EOQW.js → init-624F4JIP.js} +25 -23
  74. package/dist/{init-EQTR7AEF.js → init-G7XC5WWL.js} +25 -23
  75. package/dist/{init-cmd-AF2MH36A.js → init-cmd-UUYA57VO.js} +11 -11
  76. package/dist/{init-update-SHISHMXV.js → init-update-MMV33PLM.js} +9 -9
  77. package/dist/{install-ORQC26ZE.js → install-MPEJJ7X6.js} +5 -5
  78. package/dist/{install-cmd-4LA3UJZ4.js → install-cmd-SE6NCTJK.js} +6 -6
  79. package/dist/job-state-format-WJQGQB6F.js +6 -0
  80. package/dist/{logs-5EPHIPZB.js → logs-T4ERSOQ4.js} +3 -3
  81. package/dist/loop-K5B2A3VW.js +78 -0
  82. package/dist/{machine-6UNLIPLE.js → machine-J4IFVIKU.js} +21 -19
  83. package/dist/{mcp-serve-cmd-KMWEKM7C.js → mcp-serve-cmd-7M4VLNI4.js} +5 -5
  84. package/dist/{paths-XY5ADO32.js → paths-2KGM2LZV.js} +3 -3
  85. package/dist/pending-BGLMTB5Q.js +9 -0
  86. package/dist/{pidfile-OJ7RP4Q2.js → pidfile-VYBH3IMN.js} +4 -4
  87. package/dist/{record-BEJB4J7N.js → record-GNOHDJ2O.js} +4 -4
  88. package/dist/{relay-PSZ4LGMW.js → relay-GFPPD6GF.js} +1 -1
  89. package/dist/relay-protocol-HELO5SNH.js +6 -0
  90. package/dist/{runner-env-ZJWJOJKQ.js → runner-env-GUFV544G.js} +6 -6
  91. package/dist/{runner-identity-2OOUJSFJ.js → runner-identity-HZ6CBM2R.js} +7 -7
  92. package/dist/{runner-key-WDFBSJRX.js → runner-key-FFVZUEHE.js} +25 -23
  93. package/dist/{session-sender-X3BBQZMF.js → session-sender-3SUWNNVP.js} +12 -12
  94. package/dist/{spec-cmd-QRF5YXKK.js → spec-cmd-VZDE6FFH.js} +9 -9
  95. package/dist/{status-ZCAAF6MD.js → status-GXTD44DX.js} +35 -29
  96. package/dist/{sync-cmd-UQK3RYAC.js → sync-cmd-VFB3NEJ6.js} +11 -11
  97. package/dist/{watch-MOQ3GQTE.js → watch-LWMTDD3L.js} +11 -11
  98. package/dist/{work-claim-cmd-RT343CLA.js → work-claim-cmd-FOBTDQVR.js} +12 -12
  99. package/dist/{work-cmd-APXSER2D.js → work-cmd-6HARIBMW.js} +9 -9
  100. package/dist/{work-comment-cmd-AT5NUYUU.js → work-comment-cmd-BITPALHR.js} +9 -9
  101. package/dist/{work-logs-cmd-Z5DMNEJP.js → work-logs-cmd-VGB3O2LZ.js} +9 -9
  102. package/dist/{work-open-pr-cmd-ZTS6MJHL.js → work-open-pr-cmd-SVZCNOIM.js} +10 -10
  103. package/dist/{work-pr-cmd-IWZCC3WH.js → work-pr-cmd-SJT46GN4.js} +9 -9
  104. package/dist/{work-stop-cmd-DCAWFDZC.js → work-stop-cmd-WXKVVA4S.js} +9 -9
  105. package/package.json +2 -2
  106. package/skill-pack/maintained/outerlayer-build/SKILL.md +1 -1
  107. package/skill-pack/maintained/outerlayer-build/references/agent-briefs.md +3 -2
  108. package/skill-pack/maintained/outerlayer-build/references/review-briefs.md +3 -1
  109. package/dist/build-OVZIT2G2.js +0 -12
  110. package/dist/command-DO4TERRT.js +0 -208
  111. package/dist/host-key-W2DLZGZ7.js +0 -9
  112. package/dist/loop-4WUCS5JP.js +0 -77
  113. package/dist/pending-35J3ZPLR.js +0 -9
  114. package/dist/relay-protocol-K7KP2SPI.js +0 -6
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RecipeError, BUILDKIT_IMAGE } from './chunk-3W333NFO.js';
3
+ import { RecipeError, BUILDKIT_IMAGE } from './chunk-APBTVIM4.js';
4
4
  import { parseSize } from './chunk-7RQ73DLO.js';
5
- import { compareVersions } from './chunk-D4AMAEZ7.js';
6
- import { ensureHostKey } from './chunk-PVRBE7S4.js';
7
- import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, runnerDir, jobsDir } from './chunk-KF37SUDM.js';
8
- import { CLAUDE_PORT, JOB_MOUNT, GATEWAY_PORT, GATEWAY_SOCKET, CLAUDE_SOCKET, RELAY_PORT, DESTINATION_BASE_PORT } from './chunk-BN3CSI7S.js';
9
- import { JOIN_DIR, RELAY_ID, JOIN_SOCKET, TARGET_GATEWAY, TARGET_CLAUDE, destinationTarget, RELAY_USER } from './chunk-GISNHSYL.js';
5
+ import { compareVersions } from './chunk-QE3UQAHK.js';
6
+ import { ensureHostKey } from './chunk-ZODVSFI4.js';
7
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, runnerDir, jobsDir } from './chunk-ZI2ZVWKT.js';
8
+ import { CLAUDE_PORT, JOB_MOUNT, GATEWAY_PORT, GATEWAY_SOCKET, CLAUDE_SOCKET, RELAY_PORT, DESTINATION_BASE_PORT } from './chunk-2K3TCQHW.js';
9
+ import { JOIN_DIR, RELAY_ID, JOIN_SOCKET, TARGET_GATEWAY, TARGET_CLAUDE, destinationTarget, RELAY_USER } from './chunk-JGD5TWQ2.js';
10
10
  import { StringDecoder } from 'string_decoder';
11
11
  import { spawn } from 'child_process';
12
12
  import { existsSync, readFileSync, mkdirSync, createWriteStream, rmSync, chmodSync, writeFileSync, realpathSync, readdirSync, renameSync } from 'fs';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-KF37SUDM.js';
3
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-ZI2ZVWKT.js';
4
4
  import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
5
5
  import { join } from 'path';
6
6
 
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { detectMachine, supportsContainerBuilds, reachDockerStep, describeMachineDocker, supportsMicroVmBuilds } from './chunk-VBEXKEBV.js';
4
- import { MIN_ENGINE_MAJOR } from './chunk-GU4PKXN7.js';
5
- import { hasStoredCredential, AGENT_COMMANDS, storeClaudeCredential, credentialFromStdin, isAgentName } from './chunk-LBCZXXOX.js';
6
- import { runnerCredentialProblem } from './chunk-D7X5ITVT.js';
7
- import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-KF37SUDM.js';
3
+ import { detectMachine, supportsContainerBuilds, reachDockerStep, describeMachineDocker, supportsMicroVmBuilds } from './chunk-S6AWZKJN.js';
4
+ import { MIN_ENGINE_MAJOR } from './chunk-ENFBARQP.js';
5
+ import { hasStoredCredential, AGENT_COMMANDS, storeClaudeCredential, credentialFromStdin, isAgentName } from './chunk-ZGMQQWCV.js';
6
+ import { runnerCredentialProblem } from './chunk-JWRX5ZTT.js';
7
+ import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-ZI2ZVWKT.js';
8
8
  import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
9
9
  import { dirname } from 'path';
10
10
 
@@ -22,7 +22,7 @@ function isolationNote(machine) {
22
22
  }
23
23
  function processRefusal(machine) {
24
24
  const reach = reachDockerStep(machine);
25
- const needs = machine.platform === "darwin" ? "Isolated builds on a Mac run in a Linux VM: run this again with --vm." : reach !== void 0 ? `Isolated builds need Docker Engine ${MIN_ENGINE_MAJOR} or later: ${reach}, then run this again.` : machine.platform === "windows" ? `Isolated builds need Docker Engine ${MIN_ENGINE_MAJOR} or later inside WSL2: install it there, then run this again from a WSL2 shell.` : `Isolated builds need Docker Engine ${MIN_ENGINE_MAJOR} or later on Linux or WSL2: install it, then run this again.`;
25
+ const needs = machine.platform === "darwin" ? "Isolated builds on a Mac run in the runner image on Docker Desktop (https://docs.outerlayer.ai/run-the-runner-in-a-container) or in a Linux VM: run this again with --vm." : reach !== void 0 ? `Isolated builds need Docker Engine ${MIN_ENGINE_MAJOR} or later: ${reach}, then run this again.` : machine.platform === "windows" ? `Isolated builds need Docker Engine ${MIN_ENGINE_MAJOR} or later inside WSL2: install it there, then run this again from a WSL2 shell.` : `Isolated builds need Docker Engine ${MIN_ENGINE_MAJOR} or later on Linux or WSL2: install it, then run this again.`;
26
26
  return `This machine has ${describeMachineDocker(machine)}, so it cannot isolate a build. ${needs} To run builds as processes under this user instead, where a build can read this user's files and the runner's Claude credential, run this again with --allow-process-builds.`;
27
27
  }
28
28
  function isPlaceholderCommand(command) {
@@ -130,11 +130,12 @@ function writeRunnerInit(prepared, runnerKey) {
130
130
  amend: PLACEHOLDER_COMMAND
131
131
  },
132
132
  ...carried,
133
- ...host === void 0 ? {} : { host },
133
+ ...host === void 0 ? {} : { name: host },
134
134
  // The agent was named on this command line, so its commands win over any the hand-off carried.
135
135
  ...agent === void 0 ? {} : { commands: { ...AGENT_COMMANDS[agent] } },
136
136
  hooks: { provision: hooks, cleanup: hooks }
137
137
  };
138
+ if (host !== void 0) delete config.runner.host;
138
139
  mkdirSync(dirname(configPath), { recursive: true });
139
140
  const stored = credential === void 0 ? void 0 : { variable: credential.variable, path: storeClaudeCredential(configPath, credential) };
140
141
  writeFileSync(configPath, `${JSON.stringify(config, null, 2)}
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-FWEWFW3F.js';
3
+ import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-DEBOL6ON.js';
4
4
  import { startTimeOf } from './chunk-JBJTC3UU.js';
5
- import { CLAUDE_CODE_VERSION, NODE_IMAGE, DEFAULT_BASE_IMAGE, RecipeError, locateRecipe, readRecipe, assertBuildable, TINI_VERSION, GH_VERSION, writeSanitizedRecipe, classifyProperties, GH_SHA256, TINI_SHA256, SANITIZED_NAME } from './chunk-3W333NFO.js';
6
- import { RUNNER_DIR_MODE, repoCacheDir, imagesDir, attemptStamp, runnerDir, rootfsPathFor, RUNNER_FILE_MODE } from './chunk-KF37SUDM.js';
7
- import { withGitConfig, tokenHeader, PROXY_WARNING_FLAG } from './chunk-BN3CSI7S.js';
8
- import { RELAY_ID, RELAY_USER } from './chunk-GISNHSYL.js';
5
+ import { CLAUDE_CODE_VERSION, NODE_IMAGE, DEFAULT_BASE_IMAGE, RecipeError, locateRecipe, readRecipe, assertBuildable, TINI_VERSION, GH_VERSION, writeSanitizedRecipe, classifyProperties, GH_SHA256, TINI_SHA256, SANITIZED_NAME } from './chunk-APBTVIM4.js';
6
+ import { RUNNER_DIR_MODE, repoCacheDir, imagesDir, attemptStamp, runnerDir, rootfsPathFor, RUNNER_FILE_MODE } from './chunk-ZI2ZVWKT.js';
7
+ import { withGitConfig, tokenHeader, PROXY_WARNING_FLAG } from './chunk-2K3TCQHW.js';
8
+ import { RELAY_ID, RELAY_USER } from './chunk-JGD5TWQ2.js';
9
9
  import { mkdirSync, rmSync, existsSync, mkdtempSync, cpSync, readFileSync, writeFileSync, readdirSync, lstatSync, readlinkSync } from 'fs';
10
10
  import { tmpdir } from 'os';
11
11
  import { dirname, join } from 'path';
@@ -21971,15 +21971,15 @@ var ModelRegistryImpl = class {
21971
21971
  };
21972
21972
  var models_default = {
21973
21973
  version: "1.0.0",
21974
- generatedAt: "2026-10-15T03:53:58.240Z",
21974
+ generatedAt: "2026-10-16T03:49:42.065Z",
21975
21975
  sources: {
21976
21976
  litellm: {
21977
- fetchedAt: "2026-10-15T03:53:58.240Z",
21978
- modelCount: 1937
21977
+ fetchedAt: "2026-10-16T03:49:42.065Z",
21978
+ modelCount: 1960
21979
21979
  },
21980
21980
  openrouter: {
21981
- fetchedAt: "2026-10-15T03:53:58.240Z",
21982
- modelCount: 205
21981
+ fetchedAt: "2026-10-16T03:49:42.065Z",
21982
+ modelCount: 204
21983
21983
  }
21984
21984
  },
21985
21985
  models: {
@@ -23697,7 +23697,8 @@ var models_default = {
23697
23697
  promptCaching: true,
23698
23698
  pdfInput: true,
23699
23699
  webSearch: true
23700
- }
23700
+ },
23701
+ deprecationDate: "2027-01-14"
23701
23702
  },
23702
23703
  "gpt-4.1-mini": {
23703
23704
  provider: "openai",
@@ -23750,7 +23751,8 @@ var models_default = {
23750
23751
  promptCaching: true,
23751
23752
  pdfInput: true,
23752
23753
  webSearch: true
23753
- }
23754
+ },
23755
+ deprecationDate: "2027-01-14"
23754
23756
  },
23755
23757
  "gpt-4.1-nano": {
23756
23758
  provider: "openai",
@@ -23910,6 +23912,7 @@ var models_default = {
23910
23912
  promptCaching: true,
23911
23913
  pdfInput: true
23912
23914
  },
23915
+ deprecationDate: "2027-01-14",
23913
23916
  supportedParameters: [
23914
23917
  "frequency_penalty",
23915
23918
  "max_tokens",
@@ -23940,6 +23943,7 @@ var models_default = {
23940
23943
  promptCaching: true,
23941
23944
  pdfInput: true
23942
23945
  },
23946
+ deprecationDate: "2027-01-14",
23943
23947
  supportedParameters: [
23944
23948
  "frequency_penalty",
23945
23949
  "max_tokens",
@@ -24094,6 +24098,7 @@ var models_default = {
24094
24098
  promptCaching: true,
24095
24099
  pdfInput: true
24096
24100
  },
24101
+ deprecationDate: "2027-01-14",
24097
24102
  supportedParameters: [
24098
24103
  "frequency_penalty",
24099
24104
  "max_tokens",
@@ -31174,7 +31179,8 @@ var models_default = {
31174
31179
  structuredOutput: true,
31175
31180
  promptCaching: true,
31176
31181
  pdfInput: true
31177
- }
31182
+ },
31183
+ deprecationDate: "2027-01-14"
31178
31184
  },
31179
31185
  "ft:gpt-4o-2024-11-20": {
31180
31186
  provider: "openai",
@@ -31196,7 +31202,8 @@ var models_default = {
31196
31202
  structuredOutput: true,
31197
31203
  promptCaching: true,
31198
31204
  pdfInput: true
31199
- }
31205
+ },
31206
+ deprecationDate: "2027-01-14"
31200
31207
  },
31201
31208
  "ft:gpt-4o-mini-2024-07-18": {
31202
31209
  provider: "openai",
@@ -31218,7 +31225,8 @@ var models_default = {
31218
31225
  structuredOutput: true,
31219
31226
  promptCaching: true,
31220
31227
  pdfInput: true
31221
- }
31228
+ },
31229
+ deprecationDate: "2027-01-14"
31222
31230
  },
31223
31231
  "ft:gpt-4.1-2025-04-14": {
31224
31232
  provider: "openai",
@@ -31239,7 +31247,8 @@ var models_default = {
31239
31247
  parallelFunctionCalling: true,
31240
31248
  structuredOutput: true,
31241
31249
  promptCaching: true
31242
- }
31250
+ },
31251
+ deprecationDate: "2027-01-14"
31243
31252
  },
31244
31253
  "ft:gpt-4.1-mini-2025-04-14": {
31245
31254
  provider: "openai",
@@ -31260,7 +31269,8 @@ var models_default = {
31260
31269
  parallelFunctionCalling: true,
31261
31270
  structuredOutput: true,
31262
31271
  promptCaching: true
31263
- }
31272
+ },
31273
+ deprecationDate: "2027-01-14"
31264
31274
  },
31265
31275
  "ft:gpt-4.1-nano-2025-04-14": {
31266
31276
  provider: "openai",
@@ -31781,8 +31791,8 @@ var models_default = {
31781
31791
  tiers: [
31782
31792
  {
31783
31793
  aboveInputTokens: 2e5,
31784
- cacheReadCostPerToken: 4e-7,
31785
31794
  cacheCreationCostPerToken: 25e-8,
31795
+ cacheReadCostPerToken: 4e-7,
31786
31796
  inputCostPerToken: 4e-6,
31787
31797
  outputCostPerToken: 18e-6
31788
31798
  }
@@ -42588,7 +42598,7 @@ var models_default = {
42588
42598
  pdfInput: true,
42589
42599
  webSearch: true
42590
42600
  },
42591
- deprecationDate: "2026-12-02",
42601
+ deprecationDate: "2027-05-18",
42592
42602
  supportedParameters: [
42593
42603
  "max_tokens"
42594
42604
  ]
@@ -43426,7 +43436,8 @@ var models_default = {
43426
43436
  capabilities: {
43427
43437
  vision: true,
43428
43438
  functionCalling: true
43429
- }
43439
+ },
43440
+ deprecationDate: "2026-10-16"
43430
43441
  },
43431
43442
  "gemma-3n-e4b-it": {
43432
43443
  provider: "google",
@@ -60515,7 +60526,7 @@ var models_default = {
60515
60526
  pdfInput: true,
60516
60527
  webSearch: true
60517
60528
  },
60518
- deprecationDate: "2026-12-02"
60529
+ deprecationDate: "2027-05-18"
60519
60530
  },
60520
60531
  "accounts/fireworks/routers/glm-5p3-fast": {
60521
60532
  provider: "fireworks_ai",
@@ -67093,7 +67104,7 @@ var models_default = {
67093
67104
  },
67094
67105
  context: {
67095
67106
  maxInputTokens: 1048576,
67096
- maxOutputTokens: 65536
67107
+ maxOutputTokens: 1048576
67097
67108
  },
67098
67109
  capabilities: {
67099
67110
  vision: true,
@@ -67163,6 +67174,300 @@ var models_default = {
67163
67174
  functionCalling: true,
67164
67175
  structuredOutput: true
67165
67176
  }
67177
+ },
67178
+ "us.stability.stable-conservative-upscale-v1:0": {
67179
+ provider: "bedrock",
67180
+ displayName: "Us.stability.stable Conservative Upscale V1:0",
67181
+ mode: "chat",
67182
+ source: "litellm",
67183
+ context: {
67184
+ maxInputTokens: 77
67185
+ }
67186
+ },
67187
+ "us.stability.stable-creative-upscale-v1:0": {
67188
+ provider: "bedrock",
67189
+ displayName: "Us.stability.stable Creative Upscale V1:0",
67190
+ mode: "chat",
67191
+ source: "litellm",
67192
+ context: {
67193
+ maxInputTokens: 77
67194
+ }
67195
+ },
67196
+ "us.stability.stable-fast-upscale-v1:0": {
67197
+ provider: "bedrock",
67198
+ displayName: "Us.stability.stable Fast Upscale V1:0",
67199
+ mode: "chat",
67200
+ source: "litellm",
67201
+ context: {
67202
+ maxInputTokens: 77
67203
+ }
67204
+ },
67205
+ "us.stability.stable-outpaint-v1:0": {
67206
+ provider: "bedrock",
67207
+ displayName: "Us.stability.stable Outpaint V1:0",
67208
+ mode: "chat",
67209
+ source: "litellm",
67210
+ context: {
67211
+ maxInputTokens: 77
67212
+ }
67213
+ },
67214
+ "us.stability.stable-image-control-sketch-v1:0": {
67215
+ provider: "bedrock",
67216
+ displayName: "Us.stability.stable Image Control Sketch V1:0",
67217
+ mode: "chat",
67218
+ source: "litellm",
67219
+ context: {
67220
+ maxInputTokens: 77
67221
+ }
67222
+ },
67223
+ "us.stability.stable-image-control-structure-v1:0": {
67224
+ provider: "bedrock",
67225
+ displayName: "Us.stability.stable Image Control Structure V1:0",
67226
+ mode: "chat",
67227
+ source: "litellm",
67228
+ context: {
67229
+ maxInputTokens: 77
67230
+ }
67231
+ },
67232
+ "us.stability.stable-image-erase-object-v1:0": {
67233
+ provider: "bedrock",
67234
+ displayName: "Us.stability.stable Image Erase Object V1:0",
67235
+ mode: "chat",
67236
+ source: "litellm",
67237
+ context: {
67238
+ maxInputTokens: 77
67239
+ }
67240
+ },
67241
+ "us.stability.stable-image-inpaint-v1:0": {
67242
+ provider: "bedrock",
67243
+ displayName: "Us.stability.stable Image Inpaint V1:0",
67244
+ mode: "chat",
67245
+ source: "litellm",
67246
+ context: {
67247
+ maxInputTokens: 77
67248
+ }
67249
+ },
67250
+ "us.stability.stable-image-remove-background-v1:0": {
67251
+ provider: "bedrock",
67252
+ displayName: "Us.stability.stable Image Remove Background V1:0",
67253
+ mode: "chat",
67254
+ source: "litellm",
67255
+ context: {
67256
+ maxInputTokens: 77
67257
+ }
67258
+ },
67259
+ "us.stability.stable-image-search-recolor-v1:0": {
67260
+ provider: "bedrock",
67261
+ displayName: "Us.stability.stable Image Search Recolor V1:0",
67262
+ mode: "chat",
67263
+ source: "litellm",
67264
+ context: {
67265
+ maxInputTokens: 77
67266
+ }
67267
+ },
67268
+ "us.stability.stable-image-search-replace-v1:0": {
67269
+ provider: "bedrock",
67270
+ displayName: "Us.stability.stable Image Search Replace V1:0",
67271
+ mode: "chat",
67272
+ source: "litellm",
67273
+ context: {
67274
+ maxInputTokens: 77
67275
+ }
67276
+ },
67277
+ "us.stability.stable-image-style-guide-v1:0": {
67278
+ provider: "bedrock",
67279
+ displayName: "Us.stability.stable Image Style Guide V1:0",
67280
+ mode: "chat",
67281
+ source: "litellm",
67282
+ context: {
67283
+ maxInputTokens: 77
67284
+ }
67285
+ },
67286
+ "us.stability.stable-style-transfer-v1:0": {
67287
+ provider: "bedrock",
67288
+ displayName: "Us.stability.stable Style Transfer V1:0",
67289
+ mode: "chat",
67290
+ source: "litellm",
67291
+ context: {
67292
+ maxInputTokens: 77
67293
+ }
67294
+ },
67295
+ "meta-models/Muse-Spark-Open-816B-A42B": {
67296
+ provider: "together_ai",
67297
+ displayName: "Meta Models/Muse Spark Open 816B A42B",
67298
+ mode: "chat",
67299
+ source: "litellm",
67300
+ pricing: {
67301
+ inputCostPerToken: 125e-8,
67302
+ outputCostPerToken: 425e-8,
67303
+ cacheReadCostPerToken: 15e-8
67304
+ },
67305
+ context: {
67306
+ maxInputTokens: 1048576
67307
+ },
67308
+ capabilities: {
67309
+ functionCalling: true,
67310
+ structuredOutput: true,
67311
+ promptCaching: true
67312
+ }
67313
+ },
67314
+ "accounts/fireworks/models/muse-spark-open": {
67315
+ provider: "fireworks_ai",
67316
+ displayName: "Accounts/fireworks/models/muse Spark Open",
67317
+ mode: "chat",
67318
+ source: "litellm",
67319
+ pricing: {
67320
+ inputCostPerToken: 125e-8,
67321
+ outputCostPerToken: 425e-8,
67322
+ cacheReadCostPerToken: 15e-8
67323
+ },
67324
+ context: {
67325
+ maxInputTokens: 1048576
67326
+ },
67327
+ capabilities: {
67328
+ vision: true,
67329
+ functionCalling: true
67330
+ }
67331
+ },
67332
+ "gpt-5.5-cyber-preview": {
67333
+ provider: "openai",
67334
+ displayName: "Gpt 5.5 Cyber Preview",
67335
+ mode: "chat",
67336
+ source: "litellm",
67337
+ pricing: {
67338
+ inputCostPerToken: 125e-7,
67339
+ outputCostPerToken: 75e-6,
67340
+ cacheReadCostPerToken: 125e-8
67341
+ },
67342
+ capabilities: {
67343
+ reasoning: true
67344
+ }
67345
+ },
67346
+ "grok-voice-3.0": {
67347
+ provider: "xai",
67348
+ displayName: "Grok Voice 3.0",
67349
+ mode: "chat",
67350
+ source: "litellm",
67351
+ capabilities: {
67352
+ functionCalling: true,
67353
+ audioInput: true,
67354
+ audioOutput: true
67355
+ }
67356
+ },
67357
+ "grok-voice-latest": {
67358
+ provider: "xai",
67359
+ displayName: "Grok Voice Latest",
67360
+ mode: "chat",
67361
+ source: "litellm",
67362
+ capabilities: {
67363
+ functionCalling: true,
67364
+ audioInput: true,
67365
+ audioOutput: true
67366
+ }
67367
+ },
67368
+ "grok-voice-2.0": {
67369
+ provider: "xai",
67370
+ displayName: "Grok Voice 2.0",
67371
+ mode: "chat",
67372
+ source: "litellm",
67373
+ capabilities: {
67374
+ functionCalling: true,
67375
+ audioInput: true,
67376
+ audioOutput: true
67377
+ }
67378
+ },
67379
+ "nvidia/NVIDIA-Nemotron-3.5-Super-VL": {
67380
+ provider: "together_ai",
67381
+ displayName: "Nvidia/NVIDIA Nemotron 3.5 Super VL",
67382
+ mode: "chat",
67383
+ source: "litellm",
67384
+ pricing: {
67385
+ inputCostPerToken: 15e-8,
67386
+ outputCostPerToken: 5e-7,
67387
+ cacheReadCostPerToken: 2e-8
67388
+ },
67389
+ context: {
67390
+ maxInputTokens: 262144
67391
+ },
67392
+ capabilities: {
67393
+ vision: true,
67394
+ functionCalling: true,
67395
+ parallelFunctionCalling: true,
67396
+ structuredOutput: true,
67397
+ promptCaching: true,
67398
+ reasoning: true
67399
+ }
67400
+ },
67401
+ "jp.amazon.nova-2-lite-v1:0": {
67402
+ provider: "bedrock",
67403
+ displayName: "Jp.amazon.nova 2 Lite V1:0",
67404
+ mode: "chat",
67405
+ source: "litellm",
67406
+ pricing: {
67407
+ inputCostPerToken: 396e-9,
67408
+ outputCostPerToken: 3311e-9,
67409
+ cacheReadCostPerToken: 99e-9
67410
+ },
67411
+ context: {
67412
+ maxInputTokens: 1e6,
67413
+ maxOutputTokens: 64e3
67414
+ },
67415
+ capabilities: {
67416
+ vision: true,
67417
+ functionCalling: true,
67418
+ structuredOutput: true,
67419
+ promptCaching: true,
67420
+ reasoning: true,
67421
+ pdfInput: true
67422
+ }
67423
+ },
67424
+ "vertex_ai/deepseek-ai/deepseek-v4.1-flash-maas": {
67425
+ provider: "google",
67426
+ displayName: "Vertex Ai/deepseek Ai/deepseek V4.1 Flash Maas",
67427
+ mode: "chat",
67428
+ source: "litellm",
67429
+ pricing: {
67430
+ inputCostPerToken: 3e-7,
67431
+ outputCostPerToken: 12e-7,
67432
+ cacheReadCostPerToken: 3e-8
67433
+ },
67434
+ context: {
67435
+ maxInputTokens: 1048576,
67436
+ maxOutputTokens: 1048576
67437
+ },
67438
+ capabilities: {
67439
+ vision: true,
67440
+ functionCalling: true,
67441
+ structuredOutput: true,
67442
+ promptCaching: true,
67443
+ reasoning: true
67444
+ }
67445
+ },
67446
+ "claude-opus-5-5-fast": {
67447
+ provider: "azure",
67448
+ displayName: "Claude Opus 5 5 Fast",
67449
+ mode: "chat",
67450
+ source: "litellm",
67451
+ pricing: {
67452
+ inputCostPerToken: 8e-6,
67453
+ outputCostPerToken: 4e-5,
67454
+ cacheCreationCostPerToken: 1e-5,
67455
+ cacheReadCostPerToken: 4e-7,
67456
+ cacheCreation1hCostPerToken: 16e-6
67457
+ },
67458
+ context: {
67459
+ maxInputTokens: 1e6,
67460
+ maxOutputTokens: 128e3
67461
+ },
67462
+ capabilities: {
67463
+ vision: true,
67464
+ functionCalling: true,
67465
+ structuredOutput: true,
67466
+ promptCaching: true,
67467
+ reasoning: true,
67468
+ pdfInput: true
67469
+ },
67470
+ deprecationDate: "2027-10-01"
67166
67471
  }
67167
67472
  }
67168
67473
  };
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-KF37SUDM.js';
3
+ import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-ZI2ZVWKT.js';
4
4
  import { readlinkSync, realpathSync, mkdirSync, unlinkSync, symlinkSync, renameSync, readFileSync, writeFileSync, rmSync, existsSync, readdirSync } from 'fs';
5
5
  import { join, basename, sep, resolve } from 'path';
6
6
 
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { launcherPath, writeLauncher, LauncherWriteError, pathNotes } from './chunk-HHXBOTRO.js';
4
- import { currentVersion, currentLink, isInLayout, packageRootIn, versionDir, switchCurrent, execStartLine } from './chunk-VV7ZD5LR.js';
3
+ import { launcherPath, writeLauncher, LauncherWriteError, pathNotes } from './chunk-ATGHVEU4.js';
4
+ import { currentVersion, currentLink, isInLayout, packageRootIn, versionDir, switchCurrent, execStartLine } from './chunk-QMQC6JCO.js';
5
5
  import { compareVersions } from './chunk-TQMI335S.js';
6
- import { RUNNER_DIR_MODE } from './chunk-KF37SUDM.js';
6
+ import { RUNNER_DIR_MODE } from './chunk-ZI2ZVWKT.js';
7
7
  import { realpathSync, readFileSync, mkdirSync, rmSync, cpSync, existsSync } from 'fs';
8
8
  import { dirname, sep, join } from 'path';
9
9
 
@@ -92,7 +92,7 @@ function launcherSummary(launcher) {
92
92
  }
93
93
  function restartNote(result) {
94
94
  if (result.previous === void 0 || result.previous === result.version) return void 0;
95
- return `current moved from ${result.previous} to ${result.version}: a runner its service started takes no new work, waits for its running builds to finish, then restarts on ${result.version}. A runner started by hand keeps running until you restart it`;
95
+ return `current moved from ${result.previous} to ${result.version}: a runner its service started restarts on ${result.version} at once when its running builds are container builds that carry on through the restart. Otherwise it takes no new work and waits for them to finish. A runner started by hand keeps running until you restart it`;
96
96
  }
97
97
 
98
98
  export { RunnerDowngradeError, RunnerInstallError, launcherSummary, restartNote, runRunnerInstall };
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { MIN_ENGINE_MAJOR } from './chunk-GU4PKXN7.js';
4
- import { firecrackerArch, MICROVM_ARCHES, guestAssetsPinned } from './chunk-3W333NFO.js';
3
+ import { MIN_ENGINE_MAJOR } from './chunk-ENFBARQP.js';
4
+ import { runnerImageVersion } from './chunk-5222PA6S.js';
5
+ import { firecrackerArch, MICROVM_ARCHES, guestAssetsPinned } from './chunk-APBTVIM4.js';
5
6
  import { spawnSync } from 'child_process';
6
7
  import { existsSync, accessSync, constants, statSync, readFileSync } from 'fs';
7
8
 
@@ -53,17 +54,20 @@ function detectMachine(probes = {}) {
53
54
  const platform = platformOf(probes);
54
55
  const kvm = (probes.kvm ?? (() => detectKvm(probes.kvmDevice ?? "/dev/kvm")))();
55
56
  const arch = firecrackerArch(probes.nodeArch ?? process.arch);
57
+ const inImage = runnerImageVersion(probes.env ?? process.env) !== void 0 ? { inImage: true } : {};
56
58
  const version = (probes.dockerVersion ?? (() => docker(["version", "--format", "{{.Server.Version}}"])))();
57
59
  if (version === void 0) {
58
60
  const failure = (probes.dockerFailure ?? (probes.dockerVersion === void 0 ? dockerFailure : () => void 0))();
59
- return { platform, docker: failure === void 0 ? { kind: "none" } : { kind: "unreachable", reason: failure }, kvm, arch };
61
+ return { platform, ...inImage, docker: failure === void 0 ? { kind: "none" } : { kind: "unreachable", reason: failure }, kvm, arch };
60
62
  }
61
63
  const system = (probes.dockerOperatingSystem ?? (() => docker(["info", "--format", "{{.OperatingSystem}}"])))() ?? "";
62
- return { platform, docker: { kind: /docker desktop/i.test(system) ? "desktop" : "engine", version }, kvm, arch };
64
+ return { platform, ...inImage, docker: { kind: /docker desktop/i.test(system) ? "desktop" : "engine", version }, kvm, arch };
63
65
  }
64
66
  function supportsContainerBuilds(machine) {
65
67
  if (machine.platform !== "linux" && machine.platform !== "wsl2") return false;
66
- return machine.docker.kind === "engine" && Number.parseInt(machine.docker.version ?? "", 10) >= MIN_ENGINE_MAJOR;
68
+ const { kind, version } = machine.docker;
69
+ if (kind !== "engine" && !(kind === "desktop" && machine.inImage === true)) return false;
70
+ return Number.parseInt(version ?? "", 10) >= MIN_ENGINE_MAJOR;
67
71
  }
68
72
  function supportsMicroVmBuilds(machine) {
69
73
  return machine.platform === "linux" && machine.kvm?.state === "usable" && supportsContainerBuilds(machine) && microVmAssetsPinned(machine);
@@ -81,7 +85,16 @@ function reachDockerStep(machine) {
81
85
  function describeMachineDocker(machine) {
82
86
  const { kind, version, reason } = machine.docker;
83
87
  const where = machine.platform === "windows" ? "Windows" : machine.platform === "darwin" ? "macOS" : machine.platform === "wsl2" ? "WSL2" : "Linux";
84
- if (kind === "desktop") return `Docker Desktop ${version ?? ""} on ${where}, which cannot pass a Unix socket into a container`.replace(" ", " ");
88
+ if (kind === "desktop") {
89
+ const engine = version === void 0 ? "" : ` with engine ${version}`;
90
+ if (machine.inImage === true && (machine.platform === "linux" || machine.platform === "wsl2")) {
91
+ const major = Number.parseInt(version ?? "", 10);
92
+ if (Number.isNaN(major)) return `Docker Desktop${engine}, whose engine version is not readable`;
93
+ if (major < MIN_ENGINE_MAJOR) return `Docker Desktop${engine}, older than the ${MIN_ENGINE_MAJOR} that container builds need`;
94
+ return `Docker Desktop${engine}`;
95
+ }
96
+ return `Docker Desktop${engine} on ${where}, which a runner accepts only in the runner image`;
97
+ }
85
98
  if (kind === "none") return `no Docker on ${where}`;
86
99
  if (kind === "unreachable") {
87
100
  const problem = reason === "permission" ? "this user has no permission on its socket" : "its daemon is not running";
@@ -2,9 +2,9 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { sanitizeTerminal } from './chunk-BUP5N3X6.js';
4
4
  import { DEFAULT_DASHBOARD } from './chunk-XSPA5ODY.js';
5
- import { cliFetch, resolveGatewayCredentials } from './chunk-FKXGQOF5.js';
5
+ import { cliFetch, resolveGatewayCredentials } from './chunk-M4B6QKNZ.js';
6
6
  import { writeRepoConnection, findGitDirs, readRepoConnection } from './chunk-BJ3KTMDH.js';
7
- import { remoteLookupFailed } from './chunk-D4AMAEZ7.js';
7
+ import { remoteLookupFailed } from './chunk-QE3UQAHK.js';
8
8
  import { readCloudConfig } from './chunk-EABW6AJQ.js';
9
9
  import { isAgentsMdLayout } from './chunk-JKNYTNYD.js';
10
10
  import { cliInvocation } from './chunk-CRB3POP4.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RELAY_PORT, BUILD_HOME } from './chunk-BN3CSI7S.js';
3
+ import { RELAY_PORT, BUILD_HOME } from './chunk-2K3TCQHW.js';
4
4
  import { createServer, connect } from 'net';
5
5
 
6
6
  createRequire(import.meta.url);
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { LiveUploader } from './chunk-D7K446H6.js';
4
- import { spoolDir } from './chunk-755WXDBI.js';
5
- import { CaptureDaemon } from './chunk-D4AMAEZ7.js';
3
+ import { LiveUploader } from './chunk-C36EOUUU.js';
4
+ import { spoolDir } from './chunk-K5WVK7IC.js';
5
+ import { CaptureDaemon } from './chunk-QE3UQAHK.js';
6
6
  import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
7
7
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
8
8
  import { mkdirSync, writeFileSync, rmSync } from 'fs';