@open-agent-toolkit/cli 0.0.27 → 0.0.28
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/assets/docs/cli-utilities/configuration.md +108 -0
- package/assets/docs/reference/cli-reference.md +25 -0
- package/assets/docs/workflows/projects/hill-checkpoints.md +17 -0
- package/assets/docs/workflows/projects/lifecycle.md +6 -0
- package/assets/docs/workflows/projects/reviews.md +24 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-project-complete/SKILL.md +20 -1
- package/assets/skills/oat-project-implement/SKILL.md +85 -4
- package/assets/skills/oat-project-review-provide/SKILL.md +12 -2
- package/assets/skills/oat-project-review-receive/SKILL.md +23 -1
- package/assets/skills/oat-project-review-receive-remote/SKILL.md +17 -1
- package/dist/commands/config/index.d.ts +5 -1
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +268 -140
- package/dist/config/oat-config.d.ts +14 -0
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +50 -0
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +20 -0
- package/package.json +2 -2
|
@@ -3,6 +3,44 @@ import { readFile } from 'node:fs/promises';
|
|
|
3
3
|
import { basename, isAbsolute, join, relative, resolve, sep } from 'node:path';
|
|
4
4
|
import { atomicWriteJson, dirExists, fileExists } from '../fs/io.js';
|
|
5
5
|
import { normalizeToPosixPath } from '../fs/paths.js';
|
|
6
|
+
const VALID_HILL_CHECKPOINT_DEFAULTS = ['every', 'final'];
|
|
7
|
+
const VALID_POST_IMPLEMENT_SEQUENCES = ['wait', 'summary', 'pr', 'docs-pr'];
|
|
8
|
+
const VALID_REVIEW_EXECUTION_MODELS = [
|
|
9
|
+
'subagent',
|
|
10
|
+
'inline',
|
|
11
|
+
'fresh-session',
|
|
12
|
+
];
|
|
13
|
+
function normalizeWorkflowConfig(parsed) {
|
|
14
|
+
if (!isRecord(parsed)) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
const next = {};
|
|
18
|
+
if (typeof parsed.hillCheckpointDefault === 'string' &&
|
|
19
|
+
VALID_HILL_CHECKPOINT_DEFAULTS.includes(parsed.hillCheckpointDefault)) {
|
|
20
|
+
next.hillCheckpointDefault =
|
|
21
|
+
parsed.hillCheckpointDefault;
|
|
22
|
+
}
|
|
23
|
+
if (typeof parsed.archiveOnComplete === 'boolean') {
|
|
24
|
+
next.archiveOnComplete = parsed.archiveOnComplete;
|
|
25
|
+
}
|
|
26
|
+
if (typeof parsed.createPrOnComplete === 'boolean') {
|
|
27
|
+
next.createPrOnComplete = parsed.createPrOnComplete;
|
|
28
|
+
}
|
|
29
|
+
if (typeof parsed.postImplementSequence === 'string' &&
|
|
30
|
+
VALID_POST_IMPLEMENT_SEQUENCES.includes(parsed.postImplementSequence)) {
|
|
31
|
+
next.postImplementSequence =
|
|
32
|
+
parsed.postImplementSequence;
|
|
33
|
+
}
|
|
34
|
+
if (typeof parsed.reviewExecutionModel === 'string' &&
|
|
35
|
+
VALID_REVIEW_EXECUTION_MODELS.includes(parsed.reviewExecutionModel)) {
|
|
36
|
+
next.reviewExecutionModel =
|
|
37
|
+
parsed.reviewExecutionModel;
|
|
38
|
+
}
|
|
39
|
+
if (typeof parsed.autoNarrowReReviewScope === 'boolean') {
|
|
40
|
+
next.autoNarrowReReviewScope = parsed.autoNarrowReReviewScope;
|
|
41
|
+
}
|
|
42
|
+
return Object.keys(next).length > 0 ? next : undefined;
|
|
43
|
+
}
|
|
6
44
|
const DEFAULT_OAT_CONFIG = { version: 1 };
|
|
7
45
|
const DEFAULT_OAT_LOCAL_CONFIG = { version: 1 };
|
|
8
46
|
const DEFAULT_USER_CONFIG = { version: 1 };
|
|
@@ -148,6 +186,10 @@ function normalizeOatConfig(parsed) {
|
|
|
148
186
|
if (typeof parsed.autoReviewAtCheckpoints === 'boolean') {
|
|
149
187
|
next.autoReviewAtCheckpoints = parsed.autoReviewAtCheckpoints;
|
|
150
188
|
}
|
|
189
|
+
const workflow = normalizeWorkflowConfig(parsed.workflow);
|
|
190
|
+
if (workflow) {
|
|
191
|
+
next.workflow = workflow;
|
|
192
|
+
}
|
|
151
193
|
return next;
|
|
152
194
|
}
|
|
153
195
|
function normalizeOatLocalConfig(repoRoot, parsed) {
|
|
@@ -174,6 +216,10 @@ function normalizeOatLocalConfig(repoRoot, parsed) {
|
|
|
174
216
|
? parsed.activeIdea.trim()
|
|
175
217
|
: null;
|
|
176
218
|
}
|
|
219
|
+
const workflow = normalizeWorkflowConfig(parsed.workflow);
|
|
220
|
+
if (workflow) {
|
|
221
|
+
next.workflow = workflow;
|
|
222
|
+
}
|
|
177
223
|
return next;
|
|
178
224
|
}
|
|
179
225
|
export function resolveLocalPaths(config) {
|
|
@@ -266,6 +312,10 @@ function normalizeUserConfig(parsed) {
|
|
|
266
312
|
? parsed.activeIdea.trim()
|
|
267
313
|
: null;
|
|
268
314
|
}
|
|
315
|
+
const workflow = normalizeWorkflowConfig(parsed.workflow);
|
|
316
|
+
if (workflow) {
|
|
317
|
+
next.workflow = workflow;
|
|
318
|
+
}
|
|
269
319
|
return next;
|
|
270
320
|
}
|
|
271
321
|
export async function readUserConfig(userConfigDir) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,GACR,OAAO,GACP,MAAM,GACN,KAAK,GACL,SAAS,CAAC;AAEd,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,kCAAkC;IACjD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAClE,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAChE;
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,GACR,OAAO,GACP,MAAM,GACN,KAAK,GACL,SAAS,CAAC;AAEd,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,kCAAkC;IACjD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAClE,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAChE;AA8DD,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,SAAS,GAAE,OAAO,CAAC,kCAAkC,CAAM,GAC1D,OAAO,CAAC,cAAc,CAAC,CAqEzB"}
|
package/dist/config/resolve.js
CHANGED
|
@@ -20,6 +20,15 @@ const DEFAULT_SHARED_CONFIG = {
|
|
|
20
20
|
index: null,
|
|
21
21
|
requireForProjectCompletion: false,
|
|
22
22
|
},
|
|
23
|
+
tools: {
|
|
24
|
+
core: false,
|
|
25
|
+
docs: false,
|
|
26
|
+
ideas: false,
|
|
27
|
+
'project-management': false,
|
|
28
|
+
research: false,
|
|
29
|
+
utility: false,
|
|
30
|
+
workflows: false,
|
|
31
|
+
},
|
|
23
32
|
autoReviewAtCheckpoints: false,
|
|
24
33
|
};
|
|
25
34
|
const DEFAULT_LOCAL_CONFIG = {
|
|
@@ -30,6 +39,16 @@ const DEFAULT_LOCAL_CONFIG = {
|
|
|
30
39
|
const DEFAULT_USER_CONFIG = {
|
|
31
40
|
activeIdea: null,
|
|
32
41
|
};
|
|
42
|
+
const DEFAULT_WORKFLOW_CONFIG = {
|
|
43
|
+
workflow: {
|
|
44
|
+
hillCheckpointDefault: null,
|
|
45
|
+
archiveOnComplete: null,
|
|
46
|
+
createPrOnComplete: null,
|
|
47
|
+
postImplementSequence: null,
|
|
48
|
+
reviewExecutionModel: null,
|
|
49
|
+
autoNarrowReReviewScope: null,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
33
52
|
const ENV_OVERRIDE_MAP = {
|
|
34
53
|
'projects.root': 'OAT_PROJECTS_ROOT',
|
|
35
54
|
'worktrees.root': 'OAT_WORKTREES_ROOT',
|
|
@@ -51,6 +70,7 @@ export async function resolveEffectiveConfig(repoRoot, userConfigDir, env = proc
|
|
|
51
70
|
...flattenConfig(DEFAULT_SHARED_CONFIG),
|
|
52
71
|
...flattenConfig(DEFAULT_LOCAL_CONFIG),
|
|
53
72
|
...flattenConfig(DEFAULT_USER_CONFIG),
|
|
73
|
+
...flattenConfig(DEFAULT_WORKFLOW_CONFIG),
|
|
54
74
|
};
|
|
55
75
|
const keys = new Set([
|
|
56
76
|
...Object.keys(defaultValues),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-agent-toolkit/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.28",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Open Agent Toolkit CLI",
|
|
6
6
|
"homepage": "https://github.com/voxmedia/open-agent-toolkit/tree/main/packages/cli",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"ora": "^9.0.0",
|
|
34
34
|
"yaml": "2.8.2",
|
|
35
35
|
"zod": "^3.25.76",
|
|
36
|
-
"@open-agent-toolkit/control-plane": "0.0.
|
|
36
|
+
"@open-agent-toolkit/control-plane": "0.0.28"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/node": "^22.10.0",
|