@open-agent-toolkit/cli 0.2.20 → 0.2.21

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.
Files changed (52) hide show
  1. package/assets/docs/workflows/projects/artifacts.md +1 -1
  2. package/assets/docs/workflows/skills/explainer-kit.md +188 -23
  3. package/assets/docs/workflows/skills/index.md +1 -1
  4. package/assets/public-package-versions.json +4 -4
  5. package/assets/skills/explainer-kit/SKILL.md +87 -25
  6. package/assets/skills/explainer-kit/briefs/deep-dive.md +35 -0
  7. package/assets/skills/explainer-kit/briefs/engineer-tour.md +45 -0
  8. package/assets/skills/explainer-kit/briefs/program-recap.md +41 -0
  9. package/assets/skills/explainer-kit/briefs/project-explainer.md +38 -0
  10. package/assets/skills/explainer-kit/briefs/project-page.md +38 -0
  11. package/assets/skills/explainer-kit/briefs/project-recap.md +47 -0
  12. package/assets/skills/explainer-kit/briefs/supporting-diagram.md +28 -0
  13. package/assets/skills/explainer-kit/briefs/walkthrough-deck.md +35 -0
  14. package/assets/skills/explainer-kit/examples/project-recap/content.md +57 -14
  15. package/assets/skills/explainer-kit/examples/project-recap/fact-base.json +104 -0
  16. package/assets/skills/explainer-kit/examples/project-recap/fact-base.md +26 -4
  17. package/assets/skills/explainer-kit/recipes/engineer-tour.json +27 -10
  18. package/assets/skills/explainer-kit/recipes/program-recap.json +35 -11
  19. package/assets/skills/explainer-kit/recipes/project-explainer.json +27 -10
  20. package/assets/skills/explainer-kit/recipes/project-recap.json +43 -11
  21. package/assets/skills/explainer-kit/references/contracts.md +45 -19
  22. package/assets/skills/explainer-kit/schemas/author-request.v2.schema.json +41 -0
  23. package/assets/skills/explainer-kit/schemas/author-result.v2.schema.json +52 -0
  24. package/assets/skills/explainer-kit/scripts/lib/browser-runtime.mjs +442 -0
  25. package/assets/skills/explainer-kit/scripts/lib/content-approval.mjs +223 -10
  26. package/assets/skills/explainer-kit/scripts/lib/contracts.mjs +28 -43
  27. package/assets/skills/explainer-kit/scripts/lib/diagram.mjs +237 -0
  28. package/assets/skills/explainer-kit/scripts/lib/html-safety.mjs +680 -0
  29. package/assets/skills/explainer-kit/scripts/lib/markdown.mjs +414 -0
  30. package/assets/skills/explainer-kit/scripts/lib/qa.mjs +309 -10
  31. package/assets/skills/explainer-kit/scripts/lib/recipes.mjs +313 -41
  32. package/assets/skills/explainer-kit/scripts/lib/records.mjs +61 -0
  33. package/assets/skills/explainer-kit/scripts/lib/render.mjs +166 -12
  34. package/assets/skills/explainer-kit/scripts/render-qa.mjs +147 -2
  35. package/assets/skills/explainer-kit/scripts/run.mjs +796 -272
  36. package/assets/skills/explainer-kit/templates/deck-shell.html +25 -5
  37. package/assets/skills/explainer-kit/templates/diagram-shell.html +29 -7
  38. package/assets/skills/explainer-kit/templates/engineer-tour.html +133 -9
  39. package/assets/skills/explainer-kit/templates/house-style.html +82 -0
  40. package/assets/skills/oat-explainer-kit/SKILL.md +16 -9
  41. package/assets/skills/oat-explainer-kit/references/author-callback.md +51 -0
  42. package/assets/skills/oat-explainer-kit/references/lifecycle-contract.md +10 -8
  43. package/assets/skills/oat-explainer-kit/scripts/resolve-intent.mjs +14 -0
  44. package/assets/skills/oat-explainer-kit/scripts/run.mjs +7 -11
  45. package/assets/skills/oat-project-complete/SKILL.md +18 -2
  46. package/assets/skills/oat-project-implement/SKILL.md +1 -1
  47. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +7 -1
  48. package/assets/skills/oat-wave-execute/SKILL.md +12 -19
  49. package/assets/skills/oat-wave-program/SKILL.md +12 -13
  50. package/package.json +2 -2
  51. package/assets/skills/explainer-kit/schemas/author-request.schema.json +0 -85
  52. package/assets/skills/explainer-kit/schemas/author-result.schema.json +0 -65
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-implement
3
- version: 2.1.9
3
+ version: 2.2.0
4
4
  description: Use when plan.md is ready for execution. Dispatches one phase implementer per phase, owns independent phase review and bounded fix routing, and supports plan-declared worktree-isolated parallel phases.
5
5
  oat_gateable: true
6
6
  argument-hint: '[--retry-limit <N>] [--dry-run]'
@@ -751,7 +751,13 @@ Before generating, inspect the active project's explainer runs. A fresh `project
751
751
  Resolve recap intent through `oat-explainer-kit`. When `OAT_AUTONOMOUS=1` and no fresh recap exists, attempt `project-recap` exactly once; missing or stale persisted intent cannot suppress this autonomous attempt. Interactive mode honors the adapter's resolved persisted or workflow intent.
752
752
 
753
753
  Invoke the `oat-explainer-kit` adapter first, then run its shared tracked-run finalizer in `dedicated` mode for a successful build. Use the adapter result and finalizer result as returned; do not improvise commits, durability evidence, or reruns. Outcomes `failed` and `built-not-durable` are recorded warnings, never blockers for final HiLL approval, completion reporting, or later PR steps.
754
- Supply the provider-neutral critic callback (or validated critic module entry point for JSON/CLI invocation) on every federated adapter run.
754
+ For an adapter invocation, construct exactly one brief-aware,
755
+ provider-neutral author seam using
756
+ `oat-explainer-kit/references/author-callback.md`. In-process callers pass
757
+ `author`; JSON/CLI callers pass a validated `authorModulePath`. Supply it
758
+ alongside the existing `critic` callback (or validated
759
+ `criticModulePath`), and always invoke this implementation-tail recap with
760
+ `mode: unattended`.
755
761
 
756
762
  Always include the selected or attempted recap's outcome and run path in the
757
763
  implementation completion report. If `summary.md` exists, append or refresh its
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-wave-execute
3
- version: 1.7.1
3
+ version: 1.8.0
4
4
  description: Use when executing a wave of external implementation plans as a wrapper OAT project — scaffolding, drift refresh, parallel worktree groups, briefs, gates, merge choreography, and closeout.
5
5
  argument-hint: '<wave-id> [plan-names...] (e.g. wave-2 http-listener-before-indexing ...)'
6
6
  disable-model-invocation: false
@@ -411,24 +411,17 @@ exactly:
411
411
  `schemaVersion, generatedAt, mode, freshnessPolicy, sources, claims, unresolvedClaims, overrides`.
412
412
 
413
413
  The caller also owns CONTENT AUTHORING, exactly as it owns critic execution and
414
- fact-base synthesis: the kit's pipeline validates structure and fact
415
- consistency, but nothing in it owns prose quality. An unattended recap run
416
- without a caller-supplied authoring path emits raw federated artifact text as
417
- deck prose (stoa W6 live evidence, run-19af6e55: implementation.md pasted
418
- verbatim, frontmatter included, tables flattened to run-on prose every
419
- automated gate passed it). The explainer-kit now enforces this seam: every
420
- unattended run requires exactly one provider-neutral author seam in-process
421
- callers supply an `author(request)` callback; JSON/CLI callers supply
422
- `authorModulePath` naming a module with an `author` function export. The core
423
- invokes it once per recipe artifact with an `explainer-kit.author-request/v1`
424
- document and expects an `explainer-kit.author-result/v1` reply; runs fail if
425
- the author is absent, returns an invalid result, or copies excessive verbatim
426
- source text. Recap callers MUST satisfy that seam by authoring content from
427
- the synthesized fact base plus the recipe outline (LLM-authored from
428
- summary/synthesis material, as the operator-approved W6 rebuild demonstrates)
429
- or NOT run the unattended build, recording the skip disposition per the
430
- optional-step rule. Callbacks and module paths never enter the persisted run
431
- request.
414
+ fact-base synthesis: the kit validates structure and fact consistency, but
415
+ nothing in it owns prose quality. Every recap run requires exactly one
416
+ provider-neutral author seam in-process callers supply an `author(request)`
417
+ callback; JSON/CLI callers supply `authorModulePath` naming a module with an
418
+ `author` function export. The core invokes it for every floor and accepted
419
+ expansion artifact with `author-request/v2`: the artifact brief is inlined,
420
+ the fact base is attached, and artistic requests include the resolved theme
421
+ and hash-pinned shell. Authors may propose only recipe-declared expansion
422
+ profiles and return `author-result/v2`; runs fail on absent or invalid author
423
+ results or excessive verbatim source copying. Callbacks and module paths never
424
+ enter persisted run requests.
432
425
 
433
426
  The mechanical caller constructs an `explainer-kit.run-request/v1` document whose
434
427
  required keys are exactly:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-wave-program
3
- version: 1.3.1
3
+ version: 1.4.0
4
4
  description: Use when decomposing a corpus of external implementation plans into an ordered wave program — coverage inventory, dependency mapping, wave composition, and the durable execution-program artifact that oat-wave-execute consumes and updates.
5
5
  argument-hint: '[new|refresh|wave-close <wave-id>] (default: refresh against the current artifact)'
6
6
  disable-model-invocation: false
@@ -136,18 +136,17 @@ required keys are exactly:
136
136
  `schemaVersion, generatedAt, mode, freshnessPolicy, sources, claims, unresolvedClaims, overrides`.
137
137
 
138
138
  The caller also owns CONTENT AUTHORING, exactly as it owns critic execution and
139
- fact-base synthesis: the kit's pipeline validates structure and fact
140
- consistency, but nothing in it owns prose quality. An unattended recap run
141
- without a caller-supplied authoring path emits raw federated artifact text as
142
- deck prose (stoa W6 live evidence, run-19af6e55: implementation.md pasted
143
- verbatim, frontmatter included, tables flattened to run-on prose every
144
- automated gate passed it). Until the explainer-kit ships its authoring seam (a
145
- caller-supplied author callback / `authorModulePath`, pending upstream),
146
- wave-close/program-close recap callers MUST either author the content document
147
- from the synthesized fact base plus the recipe outline (LLM-authored from
148
- summary/synthesis material, as the operator-approved W6 rebuild demonstrates)
149
- or NOT run the unattended build, recording the skip disposition per the
150
- optional-step rule.
139
+ fact-base synthesis: the kit validates structure and fact consistency, but
140
+ nothing in it owns prose quality. Every recap run requires exactly one
141
+ provider-neutral author seam in-process callers supply an `author(request)`
142
+ callback; JSON/CLI callers supply `authorModulePath` naming a module with an
143
+ `author` function export. The core invokes it for every floor and accepted
144
+ expansion artifact with `author-request/v2`: the artifact brief is inlined,
145
+ the fact base is attached, and artistic requests include the resolved theme
146
+ and hash-pinned shell. Authors may propose only recipe-declared expansion
147
+ profiles and return `author-result/v2`; runs fail on absent or invalid author
148
+ results or excessive verbatim source copying. Callbacks and module paths never
149
+ enter persisted run requests.
151
150
 
152
151
  The mechanical caller constructs an `explainer-kit.run-request/v1` document whose
153
152
  required keys are exactly:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-agent-toolkit/cli",
3
- "version": "0.2.20",
3
+ "version": "0.2.21",
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",
@@ -34,7 +34,7 @@
34
34
  "ora": "^9.0.0",
35
35
  "yaml": "2.8.2",
36
36
  "zod": "^3.25.76",
37
- "@open-agent-toolkit/control-plane": "0.2.20"
37
+ "@open-agent-toolkit/control-plane": "0.2.21"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^22.10.0",
@@ -1,85 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "explainer-kit.author-request/v1",
4
- "title": "AuthorRequestV1",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": [
8
- "schemaVersion",
9
- "run",
10
- "recipe",
11
- "artifact",
12
- "narrativeOutline",
13
- "factBase",
14
- "discovery"
15
- ],
16
- "properties": {
17
- "schemaVersion": { "const": "explainer-kit.author-request/v1" },
18
- "run": {
19
- "type": "object",
20
- "additionalProperties": false,
21
- "required": ["runId", "slug"],
22
- "properties": {
23
- "runId": { "type": "string", "minLength": 1 },
24
- "slug": {
25
- "type": "string",
26
- "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
27
- }
28
- }
29
- },
30
- "recipe": {
31
- "type": "object",
32
- "additionalProperties": false,
33
- "required": ["id", "version", "requiredNarrative"],
34
- "properties": {
35
- "id": { "type": "string", "minLength": 1 },
36
- "version": { "type": "string", "minLength": 1 },
37
- "requiredNarrative": {
38
- "type": "array",
39
- "items": { "type": "string", "minLength": 1 },
40
- "minItems": 1,
41
- "uniqueItems": true
42
- }
43
- }
44
- },
45
- "artifact": {
46
- "type": "object",
47
- "additionalProperties": false,
48
- "required": ["id", "type"],
49
- "properties": {
50
- "id": { "type": "string", "minLength": 1 },
51
- "type": { "enum": ["hub", "diagram", "explainer", "deck", "catalog"] }
52
- }
53
- },
54
- "narrativeOutline": {
55
- "type": "array",
56
- "items": {
57
- "type": "object",
58
- "additionalProperties": false,
59
- "required": ["id", "title"],
60
- "properties": {
61
- "id": { "type": "string", "minLength": 1 },
62
- "title": { "type": "string", "minLength": 1 }
63
- }
64
- },
65
- "minItems": 1,
66
- "uniqueItems": true
67
- },
68
- "factBase": { "$ref": "explainer-kit.fact-base/v1" },
69
- "discovery": {
70
- "type": "object",
71
- "additionalProperties": false,
72
- "required": ["rounds", "findings", "reason"],
73
- "properties": {
74
- "rounds": { "type": "integer", "minimum": 0 },
75
- "findings": {
76
- "type": "array",
77
- "items": { "type": "string", "minLength": 1 }
78
- },
79
- "reason": {
80
- "enum": ["not-requested", "two-empty-rounds", "hard-maximum"]
81
- }
82
- }
83
- }
84
- }
85
- }
@@ -1,65 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "explainer-kit.author-result/v1",
4
- "title": "AuthorResultV1",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": ["schemaVersion", "artifactId", "content", "provenance"],
8
- "properties": {
9
- "schemaVersion": { "const": "explainer-kit.author-result/v1" },
10
- "artifactId": { "type": "string", "minLength": 1 },
11
- "content": {
12
- "type": "object",
13
- "additionalProperties": false,
14
- "required": ["title", "description", "sections"],
15
- "properties": {
16
- "title": { "type": "string", "minLength": 1 },
17
- "description": { "type": "string", "minLength": 1 },
18
- "eyebrow": { "type": "string", "minLength": 1 },
19
- "footer": { "type": "string", "minLength": 1 },
20
- "sections": {
21
- "type": "array",
22
- "items": {
23
- "type": "object",
24
- "additionalProperties": false,
25
- "required": ["id", "title", "prose"],
26
- "properties": {
27
- "id": { "type": "string", "minLength": 1 },
28
- "title": { "type": "string", "minLength": 1 },
29
- "prose": { "type": "string", "minLength": 1 }
30
- }
31
- },
32
- "minItems": 1,
33
- "uniqueItems": true
34
- },
35
- "artifactLinks": {
36
- "type": "array",
37
- "items": {
38
- "type": "object",
39
- "additionalProperties": false,
40
- "required": ["id", "type", "label"],
41
- "properties": {
42
- "id": { "type": "string", "minLength": 1 },
43
- "type": {
44
- "enum": ["hub", "diagram", "explainer", "deck", "catalog"]
45
- },
46
- "label": { "type": "string", "minLength": 1 }
47
- }
48
- },
49
- "uniqueItems": true
50
- }
51
- }
52
- },
53
- "provenance": {
54
- "type": "object",
55
- "additionalProperties": false,
56
- "required": ["authorId", "generatedAt"],
57
- "properties": {
58
- "authorId": { "type": "string", "minLength": 1 },
59
- "generatedAt": { "type": "string", "format": "date-time" },
60
- "method": { "type": "string", "minLength": 1 },
61
- "model": { "type": "string", "minLength": 1 }
62
- }
63
- }
64
- }
65
- }