@detergent-software/conductor 3.0.0-dev.4 → 3.0.0-dev.40
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.
- package/CHANGELOG.md +339 -0
- package/README.md +270 -123
- package/build/brief-cli.js +5 -12
- package/build/brief-cli.js.map +1 -1
- package/build/brief.js +4 -3
- package/build/brief.js.map +1 -1
- package/build/broker-cli.js +15 -10
- package/build/broker-cli.js.map +1 -1
- package/build/broker.js +1 -1
- package/build/broker.js.map +1 -1
- package/build/claude.js +48 -2
- package/build/claude.js.map +1 -1
- package/build/cli.js +221 -71
- package/build/cli.js.map +1 -1
- package/build/clones.js +92 -0
- package/build/clones.js.map +1 -0
- package/build/code-host-cli.js +158 -39
- package/build/code-host-cli.js.map +1 -1
- package/build/code-host-service.js +35 -2
- package/build/code-host-service.js.map +1 -1
- package/build/code-host.js +140 -16
- package/build/code-host.js.map +1 -1
- package/build/conditions.js +33 -16
- package/build/conditions.js.map +1 -1
- package/build/config.js +58 -28
- package/build/config.js.map +1 -1
- package/build/console.js +43 -27
- package/build/console.js.map +1 -1
- package/build/credentials.js +49 -36
- package/build/credentials.js.map +1 -1
- package/build/daemon.js +57 -66
- package/build/daemon.js.map +1 -1
- package/build/file-lock.js +35 -3
- package/build/file-lock.js.map +1 -1
- package/build/follow-ups.js +2 -2
- package/build/follow-ups.js.map +1 -1
- package/build/help.js +228 -82
- package/build/help.js.map +1 -1
- package/build/history.js +10 -4
- package/build/history.js.map +1 -1
- package/build/host/credential-manager.js +109 -0
- package/build/host/credential-manager.js.map +1 -0
- package/build/host/keychain.js +44 -0
- package/build/host/keychain.js.map +1 -0
- package/build/host/launchd.js +118 -0
- package/build/host/launchd.js.map +1 -0
- package/build/host/libsecret.js +40 -0
- package/build/host/libsecret.js.map +1 -0
- package/build/host/macos-terminal.js +63 -0
- package/build/host/macos-terminal.js.map +1 -0
- package/build/host/platform.js +4 -0
- package/build/host/platform.js.map +1 -0
- package/build/host/secrets.js +46 -0
- package/build/host/secrets.js.map +1 -0
- package/build/host/shell.js +26 -0
- package/build/host/shell.js.map +1 -0
- package/build/host/startup.js +26 -0
- package/build/host/startup.js.map +1 -0
- package/build/host/systemd.js +91 -0
- package/build/host/systemd.js.map +1 -0
- package/build/host/task-scheduler.js +78 -0
- package/build/host/task-scheduler.js.map +1 -0
- package/build/host/terminal.js +46 -0
- package/build/host/terminal.js.map +1 -0
- package/build/host/tmux.js +39 -0
- package/build/host/tmux.js.map +1 -0
- package/build/host/windows-terminal.js +46 -0
- package/build/host/windows-terminal.js.map +1 -0
- package/build/in-process.js +6 -5
- package/build/in-process.js.map +1 -1
- package/build/inbox.js +50 -34
- package/build/inbox.js.map +1 -1
- package/build/init.js +509 -0
- package/build/init.js.map +1 -0
- package/build/landing.js +86 -7
- package/build/landing.js.map +1 -1
- package/build/lib/providers/ado/code-host.js +5 -1
- package/build/lib/providers/ado/code-host.js.map +1 -1
- package/build/lib/providers/ado/pipelines.js +138 -26
- package/build/lib/providers/ado/pipelines.js.map +1 -1
- package/build/lib/providers/ado/trigger.js +5 -0
- package/build/lib/providers/ado/trigger.js.map +1 -1
- package/build/lib/providers/ado/writes.js +17 -2
- package/build/lib/providers/ado/writes.js.map +1 -1
- package/build/lib/providers/github/actions.js +90 -3
- package/build/lib/providers/github/actions.js.map +1 -1
- package/build/lib/providers/github/code-host.js +2 -0
- package/build/lib/providers/github/code-host.js.map +1 -1
- package/build/lib/providers/github/writes.js +25 -2
- package/build/lib/providers/github/writes.js.map +1 -1
- package/build/lib/providers/index.js +4 -3
- package/build/lib/providers/index.js.map +1 -1
- package/build/lib/providers/npm/stage.js +28 -5
- package/build/lib/providers/npm/stage.js.map +1 -1
- package/build/lib/providers/timing.js +10 -0
- package/build/lib/providers/timing.js.map +1 -0
- package/build/lib/providers/verdicts/pr.js +47 -6
- package/build/lib/providers/verdicts/pr.js.map +1 -1
- package/build/lib/providers/verdicts/runs.js +12 -2
- package/build/lib/providers/verdicts/runs.js.map +1 -1
- package/build/logins.js +1 -1
- package/build/logins.js.map +1 -1
- package/build/manager.js +131 -55
- package/build/manager.js.map +1 -1
- package/build/note.js +5 -15
- package/build/note.js.map +1 -1
- package/build/notes.js +130 -23
- package/build/notes.js.map +1 -1
- package/build/notify.js +104 -42
- package/build/notify.js.map +1 -1
- package/build/npm-reads.js +323 -0
- package/build/npm-reads.js.map +1 -0
- package/build/ownership.js +2 -2
- package/build/paths.js +44 -1
- package/build/paths.js.map +1 -1
- package/build/plugin.js +4 -2
- package/build/plugin.js.map +1 -1
- package/build/profile-fields.js +153 -0
- package/build/profile-fields.js.map +1 -0
- package/build/profile-layers.js +264 -0
- package/build/profile-layers.js.map +1 -0
- package/build/profile.js +107 -51
- package/build/profile.js.map +1 -1
- package/build/project-check-cli.js +19 -19
- package/build/project-check-cli.js.map +1 -1
- package/build/project-check.js +194 -108
- package/build/project-check.js.map +1 -1
- package/build/protocol.js +5 -21
- package/build/protocol.js.map +1 -1
- package/build/pushover.js +5 -5
- package/build/pushover.js.map +1 -1
- package/build/queue.js +4 -4
- package/build/queue.js.map +1 -1
- package/build/registry.js +195 -36
- package/build/registry.js.map +1 -1
- package/build/release-kinds.js +34 -0
- package/build/release-kinds.js.map +1 -0
- package/build/rule-actions.js +8 -6
- package/build/rule-actions.js.map +1 -1
- package/build/rules-service.js +104 -47
- package/build/rules-service.js.map +1 -1
- package/build/rules.js +23 -23
- package/build/rules.js.map +1 -1
- package/build/run.js +20 -7
- package/build/run.js.map +1 -1
- package/build/runs.js +218 -68
- package/build/runs.js.map +1 -1
- package/build/scheduler.js +89 -13
- package/build/scheduler.js.map +1 -1
- package/build/search.js +2 -1
- package/build/search.js.map +1 -1
- package/build/server.js +51 -14
- package/build/server.js.map +1 -1
- package/build/spend.js +1 -1
- package/build/spend.js.map +1 -1
- package/build/store.js +79 -20
- package/build/store.js.map +1 -1
- package/build/supervise.js +1 -1
- package/build/supervise.js.map +1 -1
- package/build/timeline.js +104 -0
- package/build/timeline.js.map +1 -0
- package/build/tracker-reads-cli.js +4 -5
- package/build/tracker-reads-cli.js.map +1 -1
- package/build/trackers.js +56 -10
- package/build/trackers.js.map +1 -1
- package/build/train-cli.js +6 -5
- package/build/train-cli.js.map +1 -1
- package/build/train.js +2 -2
- package/build/train.js.map +1 -1
- package/build/upgrade.js +8 -9
- package/build/upgrade.js.map +1 -1
- package/build/wait.js +10 -10
- package/build/wait.js.map +1 -1
- package/build/watchers/ado.js +42 -18
- package/build/watchers/ado.js.map +1 -1
- package/build/watchers/github.js +19 -4
- package/build/watchers/github.js.map +1 -1
- package/build/watchers/index.js +2 -2
- package/build/watchers/index.js.map +1 -1
- package/build/watchers/linear-queue.js +47 -14
- package/build/watchers/linear-queue.js.map +1 -1
- package/build/watchers/linear-writes.js +26 -12
- package/build/watchers/linear-writes.js.map +1 -1
- package/build/watchers/linear.js +2 -2
- package/build/watchers/linear.js.map +1 -1
- package/build/watchers/npm.js +6 -4
- package/build/watchers/npm.js.map +1 -1
- package/build/webhook.js +80 -0
- package/build/webhook.js.map +1 -0
- package/build/why.js +1 -1
- package/build/why.js.map +1 -1
- package/build/worktrees.js +56 -93
- package/build/worktrees.js.map +1 -1
- package/package.json +61 -61
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/hooks/model.ts +46 -6
- package/plugin/hooks/register.tsx +41 -2
- package/plugin/skills/conductor-console/SKILL.md +26 -27
- package/plugin/skills/work-item/SKILL.md +57 -53
- package/plugin/skills/work-item/trackers/ado-boards.md +2 -2
- package/plugin/skills/work-item/trackers/github-issues.md +1 -1
- package/plugin/skills/work-item/trackers/linear.md +2 -2
- package/plugin/types/index.d.ts +1 -1
- package/protocol/PROTOCOL.md +3 -9
- package/build/checkout-sync.js +0 -249
- package/build/checkout-sync.js.map +0 -1
- package/build/credential.js +0 -66
- package/build/credential.js.map +0 -1
- package/build/startup.js +0 -92
- package/build/startup.js.map +0 -1
- package/build/tab.js +0 -32
- package/build/tab.js.map +0 -1
package/build/profile.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import { readFileSync } from 'node:fs';
|
|
2
1
|
import { isAbsolute, join } from 'node:path';
|
|
2
|
+
import { lt, valid } from 'semver';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { ConductorError
|
|
4
|
+
import { ConductorError } from "./errors.js";
|
|
5
5
|
import { parseJsonc } from "./jsonc.js";
|
|
6
|
-
import {
|
|
6
|
+
import { packageInfo } from "./package-info.js";
|
|
7
|
+
import { PROJECT_NAME } from "./paths.js";
|
|
8
|
+
import { noteName, WORK_SKILL } from "./plugin.js";
|
|
7
9
|
import { PROTOCOL } from "./protocol.js";
|
|
10
|
+
import { GATES } from "./release-kinds.js";
|
|
8
11
|
import { ruleInputSchema } from "./rule-input.js";
|
|
12
|
+
import { defaultTag } from "./upgrade.js";
|
|
9
13
|
export const PROFILE_FILE = join('.claude', 'conductor.json');
|
|
10
|
-
const name = z.string().regex(
|
|
14
|
+
const name = z.string().regex(PROJECT_NAME, 'lowercase letters, digits and dashes, starting with a letter');
|
|
11
15
|
const text = z.string().trim().min(1);
|
|
12
16
|
// The state each phase note moves an item to, over the tracker kind's defaults (tracker-writes.ts);
|
|
13
17
|
// null leaves it as it is.
|
|
@@ -20,7 +24,7 @@ const transitions = z
|
|
|
20
24
|
// note). Off when absent.
|
|
21
25
|
const releaseWait = z.strictObject({ label: text, shipped: text }).optional();
|
|
22
26
|
// A repo's .claude/conductor.json: what the conductor needs to know about a project, as data.
|
|
23
|
-
// Each adapter kind is a discriminated union, so ADO Boards
|
|
27
|
+
// Each adapter kind is a discriminated union, so ADO Boards arrives as one more variant.
|
|
24
28
|
const profileFields = z.strictObject({
|
|
25
29
|
// Who may answer a Plan besides the tracker account behind the daemon (design note v2, section 6):
|
|
26
30
|
// emails on Linear, unique names on Boards (the UPN, usually the email), logins on GitHub,
|
|
@@ -33,9 +37,10 @@ const profileFields = z.strictObject({
|
|
|
33
37
|
areaRelease: z.enum(['merge', 'pr']).default('merge'),
|
|
34
38
|
baseBranch: text,
|
|
35
39
|
// The CI that builds the project's repo: Azure Pipelines or GitHub Actions (`conduct runs`, `wait
|
|
36
|
-
// merge`).
|
|
40
|
+
// merge`). Azure Pipelines builds a GitHub repo too (ATK-530): beside a GitHub code host it names
|
|
41
|
+
// the organization and project whose pipelines build it (code-host.ts, ciOf).
|
|
37
42
|
ci: z.discriminatedUnion('kind', [
|
|
38
|
-
z.strictObject({ kind: z.literal('ado-pipelines') }),
|
|
43
|
+
z.strictObject({ kind: z.literal('ado-pipelines'), organization: z.url().optional(), project: text.optional() }),
|
|
39
44
|
z.strictObject({ kind: z.literal('github-actions') }),
|
|
40
45
|
]),
|
|
41
46
|
codeHost: z.discriminatedUnion('kind', [
|
|
@@ -43,12 +48,21 @@ const profileFields = z.strictObject({
|
|
|
43
48
|
// A GitHub repo (ATK-428): its PRs, checks and auto-merge.
|
|
44
49
|
z.strictObject({
|
|
45
50
|
kind: z.literal('github'),
|
|
46
|
-
owner: z.string().regex(/^[\w.-]+$/, 'a GitHub owner, such as
|
|
51
|
+
owner: z.string().regex(/^[\w.-]+$/, 'a GitHub owner, such as contoso'),
|
|
47
52
|
repo: z.string().regex(/^[\w.-]+$/, 'a GitHub repo name, without the owner'),
|
|
48
53
|
}),
|
|
49
54
|
]),
|
|
50
|
-
// The
|
|
51
|
-
|
|
55
|
+
// The oldest conductor that reads this profile (ATK-573): the version that first read its newest
|
|
56
|
+
// field (profile-fields.ts records each one's), a -dev.N while that is only on `dev`. parseProfile
|
|
57
|
+
// checks it before the rest, so an older conductor says which version to upgrade to instead of
|
|
58
|
+
// listing fields it doesn't know.
|
|
59
|
+
conductor: z
|
|
60
|
+
.string()
|
|
61
|
+
.refine((v) => valid(v) !== null, 'a version, such as 3.0.0-dev.8')
|
|
62
|
+
.optional(),
|
|
63
|
+
// The kinds of item that wait on a person in this project: plan, merge and each release kind's gate
|
|
64
|
+
// (release-kinds.ts: npm-otp for an npm-stage), which `conduct project check` looks for.
|
|
65
|
+
gates: z.array(z.enum(GATES)).min(1),
|
|
52
66
|
// Each environment's /health URL, for `conduct wait health <env>`.
|
|
53
67
|
health: z.record(name, z.url()).optional(),
|
|
54
68
|
// A checkout the operator keeps whose gitignored files matching its .worktreeinclude are copied
|
|
@@ -67,11 +81,13 @@ const profileFields = z.strictObject({
|
|
|
67
81
|
// The worker protocol the project's work skill speaks (protocol.ts); only this conductor's.
|
|
68
82
|
protocol: z.literal(PROTOCOL),
|
|
69
83
|
release: z.strictObject({ handoff: text }),
|
|
70
|
-
// The pipelines that stage a release for a merge (`conduct runs`, `wait merge`)
|
|
71
|
-
// `package` on npm for a person's `npm stage approve`.
|
|
72
|
-
// file name (release-cli), path or own name.
|
|
84
|
+
// The pipelines that stage a release for a merge (`conduct runs`, `wait merge`), each of a kind
|
|
85
|
+
// release-kinds.ts reads: `npm-stage` stages `package` on npm for a person's `npm stage approve`.
|
|
86
|
+
// `pipeline` names it as --for does: its YAML file name (release-cli), path or own name.
|
|
73
87
|
releases: z
|
|
74
|
-
.array(z.
|
|
88
|
+
.array(z.discriminatedUnion('kind', [
|
|
89
|
+
z.strictObject({ key: name, kind: z.literal('npm-stage'), package: text, pipeline: text }),
|
|
90
|
+
]))
|
|
75
91
|
.default([]),
|
|
76
92
|
// Project rules (design note, section 9): checked before the machine's and the defaults, for
|
|
77
93
|
// this project's items only. They change by PR, and the daemon reloads them on save.
|
|
@@ -86,15 +102,23 @@ const profileFields = z.strictObject({
|
|
|
86
102
|
slots: z.int().min(1).max(8),
|
|
87
103
|
tracker: z.discriminatedUnion('kind', [
|
|
88
104
|
z.strictObject({
|
|
89
|
-
|
|
90
|
-
|
|
105
|
+
// The label group whose labels are the Areas. null: the team has none, so no item holds an
|
|
106
|
+
// Area (as a Boards item at its root), and `conduct file` files without one.
|
|
107
|
+
areaLabelGroup: text.nullable().default('Area'),
|
|
108
|
+
humanLabel: text.default('human'),
|
|
91
109
|
kind: z.literal('linear'),
|
|
92
|
-
// The conducted queue: the team's projects that have a priority set
|
|
93
|
-
queue
|
|
110
|
+
// The conducted queue: the team's projects that have a priority set, or the team's open
|
|
111
|
+
// issues carrying a label, in one queue at `priority` (as GitHub Issues' queueLabel).
|
|
112
|
+
queue: z
|
|
113
|
+
.union([
|
|
114
|
+
z.literal('prioritized-projects'),
|
|
115
|
+
z.strictObject({ label: text, priority: z.int().min(1).max(4).default(3) }),
|
|
116
|
+
])
|
|
117
|
+
.default('prioritized-projects'),
|
|
94
118
|
releaseWait,
|
|
95
119
|
team: text,
|
|
96
120
|
transitions,
|
|
97
|
-
// A new item a worker filed carries this label until
|
|
121
|
+
// A new item a worker filed carries this label until the operator triages it: the queue never picks it,
|
|
98
122
|
// and the inbox says it is new (ATK-277). Off when absent.
|
|
99
123
|
triageLabel: text.optional(),
|
|
100
124
|
}),
|
|
@@ -136,7 +160,7 @@ const profileFields = z.strictObject({
|
|
|
136
160
|
// The repo the issues live in; by default the code host's.
|
|
137
161
|
owner: z
|
|
138
162
|
.string()
|
|
139
|
-
.regex(/^[\w.-]+$/, 'a GitHub owner, such as
|
|
163
|
+
.regex(/^[\w.-]+$/, 'a GitHub owner, such as contoso')
|
|
140
164
|
.optional(),
|
|
141
165
|
// The queue's priority against other projects' (a Linear project's 1, urgent, to 4, low).
|
|
142
166
|
priority: z.int().min(1).max(4).default(3),
|
|
@@ -154,7 +178,7 @@ const profileFields = z.strictObject({
|
|
|
154
178
|
}),
|
|
155
179
|
]),
|
|
156
180
|
// Skill trains (train.ts, ATK-285): the GitHub repo whose PRs carrying a `<work skill> · Train`
|
|
157
|
-
// note ride one PR to its default branch. The daemon asks
|
|
181
|
+
// note ride one PR to its default branch. The daemon asks the operator for `conduct train` once `minimum`
|
|
158
182
|
// wait, one is urgent, or the oldest has waited `maxHours`. Off when absent.
|
|
159
183
|
train: z
|
|
160
184
|
.strictObject({
|
|
@@ -181,14 +205,28 @@ const profileFields = z.strictObject({
|
|
|
181
205
|
.prefault({}),
|
|
182
206
|
})
|
|
183
207
|
.prefault({}),
|
|
184
|
-
//
|
|
185
|
-
//
|
|
208
|
+
// Moved to the machine's config.json (workers.tab, ATK-529), and ignored here. Still read, so a
|
|
209
|
+
// profile written for an older conductor isn't refused; `conduct project check` warns about it.
|
|
186
210
|
workers: z.strictObject({ tab: z.boolean().default(false) }).prefault({}),
|
|
187
211
|
});
|
|
188
212
|
// ADO Boards takes its organization and project from an Azure DevOps code host, and GitHub Issues
|
|
189
213
|
// its owner and repo from a GitHub one; beside a code host of the other kind each names them.
|
|
214
|
+
// Azure Pipelines names an organization and project only to build a GitHub repo.
|
|
190
215
|
export const profileSchema = profileFields.superRefine((profile, ctx) => {
|
|
191
|
-
const { codeHost, tracker } = profile;
|
|
216
|
+
const { ci, codeHost, tracker } = profile;
|
|
217
|
+
// Without them beside a GitHub code host the profile still reads, as it did before they existed;
|
|
218
|
+
// `conduct runs` and `project check` refuse its CI (ciOf).
|
|
219
|
+
if (ci.kind === 'ado-pipelines' && codeHost.kind === 'ado') {
|
|
220
|
+
for (const key of ['organization', 'project']) {
|
|
221
|
+
if (ci[key] === undefined)
|
|
222
|
+
continue;
|
|
223
|
+
ctx.addIssue({
|
|
224
|
+
code: 'custom',
|
|
225
|
+
message: "only beside a github code host: Azure Pipelines builds an Azure DevOps repo in the repo's own",
|
|
226
|
+
path: ['ci', key],
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
}
|
|
192
230
|
const missing = (key, what) => ctx.addIssue({
|
|
193
231
|
code: 'custom',
|
|
194
232
|
message: `required beside a ${codeHost.kind} code host: ${what}`,
|
|
@@ -213,31 +251,57 @@ export const profileSchema = profileFields.superRefine((profile, ctx) => {
|
|
|
213
251
|
});
|
|
214
252
|
}
|
|
215
253
|
});
|
|
216
|
-
// The Azure DevOps organization the project's ADO calls go to: its code host's, else its board's
|
|
217
|
-
// null for a project with
|
|
254
|
+
// The Azure DevOps organization the project's ADO calls go to: its code host's, else its board's,
|
|
255
|
+
// else its Azure Pipelines'; null for a project with none on Azure DevOps.
|
|
218
256
|
export function adoOrganization(profile) {
|
|
219
257
|
if (profile.codeHost.kind === 'ado')
|
|
220
258
|
return profile.codeHost.organization;
|
|
221
|
-
|
|
259
|
+
if (profile.tracker.kind === 'ado-boards' && profile.tracker.organization)
|
|
260
|
+
return profile.tracker.organization;
|
|
261
|
+
return profile.ci.kind === 'ado-pipelines' ? (profile.ci.organization ?? null) : null;
|
|
262
|
+
}
|
|
263
|
+
// Whether the project's items have Areas: all but a Linear team with no Area group.
|
|
264
|
+
export function hasAreas(profile) {
|
|
265
|
+
return profile.tracker.kind !== 'linear' || profile.tracker.areaLabelGroup !== null;
|
|
222
266
|
}
|
|
223
267
|
// The `<skill> · ` headings that mark a project's notes: its work skill's, then each alias's.
|
|
224
|
-
// Without a profile,
|
|
225
|
-
//
|
|
226
|
-
//
|
|
268
|
+
// Without a profile, the plugin's own work skill's. The conductor plugin's skills head their notes
|
|
269
|
+
// with the bare name: `work-item · `, not `conductor:work-item · `, so notes from before and after
|
|
270
|
+
// a move to the plugin read alike. A project whose older notes carry another name lists it in
|
|
271
|
+
// `skills.aliases`.
|
|
227
272
|
export function notePrefixes(profile) {
|
|
228
|
-
const names = profile ? [profile.skills.work, ...profile.skills.aliases] : [
|
|
273
|
+
const names = profile ? [profile.skills.work, ...profile.skills.aliases] : [WORK_SKILL];
|
|
229
274
|
return [...new Set(names.map(noteName))].map((skill) => `${skill} · `);
|
|
230
275
|
}
|
|
231
|
-
// The key prefix of the project's items: the Linear team (
|
|
276
|
+
// The key prefix of the project's items: the Linear team (ENG-311), or the Boards or GitHub Issues
|
|
232
277
|
// key (CAD-1234, PAR-12).
|
|
233
278
|
export function trackerKey(profile) {
|
|
234
279
|
return profile.tracker.kind === 'linear' ? profile.tracker.team : profile.tracker.key;
|
|
235
280
|
}
|
|
236
|
-
const
|
|
237
|
-
//
|
|
238
|
-
//
|
|
239
|
-
export
|
|
240
|
-
|
|
281
|
+
const versionsOnly = z.looseObject({ conductor: z.unknown().optional(), protocol: z.unknown().optional() });
|
|
282
|
+
// A profile whose `conductor` minimum is newer than this conductor. `upgrade` brings the machine up
|
|
283
|
+
// to it: from `dev` for a -dev.N minimum, else from `latest`.
|
|
284
|
+
export class ProfileTooNewError extends ConductorError {
|
|
285
|
+
upgrade;
|
|
286
|
+
constructor(source, minimum, running) {
|
|
287
|
+
const upgrade = `conduct upgrade --tag ${defaultTag(minimum)}`;
|
|
288
|
+
super(`${source} is invalid`, [`conductor: needs ${minimum} or newer; this is ${running}: run \`${upgrade}\``]);
|
|
289
|
+
this.name = 'ProfileTooNewError';
|
|
290
|
+
this.upgrade = upgrade;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
// The conductor minimum, then the protocol, are checked first, so a profile written for another
|
|
294
|
+
// version gets one clear message instead of a list of schema differences. `running` is this
|
|
295
|
+
// conductor's version, read only for a profile with a minimum.
|
|
296
|
+
export function parseProfile(text, source, running) {
|
|
297
|
+
const { conductor, protocol } = parseJsonc(text, versionsOnly, source);
|
|
298
|
+
// As semver reads it: `v3.0.0-dev.9` and `3.0.0-dev.9+abc` both mean 3.0.0-dev.9.
|
|
299
|
+
const minimum = typeof conductor === 'string' ? valid(conductor) : null;
|
|
300
|
+
if (minimum !== null) {
|
|
301
|
+
const version = running ?? packageInfo().version;
|
|
302
|
+
if (lt(version, minimum))
|
|
303
|
+
throw new ProfileTooNewError(source, minimum, version);
|
|
304
|
+
}
|
|
241
305
|
if (protocol !== PROTOCOL) {
|
|
242
306
|
throw new ConductorError(`${source} is invalid`, [
|
|
243
307
|
`protocol: ${JSON.stringify(protocol ?? null)} is not supported; this conductor speaks protocol ${PROTOCOL}`,
|
|
@@ -245,19 +309,11 @@ export function parseProfile(text, source) {
|
|
|
245
309
|
}
|
|
246
310
|
return parseJsonc(text, profileSchema, source);
|
|
247
311
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
catch (error) {
|
|
255
|
-
if (!isMissing(error))
|
|
256
|
-
throw error;
|
|
257
|
-
throw new ConductorError(`no ${PROFILE_FILE} in ${root}`, [
|
|
258
|
-
'a conducted project commits its profile at .claude/conductor.json',
|
|
259
|
-
]);
|
|
260
|
-
}
|
|
261
|
-
return { path, profile: parseProfile(source, path) };
|
|
312
|
+
// Why a profile didn't read, in one line: a ConductorError's problems after its file line (the
|
|
313
|
+
// version it needs, the fields), so a verb that turns it into its own refusal keeps them.
|
|
314
|
+
export function profileProblem(error) {
|
|
315
|
+
if (!(error instanceof ConductorError))
|
|
316
|
+
return error instanceof Error ? error.message : String(error);
|
|
317
|
+
return error.details.length > 0 ? error.details.join('; ') : error.message;
|
|
262
318
|
}
|
|
263
319
|
//# sourceMappingURL=profile.js.map
|
package/build/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { mkdirSync } from 'node:fs';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { broker } from "./broker.js";
|
|
4
|
+
import { claudeCli } from "./claude.js";
|
|
4
5
|
import { callApi, NotRunningError } from "./client.js";
|
|
5
6
|
import { projectHosts } from "./code-host.js";
|
|
6
7
|
import { loadConfig } from "./config.js";
|
|
@@ -8,32 +9,33 @@ import { ConductorError } from "./errors.js";
|
|
|
8
9
|
import { localCredentials } from "./in-process.js";
|
|
9
10
|
import { checkFailed, checkLines, checkProject, checkReportSchema, noProject, } from "./project-check.js";
|
|
10
11
|
import { openStore } from "./store.js";
|
|
11
|
-
import {
|
|
12
|
-
import { boardsQueue } from "./watchers/boards-queue.js";
|
|
13
|
-
import { issuesQueue } from "./watchers/issues-queue.js";
|
|
14
|
-
import { linearQueue } from "./watchers/linear-queue.js";
|
|
12
|
+
import { projectTracker } from "./trackers.js";
|
|
15
13
|
import { gitWorktrees } from "./worktrees.js";
|
|
16
|
-
// The worktree's
|
|
14
|
+
// The worktree's setup may run 10 minutes (pnpm install) and its remove 5, on top of the reads.
|
|
17
15
|
const CHECK_TIMEOUT_MS = 17 * 60_000;
|
|
18
16
|
const refused = z.object({ details: z.array(z.string()).optional(), error: z.string() });
|
|
19
17
|
// `conduct project check <name>`: through the daemon, which checks as its own accounts, else here
|
|
20
18
|
// as the machine's. Returns the exit code: 1 when a check failed, else 0.
|
|
21
19
|
export async function projectCheckCommand(paths, name, options, io) {
|
|
22
|
-
|
|
20
|
+
const report = await projectCheckReport(paths, name, options, io);
|
|
21
|
+
if (options.json)
|
|
22
|
+
io.out(JSON.stringify(report, null, 2));
|
|
23
|
+
else
|
|
24
|
+
checkLines(report).forEach((line) => io.out(line));
|
|
25
|
+
return checkFailed(report) ? 1 : 0;
|
|
26
|
+
}
|
|
27
|
+
// The check's report, from the daemon or made here, for a caller that prints it its own way
|
|
28
|
+
// (`conduct init`).
|
|
29
|
+
export async function projectCheckReport(paths, name, options, io) {
|
|
23
30
|
try {
|
|
24
|
-
|
|
31
|
+
return await checkByDaemon(paths, name, options);
|
|
25
32
|
}
|
|
26
33
|
catch (error) {
|
|
27
34
|
if (!(error instanceof NotRunningError))
|
|
28
35
|
throw error;
|
|
29
36
|
io.err('checking here (the conductor is not running)');
|
|
30
|
-
|
|
37
|
+
return checkHere(paths, name, options, io);
|
|
31
38
|
}
|
|
32
|
-
if (options.json)
|
|
33
|
-
io.out(JSON.stringify(report, null, 2));
|
|
34
|
-
else
|
|
35
|
-
checkLines(report).forEach((line) => io.out(line));
|
|
36
|
-
return checkFailed(report) ? 1 : 0;
|
|
37
39
|
}
|
|
38
40
|
async function checkByDaemon(paths, name, options) {
|
|
39
41
|
const { body, status } = await callApi(paths, {
|
|
@@ -72,14 +74,12 @@ async function checkHere(paths, name, options, io) {
|
|
|
72
74
|
function localDeps(paths, store) {
|
|
73
75
|
const credentials = localCredentials(paths, store);
|
|
74
76
|
return {
|
|
77
|
+
claude: claudeCli(),
|
|
75
78
|
credentials,
|
|
76
|
-
hosts: (
|
|
79
|
+
hosts: (profile) => projectHosts(credentials, profile.name, { profile }),
|
|
80
|
+
paths,
|
|
77
81
|
ports: broker({ pool: loadConfig(paths.config).ports, store }),
|
|
78
|
-
queue:
|
|
79
|
-
'ado-boards': boardsQueue({ credentials }),
|
|
80
|
-
'github-issues': issuesQueue({ credentials }),
|
|
81
|
-
linear: linearQueue({ credentials }),
|
|
82
|
-
}),
|
|
82
|
+
queue: projectTracker({ credentials }).queue,
|
|
83
83
|
worktrees: gitWorktrees(),
|
|
84
84
|
};
|
|
85
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-check-cli.js","sourceRoot":"","sources":["../src/project-check-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,WAAW,EACX,UAAU,EAEV,YAAY,EAEZ,iBAAiB,EACjB,SAAS,GAEV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAc,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"project-check-cli.js","sourceRoot":"","sources":["../src/project-check-cli.ts"],"names":[],"mappings":"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"}
|