@outerlayer/cli 0.9.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +5 -3
  3. package/dist/build-info.json +1 -1
  4. package/dist/{builder-5DKTBWT3.js → builder-EVO6F2NO.js} +2 -2
  5. package/dist/{check-VJRJ2KQ4.js → check-RBRRI77E.js} +15 -15
  6. package/dist/{chunk-QPPPUKQJ.js → chunk-472KC6JV.js} +1 -1
  7. package/dist/{chunk-YCPV7FN6.js → chunk-4AVAETSU.js} +8 -8
  8. package/dist/{chunk-LBU4CLK5.js → chunk-BREEX2Z7.js} +4 -4
  9. package/dist/{chunk-KWCJLAHQ.js → chunk-DTDZXDQ3.js} +3 -3
  10. package/dist/{chunk-XGCJNSI7.js → chunk-ESZJ5QIC.js} +4 -4
  11. package/dist/{chunk-VMK7I3TB.js → chunk-HKUH5AR2.js} +2 -2
  12. package/dist/chunk-I263FZ3A.js +178 -0
  13. package/dist/{chunk-LTJPX7TX.js → chunk-IU4NZROR.js} +249 -18
  14. package/dist/{chunk-TV36SKEN.js → chunk-JSUUXA5W.js} +1 -1
  15. package/dist/{chunk-OSKO3PAL.js → chunk-KZ5M4QOB.js} +7 -7
  16. package/dist/{chunk-WJBJY5DQ.js → chunk-MC6J453K.js} +2 -2
  17. package/dist/{chunk-XZNO4QED.js → chunk-R2UYH4QV.js} +5 -5
  18. package/dist/{chunk-LYESSQUA.js → chunk-UES67HLJ.js} +2 -2
  19. package/dist/{chunk-ZEQMTBRD.js → chunk-VDI5POCC.js} +80 -2
  20. package/dist/{chunk-FKFGQJNN.js → chunk-VVIRHTH4.js} +1 -1
  21. package/dist/{chunk-543OT6V5.js → chunk-Y6P5XX2B.js} +25 -7
  22. package/dist/{chunk-KPUJGBA4.js → chunk-ZQ5JGHUO.js} +2 -2
  23. package/dist/{cli-7RQYILJT.js → cli-G6TH4YMK.js} +49 -49
  24. package/dist/{command-2LYWVGIK.js → command-LNEFKIVC.js} +9 -9
  25. package/dist/{connect-cmd-MPZWSEKY.js → connect-cmd-5MIUNYAY.js} +3 -3
  26. package/dist/{dist-QY5CL5LB.js → dist-3M3ZMEZF.js} +1 -1
  27. package/dist/{docker-V7B6UKPF.js → docker-GM526LGX.js} +3 -3
  28. package/dist/{doctor-PUAL5LTL.js → doctor-QSV4DYT2.js} +11 -11
  29. package/dist/{emit-artifact-cmd-P3IWNSQY.js → emit-artifact-cmd-VKPW577P.js} +5 -5
  30. package/dist/{emit-criteria-cmd-GOSP6X74.js → emit-criteria-cmd-U2TL6FYY.js} +4 -4
  31. package/dist/{emit-finding-cmd-D554IQKU.js → emit-finding-cmd-TMOOKHPD.js} +4 -4
  32. package/dist/{emit-result-cmd-QACXTIBV.js → emit-result-cmd-GKBVPMU4.js} +5 -5
  33. package/dist/index.js +1 -1
  34. package/dist/{init-TMBE3BRN.js → init-OKCDXEOG.js} +10 -10
  35. package/dist/{init-WX5XE6L3.js → init-ORDCPTFD.js} +10 -10
  36. package/dist/{init-cmd-4FQKQLJ5.js → init-cmd-5TEM2QNH.js} +6 -6
  37. package/dist/{loop-QLL4DKRF.js → loop-ZNUQT736.js} +15 -15
  38. package/dist/{machine-7T7FBSUL.js → machine-TBJKZ6TN.js} +9 -9
  39. package/dist/{session-sender-HVWTYG35.js → session-sender-E3UHGSNV.js} +4 -4
  40. package/dist/{status-SMF5JG2K.js → status-KPDVZMJ6.js} +11 -11
  41. package/dist/{sync-cmd-SLMPCUXO.js → sync-cmd-ULKXCHO2.js} +3 -3
  42. package/dist/{watch-TLM5QN5X.js → watch-IU6NHB4K.js} +3 -3
  43. package/dist/{work-claim-cmd-VSSZDFY5.js → work-claim-cmd-DYD6II56.js} +6 -6
  44. package/dist/{work-cmd-TK4VOOHL.js → work-cmd-ZJY3NA2G.js} +5 -5
  45. package/dist/{work-comment-cmd-VQCG72ZQ.js → work-comment-cmd-34FTLPUO.js} +5 -5
  46. package/dist/{work-open-pr-cmd-ZYOC5SPB.js → work-open-pr-cmd-N2RBDKZ4.js} +16 -8
  47. package/dist/{work-pr-cmd-MX6UO5GO.js → work-pr-cmd-EXTOGBJC.js} +6 -5
  48. package/package.json +1 -1
  49. package/dist/chunk-5MF73XCV.js +0 -103
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { summarizeChecks, summaryText, renderDoctorText } from './chunk-XZNO4QED.js';
3
+ import { summarizeChecks, summaryText, renderDoctorText } from './chunk-R2UYH4QV.js';
4
4
  import './chunk-F47JBIAW.js';
5
5
  import './chunk-BKO6JEZI.js';
6
- import './chunk-KWCJLAHQ.js';
7
- import './chunk-KPUJGBA4.js';
6
+ import './chunk-DTDZXDQ3.js';
7
+ import './chunk-ZQ5JGHUO.js';
8
8
  import './chunk-BFESLKPP.js';
9
- import { runConnect, COMMIT_LINE } from './chunk-LYESSQUA.js';
10
- import './chunk-ZEQMTBRD.js';
11
- import './chunk-LTJPX7TX.js';
9
+ import { runConnect, COMMIT_LINE } from './chunk-UES67HLJ.js';
10
+ import './chunk-VDI5POCC.js';
11
+ import './chunk-IU4NZROR.js';
12
12
  import './chunk-USO2DKBD.js';
13
13
  import './chunk-N6LURUEF.js';
14
14
  import { C } from './chunk-YRYMNBGQ.js';
@@ -1,42 +1,42 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { RunnerStartError, listJobFiles, probeCredentials, requestStop, runnerProcessState, start, tick, watchTick } from './chunk-YCPV7FN6.js';
3
+ export { RunnerStartError, listJobFiles, probeCredentials, requestStop, runnerProcessState, start, tick, watchTick } from './chunk-4AVAETSU.js';
4
4
  import './chunk-3JVYMD4G.js';
5
5
  import './chunk-I2UOAV7X.js';
6
6
  import './chunk-ABIWDUMS.js';
7
- import './chunk-OSKO3PAL.js';
7
+ import './chunk-KZ5M4QOB.js';
8
8
  import './chunk-T6OIJQRT.js';
9
9
  import './chunk-PDTSUOVT.js';
10
10
  import './chunk-UGP76IZ5.js';
11
- import './chunk-VMK7I3TB.js';
11
+ import './chunk-HKUH5AR2.js';
12
12
  import './chunk-V42JY4F6.js';
13
- import './chunk-543OT6V5.js';
13
+ import './chunk-Y6P5XX2B.js';
14
14
  import './chunk-HHJDN6AU.js';
15
- import './chunk-XGCJNSI7.js';
15
+ import './chunk-ESZJ5QIC.js';
16
16
  import './chunk-TI7B7UEO.js';
17
17
  import './chunk-YYYRBYWG.js';
18
18
  import './chunk-TBT347UY.js';
19
- import './chunk-WJBJY5DQ.js';
20
- import './chunk-QPPPUKQJ.js';
21
- import './chunk-LBU4CLK5.js';
19
+ import './chunk-MC6J453K.js';
20
+ import './chunk-472KC6JV.js';
21
+ import './chunk-BREEX2Z7.js';
22
22
  import './chunk-JKIWMRFH.js';
23
23
  import './chunk-3FMPZPJQ.js';
24
24
  import './chunk-N5FOE5PS.js';
25
25
  import './chunk-OGFGZQA3.js';
26
- import './chunk-FKFGQJNN.js';
26
+ import './chunk-VVIRHTH4.js';
27
27
  import './chunk-QOZKPLVJ.js';
28
- import './chunk-TV36SKEN.js';
28
+ import './chunk-JSUUXA5W.js';
29
29
  import './chunk-CX22S5BA.js';
30
30
  import './chunk-6CXYORUS.js';
31
31
  import './chunk-S6IUUNCD.js';
32
32
  import './chunk-F7CU5ABH.js';
33
33
  import './chunk-BKO6JEZI.js';
34
- import './chunk-KWCJLAHQ.js';
35
- import './chunk-KPUJGBA4.js';
34
+ import './chunk-DTDZXDQ3.js';
35
+ import './chunk-ZQ5JGHUO.js';
36
36
  import './chunk-BFESLKPP.js';
37
- import './chunk-LYESSQUA.js';
38
- import './chunk-ZEQMTBRD.js';
39
- import './chunk-LTJPX7TX.js';
37
+ import './chunk-UES67HLJ.js';
38
+ import './chunk-VDI5POCC.js';
39
+ import './chunk-IU4NZROR.js';
40
40
  import './chunk-USO2DKBD.js';
41
41
  import './chunk-N6LURUEF.js';
42
42
  import './chunk-YRYMNBGQ.js';
@@ -1,22 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { describeMachineDocker, detectMachine, microVmArchSupported, microVmAssetsPinned, reachDockerStep, supportsContainerBuilds, supportsMicroVmBuilds } from './chunk-QPPPUKQJ.js';
4
- import './chunk-LBU4CLK5.js';
3
+ export { describeMachineDocker, detectMachine, microVmArchSupported, microVmAssetsPinned, reachDockerStep, supportsContainerBuilds, supportsMicroVmBuilds } from './chunk-472KC6JV.js';
4
+ import './chunk-BREEX2Z7.js';
5
5
  import './chunk-3FMPZPJQ.js';
6
6
  import './chunk-N5FOE5PS.js';
7
7
  import './chunk-OGFGZQA3.js';
8
- import './chunk-FKFGQJNN.js';
8
+ import './chunk-VVIRHTH4.js';
9
9
  import './chunk-QOZKPLVJ.js';
10
- import './chunk-TV36SKEN.js';
10
+ import './chunk-JSUUXA5W.js';
11
11
  import './chunk-CX22S5BA.js';
12
12
  import './chunk-6CXYORUS.js';
13
13
  import './chunk-S6IUUNCD.js';
14
- import './chunk-KWCJLAHQ.js';
15
- import './chunk-KPUJGBA4.js';
14
+ import './chunk-DTDZXDQ3.js';
15
+ import './chunk-ZQ5JGHUO.js';
16
16
  import './chunk-BFESLKPP.js';
17
- import './chunk-LYESSQUA.js';
18
- import './chunk-ZEQMTBRD.js';
19
- import './chunk-LTJPX7TX.js';
17
+ import './chunk-UES67HLJ.js';
18
+ import './chunk-VDI5POCC.js';
19
+ import './chunk-IU4NZROR.js';
20
20
  import './chunk-USO2DKBD.js';
21
21
  import './chunk-N6LURUEF.js';
22
22
  import './chunk-YRYMNBGQ.js';
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { runSessionSender, senderPidfile, startSessionSender } from './chunk-VMK7I3TB.js';
4
- import './chunk-543OT6V5.js';
3
+ export { runSessionSender, senderPidfile, startSessionSender } from './chunk-HKUH5AR2.js';
4
+ import './chunk-Y6P5XX2B.js';
5
5
  import './chunk-HHJDN6AU.js';
6
6
  import './chunk-TBT347UY.js';
7
7
  import './chunk-F7CU5ABH.js';
8
8
  import './chunk-BKO6JEZI.js';
9
9
  import './chunk-BFESLKPP.js';
10
- import './chunk-ZEQMTBRD.js';
11
- import './chunk-LTJPX7TX.js';
10
+ import './chunk-VDI5POCC.js';
11
+ import './chunk-IU4NZROR.js';
12
12
  import './chunk-YRYMNBGQ.js';
13
13
  import './chunk-GQD22KKN.js';
14
14
  import './chunk-WZBHBH3J.js';
@@ -1,31 +1,31 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { LEASE_SECONDS, ALREADY_RELEASED, RENEW_INTERVAL_SECONDS } from './chunk-OSKO3PAL.js';
3
+ import { LEASE_SECONDS, ALREADY_RELEASED, RENEW_INTERVAL_SECONDS } from './chunk-KZ5M4QOB.js';
4
4
  import './chunk-T6OIJQRT.js';
5
- import './chunk-VMK7I3TB.js';
5
+ import './chunk-HKUH5AR2.js';
6
6
  import './chunk-V42JY4F6.js';
7
- import './chunk-543OT6V5.js';
7
+ import './chunk-Y6P5XX2B.js';
8
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-LBU4CLK5.js';
11
+ import { formatDuration, formatClock, relativeToRunner } from './chunk-BREEX2Z7.js';
12
12
  import './chunk-3FMPZPJQ.js';
13
13
  import './chunk-N5FOE5PS.js';
14
14
  import './chunk-OGFGZQA3.js';
15
- import './chunk-FKFGQJNN.js';
15
+ import './chunk-VVIRHTH4.js';
16
16
  import './chunk-QOZKPLVJ.js';
17
- import './chunk-TV36SKEN.js';
17
+ import './chunk-JSUUXA5W.js';
18
18
  import './chunk-CX22S5BA.js';
19
19
  import './chunk-6CXYORUS.js';
20
20
  import './chunk-S6IUUNCD.js';
21
21
  import './chunk-F7CU5ABH.js';
22
22
  import './chunk-BKO6JEZI.js';
23
- import './chunk-KWCJLAHQ.js';
24
- import './chunk-KPUJGBA4.js';
23
+ import './chunk-DTDZXDQ3.js';
24
+ import './chunk-ZQ5JGHUO.js';
25
25
  import './chunk-BFESLKPP.js';
26
- import './chunk-LYESSQUA.js';
27
- import './chunk-ZEQMTBRD.js';
28
- import './chunk-LTJPX7TX.js';
26
+ import './chunk-UES67HLJ.js';
27
+ import './chunk-VDI5POCC.js';
28
+ import './chunk-IU4NZROR.js';
29
29
  import './chunk-USO2DKBD.js';
30
30
  import './chunk-N6LURUEF.js';
31
31
  import './chunk-YRYMNBGQ.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-543OT6V5.js';
3
+ export { CHUNK_PART_TARGET_BYTES, RETRYABLE_STATUSES, SyncConfigError, SyncTransportError, detectCi, isLoopbackUrl, resolveTier, runSync } from './chunk-Y6P5XX2B.js';
4
4
  import './chunk-HHJDN6AU.js';
5
5
  import './chunk-TBT347UY.js';
6
6
  import './chunk-F7CU5ABH.js';
7
7
  import './chunk-BKO6JEZI.js';
8
8
  import './chunk-BFESLKPP.js';
9
- import './chunk-ZEQMTBRD.js';
10
- import './chunk-LTJPX7TX.js';
9
+ import './chunk-VDI5POCC.js';
10
+ import './chunk-IU4NZROR.js';
11
11
  import './chunk-YRYMNBGQ.js';
12
12
  import './chunk-GQD22KKN.js';
13
13
  import './chunk-WZBHBH3J.js';
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { LiveUploader } from './chunk-543OT6V5.js';
3
+ import { LiveUploader } from './chunk-Y6P5XX2B.js';
4
4
  import './chunk-HHJDN6AU.js';
5
5
  import './chunk-TBT347UY.js';
6
6
  import './chunk-F7CU5ABH.js';
7
7
  import './chunk-BKO6JEZI.js';
8
8
  import './chunk-BFESLKPP.js';
9
- import './chunk-ZEQMTBRD.js';
10
- import { StatuslineAggregator, CaptureDaemon } from './chunk-LTJPX7TX.js';
9
+ import './chunk-VDI5POCC.js';
10
+ import { StatuslineAggregator, CaptureDaemon } from './chunk-IU4NZROR.js';
11
11
  import './chunk-YRYMNBGQ.js';
12
12
  import './chunk-GQD22KKN.js';
13
13
  import './chunk-WZBHBH3J.js';
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { RUNNER_PROTOCOL } from './chunk-PDTSUOVT.js';
4
- import { resolveCredentials, WorkCommandError, parsePositiveInt, postJson, environmentFacts, resolveRepository, findLiveItem } from './chunk-KWCJLAHQ.js';
5
- export { WorkCommandError } from './chunk-KWCJLAHQ.js';
6
- import './chunk-KPUJGBA4.js';
4
+ import { resolveCredentials, WorkCommandError, parsePositiveInt, postJson, environmentFacts, resolveRepository, findLiveItem } from './chunk-DTDZXDQ3.js';
5
+ export { WorkCommandError } from './chunk-DTDZXDQ3.js';
6
+ import './chunk-ZQ5JGHUO.js';
7
7
  import './chunk-BFESLKPP.js';
8
- import './chunk-LYESSQUA.js';
9
- import './chunk-ZEQMTBRD.js';
10
- import './chunk-LTJPX7TX.js';
8
+ import './chunk-UES67HLJ.js';
9
+ import './chunk-VDI5POCC.js';
10
+ import './chunk-IU4NZROR.js';
11
11
  import './chunk-USO2DKBD.js';
12
12
  import './chunk-N6LURUEF.js';
13
13
  import './chunk-YRYMNBGQ.js';
@@ -1,11 +1,11 @@
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-KWCJLAHQ.js';
4
- import './chunk-KPUJGBA4.js';
3
+ export { WorkCommandError, environmentFacts, findLiveItem, getJson, parsePositiveInt, postJson, resolveCredentials, resolveRepository, runWorkBuild, runWorkLinkSession, runWorkList, runWorkRemove, runWorkStatus } from './chunk-DTDZXDQ3.js';
4
+ import './chunk-ZQ5JGHUO.js';
5
5
  import './chunk-BFESLKPP.js';
6
- import './chunk-LYESSQUA.js';
7
- import './chunk-ZEQMTBRD.js';
8
- import './chunk-LTJPX7TX.js';
6
+ import './chunk-UES67HLJ.js';
7
+ import './chunk-VDI5POCC.js';
8
+ import './chunk-IU4NZROR.js';
9
9
  import './chunk-USO2DKBD.js';
10
10
  import './chunk-N6LURUEF.js';
11
11
  import './chunk-YRYMNBGQ.js';
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { resolveCredentials, postJson, getJson } from './chunk-KWCJLAHQ.js';
4
- import './chunk-KPUJGBA4.js';
3
+ import { resolveCredentials, postJson, getJson } from './chunk-DTDZXDQ3.js';
4
+ import './chunk-ZQ5JGHUO.js';
5
5
  import { detectActiveSession } from './chunk-BFESLKPP.js';
6
- import './chunk-LYESSQUA.js';
7
- import { sanitizeTerminal } from './chunk-ZEQMTBRD.js';
8
- import { resolveRepoIdentity } from './chunk-LTJPX7TX.js';
6
+ import './chunk-UES67HLJ.js';
7
+ import { sanitizeTerminal } from './chunk-VDI5POCC.js';
8
+ import { resolveRepoIdentity } from './chunk-IU4NZROR.js';
9
9
  import './chunk-USO2DKBD.js';
10
10
  import './chunk-N6LURUEF.js';
11
11
  import './chunk-YRYMNBGQ.js';
@@ -1,15 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { runWorkPr, WorkPrCommandError } from './chunk-5MF73XCV.js';
4
- import { resolveCredentials } from './chunk-KWCJLAHQ.js';
5
- import './chunk-KPUJGBA4.js';
3
+ import { itemLabel, runWorkPr, WorkPrCommandError } from './chunk-I263FZ3A.js';
4
+ import { resolveCredentials } from './chunk-DTDZXDQ3.js';
5
+ import './chunk-ZQ5JGHUO.js';
6
6
  import './chunk-BFESLKPP.js';
7
- import './chunk-LYESSQUA.js';
8
- import './chunk-ZEQMTBRD.js';
9
- import './chunk-LTJPX7TX.js';
7
+ import './chunk-UES67HLJ.js';
8
+ import './chunk-VDI5POCC.js';
9
+ import './chunk-IU4NZROR.js';
10
10
  import './chunk-USO2DKBD.js';
11
11
  import './chunk-N6LURUEF.js';
12
12
  import './chunk-YRYMNBGQ.js';
13
+ import { parseWorkItemEnv } from './chunk-GQD22KKN.js';
13
14
  import './chunk-WZBHBH3J.js';
14
15
  import { defaultFetch } from './chunk-YO4PSLVB.js';
15
16
  import './chunk-PLMTLGYH.js';
@@ -82,6 +83,11 @@ async function openThroughGateway(creds, workItem, title, body, fetchImpl) {
82
83
  return json.data;
83
84
  }
84
85
  async function openWithGh(opts, title, bodyFile, cwd) {
86
+ const launched = opts.env.OUTERLAYER_WORK;
87
+ if (launched !== void 0) {
88
+ const parsed = parseWorkItemEnv(launched);
89
+ if (!("number" in parsed)) throw new WorkOpenPrCommandError(parsed.reason);
90
+ }
85
91
  const runGh = opts.runGh ?? spawnGh;
86
92
  const viewed = runGh(["pr", "view", "--json", "number"], cwd);
87
93
  let existing;
@@ -130,7 +136,9 @@ async function openWithGh(opts, title, bodyFile, cwd) {
130
136
  repository,
131
137
  number,
132
138
  url: urlMatch ? urlMatch[0] : `https://${repository.startsWith("github.com/") ? repository : `github.com/${repository}`}/pull/${number}`,
133
- created: existing === void 0
139
+ created: existing === void 0,
140
+ workItemNumber: declared.data.workItemNumber,
141
+ workItemTitle: declared.data.workItemTitle
134
142
  };
135
143
  }
136
144
  async function runWorkOpenPr(opts) {
@@ -154,7 +162,7 @@ async function runWorkOpenPr(opts) {
154
162
  } else {
155
163
  data = await openWithGh({ ...opts, env }, opts.title, opts.bodyFile, cwd);
156
164
  }
157
- 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}`;
165
+ 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 })}`}`;
158
166
  if (!opts.quiet) process.stdout.write(output + "\n");
159
167
  return { data, output };
160
168
  }
@@ -1,14 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { WorkPrCommandError, runWorkPr } from './chunk-5MF73XCV.js';
4
- import './chunk-KPUJGBA4.js';
3
+ export { WorkPrCommandError, itemLabel, runWorkPr } from './chunk-I263FZ3A.js';
4
+ import './chunk-ZQ5JGHUO.js';
5
5
  import './chunk-BFESLKPP.js';
6
- import './chunk-LYESSQUA.js';
7
- import './chunk-ZEQMTBRD.js';
8
- import './chunk-LTJPX7TX.js';
6
+ import './chunk-UES67HLJ.js';
7
+ import './chunk-VDI5POCC.js';
8
+ import './chunk-IU4NZROR.js';
9
9
  import './chunk-USO2DKBD.js';
10
10
  import './chunk-N6LURUEF.js';
11
11
  import './chunk-YRYMNBGQ.js';
12
+ import './chunk-GQD22KKN.js';
12
13
  import './chunk-WZBHBH3J.js';
13
14
  import './chunk-YO4PSLVB.js';
14
15
  import './chunk-PLMTLGYH.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@outerlayer/cli",
3
- "version": "0.9.0",
3
+ "version": "0.10.1",
4
4
  "description": "OuterLayer CLI — commands: init, connect, doctor, login, logout, sync, daemon (alias: watch), emit, work, runner, hooks, mcp, import, context. Capture and sync coding-agent sessions, and record proof of factory work.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Magu Studios, Inc.",
@@ -1,103 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire } from 'node:module';
3
- import { autoConnect } from './chunk-KPUJGBA4.js';
4
- import { detectActiveSession } from './chunk-BFESLKPP.js';
5
- import { resolveRepoIdentity } from './chunk-LTJPX7TX.js';
6
- import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
7
- import { defaultFetch } from './chunk-YO4PSLVB.js';
8
- import { unauthorizedMessage, resolveGatewayCredentials } from './chunk-PLMTLGYH.js';
9
- import { homeFromEnv } from './chunk-VNVZDWO3.js';
10
-
11
- createRequire(import.meta.url);
12
-
13
- // src/work-pr-cmd.ts
14
- var GREEN = "\x1B[32m";
15
- var DIM = "\x1B[2m";
16
- var RESET = "\x1B[0m";
17
- var WorkPrCommandError = class extends Error {
18
- };
19
- function resolveCredentials(opts) {
20
- const resolved = resolveGatewayCredentials(opts);
21
- if (!resolved.ok) throw new WorkPrCommandError(resolved.message);
22
- return { url: resolved.url, apiKey: resolved.credential, appId: resolved.appId };
23
- }
24
- function resolveRepository(repoFlag, cwd) {
25
- if (repoFlag) return repoFlag;
26
- const identity = resolveRepoIdentity(cwd);
27
- if (identity.gitRepo) return identity.gitRepo;
28
- throw new WorkPrCommandError(
29
- "no repository. Pass --repo <owner/name>, or run from a git checkout with a remote."
30
- );
31
- }
32
- function resolvePrNumber(raw) {
33
- const n = parseTrackerNumber(raw);
34
- if (n === void 0) throw new WorkPrCommandError(trackerNumberError("<n>", raw ?? ""));
35
- return n;
36
- }
37
- async function runWorkPr(opts) {
38
- const cwd = opts.cwd ?? process.cwd();
39
- const env = opts.env ?? process.env;
40
- const home = opts.home ?? homeFromEnv(env);
41
- const refusal = await autoConnect({ ...opts, repository: opts.repo });
42
- if (refusal !== void 0) throw new WorkPrCommandError(refusal);
43
- const creds = resolveCredentials(opts);
44
- const prNumber = resolvePrNumber(opts.number);
45
- const repository = resolveRepository(opts.repo, cwd);
46
- const identity = resolveRepoIdentity(cwd);
47
- const sessionId = opts.sessionId ?? detectActiveSession({
48
- env,
49
- home,
50
- cwds: identity.repoRoot !== void 0 ? [identity.repoRoot, cwd] : [cwd],
51
- nowMs: Date.now()
52
- });
53
- if (sessionId === void 0) {
54
- throw new WorkPrCommandError(
55
- "no active session detected. `work pr` declares a pull request from inside the session that opened it."
56
- );
57
- }
58
- const fetchImpl = opts.fetchImpl ?? defaultFetch;
59
- const endpoint = new URL("/v1/work-items/pull-requests", creds.url).toString();
60
- let response;
61
- try {
62
- response = await fetchImpl(endpoint, {
63
- method: "POST",
64
- headers: {
65
- "content-type": "application/json",
66
- authorization: `Bearer ${creds.apiKey}`,
67
- "x-outerlayer-app-id": creds.appId
68
- },
69
- body: JSON.stringify({ sessionId, pullRequest: { repository, number: prNumber } })
70
- });
71
- } catch (err) {
72
- throw new WorkPrCommandError(`network error reaching ${endpoint}: ${String(err)}`);
73
- }
74
- if (response.status === 401) {
75
- throw new WorkPrCommandError(
76
- unauthorizedMessage(creds.apiKey)
77
- );
78
- }
79
- let json;
80
- try {
81
- json = await response.json();
82
- } catch {
83
- throw new WorkPrCommandError(
84
- `${endpoint} answered ${response.status} with a body that is not JSON \u2014 the request may not have reached the gateway`
85
- );
86
- }
87
- if (!response.ok || !json.data) {
88
- if (json.error?.code === "session_not_on_item") {
89
- throw new WorkPrCommandError("this session is not launched on a work item.");
90
- }
91
- if (json.error?.code === "repository_not_connected") {
92
- throw new WorkPrCommandError(`${repository} is not a workpiece of this factory.`);
93
- }
94
- throw new WorkPrCommandError(json.error?.message ?? `request failed (${response.status})`);
95
- }
96
- const data = json.data;
97
- const verb = data.created ? "declared" : "already declared";
98
- const output = opts.json ? JSON.stringify(data) : `${GREEN}\u2713${RESET} ${verb} ${DIM}\xB7${RESET} ${data.repository}#${data.prNumber} ${DIM}\u2192${RESET} ${data.workItemId}`;
99
- if (!opts.quiet) process.stdout.write(output + "\n");
100
- return { data, output };
101
- }
102
-
103
- export { WorkPrCommandError, runWorkPr };