@outerlayer/cli 0.5.1 → 0.7.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 (92) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +19 -0
  3. package/dist/{agent-setup-IFH3FB5X.js → agent-setup-TXLDY5RV.js} +7 -6
  4. package/dist/{build-PAEKVYVK.js → build-JF5UOWKJ.js} +2 -1
  5. package/dist/build-info.json +1 -1
  6. package/dist/{check-4Q33B5ZE.js → check-ASZL5BEO.js} +39 -23
  7. package/dist/chunk-2VO25HHO.js +75 -0
  8. package/dist/{chunk-XDDW4FRS.js → chunk-5FWNEQNZ.js} +3 -3
  9. package/dist/{chunk-CHLVJNTE.js → chunk-6IYLDODX.js} +18 -6
  10. package/dist/{chunk-W7UTFZDH.js → chunk-6QWV3YDJ.js} +2 -2
  11. package/dist/{chunk-EGABNHZG.js → chunk-6ZZHWY2Z.js} +149 -18
  12. package/dist/{lima-XN65D7GN.js → chunk-77MM5RYD.js} +0 -1
  13. package/dist/chunk-7FTNIAHS.js +211 -0
  14. package/dist/{chunk-EMY4I27X.js → chunk-7ZR5UPMB.js} +555 -5
  15. package/dist/{chunk-F4NU4H3V.js → chunk-AII7CKTH.js} +133 -35
  16. package/dist/{chunk-ZXBITXTS.js → chunk-AIW6GLET.js} +1 -1
  17. package/dist/{chunk-UWH5DSUP.js → chunk-AJKEHABI.js} +507 -90
  18. package/dist/{chunk-RTXKYLCA.js → chunk-AQ54MKSQ.js} +2 -2
  19. package/dist/{chunk-Z62HNKEJ.js → chunk-CEBIA5FD.js} +31 -5
  20. package/dist/{chunk-EX6M5JPR.js → chunk-D6FXM5OW.js} +6302 -28611
  21. package/dist/{chunk-RMAZ2NWA.js → chunk-DGAIVMMN.js} +23 -2
  22. package/dist/{chunk-3DD6AOWC.js → chunk-DTXOJDEH.js} +26 -2
  23. package/dist/{chunk-T52PKE2Y.js → chunk-E4PIFIC3.js} +244 -17
  24. package/dist/{chunk-H5NCNVDA.js → chunk-EV3M3EH7.js} +2 -2
  25. package/dist/chunk-FBTE2A2X.js +38 -0
  26. package/dist/{chunk-DVDEBNQJ.js → chunk-GQD22KKN.js} +17 -6
  27. package/dist/{chunk-BCJNHMZT.js → chunk-HHJDN6AU.js} +18 -3
  28. package/dist/chunk-HKMPVPO7.js +55 -0
  29. package/dist/{chunk-UFFXNXLQ.js → chunk-JPR2WHHF.js} +31 -29
  30. package/dist/{chunk-ZMYPLFG3.js → chunk-M3SQ4YGD.js} +1 -1
  31. package/dist/{chunk-H4CK2YK4.js → chunk-MQPRB5K7.js} +18 -10
  32. package/dist/{chunk-AUFG23AA.js → chunk-OD2VTIHN.js} +19 -47
  33. package/dist/chunk-OUUINEYB.js +27 -0
  34. package/dist/chunk-PUN7LMNS.js +39 -0
  35. package/dist/{install-cmd-7WXOIFDO.js → chunk-Q5G2ODUZ.js} +1 -2
  36. package/dist/{chunk-B2G7JHHB.js → chunk-R7STSBLC.js} +1 -1
  37. package/dist/{chunk-OR6AEEDO.js → chunk-SSU747O6.js} +85 -25
  38. package/dist/chunk-T6OIJQRT.js +31 -0
  39. package/dist/{chunk-YYYXRJUW.js → chunk-TI7B7UEO.js} +1 -1
  40. package/dist/{chunk-WO2BXCTQ.js → chunk-VXLJORHL.js} +1 -1
  41. package/dist/{chunk-CBPPJSAR.js → chunk-WVGSB3Z2.js} +2 -2
  42. package/dist/{chunk-JLDZTG3A.js → chunk-X2FSFU4C.js} +4 -1
  43. package/dist/chunk-YNJEOGDL.js +22434 -0
  44. package/dist/{chunk-W4SQCOZU.js → chunk-ZOAEPWGL.js} +1 -1
  45. package/dist/{chunk-WOBNRVQT.js → chunk-ZYHKJKSU.js} +1 -1
  46. package/dist/{chunk-WIOZAJ2W.js → chunk-ZZXLM64C.js} +1 -1
  47. package/dist/{cli-LHSUYYMI.js → cli-LEVCGAQV.js} +154 -79
  48. package/dist/command-FLSYCGIB.js +187 -0
  49. package/dist/config-I3TVFYLH.js +10 -0
  50. package/dist/{connect-cmd-OJBFHZWP.js → connect-cmd-MJMUONDY.js} +4 -4
  51. package/dist/{context-adopt-UMA4O5NY.js → context-adopt-CE4KDXS3.js} +5 -4
  52. package/dist/{context-materialize-G2FUFC72.js → context-materialize-QL33HDJN.js} +5 -4
  53. package/dist/{dist-WDV7U7UJ.js → dist-PXBSA7QX.js} +2 -1
  54. package/dist/{doctor-MOA3RIEP.js → doctor-FVDT3KJZ.js} +46 -19
  55. package/dist/{emit-artifact-cmd-FDWYKURA.js → emit-artifact-cmd-7RPMRSVP.js} +13 -7
  56. package/dist/{emit-cmd-DCERAU27.js → emit-cmd-2QRMYPYO.js} +4 -3
  57. package/dist/{emit-criteria-cmd-OCXHLK34.js → emit-criteria-cmd-MKI7WETO.js} +12 -3
  58. package/dist/{emit-finding-cmd-POW7PKIA.js → emit-finding-cmd-RMLGZASB.js} +14 -3
  59. package/dist/{emit-result-cmd-ID35SH53.js → emit-result-cmd-MTXAZ2GV.js} +15 -9
  60. package/dist/{exec-client-4XGXV3XN.js → exec-client-NPYNUAF3.js} +4 -3
  61. package/dist/{guest-init-GENRHNP7.js → guest-init-JWNNAH2H.js} +4 -3
  62. package/dist/{hook-fast-EYENPK6F.js → hook-fast-XBOZ3N6L.js} +1 -1
  63. package/dist/{import-capture-cmd-AVZ4VIVJ.js → import-capture-cmd-T4556ELW.js} +3 -2
  64. package/dist/{import-ruler-cmd-GUHL6IY5.js → import-ruler-cmd-SG3UVGI7.js} +2 -1
  65. package/dist/index.js +3 -2
  66. package/dist/{init-FYDJAKTM.js → init-BACXESVV.js} +21 -14
  67. package/dist/{init-2IPOIXJV.js → init-VLW7H6RW.js} +40 -62
  68. package/dist/{init-cmd-KLIDRVXQ.js → init-cmd-VJFB5L7X.js} +10 -9
  69. package/dist/inspect-XAUSB7L3.js +63 -0
  70. package/dist/install-NMAPLLBQ.js +14 -0
  71. package/dist/install-cmd-B5SEU3G7.js +8 -0
  72. package/dist/lima-7NPCNGWT.js +6 -0
  73. package/dist/{logs-7RYUH5A6.js → logs-H55NWW4H.js} +1 -0
  74. package/dist/loop-D3243JKT.js +64 -0
  75. package/dist/{machine-ECU3QCZD.js → machine-EB3GEVI4.js} +20 -13
  76. package/dist/session-sender-LMACEJJS.js +29 -0
  77. package/dist/{starter-pack-LIZYMKYQ.js → starter-pack-MUXMAU4S.js} +4 -3
  78. package/dist/{status-CLATHCTQ.js → status-F4THTJJK.js} +36 -16
  79. package/dist/{sync-cmd-SWQ5KLPL.js → sync-cmd-M6JA3OEE.js} +7 -7
  80. package/dist/{watch-3YW6Z3DQ.js → watch-NB5TGPEZ.js} +7 -7
  81. package/dist/{work-claim-cmd-3OPWA77E.js → work-claim-cmd-UHMWOS3G.js} +14 -7
  82. package/dist/{work-cmd-NUR4CAG6.js → work-cmd-6UMCFTAW.js} +9 -3
  83. package/dist/{work-comment-cmd-6TTTYGHM.js → work-comment-cmd-E4LEUIXZ.js} +9 -3
  84. package/dist/{work-launch-YI4CJDAP.js → work-launch-R5HTAP6X.js} +1 -1
  85. package/dist/{work-open-pr-cmd-KZ7QQFLD.js → work-open-pr-cmd-OPZWGSEQ.js} +10 -4
  86. package/dist/{work-pr-cmd-QNUBE6IQ.js → work-pr-cmd-IDIAFFRU.js} +9 -2
  87. package/package.json +2 -1
  88. package/skill-pack/template/build/scripts/record-criteria.mjs +2 -1
  89. package/dist/chunk-D2KWEAN6.js +0 -55
  90. package/dist/chunk-ZOC7JSYC.js +0 -83
  91. package/dist/config-HL2AIR3K.js +0 -9
  92. package/dist/loop-NEBUGD2Q.js +0 -45
@@ -1,25 +1,25 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { CHUNK_PART_TARGET_BYTES, RETRYABLE_STATUSES, SyncConfigError, SyncTransportError, isLoopbackUrl, resolveTier, runSync } from './chunk-EGABNHZG.js';
4
- export { detectCi } from './chunk-ZOC7JSYC.js';
5
- import './chunk-BCJNHMZT.js';
3
+ export { CHUNK_PART_TARGET_BYTES, RETRYABLE_STATUSES, SyncConfigError, SyncTransportError, detectCi, isLoopbackUrl, resolveTier, runSync } from './chunk-6ZZHWY2Z.js';
4
+ import './chunk-HHJDN6AU.js';
6
5
  import './chunk-TBT347UY.js';
7
6
  import './chunk-F7CU5ABH.js';
8
7
  import './chunk-BKO6JEZI.js';
9
8
  import './chunk-BFESLKPP.js';
10
- import './chunk-WOBNRVQT.js';
11
- import './chunk-EX6M5JPR.js';
9
+ import './chunk-ZYHKJKSU.js';
10
+ import './chunk-D6FXM5OW.js';
12
11
  import './chunk-YRYMNBGQ.js';
13
- import './chunk-DVDEBNQJ.js';
12
+ import './chunk-GQD22KKN.js';
14
13
  import './chunk-WZBHBH3J.js';
15
14
  import './chunk-5QRP3MVS.js';
16
15
  import './chunk-ZJSNLVCE.js';
17
16
  import './chunk-BCLJSQCV.js';
18
17
  import './chunk-BOLTI6LR.js';
18
+ import './chunk-YNJEOGDL.js';
19
19
  export { cloudConfigPath, readCloudConfig, writeCloudConfig } from './chunk-EABW6AJQ.js';
20
20
  import './chunk-M5POMKKW.js';
21
21
  import './chunk-ZM2IMMYN.js';
22
- import './chunk-UFFXNXLQ.js';
22
+ import './chunk-JPR2WHHF.js';
23
23
  import './chunk-XCCLFVXM.js';
24
24
  import './chunk-BJ3KTMDH.js';
25
25
  import './chunk-VNVZDWO3.js';
@@ -1,25 +1,25 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { LiveUploader } from './chunk-EGABNHZG.js';
4
- import './chunk-ZOC7JSYC.js';
5
- import './chunk-BCJNHMZT.js';
3
+ import { LiveUploader } from './chunk-6ZZHWY2Z.js';
4
+ import './chunk-HHJDN6AU.js';
6
5
  import './chunk-TBT347UY.js';
7
6
  import './chunk-F7CU5ABH.js';
8
7
  import './chunk-BKO6JEZI.js';
9
8
  import './chunk-BFESLKPP.js';
10
- import './chunk-WOBNRVQT.js';
11
- import { StatuslineAggregator, CaptureDaemon } from './chunk-EX6M5JPR.js';
9
+ import './chunk-ZYHKJKSU.js';
10
+ import { StatuslineAggregator, CaptureDaemon } from './chunk-D6FXM5OW.js';
12
11
  import './chunk-YRYMNBGQ.js';
13
- import './chunk-DVDEBNQJ.js';
12
+ import './chunk-GQD22KKN.js';
14
13
  import './chunk-WZBHBH3J.js';
15
14
  import './chunk-5QRP3MVS.js';
16
15
  import './chunk-ZJSNLVCE.js';
17
16
  import './chunk-BCLJSQCV.js';
18
17
  import './chunk-BOLTI6LR.js';
18
+ import './chunk-YNJEOGDL.js';
19
19
  import './chunk-EABW6AJQ.js';
20
20
  import './chunk-M5POMKKW.js';
21
21
  import './chunk-ZM2IMMYN.js';
22
- import './chunk-UFFXNXLQ.js';
22
+ import './chunk-JPR2WHHF.js';
23
23
  import './chunk-XCCLFVXM.js';
24
24
  import './chunk-BJ3KTMDH.js';
25
25
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
@@ -1,17 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RUNNER_PROTOCOL } from './chunk-ZXBITXTS.js';
4
- import { resolveCredentials, WorkCommandError, parsePositiveInt, postJson, resolveRepository, findLiveItem } from './chunk-RMAZ2NWA.js';
5
- export { WorkCommandError } from './chunk-RMAZ2NWA.js';
3
+ import { RUNNER_PROTOCOL } from './chunk-AIW6GLET.js';
4
+ import { resolveCredentials, WorkCommandError, parsePositiveInt, postJson, resolveRepository, findLiveItem } from './chunk-DGAIVMMN.js';
5
+ export { WorkCommandError } from './chunk-DGAIVMMN.js';
6
+ import './chunk-PUN7LMNS.js';
6
7
  import './chunk-BFESLKPP.js';
7
- import './chunk-WOBNRVQT.js';
8
- import './chunk-EX6M5JPR.js';
9
- import { defaultRunnerConfigPath } from './chunk-3DD6AOWC.js';
8
+ import './chunk-SSU747O6.js';
9
+ import './chunk-ZYHKJKSU.js';
10
+ import './chunk-D6FXM5OW.js';
11
+ import './chunk-USO2DKBD.js';
12
+ import './chunk-N6LURUEF.js';
13
+ import './chunk-YRYMNBGQ.js';
14
+ import { defaultRunnerConfigPath } from './chunk-DTXOJDEH.js';
10
15
  import './chunk-F6GFZXZ3.js';
11
- import './chunk-AUFG23AA.js';
16
+ import './chunk-OD2VTIHN.js';
17
+ import './chunk-HKMPVPO7.js';
12
18
  import './chunk-WZBHBH3J.js';
13
19
  import { defaultFetch } from './chunk-BCLJSQCV.js';
14
20
  import './chunk-BOLTI6LR.js';
21
+ import './chunk-YNJEOGDL.js';
15
22
  import './chunk-EABW6AJQ.js';
16
23
  import { ensureHostKey } from './chunk-M5POMKKW.js';
17
24
  import './chunk-ZM2IMMYN.js';
@@ -1,12 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { WorkCommandError, findLiveItem, getJson, parsePositiveInt, postJson, resolveCredentials, resolveRepository, runWorkBuild, runWorkLinkSession, runWorkList, runWorkRemove, runWorkStatus } from './chunk-RMAZ2NWA.js';
3
+ export { WorkCommandError, findLiveItem, getJson, parsePositiveInt, postJson, resolveCredentials, resolveRepository, runWorkBuild, runWorkLinkSession, runWorkList, runWorkRemove, runWorkStatus } from './chunk-DGAIVMMN.js';
4
+ import './chunk-PUN7LMNS.js';
4
5
  import './chunk-BFESLKPP.js';
5
- import './chunk-WOBNRVQT.js';
6
- import './chunk-EX6M5JPR.js';
6
+ import './chunk-SSU747O6.js';
7
+ import './chunk-ZYHKJKSU.js';
8
+ import './chunk-D6FXM5OW.js';
9
+ import './chunk-USO2DKBD.js';
10
+ import './chunk-N6LURUEF.js';
11
+ import './chunk-YRYMNBGQ.js';
7
12
  import './chunk-WZBHBH3J.js';
8
13
  import './chunk-BCLJSQCV.js';
9
14
  import './chunk-BOLTI6LR.js';
15
+ import './chunk-YNJEOGDL.js';
10
16
  import './chunk-EABW6AJQ.js';
11
17
  import './chunk-M5POMKKW.js';
12
18
  import './chunk-ZM2IMMYN.js';
@@ -1,12 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { resolveCredentials, postJson, getJson } from './chunk-RMAZ2NWA.js';
3
+ import { resolveCredentials, postJson, getJson } from './chunk-DGAIVMMN.js';
4
+ import './chunk-PUN7LMNS.js';
4
5
  import { detectActiveSession } from './chunk-BFESLKPP.js';
5
- import { sanitizeTerminal } from './chunk-WOBNRVQT.js';
6
- import { resolveRepoIdentity } from './chunk-EX6M5JPR.js';
6
+ import './chunk-SSU747O6.js';
7
+ import { sanitizeTerminal } from './chunk-ZYHKJKSU.js';
8
+ import { resolveRepoIdentity } from './chunk-D6FXM5OW.js';
9
+ import './chunk-USO2DKBD.js';
10
+ import './chunk-N6LURUEF.js';
11
+ import './chunk-YRYMNBGQ.js';
7
12
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
8
13
  import { defaultFetch } from './chunk-BCLJSQCV.js';
9
14
  import './chunk-BOLTI6LR.js';
15
+ import './chunk-YNJEOGDL.js';
10
16
  import './chunk-EABW6AJQ.js';
11
17
  import './chunk-M5POMKKW.js';
12
18
  import './chunk-ZM2IMMYN.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { appendLaunchRecord, launchStatusIsDecisive, launchedItemForSession, launchedItemsBySession, launchesPath, parseWorkItemEnv, readLaunchSpoolState } from './chunk-DVDEBNQJ.js';
3
+ export { appendLaunchRecord, launchStatusIsDecisive, launchedItemForSession, launchedItemsBySession, launchesPath, parseWorkItemEnv, readLaunchSpoolState } from './chunk-GQD22KKN.js';
4
4
  import './chunk-WZBHBH3J.js';
5
5
  import './chunk-Z5GEFMRW.js';
6
6
 
@@ -1,13 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { runWorkPr, WorkPrCommandError } from './chunk-JLDZTG3A.js';
4
- import { resolveCredentials } from './chunk-RMAZ2NWA.js';
3
+ import { runWorkPr, WorkPrCommandError } from './chunk-X2FSFU4C.js';
4
+ import { resolveCredentials } from './chunk-DGAIVMMN.js';
5
+ import './chunk-PUN7LMNS.js';
5
6
  import './chunk-BFESLKPP.js';
6
- import './chunk-WOBNRVQT.js';
7
- import './chunk-EX6M5JPR.js';
7
+ import './chunk-SSU747O6.js';
8
+ import './chunk-ZYHKJKSU.js';
9
+ import './chunk-D6FXM5OW.js';
10
+ import './chunk-USO2DKBD.js';
11
+ import './chunk-N6LURUEF.js';
12
+ import './chunk-YRYMNBGQ.js';
8
13
  import './chunk-WZBHBH3J.js';
9
14
  import { defaultFetch } from './chunk-BCLJSQCV.js';
10
15
  import './chunk-BOLTI6LR.js';
16
+ import './chunk-YNJEOGDL.js';
11
17
  import './chunk-EABW6AJQ.js';
12
18
  import './chunk-M5POMKKW.js';
13
19
  import './chunk-ZM2IMMYN.js';
@@ -1,11 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { WorkPrCommandError, runWorkPr } from './chunk-JLDZTG3A.js';
3
+ export { WorkPrCommandError, runWorkPr } from './chunk-X2FSFU4C.js';
4
+ import './chunk-PUN7LMNS.js';
4
5
  import './chunk-BFESLKPP.js';
5
- import './chunk-EX6M5JPR.js';
6
+ import './chunk-SSU747O6.js';
7
+ import './chunk-ZYHKJKSU.js';
8
+ import './chunk-D6FXM5OW.js';
9
+ import './chunk-USO2DKBD.js';
10
+ import './chunk-N6LURUEF.js';
11
+ import './chunk-YRYMNBGQ.js';
6
12
  import './chunk-WZBHBH3J.js';
7
13
  import './chunk-BCLJSQCV.js';
8
14
  import './chunk-BOLTI6LR.js';
15
+ import './chunk-YNJEOGDL.js';
9
16
  import './chunk-EABW6AJQ.js';
10
17
  import './chunk-M5POMKKW.js';
11
18
  import './chunk-ZM2IMMYN.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@outerlayer/cli",
3
- "version": "0.5.1",
3
+ "version": "0.7.0",
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.",
@@ -56,6 +56,7 @@
56
56
  "http-message-sig": "0.3.0",
57
57
  "structured-headers": "2.0.3",
58
58
  "tsup": "^8.5.0",
59
+ "tsx": "^4.22.4",
59
60
  "typescript": "^5.5.3",
60
61
  "vitest": "^4.1.8"
61
62
  },
@@ -13,7 +13,8 @@ import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
13
13
  import { dirname, join } from "node:path";
14
14
  import { pathToFileURL } from "node:url";
15
15
 
16
- const PROOF_KINDS = ["video", "screenshot", "report", "log", "file"];
16
+ /** Mirrors ARTIFACT_KINDS in @outerlayer/session-schema (a test pins them equal); this script imports no packages. */
17
+ export const PROOF_KINDS = ["video", "screenshot", "report", "log", "test", "file"];
17
18
  const BULLET = /^\s*(?:[-*+]|\d+[.)])\s+(.*)$/;
18
19
  const HEADING = /^\s{0,3}(#{1,6})\s+(.*?)\s*#*\s*$/;
19
20
  const ID_ITEM = /^`([A-Za-z0-9_.:-]{1,64})`\s*(.*)$/;
@@ -1,55 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire } from 'node:module';
3
- import { sanitizeTerminal } from './chunk-WOBNRVQT.js';
4
- import { DEFAULT_DASHBOARD } from './chunk-USO2DKBD.js';
5
- import { readCloudConfig } from './chunk-EABW6AJQ.js';
6
-
7
- createRequire(import.meta.url);
8
-
9
- // src/repository-link.ts
10
- var LINKS_TIMEOUT_MS = 15e3;
11
- var GITHUB_PREFIX = "github.com/";
12
- function isLinkedRepository(local, linked) {
13
- if (linked.provider !== "github" || typeof linked.repository !== "string") return false;
14
- return local.toLowerCase() === `${GITHUB_PREFIX}${linked.repository.toLowerCase()}`;
15
- }
16
- function ownerAndName(repository) {
17
- return repository.toLowerCase().startsWith(GITHUB_PREFIX) ? repository.slice(GITHUB_PREFIX.length) : repository;
18
- }
19
- async function isRepositoryLinked(fetchImpl, gatewayUrl, token, appId, repository) {
20
- if (!repository.toLowerCase().startsWith(GITHUB_PREFIX)) return null;
21
- let res;
22
- try {
23
- res = await fetchImpl(`${gatewayUrl.replace(/\/+$/, "")}/v1/apps/${encodeURIComponent(appId)}/git/links`, {
24
- method: "GET",
25
- headers: { authorization: `Bearer ${token}`, "x-outerlayer-app-id": appId },
26
- signal: AbortSignal.timeout(LINKS_TIMEOUT_MS)
27
- });
28
- } catch {
29
- return null;
30
- }
31
- if (!res.ok) return null;
32
- const listed = (await res.json().catch(() => void 0))?.data;
33
- if (!Array.isArray(listed)) return null;
34
- return listed.some((entry) => isLinkedRepository(repository, entry ?? {}));
35
- }
36
- function dashboardBase(home) {
37
- const saved = readCloudConfig(home).dashboard;
38
- const base = typeof saved === "string" && saved.trim() !== "" ? saved : DEFAULT_DASHBOARD;
39
- return base.replace(/\/+$/, "");
40
- }
41
- function workPageUrl(home, organization, factory) {
42
- return `${dashboardBase(home)}/orgs/${encodeURIComponent(organization)}/factories/${encodeURIComponent(factory)}/work`;
43
- }
44
- function notLinkedText(factoryName, repository, url) {
45
- const shown = sanitizeTerminal(repository);
46
- const name = sanitizeTerminal(ownerAndName(repository));
47
- return `${factoryName} has no link to ${shown} yet, so work from this repository cannot reach it.
48
- Link it on the factory's Work page: ${url}
49
- 1. Connect GitHub repository, and grant the App access to ${name}.
50
- 2. Link repository, and pick ${name} and its default branch.
51
- Then run \`outerlayer connect\` again.
52
- `;
53
- }
54
-
55
- export { dashboardBase, isLinkedRepository, isRepositoryLinked, notLinkedText, workPageUrl };
@@ -1,83 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire } from 'node:module';
3
- import { setCustomScrubbers, setLocalIdentity, setRepoRoot, resolveRepoIdentity, scrubDeep, downconvertSession, isHumanUserTurn, turnCountBound } from './chunk-EX6M5JPR.js';
4
- import { execFileSync } from 'child_process';
5
- import { hostname, userInfo } from 'os';
6
-
7
- createRequire(import.meta.url);
8
- function detectCi(env = process.env) {
9
- return env.CI === "true" || env.CI === "1" || !!env.JENKINS_URL;
10
- }
11
- function gitGlobalConfig(key) {
12
- try {
13
- return execFileSync("git", ["config", "--global", key], { encoding: "utf8", timeout: 2e3 }).trim() || void 0;
14
- } catch {
15
- return void 0;
16
- }
17
- }
18
- function installScrubContext(home, scrub) {
19
- setCustomScrubbers(scrub);
20
- setLocalIdentity({
21
- name: gitGlobalConfig("user.name"),
22
- email: gitGlobalConfig("user.email"),
23
- username: (() => {
24
- try {
25
- return userInfo().username;
26
- } catch {
27
- return void 0;
28
- }
29
- })(),
30
- hostname: (() => {
31
- try {
32
- return hostname();
33
- } catch {
34
- return void 0;
35
- }
36
- })(),
37
- home
38
- });
39
- }
40
- function applyContextProvenance(session, record) {
41
- if (!record) return;
42
- if (record.repository !== void 0) session.env.contextSourceRepo = record.repository;
43
- if (record.ref !== void 0) session.env.contextSourceRef = record.ref;
44
- if (record.sha !== null) session.env.contextSourceSha = record.sha;
45
- session.env.contextSourceVerification = record.verification;
46
- }
47
- function prepareSessionForUpload(session, tier, envVars = process.env) {
48
- setRepoRoot(resolveRepoIdentity(session.env.cwd).repoRoot);
49
- scrubDeep(session);
50
- session.workerKind ??= detectCi(envVars) ? "ci" : "seat";
51
- return downconvertSession(session, tier);
52
- }
53
- var MAX_TOOL_IO_CHARS = 64e3;
54
- function sliceToolIo(value) {
55
- const text = typeof value === "string" ? value : JSON.stringify(value);
56
- if (typeof text !== "string" || text.length <= MAX_TOOL_IO_CHARS) return value;
57
- return `${text.slice(0, MAX_TOOL_IO_CHARS)}\u2026[sliced: ${text.length} chars exceeded the sync per-call cap]`;
58
- }
59
- function sliceTurnIo(turn) {
60
- return {
61
- ...turn,
62
- toolCalls: (turn.toolCalls ?? []).map((call) => ({
63
- ...call,
64
- ...call.input !== void 0 ? { input: sliceToolIo(call.input) } : {},
65
- ...call.output !== void 0 ? { output: sliceToolIo(call.output) } : {}
66
- }))
67
- };
68
- }
69
- function wholeSessionCounts(turns) {
70
- const allCalls = turns.flatMap((t) => t.toolCalls ?? []);
71
- return {
72
- // An index BOUND (`1 + max(turn.index)`), not the shipped turn count —
73
- // turn indexes are not guaranteed dense from zero, and a late artifact
74
- // anchored at its real turn index must still validate against the
75
- // summary row this produces (see turnCountBound).
76
- turns: turnCountBound(turns),
77
- toolCalls: allCalls.length,
78
- errors: allCalls.filter((c) => c.status === "error").length,
79
- userTurns: turns.filter(isHumanUserTurn).length
80
- };
81
- }
82
-
83
- export { applyContextProvenance, detectCi, installScrubContext, prepareSessionForUpload, sliceTurnIo, wholeSessionCounts };
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire } from 'node:module';
3
- export { RunnerConfigError, builtinKind, checkHooks, defaultRunnerConfigPath, hasRunnerBlock, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, loadRunnerConfig, resolveBuild, runnerVmOf } from './chunk-3DD6AOWC.js';
4
- import './chunk-F6GFZXZ3.js';
5
- import './chunk-AUFG23AA.js';
6
- import './chunk-VNVZDWO3.js';
7
- import './chunk-Z5GEFMRW.js';
8
-
9
- createRequire(import.meta.url);
@@ -1,45 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire } from 'node:module';
3
- export { RunnerStartError, listJobFiles, probeCredentials, requestStop, runnerProcessState, start, tick, watchTick } from './chunk-F4NU4H3V.js';
4
- import './chunk-UWH5DSUP.js';
5
- import './chunk-ZXBITXTS.js';
6
- import './chunk-UGP76IZ5.js';
7
- import './chunk-ABIWDUMS.js';
8
- import './chunk-YYYXRJUW.js';
9
- import './chunk-CBPPJSAR.js';
10
- import './chunk-YYYRBYWG.js';
11
- import './chunk-ZOC7JSYC.js';
12
- import './chunk-TBT347UY.js';
13
- import './chunk-T52PKE2Y.js';
14
- import './chunk-Z62HNKEJ.js';
15
- import './chunk-N5FOE5PS.js';
16
- import './chunk-OGFGZQA3.js';
17
- import './chunk-774HEQL6.js';
18
- import './chunk-QOZKPLVJ.js';
19
- import './chunk-W4SQCOZU.js';
20
- import './chunk-B2G7JHHB.js';
21
- import './chunk-RMAZ2NWA.js';
22
- import './chunk-BFESLKPP.js';
23
- import './chunk-WOBNRVQT.js';
24
- import './chunk-EX6M5JPR.js';
25
- import './chunk-3DD6AOWC.js';
26
- import './chunk-F6GFZXZ3.js';
27
- import './chunk-AUFG23AA.js';
28
- import './chunk-WZBHBH3J.js';
29
- import './chunk-XDDW4FRS.js';
30
- import './chunk-WIOZAJ2W.js';
31
- import './chunk-WO2BXCTQ.js';
32
- import './chunk-EMY4I27X.js';
33
- import './chunk-ZJSNLVCE.js';
34
- import './chunk-BCLJSQCV.js';
35
- import './chunk-BOLTI6LR.js';
36
- import './chunk-EABW6AJQ.js';
37
- import './chunk-RA3O54FC.js';
38
- import './chunk-M5POMKKW.js';
39
- import './chunk-ZM2IMMYN.js';
40
- import './chunk-XCCLFVXM.js';
41
- import './chunk-BJ3KTMDH.js';
42
- import './chunk-VNVZDWO3.js';
43
- import './chunk-Z5GEFMRW.js';
44
-
45
- createRequire(import.meta.url);