@open-agent-toolkit/cli 0.3.34 → 0.3.36
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 +1 -1
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/docs-tooling/check.md +4 -4
- package/assets/docs/skills/index.md +4 -4
- package/assets/docs/workflows/projects/execution/execution-skills.md +5 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-project-implement/SKILL.md +3 -3
- package/dist/commands/docs/check/mermaid-runtime.d.ts +1 -1
- package/dist/commands/docs/check/mermaid-runtime.d.ts.map +1 -1
- package/dist/commands/docs/check/mermaid-runtime.js +24 -49
- package/package.json +4 -6
package/README.md
CHANGED
|
@@ -49,7 +49,7 @@ For an approved fresh reader model, pass `--ia-preset <preset> --planned-pages <
|
|
|
49
49
|
|
|
50
50
|
Fumadocs static exports include `llms.txt`, `llms-full.txt` and `llms/<page-slugs>/content.md` (root `llms/content.md`) for loaded `.md` readers. These retain authored Markdown and source-relative-link guidance; configured non-readers and MDX are excluded. Use authored Contents maps and `oat docs nav sync`, followed by `--check`, for navigation changes.
|
|
51
51
|
|
|
52
|
-
`oat docs check [--target-dir <dir>] [--rule <id>...] [--json]` performs read-only reader, navigation, contributor-command and Mermaid/SVG checks without a site build. Errors exit 1; warnings exit 0. Configure validated severities, numeric thresholds and reason-bearing exceptions under `documentation.check`. Mermaid syntax parsing lazily
|
|
52
|
+
`oat docs check [--target-dir <dir>] [--rule <id>...] [--json]` performs read-only reader, navigation, contributor-command and Mermaid/SVG checks without a site build. Errors exit 1; warnings exit 0. Configure validated severities, numeric thresholds and reason-bearing exceptions under `documentation.check`. Mermaid syntax parsing lazily loads the pinned Pele parser, which needs no DOM and never renders; Node 22.17 remains the minimum. See [checker rules and configuration](../../apps/oat-docs/docs/docs-tooling/check.md).
|
|
53
53
|
|
|
54
54
|
`oat docs literals [--target-dir <dir>] --page <content-relative-reader.md> --source-root <repo-relative-dir> [--source-exclude <pattern>] --json` supplies read-only inline-code occurrence candidates for a matching triad IA mirror. Repeat each single-value selection flag as needed. Sources stay within narrow explicit implementation roots; searched/skipped evidence and first source physical lines are reported. Once-only strict HTML entity decoding and case-sensitive line-local substring matching do not establish runtime validity; analyze judges canonical relevance and authored IA acceptance. Completed not-found/not-applicable exits 0, input/config errors 1, unexpected failures 2. See [literal helper scope and limits](../../apps/oat-docs/docs/docs-tooling/commands.md#oat-docs-literals).
|
|
55
55
|
|
|
@@ -107,7 +107,7 @@ recursive tabs participate.
|
|
|
107
107
|
| `contents-separator` | Warn when Contents descriptions mix separators in a tree. |
|
|
108
108
|
| `navigation` | Error for explicit navigation drift. Nav-sync freshness stays strict; hand-authored/undeclared compare membership and order only (separators, labels, links and borrows are not compared), and absent optional meta/pages/nav skips comparison. Markdown skips it. |
|
|
109
109
|
| `commands` | Error for missing literal contributor scripts; framework app targets try the app package first, then the repository root. Implicit pnpm shorthand also accepts installed package/workspace `.bin` entries. Explicit pnpm run/npm run stays script-only; unresolved context errors; echo scripts warn. |
|
|
110
|
-
| `mermaid` | Parse every real Mermaid fence
|
|
110
|
+
| `mermaid` | Parse every real Mermaid fence with the pinned Pele parser. Invalid syntax errors, with the diagram line and column. |
|
|
111
111
|
| `diagram-pairs` | Diagram light/dark SVG siblings and both page references are required. Conventional diagram paths and explicit paired references participate; ordinary logos are not diagrams. |
|
|
112
112
|
| `diagram-accessibility` | Mermaid missing `accTitle`/`accDescr` warns. SVGs require `role="img"`, nonempty title/desc. Rendered diagrams without page-visible explanatory text or an associated long description warn. |
|
|
113
113
|
| `diagram-freshness` | Warn when changed Mermaid lacks both associated SVG changes; association follows the actual section/tab group. Missing usable Git comparison is explicitly unverified. |
|
|
@@ -140,9 +140,9 @@ binary shorthand may be reported missing. Use `pnpm exec` for explicit binary ex
|
|
|
140
140
|
|
|
141
141
|
## Diagram comparison and limits
|
|
142
142
|
|
|
143
|
-
Syntax validation lazily loads the pinned
|
|
144
|
-
|
|
145
|
-
It does not
|
|
143
|
+
Syntax validation lazily loads the pinned Pele parser, which reads Mermaid
|
|
144
|
+
syntax without a DOM and never renders, runs scripts or loads resources.
|
|
145
|
+
It does not prove semantic/visual correctness. Inspect both themes
|
|
146
146
|
for important diagrams. Put meaningful `accTitle` and `accDescr` in Mermaid,
|
|
147
147
|
keep SVG title/desc and page explanations, and change both theme SVGs with source.
|
|
148
148
|
|
|
@@ -320,10 +320,10 @@ Visibility reports source metadata: “user” is `user-invocable` and “model
|
|
|
320
320
|
|
|
321
321
|
### Project execution
|
|
322
322
|
|
|
323
|
-
| Skill | Description
|
|
324
|
-
| ---------------------------------------------------------------------------------------------------- |
|
|
325
|
-
| [`oat-project-implement`](../workflows/projects/execution/execution-skills.md#oat-project-implement) | Use when plan.md is ready
|
|
326
|
-
| [`oat-project-reconcile`](../workflows/projects/execution/execution-skills.md#oat-project-reconcile) | Use when human-implemented commits need to be mapped back to planned tasks. Reconciles implementation.md and state.md after manual work outside the OAT workflow.
|
|
323
|
+
| Skill | Description | Visibility | Needs an active project? |
|
|
324
|
+
| ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------- | ------------------------ |
|
|
325
|
+
| [`oat-project-implement`](../workflows/projects/execution/execution-skills.md#oat-project-implement) | Use when the user explicitly asks to implement an approved OAT plan — e.g. "implement the plan", "start implementation", or accepts a previously offered implementation step. Do NOT auto-invoke just because plan.md is ready. Dispatches one phase implementer per phase, owns independent phase review and bounded fix routing, and supports plan-declared worktree-isolated parallel phases. | user: true; model disabled: false | Yes |
|
|
326
|
+
| [`oat-project-reconcile`](../workflows/projects/execution/execution-skills.md#oat-project-reconcile) | Use when human-implemented commits need to be mapped back to planned tasks. Reconciles implementation.md and state.md after manual work outside the OAT workflow. | user: true; model disabled: true | Yes |
|
|
327
327
|
|
|
328
328
|
### Project planning
|
|
329
329
|
|
|
@@ -69,6 +69,11 @@ synced project. It is not proof that implementation or its tests have passed.
|
|
|
69
69
|
The second begins execution. These are agent skill invocations, not `oat`
|
|
70
70
|
terminal subcommands; use the invocation syntax your host supports.
|
|
71
71
|
|
|
72
|
+
The skill is model-invokable when you ask to implement an approved plan, or
|
|
73
|
+
when you accept an offered implementation step. A ready `plan.md` is not that
|
|
74
|
+
ask. The agent does not start implementation on its own just because the plan
|
|
75
|
+
is ready.
|
|
76
|
+
|
|
72
77
|
The number of fix attempts after a failed review comes from
|
|
73
78
|
`oat_orchestration_retry_limit` in the project's `state.md` (default 2, range
|
|
74
79
|
0–5). The skill's argument hint also lists `--retry-limit`, but no step reads
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-implement
|
|
3
|
-
description: Use when plan.md is ready
|
|
3
|
+
description: Use when the user explicitly asks to implement an approved OAT plan — e.g. "implement the plan", "start implementation", or accepts a previously offered implementation step. Do NOT auto-invoke just because plan.md is ready. Dispatches one phase implementer per phase, owns independent phase review and bounded fix routing, and supports plan-declared worktree-isolated parallel phases.
|
|
4
4
|
oat_gateable: true
|
|
5
5
|
argument-hint: '[--retry-limit <N>] [--dry-run]'
|
|
6
|
-
disable-model-invocation:
|
|
6
|
+
disable-model-invocation: false
|
|
7
7
|
user-invocable: true
|
|
8
8
|
allowed-tools: Read, Write, Bash(git:*), Bash(oat:*), Bash(oat project log:*), Glob, Grep, AskUserQuestion, Task
|
|
9
9
|
metadata:
|
|
10
|
-
version: 2.3.
|
|
10
|
+
version: 2.3.22
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# Implementation Phase
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** Mermaid syntax check with the pinned, DOM-free Pele parser. Never renders. */
|
|
2
2
|
export declare function parseMermaid(source: string): Promise<void>;
|
|
3
3
|
//# sourceMappingURL=mermaid-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mermaid-runtime.d.ts","sourceRoot":"","sources":["../../../../src/commands/docs/check/mermaid-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mermaid-runtime.d.ts","sourceRoot":"","sources":["../../../../src/commands/docs/check/mermaid-runtime.ts"],"names":[],"mappings":"AAyBA,iFAAiF;AACjF,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhE"}
|
|
@@ -1,57 +1,32 @@
|
|
|
1
1
|
let runtime;
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const descriptor = saved[index];
|
|
20
|
-
if (descriptor)
|
|
21
|
-
Object.defineProperty(globalThis, key, descriptor);
|
|
22
|
-
else
|
|
23
|
-
Reflect.deleteProperty(globalThis, key);
|
|
24
|
-
});
|
|
25
|
-
}
|
|
2
|
+
/**
|
|
3
|
+
* Pele reports syntax errors in Mermaid's multi-line form: a "Parse error on
|
|
4
|
+
* line N:" header, the offending source line, a caret line and the expected
|
|
5
|
+
* tokens. Keep only the explanation and append the diagram-relative position.
|
|
6
|
+
*/
|
|
7
|
+
function conciseMessage(error) {
|
|
8
|
+
const message = error.snippet
|
|
9
|
+
? error.message.replace(error.snippet, '')
|
|
10
|
+
: error.message;
|
|
11
|
+
const detail = message
|
|
12
|
+
.split('\n')
|
|
13
|
+
.map((line) => line.trim())
|
|
14
|
+
.filter((line) => line && !/^Parse error on line \d+:?$/.test(line))
|
|
15
|
+
.join(' ');
|
|
16
|
+
return error.line > 0
|
|
17
|
+
? `${detail} (diagram line ${error.line}, column ${error.column})`
|
|
18
|
+
: detail;
|
|
26
19
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const
|
|
20
|
+
/** Mermaid syntax check with the pinned, DOM-free Pele parser. Never renders. */
|
|
21
|
+
export async function parseMermaid(source) {
|
|
22
|
+
runtime ??= import('pele');
|
|
23
|
+
const pele = await runtime;
|
|
31
24
|
try {
|
|
32
|
-
|
|
33
|
-
process.once('beforeExit', () => dom.window.close());
|
|
34
|
-
return { dom, mermaid };
|
|
25
|
+
pele.parse(source);
|
|
35
26
|
}
|
|
36
27
|
catch (error) {
|
|
37
|
-
|
|
28
|
+
if (error instanceof pele.PeleError)
|
|
29
|
+
throw new Error(conciseMessage(error), { cause: error });
|
|
38
30
|
throw error;
|
|
39
31
|
}
|
|
40
32
|
}
|
|
41
|
-
/** Lazy, real Node DOM for Mermaid syntax parsing only. Never renders SVG. */
|
|
42
|
-
export async function parseMermaid(source) {
|
|
43
|
-
const result = queue.then(async () => {
|
|
44
|
-
runtime ??= loadRuntime();
|
|
45
|
-
const { dom, mermaid } = await runtime;
|
|
46
|
-
await withDom(dom, async () => {
|
|
47
|
-
mermaid.initialize({
|
|
48
|
-
startOnLoad: false,
|
|
49
|
-
securityLevel: 'strict',
|
|
50
|
-
logLevel: 'fatal',
|
|
51
|
-
});
|
|
52
|
-
await mermaid.parse(source);
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
queue = result.catch(() => undefined);
|
|
56
|
-
await result;
|
|
57
|
-
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-agent-toolkit/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.36",
|
|
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",
|
|
@@ -32,21 +32,19 @@
|
|
|
32
32
|
"commander": "^12.1.0",
|
|
33
33
|
"entities": "6.0.1",
|
|
34
34
|
"github-slugger": "2.0.0",
|
|
35
|
-
"jsdom": "29.1.1",
|
|
36
35
|
"jsonc-parser": "3.2.1",
|
|
37
|
-
"mermaid": "11.12.3",
|
|
38
36
|
"ora": "^9.0.0",
|
|
39
37
|
"parse5": "7.3.0",
|
|
38
|
+
"pele": "1.10.0",
|
|
40
39
|
"remark-gfm": "4.0.1",
|
|
41
40
|
"remark-parse": "11.0.0",
|
|
42
41
|
"unified": "11.0.5",
|
|
43
42
|
"yaml": "2.8.2",
|
|
44
43
|
"zod": "^3.25.76",
|
|
45
|
-
"@open-agent-toolkit/control-plane": "0.3.
|
|
46
|
-
"@open-agent-toolkit/docs-transforms": "0.3.
|
|
44
|
+
"@open-agent-toolkit/control-plane": "0.3.36",
|
|
45
|
+
"@open-agent-toolkit/docs-transforms": "0.3.36"
|
|
47
46
|
},
|
|
48
47
|
"devDependencies": {
|
|
49
|
-
"@types/jsdom": "28.0.3",
|
|
50
48
|
"@types/node": "^22.10.0",
|
|
51
49
|
"tsc-alias": "^1.8.10",
|
|
52
50
|
"tsx": "^4.21.0",
|