@outerlayer/cli 0.26.2 → 0.26.3

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 (50) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/{build-AW4A2QPK.js → build-EBQYXL7Y.js} +2 -2
  3. package/dist/build-info.json +1 -1
  4. package/dist/{builder-TDCBQ2RD.js → builder-WEGLC2F2.js} +2 -2
  5. package/dist/{check-KL3LDAI3.js → check-WJJ325EQ.js} +14 -14
  6. package/dist/{chunk-U2FSJBNI.js → chunk-2AKDF6C2.js} +1 -1
  7. package/dist/{chunk-RO3BRAO6.js → chunk-364XDGOK.js} +2 -2
  8. package/dist/{chunk-DJILFADE.js → chunk-7LVF4E5V.js} +1 -1
  9. package/dist/{chunk-2EAVBJMO.js → chunk-FO7F6QSV.js} +39 -2
  10. package/dist/{chunk-DXHISLCI.js → chunk-J7BXZLSO.js} +1 -1
  11. package/dist/{chunk-WA7R6U2F.js → chunk-K7FCZCLQ.js} +3 -3
  12. package/dist/{chunk-OL2O5PEI.js → chunk-SKZG7SAN.js} +8 -8
  13. package/dist/{chunk-FI66JNLT.js → chunk-TSW4DGV2.js} +2 -2
  14. package/dist/{chunk-GMPXOQTH.js → chunk-UKCNOAO6.js} +1 -1
  15. package/dist/{chunk-GUT4IU7K.js → chunk-VHVFU6QU.js} +5 -5
  16. package/dist/{chunk-PCY7IGSL.js → chunk-W7LGHNXT.js} +2 -2
  17. package/dist/{chunk-V5LUWRCV.js → chunk-XDHYZWEK.js} +2 -2
  18. package/dist/{chunk-6OYAW5SF.js → chunk-XF77SNB4.js} +8 -8
  19. package/dist/{chunk-KZLLLARE.js → chunk-ZLEXMZFW.js} +1 -1
  20. package/dist/{chunk-TODY3MTS.js → chunk-ZPXI7LMG.js} +3 -3
  21. package/dist/{cli-UH2YQA5M.js → cli-2UUJM3AE.js} +50 -50
  22. package/dist/{command-ZECJJNLY.js → command-GQBHC53U.js} +7 -7
  23. package/dist/{container-start-GFH5LLSG.js → container-start-AUJHF2BC.js} +8 -8
  24. package/dist/{docker-Q7QJMX7I.js → docker-NYAIIX2F.js} +2 -2
  25. package/dist/{doctor-3LCCPBX6.js → doctor-NV2PUERZ.js} +9 -9
  26. package/dist/{emit-artifact-cmd-AIBDDJGW.js → emit-artifact-cmd-XXTCHP6V.js} +2 -2
  27. package/dist/{emit-result-cmd-LQN6AGGP.js → emit-result-cmd-HRTXGZLK.js} +2 -2
  28. package/dist/{governing-source-5OU235UP.js → governing-source-PTJ6EAA3.js} +2 -2
  29. package/dist/hook-fast-SDFXJEAW.js +12 -0
  30. package/dist/index.js +3 -3
  31. package/dist/{init-ARB2JUPA.js → init-KIGYMLDM.js} +8 -8
  32. package/dist/{init-C2RROWQU.js → init-UZWRJMPZ.js} +8 -8
  33. package/dist/{init-cmd-SLXPX44L.js → init-cmd-SQKWPACS.js} +3 -3
  34. package/dist/{loop-QQV4PYNX.js → loop-OE32U2IZ.js} +14 -14
  35. package/dist/{machine-OVXDPPFK.js → machine-L7INJ4JN.js} +7 -7
  36. package/dist/{runner-identity-QQU6BUUO.js → runner-identity-YYENYKDH.js} +2 -2
  37. package/dist/{runner-key-WIEESRA5.js → runner-key-AZVXBQIB.js} +8 -8
  38. package/dist/{session-sender-DFB2N3DO.js → session-sender-VH2EKAT5.js} +3 -3
  39. package/dist/{spec-cmd-FBA4BJPZ.js → spec-cmd-BOUPLX7X.js} +1 -1
  40. package/dist/{status-V2DWSLL3.js → status-3WC2IGVI.js} +10 -10
  41. package/dist/{sync-cmd-KU567KX6.js → sync-cmd-GT2WTQRA.js} +2 -2
  42. package/dist/{watch-LBPCO6GR.js → watch-JED7SYAA.js} +2 -2
  43. package/dist/{work-claim-cmd-IT7R7G3E.js → work-claim-cmd-MY4N74HA.js} +3 -3
  44. package/dist/{work-cmd-SJB6N6FZ.js → work-cmd-UQ45HDM4.js} +1 -1
  45. package/dist/{work-comment-cmd-FGUQM2F3.js → work-comment-cmd-I7NNSNDP.js} +1 -1
  46. package/dist/{work-logs-cmd-74GRYFTW.js → work-logs-cmd-YIQJVENH.js} +1 -1
  47. package/dist/{work-open-pr-cmd-CX7A2BE5.js → work-open-pr-cmd-VP5NNTCW.js} +1 -1
  48. package/dist/{work-stop-cmd-W6EKY5Y3.js → work-stop-cmd-GN2WX73C.js} +1 -1
  49. package/package.json +1 -1
  50. package/dist/hook-fast-LZSHEKUA.js +0 -12
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @outerlayer/cli
2
2
 
3
+ ## 0.26.3
4
+
5
+ ### Patch Changes
6
+
7
+ - bdf88b4: MicroVM builds boot a Linux 6.18 guest kernel, the newer of the two guest kernels Firecracker 1.17 supports.
8
+ - bdfdf7b: A machine with OuterLayer's hooks in both managed settings and user settings records each hook event once. Claude Code starts both copies of the hook; the second one does nothing, so the session's warnings appear once and Work is called once.
9
+
3
10
  ## 0.26.2
4
11
 
5
12
  ### Patch Changes
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { buildRepositoryImage } from './chunk-DJILFADE.js';
3
+ export { buildRepositoryImage } from './chunk-7LVF4E5V.js';
4
4
  import './chunk-PYSKSROG.js';
5
5
  import './chunk-JBJTC3UU.js';
6
- export { RecipeError } from './chunk-FI66JNLT.js';
6
+ export { RecipeError } from './chunk-TSW4DGV2.js';
7
7
  import './chunk-L4CW6LZQ.js';
8
8
  import './chunk-2K3TCQHW.js';
9
9
  import './chunk-JGD5TWQ2.js';
@@ -1 +1 @@
1
- {"id":"2026-10-16T18:16:32.915Z+7b81ff6","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
1
+ {"id":"2026-10-16T19:10:06.995Z+98c3824","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-KZLLLARE.js';
4
- import './chunk-FI66JNLT.js';
3
+ export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-ZLEXMZFW.js';
4
+ import './chunk-TSW4DGV2.js';
5
5
  import './chunk-7RQ73DLO.js';
6
6
  import './chunk-QE3UQAHK.js';
7
7
  import './chunk-QZBXLLTV.js';
@@ -1,41 +1,41 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { probeCredentials } from './chunk-6OYAW5SF.js';
4
- import './chunk-OL2O5PEI.js';
3
+ import { probeCredentials } from './chunk-XF77SNB4.js';
4
+ import './chunk-SKZG7SAN.js';
5
5
  import './chunk-TKL74NLB.js';
6
6
  import './chunk-ZVB57WI6.js';
7
7
  import './chunk-6FAP657M.js';
8
8
  import './chunk-3JVYMD4G.js';
9
9
  import './chunk-YETTWTAY.js';
10
10
  import './chunk-TPKYTORP.js';
11
- import './chunk-V5LUWRCV.js';
11
+ import './chunk-XDHYZWEK.js';
12
12
  import './chunk-MWPBF2XG.js';
13
13
  import './chunk-UNF7MWEL.js';
14
- import './chunk-U2FSJBNI.js';
14
+ import './chunk-2AKDF6C2.js';
15
15
  import './chunk-EORWWFPA.js';
16
16
  import './chunk-ESVW4MJY.js';
17
- import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-TODY3MTS.js';
17
+ import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-ZPXI7LMG.js';
18
18
  import './chunk-4IFKLYMM.js';
19
19
  import './chunk-YYYRBYWG.js';
20
20
  import './chunk-TBT347UY.js';
21
- import './chunk-PCY7IGSL.js';
22
- import './chunk-RO3BRAO6.js';
23
- import './chunk-GUT4IU7K.js';
21
+ import './chunk-W7LGHNXT.js';
22
+ import './chunk-364XDGOK.js';
23
+ import './chunk-VHVFU6QU.js';
24
24
  import './chunk-665QWBNW.js';
25
25
  import './chunk-TQMI335S.js';
26
26
  import './chunk-5PMQDQFV.js';
27
27
  import './chunk-MLD2NA7N.js';
28
28
  import { parseRunnerEnv } from './chunk-6MZSX4M7.js';
29
- import './chunk-DJILFADE.js';
29
+ import './chunk-7LVF4E5V.js';
30
30
  import './chunk-PYSKSROG.js';
31
31
  import './chunk-JBJTC3UU.js';
32
32
  import './chunk-OGFGZQA3.js';
33
- import './chunk-KZLLLARE.js';
34
- import './chunk-FI66JNLT.js';
33
+ import './chunk-ZLEXMZFW.js';
34
+ import './chunk-TSW4DGV2.js';
35
35
  import './chunk-MXTN35XN.js';
36
36
  import './chunk-XLC7KEUV.js';
37
- import './chunk-DXHISLCI.js';
38
- import './chunk-GMPXOQTH.js';
37
+ import './chunk-J7BXZLSO.js';
38
+ import './chunk-UKCNOAO6.js';
39
39
  import './chunk-HXFRJKMU.js';
40
40
  import './chunk-TEVO3RUV.js';
41
41
  import './chunk-BUP5N3X6.js';
@@ -47,7 +47,7 @@ import './chunk-7RQ73DLO.js';
47
47
  import './chunk-W3NVHOCS.js';
48
48
  import './chunk-MQ743JX3.js';
49
49
  import './chunk-QRZLUUNN.js';
50
- import './chunk-2EAVBJMO.js';
50
+ import './chunk-FO7F6QSV.js';
51
51
  import './chunk-ZJSNLVCE.js';
52
52
  import './chunk-2O5KA67H.js';
53
53
  import './chunk-BKO6JEZI.js';
@@ -5,7 +5,7 @@ import { LaunchFilter } from './chunk-ESVW4MJY.js';
5
5
  import { RepoFilter } from './chunk-TBT347UY.js';
6
6
  import { migrateLegacyArtifactSidecars, planArtifactUpload, artifactsStatePath, sanitizeTerminal, acquireArtifactSpoolLock, artifactBlobsDir, resolveArtifactTurnIndex, isArtifactTombstoned, ARTIFACT_RETRY_MAX_AGE_MS, writeArtifactSpoolState, reclaimUnneededArtifactBlobs, neededArtifactShas } from './chunk-BUP5N3X6.js';
7
7
  import { cliFetch, resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-QRZLUUNN.js';
8
- import { writeSyncStatus, spoolDir } from './chunk-2EAVBJMO.js';
8
+ import { writeSyncStatus, spoolDir } from './chunk-FO7F6QSV.js';
9
9
  import { readLatestProvenanceForSession, readContextProvenance } from './chunk-ZJSNLVCE.js';
10
10
  import { hookExecSpoolPath } from './chunk-2O5KA67H.js';
11
11
  import { applyReportedCost } from './chunk-BKO6JEZI.js';
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { MIN_ENGINE_MAJOR } from './chunk-GUT4IU7K.js';
3
+ import { MIN_ENGINE_MAJOR } from './chunk-VHVFU6QU.js';
4
4
  import { runnerImageVersion } from './chunk-665QWBNW.js';
5
- import { firecrackerArch, MICROVM_ARCHES, guestAssetsPinned } from './chunk-FI66JNLT.js';
5
+ import { firecrackerArch, MICROVM_ARCHES, guestAssetsPinned } from './chunk-TSW4DGV2.js';
6
6
  import { spawnSync } from 'child_process';
7
7
  import { existsSync, accessSync, constants, statSync, readFileSync } from 'fs';
8
8
 
@@ -2,7 +2,7 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-PYSKSROG.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-FI66JNLT.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-TSW4DGV2.js';
6
6
  import { RUNNER_DIR_MODE, repoCacheDir, imagesDir, attemptStamp, runnerDir, rootfsPathFor, RUNNER_FILE_MODE } from './chunk-L4CW6LZQ.js';
7
7
  import { withGitConfig, tokenHeader, PROXY_WARNING_FLAG } from './chunk-2K3TCQHW.js';
8
8
  import { RELAY_ID, RELAY_USER } from './chunk-JGD5TWQ2.js';
@@ -6,7 +6,7 @@ import { readRepoConnection, findGitDirs } from './chunk-BJ3KTMDH.js';
6
6
  import { cliInvocation } from './chunk-CRB3POP4.js';
7
7
  import { deadHooksState, huskyPrepareScript, preparePackageManagerCommand } from './chunk-TUSYOL2O.js';
8
8
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
9
- import { readFileSync, mkdirSync, writeFileSync, renameSync, existsSync, statSync, appendFileSync, opendirSync, unlinkSync } from 'fs';
9
+ import { readFileSync, mkdirSync, writeFileSync, renameSync, existsSync, readdirSync, unlinkSync, statSync, appendFileSync, opendirSync } from 'fs';
10
10
  import { spawn, execFileSync } from 'child_process';
11
11
  import { createHash } from 'crypto';
12
12
  import { join, dirname, resolve } from 'path';
@@ -308,6 +308,42 @@ function refreshCommand(workspaceDistDir, trusted) {
308
308
  function spoolDir(home = homeFromEnv()) {
309
309
  return join(home, ".outerlayer", "spool");
310
310
  }
311
+ var DUPLICATE_RUN_WINDOW_MS = 2e3;
312
+ var DUPLICATE_RUN_CLAIM_TTL_MS = 6e4;
313
+ function isDuplicateRun(dir, event, input, now = Date.now(), claim = claimRun) {
314
+ try {
315
+ const claims = join(dir, "hook-runs");
316
+ mkdirSync(claims, { recursive: true });
317
+ const key = createHash("sha256").update(`${event}
318
+ ${input}`).digest("hex");
319
+ const bucket = Math.floor(now / DUPLICATE_RUN_WINDOW_MS);
320
+ try {
321
+ claim(join(claims, `${key}-${bucket}`), now);
322
+ } catch (err) {
323
+ return err.code === "EEXIST";
324
+ }
325
+ if (claimedWithinWindow(join(claims, `${key}-${bucket - 1}`), now)) return true;
326
+ for (const name of readdirSync(claims)) {
327
+ const claimed = Number(name.slice(name.lastIndexOf("-") + 1)) * DUPLICATE_RUN_WINDOW_MS;
328
+ if (!(now - claimed <= DUPLICATE_RUN_CLAIM_TTL_MS)) unlinkSync(join(claims, name));
329
+ }
330
+ return false;
331
+ } catch {
332
+ return false;
333
+ }
334
+ }
335
+ function claimRun(path, now) {
336
+ writeFileSync(path, String(now), { flag: "wx" });
337
+ }
338
+ function claimedWithinWindow(path, now) {
339
+ let text;
340
+ try {
341
+ text = readFileSync(path, "utf8");
342
+ } catch {
343
+ return false;
344
+ }
345
+ return text === "" || now - Number(text) < DUPLICATE_RUN_WINDOW_MS;
346
+ }
311
347
  function hookFiredMarkerPath(event, home = homeFromEnv()) {
312
348
  const safe = event.replace(/[^A-Za-z0-9_-]/g, "").slice(0, 64) || "unknown";
313
349
  return join(spoolDir(home), `last-fired-${safe}`);
@@ -679,6 +715,7 @@ async function runHookFast(event, home = homeFromEnv(), read = readStdin, env =
679
715
  }
680
716
  const dir = spoolDir(home);
681
717
  mkdirSync(dir, { recursive: true });
718
+ if (isDuplicateRun(dir, resolvedEvent, stdin)) return;
682
719
  const record = {
683
720
  t: (/* @__PURE__ */ new Date()).toISOString(),
684
721
  event: resolvedEvent,
@@ -773,4 +810,4 @@ function recordLinkExitFailure(argv, home = homeFromEnv(), target = process) {
773
810
  });
774
811
  }
775
812
 
776
- export { AUTO_SYNC_DEBOUNCE_MS, SYNC_STALE_AFTER_MS, WORK_LEASE_RENEW_DEBOUNCE_MS, WORK_LINK_RETRIES, assessSyncHealth, checkInstalledCliStaleness, contextPossiblyGoverned, formatAgo, handleWorkLaunch, handleWorkSessionEnd, hookFiredMarkerPath, installedCliDistDir, logHookError, markWorkLeaseRenewed, maybeAutoSync, maybeRenewWorkLease, readSyncStatus, recordLinkExitFailure, refreshCommand, runHookFast, sanitizeForContext, spoolDir, workspaceRootOf, writeSyncStatus };
813
+ export { AUTO_SYNC_DEBOUNCE_MS, DUPLICATE_RUN_WINDOW_MS, SYNC_STALE_AFTER_MS, WORK_LEASE_RENEW_DEBOUNCE_MS, WORK_LINK_RETRIES, assessSyncHealth, checkInstalledCliStaleness, contextPossiblyGoverned, formatAgo, handleWorkLaunch, handleWorkSessionEnd, hookFiredMarkerPath, installedCliDistDir, isDuplicateRun, logHookError, markWorkLeaseRenewed, maybeAutoSync, maybeRenewWorkLease, readSyncStatus, recordLinkExitFailure, refreshCommand, runHookFast, sanitizeForContext, spoolDir, workspaceRootOf, writeSyncStatus };
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { WorkCommandError, postJson } from './chunk-GMPXOQTH.js';
3
+ import { WorkCommandError, postJson } from './chunk-UKCNOAO6.js';
4
4
  import { defaultGitRunner, materializeContext, isStagingWriteFault, lookupGoverningSource } from './chunk-W3NVHOCS.js';
5
5
  import { signingFetchFor } from './chunk-QRZLUUNN.js';
6
6
  import { unsupportedLayout, layoutRefusalReason, composeDelivery } from './chunk-VPEGE3QZ.js';
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { checkStarterFiles, contextIsGoverned, checkBuildSkill } from './chunk-XFGL53GU.js';
4
- import { resolveCredentials, getJson, WorkCommandError } from './chunk-GMPXOQTH.js';
4
+ import { resolveCredentials, getJson, WorkCommandError } from './chunk-UKCNOAO6.js';
5
5
  import { isLinkedRepository } from './chunk-TEVO3RUV.js';
6
6
  import { sanitizeTerminal } from './chunk-BUP5N3X6.js';
7
7
  import { checkFormerSkillNames } from './chunk-MQ743JX3.js';
8
8
  import { resolveGatewayCredentials, defaultFetch } from './chunk-QRZLUUNN.js';
9
- import { sanitizeForContext, spoolDir, assessSyncHealth, readSyncStatus, SYNC_STALE_AFTER_MS, formatAgo, checkInstalledCliStaleness, workspaceRootOf, hookFiredMarkerPath, refreshCommand } from './chunk-2EAVBJMO.js';
9
+ import { sanitizeForContext, spoolDir, assessSyncHealth, readSyncStatus, SYNC_STALE_AFTER_MS, formatAgo, checkInstalledCliStaleness, workspaceRootOf, hookFiredMarkerPath, refreshCommand } from './chunk-FO7F6QSV.js';
10
10
  import { readStatuslineState, STATE_FRESH_MS } from './chunk-I7RZHMXW.js';
11
11
  import { hookCommandEscapesControlPlane, CONTROL_PLANE_DIR_VARIABLE } from './chunk-HCVLP7XA.js';
12
12
  import { findGitDirs } from './chunk-BJ3KTMDH.js';
@@ -1186,7 +1186,7 @@ async function gatherDoctorChecks() {
1186
1186
  const { runnerVmCheck } = await import('./doctor-53F2PYY7.js');
1187
1187
  checks.push(runnerVmCheck(configPath, { lima: realLima(), home: homeFromEnv(), instance: runnerVm.instance }));
1188
1188
  } else if (hasRunnerBlock(configPath)) {
1189
- const { runnerHostChecks } = await import('./doctor-3LCCPBX6.js');
1189
+ const { runnerHostChecks } = await import('./doctor-NV2PUERZ.js');
1190
1190
  const hooks = (() => {
1191
1191
  try {
1192
1192
  return loadRunnerConfig(configPath).hooks;
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { readsJobState, READ_JOB_STATE_FORMATS, jobStateFormatOf } from './chunk-ZVB57WI6.js';
4
- import { senderPidfile } from './chunk-V5LUWRCV.js';
4
+ import { senderPidfile } from './chunk-XDHYZWEK.js';
5
5
  import { DOCKERD_LOG, HELPER_PATH, HELPER_RECORD } from './chunk-MWPBF2XG.js';
6
6
  import { writeDockerClientConfig } from './chunk-UNF7MWEL.js';
7
- import { installScrubContext } from './chunk-U2FSJBNI.js';
8
- import { ADDED_USER, AssetError, obtainImage, ensureRootfs, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, resolveAgentUser, AgentUserError, runBuildSteps, shellQuote, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, containerSenderCommand, signalInContainer, syncInContainer, copyTranscriptsFromContainer, senderAliveScript, helperFirecrackerNote, HelperRefusal, GH_CONFIG_YML, ghHostsYml, isLiteralAddress, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, copyJudgeTree } from './chunk-GUT4IU7K.js';
9
- import { readBranchHead, fetchCommit, diffBetween } from './chunk-DJILFADE.js';
7
+ import { installScrubContext } from './chunk-2AKDF6C2.js';
8
+ import { ADDED_USER, AssetError, obtainImage, ensureRootfs, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, resolveAgentUser, AgentUserError, runBuildSteps, shellQuote, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, containerSenderCommand, signalInContainer, syncInContainer, copyTranscriptsFromContainer, senderAliveScript, helperFirecrackerNote, HelperRefusal, GH_CONFIG_YML, ghHostsYml, isLiteralAddress, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, copyJudgeTree } from './chunk-VHVFU6QU.js';
9
+ import { readBranchHead, fetchCommit, diffBetween } from './chunk-7LVF4E5V.js';
10
10
  import { isSameProcess, startTimeOf } from './chunk-JBJTC3UU.js';
11
- import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, COMMAND_DIR, childEnvironment, judgeCommand, JUDGE_MAX_TURNS, MAX_REPORT_BYTES, JUDGE_DIR } from './chunk-KZLLLARE.js';
12
- import { CLAUDE_CODE_VERSION, FIRECRACKER_VERSION } from './chunk-FI66JNLT.js';
11
+ import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, COMMAND_DIR, childEnvironment, judgeCommand, JUDGE_MAX_TURNS, MAX_REPORT_BYTES, JUDGE_DIR } from './chunk-ZLEXMZFW.js';
12
+ import { CLAUDE_CODE_VERSION, FIRECRACKER_VERSION } from './chunk-TSW4DGV2.js';
13
13
  import { waitForAgent, vmExecArgs } from './chunk-MXTN35XN.js';
14
14
  import { socketPathProblem, vsockLinks, LEASE_LINK, linkVsockSockets } from './chunk-XLC7KEUV.js';
15
- import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, formatDuration, retrySend, formatClock } from './chunk-DXHISLCI.js';
16
- import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-GMPXOQTH.js';
15
+ import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, formatDuration, retrySend, formatClock } from './chunk-J7BXZLSO.js';
16
+ import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-UKCNOAO6.js';
17
17
  import { planArtifactUpload } from './chunk-BUP5N3X6.js';
18
18
  import { isBuiltinContainer, isBuiltinProcess, isBuiltinVm, DEFAULT_CHECK_TIME_LIMIT_MINUTES } from './chunk-JWRX5ZTT.js';
19
19
  import { parseSize } from './chunk-7RQ73DLO.js';
@@ -249,10 +249,10 @@ var FIRECRACKER_SHA256 = {
249
249
  var FIRECRACKER_BINARY_SHA256 = {
250
250
  x86_64: "99ad0f5cd0514a88aad0e9ae8cfdb3cc3b4ab9d190e1194602406c786b5de7a5"
251
251
  };
252
- var GUEST_ASSETS_VERSION = "6";
252
+ var GUEST_ASSETS_VERSION = "7";
253
253
  var GUEST_ASSETS_BASE_URL = `https://github.com/outerlayerai/guest-assets/releases/download/guest-${GUEST_ASSETS_VERSION}`;
254
254
  var GUEST_KERNEL_SHA256 = {
255
- x86_64: "5a2d716d301615c69fefc2f9574954e838269f14d5e8b0d1bad88b680cd372ee"
255
+ x86_64: "8552fad4bdea1d49f3e7d2aa500ce3f8918fcd2fc66779fd83235949688a39bb"
256
256
  };
257
257
  var GUEST_HELPER_SHA256 = {
258
258
  x86_64: "0ae934d3ad3f2a94abffcc3f044ba633b1a523dc17ff0c2bc322ed7d7fc505ea"
@@ -428,7 +428,7 @@ async function runWorkLinkSession(opts) {
428
428
  return await linkSession(opts);
429
429
  } catch (err) {
430
430
  if (opts.logFailures) {
431
- const { logHookError } = await import('./hook-fast-LZSHEKUA.js');
431
+ const { logHookError } = await import('./hook-fast-SDFXJEAW.js');
432
432
  const reason = err instanceof Error ? err.message : String(err);
433
433
  logHookError(opts.home ?? homeFromEnv(opts.env ?? process.env), new Error(`work link-session #${opts.number} failed: ${reason}`));
434
434
  }
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { runnerImageVersion } from './chunk-665QWBNW.js';
4
- import { readDefaultBranchHead, cloneRepository, buildRepositoryImage } from './chunk-DJILFADE.js';
4
+ import { readDefaultBranchHead, cloneRepository, buildRepositoryImage } from './chunk-7LVF4E5V.js';
5
5
  import { startTimeOf, isSameProcess } from './chunk-JBJTC3UU.js';
6
6
  import { currentCliBuild } from './chunk-OGFGZQA3.js';
7
- import { createDockerHost, builderSpec, runnerLabelValue, RUNNER_LABEL, BUILD_LABEL, prepareRunArgs, containerRunArgs, HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, containerExecArgs, childEnvironment, JUDGE_DIR, JUDGE_REPORT, MAX_REPORT_BYTES, spawnRun } from './chunk-KZLLLARE.js';
8
- import { FIRECRACKER_VERSION, hostHelperPinned, firecrackerArch, MICROVM_ARCHES, RecipeError, DOCKER_FEATURE, CLAUDE_CODE_VERSION, GUEST_HELPER_SHA256, GUEST_ASSETS_BASE_URL, GUEST_KERNEL_SHA256, JAILER_BINARY_SHA256, FIRECRACKER_BINARY_SHA256, FIRECRACKER_SHA256, GUEST_ASSETS_VERSION, DEFAULT_BASE_IMAGE } from './chunk-FI66JNLT.js';
7
+ import { createDockerHost, builderSpec, runnerLabelValue, RUNNER_LABEL, BUILD_LABEL, prepareRunArgs, containerRunArgs, HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, containerExecArgs, childEnvironment, JUDGE_DIR, JUDGE_REPORT, MAX_REPORT_BYTES, spawnRun } from './chunk-ZLEXMZFW.js';
8
+ import { FIRECRACKER_VERSION, hostHelperPinned, firecrackerArch, MICROVM_ARCHES, RecipeError, DOCKER_FEATURE, CLAUDE_CODE_VERSION, GUEST_HELPER_SHA256, GUEST_ASSETS_BASE_URL, GUEST_KERNEL_SHA256, JAILER_BINARY_SHA256, FIRECRACKER_BINARY_SHA256, FIRECRACKER_SHA256, GUEST_ASSETS_VERSION, DEFAULT_BASE_IMAGE } from './chunk-TSW4DGV2.js';
9
9
  import { execCapture } from './chunk-MXTN35XN.js';
10
10
  import { GUEST_CID } from './chunk-XLC7KEUV.js';
11
- import { describeCallFailure, controlPlaneTokenFailure, refusalCode, resolveGoverningSource, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, shimScript } from './chunk-DXHISLCI.js';
12
- import { WorkCommandError } from './chunk-GMPXOQTH.js';
11
+ import { describeCallFailure, controlPlaneTokenFailure, refusalCode, resolveGoverningSource, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, shimScript } from './chunk-J7BXZLSO.js';
12
+ import { WorkCommandError } from './chunk-UKCNOAO6.js';
13
13
  import { hostAllowed } from './chunk-UXYLWVTQ.js';
14
14
  import { parseDuKilobytes } from './chunk-7RQ73DLO.js';
15
15
  import { sharedSkillNames, skillConflictMessage } from './chunk-VPEGE3QZ.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { detectMachine, supportsContainerBuilds, reachDockerStep, describeMachineDocker, supportsMicroVmBuilds } from './chunk-RO3BRAO6.js';
4
- import { MIN_ENGINE_MAJOR } from './chunk-GUT4IU7K.js';
3
+ import { detectMachine, supportsContainerBuilds, reachDockerStep, describeMachineDocker, supportsMicroVmBuilds } from './chunk-364XDGOK.js';
4
+ import { MIN_ENGINE_MAJOR } from './chunk-VHVFU6QU.js';
5
5
  import { hasStoredCredential, AGENT_COMMANDS, storeClaudeCredential, credentialFromStdin, isAgentName } from './chunk-5PMQDQFV.js';
6
6
  import { runnerCredentialProblem } from './chunk-JWRX5ZTT.js';
7
7
  import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-L4CW6LZQ.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { LiveUploader } from './chunk-U2FSJBNI.js';
4
- import { spoolDir } from './chunk-2EAVBJMO.js';
3
+ import { LiveUploader } from './chunk-2AKDF6C2.js';
4
+ import { spoolDir } from './chunk-FO7F6QSV.js';
5
5
  import { CaptureDaemon } from './chunk-QE3UQAHK.js';
6
6
  import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
7
7
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
@@ -1,25 +1,25 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, provisionEnvironment, readProvisionOut, resolveHostBuild, workdirProblem, listenOnBroker, hostEnvironment, hostCommandEnvironment, execArgv, microVmCommandLine, runCommand, commandLogOffset, execCommandLine, startSender, startHostServices, finishJob, isContainerTracked, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, hookLimitsFor, AttemptLogBook, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, ALREADY_RELEASED, inTeardown } from './chunk-OL2O5PEI.js';
3
+ import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, provisionEnvironment, readProvisionOut, resolveHostBuild, workdirProblem, listenOnBroker, hostEnvironment, hostCommandEnvironment, execArgv, microVmCommandLine, runCommand, commandLogOffset, execCommandLine, startSender, startHostServices, finishJob, isContainerTracked, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, hookLimitsFor, AttemptLogBook, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, ALREADY_RELEASED, inTeardown } from './chunk-SKZG7SAN.js';
4
4
  import { writePendingUpdate } from './chunk-TKL74NLB.js';
5
5
  import { JOB_STATE_FORMAT, readsJobState, jobStateFormatOf } from './chunk-ZVB57WI6.js';
6
6
  import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-6FAP657M.js';
7
7
  import { decideInstalledSwitch } from './chunk-3JVYMD4G.js';
8
8
  import { fetchVersionMeta, npmVersion, npmSupportsProvenance, fetchTarballDigest, fetchProvenance, installVersion, auditSignatures } from './chunk-YETTWTAY.js';
9
9
  import { RUNNER_PROTOCOL } from './chunk-TPKYTORP.js';
10
- import { currentSkillCommand, formerSkillProblem, placeholderQueues, placeholderProblem } from './chunk-TODY3MTS.js';
10
+ import { currentSkillCommand, formerSkillProblem, placeholderQueues, placeholderProblem } from './chunk-ZPXI7LMG.js';
11
11
  import { writeMarker, readMarker, currentVersion, removeMarker, entryIn, versionDir, startedThroughCurrent, switchCurrent, isInLayout, cleanVersions, stagingDir } from './chunk-4IFKLYMM.js';
12
12
  import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
13
13
  import { RepoFilter } from './chunk-TBT347UY.js';
14
- import { leaseTimeLeftMs, LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, measureDisk, setUpRunnerCgroup, createContainerRuntime, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied } from './chunk-GUT4IU7K.js';
14
+ import { leaseTimeLeftMs, LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, measureDisk, setUpRunnerCgroup, createContainerRuntime, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied } from './chunk-VHVFU6QU.js';
15
15
  import { tagToPull, pullInstruction, imageTag, writeUpdateStatus } from './chunk-665QWBNW.js';
16
16
  import { isVersion, compareVersions, satisfiesRange } from './chunk-TQMI335S.js';
17
17
  import { checkFit } from './chunk-MLD2NA7N.js';
18
18
  import { claimPidFile, readPidFile, releasePidFile } from './chunk-PYSKSROG.js';
19
19
  import { startTimeOf, isSameProcess } from './chunk-JBJTC3UU.js';
20
- import { writeJobFile, ensureRunnerIdentity, readJobFile, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, BUILD_LABEL, RUNNER_LABEL, readJobFileChecked } from './chunk-KZLLLARE.js';
21
- import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-DXHISLCI.js';
22
- import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-GMPXOQTH.js';
20
+ import { writeJobFile, ensureRunnerIdentity, readJobFile, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, BUILD_LABEL, RUNNER_LABEL, readJobFileChecked } from './chunk-ZLEXMZFW.js';
21
+ import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-J7BXZLSO.js';
22
+ import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-UKCNOAO6.js';
23
23
  import { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-JWRX5ZTT.js';
24
24
  import { exceedsDisk } from './chunk-7RQ73DLO.js';
25
25
  import { resolveVersion } from './chunk-RA3O54FC.js';
@@ -1749,7 +1749,7 @@ var CLAIM_REFUSAL_CODES = new Set(
1749
1749
  "pull_request_from_fork pull_request_on_default_branch pull_request_ambiguous pull_request_repository_not_connected repository_not_reachable branch_claimed_elsewhere".split(" ")
1750
1750
  );
1751
1751
  async function tryClaimAndStart(state, item, queue) {
1752
- const { postJson: postJson2 } = await import('./work-cmd-SJB6N6FZ.js');
1752
+ const { postJson: postJson2 } = await import('./work-cmd-UQ45HDM4.js');
1753
1753
  const log = logOf(state);
1754
1754
  const hostKey = await loadHostKey(state.config.configPath);
1755
1755
  const claim = await retrySend(
@@ -2735,7 +2735,7 @@ async function start(configPath, deps = { fetchImpl: fetch }) {
2735
2735
  const outcome = await onStartUnderMarker({
2736
2736
  configPath,
2737
2737
  own: ownVersionOf(deps),
2738
- check: update.check ? () => update.check(configPath) : async () => (await import('./check-KL3LDAI3.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl }),
2738
+ check: update.check ? () => update.check(configPath) : async () => (await import('./check-WJJ325EQ.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl }),
2739
2739
  now: () => (deps.now ?? (() => /* @__PURE__ */ new Date()))().getTime(),
2740
2740
  log
2741
2741
  });
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RecipeError, BUILDKIT_IMAGE } from './chunk-FI66JNLT.js';
3
+ import { RecipeError, BUILDKIT_IMAGE } from './chunk-TSW4DGV2.js';
4
4
  import { parseSize } from './chunk-7RQ73DLO.js';
5
5
  import { compareVersions } from './chunk-QE3UQAHK.js';
6
6
  import { ensureHostKey } from './chunk-F6DIHHBS.js';
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { isPlaceholderCommand } from './chunk-PCY7IGSL.js';
4
- import { describeCallFailure } from './chunk-DXHISLCI.js';
5
- import { WorkCommandError, getJson } from './chunk-GMPXOQTH.js';
3
+ import { isPlaceholderCommand } from './chunk-W7LGHNXT.js';
4
+ import { describeCallFailure } from './chunk-J7BXZLSO.js';
5
+ import { WorkCommandError, getJson } from './chunk-UKCNOAO6.js';
6
6
  import { sanitizeTerminal } from './chunk-BUP5N3X6.js';
7
7
  import { builtinKind } from './chunk-JWRX5ZTT.js';
8
8
  import { signerFor } from './chunk-F6DIHHBS.js';