halfcycle 0.4.13 → 0.4.15
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/.claude-plugin/plugin.json +1 -1
- package/bin/bin.bundle.mjs +6308 -588
- package/bin/pre-tool-use-filter.sh +134 -6
- package/commands/agent-teams-orchestration.md +1 -1
- package/commands/consistency-check.md +1 -1
- package/commands/context-update.md +1 -1
- package/commands/halfcycle-design.md +1 -1
- package/commands/halfcycle-setup.md +1 -1
- package/commands/stack-assembly-worker.md +1 -1
- package/commands/task-execution.md +1 -1
- package/commands/task-graph.md +1 -1
- package/commands/write-spec.md +1 -1
- package/dist/bin.d.ts +1 -0
- package/dist/bin.d.ts.map +1 -1
- package/dist/build-record/pair-io.d.ts +49 -0
- package/dist/build-record/pair-io.d.ts.map +1 -0
- package/dist/build-record/render-change.d.ts +25 -0
- package/dist/build-record/render-change.d.ts.map +1 -0
- package/dist/build-record/render-v2.d.ts +10 -5
- package/dist/build-record/render-v2.d.ts.map +1 -1
- package/dist/build-record/write-change.d.ts +63 -0
- package/dist/build-record/write-change.d.ts.map +1 -0
- package/dist/build-record/write.d.ts +5 -15
- package/dist/build-record/write.d.ts.map +1 -1
- package/dist/change.d.ts +136 -0
- package/dist/change.d.ts.map +1 -0
- package/dist/check-tasks.d.ts +71 -0
- package/dist/check-tasks.d.ts.map +1 -0
- package/dist/claude-plan.d.ts +133 -0
- package/dist/claude-plan.d.ts.map +1 -0
- package/dist/cli-contract.d.ts +12 -1
- package/dist/cli-contract.d.ts.map +1 -1
- package/dist/cli.js +9670 -4933
- package/dist/cli.js.map +3 -3
- package/dist/close-phase.d.ts +53 -1
- package/dist/close-phase.d.ts.map +1 -1
- package/dist/doctor.d.ts +34 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/folder-refusals.d.ts +27 -0
- package/dist/folder-refusals.d.ts.map +1 -0
- package/dist/identity.d.ts +31 -1
- package/dist/identity.d.ts.map +1 -1
- package/dist/index.js +2832 -1324
- package/dist/index.js.map +3 -3
- package/dist/install-manifest.d.ts +11 -1
- package/dist/install-manifest.d.ts.map +1 -1
- package/dist/install-plan.d.ts +112 -0
- package/dist/install-plan.d.ts.map +1 -0
- package/dist/install.d.ts +593 -2
- package/dist/install.d.ts.map +1 -1
- package/dist/merge-settings.d.ts +21 -2
- package/dist/merge-settings.d.ts.map +1 -1
- package/dist/open-phase.d.ts +1 -1
- package/dist/open-phase.d.ts.map +1 -1
- package/dist/pace.d.ts +138 -0
- package/dist/pace.d.ts.map +1 -0
- package/dist/phase-work.d.ts +37 -0
- package/dist/phase-work.d.ts.map +1 -0
- package/dist/plan.d.ts +20 -4
- package/dist/plan.d.ts.map +1 -1
- package/dist/pre-create-checks.d.ts +28 -0
- package/dist/pre-create-checks.d.ts.map +1 -1
- package/dist/preview.d.ts +40 -0
- package/dist/preview.d.ts.map +1 -0
- package/dist/prove.d.ts +77 -0
- package/dist/prove.d.ts.map +1 -0
- package/dist/restore.d.ts +58 -0
- package/dist/restore.d.ts.map +1 -0
- package/dist/review.d.ts +19 -1
- package/dist/review.d.ts.map +1 -1
- package/dist/scan.d.ts +11 -0
- package/dist/scan.d.ts.map +1 -1
- package/dist/setup/discovery.d.ts.map +1 -1
- package/dist/setup/rows.d.ts +10 -6
- package/dist/setup/rows.d.ts.map +1 -1
- package/dist/system-report.d.ts +1 -1
- package/dist/system-report.d.ts.map +1 -1
- package/dist/uninstall.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/install.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
package/dist/merge-settings.d.ts
CHANGED
|
@@ -65,6 +65,16 @@ export interface ClaudePermissions {
|
|
|
65
65
|
ask?: string[];
|
|
66
66
|
[key: string]: unknown;
|
|
67
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* A `statusLine` setting as Claude Code's settings schema records it: a command
|
|
70
|
+
* whose output is the line shown under the prompt. The installer writes one only
|
|
71
|
+
* where the person has none (`builds-paced-to-plan` AC7, `install.ts`'s
|
|
72
|
+
* `HALFCYCLE_STATUS_LINE`).
|
|
73
|
+
*/
|
|
74
|
+
export interface StatusLineSetting {
|
|
75
|
+
type: 'command';
|
|
76
|
+
command: string;
|
|
77
|
+
}
|
|
68
78
|
/** The subset of `.claude/settings.json` this merge reasons about. */
|
|
69
79
|
export interface ClaudeSettings {
|
|
70
80
|
$schema?: string;
|
|
@@ -101,7 +111,8 @@ export declare function withoutHalfcycleCommands<E extends {
|
|
|
101
111
|
hooks: readonly unknown[];
|
|
102
112
|
}>(entry: E, halfcycleCommands: ReadonlySet<string>): E | null;
|
|
103
113
|
/**
|
|
104
|
-
* Merge Halfcycle's generated hook entries into an existing settings object
|
|
114
|
+
* Merge Halfcycle's generated hook entries into an existing settings object, and
|
|
115
|
+
* add Halfcycle's status line where the person has none.
|
|
105
116
|
*
|
|
106
117
|
* @param existing the developer's parsed `.claude/settings.json` (may be `{}`).
|
|
107
118
|
* @param generated Halfcycle's fresh settings object (from `generateSettingsJson`).
|
|
@@ -114,6 +125,14 @@ export declare function withoutHalfcycleCommands<E extends {
|
|
|
114
125
|
* added by Halfcycle (`retiredRulesThisInstallAdded`, install.ts). Each is
|
|
115
126
|
* taken out of the developer's deny list once; see `mergePermissions`.
|
|
116
127
|
* Required, so no caller can forget the retirement by leaving it out.
|
|
128
|
+
* @param statusLine the status line to add (`builds-paced-to-plan` AC7), given
|
|
129
|
+
* only when the caller found none set in any of the person's OTHER
|
|
130
|
+
* settings files (`install.ts`, `statusLineSetElsewhere`). It is added
|
|
131
|
+
* only when `existing` has no `statusLine` key either; a `statusLine` the
|
|
132
|
+
* file already holds, ours or the person's, is kept exactly as it is, by
|
|
133
|
+
* the same shallow copy that keeps every other key of theirs. Leaving it
|
|
134
|
+
* out writes none, which is the safe direction: this merge never adds a
|
|
135
|
+
* status line nobody asked it to.
|
|
117
136
|
*/
|
|
118
|
-
export declare function mergeSettings(existing: ClaudeSettings, generated: ClaudeSettings, retiredOurs: readonly string[]): ClaudeSettings;
|
|
137
|
+
export declare function mergeSettings(existing: ClaudeSettings, generated: ClaudeSettings, retiredOurs: readonly string[], statusLine?: StatusLineSetting): ClaudeSettings;
|
|
119
138
|
//# sourceMappingURL=merge-settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-settings.d.ts","sourceRoot":"","sources":["../src/merge-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAIH,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAIjG;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,EAAE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAEtH;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,EAC9E,KAAK,EAAE,CAAC,EACR,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GACrC,CAAC,GAAG,IAAI,CAIV;AAED
|
|
1
|
+
{"version":3,"file":"merge-settings.d.ts","sourceRoot":"","sources":["../src/merge-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAIH,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAIjG;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,EAAE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAEtH;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,EAC9E,KAAK,EAAE,CAAC,EACR,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GACrC,CAAC,GAAG,IAAI,CAIV;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,cAAc,CAgDhB"}
|
package/dist/open-phase.d.ts
CHANGED
|
@@ -213,5 +213,5 @@ export declare function writePhaseStamp(engagementId: string, phase: string | nu
|
|
|
213
213
|
* warns without being able to say why.
|
|
214
214
|
* @throws Error on transport failure or a body that is not the expected shape.
|
|
215
215
|
*/
|
|
216
|
-
export declare function openPhase(credential: RepoCredential, phase: string | null, entry: PhaseEntryDecision, home?: string, repoRoot?: string): Promise<OpenedPhase>;
|
|
216
|
+
export declare function openPhase(credential: RepoCredential, phase: string | null, entry: PhaseEntryDecision, home?: string, repoRoot?: string, sortingId?: string): Promise<OpenedPhase>;
|
|
217
217
|
//# sourceMappingURL=open-phase.d.ts.map
|
package/dist/open-phase.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-phase.d.ts","sourceRoot":"","sources":["../src/open-phase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sFAAsF;AACtF,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,qDAAqD;IACrD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACvC,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,yEAAyE;QACzE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF;;;;;OAKG;IACH,aAAa,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC;;;;;OAKG;IACH,eAAe,EAAE,iBAAiB,CAAC;IACnC;;;;;OAKG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACxC;AA4CD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,EAAE,iBAAiB,EACvB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC3C,MAAM,GAAG,IAAI,CAWf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,eAAe,GAAG,UAAU,CAAC,GAAG,MAAM,CAUtG;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;aAEvB,MAAM,EAAE,MAAM;aAEd,OAAO,EAAE,MAAM,GAAG,IAAI;aACtB,aAAa,EAAE,MAAM,GAAG,IAAI;gBAH5B,MAAM,EAAE,MAAM,EAC9B,OAAO,EAAE,MAAM,EACC,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,aAAa,GAAE,MAAM,GAAG,IAAW;CAKtD;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,kFAItB,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,CAAC,EAAE,MAAM,GACZ,cAAc,CA4BhB;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,CAAC,EAAE,MAAM,GACZ,iBAAiB,GAAG,IAAI,CAmB1B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,cAAc,EAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,KAAK,EAAE,kBAAkB,EACzB,IAAI,CAAC,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"open-phase.d.ts","sourceRoot":"","sources":["../src/open-phase.ts"],"names":[],"mappings":"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"}
|
package/dist/pace.d.ts
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `npx halfcycle@latest pace [--start <phase> [--agents <n>]] [--repo <root>]`
|
|
3
|
+
* (Safe, lean, fast · E2, feature `builds-paced-to-plan` AC3).
|
|
4
|
+
*
|
|
5
|
+
* A THIN VERB OVER THE RUNNER'S ONE-LINE ANSWER. Every rule about plans, windows,
|
|
6
|
+
* ceilings and the suggested number lives in `packages/runner/src/pace-verb.ts`
|
|
7
|
+
* (`builds-paced-to-plan` AC3, AC4), which this package may not import (INV-001).
|
|
8
|
+
* This file's one job is: spawn `halfcycle-runner pace […]` as a child process, the
|
|
9
|
+
* way `close-phase` spawns `observe` (`runRunnerChild`, `close-phase.ts`), read its
|
|
10
|
+
* one JSON line (`paceRunResultSchema`), and print the sentences
|
|
11
|
+
* `@halfcycle/events`' `pacing.ts` composes from it — never a sentence of its own,
|
|
12
|
+
* because that is the one home every reader of a pace answer shares.
|
|
13
|
+
*
|
|
14
|
+
* ONE DIFFERENCE FROM `runRunnerChild`. That helper captures the child's standard
|
|
15
|
+
* error and discards it, which is right for `observe` and `time` — a send with
|
|
16
|
+
* nothing for a person to read while it runs. `pace --start` is not: the runner
|
|
17
|
+
* writes its first-read notice (`PACE_FIRST_READ`) to standard error the MOMENT a
|
|
18
|
+
* read of this computer's usage records is due, before that read — which can take
|
|
19
|
+
* minutes on a large records folder — completes. A captured-then-replayed line
|
|
20
|
+
* would print "Reading…" only once the reading was already done. So
|
|
21
|
+
* `runPaceChild` pipes the child's standard error too, but FORWARDS each chunk
|
|
22
|
+
* to this process's own the moment it arrives (`prove.ts`'s own command spawn
|
|
23
|
+
* forwards a person's command output the same way), rather than buffering it
|
|
24
|
+
* for a reply built once the child exits. The same live forwarding carries the
|
|
25
|
+
* runner's own usage line or `PACE_AGENTS_TOO_MANY` line straight to the person
|
|
26
|
+
* when the child exits 2 — this file adds nothing on top of either.
|
|
27
|
+
*
|
|
28
|
+
* NOT-PACED IS NOT A FAILURE (`best-effort-not-guarantees`, the owner 2026-10-28):
|
|
29
|
+
* the runner itself answers `not-paced` with exit 0, and this verb keeps that —
|
|
30
|
+
* one plain line naming why pacing is not shown right now, exit 0, never a
|
|
31
|
+
* developer-facing stack of internal words.
|
|
32
|
+
*
|
|
33
|
+
* `pace` ALONE HAS NO "AGENTS ALREADY WORKING" FIGURE TO READ. The runner's
|
|
34
|
+
* one-line answer for a bare `pace` carries `allowedNow` (the pace's allowance
|
|
35
|
+
* less the agents this computer has already seen start, clamped to zero) and
|
|
36
|
+
* `number` (the build's stored target, unadjusted by the pace). Neither is the
|
|
37
|
+
* raw ceiling S1 and S2 are written for (`decision.allowance`, internal to the
|
|
38
|
+
* runner and never serialised). `allowedNow` equals that ceiling exactly when no
|
|
39
|
+
* agent is yet running — the common case, checking before a start — and
|
|
40
|
+
* understates it otherwise; this file uses it as S1's `k` rather than invent a
|
|
41
|
+
* second figure the schema does not carry, and S2's `paceS2Of` already omits its
|
|
42
|
+
* second sentence at `k === 0` rather than assert a wrong count of agents
|
|
43
|
+
* "already working" — so this never prints something false, only sometimes less
|
|
44
|
+
* than the whole truth. `pace --start`'s P1–P7 carry no such gap: `suggestion`
|
|
45
|
+
* is built for exactly that answer and this file reads it whole.
|
|
46
|
+
*
|
|
47
|
+
* SHIPS TO CLIENT DISK inside the CLI (INV-001: Node builtins, `@halfcycle/core`,
|
|
48
|
+
* `@halfcycle/events` only — no network of its own; the one request pacing makes
|
|
49
|
+
* is the runner's, over the credential this verb reads and hands the child's
|
|
50
|
+
* environment). Every string here is a sentence a person reads in their own
|
|
51
|
+
* terminal, so none names an internal register, route or setting; no comment
|
|
52
|
+
* sits beside an object member.
|
|
53
|
+
*/
|
|
54
|
+
import type { RepoCredential } from './open-phase.js';
|
|
55
|
+
/** The usage line, printed for an extra argument or an unknown flag. */
|
|
56
|
+
export declare const PACE_USAGE = "npx halfcycle@latest pace [--start <phase> [--agents <n>]] [--repo <root>]";
|
|
57
|
+
/** What `--start <phase> [--agents <n>]` asked for, or `null` for a bare `pace`. */
|
|
58
|
+
export interface PaceStart {
|
|
59
|
+
readonly phase: string;
|
|
60
|
+
/** The raw token after `--agents`, forwarded to the runner unparsed; it alone
|
|
61
|
+
* owns the rule for what a valid count is (`builds-paced-to-plan` AC6). */
|
|
62
|
+
readonly agents: string | null;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* What the arguments after `pace` came to. At most one `--start <phase>`, at most
|
|
66
|
+
* one `--agents <n>` (only alongside `--start`), and at most one `--repo <root>`;
|
|
67
|
+
* anything else is usage.
|
|
68
|
+
*/
|
|
69
|
+
export type PaceArgs = {
|
|
70
|
+
ok: true;
|
|
71
|
+
start: PaceStart | null;
|
|
72
|
+
repoRoot: string | undefined;
|
|
73
|
+
} | {
|
|
74
|
+
ok: false;
|
|
75
|
+
};
|
|
76
|
+
export declare function parsePaceArgs(argv: readonly string[]): PaceArgs;
|
|
77
|
+
/**
|
|
78
|
+
* The pace child's own deadline. The runner's first read of this computer's usage
|
|
79
|
+
* records can wait up to ten minutes for a scan already running
|
|
80
|
+
* (`pace-verb.ts`'s `PACE_FIRST_READ_WAIT_MS`, which this package cannot import,
|
|
81
|
+
* INV-001) before it answers either way, and a first scan it runs itself can take
|
|
82
|
+
* about as long on a large records folder — so this spawn's own deadline is set
|
|
83
|
+
* well past that, unlike `close-phase.ts`'s `OBSERVE_CHILD_DEADLINE_MS`, which
|
|
84
|
+
* times a send with no such wait.
|
|
85
|
+
*/
|
|
86
|
+
export declare const PACE_CHILD_DEADLINE_MS: number;
|
|
87
|
+
/** What the pace child printed and how it exited. */
|
|
88
|
+
export interface PaceChildOutput {
|
|
89
|
+
readonly code: number;
|
|
90
|
+
readonly stdout: string;
|
|
91
|
+
}
|
|
92
|
+
/** The pieces `runPaceChild` reaches outside itself through; replaced in tests. */
|
|
93
|
+
export interface PaceChildDeps {
|
|
94
|
+
/** Where the child's standard error is forwarded, live, as it arrives. */
|
|
95
|
+
readonly stderr?: {
|
|
96
|
+
write: (chunk: Buffer) => void;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Spawn `halfcycle-runner pace […]`, the way `close-phase` spawns `observe`
|
|
101
|
+
* (same credential environment, same working directory), reading standard output
|
|
102
|
+
* whole (it carries exactly the one line this file parses) while forwarding
|
|
103
|
+
* standard error LIVE, chunk by chunk, as the child writes it — the way
|
|
104
|
+
* `packages/runner/src/prove.ts`'s own command spawn forwards a person's command
|
|
105
|
+
* output, and for the same reason: the module docblock's first-read notice is
|
|
106
|
+
* written before a read that can take minutes, and a captured-then-replayed line
|
|
107
|
+
* would arrive only once the child had already exited. Never throws: a binary
|
|
108
|
+
* that cannot be found, or a child that cannot start, reads as exit 1 with no
|
|
109
|
+
* output — the same shape an answer with no parsable line reads as.
|
|
110
|
+
*/
|
|
111
|
+
export declare function runPaceChild(binary: string | Error, credential: RepoCredential, repoRoot: string, args: readonly string[], deps?: PaceChildDeps): Promise<PaceChildOutput>;
|
|
112
|
+
/** This project is not signed in on this machine — the one line every such refusal prints. */
|
|
113
|
+
export declare const PACE_NOT_CONNECTED_LINE = "halfcycle pace: this project is not signed in on this computer. Run \"npx halfcycle\" in the project folder to sign in.";
|
|
114
|
+
/** The pieces `runPace` reaches outside itself through; replaced in tests. */
|
|
115
|
+
export interface PaceDeps {
|
|
116
|
+
readonly readCredential: (repoRoot: string) => RepoCredential;
|
|
117
|
+
readonly spawnPace: (credential: RepoCredential, repoRoot: string, args: readonly string[]) => Promise<PaceChildOutput>;
|
|
118
|
+
readonly now: () => Date;
|
|
119
|
+
}
|
|
120
|
+
/** What `pace` prints and the exit code it ends with. */
|
|
121
|
+
export interface PaceRun {
|
|
122
|
+
readonly stdout: string;
|
|
123
|
+
readonly stderr: string;
|
|
124
|
+
readonly exitCode: number;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* The whole verb. A phase that is not a phase name is usage and exit 1, before
|
|
128
|
+
* anything is read. This machine's credential is read once, handed to the
|
|
129
|
+
* spawned child's environment, and never read twice; a project not signed in on
|
|
130
|
+
* this machine prints `PACE_NOT_CONNECTED_LINE` and exits 1, nothing spawned. The
|
|
131
|
+
* runner's own usage or too-many-agents refusal (exit 2, its line already on the
|
|
132
|
+
* inherited stream) is passed on as-is. A `not-paced` answer, or one with no
|
|
133
|
+
* line this file can parse, is this build's best effort failing softly: one line,
|
|
134
|
+
* exit 0. Otherwise: P1–P7 (`--start`) or the allowed-now line, plus S1 or S2
|
|
135
|
+
* when the answer is slowing or holding (module docblock on their one gap).
|
|
136
|
+
*/
|
|
137
|
+
export declare function runPace(repoRoot: string, start: PaceStart | null, deps: PaceDeps): Promise<PaceRun>;
|
|
138
|
+
//# sourceMappingURL=pace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pace.d.ts","sourceRoot":"","sources":["../src/pace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAgBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,wEAAwE;AACxE,eAAO,MAAM,UAAU,+EAA+E,CAAC;AAEvG,oFAAoF;AACpF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;gFAC4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAE3G,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,CAwC/D;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AAErD,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;CACtD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,GAAG,KAAK,EACtB,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,eAAe,CAAC,CA+B1B;AAkBD,8FAA8F;AAC9F,eAAO,MAAM,uBAAuB,4HAAmF,CAAC;AASxH,8EAA8E;AAC9E,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC;IAC9D,QAAQ,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACxH,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,yDAAyD;AACzD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAoCzG"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reading one phase's work record from the client (`two-stage-review` AC6;
|
|
3
|
+
* `calls-made-without-asking` AC4; `harness-proven-tests` AC7; safe-lean-fast E23,
|
|
4
|
+
* T-40).
|
|
5
|
+
*
|
|
6
|
+
* ONE READ, TWO CALLERS. `close-phase` reads it once more, after its own open, to say
|
|
7
|
+
* how many calls the review now lists (C6, `close-phase.ts`); `review --show` reads it
|
|
8
|
+
* to print the calls and the checks nobody ran (C1–C5, P12–P13, `review.ts`). This
|
|
9
|
+
* module only fetches and parses `GET …/phases/:phase/work` (the engagement
|
|
10
|
+
* credential; the route's shape is `phaseWorkSchema`'s); the sentences
|
|
11
|
+
* belong to each caller (`work-record.ts`'s own docblock: "each surface owns its own
|
|
12
|
+
* lines"), never to this one.
|
|
13
|
+
*
|
|
14
|
+
* INV-001: this file imports the global `fetch`, Node builtins and `@halfcycle/events`
|
|
15
|
+
* only. SHIPS TO CLIENT DISK inside the CLI.
|
|
16
|
+
*/
|
|
17
|
+
import { type PhaseWork } from '@halfcycle/events';
|
|
18
|
+
import type { RepoCredential } from './open-phase.js';
|
|
19
|
+
/** What reading one phase's work came to. */
|
|
20
|
+
export type PhaseWorkRead = {
|
|
21
|
+
kind: 'work';
|
|
22
|
+
work: PhaseWork;
|
|
23
|
+
} | {
|
|
24
|
+
kind: 'not-signed-in';
|
|
25
|
+
} | {
|
|
26
|
+
kind: 'unreachable';
|
|
27
|
+
};
|
|
28
|
+
/** The address of one phase's work: the engagement credential's own read. */
|
|
29
|
+
export declare function phaseWorkUrl(credential: RepoCredential, phase: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Read one phase's work. Never throws. A body that parses under `phaseWorkSchema` on a
|
|
32
|
+
* 200 is the work; a 401 is not signed in; anything else (no answer, another status, a
|
|
33
|
+
* body this version of the CLI cannot read) is `unreachable`, the same best-effort
|
|
34
|
+
* shape `review.ts`'s `readReview` already gives its own read.
|
|
35
|
+
*/
|
|
36
|
+
export declare function readPhaseWork(credential: RepoCredential, phase: string): Promise<PhaseWorkRead>;
|
|
37
|
+
//# sourceMappingURL=phase-work.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-work.d.ts","sourceRoot":"","sources":["../src/phase-work.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAI5B,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9E;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAsBrG"}
|
package/dist/plan.d.ts
CHANGED
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
* reads, so none names an internal register, route or setting; no comment sits beside
|
|
62
62
|
* an object member.
|
|
63
63
|
*/
|
|
64
|
-
import { type CarriedFromEntry, type PhasePlan, type PhasePlanChange, type PhasePlanProblem, type PlannedScopeState, type RemovalOwedPart, type SystemDescription } from '@halfcycle/events';
|
|
64
|
+
import { type CarriedFromEntry, type PhasePlan, type PhasePlanChange, type PhasePlanProblem, type PlannedScopeState, type PlanMovedUp, type RemovalOwedPart, type ScopeGivenIn, type SystemDescription } from '@halfcycle/events';
|
|
65
65
|
import { type ShownPlanEntry } from '@halfcycle/core';
|
|
66
66
|
import type { RepoCredential } from './open-phase.js';
|
|
67
67
|
import { type DescriptionVerb, type SystemDeps, type SystemRun } from './system-report.js';
|
|
@@ -131,6 +131,9 @@ export type PlanOutcome = {
|
|
|
131
131
|
changedParts: readonly string[];
|
|
132
132
|
typedApprovalOffered: boolean;
|
|
133
133
|
carriedFrom?: readonly CarriedFromEntry[];
|
|
134
|
+
movedUp?: PlanMovedUp;
|
|
135
|
+
/** Where the approval now in force was given (`autonomous-builds` AC2, T-107); absent when none is. */
|
|
136
|
+
givenIn?: ScopeGivenIn;
|
|
134
137
|
} | {
|
|
135
138
|
kind: 'refused';
|
|
136
139
|
problems: PhasePlanProblem[];
|
|
@@ -190,7 +193,7 @@ export declare function planRefusedLines(verb: DescriptionVerb, phase: string, p
|
|
|
190
193
|
* The line for a phase name `isValidPhaseIdentity` refuses, prefixed by the verb that
|
|
191
194
|
* is running. Nothing has been sent when it is printed.
|
|
192
195
|
*/
|
|
193
|
-
export declare function notAPhaseNameLine(verb: DescriptionVerb | 'review', phase: string): string;
|
|
196
|
+
export declare function notAPhaseNameLine(verb: DescriptionVerb | 'review' | 'pace', phase: string): string;
|
|
194
197
|
/**
|
|
195
198
|
* CL11 — one line per part `docs/system.json` must lose before a new plan is taken
|
|
196
199
|
* (`close-review-and-carry-drop` AC7), prefixed by the verb that is running. Names the
|
|
@@ -214,8 +217,21 @@ export interface PlanDeps extends SystemDeps {
|
|
|
214
217
|
readonly recordShown: (engagementId: string, entry: ShownPlanEntry) => ShownWrite;
|
|
215
218
|
readonly now: () => Date;
|
|
216
219
|
}
|
|
217
|
-
/**
|
|
218
|
-
export declare function
|
|
220
|
+
/** A plan's move up to a full phase: its sentence, then what to say next. */
|
|
221
|
+
export declare function movedUpLines(movedUp: PlanMovedUp): string;
|
|
222
|
+
/**
|
|
223
|
+
* The sentence for the phase's state after the plan was recorded, the last line of
|
|
224
|
+
* `--show`'s output and the one the method's own agent text relays verbatim when it
|
|
225
|
+
* says something else about approving (`plain-words-for-what-comes-next`). `givenIn`
|
|
226
|
+
* (`autonomous-builds` AC2, T-107) is where the approval now in force was given;
|
|
227
|
+
* `'approved'` and `'partly-stale'` with `'autonomy'` both show the one shared
|
|
228
|
+
* sentence, never "The owner has/approved...", which would read the setting's act
|
|
229
|
+
* as the owner's own (INV-024). `partly-stale` reaches `'autonomy'` too (R-107 F1):
|
|
230
|
+
* the setting re-approves a replan's changed parts only WHILE IT IS ON; the owner
|
|
231
|
+
* can turn it off and then replan, leaving the earlier approve row `'autonomy'` with
|
|
232
|
+
* nothing re-approving the new version. Every other state and place keeps today's words.
|
|
233
|
+
*/
|
|
234
|
+
export declare function planStateSentence(state: PlannedScopeState, givenIn?: ScopeGivenIn): string;
|
|
219
235
|
/**
|
|
220
236
|
* The line saying how the owner approves, with its two swaps (AC2). The server's
|
|
221
237
|
* `typedApprovalOffered: false` gives the switched-off sentence, whatever the client;
|
package/dist/plan.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAIH,OAAO,EAUL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAErB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAoC,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAE5B,kFAAkF;AAClF,eAAO,MAAM,UAAU,+DAA+D,CAAC;AAEvF,yEAAyE;AACzE,eAAO,MAAM,YAAY,gBAAgB,CAAC;AAE1C;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAIxE,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAChB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACxE;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAElB,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,CAuB/D;AAcD,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GAAG,MAAM,CAE7G;AAED,+FAA+F;AAC/F,MAAM,MAAM,aAAa,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,iBAAiB,EAC9B,IAAI,EAAE,eAAe,GACpB,aAAa,CAiDf;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GACnB;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,iBAAiB,CAAC;IACzB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,uGAAuG;IACvG,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAOzC,iHAAiH;AACjH,wBAAgB,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAKxF;AAUD;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,SAAS,EACf,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,WAAW,CAAC,CAsEtB;AAED,2FAA2F;AAC3F,MAAM,MAAM,UAAU,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAE1F;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAYrG;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO5E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GACpC,MAAM,CAOR;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKlG;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAQjG;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYzE;AAED,8EAA8E;AAC9E,MAAM,WAAW,QAAS,SAAQ,UAAU;IAC1C,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACvH,QAAQ,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACvE,QAAQ,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,KAAK,UAAU,CAAC;IAClF,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAEzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAa1F;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,OAAO,EAC7B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,YAAY,EAAE,MAAM,GACnB,MAAM,CAcR;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,iBAAiB,EAC9B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,WAAW,GAAE,SAAS,gBAAgB,EAAO,GAC5C,MAAM,CAgBR;AAED;;;;;GAKG;AACH,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,SAAS,CAAC,CAwFpB"}
|
|
@@ -78,6 +78,25 @@ export declare function refuseSystemFolder(targetRepo: string, platform?: NodeJS
|
|
|
78
78
|
export declare function refuseInsideProject(targetRepo: string): void;
|
|
79
79
|
/** The one install command the offer runs and the refusal names (#1557, decision D2). */
|
|
80
80
|
export declare const GIT_INSTALL_ARGS: readonly string[];
|
|
81
|
+
/**
|
|
82
|
+
* Where Claude Code would find Git Bash: the file its `CLAUDE_CODE_GIT_BASH_PATH`
|
|
83
|
+
* names; `bin\bash.exe` one level above a `git.exe` on PATH (Git for Windows puts
|
|
84
|
+
* `cmd\git.exe` on PATH); and the default install folder, which a terminal opened
|
|
85
|
+
* before the install does not yet have on its PATH. The first of them that exists, or
|
|
86
|
+
* `undefined`. The one finder the installer's offer and the diagnostic both read, so they
|
|
87
|
+
* agree on which Git Bash is there.
|
|
88
|
+
*/
|
|
89
|
+
export declare function gitBashPath(env: NodeJS.ProcessEnv): string | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* The sentence for a folder whose `project.json` is there but holds no usable id. One home:
|
|
92
|
+
* `claimFolderId` and the preview both print it.
|
|
93
|
+
*/
|
|
94
|
+
export declare function unreadableProjectRefusal(targetRepo: string): string;
|
|
95
|
+
/**
|
|
96
|
+
* The sentence for a folder the installer cannot write to. One home: the create arm's
|
|
97
|
+
* writability check (`claimFolderId`) and the preview's access check both print it.
|
|
98
|
+
*/
|
|
99
|
+
export declare function cannotWriteRefusal(targetRepo: string): string;
|
|
81
100
|
/**
|
|
82
101
|
* The usable id in this folder's `project.json`, or `undefined` when the file is
|
|
83
102
|
* missing, does not parse, or holds no id control would accept. ONE home for the
|
|
@@ -85,4 +104,13 @@ export declare const GIT_INSTALL_ARGS: readonly string[];
|
|
|
85
104
|
* install with `KEPT_FOLDER_ID_LINE` exactly when this answers an id.
|
|
86
105
|
*/
|
|
87
106
|
export declare function readFolderId(targetRepo: string): string | undefined;
|
|
107
|
+
/**
|
|
108
|
+
* `.claude/settings.json`, when there is one, must parse with the parser `install()`
|
|
109
|
+
* merges through (`readExistingSettings`) — AC2's settings half and #1567.
|
|
110
|
+
*
|
|
111
|
+
* `settingsParseRefusal` (`install.ts`) is also the join/re-use arms' sentence for
|
|
112
|
+
* the identical failure (T-16, #1567) — one message, built once, for every arm
|
|
113
|
+
* that can meet an unparseable settings file.
|
|
114
|
+
*/
|
|
115
|
+
export declare function checkSettingsParse(targetRepo: string): void;
|
|
88
116
|
//# sourceMappingURL=pre-create-checks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-create-checks.d.ts","sourceRoot":"","sources":["../src/pre-create-checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAWH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,QAEgC,CAAC;AAEjE,6EAA6E;AAC7E,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAKpG;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI7D;AA0BD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,IAAI,CAWzG;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAU5D;AAUD,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAA+D,CAAC;
|
|
1
|
+
{"version":3,"file":"pre-create-checks.d.ts","sourceRoot":"","sources":["../src/pre-create-checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAWH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,QAEgC,CAAC;AAEjE,6EAA6E;AAC7E,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAKpG;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI7D;AA0BD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,IAAI,CAWzG;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAU5D;AAUD,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAA+D,CAAC;AAkC9G;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS,CAWtE;AAYD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAkCD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUnE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAM3D"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `halfcycle preview` — what setting up this folder would do, and nothing else
|
|
3
|
+
* (`setup-preview-and-doctor` AC2, the words under *The preview*).
|
|
4
|
+
*
|
|
5
|
+
* The preview is the install's own plan (`planInstall`, `install-plan.ts`) printed in
|
|
6
|
+
* plain words. It refuses exactly where setting up refuses, with the same sentences
|
|
7
|
+
* (`folder-refusals.ts`, `pre-create-checks.ts`), and it runs only the read-only halves of
|
|
8
|
+
* those checks: never `runLocalChecks` (which may run `winget`), never
|
|
9
|
+
* `runPreCreateChecks` (which writes `.halfcycle/project.json`). A folder it cannot write
|
|
10
|
+
* to is found by an access check, never by a write. It never signs in and never creates a
|
|
11
|
+
* project, so the plan it prints holds `PENDING` bytes where the service's answer would go.
|
|
12
|
+
*
|
|
13
|
+
* INV-001: Node builtins and this package's own modules only.
|
|
14
|
+
*/
|
|
15
|
+
import { type InstallPlan } from './install-plan.js';
|
|
16
|
+
/** What the preview reads the run's surroundings from. A test names its own; the CLI passes the real ones. */
|
|
17
|
+
export interface PreviewOptions {
|
|
18
|
+
readonly env: NodeJS.ProcessEnv;
|
|
19
|
+
readonly platform: NodeJS.Platform;
|
|
20
|
+
/** The home folder the sign-in would live under; the real one when absent. */
|
|
21
|
+
readonly home?: string;
|
|
22
|
+
}
|
|
23
|
+
/** A preview either refuses (the sentence to print, as setting up would print it) or shows its text. */
|
|
24
|
+
export type PreviewOutcome = {
|
|
25
|
+
readonly refusal: string;
|
|
26
|
+
} | {
|
|
27
|
+
readonly text: string;
|
|
28
|
+
};
|
|
29
|
+
/** The preview of one folder: its refusal, or the text it prints. Writes nothing. */
|
|
30
|
+
export declare function runPreview(targetRepo: string, options: PreviewOptions): PreviewOutcome;
|
|
31
|
+
/**
|
|
32
|
+
* The preview's text, from the plan. Paths in the order the installer writes them.
|
|
33
|
+
* `claudeMdWords`, when given, adds one more *Leave alone* line for the project's own
|
|
34
|
+
* `CLAUDE.md` (W-10 R1, #F-65): never a plan entry (the installer does not write it),
|
|
35
|
+
* but a folder that already has one is named rather than left for V7's one line to
|
|
36
|
+
* cover silently. `claudeMdLine` (above) picks the true words for it — whether the
|
|
37
|
+
* first session still has something to add, or the file already points to AGENTS.md.
|
|
38
|
+
*/
|
|
39
|
+
export declare function renderPreview(plan: InstallPlan, missingGitForWindows: boolean, claudeMdWords?: string): string;
|
|
40
|
+
//# sourceMappingURL=preview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,OAAO,EAA8B,KAAK,WAAW,EAAmE,MAAM,mBAAmB,CAAC;AAYlJ,8GAA8G;AAC9G,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IACnC,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wGAAwG;AACxG,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAkCtF,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,cAAc,CAatF;AAiFD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAe9G"}
|
package/dist/prove.d.ts
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `npx halfcycle@latest prove <phase> <task> --label "<label>" --before -- <test command>`
|
|
3
|
+
* (feature `harness-proven-tests` AC1, the BUNDLE half).
|
|
4
|
+
*
|
|
5
|
+
* THIS FILE DOES NOT CHECK A SINGLE WORD OF THE INVOCATION. Every rule about the
|
|
6
|
+
* words after `prove` — the phase/task or `--change <id>`, `--label`,
|
|
7
|
+
* `--before`/`--after`, `--reason`, the test command itself, the before-action
|
|
8
|
+
* check on that command, the git reads, the counting, the local queue and the
|
|
9
|
+
* send to the control service — belongs to the runner's own `prove` verb
|
|
10
|
+
* (`packages/runner/src/prove.ts`), which this package ships but never imports
|
|
11
|
+
* (INV-001: a bundled binary, reached only as a child process). This module's
|
|
12
|
+
* whole job is the three things only the CLI that is actually ON the person's
|
|
13
|
+
* machine can do:
|
|
14
|
+
*
|
|
15
|
+
* 1. find the vendored runner binary this package shipped
|
|
16
|
+
* (`resolveVendoredBinary`, the way `close-phase` finds it for `observe`
|
|
17
|
+
* and `time`);
|
|
18
|
+
* 2. give the child this project's credential under the names the runner's
|
|
19
|
+
* configuration reader takes it from (`observeChildEnv`, close-phase.ts),
|
|
20
|
+
* so it counts and sends for the same project `close-phase` opens and
|
|
21
|
+
* closes against;
|
|
22
|
+
* 3. pass the child's output — the test command's own stdout and stderr, and
|
|
23
|
+
* the runner's one line about what it did — straight through AS IT COMES,
|
|
24
|
+
* never captured and reprinted, so a long test suite's progress is seen
|
|
25
|
+
* while it runs.
|
|
26
|
+
*
|
|
27
|
+
* `--repo <root>` is this CLI's own convention (every other verb takes it the
|
|
28
|
+
* same way), read and removed from the words BEFORE the `--` that starts the
|
|
29
|
+
* test command — a word spelled `--repo` after that point belongs to the
|
|
30
|
+
* command being proven, not to this CLI, and must never be touched.
|
|
31
|
+
*
|
|
32
|
+
* SHIPS TO CLIENT DISK (INV-001: Node builtins and this package's own modules
|
|
33
|
+
* only — no `@halfcycle/events`, no `fetch`, nothing of the runner's imported).
|
|
34
|
+
* No comment here sits beside an object member.
|
|
35
|
+
*/
|
|
36
|
+
import { Buffer } from 'node:buffer';
|
|
37
|
+
import type { RepoCredential } from './open-phase.js';
|
|
38
|
+
/** The usage lines, printed for a word the runner itself could not read. */
|
|
39
|
+
export declare const PROVE_USAGE: string;
|
|
40
|
+
/**
|
|
41
|
+
* This CLI's own `--repo <root>`, pulled out of the words before the `--` that
|
|
42
|
+
* starts the test command, and the remainder — unchanged, in the order given —
|
|
43
|
+
* to hand the runner's own `prove` verb.
|
|
44
|
+
*
|
|
45
|
+
* Only the part BEFORE the first bare `--` is searched: the words after it are
|
|
46
|
+
* the test command, as the person wrote it, and a command that happens to
|
|
47
|
+
* contain the word `--repo` (as one of its own arguments) must reach the
|
|
48
|
+
* runner exactly as typed.
|
|
49
|
+
*/
|
|
50
|
+
export declare function splitProveInvocation(words: readonly string[]): {
|
|
51
|
+
readonly repoRoot: string | undefined;
|
|
52
|
+
readonly forwarded: readonly string[];
|
|
53
|
+
};
|
|
54
|
+
/** Something a child's output stream can be written to, as `process.stdout` is. */
|
|
55
|
+
export interface ProveChildOutput {
|
|
56
|
+
write(chunk: string | Buffer): unknown;
|
|
57
|
+
}
|
|
58
|
+
/** The seams a test replaces. Production passes neither, and gets the real streams. */
|
|
59
|
+
export interface ProveChildDeps {
|
|
60
|
+
readonly stdout?: ProveChildOutput;
|
|
61
|
+
readonly stderr?: ProveChildOutput;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Spawn the runner binary this package shipped, as `node <binary> prove <words…>`,
|
|
65
|
+
* in `repoRoot`, with the credential under the runner's own environment names
|
|
66
|
+
* (`observeChildEnv`). Every chunk the child writes to its own stdout or stderr
|
|
67
|
+
* is written to `deps.stdout`/`deps.stderr` the moment it arrives — nothing is
|
|
68
|
+
* buffered here — so output streams through live exactly as the real `prove`
|
|
69
|
+
* binary would show it directly.
|
|
70
|
+
*
|
|
71
|
+
* Resolves to the child's own exit code: 0 when the command the runner ran did
|
|
72
|
+
* (whatever it did), 2 when the runner's before-action check refused the
|
|
73
|
+
* command before anything ran, 1 when the child could not be started or ended
|
|
74
|
+
* with no code (killed by a signal).
|
|
75
|
+
*/
|
|
76
|
+
export declare function runProveChild(binary: string, credential: RepoCredential, repoRoot: string, words: readonly string[], deps?: ProveChildDeps): Promise<number>;
|
|
77
|
+
//# sourceMappingURL=prove.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prove.d.ts","sourceRoot":"","sources":["../src/prove.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,4EAA4E;AAC5E,eAAO,MAAM,WAAW,QAGmF,CAAC;AAE5G;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAelF;AAED,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACxC;AAED,uFAAuF;AACvF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `restore [<id>]`: BRING SAVED WORK BACK (autonomous-builds AC5, *Restore*; *Failure
|
|
3
|
+
* modes*, a save half-written; the E4 task graph's T-116, D10).
|
|
4
|
+
*
|
|
5
|
+
* The runner's save, before a destructive action under autonomy, keeps tracked files in
|
|
6
|
+
* a commit under a hidden ref, copies everything git does not track to
|
|
7
|
+
* `~/.halfcycle/engagements/<e>/saved/<id>/files/`, and writes `saved.json` beside them.
|
|
8
|
+
* This verb reads that back. It cannot import the runner (only core and events ship
|
|
9
|
+
* with it), so every shared name and the one keep rule come from `@halfcycle/events`.
|
|
10
|
+
*
|
|
11
|
+
* **What is trusted.** `saved.json` sits where an agent can edit it, so:
|
|
12
|
+
* - a save is listed and restorable ONLY when its hidden ref exists in this repository
|
|
13
|
+
* (the ref is written last; a save with no ref is half-written or another clone's);
|
|
14
|
+
* - `saved.json` must parse with `savedSchema` (paths inside the project, safe branch
|
|
15
|
+
* names, the one ref form) and name the id of its own folder;
|
|
16
|
+
* - a save's age is its ref's commit time, never `savedAt`;
|
|
17
|
+
* - a tracked file's content and mode come from the ref's tree, never the description
|
|
18
|
+
* (the staged version, the ref's second parent, is left in the save untouched);
|
|
19
|
+
* - a copy is read from `files/` only through real folders, never through a link;
|
|
20
|
+
* - a line of work is made again only at a commit the ref itself holds as a parent;
|
|
21
|
+
* - no path inside git's own folder is ever written, whatever its letter case.
|
|
22
|
+
*
|
|
23
|
+
* **What is never overwritten.** A file, link or folder at a saved path, or a line of
|
|
24
|
+
* work with a saved name, that exists now is left as it is and named with why. Files
|
|
25
|
+
* are created with an exclusive create (which also refuses a dangling link), links with
|
|
26
|
+
* a create that refuses an existing name, and lines of work with a ref update that only
|
|
27
|
+
* creates. A folder on the way that is a link or a file stops that path, so nothing is
|
|
28
|
+
* written through a link to outside the project. Something identical to the save is
|
|
29
|
+
* reported as already there, not as left.
|
|
30
|
+
*
|
|
31
|
+
* **Keeping 7 days.** Each run first prunes by `savedPruneAnswer`, the rule the save
|
|
32
|
+
* prunes by: a save whose ref is older than 7 days loses its ref, then its folder; a
|
|
33
|
+
* folder with no ref is removed after a minute only when it names this repository or
|
|
34
|
+
* none, and after 7 days when it names another clone.
|
|
35
|
+
*/
|
|
36
|
+
/** The verb's one usage line. */
|
|
37
|
+
export declare const RESTORE_USAGE = "npx halfcycle@latest restore [<id>]";
|
|
38
|
+
/** What the verb prints and how it exits. */
|
|
39
|
+
export interface RestoreRun {
|
|
40
|
+
readonly stdout: string;
|
|
41
|
+
readonly stderr: string;
|
|
42
|
+
readonly exitCode: number;
|
|
43
|
+
}
|
|
44
|
+
/** The home folder (tests pass a temporary one) and the clock. */
|
|
45
|
+
export interface RestoreOptions {
|
|
46
|
+
readonly home?: string;
|
|
47
|
+
readonly now?: () => number;
|
|
48
|
+
}
|
|
49
|
+
/** The verb's words: the id, or nothing. Anything else is usage. */
|
|
50
|
+
export declare function parseRestoreArgs(rest: readonly string[]): {
|
|
51
|
+
ok: true;
|
|
52
|
+
id: string | undefined;
|
|
53
|
+
} | {
|
|
54
|
+
ok: false;
|
|
55
|
+
};
|
|
56
|
+
/** Run `restore` from `cwd`: list the saves with no id, bring one back with an id. */
|
|
57
|
+
export declare function runRestore(cwd: string, id: string | undefined, options?: RestoreOptions): RestoreRun;
|
|
58
|
+
//# sourceMappingURL=restore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../src/restore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAsBH,iCAAiC;AACjC,eAAO,MAAM,aAAa,wCAAwC,CAAC;AAEnE,6CAA6C;AAC7C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAK9G;AAID,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,GAAE,cAAmB,GAAG,UAAU,CAwBxG"}
|