dorfl 0.14.1 → 0.14.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/advance-ci-template.d.ts.map +1 -1
  2. package/dist/advance-ci-template.js +10 -4
  3. package/dist/advance-ci-template.js.map +1 -1
  4. package/dist/advance-lifecycle-template.d.ts.map +1 -1
  5. package/dist/advance-lifecycle-template.js +78 -25
  6. package/dist/advance-lifecycle-template.js.map +1 -1
  7. package/dist/cli.js +2 -2
  8. package/dist/close-job-template.d.ts +1 -1
  9. package/dist/close-job-template.d.ts.map +1 -1
  10. package/dist/close-job-template.js +17 -3
  11. package/dist/close-job-template.js.map +1 -1
  12. package/dist/install-ci-action-pins.d.ts +98 -0
  13. package/dist/install-ci-action-pins.d.ts.map +1 -0
  14. package/dist/install-ci-action-pins.js +165 -0
  15. package/dist/install-ci-action-pins.js.map +1 -0
  16. package/dist/install-ci-core.d.ts +84 -0
  17. package/dist/install-ci-core.d.ts.map +1 -1
  18. package/dist/install-ci-core.js +120 -14
  19. package/dist/install-ci-core.js.map +1 -1
  20. package/dist/install-ci-github.d.ts +15 -1
  21. package/dist/install-ci-github.d.ts.map +1 -1
  22. package/dist/install-ci-github.js +32 -0
  23. package/dist/install-ci-github.js.map +1 -1
  24. package/dist/install-ci.d.ts.map +1 -1
  25. package/dist/install-ci.js +21 -0
  26. package/dist/install-ci.js.map +1 -1
  27. package/dist/intake-trigger-template.d.ts.map +1 -1
  28. package/dist/intake-trigger-template.js +24 -7
  29. package/dist/intake-trigger-template.js.map +1 -1
  30. package/dist/intake.d.ts.map +1 -1
  31. package/dist/intake.js +10 -5
  32. package/dist/intake.js.map +1 -1
  33. package/dist/mint-adr.d.ts.map +1 -1
  34. package/dist/mint-adr.js +4 -1
  35. package/dist/mint-adr.js.map +1 -1
  36. package/dist/slug-namespace.d.ts +4 -3
  37. package/dist/slug-namespace.d.ts.map +1 -1
  38. package/dist/slug-namespace.js +28 -3
  39. package/dist/slug-namespace.js.map +1 -1
  40. package/dist/slug-safety.d.ts +55 -0
  41. package/dist/slug-safety.d.ts.map +1 -0
  42. package/dist/slug-safety.js +76 -0
  43. package/dist/slug-safety.js.map +1 -0
  44. package/dist/triage-persist.d.ts.map +1 -1
  45. package/dist/triage-persist.js +12 -3
  46. package/dist/triage-persist.js.map +1 -1
  47. package/dist/verify-workflow-template.d.ts +1 -1
  48. package/dist/verify-workflow-template.d.ts.map +1 -1
  49. package/dist/verify-workflow-template.js +16 -3
  50. package/dist/verify-workflow-template.js.map +1 -1
  51. package/package.json +3 -2
  52. package/src/advance-ci-template.ts +12 -4
  53. package/src/advance-lifecycle-template.ts +80 -25
  54. package/src/cli.ts +2 -2
  55. package/src/close-job-template.ts +17 -3
  56. package/src/install-ci-action-pins.ts +184 -0
  57. package/src/install-ci-core.ts +166 -14
  58. package/src/install-ci-github.ts +40 -1
  59. package/src/install-ci.ts +25 -0
  60. package/src/intake-trigger-template.ts +28 -7
  61. package/src/intake.ts +10 -5
  62. package/src/mint-adr.ts +4 -1
  63. package/src/slug-namespace.ts +33 -5
  64. package/src/slug-safety.ts +83 -0
  65. package/src/triage-persist.ts +13 -7
  66. package/src/verify-workflow-template.ts +16 -3
@@ -0,0 +1,165 @@
1
+ /**
2
+ * The ONE table of third-party GitHub Actions that `dorfl install-ci` emits,
3
+ * each pinned to a full 40-character commit SHA, plus the regeneration rule that
4
+ * keeps a consumer repository's own pins.
5
+ *
6
+ * WHY SHAS. A tag such as `@v5` can be moved by whoever controls the action's
7
+ * repository, so a compromised or careless release reaches every job that uses
8
+ * it, including dorfl's jobs that hold `contents: write` and a provider API key.
9
+ * A commit SHA cannot move. This is GitHub's own hardening guidance ("Using
10
+ * third-party actions", Security hardening for GitHub Actions).
11
+ *
12
+ * THE FORMAT. Every reference is emitted as `owner/repo@<40-hex-sha> # vX.Y.Z`,
13
+ * the exact shape Dependabot writes and rewrites, so a consumer that enables
14
+ * Dependabot's `github-actions` ecosystem (with `/.github/actions/*` in
15
+ * `directories` for the composite action) gets reviewable bump PRs.
16
+ *
17
+ * HOW EACH SHA WAS RESOLVED (2026-09-26). For each tag:
18
+ * 1. `git ls-remote --tags https://github.com/<owner>/<repo>.git`, reading the
19
+ * peeled `refs/tags/<tag>^{}` line when the tag is annotated (that line is
20
+ * the COMMIT; the unpeeled line is the tag OBJECT and must never be used),
21
+ * else the tag line itself for a lightweight tag;
22
+ * 2. cross-checked with `gh api repos/<owner>/<repo>/git/ref/tags/<tag>`
23
+ * (object type) and `gh api repos/<owner>/<repo>/commits/<sha>` (the SHA is
24
+ * a commit that exists in the repository).
25
+ *
26
+ * actions/checkout v7.0.1: lightweight tag, `git/ref` type `commit`,
27
+ * 3d3c42e5aac5ba805825da76410c181273ba90b1 ("prep v7.0.1 release (#2531)").
28
+ * The floating `v7` tag points at the same commit. v7 is the current major
29
+ * and adds the fork-PR checkout block for `pull_request_target` /
30
+ * `workflow_run` that v5 lacks; the inputs dorfl passes (`fetch-depth`,
31
+ * `persist-credentials`) are unchanged.
32
+ * actions/setup-node v7.0.0: lightweight tag, `git/ref` type `commit`,
33
+ * 820762786026740c76f36085b0efc47a31fe5020 ("Migrate to ESM and upgrade
34
+ * dependencies (#1574)"). The floating `v7` tag points at the same commit.
35
+ * `node-version` and `package-manager-cache` are still inputs (see the
36
+ * comment on the setup-node step in `generateSetupAction`).
37
+ * pnpm/action-setup v6.1.0: ANNOTATED tag. `git/ref` type `tag` with object
38
+ * d9184bf108216479bc5a137cc391f4d7b14c870b (the tag object, NOT usable);
39
+ * peeled `^{}` and `gh api .../git/tags/d9184bf...` both give the commit
40
+ * ea17c68df8912ef543352723c149a84f56e3d413 ("feat: support pnpm v12
41
+ * (#288)"). With no `version` input it still reads `packageManager` from
42
+ * package.json, which is how dorfl's workspace mode uses it.
43
+ *
44
+ * To bump a pin: resolve the new tag the same way, update the entry, and record
45
+ * the resolution above. `install-ci-actions-pinned.test.ts` fails on any
46
+ * emitted `uses:` that is not a full SHA.
47
+ */
48
+ /** Every third-party action dorfl's generators emit. */
49
+ export const ACTION_PINS = {
50
+ checkout: {
51
+ action: 'actions/checkout',
52
+ sha: '3d3c42e5aac5ba805825da76410c181273ba90b1',
53
+ version: 'v7.0.1',
54
+ },
55
+ setupNode: {
56
+ action: 'actions/setup-node',
57
+ sha: '820762786026740c76f36085b0efc47a31fe5020',
58
+ version: 'v7.0.0',
59
+ },
60
+ pnpmSetup: {
61
+ action: 'pnpm/action-setup',
62
+ sha: 'ea17c68df8912ef543352723c149a84f56e3d413',
63
+ version: 'v6.1.0',
64
+ },
65
+ };
66
+ /**
67
+ * The value to put after `uses: ` for a pinned action:
68
+ * `owner/repo@<sha> # vX.Y.Z` (the Dependabot format).
69
+ */
70
+ export function pinnedUses(pin) {
71
+ return `${pin.action}@${pin.sha} # ${pin.version}`;
72
+ }
73
+ // ─── preserving the consumer's pins on regeneration ─────────────────────────
74
+ /**
75
+ * A `uses:` step line: the prefix (indentation, an optional `- ` list marker,
76
+ * `uses:` and its spacing), then the VALUE (an optionally quoted
77
+ * `action@ref`), then an optional trailing comment. Matched per line, which is
78
+ * how both dorfl's templates and Dependabot write these lines. A flow-style or
79
+ * multi-line `uses:` value is not recognised (and so not preserved).
80
+ */
81
+ const USES_LINE = /^(\s*(?:-\s+)?uses:[ \t]+)((['"]?)([^\s'"@#]+)@([^\s'"#]+)\3(?:[ \t]+#.*)?)[ \t]*$/;
82
+ /**
83
+ * A full commit SHA (what counts as "pinned"). Case-insensitive here, so a
84
+ * consumer's uppercase pin is still kept; dorfl itself emits lowercase.
85
+ */
86
+ const FULL_SHA = /^[0-9a-f]{40}$/i;
87
+ /** The lookup key for an action: GitHub treats `owner/repo` case-insensitively. */
88
+ function actionKey(action) {
89
+ return action.toLowerCase();
90
+ }
91
+ /** A remote action key (`owner/repo[/path]`), i.e. not `./local` nor `docker://`. */
92
+ function isRemoteAction(action) {
93
+ return !action.startsWith('.') && /^[^/\s]+\/[^/\s]+/.test(action);
94
+ }
95
+ /** Parse the version out of a trailing `# v1.2.3` comment, for ranking. */
96
+ function versionOf(tail) {
97
+ const m = /#\s*v?(\d+(?:\.\d+)*)/.exec(tail);
98
+ return m ? m[1].split('.').map(Number) : undefined;
99
+ }
100
+ /** Compare two parsed versions; a missing version ranks lowest. */
101
+ function compareVersions(a, b) {
102
+ if (!a || !b)
103
+ return (a ? 1 : 0) - (b ? 1 : 0);
104
+ for (let i = 0; i < Math.max(a.length, b.length); i++) {
105
+ const d = (a[i] ?? 0) - (b[i] ?? 0);
106
+ if (d !== 0)
107
+ return d;
108
+ }
109
+ return 0;
110
+ }
111
+ /**
112
+ * Collect the SHA pins an existing file already carries, keyed by action
113
+ * (`owner/repo[/path]`). The value is the whole `uses:` value with its trailing
114
+ * comment, exactly as written. When the file pins the same action to several
115
+ * different SHAs, the one whose `# vX.Y.Z` comment is highest wins (ties: the
116
+ * first in the file), so a partial manual bump is never undone.
117
+ */
118
+ export function existingPins(existing) {
119
+ const pins = new Map();
120
+ // `\r?\n`: a CRLF checkout (Windows, `core.autocrlf`) must not hide its pins,
121
+ // or dorfl's default would silently replace them.
122
+ for (const line of existing.split(/\r?\n/)) {
123
+ const m = USES_LINE.exec(line);
124
+ if (!m)
125
+ continue;
126
+ const [, , value, , action, ref] = m;
127
+ if (!isRemoteAction(action) || !FULL_SHA.test(ref))
128
+ continue;
129
+ const key = actionKey(action);
130
+ const current = pins.get(key);
131
+ if (current === undefined ||
132
+ compareVersions(versionOf(value), versionOf(current)) > 0) {
133
+ pins.set(key, value);
134
+ }
135
+ }
136
+ return pins;
137
+ }
138
+ /**
139
+ * Rewrite a freshly generated workflow / composite action so every `uses:` of an
140
+ * action that `existing` already pins to a full SHA keeps the consumer's
141
+ * reference and trailing comment. Matching is by action (`owner/repo`, plus the
142
+ * path for an action in a subdirectory), never by position. An existing TAG is
143
+ * not a pin: the generated reference (dorfl's SHA) stays. So the result never
144
+ * swaps a SHA for a tag. Only the value after `uses: ` changes; indentation and
145
+ * every other line are the generated ones.
146
+ */
147
+ export function preserveExistingPins(generated, existing) {
148
+ if (existing === undefined)
149
+ return generated;
150
+ const pins = existingPins(existing);
151
+ if (pins.size === 0)
152
+ return generated;
153
+ return generated
154
+ .split('\n')
155
+ .map((line) => {
156
+ const m = USES_LINE.exec(line);
157
+ if (!m)
158
+ return line;
159
+ const [, prefix, , , action] = m;
160
+ const kept = pins.get(actionKey(action));
161
+ return kept === undefined ? line : `${prefix}${kept}`;
162
+ })
163
+ .join('\n');
164
+ }
165
+ //# sourceMappingURL=install-ci-action-pins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-ci-action-pins.js","sourceRoot":"","sources":["../src/install-ci-action-pins.ts"],"names":[],"mappings":"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"}
@@ -132,7 +132,35 @@ export interface ResolvedCIConfig {
132
132
  projectSetup?: Record<string, unknown>;
133
133
  /** See {@link CIConfigFile.maxParallel}. Always resolved (default applied). */
134
134
  maxParallel: number;
135
+ /**
136
+ * The repo's visibility, DETECTED at generation time through the provider
137
+ * seam ({@link CIProviderContext.getRepoVisibility}); never read from or
138
+ * written to a config file (it is a fact about the repo, not a choice).
139
+ * `undefined` ⇒ unknown, which keeps the conservative output. See
140
+ * {@link shouldDropCheckoutCredentials}.
141
+ */
142
+ repoVisibility?: RepoVisibility;
135
143
  }
144
+ /**
145
+ * A repository's visibility on its CI provider. Used ONLY to decide whether the
146
+ * read-only jobs (verify, close-job) may check out with
147
+ * `persist-credentials: false`: on a PUBLIC repo every git read works without a
148
+ * token, so dropping the persisted token cannot break a fetch; on a private or
149
+ * internal repo (or when visibility is unknown) a fetch may need it.
150
+ */
151
+ export type RepoVisibility = 'public' | 'private' | 'internal';
152
+ /** Parse a provider's visibility answer (`PUBLIC`, `private`, ...); unknown ⇒ `undefined`. */
153
+ export declare function parseRepoVisibility(raw: string): RepoVisibility | undefined;
154
+ /**
155
+ * Whether the read-only jobs (verify, close-job) should check out with
156
+ * `persist-credentials: false`. True ONLY when the repo is KNOWN to be public:
157
+ * then the persisted token adds nothing a git read needs (those jobs have
158
+ * `contents: read`, so they cannot push either way), while leaving it in
159
+ * `.git/config` hands it to every later step, including the project-setup
160
+ * hook's dependency installs. Unknown or non-public ⇒ keep today's checkout, so
161
+ * a project gate that runs `git fetch` on a private repo keeps working.
162
+ */
163
+ export declare function shouldDropCheckoutCredentials(config: Pick<ResolvedCIConfig, 'repoVisibility'>): boolean;
136
164
  /** The default harness the composite setup action installs. */
137
165
  export declare const DEFAULT_HARNESS: HarnessAdapter;
138
166
  /**
@@ -207,6 +235,13 @@ export interface CIProviderContext {
207
235
  * no default-branch concept.
208
236
  */
209
237
  getDefaultBranch?(): Promise<string | undefined>;
238
+ /**
239
+ * OPTIONALLY report the repo's VISIBILITY (GitHub:
240
+ * `gh repo view --json visibility`). Read-only. Returns `undefined` when the
241
+ * lookup fails; absent on a provider with no such concept. Drives
242
+ * {@link shouldDropCheckoutCredentials}.
243
+ */
244
+ getRepoVisibility?(): Promise<RepoVisibility | undefined>;
210
245
  /**
211
246
  * OPTIONALLY create/replace a branch RULESET (GitHub:
212
247
  * `POST /repos/{owner}/{repo}/rulesets`) carrying the deadlock-guard
@@ -395,6 +430,48 @@ export declare function resolveCIConfig(file: CIConfigFile): ResolvedCIConfig;
395
430
  * the `secrets` field is omitted entirely (never an empty object).
396
431
  */
397
432
  export declare function exportCIConfig(config: ResolvedCIConfig, secrets?: Record<string, string>): string;
433
+ /**
434
+ * The npm package the composite setup action installs for the `pi` harness.
435
+ *
436
+ * Upstream moved the harness from `@mariozechner/pi-coding-agent` (deprecated,
437
+ * frozen at 0.73.1) to this name. The binary is still `pi` and it still reads
438
+ * `~/.pi/agent/` (models.json / auth.json), so nothing else in the generated
439
+ * action changes.
440
+ */
441
+ export declare const PI_HARNESS_PACKAGE = "@earendil-works/pi-coding-agent";
442
+ /**
443
+ * The EXACT `pi` harness version the composite setup action installs.
444
+ *
445
+ * Pinned because the install runs in jobs that hold `contents: write` and a
446
+ * provider API key: an unpinned `npm install -g` resolves whatever `latest` is
447
+ * at RUN time, so a compromised or broken release would reach those
448
+ * credentials with no review and no lockfile to catch it.
449
+ *
450
+ * It is a constant dorfl DECLARES (not an install-ci parameter) because the
451
+ * harness is coupled to dorfl, not to the consumer: dorfl drives `pi` through
452
+ * its CLI flags and reads its session files (`session-path.ts`,
453
+ * `watch-session.ts`), so the harness version that works is a property of the
454
+ * dorfl release. Bump it here, with a changeset, when a dorfl release needs a
455
+ * newer harness; every consumer picks it up on their next `install-ci` run.
456
+ *
457
+ * 0.80.6 is the version dorfl is exercised against day to day (the maintainer's
458
+ * installed `pi`), not the newest release: a harness upgrade should be a
459
+ * deliberate, tested bump. It requires Node >= 22.19.0, which the action's
460
+ * `node-version: '22'` satisfies (setup-node resolves the latest 22.x).
461
+ */
462
+ export declare const PI_HARNESS_VERSION = "0.80.6";
463
+ /**
464
+ * The version of THIS dorfl package, read at runtime from its own
465
+ * `package.json` (the single source changesets bumps on release). The composite
466
+ * setup action installs `dorfl@<this version>` so a consumer's CI runs the SAME
467
+ * CLI that generated its workflows, instead of whatever `latest` is at run time.
468
+ *
469
+ * Resolved relative to this module (`dist/install-ci-core.js` or
470
+ * `src/install-ci-core.ts` → `../package.json`), so it works from the built CLI
471
+ * and under tsx. Throws when the version cannot be read: silently falling back
472
+ * to an unpinned install would reintroduce exactly the risk the pin removes.
473
+ */
474
+ export declare function dorflPackageVersion(): string;
398
475
  /**
399
476
  * Generate the shared COMPOSITE SETUP ACTION (`dorfl-setup`): installs
400
477
  * Node + `dorfl` + the configured harness, configures git identity, and
@@ -457,6 +534,13 @@ export declare function outputBaseName(fake: boolean): string;
457
534
  * Write the artifacts under `<workDir>/<base>/` (base = `.fake` when `fake`, else
458
535
  * `.github`). Returns the repo-relative paths actually written. Pure filesystem
459
536
  * I/O — no secrets, no git. Creates parent dirs as needed.
537
+ *
538
+ * PIN PRESERVATION. Before writing a YAML artifact, any `uses:` of an action the
539
+ * repository's EXISTING `.github/<path>` already pins to a full commit SHA keeps
540
+ * that reference and its trailing comment (see {@link preserveExistingPins}),
541
+ * so a Dependabot bump survives regeneration and a pin is never swapped for a
542
+ * tag. The existing file is always read from `.github/`, also in `--fake` mode,
543
+ * so the `.fake/` preview shows what a real run would write.
460
544
  */
461
545
  export declare function writeArtifacts(options: {
462
546
  workDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"install-ci-core.d.ts","sourceRoot":"","sources":["../src/install-ci-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-ci-core.d.ts","sourceRoot":"","sources":["../src/install-ci-core.ts"],"names":[],"mappings":"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"}
@@ -24,9 +24,27 @@
24
24
  * policy is the SAME engine gate family resolved via the generated workflow's
25
25
  * `DORFL_*` env block, NOT a new config knob minted here.
26
26
  */
27
- import { readFileSync, writeFileSync, mkdirSync, readdirSync } from 'node:fs';
27
+ import { readFileSync, writeFileSync, mkdirSync, readdirSync, existsSync, } from 'node:fs';
28
28
  import { dirname, join, relative } from 'node:path';
29
29
  import { fileURLToPath } from 'node:url';
30
+ import { ACTION_PINS, pinnedUses, preserveExistingPins, } from './install-ci-action-pins.js';
31
+ /** Parse a provider's visibility answer (`PUBLIC`, `private`, ...); unknown ⇒ `undefined`. */
32
+ export function parseRepoVisibility(raw) {
33
+ const v = raw.trim().toLowerCase();
34
+ return v === 'public' || v === 'private' || v === 'internal' ? v : undefined;
35
+ }
36
+ /**
37
+ * Whether the read-only jobs (verify, close-job) should check out with
38
+ * `persist-credentials: false`. True ONLY when the repo is KNOWN to be public:
39
+ * then the persisted token adds nothing a git read needs (those jobs have
40
+ * `contents: read`, so they cannot push either way), while leaving it in
41
+ * `.git/config` hands it to every later step, including the project-setup
42
+ * hook's dependency installs. Unknown or non-public ⇒ keep today's checkout, so
43
+ * a project gate that runs `git fetch` on a private repo keeps working.
44
+ */
45
+ export function shouldDropCheckoutCredentials(config) {
46
+ return config.repoVisibility === 'public';
47
+ }
30
48
  /** The default harness the composite setup action installs. */
31
49
  export const DEFAULT_HARNESS = 'pi';
32
50
  /**
@@ -364,6 +382,67 @@ function indent(text, spaces) {
364
382
  .map((line) => (line.trim() === '' ? '' : pad + line))
365
383
  .join('\n');
366
384
  }
385
+ /**
386
+ * The npm package the composite setup action installs for the `pi` harness.
387
+ *
388
+ * Upstream moved the harness from `@mariozechner/pi-coding-agent` (deprecated,
389
+ * frozen at 0.73.1) to this name. The binary is still `pi` and it still reads
390
+ * `~/.pi/agent/` (models.json / auth.json), so nothing else in the generated
391
+ * action changes.
392
+ */
393
+ export const PI_HARNESS_PACKAGE = '@earendil-works/pi-coding-agent';
394
+ /**
395
+ * The EXACT `pi` harness version the composite setup action installs.
396
+ *
397
+ * Pinned because the install runs in jobs that hold `contents: write` and a
398
+ * provider API key: an unpinned `npm install -g` resolves whatever `latest` is
399
+ * at RUN time, so a compromised or broken release would reach those
400
+ * credentials with no review and no lockfile to catch it.
401
+ *
402
+ * It is a constant dorfl DECLARES (not an install-ci parameter) because the
403
+ * harness is coupled to dorfl, not to the consumer: dorfl drives `pi` through
404
+ * its CLI flags and reads its session files (`session-path.ts`,
405
+ * `watch-session.ts`), so the harness version that works is a property of the
406
+ * dorfl release. Bump it here, with a changeset, when a dorfl release needs a
407
+ * newer harness; every consumer picks it up on their next `install-ci` run.
408
+ *
409
+ * 0.80.6 is the version dorfl is exercised against day to day (the maintainer's
410
+ * installed `pi`), not the newest release: a harness upgrade should be a
411
+ * deliberate, tested bump. It requires Node >= 22.19.0, which the action's
412
+ * `node-version: '22'` satisfies (setup-node resolves the latest 22.x).
413
+ */
414
+ export const PI_HARNESS_VERSION = '0.80.6';
415
+ /**
416
+ * The version of THIS dorfl package, read at runtime from its own
417
+ * `package.json` (the single source changesets bumps on release). The composite
418
+ * setup action installs `dorfl@<this version>` so a consumer's CI runs the SAME
419
+ * CLI that generated its workflows, instead of whatever `latest` is at run time.
420
+ *
421
+ * Resolved relative to this module (`dist/install-ci-core.js` or
422
+ * `src/install-ci-core.ts` → `../package.json`), so it works from the built CLI
423
+ * and under tsx. Throws when the version cannot be read: silently falling back
424
+ * to an unpinned install would reintroduce exactly the risk the pin removes.
425
+ */
426
+ export function dorflPackageVersion() {
427
+ const here = dirname(fileURLToPath(import.meta.url));
428
+ const pkgPath = join(here, '..', 'package.json');
429
+ let version;
430
+ try {
431
+ version = JSON.parse(readFileSync(pkgPath, 'utf8'))
432
+ .version;
433
+ }
434
+ catch (err) {
435
+ throw new Error(`install-ci: cannot read dorfl's own version from ${pkgPath} ` +
436
+ `(needed to pin \`npm install -g dorfl@<version>\`): ` +
437
+ (err instanceof Error ? err.message : String(err)));
438
+ }
439
+ if (typeof version !== 'string' ||
440
+ !/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.+-]+)?$/.test(version)) {
441
+ throw new Error(`install-ci: dorfl's package.json at ${pkgPath} has no usable semver ` +
442
+ `"version" (got ${JSON.stringify(version)}); cannot pin the CI install.`);
443
+ }
444
+ return version;
445
+ }
367
446
  /**
368
447
  * The install step for the configured harness (the `pi` CLI; `''` ⇒ none).
369
448
  * `registry` mode installs via `npm install -g`; `workspace` mode installs via
@@ -372,10 +451,14 @@ function indent(text, spaces) {
372
451
  */
373
452
  function harnessInstallStep(harness, installSource) {
374
453
  if (harness === 'pi') {
454
+ const spec = `${PI_HARNESS_PACKAGE}@${PI_HARNESS_VERSION}`;
375
455
  const run = installSource === 'workspace'
376
- ? 'pnpm add -g @mariozechner/pi-coding-agent'
377
- : 'npm install -g @mariozechner/pi-coding-agent';
456
+ ? `pnpm add -g ${spec}`
457
+ : `npm install -g ${spec}`;
378
458
  return `
459
+ # Pinned to the exact harness version this dorfl release declares
460
+ # (PI_HARNESS_VERSION): the job holds write access and a provider key, so the
461
+ # version must not move on its own. Re-run \`dorfl install-ci\` to upgrade.
379
462
  - name: Install agent harness (pi)
380
463
  shell: bash
381
464
  run: ${run}`;
@@ -478,7 +561,7 @@ ${indent(modelsJsonStr, 8)}
478
561
  if (config.installSource === 'workspace') {
479
562
  installSteps = `\
480
563
  - name: Setup pnpm
481
- uses: pnpm/action-setup@v5
564
+ uses: ${pinnedUses(ACTION_PINS.pnpmSetup)}
482
565
 
483
566
  - name: Add pnpm global bin to PATH
484
567
  shell: bash
@@ -486,18 +569,26 @@ ${indent(modelsJsonStr, 8)}
486
569
  pnpm setup
487
570
  echo "$HOME/.local/share/pnpm" >> "$GITHUB_PATH"
488
571
 
572
+ # \`--ignore-scripts\`: nothing here needs an install-time script. The build is
573
+ # explicit (\`pnpm -r build\` below; the root \`prepare\` would only repeat it),
574
+ # and verify runs on fork pull requests, where a lifecycle script would run
575
+ # the fork's code before any gate does.
489
576
  - name: Install dependencies and build dorfl
490
577
  shell: bash
491
578
  run: |
492
- pnpm install
579
+ pnpm install --ignore-scripts
493
580
  pnpm -r build
494
581
  cd packages/dorfl && pnpm link --global${installHarness}`;
495
582
  }
496
583
  else {
497
584
  installSteps = `\
585
+ # Pinned to the dorfl version that generated this action, so CI runs the
586
+ # same CLI that wrote these workflows (and never an unreviewed \`latest\` in a
587
+ # job holding write access and a provider key). Re-run \`dorfl install-ci\`
588
+ # after upgrading dorfl to move the pin.
498
589
  - name: Install dorfl
499
590
  shell: bash
500
- run: npm install -g dorfl${installHarness}`;
591
+ run: npm install -g dorfl@${dorflPackageVersion()}${installHarness}`;
501
592
  }
502
593
  // NO bespoke CI resolver shim (task install-ci-shim-converges-on-dorfl-cmd,
503
594
  // spec `dorfl-self-version-pinning-and-bootstrap-forward` §6 / story 4).
@@ -558,15 +649,16 @@ runs:
558
649
  using: composite
559
650
  steps:
560
651
  ${projectSetupBlock} - name: Setup Node.js
561
- uses: actions/setup-node@v5
652
+ uses: ${pinnedUses(ACTION_PINS.setupNode)}
562
653
  with:
563
654
  node-version: '22'
564
- # setup-node@v5 auto-enables package-manager caching, which probes the
565
- # project package manager DURING its own run when a lockfile is present,
566
- # before that manager is on PATH, so the probe crashes ("Unable to
567
- # locate executable file"). dorfl provisions ONLY its own runtime and
568
- # leaves the project package-manager cache to the project (toolchain
569
- # boundary), so disable it explicitly.
655
+ # setup-node (v5 and later) auto-enables package-manager caching. In v5
656
+ # it probed whatever manager package.json's packageManager named, during
657
+ # its own run and before that manager was on PATH, and crashed ("Unable
658
+ # to locate executable file"). Since v6 it only fires when package.json
659
+ # declares npm, and then fails if there is no npm lockfile. Either way
660
+ # it is the project's cache, not dorfl's: dorfl provisions ONLY its own
661
+ # runtime (toolchain boundary), so disable it explicitly.
570
662
  package-manager-cache: false
571
663
 
572
664
  - name: Configure git identity
@@ -724,14 +816,28 @@ export function outputBaseName(fake) {
724
816
  * Write the artifacts under `<workDir>/<base>/` (base = `.fake` when `fake`, else
725
817
  * `.github`). Returns the repo-relative paths actually written. Pure filesystem
726
818
  * I/O — no secrets, no git. Creates parent dirs as needed.
819
+ *
820
+ * PIN PRESERVATION. Before writing a YAML artifact, any `uses:` of an action the
821
+ * repository's EXISTING `.github/<path>` already pins to a full commit SHA keeps
822
+ * that reference and its trailing comment (see {@link preserveExistingPins}),
823
+ * so a Dependabot bump survives regeneration and a pin is never swapped for a
824
+ * tag. The existing file is always read from `.github/`, also in `--fake` mode,
825
+ * so the `.fake/` preview shows what a real run would write.
727
826
  */
728
827
  export function writeArtifacts(options) {
729
828
  const base = outputBaseName(options.fake);
730
829
  const written = [];
731
830
  for (const file of options.files) {
732
831
  const abs = join(options.workDir, base, file.path);
832
+ let content = file.content;
833
+ if (/\.ya?ml$/.test(file.path)) {
834
+ const current = join(options.workDir, outputBaseName(false), file.path);
835
+ if (existsSync(current)) {
836
+ content = preserveExistingPins(content, readFileSync(current, 'utf8'));
837
+ }
838
+ }
733
839
  mkdirSync(dirname(abs), { recursive: true });
734
- writeFileSync(abs, file.content, 'utf8');
840
+ writeFileSync(abs, content, 'utf8');
735
841
  written.push(relative(options.workDir, abs));
736
842
  }
737
843
  return written;
@@ -1 +1 @@
1
- {"version":3,"file":"install-ci-core.js","sourceRoot":"","sources":["../src/install-ci-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-ci-core.js","sourceRoot":"","sources":["../src/install-ci-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EACN,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,OAAO,EACN,WAAW,EACX,UAAU,EACV,oBAAoB,GACpB,MAAM,6BAA6B,CAAC;AAoIrC,8FAA8F;AAC9F,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC9C,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,6BAA6B,CAC5C,MAAgD;IAEhD,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAC;AAC3C,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,MAAM,eAAe,GAAmB,IAAI,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAkB,UAAU,CAAC;AAqIhE;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;AAEtD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA0B;IAC5D,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,sBAAsB;IACrC,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAiB;IACvD,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,GAAY;IAEZ,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACJ,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,sBAAsB,EAAE,CAAC,CAAC,qCAAqC;IACvE,CAAC;IACD,4EAA4E;IAC5E,MAAM,OAAO,GAAG,OAAO;SACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC1D,IAAI,EAAE,CAAC;IACT,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC5B,0EAA0E;QAC1E,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,sBAAsB,EAAE,CAAC;AACjC,CAAC;AAED,iFAAiF;AACjF,SAAS,aAAa,CAAC,OAAe;IACrC,OAAO,IAAI,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAA0B;IAGzD,MAAM,YAAY,GAA4B,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,KAAK,GAA4B,EAAC,MAAM,EAAE,CAAC,CAAC,YAAY,EAAC,CAAC;YAChE,IAAI,CAAC,CAAC,OAAO;gBAAE,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YACzC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,MAAM,KAAK,GAA4B;gBACtC,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,MAAM,EAAE,CAAC,CAAC,YAAY;gBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;aAChB,CAAC;YACF,IAAI,CAAC,CAAC,MAAM;gBAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACtC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC;IACF,CAAC;IACD,OAAO,EAAC,SAAS,EAAE,YAAY,EAAC,CAAC;AAClC,CAAC;AAED,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAwB;IAC3D,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;YAAE,SAAS;QACvC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAwB;IAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAwB;IAChE,MAAM,KAAK,GACV,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM,OAAO,GAAG,KAAK;SACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,IAAI,kBAAkB,IAAI,KAAK,CAAC;SAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,oBAAoB,OAAO,EAAE,CAAC;AACtC,CAAC;AAYD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAexC;IACA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAC,GAAG,OAAO,CAAC;IACpE,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,KAAK,EACvB,IAAY,EACZ,KAAsD,EACtC,EAAE;QAClB,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,EAAE,CAAC;YAClC,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAC,CAAC,CAAC;YACxC,OAAO;QACR,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC;gBACZ,IAAI;gBACJ,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACvD,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,4EAA4E;IAC5E,uEAAuE;IACvE,+CAA+C;IAC/C,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,gFAAgF;AAEhF,gDAAgD;AAChD,MAAM,OAAO,aAAc,SAAQ,KAAK;CAAG;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAChD,IAAI,IAAkB,CAAC;IACvB,IAAI,CAAC;QACJ,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAiB,CAAC;IACnE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,aAAa,CACtB,oCAAoC,QAAQ,IAAI;YAC/C,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CACnD,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC;IAChD,IAAI,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC5D,MAAM,IAAI,aAAa,CACtB,6DAA6D,CAC7D,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3B,MAAM,IAAI,aAAa,CAAC,4CAA4C,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,MAAM,IAAI,aAAa,CAAC,yCAAyC,CAAC,CAAC;IACpE,CAAC;IACD,IACC,IAAI,CAAC,aAAa,KAAK,SAAS;QAChC,IAAI,CAAC,aAAa,KAAK,UAAU;QACjC,IAAI,CAAC,aAAa,KAAK,WAAW,EACjC,CAAC;QACF,MAAM,IAAI,aAAa,CACtB,+DAA+D,CAC/D,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACrC,IACC,IAAI,CAAC,YAAY,KAAK,IAAI;YAC1B,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;YACrC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAC/B,CAAC;YACF,MAAM,IAAI,aAAa,CACtB,kEAAkE;gBACjE,2CAA2C;gBAC3C,gDAAgD,CACjD,CAAC;QACH,CAAC;IACF,CAAC;IACD,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAChC,IACC,CAAC,IAAI,CAAC,SAAS;YACf,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAC1B,CAAC;YACF,MAAM,IAAI,aAAa,CACtB,sEAAsE,CACtE,CAAC;QACH,CAAC;IACF,CAAC;IACD,OAAO;QACN,QAAQ;QACR,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,YAAY,EAAE,IAAI,CAAC,YAAY;KAC/B,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,eAAe,CAAC,IAAkB;IACjD,OAAO;QACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,eAAe;QACxC,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,sBAAsB;QAC3D,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,oBAAoB;KACrD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC7B,MAAwB,EACxB,OAAgC;IAEhC,MAAM,IAAI,GAAiB;QAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,aAAa,EAAE,MAAM,CAAC,aAAa;KACnC,CAAC;IACF,6EAA6E;IAC7E,yEAAyE;IACzE,IAAI,MAAM,CAAC,WAAW,KAAK,oBAAoB,EAAE,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAC7C,CAAC;AAED,gFAAgF;AAEhF,gEAAgE;AAChE,SAAS,MAAM,CAAC,IAAY,EAAE,MAAc;IAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,IAAI;SACT,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;SACrD,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,iCAAiC,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACjD,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACJ,OAAO,GAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAyB;aAC1E,OAAO,CAAC;IACX,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACd,oDAAoD,OAAO,GAAG;YAC7D,sDAAsD;YACtD,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CACnD,CAAC;IACH,CAAC;IACD,IACC,OAAO,OAAO,KAAK,QAAQ;QAC3B,CAAC,yCAAyC,CAAC,IAAI,CAAC,OAAO,CAAC,EACvD,CAAC;QACF,MAAM,IAAI,KAAK,CACd,uCAAuC,OAAO,wBAAwB;YACrE,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+BAA+B,CACzE,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAC1B,OAAuB,EACvB,aAA4B;IAE5B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,GAAG,kBAAkB,IAAI,kBAAkB,EAAE,CAAC;QAC3D,MAAM,GAAG,GACR,aAAa,KAAK,WAAW;YAC5B,CAAC,CAAC,eAAe,IAAI,EAAE;YACvB,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC7B,OAAO;;;;;;aAMI,GAAG,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CAClC,MAAwB;AACxB;;;;;;;GAOG;AACH,iBAA0B;IAE1B,IAAI,QAAgB,CAAC;IACrB,8EAA8E;IAC9E,iFAAiF;IACjF,mFAAmF;IACnF,MAAM,gBAAgB,GACrB,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACrC,QAAQ,GAAG;;;;;;;;;;;;;;;wDAe2C,CAAC;IACxD,CAAC;SAAM,CAAC;QACP,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CACnC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,EACjC,IAAI,EACJ,CAAC,CACD,CAAC;QACF,2EAA2E;QAC3E,6EAA6E;QAC7E,6EAA6E;QAC7E,iFAAiF;QACjF,MAAM,cAAc,GAAG,gBAAgB;aACrC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,IAAI,iBAAiB,IAAI,KAAK,CAAC;aACxD,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,cAAc,GAAG,gBAAgB;aACrC,GAAG,CACH,CAAC,IAAI,EAAE,EAAE,CACR,uBAAuB,IAAI,oBAAoB,IAAI,OAAO,IAAI,yBAAyB,CACxF;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,UAAU,GACf,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAC1B,CAAC,CAAC;;;;;;;;EAQJ,cAAc;;EAEd,cAAc,EAAE;YACd,CAAC,CAAC,EAAE,CAAC;QACP,QAAQ,GAAG;;;;;;EAMX,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;oBACN,UAAU,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,cAAc,GAAG,kBAAkB,CACxC,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,aAAa,CACpB,CAAC;IAEF,2EAA2E;IAC3E,kEAAkE;IAClE,6EAA6E;IAC7E,qEAAqE;IACrE,8EAA8E;IAC9E,wEAAwE;IACxE,6EAA6E;IAC7E,IAAI,YAAoB,CAAC;IACzB,IAAI,MAAM,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;QAC1C,YAAY,GAAG;;cAEH,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;iDAiBE,cAAc,EAAE,CAAC;IACjE,CAAC;SAAM,CAAC;QACP,YAAY,GAAG;;;;;;;kCAOiB,mBAAmB,EAAE,GAAG,cAAc,EAAE,CAAC;IAC1E,CAAC;IAED,4EAA4E;IAC5E,yEAAyE;IACzE,mEAAmE;IACnE,0EAA0E;IAC1E,oEAAoE;IACpE,sEAAsE;IACtE,2EAA2E;IAC3E,4EAA4E;IAC5E,yEAAyE;IACzE,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,mEAAmE;IACnE,6EAA6E;IAC7E,2CAA2C;IAE3C,uEAAuE;IACvE,8EAA8E;IAC9E,iFAAiF;IACjF,gEAAgE;IAChE,MAAM,WAAW,GAChB,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC;EACH,gBAAgB;aAChB,GAAG,CACH,CAAC,IAAI,EAAE,EAAE,CACR,KAAK,IAAI;4EACgE,IAAI;;gBAEhE,CACd;aACA,IAAI,CAAC,IAAI,CAAC;;CAEX;QACE,CAAC,CAAC,EAAE,CAAC;IAEP,iFAAiF;IACjF,gFAAgF;IAChF,gEAAgE;IAChE,MAAM,iBAAiB,GACtB,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAChD,CAAC,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;QAChD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;EAIN,WAAW;;;;;;;;;;;;;EAaX,iBAAiB;cACL,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;EAkB7C,YAAY;;EAEZ,QAAQ;CACT,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FnC,CAAC;AAEF,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAClC,MAAwB,EACxB,eAAoC,EAAE;AACtC;;;;;GAKG;AACH,OAAsC;IAEtC,MAAM,KAAK,GAAkB;QAC5B;YACC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC;YAClD,OAAO,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC;SAChE;KACD,CAAC;IACF,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC;YAChD,OAAO,EAAE,oBAAoB;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa;IAC3C,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,OAI9B;IACA,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,OAAO,GAAG,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACxE,CAAC;QACF,CAAC;QACD,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAC3C,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
@@ -13,7 +13,7 @@
13
13
  * stub it entirely (no network, no real `gh`, no real GitHub repo detection). The
14
14
  * adapter NEVER `--force`s and degrades gracefully when `gh` is missing.
15
15
  */
16
- import type { CIProviderContext } from './install-ci-core.js';
16
+ import { type CIProviderContext, type RepoVisibility } from './install-ci-core.js';
17
17
  /**
18
18
  * The provider id this adapter exposes through {@link CIProviderContext.providerId}.
19
19
  * Matches the key the orchestrator looks up in
@@ -109,6 +109,15 @@ export declare class GitHubCIContext implements CIProviderContext {
109
109
  * `master`-defaulted repo is never silently protected on a hardcoded `main`.
110
110
  */
111
111
  getDefaultBranch(): Promise<string | undefined>;
112
+ /**
113
+ * Detect the repo's VISIBILITY via
114
+ * `gh repo view --json visibility --jq .visibility` (GitHub answers
115
+ * `PUBLIC` / `PRIVATE` / `INTERNAL`). Returns `undefined` when `gh` is
116
+ * unavailable / the repo is unknown / the call fails / the answer is not one
117
+ * of those three, so the caller keeps the conservative (credential-persisting)
118
+ * checkout. Read-only.
119
+ */
120
+ getRepoVisibility(): Promise<RepoVisibility | undefined>;
112
121
  /**
113
122
  * Create the deadlock-guard RULESET via
114
123
  * `POST /repos/{owner}/{repo}/rulesets`. The `ruleset` body is JSON-piped on
@@ -161,6 +170,8 @@ export declare class MemoryCIProviderContext implements CIProviderContext {
161
170
  private readonly adminScope;
162
171
  /** What `getDefaultBranch()` should return (tests configure). */
163
172
  private readonly defaultBranch;
173
+ /** What `getRepoVisibility()` should return (tests configure). */
174
+ private readonly visibility;
164
175
  /** Whether `setBranchProtection` should throw (tests configure). */
165
176
  private readonly branchProtectionError;
166
177
  /** Whether `setBranchRuleset` should throw (tests configure). */
@@ -176,6 +187,8 @@ export declare class MemoryCIProviderContext implements CIProviderContext {
176
187
  * exercises its `main` fallback (models a `gh` that could not resolve it).
177
188
  */
178
189
  defaultBranch?: string;
190
+ /** Fixture repo visibility; `undefined` ⇒ unknown (lookup failed / no gh). */
191
+ visibility?: RepoVisibility;
179
192
  /** When set, `setBranchProtection` throws with this message (failure path). */
180
193
  branchProtectionError?: string;
181
194
  /** When set, `setBranchRuleset` throws with this message (failure path). */
@@ -193,6 +206,7 @@ export declare class MemoryCIProviderContext implements CIProviderContext {
193
206
  setRepoSetting(name: string, value: boolean): Promise<void>;
194
207
  getRepoAdminScope(): Promise<boolean | undefined>;
195
208
  getDefaultBranch(): Promise<string | undefined>;
209
+ getRepoVisibility(): Promise<RepoVisibility | undefined>;
196
210
  setBranchProtection(branch: string, spec: unknown): Promise<void>;
197
211
  setBranchRuleset(ruleset: unknown): Promise<void>;
198
212
  }
@@ -1 +1 @@
1
- {"version":3,"file":"install-ci-github.d.ts","sourceRoot":"","sources":["../src/install-ci-github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-ci-github.d.ts","sourceRoot":"","sources":["../src/install-ci-github.ts"],"names":[],"mappings":"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"}