@detergent-software/conductor 3.0.0-dev.2 → 3.0.0-dev.20

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 (133) hide show
  1. package/CHANGELOG.md +161 -0
  2. package/README.md +154 -42
  3. package/build/brief-cli.js +1 -1
  4. package/build/brief-cli.js.map +1 -1
  5. package/build/broker-cli.js +24 -25
  6. package/build/broker-cli.js.map +1 -1
  7. package/build/broker.js +66 -92
  8. package/build/broker.js.map +1 -1
  9. package/build/claude.js +50 -7
  10. package/build/claude.js.map +1 -1
  11. package/build/cli.js +119 -54
  12. package/build/cli.js.map +1 -1
  13. package/build/clones.js +92 -0
  14. package/build/clones.js.map +1 -0
  15. package/build/code-host-cli.js +95 -22
  16. package/build/code-host-cli.js.map +1 -1
  17. package/build/code-host.js +13 -8
  18. package/build/code-host.js.map +1 -1
  19. package/build/config.js +31 -12
  20. package/build/config.js.map +1 -1
  21. package/build/console.js +40 -24
  22. package/build/console.js.map +1 -1
  23. package/build/credentials.js +26 -24
  24. package/build/credentials.js.map +1 -1
  25. package/build/daemon.js +35 -21
  26. package/build/daemon.js.map +1 -1
  27. package/build/help.js +138 -28
  28. package/build/help.js.map +1 -1
  29. package/build/host/credential-manager.js +109 -0
  30. package/build/host/credential-manager.js.map +1 -0
  31. package/build/host/keychain.js +44 -0
  32. package/build/host/keychain.js.map +1 -0
  33. package/build/host/libsecret.js +40 -0
  34. package/build/host/libsecret.js.map +1 -0
  35. package/build/host/macos-terminal.js +63 -0
  36. package/build/host/macos-terminal.js.map +1 -0
  37. package/build/host/platform.js +4 -0
  38. package/build/host/platform.js.map +1 -0
  39. package/build/host/secrets.js +46 -0
  40. package/build/host/secrets.js.map +1 -0
  41. package/build/host/shell.js +26 -0
  42. package/build/host/shell.js.map +1 -0
  43. package/build/host/terminal.js +46 -0
  44. package/build/host/terminal.js.map +1 -0
  45. package/build/host/tmux.js +39 -0
  46. package/build/host/tmux.js.map +1 -0
  47. package/build/host/windows-terminal.js +46 -0
  48. package/build/host/windows-terminal.js.map +1 -0
  49. package/build/in-process.js +6 -5
  50. package/build/in-process.js.map +1 -1
  51. package/build/inbox.js +50 -5
  52. package/build/inbox.js.map +1 -1
  53. package/build/init.js +508 -0
  54. package/build/init.js.map +1 -0
  55. package/build/lib/providers/ado/pipelines.js +79 -13
  56. package/build/lib/providers/ado/pipelines.js.map +1 -1
  57. package/build/lib/providers/github/actions.js +85 -2
  58. package/build/lib/providers/github/actions.js.map +1 -1
  59. package/build/lib/providers/index.js +2 -1
  60. package/build/lib/providers/index.js.map +1 -1
  61. package/build/lib/providers/npm/stage.js +14 -4
  62. package/build/lib/providers/npm/stage.js.map +1 -1
  63. package/build/lib/providers/timing.js +10 -0
  64. package/build/lib/providers/timing.js.map +1 -0
  65. package/build/local-files.js +95 -0
  66. package/build/local-files.js.map +1 -0
  67. package/build/manager.js +171 -47
  68. package/build/manager.js.map +1 -1
  69. package/build/note.js +1 -1
  70. package/build/note.js.map +1 -1
  71. package/build/npm-reads.js +323 -0
  72. package/build/npm-reads.js.map +1 -0
  73. package/build/paths.js +44 -1
  74. package/build/paths.js.map +1 -1
  75. package/build/plugin.js +10 -0
  76. package/build/plugin.js.map +1 -1
  77. package/build/profile-fields.js +149 -0
  78. package/build/profile-fields.js.map +1 -0
  79. package/build/profile-layers.js +264 -0
  80. package/build/profile-layers.js.map +1 -0
  81. package/build/profile.js +60 -38
  82. package/build/profile.js.map +1 -1
  83. package/build/project-check-cli.js +18 -10
  84. package/build/project-check-cli.js.map +1 -1
  85. package/build/project-check.js +179 -97
  86. package/build/project-check.js.map +1 -1
  87. package/build/pushover.js +5 -5
  88. package/build/pushover.js.map +1 -1
  89. package/build/registry.js +195 -36
  90. package/build/registry.js.map +1 -1
  91. package/build/rule-actions.js +3 -1
  92. package/build/rule-actions.js.map +1 -1
  93. package/build/rules-service.js +101 -44
  94. package/build/rules-service.js.map +1 -1
  95. package/build/rules.js +11 -2
  96. package/build/rules.js.map +1 -1
  97. package/build/runs.js +49 -0
  98. package/build/runs.js.map +1 -1
  99. package/build/scheduler.js +11 -1
  100. package/build/scheduler.js.map +1 -1
  101. package/build/server.js +3 -24
  102. package/build/server.js.map +1 -1
  103. package/build/spend.js +4 -0
  104. package/build/spend.js.map +1 -1
  105. package/build/store.js +82 -25
  106. package/build/store.js.map +1 -1
  107. package/build/timeline.js +104 -0
  108. package/build/timeline.js.map +1 -0
  109. package/build/tracker-reads-cli.js +4 -5
  110. package/build/tracker-reads-cli.js.map +1 -1
  111. package/build/train-cli.js +6 -5
  112. package/build/train-cli.js.map +1 -1
  113. package/build/upgrade.js +16 -1
  114. package/build/upgrade.js.map +1 -1
  115. package/build/wait.js +6 -6
  116. package/build/wait.js.map +1 -1
  117. package/build/watchers/ado.js +3 -2
  118. package/build/watchers/ado.js.map +1 -1
  119. package/build/watchers/github.js +3 -2
  120. package/build/watchers/github.js.map +1 -1
  121. package/build/watchers/npm.js +6 -4
  122. package/build/watchers/npm.js.map +1 -1
  123. package/build/worktrees.js +199 -92
  124. package/build/worktrees.js.map +1 -1
  125. package/package.json +61 -61
  126. package/plugin/skills/conductor-console/SKILL.md +3 -3
  127. package/plugin/skills/work-item/SKILL.md +5 -3
  128. package/build/checkout-sync.js +0 -249
  129. package/build/checkout-sync.js.map +0 -1
  130. package/build/credential.js +0 -66
  131. package/build/credential.js.map +0 -1
  132. package/build/tab.js +0 -32
  133. package/build/tab.js.map +0 -1
@@ -1,5 +1,7 @@
1
1
  // GENERATED from packages/providers by `pnpm sync-conductor`. Do not edit.
2
2
  import { z } from 'zod';
3
+ import { ProviderError } from "../errors.js";
4
+ import { secondsBetween } from "../timing.js";
3
5
  import { adoRunUrl, adoUrl } from "./http.js";
4
6
  import { parseTrigger, triggerFires } from "./trigger.js";
5
7
  const definition = z.looseObject({
@@ -15,16 +17,19 @@ const definition = z.looseObject({
15
17
  const build = z.looseObject({
16
18
  _links: z.looseObject({ web: z.looseObject({ href: z.string() }).optional() }).optional(),
17
19
  definition: z.looseObject({ id: z.number().optional(), name: z.string().optional() }),
20
+ finishTime: z.string().nullish(),
18
21
  id: z.number(),
19
22
  queueTime: z.string().nullish(),
20
23
  reason: z.string().nullish(),
21
24
  result: z.string().nullish(),
22
25
  sourceVersion: z.string().nullish(),
26
+ startTime: z.string().nullish(),
23
27
  status: z.string(),
24
28
  });
25
29
  const timeline = z
26
30
  .looseObject({
27
31
  records: z.array(z.looseObject({
32
+ finishTime: z.string().nullish(),
28
33
  id: z.string(),
29
34
  issues: z.array(z.looseObject({ message: z.string().optional(), type: z.string().optional() })).nullish(),
30
35
  log: z.looseObject({ id: z.number() }).nullish(),
@@ -58,6 +63,11 @@ export function adoPipelines(http) {
58
63
  ...extra,
59
64
  });
60
65
  const records = async (repo, id) => timeline.parse(await get(repo, `build/builds/${id}/timeline`))?.records ?? [];
66
+ // One task log's lines. Each starts with an ISO timestamp; dropped to keep them readable.
67
+ const logLines = async (repo, id, log) => (await http.text(adoUrl(repo, `build/builds/${id}/logs/${log}`)))
68
+ .split(/\r?\n/)
69
+ .map((line) => line.replace(/^\d{4}-\d\d-\d\dT[\d:.]+Z /, ''))
70
+ .filter((line) => line.trim());
61
71
  // The YAML pipelines that build this repository and aren't disabled, with their definitions.
62
72
  const definitionsOf = async (repo) => {
63
73
  const { value } = list(definition).parse(await get(repo, 'build/definitions?includeAllProperties=true&$top=1000'));
@@ -70,6 +80,12 @@ export function adoPipelines(http) {
70
80
  return [{ definition: d, pipeline: { file: yamlFilename.replace(/^\//, ''), id: d.id, name: d.name } }];
71
81
  });
72
82
  };
83
+ // A run's tasks, in the order they started (a task that never started last): the strings'
84
+ // fractions of a second vary in length, so they don't sort as text.
85
+ const tasksOf = (all) => {
86
+ const started = (r) => (r.startTime ? Date.parse(r.startTime) : Infinity);
87
+ return all.filter((r) => r.type === 'Task').sort((a, b) => started(a) - started(b));
88
+ };
73
89
  return {
74
90
  failureLog: async ({ id, repo }, { lines = 40 } = {}) => {
75
91
  const b = build.parse(await get(repo, `build/builds/${id}`));
@@ -80,15 +96,7 @@ export function adoPipelines(http) {
80
96
  const errors = (r) => (r.issues ?? []).filter((i) => i.type === 'error').flatMap((i) => (i.message ? [i.message] : []));
81
97
  const tasks = failed.map((r) => ({ errors: errors(r), name: r.name ?? '?' }));
82
98
  const logId = failed[0]?.log?.id;
83
- let log = null;
84
- if (logId !== undefined) {
85
- // Each line starts with an ISO timestamp; dropped to keep the tail readable.
86
- log = (await http.text(adoUrl(repo, `build/builds/${id}/logs/${logId}`)))
87
- .split(/\r?\n/)
88
- .map((line) => line.replace(/^\d{4}-\d\d-\d\dT[\d:.]+Z /, ''))
89
- .filter((line) => line.trim())
90
- .slice(-lines);
91
- }
99
+ const log = logId === undefined ? null : (await logLines(repo, id, logId)).slice(-lines);
92
100
  return {
93
101
  log,
94
102
  ...(tasks.length === 0
@@ -110,6 +118,15 @@ export function adoPipelines(http) {
110
118
  }
111
119
  },
112
120
  pipelines: async (repo) => (await definitionsOf(repo)).map(({ pipeline }) => pipeline),
121
+ // Finished builds, by finish time: one still running or queued has no times to measure yet.
122
+ recentRuns: async (repo, pipeline, { branch, count }) => {
123
+ if (pipeline.id === null)
124
+ throw new ProviderError(`${pipeline.name} has no pipeline id to list its runs by`);
125
+ const ref = encodeURIComponent(`refs/heads/${branch}`);
126
+ const query = `definitions=${pipeline.id}&branchName=${ref}&statusFilter=completed&queryOrder=finishTimeDescending&$top=${count}`;
127
+ const builds = list(build).parse(await get(repo, `build/builds?${query}`)).value;
128
+ return builds.map((b) => snapshot(repo, b, pipeline));
129
+ },
113
130
  run: async ({ id, repo }) => {
114
131
  const b = build.parse(await get(repo, `build/builds/${id}`));
115
132
  return snapshot(repo, b, { file: null, id: b.definition.id ?? null, name: b.definition.name ?? `run ${id}` });
@@ -173,6 +190,39 @@ export function adoPipelines(http) {
173
190
  }
174
191
  return found;
175
192
  },
193
+ taskLogs: async function* ({ id, repo }, { only } = {}) {
194
+ const all = await records(repo, id);
195
+ const stage = stageOf(all);
196
+ for (const record of tasksOf(all)) {
197
+ const task = record.name ?? '?';
198
+ if (!record.log || (only && !only(task)))
199
+ continue;
200
+ yield { lines: await logLines(repo, id, record.log.id), stage: stage(record), task };
201
+ }
202
+ },
203
+ timeline: async ({ id, repo }) => {
204
+ const [read, all] = await Promise.all([get(repo, `build/builds/${id}`), records(repo, id)]);
205
+ const b = build.parse(read);
206
+ const stage = stageOf(all);
207
+ const job = ancestorOf(all, 'Job');
208
+ const tasks = tasksOf(all).map((r) => ({
209
+ finished: r.finishTime ?? null,
210
+ job: job(r),
211
+ result: r.result ?? null,
212
+ seconds: secondsBetween(r.startTime, r.finishTime),
213
+ stage: stage(r),
214
+ started: r.startTime ?? null,
215
+ state: r.state ?? null,
216
+ task: r.name ?? '?',
217
+ }));
218
+ return {
219
+ finished: b.finishTime ?? null,
220
+ run: snapshot(repo, b, { file: null, id: b.definition.id ?? null, name: b.definition.name ?? `run ${id}` }),
221
+ seconds: secondsBetween(b.startTime, b.finishTime),
222
+ started: b.startTime ?? null,
223
+ tasks,
224
+ };
225
+ },
176
226
  triggersKnown: true,
177
227
  };
178
228
  }
@@ -187,17 +237,33 @@ export function buildState(b, pendingApprovals = []) {
187
237
  }
188
238
  // The stages of a run's timeline that wait on an approval.
189
239
  export function pendingApprovals(records) {
240
+ const stage = stageOf(records);
241
+ return records
242
+ .filter((r) => r.type === 'Checkpoint.Approval' && r.state === 'inProgress')
243
+ .map((r) => stage(r) ?? '?');
244
+ }
245
+ // The name of the record of a type (a Job, a Stage) that a timeline record runs under, by its
246
+ // parents; null when none is.
247
+ function ancestorOf(records, type) {
190
248
  const byId = new Map(records.map((r) => [r.id, r]));
191
- const stageOf = (record) => {
249
+ return (record) => {
192
250
  let current = record;
193
- while (current && current.type !== 'Stage')
251
+ while (current && current.type !== type)
194
252
  current = current.parentId ? byId.get(current.parentId) : undefined;
195
- return current?.name ?? '?';
253
+ return current?.name ?? null;
196
254
  };
197
- return records.filter((r) => r.type === 'Checkpoint.Approval' && r.state === 'inProgress').map(stageOf);
198
255
  }
199
256
  // ADO spells it canceled.
200
257
  function cancelled(b) {
201
258
  return b.status === 'completed' && b.result === 'canceled';
202
259
  }
260
+ // The name of the stage a timeline record runs under; null when none is, or for the implicit one a
261
+ // pipeline with no stages runs its jobs in.
262
+ function stageOf(records) {
263
+ const stage = ancestorOf(records, 'Stage');
264
+ return (record) => {
265
+ const name = stage(record);
266
+ return name === '__default' ? null : name;
267
+ };
268
+ }
203
269
  //# sourceMappingURL=pipelines.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../../../../src/lib/providers/ado/pipelines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../../../../src/lib/providers/ado/pipelines.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  // GENERATED from packages/providers by `pnpm sync-conductor`. Do not edit.
2
2
  import { z } from 'zod';
3
3
  import { ProviderError } from "../errors.js";
4
+ import { secondsBetween } from "../timing.js";
4
5
  import { PASSING, repoName } from "./gh.js";
5
6
  const workflowRun = z.looseObject({
6
7
  conclusion: z.string().nullish(),
@@ -11,9 +12,22 @@ const workflowRun = z.looseObject({
11
12
  id: z.number(),
12
13
  name: z.string().nullish(),
13
14
  path: z.string().nullish(),
15
+ run_started_at: z.string().nullish(),
14
16
  status: z.string().nullish(),
17
+ updated_at: z.string().nullish(),
15
18
  workflow_id: z.number().optional(),
16
19
  });
20
+ const step = z.looseObject({
21
+ completed_at: z.string().nullish(),
22
+ conclusion: z.string().nullish(),
23
+ name: z.string(),
24
+ started_at: z.string().nullish(),
25
+ status: z.string().nullish(),
26
+ });
27
+ const jobs = z.looseObject({
28
+ jobs: z.array(z.looseObject({ completed_at: z.string().nullish(), name: z.string(), steps: z.array(step).nullish() })),
29
+ total_count: z.number().optional(),
30
+ });
17
31
  export function workflowRunSnapshot(run) {
18
32
  return {
19
33
  ...(run.conclusion ? { conclusion: run.conclusion } : {}),
@@ -74,6 +88,17 @@ export function githubActions(gh) {
74
88
  .filter((w) => w.state === undefined || w.state === 'active')
75
89
  .map((w) => ({ file: w.path, id: w.id, name: w.name }));
76
90
  },
91
+ // Completed runs, newest first. A workflow is asked for by its id, else its file name.
92
+ recentRuns: async (repo, pipeline, { branch, count }) => {
93
+ const workflow = pipeline.id ?? pipeline.file?.split('/').pop();
94
+ if (!workflow)
95
+ throw new ProviderError(`${pipeline.name} has no workflow id or file to list its runs by`);
96
+ const query = `branch=${encodeURIComponent(branch)}&status=completed&per_page=${count}`;
97
+ const { workflow_runs: runs } = z
98
+ .looseObject({ workflow_runs: z.array(workflowRun) })
99
+ .parse(await gh.api(`${base(repo)}/actions/workflows/${workflow}/runs?${query}`));
100
+ return runs.slice(0, count).map(workflowRunSnapshot);
101
+ },
77
102
  run: async ({ id, repo }) => workflowRunSnapshot(workflowRun.parse(await gh.api(`${base(repo)}/actions/runs/${id}`))),
78
103
  // The runs a push started for the merge commit (pull request runs of the same SHA left out).
79
104
  runsForMerge: async (repo, merge) => {
@@ -82,16 +107,74 @@ export function githubActions(gh) {
82
107
  .parse(await gh.api(`${base(repo)}/actions/runs?head_sha=${merge.sha}&per_page=100`));
83
108
  return runs.filter((run) => run.event === 'push').map(workflowRunSnapshot);
84
109
  },
110
+ taskLogs: async function* ({ id, repo }, { only } = {}) {
111
+ const steps = stepLogs(await runGh(['run', 'view', String(id), '--repo', repoName(repo), '--log']));
112
+ yield* only ? steps.filter((s) => only(s.task)) : steps;
113
+ },
114
+ // The run's jobs' steps, each under its job, every page of them. A completed run finished when
115
+ // its last job did: its updated_at moves on whenever the run changes later.
116
+ timeline: async ({ id, repo }) => {
117
+ const run = workflowRun.parse(await gh.api(`${base(repo)}/actions/runs/${id}`));
118
+ const all = [];
119
+ for (let page = 1;; page += 1) {
120
+ const listed = jobs.parse(await gh.api(`${base(repo)}/actions/runs/${id}/jobs?per_page=100&page=${page}`));
121
+ all.push(...listed.jobs);
122
+ if (listed.jobs.length < 100 || all.length >= (listed.total_count ?? all.length))
123
+ break;
124
+ }
125
+ const tasks = all.flatMap((j) => (j.steps ?? []).map((s) => ({
126
+ finished: s.completed_at ?? null,
127
+ job: j.name,
128
+ result: s.conclusion ?? null,
129
+ seconds: secondsBetween(s.started_at, s.completed_at),
130
+ stage: null,
131
+ started: s.started_at ?? null,
132
+ state: s.status ?? null,
133
+ task: s.name,
134
+ })));
135
+ const ends = all.flatMap((j) => (j.completed_at ? [j.completed_at] : []));
136
+ const last = ends.length === all.length ? ends.toSorted((a, b) => Date.parse(a) - Date.parse(b)).at(-1) : undefined;
137
+ const finished = run.status === 'completed' ? (last ?? run.updated_at ?? null) : null;
138
+ return {
139
+ finished,
140
+ run: workflowRunSnapshot(run),
141
+ seconds: secondsBetween(run.run_started_at, finished),
142
+ started: run.run_started_at ?? null,
143
+ tasks,
144
+ };
145
+ },
85
146
  triggersKnown: false,
86
147
  };
87
148
  }
88
149
  // The text of `gh run view --log-failed` or `--log`: each line is "<job>\t<step>\t<timestamp>
89
150
  // <text>", and the text is what a reader needs.
90
151
  export function logText(output) {
152
+ return logLines(output).map((line) => line.text);
153
+ }
154
+ // The text of `gh run view --log` by step, each under its job, in the order they logged.
155
+ export function stepLogs(output) {
156
+ const steps = [];
157
+ for (const { job, step, text } of logLines(output)) {
158
+ const last = steps.at(-1);
159
+ if (last?.stage === job && last.task === step)
160
+ last.lines.push(text);
161
+ else
162
+ steps.push({ lines: [text], stage: job, task: step });
163
+ }
164
+ return steps;
165
+ }
166
+ function logLines(output) {
91
167
  return output
92
168
  .replace(COLOUR, '')
93
169
  .split(/\r?\n/)
94
- .map((line) => (line.split('\t').at(-1) ?? '').replace(/^\S+Z /, ''))
95
- .filter((line) => line.trim());
170
+ .flatMap((line) => {
171
+ // The text can hold tabs of its own: only the first two separate columns.
172
+ const [job, step, ...rest] = line.split('\t');
173
+ const columns = rest.length > 0 && job !== undefined && step !== undefined;
174
+ const text = (columns ? rest.join('\t') : line).replace(/^\S+Z /, '');
175
+ if (!text.trim())
176
+ return [];
177
+ return [{ job: columns ? job : null, step: columns ? step : '?', text }];
178
+ });
96
179
  }
97
180
  //# sourceMappingURL=actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../src/lib/providers/github/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../src/lib/providers/github/actions.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,8 @@ export { GITHUB_CAPABILITIES, githubChecks, githubCodeHost, githubPrState, githu
10
10
  export { githubRepoRef, PASSING, repoName } from "./github/gh.js";
11
11
  export { githubCodeHostWrites, protects } from "./github/writes.js";
12
12
  export { isNote, noteHeading } from "./notes.js";
13
- export { NPM_REGISTRY, npmStage, parseStageLine } from "./npm/stage.js";
13
+ export { NPM_REGISTRY, npmStage, parseStageLine, registryFor } from "./npm/stage.js";
14
+ export { secondsBetween } from "./timing.js";
14
15
  export { checksSettled, needsAnswer, prVerdict, } from "./verdicts/pr.js";
15
16
  export { answersTo, pipelinesNamed, releasedRuns, runsVerdict, SETTLE_MS, stem, } from "./verdicts/runs.js";
16
17
  export { stageVerdict } from "./verdicts/stage.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/providers/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,WAAW,EAEX,UAAU,EACV,cAAc,EAEd,UAAU,EAEV,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,OAAO,EACP,QAAQ,EAER,OAAO,EACP,SAAS,EACT,QAAQ,EACR,iBAAiB,EAEjB,UAAU,EACV,SAAS,EAET,OAAO,EAEP,MAAM,EACN,OAAO,EACP,QAAQ,GACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAgB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA0B,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAoB,WAAW,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAEL,aAAa,EAEb,WAAW,EAEX,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,cAAc,EACd,YAAY,EAGZ,WAAW,EACX,SAAS,EACT,IAAI,GACL,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAuC,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/providers/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,WAAW,EAEX,UAAU,EACV,cAAc,EAEd,UAAU,EAEV,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,OAAO,EACP,QAAQ,EAER,OAAO,EACP,SAAS,EACT,QAAQ,EACR,iBAAiB,EAEjB,UAAU,EACV,SAAS,EAET,OAAO,EAEP,MAAM,EACN,OAAO,EACP,QAAQ,GACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAgB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA0B,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAoB,WAAW,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAEL,aAAa,EAEb,WAAW,EAEX,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,cAAc,EACd,YAAY,EAGZ,WAAW,EACX,SAAS,EACT,IAAI,GACL,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAuC,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
@@ -6,13 +6,16 @@ const distTags = z.record(z.string(), z.string());
6
6
  // npm's staged publishing: what a release run staged (its logs, newest first, through its CI), and
7
7
  // whether a version is on the registry yet. After an approve, the registry can answer 404 for 15 s
8
8
  // or more (ATK-225), so a false here isn't final. A caller that only reads the registry (the npm
9
- // wait) needs no CI.
10
- export function npmStage({ ci, fetch: fetcher = globalThis.fetch, registry = NPM_REGISTRY, }) {
9
+ // wait) needs no CI. `registry` names the registry a package is read from (registryFor over npm's
10
+ // settings), npmjs by default.
11
+ export function npmStage({ ci, fetch: fetcher = globalThis.fetch, registry = () => NPM_REGISTRY, }) {
11
12
  const encoded = (pkg) => pkg.replace('/', '%2f');
13
+ // A mirror's registry can carry a path and a trailing slash (https://mirror.example/npm/).
14
+ const base = async (pkg) => (await registry(pkg)).replace(/\/+$/, '');
12
15
  return {
13
16
  // A few bytes from the dist-tags endpoint, so a stage approved a moment ago shows on the next look.
14
17
  distTags: async (pkg) => {
15
- const response = await fetcher(`${registry}/-/package/${encoded(pkg)}/dist-tags`, {
18
+ const response = await fetcher(`${await base(pkg)}/-/package/${encoded(pkg)}/dist-tags`, {
16
19
  cache: 'no-store',
17
20
  headers: { accept: 'application/json', 'cache-control': 'no-cache' },
18
21
  signal: AbortSignal.timeout(20_000),
@@ -35,7 +38,7 @@ export function npmStage({ ci, fetch: fetcher = globalThis.fetch, registry = NPM
35
38
  },
36
39
  published: async (pkg, version) => {
37
40
  try {
38
- const response = await fetcher(`${registry}/${encoded(pkg)}/${encodeURIComponent(version)}`, {
41
+ const response = await fetcher(`${await base(pkg)}/${encoded(pkg)}/${encodeURIComponent(version)}`, {
39
42
  cache: 'no-store',
40
43
  headers: { accept: 'application/json' },
41
44
  signal: AbortSignal.timeout(20_000),
@@ -90,4 +93,11 @@ export function parseStageLine(text) {
90
93
  version: published[2],
91
94
  };
92
95
  }
96
+ // The registry npm would read a package from, given npm's settings (`npm config list --json`): its
97
+ // scope's `@<scope>:registry`, then `registry`, then npmjs (ATK-561).
98
+ export function registryFor(config, pkg) {
99
+ const scope = /^(@[^/]+)\//.exec(pkg)?.[1];
100
+ const chosen = [scope ? config[`${scope}:registry`] : undefined, config.registry].find((value) => typeof value === 'string' && value !== '');
101
+ return chosen ?? NPM_REGISTRY;
102
+ }
93
103
  //# sourceMappingURL=stage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../../../src/lib/providers/npm/stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../../../src/lib/providers/npm/stage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ // GENERATED from packages/providers by `pnpm sync-conductor`. Do not edit.
2
+ // How long something ran, in seconds to a tenth, from the ISO times a CI gives; null without both,
3
+ // or for a finish before the start (a CI's placeholder time).
4
+ export function secondsBetween(started, finished) {
5
+ if (!started || !finished)
6
+ return null;
7
+ const ms = Date.parse(finished) - Date.parse(started);
8
+ return Number.isFinite(ms) && ms >= 0 ? Math.round(ms / 100) / 10 : null;
9
+ }
10
+ //# sourceMappingURL=timing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../../src/lib/providers/timing.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,mGAAmG;AACnG,8DAA8D;AAC9D,MAAM,UAAU,cAAc,CAAC,OAAkC,EAAE,QAAmC;IACpG,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { existsSync, mkdirSync, readdirSync, readFileSync } from 'node:fs';
2
+ import { cp } from 'node:fs/promises';
3
+ import { dirname, join, matchesGlob, relative } from 'node:path';
4
+ import { ConductorError } from "./errors.js";
5
+ import { outputOf } from "./run.js";
6
+ export const INCLUDE_FILE = '.worktreeinclude';
7
+ // Copies the source checkout's included files into `target`; returns their paths, relative and with
8
+ // forward slashes. Git lists ignored paths with whole ignored directories collapsed, which keeps
9
+ // node_modules out of the walk. A pattern without a slash (".env*") matches at any depth but not
10
+ // inside an ignored directory; an anchored one ("apps/api/secrets/*.json") also reaches into one.
11
+ export async function copyLocalFiles(git, source, target) {
12
+ if (!existsSync(join(source, '.git')))
13
+ throw new ConductorError(`localFilesFrom ${source} is not a git checkout`, [
14
+ "set the profile's localFilesFrom to a checkout of the project you keep",
15
+ ]);
16
+ const patterns = includePatterns(join(source, INCLUDE_FILE));
17
+ if (patterns.length === 0)
18
+ return [];
19
+ const listed = await git(['ls-files', '--others', '--ignored', '--exclude-standard', '--directory', '-z'], source);
20
+ if (listed.code !== 0)
21
+ throw new ConductorError(`git couldn't list the ignored files in ${source}`, [outputOf(listed, 500)]);
22
+ const copied = [];
23
+ // Asynchronous, so an included directory of any size doesn't hold up the daemon.
24
+ const copy = async (rel) => {
25
+ const to = join(target, rel);
26
+ mkdirSync(dirname(to), { recursive: true });
27
+ await cp(join(source, rel), to, { recursive: true });
28
+ copied.push(rel);
29
+ };
30
+ // Git can list a directory and also entries inside it (apps/, apps/api/, ...), parents first, so
31
+ // anything under a directory already copied or walked is skipped.
32
+ const handled = ['.claude/worktrees'];
33
+ for (const entry of listed.stdout.split('\0').filter(Boolean)) {
34
+ const isDir = entry.endsWith('/');
35
+ const rel = isDir ? entry.slice(0, -1) : entry;
36
+ if (handled.some((dir) => rel === dir || rel.startsWith(`${dir}/`)))
37
+ continue;
38
+ if (isIncluded(patterns, rel, isDir))
39
+ await copy(rel);
40
+ else if (isDir)
41
+ for (const file of walkAnchored(patterns, source, rel))
42
+ await copy(file);
43
+ if (isDir)
44
+ handled.push(rel);
45
+ }
46
+ return copied;
47
+ }
48
+ export function includePatterns(file) {
49
+ if (!existsSync(file))
50
+ return [];
51
+ return readFileSync(file, 'utf8')
52
+ .split(/\r?\n/)
53
+ .map((line) => line.trim())
54
+ .filter((line) => line && !line.startsWith('#'))
55
+ .map((line) => {
56
+ const negated = line.startsWith('!');
57
+ let pattern = negated ? line.slice(1) : line;
58
+ const dirOnly = pattern.endsWith('/');
59
+ if (dirOnly)
60
+ pattern = pattern.slice(0, -1);
61
+ const anchored = pattern.includes('/');
62
+ if (pattern.startsWith('/'))
63
+ pattern = pattern.slice(1);
64
+ return { anchored, dirOnly, glob: anchored ? pattern : `**/${pattern}`, negated };
65
+ });
66
+ }
67
+ export function isIncluded(patterns, rel, isDir) {
68
+ const parts = rel.split('/');
69
+ for (let i = 1; i < parts.length; i++)
70
+ if (matchesLast(patterns, parts.slice(0, i).join('/'), true))
71
+ return true;
72
+ return matchesLast(patterns, rel, isDir);
73
+ }
74
+ function matchesLast(patterns, rel, isDir) {
75
+ let result = false;
76
+ for (const p of patterns) {
77
+ if (p.dirOnly && !isDir)
78
+ continue;
79
+ if (matchesGlob(rel, p.glob))
80
+ result = !p.negated;
81
+ }
82
+ return result;
83
+ }
84
+ function* walkAnchored(patterns, source, dir) {
85
+ if (!patterns.some((p) => p.anchored && !p.negated && p.glob.startsWith(`${dir}/`)))
86
+ return;
87
+ for (const entry of readdirSync(join(source, dir), { recursive: true, withFileTypes: true })) {
88
+ if (!entry.isFile())
89
+ continue;
90
+ const rel = relative(source, join(entry.parentPath, entry.name)).split('\\').join('/');
91
+ if (isIncluded(patterns, rel, false))
92
+ yield rel;
93
+ }
94
+ }
95
+ //# sourceMappingURL=local-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-files.js","sourceRoot":"","sources":["../src/local-files.ts"],"names":[],"mappings":"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"}