@outerlayer/cli 0.12.0 → 0.14.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.
Files changed (98) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +9 -4
  3. package/dist/agent-setup-CN2HUBEJ.js +26 -0
  4. package/dist/{build-LELVCWHV.js → build-BG2YENGK.js} +2 -2
  5. package/dist/build-info.json +1 -1
  6. package/dist/{builder-OF67QKDS.js → builder-2D3WSOOY.js} +4 -4
  7. package/dist/{check-RJOJU2WA.js → check-SRGR36KI.js} +37 -37
  8. package/dist/{chunk-XR3BJN33.js → chunk-22RMZBGW.js} +20 -1
  9. package/dist/{chunk-AHZQBGD2.js → chunk-2M63GG56.js} +1 -1
  10. package/dist/{chunk-SZOVKFWB.js → chunk-3NLOVYJQ.js} +4 -4
  11. package/dist/{chunk-USO2DKBD.js → chunk-4KSQKQXE.js} +8 -2
  12. package/dist/{chunk-QEESCZ26.js → chunk-4NPZVMJU.js} +2 -2
  13. package/dist/{chunk-DVT73QJO.js → chunk-4OGPT6I2.js} +14 -14
  14. package/dist/{chunk-ZQUCTFXC.js → chunk-FOJGZYFC.js} +11 -5
  15. package/dist/{chunk-G5XY6CVG.js → chunk-HFKKFTXU.js} +12 -16
  16. package/dist/{chunk-ANW7VHMH.js → chunk-HFKQIZXL.js} +95 -16
  17. package/dist/{chunk-325272HM.js → chunk-J5M7BSJQ.js} +11 -4
  18. package/dist/{chunk-NPXQXYVA.js → chunk-JJEGKEFV.js} +6 -8
  19. package/dist/{chunk-3ZPYPFNM.js → chunk-JXYVA45C.js} +1 -1
  20. package/dist/{chunk-IBB4D4KE.js → chunk-JYIEHQIF.js} +1 -1
  21. package/dist/{chunk-5TGQHOUX.js → chunk-KFRM23WD.js} +3 -3
  22. package/dist/{chunk-GGMRZPEA.js → chunk-KMDLFI4P.js} +1 -1
  23. package/dist/{chunk-G5IEVZGI.js → chunk-LCEXHCHD.js} +1 -1
  24. package/dist/{chunk-27Y7AX2O.js → chunk-MSASO5O4.js} +44 -8
  25. package/dist/chunk-MTF3PHVZ.js +161 -0
  26. package/dist/{chunk-G4RXNF2L.js → chunk-NHDVD7DU.js} +12 -12
  27. package/dist/{chunk-GATMPAMK.js → chunk-NPQWKGUA.js} +2 -2
  28. package/dist/{chunk-YEQL54G5.js → chunk-PQUM37BK.js} +1 -1
  29. package/dist/{chunk-GEBQXUFY.js → chunk-Q2UK3C4P.js} +24 -10
  30. package/dist/{chunk-SKHN72JO.js → chunk-RBKIH5ST.js} +13 -13
  31. package/dist/{chunk-2KLBKHT4.js → chunk-RLYZLUQ7.js} +1 -1
  32. package/dist/chunk-RMWLBUCJ.js +50 -0
  33. package/dist/{chunk-PDRYXERC.js → chunk-SMHOCDCI.js} +5 -5
  34. package/dist/{chunk-6FH2AHJY.js → chunk-SWHQ4LUM.js} +30 -17
  35. package/dist/{agent-setup-52LRZ6AY.js → chunk-SXWS25JC.js} +8 -21
  36. package/dist/{chunk-VK25O2ZM.js → chunk-T5VPP6H7.js} +1 -1
  37. package/dist/{chunk-JOXYKGUV.js → chunk-WUYTWNMA.js} +4 -2
  38. package/dist/{chunk-A56PYPDF.js → chunk-XCK2YAY5.js} +14 -4
  39. package/dist/{chunk-C7N4TDHW.js → chunk-YDSMROTB.js} +5 -5
  40. package/dist/{chunk-FO7KKPYG.js → chunk-ZA5CHAFY.js} +2 -2
  41. package/dist/{cli-JSSRGA6V.js → cli-UW2H3UUW.js} +138 -85
  42. package/dist/{command-3WYZ2ML5.js → command-5LD7G2QQ.js} +27 -27
  43. package/dist/{config-MKBX2ZQD.js → config-N3C6DFQA.js} +1 -1
  44. package/dist/{connect-cmd-A5NGODCJ.js → connect-cmd-JUAW6MU4.js} +5 -5
  45. package/dist/{context-adopt-BAHGXJZV.js → context-adopt-PJUMW2EZ.js} +6 -6
  46. package/dist/{context-materialize-45OVRRK2.js → context-materialize-FDHYKNDT.js} +6 -6
  47. package/dist/{dist-EQDW7MZW.js → dist-LKDWQWZ7.js} +2 -2
  48. package/dist/{docker-VGWEJWI7.js → docker-4J77Q2BF.js} +5 -5
  49. package/dist/{doctor-4FFXTQJ2.js → doctor-H7REBSLQ.js} +29 -29
  50. package/dist/{emit-artifact-cmd-QS7XNKBT.js → emit-artifact-cmd-FOGNJXVR.js} +18 -21
  51. package/dist/emit-cmd-ZEYWLC2C.js +11 -0
  52. package/dist/{emit-criteria-cmd-XN6AKA53.js → emit-criteria-cmd-HBP6XS5C.js} +8 -11
  53. package/dist/{emit-finding-cmd-SQJSEHYS.js → emit-finding-cmd-DLI4MKMN.js} +8 -11
  54. package/dist/{emit-result-cmd-56RHPHOA.js → emit-result-cmd-MUSL7GQA.js} +12 -15
  55. package/dist/{hook-fast-HLESEJAL.js → hook-fast-WYQD6D7T.js} +1 -1
  56. package/dist/{import-capture-cmd-NHMAFDM6.js → import-capture-cmd-6QVCOIHK.js} +10 -13
  57. package/dist/{import-ruler-cmd-UYB32YUT.js → import-ruler-cmd-KLRGRBCP.js} +7 -10
  58. package/dist/index.js +3 -3
  59. package/dist/{init-UZKD4RY7.js → init-NTXA3SN7.js} +28 -28
  60. package/dist/{init-6AY5T3P6.js → init-UBXK6MF7.js} +47 -37
  61. package/dist/{init-cmd-XGSX2BCC.js → init-cmd-NARDUPIG.js} +20 -13
  62. package/dist/init-update-O5YYFGF4.js +165 -0
  63. package/dist/{install-VXXI7UR6.js → install-HDBIPHTX.js} +2 -2
  64. package/dist/{login-browser-7XGSV7MA.js → login-browser-QZCS3WW6.js} +2 -1
  65. package/dist/{loop-4NMI2USY.js → loop-SW2M5VDD.js} +37 -37
  66. package/dist/{machine-4JX2D4TS.js → machine-U66FKVDP.js} +23 -23
  67. package/dist/mcp-install-cmd-FDTPQQS6.js +9 -0
  68. package/dist/{runner-env-WAXTJXZK.js → runner-env-XTC53CHN.js} +3 -3
  69. package/dist/runner-key-3JSMDRJA.js +154 -0
  70. package/dist/{session-sender-T7PN4YRC.js → session-sender-4M247XSV.js} +7 -7
  71. package/dist/starter-pack-IB4UUIX3.js +11 -0
  72. package/dist/{status-OXBIRWJ7.js → status-STZYPU3W.js} +30 -30
  73. package/dist/{sync-cmd-EVXNR47N.js → sync-cmd-UWD5JOFU.js} +6 -6
  74. package/dist/{watch-7NSFOAL5.js → watch-DBNB7R6X.js} +6 -6
  75. package/dist/{work-claim-cmd-KR7UR2AB.js → work-claim-cmd-LY4U6QHN.js} +13 -13
  76. package/dist/{work-cmd-JPM37MLF.js → work-cmd-RVRQ32EH.js} +7 -7
  77. package/dist/{work-comment-cmd-3DC6BC34.js → work-comment-cmd-FFUM4TJU.js} +10 -13
  78. package/dist/{work-open-pr-cmd-XZQRJBNZ.js → work-open-pr-cmd-HLDWP4T2.js} +10 -13
  79. package/dist/{work-pr-cmd-WHGZOP22.js → work-pr-cmd-L77K32WK.js} +7 -7
  80. package/package.json +1 -1
  81. package/skill-pack/maintained/emitting-evidence/SKILL.md +8 -2
  82. package/skill-pack/shipped.json +70 -0
  83. package/skill-pack/template/build/SKILL.md +66 -35
  84. package/skill-pack/template/build/references/agent-briefs.md +4 -2
  85. package/skill-pack/template/build/references/release.md +36 -8
  86. package/skill-pack/template/build/references/review-loop.md +6 -2
  87. package/skill-pack/template/build/scripts/record-criteria.mjs +109 -143
  88. package/skill-pack/template/spec/SKILL.md +33 -22
  89. package/skill-pack/template/writing-specs/SKILL.md +36 -3
  90. package/skill-pack/template/writing-specs/references/agents-snippet.md +57 -0
  91. package/skill-pack/template/writing-tests/SKILL.md +117 -0
  92. package/skill-pack/validators/acceptance-criteria.yaml +35 -0
  93. package/skill-pack/validators/code-review.yaml +4 -2
  94. package/dist/chunk-T6OIJQRT.js +0 -31
  95. package/dist/emit-cmd-LXEIDKLT.js +0 -10
  96. package/dist/mcp-install-cmd-XZARXNYT.js +0 -9
  97. package/dist/starter-pack-Z22VRFPF.js +0 -11
  98. package/dist/{chunk-3FMPZPJQ.js → chunk-R7PF5OOU.js} +1 -1
@@ -1,48 +1,48 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { readJobFile } from './chunk-T6OIJQRT.js';
3
+ import { readJobFile } from './chunk-RMWLBUCJ.js';
4
4
  import { runRunnerInstall, launcherSummary, restartNote } from './chunk-ERI5GBNI.js';
5
5
  import './chunk-I2UOAV7X.js';
6
6
  import './chunk-PTW6W5NR.js';
7
7
  import { currentLink, execStartCommand } from './chunk-TI7B7UEO.js';
8
- import { detectMachine } from './chunk-IBB4D4KE.js';
9
- import './chunk-SKHN72JO.js';
10
- import { installService, uninstallService, realTaskScheduler } from './chunk-2KLBKHT4.js';
8
+ import { detectMachine } from './chunk-JYIEHQIF.js';
9
+ import './chunk-RBKIH5ST.js';
10
+ import './chunk-KMDLFI4P.js';
11
+ import './chunk-QKFB4K7X.js';
12
+ import './chunk-RSNSZ2LJ.js';
13
+ import { installService, uninstallService, realTaskScheduler } from './chunk-RLYZLUQ7.js';
14
+ import './chunk-SWHQ4LUM.js';
15
+ import './chunk-NPQWKGUA.js';
16
+ import './chunk-IP7BIBXJ.js';
17
+ import { runnerVmOf, loadRunnerConfig } from './chunk-22RMZBGW.js';
18
+ import './chunk-UXYLWVTQ.js';
11
19
  import { realLima } from './chunk-77MM5RYD.js';
12
20
  import { writeLaunchAgent, launchAgentPath } from './chunk-LF6MLJCY.js';
13
- import './chunk-3FMPZPJQ.js';
21
+ import './chunk-R7PF5OOU.js';
22
+ import './chunk-QOZKPLVJ.js';
14
23
  import './chunk-N5FOE5PS.js';
15
24
  import './chunk-OGFGZQA3.js';
16
- import './chunk-GGMRZPEA.js';
17
- import './chunk-QOZKPLVJ.js';
18
- import './chunk-QEESCZ26.js';
25
+ import './chunk-4NPZVMJU.js';
26
+ import './chunk-7RQ73DLO.js';
27
+ import './chunk-4Q7OMKAT.js';
19
28
  import './chunk-CX22S5BA.js';
20
- import './chunk-QKFB4K7X.js';
21
- import './chunk-RSNSZ2LJ.js';
22
- import './chunk-6FH2AHJY.js';
23
- import './chunk-GATMPAMK.js';
24
- import './chunk-IP7BIBXJ.js';
25
- import './chunk-C7N4TDHW.js';
26
- import './chunk-JOXYKGUV.js';
27
- import './chunk-3ZPYPFNM.js';
28
- import './chunk-USO2DKBD.js';
29
+ import './chunk-YDSMROTB.js';
30
+ import './chunk-WUYTWNMA.js';
31
+ import './chunk-JXYVA45C.js';
32
+ import './chunk-4KSQKQXE.js';
29
33
  import './chunk-N6LURUEF.js';
30
34
  import './chunk-YRYMNBGQ.js';
31
- import { runnerVmOf, loadRunnerConfig } from './chunk-XR3BJN33.js';
32
- import './chunk-UXYLWVTQ.js';
33
- import './chunk-7RQ73DLO.js';
34
- import './chunk-4Q7OMKAT.js';
35
35
  import './chunk-WZBHBH3J.js';
36
- import './chunk-SZOVKFWB.js';
36
+ import './chunk-3NLOVYJQ.js';
37
+ import './chunk-LCEXHCHD.js';
37
38
  import './chunk-ZJSNLVCE.js';
38
- import './chunk-FO7KKPYG.js';
39
- import './chunk-G5IEVZGI.js';
40
- import './chunk-AHZQBGD2.js';
41
39
  import './chunk-YO4PSLVB.js';
40
+ import './chunk-BYT5O5RV.js';
41
+ import './chunk-ZA5CHAFY.js';
42
+ import './chunk-2M63GG56.js';
42
43
  import './chunk-PLMTLGYH.js';
43
- import './chunk-325272HM.js';
44
+ import './chunk-J5M7BSJQ.js';
44
45
  import './chunk-EABW6AJQ.js';
45
- import './chunk-BYT5O5RV.js';
46
46
  import './chunk-RA3O54FC.js';
47
47
  import './chunk-V7NIVOFD.js';
48
48
  import './chunk-ZM2IMMYN.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { DEFAULT_CHECK_TIME_LIMIT_MINUTES, DEFAULT_UPDATE_MAX_WAIT_HOURS, RunnerConfigError, builtinKind, checkHooks, defaultRunnerConfigPath, hasRunnerBlock, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, loadRunnerConfig, resolveBuild, resolveHousekeeping, runnerVmOf } from './chunk-XR3BJN33.js';
3
+ export { DEFAULT_CHECK_TIME_LIMIT_MINUTES, DEFAULT_UPDATE_MAX_WAIT_HOURS, RunnerConfigError, builtinKind, checkHooks, defaultRunnerConfigPath, hasRunnerBlock, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, loadRunnerConfig, resolveBuild, resolveHousekeeping, runnerCredentialProblem, runnerVmOf } from './chunk-22RMZBGW.js';
4
4
  import './chunk-UXYLWVTQ.js';
5
5
  import './chunk-7RQ73DLO.js';
6
6
  import './chunk-4Q7OMKAT.js';
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { COMMIT_LINE, autoConnectedLine, fetchFactories, promptOnTerminal, realConnectDeps, runConnect, runConnectCommand, saveFactoryConnection, selectFactory } from './chunk-C7N4TDHW.js';
4
- import './chunk-JOXYKGUV.js';
5
- import './chunk-3ZPYPFNM.js';
6
- import './chunk-USO2DKBD.js';
3
+ export { COMMIT_LINE, autoConnectedLine, fetchFactories, promptOnTerminal, realConnectDeps, runConnect, runConnectCommand, saveFactoryConnection, selectFactory } from './chunk-YDSMROTB.js';
4
+ import './chunk-WUYTWNMA.js';
5
+ import './chunk-JXYVA45C.js';
6
+ import './chunk-4KSQKQXE.js';
7
7
  import './chunk-N6LURUEF.js';
8
8
  import './chunk-YRYMNBGQ.js';
9
9
  import './chunk-PLMTLGYH.js';
10
- import './chunk-325272HM.js';
10
+ import './chunk-J5M7BSJQ.js';
11
11
  import './chunk-EABW6AJQ.js';
12
12
  import './chunk-BJ3KTMDH.js';
13
13
  import './chunk-VNVZDWO3.js';
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { defaultGitRunner, hasSymlinkComponent } from './chunk-SZOVKFWB.js';
3
+ import { defaultGitRunner, hasSymlinkComponent } from './chunk-3NLOVYJQ.js';
4
+ import { writeContextManifest, writePinIfChanged, touchLastCheck, clearDegraded, writeSourceCache, SOURCE_CACHE_TTL_SUCCESS_MS, writeBuildHold } from './chunk-LCEXHCHD.js';
4
5
  import './chunk-ZJSNLVCE.js';
5
- import './chunk-FO7KKPYG.js';
6
- import { writeContextManifest, writePinIfChanged, touchLastCheck, clearDegraded, writeSourceCache, SOURCE_CACHE_TTL_SUCCESS_MS, writeBuildHold } from './chunk-G5IEVZGI.js';
7
- import './chunk-AHZQBGD2.js';
8
6
  import './chunk-YO4PSLVB.js';
7
+ import './chunk-BYT5O5RV.js';
8
+ import './chunk-ZA5CHAFY.js';
9
+ import './chunk-2M63GG56.js';
9
10
  import './chunk-PLMTLGYH.js';
10
- import './chunk-325272HM.js';
11
+ import './chunk-J5M7BSJQ.js';
11
12
  import './chunk-EABW6AJQ.js';
12
- import './chunk-BYT5O5RV.js';
13
13
  import './chunk-RA3O54FC.js';
14
14
  import './chunk-V7NIVOFD.js';
15
15
  import './chunk-ZM2IMMYN.js';
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { defaultGitRunner, hasSymlinkComponent, materializeContext, parseOwnerRepo, parseRemoteHost, resolveGitCommonDir } from './chunk-SZOVKFWB.js';
3
+ export { defaultGitRunner, hasSymlinkComponent, materializeContext, parseOwnerRepo, parseRemoteHost, resolveGitCommonDir } from './chunk-3NLOVYJQ.js';
4
+ import './chunk-LCEXHCHD.js';
4
5
  import './chunk-ZJSNLVCE.js';
5
- import './chunk-FO7KKPYG.js';
6
- import './chunk-G5IEVZGI.js';
7
- import './chunk-AHZQBGD2.js';
8
6
  import './chunk-YO4PSLVB.js';
7
+ import './chunk-BYT5O5RV.js';
8
+ import './chunk-ZA5CHAFY.js';
9
+ import './chunk-2M63GG56.js';
9
10
  import './chunk-PLMTLGYH.js';
10
- import './chunk-325272HM.js';
11
+ import './chunk-J5M7BSJQ.js';
11
12
  import './chunk-EABW6AJQ.js';
12
- import './chunk-BYT5O5RV.js';
13
13
  import './chunk-RA3O54FC.js';
14
14
  import './chunk-V7NIVOFD.js';
15
15
  import './chunk-ZM2IMMYN.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { CaptureDaemon, PRICE_TABLE_SOURCE, SECRET_PATTERNS, SOURCE_ADAPTERS, SUPPORTED_VERSIONS, StatuslineAggregator, WARNING_CODES, claudeCodeAdapter, codexAdapter, codexSessionIdFromPath, compareVersions, completePrefix, computeStatuslineState, costOfUsage, cursorAdapter, cursorChatIdFromPath, defaultCodexSessionsDir, defaultCursorChatsDir, defaultCursorProjectsDir, defaultProjectsDir, defaultRawDir, enrichSessionRepo, findCodexRollouts, findCursorChats, findTranscripts, isNewerThanSupported, isPriceKnown, normalizeErrorSignature, normalizeRemote, parseCodexRollout, parseCursorChat, parseTranscript, readStatuslineState, readSyncWatermarkMs, remoteLookupFailed, resolvePrice, resolveRepoIdentity, rootChildIds, scanAll, scrubDeep, scrubText, sessionIdFromPath, setCustomScrubbers, setLocalIdentity, setRepoRoot, statuslineStatePath, tailTranscript, workspacesByHash, writeStatuslineState } from './chunk-3ZPYPFNM.js';
4
- import './chunk-325272HM.js';
3
+ export { CaptureDaemon, PRICE_TABLE_SOURCE, SECRET_PATTERNS, SOURCE_ADAPTERS, SUPPORTED_VERSIONS, StatuslineAggregator, WARNING_CODES, claudeCodeAdapter, codexAdapter, codexSessionIdFromPath, compareVersions, completePrefix, computeStatuslineState, costOfUsage, cursorAdapter, cursorChatIdFromPath, defaultCodexSessionsDir, defaultCursorChatsDir, defaultCursorProjectsDir, defaultProjectsDir, defaultRawDir, enrichSessionRepo, findCodexRollouts, findCursorChats, findTranscripts, isNewerThanSupported, isPriceKnown, normalizeErrorSignature, normalizeRemote, parseCodexRollout, parseCursorChat, parseTranscript, readStatuslineState, readSyncWatermarkMs, remoteLookupFailed, resolvePrice, resolveRepoIdentity, rootChildIds, scanAll, scrubDeep, scrubText, sessionIdFromPath, setCustomScrubbers, setLocalIdentity, setRepoRoot, statuslineStatePath, tailTranscript, workspacesByHash, writeStatuslineState } from './chunk-JXYVA45C.js';
4
+ import './chunk-J5M7BSJQ.js';
5
5
  import './chunk-Z5GEFMRW.js';
6
6
 
7
7
  createRequire(import.meta.url);
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { childEnvironment, createDockerHost, spawnRun } from './chunk-GGMRZPEA.js';
3
+ export { childEnvironment, createDockerHost, spawnRun } from './chunk-KMDLFI4P.js';
4
4
  import './chunk-QOZKPLVJ.js';
5
- import './chunk-QEESCZ26.js';
6
- import './chunk-CX22S5BA.js';
7
- import './chunk-3ZPYPFNM.js';
5
+ import './chunk-4NPZVMJU.js';
8
6
  import './chunk-7RQ73DLO.js';
9
7
  import './chunk-4Q7OMKAT.js';
10
- import './chunk-325272HM.js';
8
+ import './chunk-CX22S5BA.js';
9
+ import './chunk-JXYVA45C.js';
11
10
  import './chunk-BYT5O5RV.js';
11
+ import './chunk-J5M7BSJQ.js';
12
12
  import './chunk-ZM2IMMYN.js';
13
13
  import './chunk-Z5GEFMRW.js';
14
14
 
@@ -1,49 +1,49 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { needsClaudeCredential, claudeCredentialCheck, missingPermissionOf, missingPermissionFix } from './chunk-PDRYXERC.js';
3
+ import { needsClaudeCredential, claudeCredentialCheck, missingPermissionOf, missingPermissionFix } from './chunk-SMHOCDCI.js';
4
4
  import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
5
5
  import { launcherCheck } from './chunk-PTW6W5NR.js';
6
6
  import './chunk-TI7B7UEO.js';
7
7
  import { RepoFilter } from './chunk-TBT347UY.js';
8
- import './chunk-GEBQXUFY.js';
9
- import { detectMachine, supportsContainerBuilds, describeMachineDocker, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned } from './chunk-IBB4D4KE.js';
10
- import { MIN_ENGINE_MAJOR } from './chunk-SKHN72JO.js';
11
- import './chunk-VK25O2ZM.js';
12
- import './chunk-2KLBKHT4.js';
13
- import './chunk-6MZSX4M7.js';
14
- import './chunk-3FMPZPJQ.js';
15
- import './chunk-N5FOE5PS.js';
16
- import './chunk-OGFGZQA3.js';
17
- import { resolveDevcontainerCli, spawnRun } from './chunk-GGMRZPEA.js';
18
- import { locateRecipe, assertBuildable, readRecipe, RecipeError } from './chunk-QOZKPLVJ.js';
19
- import { buildxState } from './chunk-QEESCZ26.js';
20
- import { CLAUDE_CODE_VERSION } from './chunk-CX22S5BA.js';
8
+ import './chunk-Q2UK3C4P.js';
9
+ import { detectMachine, supportsContainerBuilds, describeMachineDocker, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned } from './chunk-JYIEHQIF.js';
10
+ import { MIN_ENGINE_MAJOR } from './chunk-RBKIH5ST.js';
11
+ import { resolveDevcontainerCli, spawnRun } from './chunk-KMDLFI4P.js';
21
12
  import './chunk-QKFB4K7X.js';
22
13
  import './chunk-RSNSZ2LJ.js';
23
- import { getJson, WorkCommandError, signatureRefusalMessage } from './chunk-6FH2AHJY.js';
24
- import './chunk-GATMPAMK.js';
14
+ import './chunk-T5VPP6H7.js';
15
+ import './chunk-RLYZLUQ7.js';
16
+ import './chunk-6MZSX4M7.js';
17
+ import { getJson, WorkCommandError, signatureRefusalMessage } from './chunk-SWHQ4LUM.js';
18
+ import './chunk-NPQWKGUA.js';
25
19
  import './chunk-IP7BIBXJ.js';
26
- import './chunk-C7N4TDHW.js';
27
- import './chunk-JOXYKGUV.js';
28
- import { compareVersions } from './chunk-3ZPYPFNM.js';
29
- import './chunk-USO2DKBD.js';
30
- import './chunk-N6LURUEF.js';
31
- import './chunk-YRYMNBGQ.js';
32
- import { builtinKind } from './chunk-XR3BJN33.js';
20
+ import { builtinKind } from './chunk-22RMZBGW.js';
33
21
  import { allowHostProblem, MAX_ALLOW_HOSTS } from './chunk-UXYLWVTQ.js';
22
+ import './chunk-R7PF5OOU.js';
23
+ import { locateRecipe, assertBuildable, readRecipe, RecipeError } from './chunk-QOZKPLVJ.js';
24
+ import './chunk-N5FOE5PS.js';
25
+ import './chunk-OGFGZQA3.js';
26
+ import { buildxState } from './chunk-4NPZVMJU.js';
34
27
  import { parseSize } from './chunk-7RQ73DLO.js';
35
28
  import './chunk-4Q7OMKAT.js';
29
+ import { CLAUDE_CODE_VERSION } from './chunk-CX22S5BA.js';
30
+ import './chunk-YDSMROTB.js';
31
+ import './chunk-WUYTWNMA.js';
32
+ import { compareVersions } from './chunk-JXYVA45C.js';
33
+ import './chunk-4KSQKQXE.js';
34
+ import './chunk-N6LURUEF.js';
35
+ import './chunk-YRYMNBGQ.js';
36
36
  import './chunk-WZBHBH3J.js';
37
- import { defaultGitRunner } from './chunk-SZOVKFWB.js';
37
+ import { defaultGitRunner } from './chunk-3NLOVYJQ.js';
38
+ import './chunk-LCEXHCHD.js';
38
39
  import './chunk-ZJSNLVCE.js';
39
- import './chunk-FO7KKPYG.js';
40
- import './chunk-G5IEVZGI.js';
41
- import './chunk-AHZQBGD2.js';
42
40
  import { defaultFetch } from './chunk-YO4PSLVB.js';
41
+ import './chunk-BYT5O5RV.js';
42
+ import './chunk-ZA5CHAFY.js';
43
+ import './chunk-2M63GG56.js';
43
44
  import './chunk-PLMTLGYH.js';
44
- import './chunk-325272HM.js';
45
+ import './chunk-J5M7BSJQ.js';
45
46
  import './chunk-EABW6AJQ.js';
46
- import './chunk-BYT5O5RV.js';
47
47
  import './chunk-RA3O54FC.js';
48
48
  import { loadHostKey } from './chunk-V7NIVOFD.js';
49
49
  import { runnerDir, hostKeyPath, jobsDir } from './chunk-ZM2IMMYN.js';
@@ -1,29 +1,29 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-27Y7AX2O.js';
3
+ import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-MSASO5O4.js';
4
4
  import { launchRefusalForSession } from './chunk-HHJDN6AU.js';
5
5
  import './chunk-TBT347UY.js';
6
+ import { autoConnect } from './chunk-NPQWKGUA.js';
7
+ import { detectActiveSession } from './chunk-IP7BIBXJ.js';
6
8
  import './chunk-F7CU5ABH.js';
7
9
  import './chunk-BKO6JEZI.js';
8
- import { autoConnect } from './chunk-GATMPAMK.js';
9
- import { detectActiveSession } from './chunk-IP7BIBXJ.js';
10
- import './chunk-C7N4TDHW.js';
11
- import { readEffectiveArtifactSpoolState, localArtifactIds, isArtifactTombstoned, artifactBlobsDir, appendArtifactRecord, artifactsSpoolPath, findPendingArtifactRecord, appendArtifactTombstone } from './chunk-JOXYKGUV.js';
12
- import { resolveRepoIdentity } from './chunk-3ZPYPFNM.js';
13
- import './chunk-USO2DKBD.js';
10
+ import './chunk-YDSMROTB.js';
11
+ import { readEffectiveArtifactSpoolState, localArtifactIds, isArtifactTombstoned, artifactBlobsDir, appendArtifactRecord, artifactsSpoolPath, findPendingArtifactRecord, sanitizeTerminal, appendArtifactTombstone } from './chunk-WUYTWNMA.js';
12
+ import { resolveRepoIdentity } from './chunk-JXYVA45C.js';
13
+ import './chunk-4KSQKQXE.js';
14
14
  import './chunk-N6LURUEF.js';
15
- import './chunk-YRYMNBGQ.js';
15
+ import { C } from './chunk-YRYMNBGQ.js';
16
16
  import './chunk-GQD22KKN.js';
17
17
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
18
18
  import './chunk-5QRP3MVS.js';
19
19
  import './chunk-ZJSNLVCE.js';
20
20
  import { defaultFetch } from './chunk-YO4PSLVB.js';
21
21
  import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-PLMTLGYH.js';
22
- import { ARTIFACT_MAX_CAPTION_LENGTH, ArtifactCriterionIdSchema, ARTIFACT_MAX_FILENAME_LENGTH, mediaTypeForArtifactPath, inferArtifactKind, ARTIFACT_MAX_REPLACES_TARGETS, parseTestSelector, parseJunit, bindTests } from './chunk-325272HM.js';
22
+ import { ARTIFACT_MAX_CAPTION_LENGTH, ArtifactCriterionIdSchema, ARTIFACT_MAX_FILENAME_LENGTH, mediaTypeForArtifactPath, inferArtifactKind, ARTIFACT_MAX_REPLACES_TARGETS, parseTestSelector, parseJunit, bindTests } from './chunk-J5M7BSJQ.js';
23
23
  import './chunk-EABW6AJQ.js';
24
24
  import './chunk-V7NIVOFD.js';
25
25
  import './chunk-ZM2IMMYN.js';
26
- import './chunk-YEQL54G5.js';
26
+ import './chunk-PQUM37BK.js';
27
27
  import './chunk-XCCLFVXM.js';
28
28
  import './chunk-BJ3KTMDH.js';
29
29
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
@@ -34,10 +34,6 @@ import { resolve, basename, join } from 'path';
34
34
 
35
35
  createRequire(import.meta.url);
36
36
  var ARTIFACT_MAX_BYTES = 8 * 1024 * 1024;
37
- var GREEN = "\x1B[32m";
38
- var YELLOW = "\x1B[33m";
39
- var DIM = "\x1B[2m";
40
- var RESET = "\x1B[0m";
41
37
  var EmitArtifactError = class extends Error {
42
38
  };
43
39
  var ARTIFACT_ID_PATTERN = /^[A-Za-z0-9_.:-]{1,64}$/;
@@ -70,8 +66,8 @@ function parseReplacesTargets(raw) {
70
66
  }
71
67
  function replacesSuffix(targets) {
72
68
  if (targets === void 0 || targets.length === 0) return "";
73
- if (targets.length === 1) return ` ${DIM}\xB7${RESET} replaces ${targets[0]}`;
74
- return ` ${DIM}\xB7${RESET} replaces ${targets.length}: ${targets.join(", ")}`;
69
+ if (targets.length === 1) return ` ${C.dim}\xB7${C.reset} replaces ${targets[0]}`;
70
+ return ` ${C.dim}\xB7${C.reset} replaces ${targets.length}: ${targets.join(", ")}`;
75
71
  }
76
72
  function prNumberFromCiEnv(env) {
77
73
  const refMatch = env.GITHUB_REF?.match(/^refs\/pull\/(\d+)\//);
@@ -143,7 +139,7 @@ async function runEmitArtifact(opts) {
143
139
  const refusal = staleBuildRefusal(env);
144
140
  if (refusal) throw new EmitArtifactError(refusal);
145
141
  const stale = staleBuildWarning();
146
- if (stale && !opts.quiet) process.stderr.write(`${YELLOW}!${RESET} ${stale}
142
+ if (stale && !opts.quiet) process.stderr.write(`${C.yellow}!${C.reset} ${stale}
147
143
  `);
148
144
  const cwd = opts.cwd ?? process.cwd();
149
145
  const home = opts.home ?? homeFromEnv(env);
@@ -180,7 +176,7 @@ async function runEmitArtifact(opts) {
180
176
  if (!opts.quiet) {
181
177
  const consequence = correctionCarriesReplaces ? "the correction still names it, so the server supersedes it once both upload" : "it is still queued locally and will upload on the next outerlayer sync \u2014 nothing on the wire links it to this correction";
182
178
  process.stderr.write(
183
- `${YELLOW}!${RESET} could not cancel replaced artifact ${targetId} locally: ${String(err)} \u2014 ${consequence}
179
+ `${C.yellow}!${C.reset} could not cancel replaced artifact ${targetId} locally: ${String(err)} \u2014 ${consequence}
184
180
  `
185
181
  );
186
182
  }
@@ -245,7 +241,7 @@ async function runEmitArtifact(opts) {
245
241
  criterionId,
246
242
  rawTests: opts.tests ?? [],
247
243
  warn: (message) => {
248
- if (!opts.quiet) process.stderr.write(`${YELLOW}!${RESET} ${message}
244
+ if (!opts.quiet) process.stderr.write(`${C.yellow}!${C.reset} ${message}
249
245
  `);
250
246
  }
251
247
  });
@@ -307,7 +303,7 @@ async function runEmitArtifact(opts) {
307
303
  cancelReplacedTargetLocally(target, true);
308
304
  }
309
305
  }
310
- const output2 = opts.json ? JSON.stringify({ spooled: true, record }) : `${GREEN}\u2713${RESET} artifact spooled ${DIM}\xB7${RESET} id ${record.artifactId} ${DIM}\xB7${RESET} ${kind} ${filename} ${DIM}\xB7${RESET} session ${sessionId.slice(0, 8)}${replacesSuffix(replacesTargets)} ${DIM}\xB7${RESET} uploads on the next ${YELLOW}outerlayer sync${RESET}`;
306
+ const output2 = opts.json ? JSON.stringify({ spooled: true, record }) : `${C.green}\u2713${C.reset} artifact spooled ${C.dim}\xB7${C.reset} id ${record.artifactId} ${C.dim}\xB7${C.reset} ${kind} ${filename} ${C.dim}\xB7${C.reset} session ${sessionId.slice(0, 8)}${replacesSuffix(replacesTargets)} ${C.dim}\xB7${C.reset} uploads on the next ${C.yellow}outerlayer sync${C.reset}, which prints its link`;
311
307
  if (!opts.quiet) process.stdout.write(output2 + "\n");
312
308
  return { spooled: true, record, output: output2 };
313
309
  }
@@ -403,7 +399,8 @@ async function runEmitArtifact(opts) {
403
399
  // system rejects (min 2) — `--json` must not hand a consumer a
404
400
  // value that 400s if fed back onto any of those surfaces.
405
401
  ...directTargets !== void 0 && directTargets.length > 1 ? { replacesTargets: directTargets } : {}
406
- }) : `${GREEN}\u2713${RESET} artifact accepted ${DIM}\xB7${RESET} id ${clientArtifactId} ${DIM}\xB7${RESET} ${kind} ${filename} ${DIM}\xB7${RESET} provenance ${provenance}` + (prNumber !== void 0 ? ` ${DIM}\xB7${RESET} pr #${prNumber}` : "") + replacesSuffix(directTargets);
402
+ }) : `${C.green}\u2713${C.reset} artifact accepted ${C.dim}\xB7${C.reset} id ${clientArtifactId} ${C.dim}\xB7${C.reset} ${kind} ${filename} ${C.dim}\xB7${C.reset} provenance ${provenance}` + (prNumber !== void 0 ? ` ${C.dim}\xB7${C.reset} pr #${prNumber}` : "") + replacesSuffix(directTargets) + (typeof data.url === "string" ? `
403
+ ${sanitizeTerminal(data.url)}` : "");
407
404
  if (!opts.quiet) process.stdout.write(output + "\n");
408
405
  return { spooled: false, data: { ...data, clientArtifactId }, output };
409
406
  }
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ export { EmitError, runEmit } from './chunk-HFKKFTXU.js';
4
+ import './chunk-YRYMNBGQ.js';
5
+ import './chunk-ZA5CHAFY.js';
6
+ import './chunk-2M63GG56.js';
7
+ import './chunk-J5M7BSJQ.js';
8
+ import './chunk-RA3O54FC.js';
9
+ import './chunk-Z5GEFMRW.js';
10
+
11
+ createRequire(import.meta.url);
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-HHJDN6AU.js';
4
- import { autoConnect } from './chunk-GATMPAMK.js';
4
+ import { autoConnect } from './chunk-NPQWKGUA.js';
5
5
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
6
- import './chunk-C7N4TDHW.js';
7
- import './chunk-JOXYKGUV.js';
8
- import { resolveRepoIdentity } from './chunk-3ZPYPFNM.js';
9
- import './chunk-USO2DKBD.js';
6
+ import './chunk-YDSMROTB.js';
7
+ import './chunk-WUYTWNMA.js';
8
+ import { resolveRepoIdentity } from './chunk-JXYVA45C.js';
9
+ import './chunk-4KSQKQXE.js';
10
10
  import './chunk-N6LURUEF.js';
11
- import './chunk-YRYMNBGQ.js';
11
+ import { C } from './chunk-YRYMNBGQ.js';
12
12
  import { launchedItemForSession } from './chunk-GQD22KKN.js';
13
13
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
14
14
  import { defaultFetch } from './chunk-YO4PSLVB.js';
15
15
  import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-PLMTLGYH.js';
16
- import { CriteriaListSchema } from './chunk-325272HM.js';
16
+ import { CriteriaListSchema } from './chunk-J5M7BSJQ.js';
17
17
  import './chunk-EABW6AJQ.js';
18
18
  import './chunk-V7NIVOFD.js';
19
19
  import './chunk-ZM2IMMYN.js';
@@ -23,9 +23,6 @@ import './chunk-Z5GEFMRW.js';
23
23
  import { readFileSync } from 'fs';
24
24
 
25
25
  createRequire(import.meta.url);
26
- var GREEN = "\x1B[32m";
27
- var DIM = "\x1B[2m";
28
- var RESET = "\x1B[0m";
29
26
  var EmitCriteriaError = class extends Error {
30
27
  };
31
28
  var REPLACE_REFUSED_MESSAGE = "this item already has a recorded list, and a person must replace it. Run the command yourself, outside the session, with your own login. A repository's .outerlayer/policy.yaml can let sessions replace it with `criteria: { replace: anyone }`.";
@@ -167,7 +164,7 @@ async function runEmitCriteria(opts) {
167
164
  } catch {
168
165
  }
169
166
  const count = typeof data.count === "number" ? data.count : list.criteria.length;
170
- const output = opts.json ? JSON.stringify(data) : `${GREEN}\u2713${RESET} recorded ${count} ${count === 1 ? "criterion" : "criteria"} ${DIM}\xB7${RESET} item #${target.item.number}`;
167
+ const output = opts.json ? JSON.stringify(data) : `${C.green}\u2713${C.reset} recorded ${count} ${count === 1 ? "criterion" : "criteria"} ${C.dim}\xB7${C.reset} item #${target.item.number}`;
171
168
  if (!opts.quiet) process.stdout.write(output + "\n");
172
169
  return { data, output, exitCode: 0 };
173
170
  }
@@ -1,20 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-HHJDN6AU.js';
4
- import { autoConnect } from './chunk-GATMPAMK.js';
4
+ import { autoConnect } from './chunk-NPQWKGUA.js';
5
5
  import { detectActiveSession, transcriptPathForSession } from './chunk-IP7BIBXJ.js';
6
- import './chunk-C7N4TDHW.js';
7
- import './chunk-JOXYKGUV.js';
8
- import { resolveRepoIdentity, defaultProjectsDir, findTranscripts, sessionIdFromPath, scrubText } from './chunk-3ZPYPFNM.js';
9
- import './chunk-USO2DKBD.js';
6
+ import './chunk-YDSMROTB.js';
7
+ import './chunk-WUYTWNMA.js';
8
+ import { resolveRepoIdentity, defaultProjectsDir, findTranscripts, sessionIdFromPath, scrubText } from './chunk-JXYVA45C.js';
9
+ import './chunk-4KSQKQXE.js';
10
10
  import './chunk-N6LURUEF.js';
11
- import './chunk-YRYMNBGQ.js';
11
+ import { C } from './chunk-YRYMNBGQ.js';
12
12
  import { launchedItemForSession } from './chunk-GQD22KKN.js';
13
13
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
14
14
  import { readLatestProvenanceForSession } from './chunk-ZJSNLVCE.js';
15
15
  import { defaultFetch } from './chunk-YO4PSLVB.js';
16
16
  import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-PLMTLGYH.js';
17
- import { FindingBatchSchema, FindingsResponseSchema, SAME_PROBLEM_RULES } from './chunk-325272HM.js';
17
+ import { FindingBatchSchema, FindingsResponseSchema, SAME_PROBLEM_RULES } from './chunk-J5M7BSJQ.js';
18
18
  import './chunk-EABW6AJQ.js';
19
19
  import './chunk-V7NIVOFD.js';
20
20
  import './chunk-ZM2IMMYN.js';
@@ -165,9 +165,6 @@ function rerunBatch(file) {
165
165
  }
166
166
 
167
167
  // src/emit-finding-cmd.ts
168
- var GREEN = "\x1B[32m";
169
- var DIM = "\x1B[2m";
170
- var RESET = "\x1B[0m";
171
168
  var EmitFindingError = class extends Error {
172
169
  };
173
170
  var REMOVED_FINDING_FLAGS = ["subject", "kind", "severity", "verdict", "fixed", "source"];
@@ -361,7 +358,7 @@ async function upload(batch, target, opts) {
361
358
  if (opts.json) {
362
359
  output = JSON.stringify(data);
363
360
  } else {
364
- const summary = `${GREEN}\u2713${RESET} recorded ${count} ${count === 1 ? "finding" : "findings"} ${DIM}\xB7${RESET} item #${target.item.number}`;
361
+ const summary = `${C.green}\u2713${C.reset} recorded ${count} ${count === 1 ? "finding" : "findings"} ${C.dim}\xB7${C.reset} item #${target.item.number}`;
365
362
  output = [
366
363
  opts.eventsBlock ?? "",
367
364
  count > 0 || !needsChoice ? summary : "",
@@ -1,29 +1,29 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { detectCi } from './chunk-27Y7AX2O.js';
3
+ import { detectCi } from './chunk-MSASO5O4.js';
4
4
  import { launchRefusalForSession } from './chunk-HHJDN6AU.js';
5
5
  import './chunk-TBT347UY.js';
6
+ import { autoConnect } from './chunk-NPQWKGUA.js';
7
+ import { detectActiveSession } from './chunk-IP7BIBXJ.js';
6
8
  import './chunk-F7CU5ABH.js';
7
9
  import './chunk-BKO6JEZI.js';
8
- import { autoConnect } from './chunk-GATMPAMK.js';
9
- import { detectActiveSession } from './chunk-IP7BIBXJ.js';
10
- import './chunk-C7N4TDHW.js';
11
- import './chunk-JOXYKGUV.js';
12
- import { resolveRepoIdentity } from './chunk-3ZPYPFNM.js';
13
- import './chunk-USO2DKBD.js';
10
+ import './chunk-YDSMROTB.js';
11
+ import './chunk-WUYTWNMA.js';
12
+ import { resolveRepoIdentity } from './chunk-JXYVA45C.js';
13
+ import './chunk-4KSQKQXE.js';
14
14
  import './chunk-N6LURUEF.js';
15
- import './chunk-YRYMNBGQ.js';
15
+ import { C } from './chunk-YRYMNBGQ.js';
16
16
  import './chunk-GQD22KKN.js';
17
17
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
18
18
  import './chunk-5QRP3MVS.js';
19
19
  import './chunk-ZJSNLVCE.js';
20
20
  import { defaultFetch } from './chunk-YO4PSLVB.js';
21
21
  import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-PLMTLGYH.js';
22
- import { EmittedNameSchema, EMITTED_RESULT_MAX_LINK_LENGTH, EMITTED_RESULTS, EMITTED_RESULT_MAX_BODY_LENGTH } from './chunk-325272HM.js';
22
+ import { EmittedNameSchema, EMITTED_RESULT_MAX_LINK_LENGTH, EMITTED_RESULTS, EMITTED_RESULT_MAX_BODY_LENGTH } from './chunk-J5M7BSJQ.js';
23
23
  import './chunk-EABW6AJQ.js';
24
24
  import './chunk-V7NIVOFD.js';
25
25
  import './chunk-ZM2IMMYN.js';
26
- import './chunk-YEQL54G5.js';
26
+ import './chunk-PQUM37BK.js';
27
27
  import './chunk-XCCLFVXM.js';
28
28
  import './chunk-BJ3KTMDH.js';
29
29
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
@@ -32,9 +32,6 @@ import { randomUUID } from 'crypto';
32
32
  import { readFileSync } from 'fs';
33
33
 
34
34
  createRequire(import.meta.url);
35
- var GREEN = "\x1B[32m";
36
- var DIM = "\x1B[2m";
37
- var RESET = "\x1B[0m";
38
35
  var EmitResultError = class extends Error {
39
36
  };
40
37
  function parseItemFlag(raw) {
@@ -196,8 +193,8 @@ async function runEmitResult(opts) {
196
193
  }
197
194
  const anchorLabel = `item #${item.number}`;
198
195
  const recordedId = typeof data.id === "string" ? data.id : "";
199
- const idSuffix = recordedId ? ` ${DIM}\xB7${RESET} ${recordedId}` : "";
200
- const output = opts.json ? JSON.stringify(data) : `${GREEN}\u2713${RESET} emitted ${opts.name} (${result}) ${DIM}\xB7${RESET} ${anchorLabel}${idSuffix}`;
196
+ const idSuffix = recordedId ? ` ${C.dim}\xB7${C.reset} ${recordedId}` : "";
197
+ const output = opts.json ? JSON.stringify(data) : `${C.green}\u2713${C.reset} emitted ${opts.name} (${result}) ${C.dim}\xB7${C.reset} ${anchorLabel}${idSuffix}`;
201
198
  if (!opts.quiet) process.stdout.write(output + "\n");
202
199
  return { data, output, exitCode: 0 };
203
200
  }
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { AUTO_SYNC_DEBOUNCE_MS, WORK_LEASE_RENEW_DEBOUNCE_MS, WORK_LINK_RETRIES, contextPossiblyGoverned, handleWorkLaunch, handleWorkSessionEnd, hookFiredMarkerPath, logHookError, markWorkLeaseRenewed, maybeAutoSync, maybeRenewWorkLease, recordLinkExitFailure, runHookFast, spoolDir } from './chunk-YEQL54G5.js';
3
+ export { AUTO_SYNC_DEBOUNCE_MS, WORK_LEASE_RENEW_DEBOUNCE_MS, WORK_LINK_RETRIES, contextPossiblyGoverned, handleWorkLaunch, handleWorkSessionEnd, hookFiredMarkerPath, logHookError, markWorkLeaseRenewed, maybeAutoSync, maybeRenewWorkLease, recordLinkExitFailure, runHookFast, spoolDir } from './chunk-PQUM37BK.js';
4
4
  import './chunk-XCCLFVXM.js';
5
5
  import './chunk-BJ3KTMDH.js';
6
6
  import './chunk-VNVZDWO3.js';
@@ -1,18 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-FO7KKPYG.js';
4
- import './chunk-AHZQBGD2.js';
5
- import './chunk-325272HM.js';
3
+ import { C } from './chunk-YRYMNBGQ.js';
4
+ import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-ZA5CHAFY.js';
5
+ import './chunk-2M63GG56.js';
6
+ import './chunk-J5M7BSJQ.js';
6
7
  import './chunk-RA3O54FC.js';
7
8
  import './chunk-Z5GEFMRW.js';
8
9
  import { statSync, existsSync, readFileSync, writeFileSync } from 'fs';
9
10
  import { join } from 'path';
10
11
 
11
12
  createRequire(import.meta.url);
12
- var GREEN = "\x1B[32m";
13
- var DIM = "\x1B[2m";
14
- var YELLOW = "\x1B[33m";
15
- var RESET = "\x1B[0m";
16
13
  var ImportCaptureError = class extends Error {
17
14
  };
18
15
  var SNIPPET_PATH = ".outerlayer/skills/emitting-evidence/references/agents-snippet.md";
@@ -44,21 +41,21 @@ function runImportCapture(opts = {}) {
44
41
  output = JSON.stringify({ files, rewritten, appendedAgentsMd });
45
42
  } else {
46
43
  const lines = [
47
- ...files.map((f) => `${GREEN}\u2713${RESET} wrote ${f}`),
48
- ...rewritten.map((f) => `${YELLOW}!${RESET} rewrote ${f} to match this CLI's bundle (local edits were overwritten)`)
44
+ ...files.map((f) => `${C.green}\u2713${C.reset} wrote ${f}`),
45
+ ...rewritten.map((f) => `${C.yellow}!${C.reset} rewrote ${f} to match this CLI's bundle (local edits were overwritten)`)
49
46
  ];
50
- if (appendedAgentsMd) lines.push(`${GREEN}\u2713${RESET} appended the evidence snippet to ${AGENTS_MD_PATH}`);
47
+ if (appendedAgentsMd) lines.push(`${C.green}\u2713${C.reset} appended the evidence snippet to ${AGENTS_MD_PATH}`);
51
48
  if (files.length === 0 && rewritten.length === 0 && !appendedAgentsMd) {
52
- lines.push(`${DIM}capture pack already installed \u2014 nothing to write${RESET}`);
49
+ lines.push(`${C.dim}capture pack already installed \u2014 nothing to write${C.reset}`);
53
50
  }
54
- lines.push(`Run ${YELLOW}\`outerlayer context emit\`${RESET} to compile the pack into your agent's native files.`);
51
+ lines.push(`Run ${C.yellow}\`outerlayer context emit\`${C.reset} to compile the pack into your agent's native files.`);
55
52
  output = lines.join("\n");
56
53
  }
57
54
  if (!opts.quiet) {
58
55
  process.stdout.write(output + "\n");
59
56
  if (!opts.json && !appendedAgentsMd && !existsSync(agentsMdAbs)) {
60
57
  process.stdout.write(
61
- `${DIM} no ${AGENTS_MD_PATH} to append to \u2014 paste ${SNIPPET_PATH} into your instructions file if your harness reads no skills${RESET}
58
+ `${C.dim} no ${AGENTS_MD_PATH} to append to \u2014 paste ${SNIPPET_PATH} into your instructions file if your harness reads no skills${C.reset}
62
59
  `
63
60
  );
64
61
  }