@on-par/factory-cli 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -5
- package/dist/cli/base-hold.d.ts +63 -0
- package/dist/cli/base-hold.d.ts.map +1 -0
- package/dist/cli/base-hold.js +122 -0
- package/dist/cli/base-hold.js.map +1 -0
- package/dist/cli/daemon.d.ts +52 -3
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +115 -4
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/help-groups.d.ts.map +1 -1
- package/dist/cli/help-groups.js +10 -1
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/index.d.ts +19 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +144 -29
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/self-update.d.ts +68 -0
- package/dist/cli/self-update.d.ts.map +1 -0
- package/dist/cli/self-update.js +167 -0
- package/dist/cli/self-update.js.map +1 -0
- package/dist/cli/state-root.d.ts +5 -0
- package/dist/cli/state-root.d.ts.map +1 -0
- package/dist/cli/state-root.js +12 -0
- package/dist/cli/state-root.js.map +1 -0
- package/dist/cli/status-json.d.ts +4 -0
- package/dist/cli/status-json.d.ts.map +1 -1
- package/dist/cli/status-json.js +1 -0
- package/dist/cli/status-json.js.map +1 -1
- package/dist/cli/update-state.d.ts +44 -0
- package/dist/cli/update-state.d.ts.map +1 -0
- package/dist/cli/update-state.js +154 -0
- package/dist/cli/update-state.js.map +1 -0
- package/package.json +12 -4
package/README.md
CHANGED
|
@@ -1,21 +1,38 @@
|
|
|
1
1
|
# @on-par/factory-cli
|
|
2
2
|
|
|
3
|
-
The `factory` command
|
|
3
|
+
The `factory` command for On PAR Dev's Software Factory.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
On PAR Dev's Software Factory is a local CLI that takes a GitHub issue through plan, build and check with AI agents, then opens a ready-for-review PR. You decide what merges.
|
|
6
|
+
|
|
7
|
+
Built in TypeScript. Routes work across Claude and Codex, with experimental local models through Ollama, and logs cost per task.
|
|
8
|
+
|
|
9
|
+

|
|
6
10
|
|
|
7
11
|
## Install
|
|
8
12
|
|
|
9
13
|
```bash
|
|
10
14
|
npm install -g @on-par/factory-cli
|
|
11
|
-
factory --
|
|
15
|
+
factory --version
|
|
16
|
+
factory doctor
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Requires Node.js >= 24, `git`, Claude Code (`claude`) installed and signed in, and the GitHub CLI signed in with `gh auth login`. The factory reads `GITHUB_TOKEN`, then `GH_TOKEN`, and falls back to `gh auth token`. `factory doctor` checks all of this and prints a fix for anything missing.
|
|
20
|
+
|
|
21
|
+
## Safety
|
|
22
|
+
|
|
23
|
+
Agents run with their permission prompts off (Claude Code with `--permission-mode bypassPermissions`, Codex with `approval_policy=never`) in a separate git worktree, with your permissions and your GitHub token. Only point the factory at repos and issues you trust. It never merges by default: `factory run` and `factory supervise` merge only if you turn auto-merge on (`FACTORY_MERGE=1`, `run.merge.auto: true`, or `--auto-merge`), and `factory land` merges when you run it. Details are in the [Safety section](https://github.com/on-par/software-factory#safety) and [SECURITY.md](https://github.com/on-par/software-factory/blob/main/SECURITY.md).
|
|
24
|
+
|
|
25
|
+
## Updating
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install -g @on-par/factory-cli@latest
|
|
12
29
|
```
|
|
13
30
|
|
|
14
|
-
|
|
31
|
+
Automatic updates are planned: [#2354](https://github.com/on-par/software-factory/issues/2354), [#2355](https://github.com/on-par/software-factory/issues/2355).
|
|
15
32
|
|
|
16
33
|
## Documentation
|
|
17
34
|
|
|
18
|
-
- [README and
|
|
35
|
+
- [README and quick start](https://github.com/on-par/software-factory#readme)
|
|
19
36
|
- [Architecture and package graph](https://github.com/on-par/software-factory/blob/main/docs/architecture.md)
|
|
20
37
|
- [Changelog](https://github.com/on-par/software-factory/blob/main/CHANGELOG.md)
|
|
21
38
|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/** A base SHA found broken by an environment pause (ADR-0141). */
|
|
2
|
+
export interface BaseHold {
|
|
3
|
+
/** `owner/name` of the repo the hold applies to. */
|
|
4
|
+
repo: string;
|
|
5
|
+
baseSha: string;
|
|
6
|
+
failingChecks: string[];
|
|
7
|
+
/** ISO-8601 time the hold was recorded. */
|
|
8
|
+
since: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function writeBaseHold(file: string, hold: BaseHold): void;
|
|
11
|
+
/** Fails soft: a missing, unreadable, non-JSON, non-object or wrongly-typed file is no hold (null). */
|
|
12
|
+
export declare function readBaseHold(file: string): BaseHold | null;
|
|
13
|
+
export declare function deleteBaseHold(file: string): void;
|
|
14
|
+
/** Why a hold ended (#2350). */
|
|
15
|
+
export type BaseHoldClearReason = 'sha-changed' | 'ci-green';
|
|
16
|
+
export interface BaseHoldCleared {
|
|
17
|
+
hold: BaseHold;
|
|
18
|
+
reason: BaseHoldClearReason;
|
|
19
|
+
/** origin/main SHA seen on the clearing poll. */
|
|
20
|
+
currentSha: string;
|
|
21
|
+
}
|
|
22
|
+
/** Deletes the hold only if it is still on `baseSha`; true only when this call deleted it. Fully
|
|
23
|
+
* synchronous, so concurrent lanes in one process cannot both get true. */
|
|
24
|
+
export declare function clearBaseHold(file: string, baseSha: string): boolean;
|
|
25
|
+
export declare function formatBaseHoldCleared(c: BaseHoldCleared): string;
|
|
26
|
+
/** `factory status` lines for an active hold (#2351). */
|
|
27
|
+
export declare function formatBaseHoldStatus(hold: BaseHold): string[];
|
|
28
|
+
export type BaseHoldDecision = {
|
|
29
|
+
kind: 'claim';
|
|
30
|
+
} | {
|
|
31
|
+
kind: 'hold';
|
|
32
|
+
hold: BaseHold;
|
|
33
|
+
};
|
|
34
|
+
export interface BaseHoldGateDeps {
|
|
35
|
+
/** Current origin/main SHA; null (or a throw) means unknown. */
|
|
36
|
+
currentBaseSha: () => Promise<string | null>;
|
|
37
|
+
/** True only when main's CI on `sha` is green. */
|
|
38
|
+
baseCiGreen: (sha: string) => Promise<boolean>;
|
|
39
|
+
/** Called once, only by the poll that actually deleted the hold. A throw is swallowed. */
|
|
40
|
+
onCleared?: (cleared: BaseHoldCleared) => void;
|
|
41
|
+
}
|
|
42
|
+
/** Decides whether a lane may claim: hold only while origin/main is still at the held SHA and
|
|
43
|
+
* its CI is not green. Unknown origin/main fails open; a failed CI lookup counts as not green.
|
|
44
|
+
* Clears the hold when origin/main moved or its CI is green (#2350). */
|
|
45
|
+
export declare function evaluateBaseHold(file: string, repo: string, deps: BaseHoldGateDeps): Promise<BaseHoldDecision>;
|
|
46
|
+
/** Green = at least one check run, all completed, all on the ADR-0014 passing allow-list. */
|
|
47
|
+
export declare function isGreenCheckRunSet(runs: ReadonlyArray<{
|
|
48
|
+
status: string | null;
|
|
49
|
+
conclusion: string | null;
|
|
50
|
+
}>): boolean;
|
|
51
|
+
/** SHA from the first line of `git ls-remote` output, or null when absent or malformed. */
|
|
52
|
+
export declare function parseLsRemoteSha(stdout: string): string | null;
|
|
53
|
+
export declare function createBaseHoldGate(opts: {
|
|
54
|
+
file: string;
|
|
55
|
+
repo: string;
|
|
56
|
+
git: (cmd: string) => Promise<string>;
|
|
57
|
+
listCheckRuns: (ref: string) => Promise<Array<{
|
|
58
|
+
status: string | null;
|
|
59
|
+
conclusion: string | null;
|
|
60
|
+
}>>;
|
|
61
|
+
onCleared?: (cleared: BaseHoldCleared) => void;
|
|
62
|
+
}): () => Promise<BaseHoldDecision>;
|
|
63
|
+
//# sourceMappingURL=base-hold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-hold.d.ts","sourceRoot":"","sources":["../../src/cli/base-hold.ts"],"names":[],"mappings":"AAWA,kEAAkE;AAClE,MAAM,WAAW,QAAQ;IACvB,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAShE;AAED,uGAAuG;AACvG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAa1D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED,gCAAgC;AAChC,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,UAAU,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,mBAAmB,CAAC;IAC5B,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;4EAC4E;AAC5E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAKpE;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAMhE;AAED,yDAAyD;AACzD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAG7D;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEpF,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,kDAAkD;IAClD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,0FAA0F;IAC1F,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CAChD;AAED;;yEAEyE;AACzE,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+BpH;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAAG,OAAO,CAErH;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI9D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC,CAAC;IACrG,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CAChD,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAOlC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
// packages/cli/src/cli/base-hold.ts — base hold persisted when a lane pauses on a broken
|
|
2
|
+
// base SHA (#2348), so a restarted supervisor remembers the pause. #2349 reads it back as the
|
|
3
|
+
// claim gate: no claiming while origin/main is still at the held SHA and its CI is not green.
|
|
4
|
+
// #2350 clears the hold once origin/main moves or its CI goes green. #2351 reads it for
|
|
5
|
+
// `factory status`.
|
|
6
|
+
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
7
|
+
import { dirname } from 'node:path';
|
|
8
|
+
import { isPassingConclusion } from '@on-par/factory-core/internal';
|
|
9
|
+
export function writeBaseHold(file, hold) {
|
|
10
|
+
mkdirSync(dirname(file), { recursive: true });
|
|
11
|
+
const record = {
|
|
12
|
+
repo: hold.repo,
|
|
13
|
+
baseSha: hold.baseSha,
|
|
14
|
+
failingChecks: [...hold.failingChecks],
|
|
15
|
+
since: hold.since,
|
|
16
|
+
};
|
|
17
|
+
writeFileSync(file, `${JSON.stringify(record, null, 2)}\n`);
|
|
18
|
+
}
|
|
19
|
+
/** Fails soft: a missing, unreadable, non-JSON, non-object or wrongly-typed file is no hold (null). */
|
|
20
|
+
export function readBaseHold(file) {
|
|
21
|
+
if (!existsSync(file))
|
|
22
|
+
return null;
|
|
23
|
+
let raw;
|
|
24
|
+
try {
|
|
25
|
+
raw = JSON.parse(readFileSync(file, 'utf-8'));
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
if (typeof raw !== 'object' || raw === null || Array.isArray(raw))
|
|
31
|
+
return null;
|
|
32
|
+
const { repo, baseSha, failingChecks, since } = raw;
|
|
33
|
+
if (typeof repo !== 'string' || typeof baseSha !== 'string' || typeof since !== 'string')
|
|
34
|
+
return null;
|
|
35
|
+
if (!Array.isArray(failingChecks) || !failingChecks.every((c) => typeof c === 'string'))
|
|
36
|
+
return null;
|
|
37
|
+
return { repo, baseSha, failingChecks: [...failingChecks], since };
|
|
38
|
+
}
|
|
39
|
+
export function deleteBaseHold(file) {
|
|
40
|
+
rmSync(file, { force: true });
|
|
41
|
+
}
|
|
42
|
+
/** Deletes the hold only if it is still on `baseSha`; true only when this call deleted it. Fully
|
|
43
|
+
* synchronous, so concurrent lanes in one process cannot both get true. */
|
|
44
|
+
export function clearBaseHold(file, baseSha) {
|
|
45
|
+
const current = readBaseHold(file);
|
|
46
|
+
if (current === null || current.baseSha !== baseSha)
|
|
47
|
+
return false;
|
|
48
|
+
deleteBaseHold(file);
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
export function formatBaseHoldCleared(c) {
|
|
52
|
+
const held = c.hold.baseSha.slice(0, 8);
|
|
53
|
+
const now = c.currentSha.slice(0, 8);
|
|
54
|
+
return c.reason === 'sha-changed'
|
|
55
|
+
? `base hold on ${held} cleared (reason: sha-changed): origin/main moved to ${now}`
|
|
56
|
+
: `base hold on ${held} cleared (reason: ci-green): main CI on ${now} is green`;
|
|
57
|
+
}
|
|
58
|
+
/** `factory status` lines for an active hold (#2351). */
|
|
59
|
+
export function formatBaseHoldStatus(hold) {
|
|
60
|
+
const checks = hold.failingChecks.length > 0 ? hold.failingChecks.join(', ') : '(none recorded)';
|
|
61
|
+
return [` repo: ${hold.repo}`, ` baseSha: ${hold.baseSha}`, ` failingChecks: ${checks}`, ` since: ${hold.since}`];
|
|
62
|
+
}
|
|
63
|
+
/** Decides whether a lane may claim: hold only while origin/main is still at the held SHA and
|
|
64
|
+
* its CI is not green. Unknown origin/main fails open; a failed CI lookup counts as not green.
|
|
65
|
+
* Clears the hold when origin/main moved or its CI is green (#2350). */
|
|
66
|
+
export async function evaluateBaseHold(file, repo, deps) {
|
|
67
|
+
const hold = readBaseHold(file);
|
|
68
|
+
if (hold === null || hold.repo !== repo)
|
|
69
|
+
return { kind: 'claim' };
|
|
70
|
+
let sha;
|
|
71
|
+
try {
|
|
72
|
+
sha = await deps.currentBaseSha();
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
sha = null;
|
|
76
|
+
}
|
|
77
|
+
if (sha === null)
|
|
78
|
+
return { kind: 'claim' };
|
|
79
|
+
const clear = (reason, currentSha) => {
|
|
80
|
+
if (!clearBaseHold(file, hold.baseSha))
|
|
81
|
+
return;
|
|
82
|
+
try {
|
|
83
|
+
deps.onCleared?.({ hold, reason, currentSha });
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
// an observer failure must not change the decision
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
if (sha !== hold.baseSha) {
|
|
90
|
+
clear('sha-changed', sha);
|
|
91
|
+
return { kind: 'claim' };
|
|
92
|
+
}
|
|
93
|
+
let green = false;
|
|
94
|
+
try {
|
|
95
|
+
green = await deps.baseCiGreen(sha);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
green = false;
|
|
99
|
+
}
|
|
100
|
+
if (!green)
|
|
101
|
+
return { kind: 'hold', hold };
|
|
102
|
+
clear('ci-green', sha);
|
|
103
|
+
return { kind: 'claim' };
|
|
104
|
+
}
|
|
105
|
+
/** Green = at least one check run, all completed, all on the ADR-0014 passing allow-list. */
|
|
106
|
+
export function isGreenCheckRunSet(runs) {
|
|
107
|
+
return runs.length > 0 && runs.every((r) => r.status === 'completed' && isPassingConclusion(r.conclusion));
|
|
108
|
+
}
|
|
109
|
+
/** SHA from the first line of `git ls-remote` output, or null when absent or malformed. */
|
|
110
|
+
export function parseLsRemoteSha(stdout) {
|
|
111
|
+
const line = stdout.split('\n').find((l) => l.trim() !== '');
|
|
112
|
+
const field = line?.trim().split(/\s+/)[0] ?? '';
|
|
113
|
+
return /^[0-9a-f]{40}$/i.test(field) ? field : null;
|
|
114
|
+
}
|
|
115
|
+
export function createBaseHoldGate(opts) {
|
|
116
|
+
return () => evaluateBaseHold(opts.file, opts.repo, {
|
|
117
|
+
currentBaseSha: async () => parseLsRemoteSha(await opts.git('git ls-remote origin refs/heads/main')),
|
|
118
|
+
baseCiGreen: async (sha) => isGreenCheckRunSet(await opts.listCheckRuns(sha)),
|
|
119
|
+
onCleared: opts.onCleared,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=base-hold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-hold.js","sourceRoot":"","sources":["../../src/cli/base-hold.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,8FAA8F;AAC9F,8FAA8F;AAC9F,wFAAwF;AACxF,oBAAoB;AAEpB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAYpE,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,IAAc;IACxD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAa;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QACtC,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;IACF,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,GAA8B,CAAC;IAC/E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACtG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACrG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAChC,CAAC;AAYD;4EAC4E;AAC5E,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAe;IACzD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAClE,cAAc,CAAC,IAAI,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,CAAkB;IACtD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,CAAC,MAAM,KAAK,aAAa;QAC/B,CAAC,CAAC,gBAAgB,IAAI,wDAAwD,GAAG,EAAE;QACnF,CAAC,CAAC,gBAAgB,IAAI,2CAA2C,GAAG,WAAW,CAAC;AACpF,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,oBAAoB,CAAC,IAAc;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACjG,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,EAAE,cAAc,IAAI,CAAC,OAAO,EAAE,EAAE,oBAAoB,MAAM,EAAE,EAAE,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACxH,CAAC;AAaD;;yEAEyE;AACzE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAAY,EAAE,IAAsB;IACvF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAClE,IAAI,GAAkB,CAAC;IACvB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IACD,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,CAAC,MAA2B,EAAE,UAAkB,EAAQ,EAAE;QACtE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO;QAC/C,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;QACrD,CAAC;IACH,CAAC,CAAC;IACF,IAAI,GAAG,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1C,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACvB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,kBAAkB,CAAC,IAAyE;IAC1G,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAC7G,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAMlC;IACC,OAAO,GAAG,EAAE,CACV,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;QACrC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpG,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC7E,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;AACP,CAAC"}
|
package/dist/cli/daemon.d.ts
CHANGED
|
@@ -41,21 +41,70 @@ export declare function factorydFiles(home: string): {
|
|
|
41
41
|
plistPath: string;
|
|
42
42
|
logPath: string;
|
|
43
43
|
};
|
|
44
|
+
export declare const UPDATE_MODES: readonly ['manual', 'stable', 'prerelease'];
|
|
45
|
+
export type UpdateMode = (typeof UPDATE_MODES)[number];
|
|
46
|
+
export type UpdateChannel = 'latest' | 'next';
|
|
47
|
+
/** The single mode → npm dist-tag mapping (#2246). */
|
|
48
|
+
export declare function updateChannel(mode: UpdateMode): UpdateChannel | null;
|
|
49
|
+
/** Exact, case-sensitive parse of an update mode. Throws DaemonCtlError (code 2). */
|
|
50
|
+
export declare function parseUpdateMode(value: string, source: string): UpdateMode;
|
|
51
|
+
export type InstallKind = 'npm-global' | 'source' | 'unknown';
|
|
52
|
+
export interface InstallInfo {
|
|
53
|
+
kind: InstallKind;
|
|
54
|
+
prefix: string;
|
|
55
|
+
version: string;
|
|
56
|
+
}
|
|
57
|
+
export interface DetectInstallDeps {
|
|
58
|
+
execPath?: string;
|
|
59
|
+
cliPath?: string;
|
|
60
|
+
env?: NodeJS.ProcessEnv;
|
|
61
|
+
version?: string;
|
|
62
|
+
exists?: (p: string) => boolean;
|
|
63
|
+
}
|
|
64
|
+
/** Classifies the running cli.js as npm-global, source or unknown (#2246). Pure
|
|
65
|
+
* apart from the injectable fs probe; never spawns npm or git. */
|
|
66
|
+
export declare function detectInstall(deps?: DetectInstallDeps): InstallInfo;
|
|
67
|
+
/** Optional daemon-scoped config file (<registry dir>/daemon.json). */
|
|
68
|
+
export interface DaemonFileConfig {
|
|
69
|
+
autoUpdate?: {
|
|
70
|
+
mode?: string;
|
|
71
|
+
checkIntervalMinutes?: unknown;
|
|
72
|
+
drainTimeoutMinutes?: unknown;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/** Reads daemon.json. A missing file is `{}`; malformed structure throws DaemonCtlError (code 2). */
|
|
76
|
+
export declare function loadDaemonFileConfig(file: string): DaemonFileConfig;
|
|
77
|
+
export interface ResolvedAutoUpdate {
|
|
78
|
+
/** Effective mode (after the source/unknown downgrade). */
|
|
79
|
+
mode: UpdateMode;
|
|
80
|
+
/** Mode requested before the downgrade. */
|
|
81
|
+
requestedMode: UpdateMode;
|
|
82
|
+
channel: UpdateChannel | null;
|
|
83
|
+
checkIntervalMinutes: number;
|
|
84
|
+
drainTimeoutMinutes: number;
|
|
85
|
+
}
|
|
44
86
|
/** Resolved options for the foreground `factory daemon run` process. */
|
|
45
87
|
export interface FactorydConfig {
|
|
46
88
|
/** Registry file served (default ~/.factory/registry.json). */
|
|
47
89
|
registryFile: string;
|
|
48
90
|
/** Port to bind on 127.0.0.1 (default DEFAULT_FACTORYD_PORT). */
|
|
49
91
|
port: number;
|
|
50
|
-
/**
|
|
51
|
-
autoUpdate:
|
|
92
|
+
/** Resolved self-update setting (#2246). Nothing acts on it yet; the registry query, install and restart come in later #1936 issues. */
|
|
93
|
+
autoUpdate: ResolvedAutoUpdate;
|
|
94
|
+
install: InstallInfo;
|
|
95
|
+
/** One-time startup notices (deprecation, downgrade); cmdFactoryd logs each once. */
|
|
96
|
+
notices: string[];
|
|
52
97
|
}
|
|
53
98
|
/** Resolves `factory daemon run` options into a FactorydConfig. Throws
|
|
54
|
-
* DaemonCtlError (code 2) on an invalid --port. */
|
|
99
|
+
* DaemonCtlError (code 2) on an invalid --port, --update-mode or daemon.json value. */
|
|
55
100
|
export declare function resolveFactorydConfig(opts: {
|
|
56
101
|
port?: string;
|
|
57
102
|
registry?: string;
|
|
103
|
+
updateMode?: string;
|
|
58
104
|
autoUpdate?: boolean;
|
|
105
|
+
}, deps?: {
|
|
106
|
+
install?: InstallInfo;
|
|
107
|
+
fileConfig?: DaemonFileConfig;
|
|
59
108
|
}): FactorydConfig;
|
|
60
109
|
/** Pure renderer for ~/Library/LaunchAgents/com.onpar.factoryd.plist. KeepAlive
|
|
61
110
|
* relaunches factoryd after any exit; RunAtLoad starts it at login/bootstrap;
|
package/dist/cli/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AAoBA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,+BAA+B,CAAC;AAEvC,eAAO,MAAM,cAAc,uBAAuB,CAAC;AAEnD;;4BAE4B;AAC5B,qBAAa,cAAe,SAAQ,KAAK;IAGrC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAFvB,YACE,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,MAAM,EAItB;CACF;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEvH,MAAM,WAAW,aAAa;IAC5B;8EAC0E;IAC1E,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,8BAA8B;IAC9B,GAAG,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACpC,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAO3G;AAED,eAAO,MAAM,YAAY,YAAI,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAU,CAAC;AACxE,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9C,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI,CASpE;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAGzE;AAED,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC9D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;CACjC;AAUD;mEACmE;AACnE,wBAAgB,aAAa,CAAC,IAAI,GAAE,iBAAsB,GAAG,WAAW,CAqBvE;AAED,uEAAuE;AACvE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC/F;AAED,qGAAqG;AACrG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAkBnE;AAED,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,IAAI,EAAE,UAAU,CAAC;IACjB,2CAA2C;IAC3C,aAAa,EAAE,UAAU,CAAC;IAC1B,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,wEAAwE;AACxE,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,wIAAwI;IACxI,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,WAAW,CAAC;IACrB,qFAAqF;IACrF,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAUD;wFACwF;AACxF,wBAAgB,qBAAqB,CACnC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,EACrF,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,WAAW,CAAC;IAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAAO,GAClE,cAAc,CA4BhB;AAMD;;;qEAGqE;AACrE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAyB9G;AAED,gFAAgF;AAChF,sHAAsH;AACtH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CACxE;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvD;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGpE;AAED,yDAAyD;AACzD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAI3D;AAED;;iFAEiF;AACjF,wBAAgB,WAAW,IAAI,aAAa,CAQ3C;AAkCD;;;+FAG+F;AAC/F,wBAAsB,cAAc,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB5E;AAED;6DAC6D;AAC7D,wBAAsB,aAAa,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3E;AAED;;2EAE2E;AAC3E,wBAAsB,eAAe,CAAC,IAAI,GAAE,aAAkB,EAAE,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5G;AAED;;yEAEyE;AACzE,wBAAsB,aAAa,CACjC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1C,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CAyDf"}
|
package/dist/cli/daemon.js
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
import { execFile } from 'node:child_process';
|
|
5
5
|
import { closeSync, existsSync, fstatSync, mkdirSync, openSync, readFileSync, readSync, realpathSync, writeFileSync, } from 'node:fs';
|
|
6
6
|
import { homedir } from 'node:os';
|
|
7
|
-
import {
|
|
7
|
+
import { createRequire } from 'node:module';
|
|
8
|
+
import { dirname, join, sep } from 'node:path';
|
|
8
9
|
import { DEFAULT_FACTORYD_PORT, defaultRegistryPath, listRepos, loadRegistry, } from '@on-par/factory-core/internal';
|
|
9
10
|
export const FACTORYD_LABEL = 'com.onpar.factoryd';
|
|
10
11
|
/** Expected daemon-control failure. index.ts's commander wrappers map it onto
|
|
@@ -27,14 +28,124 @@ export function factorydFiles(home) {
|
|
|
27
28
|
logPath: join(home, '.factory', 'daemon.log'),
|
|
28
29
|
};
|
|
29
30
|
}
|
|
31
|
+
export const UPDATE_MODES = ['manual', 'stable', 'prerelease'];
|
|
32
|
+
/** The single mode → npm dist-tag mapping (#2246). */
|
|
33
|
+
export function updateChannel(mode) {
|
|
34
|
+
switch (mode) {
|
|
35
|
+
case 'stable':
|
|
36
|
+
return 'latest';
|
|
37
|
+
case 'prerelease':
|
|
38
|
+
return 'next';
|
|
39
|
+
case 'manual':
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** Exact, case-sensitive parse of an update mode. Throws DaemonCtlError (code 2). */
|
|
44
|
+
export function parseUpdateMode(value, source) {
|
|
45
|
+
if (UPDATE_MODES.includes(value))
|
|
46
|
+
return value;
|
|
47
|
+
throw new DaemonCtlError(`invalid ${source} "${value}" — expected one of ${UPDATE_MODES.join(', ')}`, 2);
|
|
48
|
+
}
|
|
49
|
+
function defaultCliPath() {
|
|
50
|
+
try {
|
|
51
|
+
return realpathSync(process.argv[1] ?? '');
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return '';
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/** Classifies the running cli.js as npm-global, source or unknown (#2246). Pure
|
|
58
|
+
* apart from the injectable fs probe; never spawns npm or git. */
|
|
59
|
+
export function detectInstall(deps = {}) {
|
|
60
|
+
const execPath = deps.execPath ?? process.execPath;
|
|
61
|
+
const cliPath = deps.cliPath ?? defaultCliPath();
|
|
62
|
+
const env = deps.env ?? process.env;
|
|
63
|
+
const version = deps.version ?? createRequire(import.meta.url)('../../package.json').version;
|
|
64
|
+
const exists = deps.exists ?? existsSync;
|
|
65
|
+
const prefix = dirname(dirname(execPath));
|
|
66
|
+
const info = (kind) => ({ kind, prefix, version });
|
|
67
|
+
if (env.FACTORY_FROM_SOURCE === '1')
|
|
68
|
+
return info('source');
|
|
69
|
+
const pkgDir = join(prefix, 'lib', 'node_modules', '@on-par', 'factory-cli');
|
|
70
|
+
if (cliPath.startsWith(pkgDir + sep))
|
|
71
|
+
return info('npm-global');
|
|
72
|
+
if (cliPath !== '') {
|
|
73
|
+
let dir = dirname(cliPath);
|
|
74
|
+
for (;;) {
|
|
75
|
+
if (exists(join(dir, '.git')))
|
|
76
|
+
return info('source');
|
|
77
|
+
const parent = dirname(dir);
|
|
78
|
+
if (parent === dir)
|
|
79
|
+
break;
|
|
80
|
+
dir = parent;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return info('unknown');
|
|
84
|
+
}
|
|
85
|
+
/** Reads daemon.json. A missing file is `{}`; malformed structure throws DaemonCtlError (code 2). */
|
|
86
|
+
export function loadDaemonFileConfig(file) {
|
|
87
|
+
if (!existsSync(file))
|
|
88
|
+
return {};
|
|
89
|
+
const fail = (reason) => new DaemonCtlError(`invalid daemon config ${file}: ${reason}`, 2);
|
|
90
|
+
let parsed;
|
|
91
|
+
try {
|
|
92
|
+
parsed = JSON.parse(readFileSync(file, 'utf8'));
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
throw fail(err instanceof Error ? err.message : String(err));
|
|
96
|
+
}
|
|
97
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
|
|
98
|
+
throw fail('expected a JSON object');
|
|
99
|
+
const autoUpdate = parsed.autoUpdate;
|
|
100
|
+
if (autoUpdate !== undefined &&
|
|
101
|
+
(typeof autoUpdate !== 'object' || autoUpdate === null || Array.isArray(autoUpdate))) {
|
|
102
|
+
throw fail('autoUpdate must be an object');
|
|
103
|
+
}
|
|
104
|
+
return parsed;
|
|
105
|
+
}
|
|
106
|
+
function positiveInt(value, fallback, name) {
|
|
107
|
+
if (value === undefined)
|
|
108
|
+
return fallback;
|
|
109
|
+
if (typeof value !== 'number' || !Number.isInteger(value) || value <= 0) {
|
|
110
|
+
throw new DaemonCtlError(`invalid ${name} "${String(value)}" — expected a positive integer`, 2);
|
|
111
|
+
}
|
|
112
|
+
return value;
|
|
113
|
+
}
|
|
30
114
|
/** Resolves `factory daemon run` options into a FactorydConfig. Throws
|
|
31
|
-
* DaemonCtlError (code 2) on an invalid --port. */
|
|
32
|
-
export function resolveFactorydConfig(opts) {
|
|
115
|
+
* DaemonCtlError (code 2) on an invalid --port, --update-mode or daemon.json value. */
|
|
116
|
+
export function resolveFactorydConfig(opts, deps = {}) {
|
|
33
117
|
const port = opts.port === undefined ? DEFAULT_FACTORYD_PORT : Number(opts.port);
|
|
34
118
|
if (!Number.isInteger(port) || port < 0 || port > 65535) {
|
|
35
119
|
throw new DaemonCtlError(`invalid --port "${opts.port}" — expected an integer 0-65535`, 2);
|
|
36
120
|
}
|
|
37
|
-
|
|
121
|
+
const install = deps.install ?? detectInstall();
|
|
122
|
+
const fileAutoUpdate = (deps.fileConfig ?? {}).autoUpdate;
|
|
123
|
+
const notices = [];
|
|
124
|
+
if (opts.autoUpdate === true)
|
|
125
|
+
notices.push('--auto-update is deprecated; use --update-mode stable');
|
|
126
|
+
let requested;
|
|
127
|
+
if (opts.updateMode !== undefined)
|
|
128
|
+
requested = parseUpdateMode(opts.updateMode, '--update-mode');
|
|
129
|
+
else if (opts.autoUpdate === true)
|
|
130
|
+
requested = 'stable';
|
|
131
|
+
else if (fileAutoUpdate?.mode !== undefined) {
|
|
132
|
+
requested = parseUpdateMode(String(fileAutoUpdate.mode), 'autoUpdate.mode in daemon.json');
|
|
133
|
+
}
|
|
134
|
+
else
|
|
135
|
+
requested = install.kind === 'npm-global' ? 'stable' : 'manual';
|
|
136
|
+
let mode = requested;
|
|
137
|
+
if (install.kind !== 'npm-global' && requested !== 'manual') {
|
|
138
|
+
notices.push(`update mode ${requested} needs an npm install; staying manual`);
|
|
139
|
+
mode = 'manual';
|
|
140
|
+
}
|
|
141
|
+
const autoUpdate = {
|
|
142
|
+
mode,
|
|
143
|
+
requestedMode: requested,
|
|
144
|
+
channel: updateChannel(mode),
|
|
145
|
+
checkIntervalMinutes: positiveInt(fileAutoUpdate?.checkIntervalMinutes, 30, 'autoUpdate.checkIntervalMinutes'),
|
|
146
|
+
drainTimeoutMinutes: positiveInt(fileAutoUpdate?.drainTimeoutMinutes, 60, 'autoUpdate.drainTimeoutMinutes'),
|
|
147
|
+
};
|
|
148
|
+
return { registryFile: opts.registry ?? defaultRegistryPath(), port, autoUpdate, install, notices };
|
|
38
149
|
}
|
|
39
150
|
function xmlEscape(s) {
|
|
40
151
|
return s.replaceAll('&', '&').replaceAll('<', '<').replaceAll('>', '>');
|
package/dist/cli/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-groups.d.ts","sourceRoot":"","sources":["../../src/cli/help-groups.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,kGAAkG;AAClG,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC,4FAA4F;AAC5F,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,
|
|
1
|
+
{"version":3,"file":"help-groups.d.ts","sourceRoot":"","sources":["../../src/cli/help-groups.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,kGAAkG;AAClG,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC,4FAA4F;AAC5F,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EAyB3C,CAAC;AAEF;;4FAE4F;AAC5F,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAE,SAAS,SAAS,EAAgB,GAAG,IAAI,CAwBlG"}
|
package/dist/cli/help-groups.js
CHANGED
|
@@ -16,7 +16,16 @@ export const HELP_GROUPS = [
|
|
|
16
16
|
{ heading: 'Observe:', commands: ['status', 'runs', 'logs', 'tui', 'cost', 'usage', 'kpis', 'classifier', 'garden'] },
|
|
17
17
|
{
|
|
18
18
|
heading: 'Advanced / experimental:',
|
|
19
|
-
commands: [
|
|
19
|
+
commands: [
|
|
20
|
+
'worktree',
|
|
21
|
+
'reset',
|
|
22
|
+
'daemon',
|
|
23
|
+
'self-update',
|
|
24
|
+
'proxy',
|
|
25
|
+
'hosted',
|
|
26
|
+
'local-small-dry-run',
|
|
27
|
+
'local-small-overnight',
|
|
28
|
+
],
|
|
20
29
|
},
|
|
21
30
|
];
|
|
22
31
|
/** Assign each top-level command its help heading and reorder `program.commands` to match
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-groups.js","sourceRoot":"","sources":["../../src/cli/help-groups.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAYxF,kGAAkG;AAClG,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEpC,4FAA4F;AAC5F,MAAM,CAAC,MAAM,WAAW,GAAyB;IAC/C;QACE,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC;KAC9G;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC;QACjE,YAAY,EAAE,IAAI;KACnB;IACD,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;IAC7F,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE;IACrH;QACE,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"help-groups.js","sourceRoot":"","sources":["../../src/cli/help-groups.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAYxF,kGAAkG;AAClG,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEpC,4FAA4F;AAC5F,MAAM,CAAC,MAAM,WAAW,GAAyB;IAC/C;QACE,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC;KAC9G;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC;QACjE,YAAY,EAAE,IAAI;KACnB;IACD,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;IAC7F,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE;IACrH;QACE,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE;YACR,UAAU;YACV,OAAO;YACP,QAAQ;YACR,aAAa;YACb,OAAO;YACP,QAAQ;YACR,qBAAqB;YACrB,uBAAuB;SACxB;KACF;CACF,CAAC;AAEF;;4FAE4F;AAC5F,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,MAAM,GAAyB,WAAW;IAC1F,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAClC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,uFAAuF;IACtF,OAAO,CAAC,QAAsB,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;IAE/E,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACrD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
|