@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,39 +1,39 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { describeMachineDocker, detectMachine, microVmArchSupported, microVmAssetsPinned, reachDockerStep, supportsContainerBuilds, supportsMicroVmBuilds } from './chunk-IBB4D4KE.js';
4
- import './chunk-SKHN72JO.js';
5
- import './chunk-3FMPZPJQ.js';
6
- import './chunk-N5FOE5PS.js';
7
- import './chunk-OGFGZQA3.js';
8
- import './chunk-GGMRZPEA.js';
9
- import './chunk-QOZKPLVJ.js';
10
- import './chunk-QEESCZ26.js';
11
- import './chunk-CX22S5BA.js';
3
+ export { describeMachineDocker, detectMachine, microVmArchSupported, microVmAssetsPinned, reachDockerStep, supportsContainerBuilds, supportsMicroVmBuilds } from './chunk-JYIEHQIF.js';
4
+ import './chunk-RBKIH5ST.js';
5
+ import './chunk-KMDLFI4P.js';
12
6
  import './chunk-QKFB4K7X.js';
13
7
  import './chunk-RSNSZ2LJ.js';
14
- import './chunk-6FH2AHJY.js';
15
- import './chunk-GATMPAMK.js';
8
+ import './chunk-SWHQ4LUM.js';
9
+ import './chunk-NPQWKGUA.js';
16
10
  import './chunk-IP7BIBXJ.js';
17
- import './chunk-C7N4TDHW.js';
18
- import './chunk-JOXYKGUV.js';
19
- import './chunk-3ZPYPFNM.js';
20
- import './chunk-USO2DKBD.js';
21
- import './chunk-N6LURUEF.js';
22
- import './chunk-YRYMNBGQ.js';
23
11
  import './chunk-UXYLWVTQ.js';
12
+ import './chunk-R7PF5OOU.js';
13
+ import './chunk-QOZKPLVJ.js';
14
+ import './chunk-N5FOE5PS.js';
15
+ import './chunk-OGFGZQA3.js';
16
+ import './chunk-4NPZVMJU.js';
24
17
  import './chunk-7RQ73DLO.js';
25
18
  import './chunk-4Q7OMKAT.js';
19
+ import './chunk-CX22S5BA.js';
20
+ import './chunk-YDSMROTB.js';
21
+ import './chunk-WUYTWNMA.js';
22
+ import './chunk-JXYVA45C.js';
23
+ import './chunk-4KSQKQXE.js';
24
+ import './chunk-N6LURUEF.js';
25
+ import './chunk-YRYMNBGQ.js';
26
26
  import './chunk-WZBHBH3J.js';
27
- import './chunk-SZOVKFWB.js';
27
+ import './chunk-3NLOVYJQ.js';
28
+ import './chunk-LCEXHCHD.js';
28
29
  import './chunk-ZJSNLVCE.js';
29
- import './chunk-FO7KKPYG.js';
30
- import './chunk-G5IEVZGI.js';
31
- import './chunk-AHZQBGD2.js';
32
30
  import './chunk-YO4PSLVB.js';
31
+ import './chunk-BYT5O5RV.js';
32
+ import './chunk-ZA5CHAFY.js';
33
+ import './chunk-2M63GG56.js';
33
34
  import './chunk-PLMTLGYH.js';
34
- import './chunk-325272HM.js';
35
+ import './chunk-J5M7BSJQ.js';
35
36
  import './chunk-EABW6AJQ.js';
36
- import './chunk-BYT5O5RV.js';
37
37
  import './chunk-RA3O54FC.js';
38
38
  import './chunk-V7NIVOFD.js';
39
39
  import './chunk-ZM2IMMYN.js';
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ export { DEFAULT_MCP_COMMAND, DOCS_MCP_SERVER_NAME, INIT_DOCS_ENTRY, INIT_STDIO_ENTRY, McpInstallError, addDocsMcpEntryIfAbsent, addStdioMcpEntryIfAbsent, buildServerEntry, buildStdioServerEntry, defaultMcpUrl, handleMcpInstallError, mcpTargetPath, runMcpInstall, setMcpEntry } from './chunk-XCK2YAY5.js';
4
+ import './chunk-YRYMNBGQ.js';
5
+ import './chunk-EABW6AJQ.js';
6
+ import './chunk-VNVZDWO3.js';
7
+ import './chunk-Z5GEFMRW.js';
8
+
9
+ createRequire(import.meta.url);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { AGENT_COMMANDS, RunnerEnvError, credentialFromStdin, hasStoredCredential, isAgentName, restartForCredential, storeClaudeCredential } from './chunk-VK25O2ZM.js';
4
- import './chunk-2KLBKHT4.js';
3
+ export { AGENT_COMMANDS, RunnerEnvError, credentialFromStdin, hasStoredCredential, isAgentName, restartForCredential, storeClaudeCredential } from './chunk-T5VPP6H7.js';
4
+ import './chunk-RLYZLUQ7.js';
5
5
  import './chunk-6MZSX4M7.js';
6
- import './chunk-XR3BJN33.js';
6
+ import './chunk-22RMZBGW.js';
7
7
  import './chunk-UXYLWVTQ.js';
8
8
  import './chunk-7RQ73DLO.js';
9
9
  import './chunk-4Q7OMKAT.js';
@@ -0,0 +1,154 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ import { readConfigObject, RunnerInitError } from './chunk-Q2UK3C4P.js';
4
+ import './chunk-JYIEHQIF.js';
5
+ import './chunk-RBKIH5ST.js';
6
+ import './chunk-KMDLFI4P.js';
7
+ import './chunk-QKFB4K7X.js';
8
+ import './chunk-RSNSZ2LJ.js';
9
+ import './chunk-T5VPP6H7.js';
10
+ import './chunk-RLYZLUQ7.js';
11
+ import './chunk-6MZSX4M7.js';
12
+ import { postJson, WorkCommandError, getJson } from './chunk-SWHQ4LUM.js';
13
+ import './chunk-NPQWKGUA.js';
14
+ import './chunk-IP7BIBXJ.js';
15
+ import { runnerCredentialProblem } from './chunk-22RMZBGW.js';
16
+ import './chunk-UXYLWVTQ.js';
17
+ import './chunk-R7PF5OOU.js';
18
+ import './chunk-QOZKPLVJ.js';
19
+ import './chunk-N5FOE5PS.js';
20
+ import './chunk-OGFGZQA3.js';
21
+ import './chunk-4NPZVMJU.js';
22
+ import './chunk-7RQ73DLO.js';
23
+ import './chunk-4Q7OMKAT.js';
24
+ import './chunk-CX22S5BA.js';
25
+ import './chunk-YDSMROTB.js';
26
+ import './chunk-WUYTWNMA.js';
27
+ import './chunk-JXYVA45C.js';
28
+ import './chunk-4KSQKQXE.js';
29
+ import './chunk-N6LURUEF.js';
30
+ import './chunk-YRYMNBGQ.js';
31
+ import './chunk-WZBHBH3J.js';
32
+ import './chunk-3NLOVYJQ.js';
33
+ import './chunk-LCEXHCHD.js';
34
+ import './chunk-ZJSNLVCE.js';
35
+ import './chunk-YO4PSLVB.js';
36
+ import './chunk-BYT5O5RV.js';
37
+ import './chunk-ZA5CHAFY.js';
38
+ import './chunk-2M63GG56.js';
39
+ import './chunk-PLMTLGYH.js';
40
+ import './chunk-J5M7BSJQ.js';
41
+ import { readCloudConfig } from './chunk-EABW6AJQ.js';
42
+ import './chunk-RA3O54FC.js';
43
+ import './chunk-V7NIVOFD.js';
44
+ import './chunk-ZM2IMMYN.js';
45
+ import './chunk-XCCLFVXM.js';
46
+ import { readRepoConnection } from './chunk-BJ3KTMDH.js';
47
+ import { homeFromEnv } from './chunk-VNVZDWO3.js';
48
+ import './chunk-Z5GEFMRW.js';
49
+ import { existsSync } from 'fs';
50
+ import { hostname } from 'os';
51
+
52
+ createRequire(import.meta.url);
53
+ var RUNNER_KEY_PERMISSIONS = [
54
+ "sessions.ingest",
55
+ "evidence.insert",
56
+ "work.read",
57
+ "git.read",
58
+ "context.read",
59
+ "work.update",
60
+ "work.claim",
61
+ "hosts.ingest"
62
+ ];
63
+ var MAX_NAME_ATTEMPTS = 10;
64
+ var PASTED_KEY_FALLBACK = "Ask a member who can create keys to make one with the Runner preset on the factory's API keys page, then put it in the runner's config file as apiKey, with the Factory Id as appId, and run this again.";
65
+ function runnerKeyLogin(configPath, opts = {}) {
66
+ const env = opts.env ?? process.env;
67
+ const config = existsSync(configPath) ? readConfigObject(configPath) : {};
68
+ if (config.apiKey !== void 0) {
69
+ if (opts.appId !== void 0 && opts.appId !== config.appId) {
70
+ throw new RunnerInitError(
71
+ `${configPath} already holds a runner key, for the factory its appId names, so --app-id ${opts.appId} creates no key. Leave --app-id out, or give it the same id.`
72
+ );
73
+ }
74
+ return void 0;
75
+ }
76
+ const saved = readCloudConfig(opts.home ?? homeFromEnv(env));
77
+ const own = typeof config.accountToken === "string" && config.accountToken !== "";
78
+ const accountToken = own ? config.accountToken : saved.accountToken;
79
+ if (accountToken === void 0 || accountToken === "") return void 0;
80
+ const url = config.url ?? (own ? void 0 : saved.url);
81
+ const appId = opts.appId ?? (env.OUTERLAYER_APP_ID || void 0) ?? config.appId ?? readRepoConnection(opts.cwd ?? process.cwd())?.appId;
82
+ if (appId === void 0) {
83
+ throw new RunnerInitError(
84
+ "you are logged in, so this command creates the runner's key, but no factory is chosen. Pass --app-id with the Factory Id from the factory's Settings \u2192 General, or set OUTERLAYER_APP_ID."
85
+ );
86
+ }
87
+ const problem = runnerCredentialProblem({ url, apiKey: accountToken, appId });
88
+ if (problem !== void 0) {
89
+ const where = problem.field === "appId" ? "the factory id" : `${configPath}: ${problem.field}`;
90
+ throw new RunnerInitError(`${where} ${problem.reason}.`);
91
+ }
92
+ return { url, accountToken, appId };
93
+ }
94
+ function defaultRunnerKeyName(host = hostname()) {
95
+ const short = host.replace(/\..*$/, "").trim();
96
+ return short === "" ? "runner" : short;
97
+ }
98
+ function clause(message) {
99
+ return message.replace(/\.+$/, "");
100
+ }
101
+ function forbidden(err) {
102
+ return new RunnerInitError(`your login cannot create a runner key on this factory: ${clause(err.message)}. ${PASTED_KEY_FALLBACK}`);
103
+ }
104
+ async function createKey(login, name, fetchImpl) {
105
+ for (let attempt = 1; attempt <= MAX_NAME_ATTEMPTS; attempt++) {
106
+ const tried = attempt === 1 ? name : `${name}-${attempt}`;
107
+ try {
108
+ const { data } = await postJson(
109
+ login.url,
110
+ "/v1/api-keys",
111
+ login.accountToken,
112
+ login.appId,
113
+ { name: tried, permissions: [...RUNNER_KEY_PERMISSIONS], app_id: login.appId },
114
+ fetchImpl
115
+ );
116
+ const apiKey = data.plaintext_key;
117
+ if (typeof apiKey !== "string" || apiKey === "") {
118
+ throw new RunnerInitError(`the gateway created the key ${tried} but did not return it. Delete it on the factory's API keys page, then run this again.`);
119
+ }
120
+ return { apiKey, name: tried };
121
+ } catch (err) {
122
+ if (!(err instanceof WorkCommandError)) throw err;
123
+ if (err.status === 409) continue;
124
+ if (err.status === 403) throw forbidden(err);
125
+ throw new RunnerInitError(`the runner key was not created: ${clause(err.message)}.`);
126
+ }
127
+ }
128
+ throw new RunnerInitError(
129
+ `the names ${name} to ${name}-${MAX_NAME_ATTEMPTS} are all taken by keys on this factory. Pass --key-name with another name.`
130
+ );
131
+ }
132
+ async function checkKey(key, fetchImpl) {
133
+ const unusable = (why) => new RunnerInitError(
134
+ `the runner key ${key.name} was created, but ${why}. Nothing else was changed. Delete the key on the factory's API keys page, then run this again.`
135
+ );
136
+ let data;
137
+ try {
138
+ ({ data } = await getJson(key.url, "/v1/runner/host-key", key.apiKey, key.appId, fetchImpl));
139
+ } catch (err) {
140
+ throw unusable(`the gateway did not accept it: ${clause(err instanceof Error ? err.message : String(err))}`);
141
+ }
142
+ if (data.bound !== false) {
143
+ throw unusable("the gateway did not report it as a new runner key");
144
+ }
145
+ }
146
+ async function createRunnerKey(login, opts = {}) {
147
+ const fetchImpl = opts.fetchImpl ?? fetch;
148
+ const created = await createKey(login, opts.name ?? defaultRunnerKeyName(), fetchImpl);
149
+ const key = { url: login.url, apiKey: created.apiKey, appId: login.appId, name: created.name };
150
+ await checkKey(key, fetchImpl);
151
+ return key;
152
+ }
153
+
154
+ export { RUNNER_KEY_PERMISSIONS, createRunnerKey, defaultRunnerKeyName, runnerKeyLogin };
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { runSessionSender, senderPidfile, startSessionSender } from './chunk-5TGQHOUX.js';
4
- import './chunk-27Y7AX2O.js';
3
+ export { runSessionSender, senderPidfile, startSessionSender } from './chunk-KFRM23WD.js';
4
+ import './chunk-MSASO5O4.js';
5
5
  import './chunk-HHJDN6AU.js';
6
6
  import './chunk-TBT347UY.js';
7
+ import './chunk-IP7BIBXJ.js';
7
8
  import './chunk-F7CU5ABH.js';
8
9
  import './chunk-BKO6JEZI.js';
9
- import './chunk-IP7BIBXJ.js';
10
- import './chunk-JOXYKGUV.js';
11
- import './chunk-3ZPYPFNM.js';
10
+ import './chunk-WUYTWNMA.js';
11
+ import './chunk-JXYVA45C.js';
12
12
  import './chunk-YRYMNBGQ.js';
13
13
  import './chunk-GQD22KKN.js';
14
14
  import './chunk-WZBHBH3J.js';
@@ -16,11 +16,11 @@ import './chunk-5QRP3MVS.js';
16
16
  import './chunk-ZJSNLVCE.js';
17
17
  import './chunk-YO4PSLVB.js';
18
18
  import './chunk-PLMTLGYH.js';
19
- import './chunk-325272HM.js';
19
+ import './chunk-J5M7BSJQ.js';
20
20
  import './chunk-EABW6AJQ.js';
21
21
  import './chunk-V7NIVOFD.js';
22
22
  import './chunk-ZM2IMMYN.js';
23
- import './chunk-YEQL54G5.js';
23
+ import './chunk-PQUM37BK.js';
24
24
  import './chunk-XCCLFVXM.js';
25
25
  import './chunk-BJ3KTMDH.js';
26
26
  import './chunk-VNVZDWO3.js';
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ export { POLICY_CONTENT, POLICY_PATH, StarterPackError, VALIDATORS_DIR, VALIDATOR_FILES, assertKnownTemplate, formatStarterPackOutput, installStarterPack } from './chunk-FOJGZYFC.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,55 +1,55 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { LEASE_SECONDS, ALREADY_RELEASED, RENEW_INTERVAL_SECONDS } from './chunk-DVT73QJO.js';
4
- import './chunk-T6OIJQRT.js';
5
- import './chunk-5TGQHOUX.js';
6
- import './chunk-27Y7AX2O.js';
7
- import './chunk-HHJDN6AU.js';
3
+ import { LEASE_SECONDS, ALREADY_RELEASED, RENEW_INTERVAL_SECONDS } from './chunk-4OGPT6I2.js';
4
+ import './chunk-RMWLBUCJ.js';
8
5
  import './chunk-HYZRY4KZ.js';
6
+ import './chunk-KFRM23WD.js';
7
+ import './chunk-MSASO5O4.js';
8
+ import './chunk-HHJDN6AU.js';
9
9
  import { formatBytes } from './chunk-YYYRBYWG.js';
10
10
  import './chunk-TBT347UY.js';
11
- import { formatDuration, formatClock, relativeToRunner } from './chunk-SKHN72JO.js';
12
- import './chunk-3FMPZPJQ.js';
11
+ import { formatDuration, formatClock, relativeToRunner } from './chunk-RBKIH5ST.js';
12
+ import './chunk-KMDLFI4P.js';
13
+ import './chunk-QKFB4K7X.js';
14
+ import './chunk-RSNSZ2LJ.js';
15
+ import './chunk-SWHQ4LUM.js';
16
+ import './chunk-NPQWKGUA.js';
17
+ import './chunk-IP7BIBXJ.js';
18
+ import './chunk-22RMZBGW.js';
19
+ import './chunk-UXYLWVTQ.js';
20
+ import './chunk-R7PF5OOU.js';
21
+ import './chunk-QOZKPLVJ.js';
13
22
  import './chunk-N5FOE5PS.js';
14
23
  import './chunk-OGFGZQA3.js';
15
- import './chunk-GGMRZPEA.js';
16
- import './chunk-QOZKPLVJ.js';
17
- import './chunk-QEESCZ26.js';
24
+ import './chunk-4NPZVMJU.js';
25
+ import './chunk-7RQ73DLO.js';
26
+ import './chunk-4Q7OMKAT.js';
18
27
  import './chunk-CX22S5BA.js';
19
- import './chunk-QKFB4K7X.js';
20
- import './chunk-RSNSZ2LJ.js';
21
28
  import './chunk-F7CU5ABH.js';
22
29
  import './chunk-BKO6JEZI.js';
23
- import './chunk-6FH2AHJY.js';
24
- import './chunk-GATMPAMK.js';
25
- import './chunk-IP7BIBXJ.js';
26
- import './chunk-C7N4TDHW.js';
27
- import './chunk-JOXYKGUV.js';
28
- import './chunk-3ZPYPFNM.js';
29
- import './chunk-USO2DKBD.js';
30
+ import './chunk-YDSMROTB.js';
31
+ import './chunk-WUYTWNMA.js';
32
+ import './chunk-JXYVA45C.js';
33
+ import './chunk-4KSQKQXE.js';
30
34
  import './chunk-N6LURUEF.js';
31
35
  import './chunk-YRYMNBGQ.js';
32
- import './chunk-XR3BJN33.js';
33
- import './chunk-UXYLWVTQ.js';
34
- import './chunk-7RQ73DLO.js';
35
- import './chunk-4Q7OMKAT.js';
36
36
  import './chunk-GQD22KKN.js';
37
37
  import './chunk-WZBHBH3J.js';
38
38
  import './chunk-5QRP3MVS.js';
39
- import './chunk-SZOVKFWB.js';
39
+ import './chunk-3NLOVYJQ.js';
40
+ import './chunk-LCEXHCHD.js';
40
41
  import './chunk-ZJSNLVCE.js';
41
- import './chunk-FO7KKPYG.js';
42
- import './chunk-G5IEVZGI.js';
43
- import './chunk-AHZQBGD2.js';
44
42
  import './chunk-YO4PSLVB.js';
43
+ import './chunk-BYT5O5RV.js';
44
+ import './chunk-ZA5CHAFY.js';
45
+ import './chunk-2M63GG56.js';
45
46
  import './chunk-PLMTLGYH.js';
46
- import './chunk-325272HM.js';
47
+ import './chunk-J5M7BSJQ.js';
47
48
  import './chunk-EABW6AJQ.js';
48
- import './chunk-BYT5O5RV.js';
49
49
  import './chunk-RA3O54FC.js';
50
50
  import './chunk-V7NIVOFD.js';
51
51
  import { runnerDir, jobsDir } from './chunk-ZM2IMMYN.js';
52
- import './chunk-YEQL54G5.js';
52
+ import './chunk-PQUM37BK.js';
53
53
  import './chunk-XCCLFVXM.js';
54
54
  import './chunk-BJ3KTMDH.js';
55
55
  import './chunk-VNVZDWO3.js';
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { CHUNK_PART_TARGET_BYTES, RETRYABLE_STATUSES, SyncConfigError, SyncTransportError, detectCi, isLoopbackUrl, resolveTier, runSync } from './chunk-27Y7AX2O.js';
3
+ export { CHUNK_PART_TARGET_BYTES, RETRYABLE_STATUSES, SyncConfigError, SyncTransportError, detectCi, isLoopbackUrl, resolveTier, runSync } from './chunk-MSASO5O4.js';
4
4
  import './chunk-HHJDN6AU.js';
5
5
  import './chunk-TBT347UY.js';
6
+ import './chunk-IP7BIBXJ.js';
6
7
  import './chunk-F7CU5ABH.js';
7
8
  import './chunk-BKO6JEZI.js';
8
- import './chunk-IP7BIBXJ.js';
9
- import './chunk-JOXYKGUV.js';
10
- import './chunk-3ZPYPFNM.js';
9
+ import './chunk-WUYTWNMA.js';
10
+ import './chunk-JXYVA45C.js';
11
11
  import './chunk-YRYMNBGQ.js';
12
12
  import './chunk-GQD22KKN.js';
13
13
  import './chunk-WZBHBH3J.js';
@@ -15,11 +15,11 @@ import './chunk-5QRP3MVS.js';
15
15
  import './chunk-ZJSNLVCE.js';
16
16
  import './chunk-YO4PSLVB.js';
17
17
  import './chunk-PLMTLGYH.js';
18
- import './chunk-325272HM.js';
18
+ import './chunk-J5M7BSJQ.js';
19
19
  export { cloudConfigPath, readCloudConfig, writeCloudConfig } from './chunk-EABW6AJQ.js';
20
20
  import './chunk-V7NIVOFD.js';
21
21
  import './chunk-ZM2IMMYN.js';
22
- import './chunk-YEQL54G5.js';
22
+ import './chunk-PQUM37BK.js';
23
23
  import './chunk-XCCLFVXM.js';
24
24
  import './chunk-BJ3KTMDH.js';
25
25
  import './chunk-VNVZDWO3.js';
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { LiveUploader } from './chunk-27Y7AX2O.js';
3
+ import { LiveUploader } from './chunk-MSASO5O4.js';
4
4
  import './chunk-HHJDN6AU.js';
5
5
  import './chunk-TBT347UY.js';
6
+ import './chunk-IP7BIBXJ.js';
6
7
  import './chunk-F7CU5ABH.js';
7
8
  import './chunk-BKO6JEZI.js';
8
- import './chunk-IP7BIBXJ.js';
9
- import './chunk-JOXYKGUV.js';
10
- import { StatuslineAggregator, CaptureDaemon } from './chunk-3ZPYPFNM.js';
9
+ import './chunk-WUYTWNMA.js';
10
+ import { StatuslineAggregator, CaptureDaemon } from './chunk-JXYVA45C.js';
11
11
  import './chunk-YRYMNBGQ.js';
12
12
  import './chunk-GQD22KKN.js';
13
13
  import './chunk-WZBHBH3J.js';
@@ -15,11 +15,11 @@ import './chunk-5QRP3MVS.js';
15
15
  import './chunk-ZJSNLVCE.js';
16
16
  import './chunk-YO4PSLVB.js';
17
17
  import './chunk-PLMTLGYH.js';
18
- import './chunk-325272HM.js';
18
+ import './chunk-J5M7BSJQ.js';
19
19
  import './chunk-EABW6AJQ.js';
20
20
  import './chunk-V7NIVOFD.js';
21
21
  import './chunk-ZM2IMMYN.js';
22
- import './chunk-YEQL54G5.js';
22
+ import './chunk-PQUM37BK.js';
23
23
  import './chunk-XCCLFVXM.js';
24
24
  import './chunk-BJ3KTMDH.js';
25
25
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
@@ -1,26 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { RUNNER_PROTOCOL } from './chunk-FI5UYJMQ.js';
4
- import { resolveCredentials, WorkCommandError, parsePositiveInt, postJson, environmentFacts, resolveRepository, findLiveItem } from './chunk-6FH2AHJY.js';
5
- export { WorkCommandError } from './chunk-6FH2AHJY.js';
6
- import './chunk-GATMPAMK.js';
4
+ import { resolveCredentials, WorkCommandError, parsePositiveInt, postJson, environmentFacts, resolveRepository, findLiveItem } from './chunk-SWHQ4LUM.js';
5
+ export { WorkCommandError } from './chunk-SWHQ4LUM.js';
6
+ import './chunk-NPQWKGUA.js';
7
7
  import './chunk-IP7BIBXJ.js';
8
- import './chunk-C7N4TDHW.js';
9
- import './chunk-JOXYKGUV.js';
10
- import './chunk-3ZPYPFNM.js';
11
- import './chunk-USO2DKBD.js';
12
- import './chunk-N6LURUEF.js';
13
- import './chunk-YRYMNBGQ.js';
14
- import { defaultRunnerConfigPath } from './chunk-XR3BJN33.js';
8
+ import { defaultRunnerConfigPath } from './chunk-22RMZBGW.js';
15
9
  import './chunk-UXYLWVTQ.js';
16
10
  import './chunk-7RQ73DLO.js';
17
11
  import './chunk-4Q7OMKAT.js';
12
+ import './chunk-YDSMROTB.js';
13
+ import './chunk-WUYTWNMA.js';
14
+ import './chunk-JXYVA45C.js';
15
+ import './chunk-4KSQKQXE.js';
16
+ import './chunk-N6LURUEF.js';
17
+ import './chunk-YRYMNBGQ.js';
18
18
  import './chunk-WZBHBH3J.js';
19
19
  import { defaultFetch } from './chunk-YO4PSLVB.js';
20
+ import './chunk-BYT5O5RV.js';
20
21
  import './chunk-PLMTLGYH.js';
21
- import './chunk-325272HM.js';
22
+ import './chunk-J5M7BSJQ.js';
22
23
  import './chunk-EABW6AJQ.js';
23
- import './chunk-BYT5O5RV.js';
24
24
  import { ensureHostKey } from './chunk-V7NIVOFD.js';
25
25
  import './chunk-ZM2IMMYN.js';
26
26
  import './chunk-BJ3KTMDH.js';
@@ -118,7 +118,7 @@ async function runWorkRelease(opts) {
118
118
  { sessionId, ended: true },
119
119
  fetchImpl
120
120
  );
121
- const { markWorkLeaseRenewed } = await import('./hook-fast-HLESEJAL.js');
121
+ const { markWorkLeaseRenewed } = await import('./hook-fast-WYQD6D7T.js');
122
122
  markWorkLeaseRenewed(sessionId, opts.home ?? homeFromEnv(env));
123
123
  const output2 = opts.json ? JSON.stringify(data2) : `released session ${sessionId}'s lease on #${itemId}, if it held one`;
124
124
  if (!opts.quiet) process.stdout.write(output2 + "\n");
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { WorkCommandError, environmentFacts, findLiveItem, getJson, parsePositiveInt, postJson, resolveCredentials, resolveRepository, runWorkBuild, runWorkLinkSession, runWorkList, runWorkRemove, runWorkStatus } from './chunk-6FH2AHJY.js';
4
- import './chunk-GATMPAMK.js';
3
+ export { WorkCommandError, environmentFacts, findLiveItem, getJson, parsePositiveInt, postJson, resolveCredentials, resolveRepository, runWorkBuild, runWorkLinkSession, runWorkList, runWorkRemove, runWorkStatus } from './chunk-SWHQ4LUM.js';
4
+ import './chunk-NPQWKGUA.js';
5
5
  import './chunk-IP7BIBXJ.js';
6
- import './chunk-C7N4TDHW.js';
7
- import './chunk-JOXYKGUV.js';
8
- import './chunk-3ZPYPFNM.js';
9
- import './chunk-USO2DKBD.js';
6
+ import './chunk-YDSMROTB.js';
7
+ import './chunk-WUYTWNMA.js';
8
+ import './chunk-JXYVA45C.js';
9
+ import './chunk-4KSQKQXE.js';
10
10
  import './chunk-N6LURUEF.js';
11
11
  import './chunk-YRYMNBGQ.js';
12
12
  import './chunk-WZBHBH3J.js';
13
13
  import './chunk-YO4PSLVB.js';
14
14
  import './chunk-PLMTLGYH.js';
15
- import './chunk-325272HM.js';
15
+ import './chunk-J5M7BSJQ.js';
16
16
  import './chunk-EABW6AJQ.js';
17
17
  import './chunk-V7NIVOFD.js';
18
18
  import './chunk-ZM2IMMYN.js';
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { resolveCredentials, postJson, getJson } from './chunk-6FH2AHJY.js';
4
- import './chunk-GATMPAMK.js';
3
+ import { resolveCredentials, postJson, getJson } from './chunk-SWHQ4LUM.js';
4
+ import './chunk-NPQWKGUA.js';
5
5
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
6
- import './chunk-C7N4TDHW.js';
7
- import { sanitizeTerminal } from './chunk-JOXYKGUV.js';
8
- import { resolveRepoIdentity } from './chunk-3ZPYPFNM.js';
9
- import './chunk-USO2DKBD.js';
6
+ import './chunk-YDSMROTB.js';
7
+ import { sanitizeTerminal } from './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 { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
13
13
  import { defaultFetch } from './chunk-YO4PSLVB.js';
14
14
  import './chunk-PLMTLGYH.js';
15
- import './chunk-325272HM.js';
15
+ import './chunk-J5M7BSJQ.js';
16
16
  import './chunk-EABW6AJQ.js';
17
17
  import './chunk-V7NIVOFD.js';
18
18
  import './chunk-ZM2IMMYN.js';
@@ -22,9 +22,6 @@ import './chunk-Z5GEFMRW.js';
22
22
  import { randomUUID } from 'crypto';
23
23
 
24
24
  createRequire(import.meta.url);
25
- var GREEN = "\x1B[32m";
26
- var DIM = "\x1B[2m";
27
- var RESET = "\x1B[0m";
28
25
  var WorkCommentCommandError = class extends Error {
29
26
  };
30
27
  function resolveAction(opts) {
@@ -78,7 +75,7 @@ async function runWorkComment(opts) {
78
75
  const thread = data.thread;
79
76
  const waitingOn = thread?.waitingOn ?? null;
80
77
  const criterionLabel = opts.criterion ? `criterion ${opts.criterion}` : "the general thread";
81
- const output = opts.json ? JSON.stringify(data) : `${GREEN}\u2713${RESET} commented on ${criterionLabel} of item #${itemNumber} ${DIM}\xB7${RESET} waiting on ${waitingOn ?? "no one"}`;
78
+ const output = opts.json ? JSON.stringify(data) : `${C.green}\u2713${C.reset} commented on ${criterionLabel} of item #${itemNumber} ${C.dim}\xB7${C.reset} waiting on ${waitingOn ?? "no one"}`;
82
79
  if (!opts.quiet) process.stdout.write(output + "\n");
83
80
  return { data, output };
84
81
  }
@@ -102,7 +99,7 @@ async function runWorkThreads(opts) {
102
99
  return { data, output };
103
100
  }
104
101
  function renderThread(label, thread) {
105
- const header = `${DIM}${label === "general" ? "general" : `criterion ${label}`} \xB7 waiting on ${thread.waitingOn ?? "no one"}${RESET}`;
102
+ const header = `${C.dim}${label === "general" ? "general" : `criterion ${label}`} \xB7 waiting on ${thread.waitingOn ?? "no one"}${C.reset}`;
106
103
  const comments = thread.comments.map(
107
104
  (c) => ` ${c.author.kind === "person" ? "person" : "agent"} ${sanitizeTerminal(c.author.name)}: ${sanitizeTerminal(c.body)}${c.action ? ` (${c.action})` : ""}`
108
105
  );
@@ -1,20 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { itemLabel, runWorkPr, WorkPrCommandError } from './chunk-NPXQXYVA.js';
4
- import { resolveCredentials } from './chunk-6FH2AHJY.js';
5
- import './chunk-GATMPAMK.js';
3
+ import { itemLabel, runWorkPr, WorkPrCommandError } from './chunk-JJEGKEFV.js';
4
+ import { resolveCredentials } from './chunk-SWHQ4LUM.js';
5
+ import './chunk-NPQWKGUA.js';
6
6
  import './chunk-IP7BIBXJ.js';
7
- import './chunk-C7N4TDHW.js';
8
- import './chunk-JOXYKGUV.js';
9
- import './chunk-3ZPYPFNM.js';
10
- import './chunk-USO2DKBD.js';
7
+ import './chunk-YDSMROTB.js';
8
+ import './chunk-WUYTWNMA.js';
9
+ import './chunk-JXYVA45C.js';
10
+ import './chunk-4KSQKQXE.js';
11
11
  import './chunk-N6LURUEF.js';
12
- import './chunk-YRYMNBGQ.js';
12
+ import { C } from './chunk-YRYMNBGQ.js';
13
13
  import { parseWorkItemEnv } from './chunk-GQD22KKN.js';
14
14
  import './chunk-WZBHBH3J.js';
15
15
  import { defaultFetch } from './chunk-YO4PSLVB.js';
16
16
  import './chunk-PLMTLGYH.js';
17
- import './chunk-325272HM.js';
17
+ import './chunk-J5M7BSJQ.js';
18
18
  import './chunk-EABW6AJQ.js';
19
19
  import './chunk-V7NIVOFD.js';
20
20
  import './chunk-ZM2IMMYN.js';
@@ -25,9 +25,6 @@ import { spawnSync } from 'child_process';
25
25
  import { readFileSync } from 'fs';
26
26
 
27
27
  createRequire(import.meta.url);
28
- var GREEN = "\x1B[32m";
29
- var DIM = "\x1B[2m";
30
- var RESET = "\x1B[0m";
31
28
  var ITEM_KEY_PREFIX = "olitem_";
32
29
  var WorkOpenPrCommandError = class extends Error {
33
30
  };
@@ -163,7 +160,7 @@ async function runWorkOpenPr(opts) {
163
160
  } else {
164
161
  data = await openWithGh({ ...opts, env }, opts.title, opts.bodyFile, cwd);
165
162
  }
166
- const output = opts.json ? JSON.stringify(data) : `${GREEN}\u2713${RESET} ${data.created ? "opened" : "edited"} ${DIM}\xB7${RESET} ${data.repository}#${data.number} ${DIM}\xB7${RESET} ${data.url}${data.workItemNumber == null ? "" : ` ${DIM}\u2192${RESET} ${itemLabel({ workItemId: "", ...data })}`}`;
163
+ const output = opts.json ? JSON.stringify(data) : `${C.green}\u2713${C.reset} ${data.created ? "opened" : "edited"} ${C.dim}\xB7${C.reset} ${data.repository}#${data.number} ${C.dim}\xB7${C.reset} ${data.url}${data.workItemNumber == null ? "" : ` ${C.dim}\u2192${C.reset} ${itemLabel({ workItemId: "", ...data })}`}`;
167
164
  if (!opts.quiet) process.stdout.write(output + "\n");
168
165
  return { data, output };
169
166
  }
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { WorkPrCommandError, itemLabel, runWorkPr } from './chunk-NPXQXYVA.js';
4
- import './chunk-GATMPAMK.js';
3
+ export { WorkPrCommandError, itemLabel, runWorkPr } from './chunk-JJEGKEFV.js';
4
+ import './chunk-NPQWKGUA.js';
5
5
  import './chunk-IP7BIBXJ.js';
6
- import './chunk-C7N4TDHW.js';
7
- import './chunk-JOXYKGUV.js';
8
- import './chunk-3ZPYPFNM.js';
9
- import './chunk-USO2DKBD.js';
6
+ import './chunk-YDSMROTB.js';
7
+ import './chunk-WUYTWNMA.js';
8
+ import './chunk-JXYVA45C.js';
9
+ import './chunk-4KSQKQXE.js';
10
10
  import './chunk-N6LURUEF.js';
11
11
  import './chunk-YRYMNBGQ.js';
12
12
  import './chunk-GQD22KKN.js';
13
13
  import './chunk-WZBHBH3J.js';
14
14
  import './chunk-YO4PSLVB.js';
15
15
  import './chunk-PLMTLGYH.js';
16
- import './chunk-325272HM.js';
16
+ import './chunk-J5M7BSJQ.js';
17
17
  import './chunk-EABW6AJQ.js';
18
18
  import './chunk-V7NIVOFD.js';
19
19
  import './chunk-ZM2IMMYN.js';