@agentworkforce/cli 0.17.1 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +6 -6
- package/dist/cli.d.ts +37 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +954 -55
- package/dist/cli.js.map +1 -1
- package/dist/cli.test.js +303 -1
- package/dist/cli.test.js.map +1 -1
- package/dist/launch-metadata.d.ts +7 -0
- package/dist/launch-metadata.d.ts.map +1 -1
- package/dist/launch-metadata.js +6 -2
- package/dist/launch-metadata.js.map +1 -1
- package/dist/local-personas.d.ts +7 -0
- package/dist/local-personas.d.ts.map +1 -1
- package/dist/local-personas.js +9 -3
- package/dist/local-personas.js.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.19.0] - 2026-05-08
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Address PR feedback on auto-improve flow
|
|
15
|
+
- Handle Ctrl-C during sandbox mount setup
|
|
16
|
+
- Make CLI launch spinners actually animate (#104)
|
|
17
|
+
- Offer auto-improve persona prompt at session end
|
|
18
|
+
|
|
19
|
+
## [0.18.0] - 2026-05-08
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Move session root to ~/.agentworkforce/workforce/sessions
|
|
24
|
+
|
|
10
25
|
## [0.17.1] - 2026-05-08
|
|
11
26
|
|
|
12
27
|
### Changed
|
package/README.md
CHANGED
|
@@ -968,7 +968,7 @@ the working tree, and the session only sees the skills the persona declares
|
|
|
968
968
|
**Layout:**
|
|
969
969
|
|
|
970
970
|
```
|
|
971
|
-
~/.
|
|
971
|
+
~/.agentworkforce/workforce/
|
|
972
972
|
└── sessions/<personaId>-<timestamp>-<rand>/
|
|
973
973
|
└── claude/
|
|
974
974
|
└── plugin/ ← passed as --plugin-dir
|
|
@@ -977,7 +977,7 @@ the working tree, and the session only sees the skills the persona declares
|
|
|
977
977
|
└── .claude/skills/<name>/SKILL.md ← prpm install output
|
|
978
978
|
```
|
|
979
979
|
|
|
980
|
-
- **Stage dir** — `~/.
|
|
980
|
+
- **Stage dir** — `~/.agentworkforce/workforce/sessions/<id>/claude/plugin/`.
|
|
981
981
|
`<id>` is `<personaId>-<base36-timestamp>-<hex-random>` so parallel
|
|
982
982
|
sessions never collide.
|
|
983
983
|
- **Plugin wrapper** — the CLI writes a minimal `.claude-plugin/plugin.json`
|
|
@@ -992,7 +992,7 @@ the working tree, and the session only sees the skills the persona declares
|
|
|
992
992
|
`<stage-dir>` (e.g. `.../sessions/<id>/claude/plugin/`) via its generated
|
|
993
993
|
`rm -rf` command. The CLI additionally removes the enclosing session root
|
|
994
994
|
(`.../sessions/<id>/`) so the mount dir and any empty parents don't
|
|
995
|
-
accumulate under `~/.
|
|
995
|
+
accumulate under `~/.agentworkforce/workforce/sessions/`. The provider lockfile
|
|
996
996
|
(`prpm.lock`) is inside the stage dir and goes with it — no repeat-run
|
|
997
997
|
resolution cache today. Restart cost is one prpm install per session.
|
|
998
998
|
|
|
@@ -1016,7 +1016,7 @@ stage dir conflicts with something else (network filesystem, read-only
|
|
|
1016
1016
|
conventional repo-relative directories. The SDK throws if `installRoot` is
|
|
1017
1017
|
passed with a non-claude harness.
|
|
1018
1018
|
- **No cache layer yet.** Every interactive session runs a fresh prpm install
|
|
1019
|
-
into a new stage dir. A `~/.
|
|
1019
|
+
into a new stage dir. A `~/.agentworkforce/workforce/cache/` content-addressed cache
|
|
1020
1020
|
is planned but not wired up.
|
|
1021
1021
|
|
|
1022
1022
|
## Sandbox mount
|
|
@@ -1067,7 +1067,7 @@ the repo):
|
|
|
1067
1067
|
user-level context too, launch under a scratch `$HOME`.
|
|
1068
1068
|
- **Persona skills.** For claude, the `--plugin-dir` passed to the harness
|
|
1069
1069
|
resolves to an absolute path *outside* the mount, so staged skills from
|
|
1070
|
-
`~/.
|
|
1070
|
+
`~/.agentworkforce/workforce/sessions/<id>/claude/plugin/` load normally. For
|
|
1071
1071
|
opencode, the install runs inside the mount so the writes land in the
|
|
1072
1072
|
sandbox.
|
|
1073
1073
|
- **Keychain auth.** The mount does not pass `--bare`; it only hides
|
|
@@ -1088,7 +1088,7 @@ session directory. The session id (`<personaId>-<base36-timestamp>-<hex>`)
|
|
|
1088
1088
|
is generated once and both paths are derived from it:
|
|
1089
1089
|
|
|
1090
1090
|
```
|
|
1091
|
-
~/.
|
|
1091
|
+
~/.agentworkforce/workforce/
|
|
1092
1092
|
└── sessions/<personaId>-<timestamp>-<rand>/
|
|
1093
1093
|
├── claude/
|
|
1094
1094
|
│ └── plugin/ ← passed as --plugin-dir
|
package/dist/cli.d.ts
CHANGED
|
@@ -143,6 +143,43 @@ export interface PersonaInstallArgs {
|
|
|
143
143
|
overwrite: boolean;
|
|
144
144
|
}
|
|
145
145
|
export declare function parseInstallArgs(args: readonly string[]): PersonaInstallArgs;
|
|
146
|
+
export interface ImproverPatch {
|
|
147
|
+
path: string;
|
|
148
|
+
op: 'set' | 'append';
|
|
149
|
+
value: unknown;
|
|
150
|
+
}
|
|
151
|
+
export interface ImproverProposal {
|
|
152
|
+
id: string;
|
|
153
|
+
summary: string;
|
|
154
|
+
rationale: string;
|
|
155
|
+
patches: ImproverPatch[];
|
|
156
|
+
}
|
|
157
|
+
export interface ImproverProposalsFile {
|
|
158
|
+
personaId: string;
|
|
159
|
+
personaFilePath: string;
|
|
160
|
+
transcriptPath: string;
|
|
161
|
+
proposals: ImproverProposal[];
|
|
162
|
+
}
|
|
163
|
+
export declare function parseProposals(raw: string): ImproverProposalsFile;
|
|
164
|
+
/**
|
|
165
|
+
* Read a single-character choice from stdin synchronously, looping on
|
|
166
|
+
* invalid input. Empty Enter (no character) returns the first option in
|
|
167
|
+
* `valid` — callers should put the safe / default-no answer first.
|
|
168
|
+
*
|
|
169
|
+
* Test seam: callers can inject `read` so the prompt is exercisable
|
|
170
|
+
* without a real TTY (mirrors `promptYesNoSync`).
|
|
171
|
+
*/
|
|
172
|
+
export declare function readSingleCharChoice(prompt: string, valid: readonly string[], opts?: {
|
|
173
|
+
write?: (chunk: string) => void;
|
|
174
|
+
read?: () => string | undefined;
|
|
175
|
+
}): string;
|
|
176
|
+
/**
|
|
177
|
+
* Apply accepted patches to the persona JSON on disk. Reads, mutates the
|
|
178
|
+
* parsed object, writes back with two-space indent + trailing newline
|
|
179
|
+
* (matches existing /personas style). Throws on unwriteable file or
|
|
180
|
+
* unsupported patch op/path resolution.
|
|
181
|
+
*/
|
|
182
|
+
export declare function applyAcceptedPatches(personaFilePath: string, accepted: readonly ImproverProposal[]): void;
|
|
146
183
|
/**
|
|
147
184
|
* Enumerate persona candidates for the picker. Local overrides win over the
|
|
148
185
|
* built-in catalog when ids collide; the picker only needs the projection
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|