@tiic-tech/openworkflow 0.1.0 → 0.1.2

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 (217) hide show
  1. package/README.md +10 -0
  2. package/dist/adapters/codex/src/cleanCodexAdapter.d.ts +7 -0
  3. package/dist/adapters/codex/src/cleanCodexAdapter.js +99 -0
  4. package/dist/adapters/codex/src/cleanCodexAdapter.js.map +1 -0
  5. package/dist/adapters/codex/src/constants.d.ts +1 -0
  6. package/dist/adapters/codex/src/constants.js +2 -0
  7. package/dist/adapters/codex/src/constants.js.map +1 -0
  8. package/dist/adapters/codex/src/generateCommands.js +14 -9
  9. package/dist/adapters/codex/src/generateCommands.js.map +1 -1
  10. package/dist/adapters/codex/src/generateSkills.js +13 -0
  11. package/dist/adapters/codex/src/generateSkills.js.map +1 -1
  12. package/dist/adapters/codex/src/generatedFiles.js +1 -1
  13. package/dist/adapters/codex/src/manifest.js +11 -2
  14. package/dist/adapters/codex/src/manifest.js.map +1 -1
  15. package/dist/adapters/codex/src/templates.d.ts +0 -1
  16. package/dist/adapters/codex/src/templates.js +0 -1
  17. package/dist/adapters/codex/src/templates.js.map +1 -1
  18. package/dist/adapters/src/registry.d.ts +20 -0
  19. package/dist/adapters/src/registry.js +81 -0
  20. package/dist/adapters/src/registry.js.map +1 -0
  21. package/dist/cli/src/commands/brief.d.ts +46 -0
  22. package/dist/cli/src/commands/brief.js +294 -0
  23. package/dist/cli/src/commands/brief.js.map +1 -0
  24. package/dist/cli/src/commands/check.d.ts +42 -0
  25. package/dist/cli/src/commands/check.js +326 -0
  26. package/dist/cli/src/commands/check.js.map +1 -0
  27. package/dist/cli/src/commands/clean.d.ts +1 -0
  28. package/dist/cli/src/commands/clean.js +98 -0
  29. package/dist/cli/src/commands/clean.js.map +1 -0
  30. package/dist/cli/src/commands/context.d.ts +1 -0
  31. package/dist/cli/src/commands/context.js +471 -0
  32. package/dist/cli/src/commands/context.js.map +1 -0
  33. package/dist/cli/src/commands/doctor.js +122 -12
  34. package/dist/cli/src/commands/doctor.js.map +1 -1
  35. package/dist/cli/src/commands/draft.d.ts +1 -0
  36. package/dist/cli/src/commands/draft.js +175 -0
  37. package/dist/cli/src/commands/draft.js.map +1 -0
  38. package/dist/cli/src/commands/gitAutomation.d.ts +1 -0
  39. package/dist/cli/src/commands/gitAutomation.js +378 -0
  40. package/dist/cli/src/commands/gitAutomation.js.map +1 -0
  41. package/dist/cli/src/commands/handoff.d.ts +22 -0
  42. package/dist/cli/src/commands/handoff.js +122 -0
  43. package/dist/cli/src/commands/handoff.js.map +1 -0
  44. package/dist/cli/src/commands/init.js +52 -1
  45. package/dist/cli/src/commands/init.js.map +1 -1
  46. package/dist/cli/src/commands/inspect.d.ts +23 -0
  47. package/dist/cli/src/commands/inspect.js +157 -0
  48. package/dist/cli/src/commands/inspect.js.map +1 -0
  49. package/dist/cli/src/commands/register.d.ts +1 -0
  50. package/dist/cli/src/commands/register.js +251 -0
  51. package/dist/cli/src/commands/register.js.map +1 -0
  52. package/dist/cli/src/commands/resume.d.ts +59 -0
  53. package/dist/cli/src/commands/resume.js +280 -0
  54. package/dist/cli/src/commands/resume.js.map +1 -0
  55. package/dist/cli/src/commands/shared.js +6 -2
  56. package/dist/cli/src/commands/shared.js.map +1 -1
  57. package/dist/cli/src/commands/summaries.d.ts +1 -0
  58. package/dist/cli/src/commands/summaries.js +77 -0
  59. package/dist/cli/src/commands/summaries.js.map +1 -0
  60. package/dist/cli/src/commands/summarize.d.ts +1 -0
  61. package/dist/cli/src/commands/summarize.js +316 -0
  62. package/dist/cli/src/commands/summarize.js.map +1 -0
  63. package/dist/cli/src/commands/sync.js +135 -12
  64. package/dist/cli/src/commands/sync.js.map +1 -1
  65. package/dist/cli/src/commands/validate.js +25 -1
  66. package/dist/cli/src/commands/validate.js.map +1 -1
  67. package/dist/cli/src/dev/verifyAgentE2E.d.ts +2 -0
  68. package/dist/cli/src/dev/verifyAgentE2E.js +391 -0
  69. package/dist/cli/src/dev/verifyAgentE2E.js.map +1 -0
  70. package/dist/cli/src/dev/verifyCleanCommand.d.ts +2 -0
  71. package/dist/cli/src/dev/verifyCleanCommand.js +338 -0
  72. package/dist/cli/src/dev/verifyCleanCommand.js.map +1 -0
  73. package/dist/cli/src/dev/verifyRuntimeSurface.js +4940 -54
  74. package/dist/cli/src/dev/verifyRuntimeSurface.js.map +1 -1
  75. package/dist/cli/src/dev/verifyWorkflowE2E.js +477 -45
  76. package/dist/cli/src/dev/verifyWorkflowE2E.js.map +1 -1
  77. package/dist/cli/src/index.js +189 -5
  78. package/dist/cli/src/index.js.map +1 -1
  79. package/dist/cli/src/report.d.ts +26 -0
  80. package/dist/cli/src/report.js +17 -0
  81. package/dist/cli/src/report.js.map +1 -0
  82. package/dist/core/src/artifacts/readiness.d.ts +7 -0
  83. package/dist/core/src/artifacts/readiness.js +240 -0
  84. package/dist/core/src/artifacts/readiness.js.map +1 -0
  85. package/dist/core/src/artifacts/registry.d.ts +9 -2
  86. package/dist/core/src/artifacts/registry.js +687 -60
  87. package/dist/core/src/artifacts/registry.js.map +1 -1
  88. package/dist/core/src/commands/registry.js +1425 -146
  89. package/dist/core/src/commands/registry.js.map +1 -1
  90. package/dist/core/src/contracts/index.d.ts +1 -1
  91. package/dist/core/src/fs/index.d.ts +24 -0
  92. package/dist/core/src/fs/index.js +48 -1
  93. package/dist/core/src/fs/index.js.map +1 -1
  94. package/dist/core/src/git/autonomousSimulator.d.ts +46 -0
  95. package/dist/core/src/git/autonomousSimulator.js +163 -0
  96. package/dist/core/src/git/autonomousSimulator.js.map +1 -0
  97. package/dist/core/src/git/branchIdentity.d.ts +19 -0
  98. package/dist/core/src/git/branchIdentity.js +75 -0
  99. package/dist/core/src/git/branchIdentity.js.map +1 -0
  100. package/dist/core/src/git/draftPrPilot.d.ts +47 -0
  101. package/dist/core/src/git/draftPrPilot.js +196 -0
  102. package/dist/core/src/git/draftPrPilot.js.map +1 -0
  103. package/dist/core/src/git/localEvidenceReader.d.ts +21 -0
  104. package/dist/core/src/git/localEvidenceReader.js +142 -0
  105. package/dist/core/src/git/localEvidenceReader.js.map +1 -0
  106. package/dist/core/src/git/localGitAutomation.d.ts +68 -0
  107. package/dist/core/src/git/localGitAutomation.js +470 -0
  108. package/dist/core/src/git/localGitAutomation.js.map +1 -0
  109. package/dist/core/src/git/mergeReadinessCheckpoint.d.ts +31 -0
  110. package/dist/core/src/git/mergeReadinessCheckpoint.js +110 -0
  111. package/dist/core/src/git/mergeReadinessCheckpoint.js.map +1 -0
  112. package/dist/core/src/git/prReadySummary.d.ts +16 -0
  113. package/dist/core/src/git/prReadySummary.js +144 -0
  114. package/dist/core/src/git/prReadySummary.js.map +1 -0
  115. package/dist/core/src/git/remoteReadonlyPlanner.d.ts +60 -0
  116. package/dist/core/src/git/remoteReadonlyPlanner.js +223 -0
  117. package/dist/core/src/git/remoteReadonlyPlanner.js.map +1 -0
  118. package/dist/core/src/onboarding/agentsGuide.d.ts +32 -0
  119. package/dist/core/src/onboarding/agentsGuide.js +164 -0
  120. package/dist/core/src/onboarding/agentsGuide.js.map +1 -0
  121. package/dist/core/src/validators/validateOpenWorkflow.js +1331 -15
  122. package/dist/core/src/validators/validateOpenWorkflow.js.map +1 -1
  123. package/dist/core/src/validators/validateRepositoryContracts.js +2327 -306
  124. package/dist/core/src/validators/validateRepositoryContracts.js.map +1 -1
  125. package/dist/core/src/workflow/cleanOpenWorkflow.d.ts +18 -0
  126. package/dist/core/src/workflow/cleanOpenWorkflow.js +124 -0
  127. package/dist/core/src/workflow/cleanOpenWorkflow.js.map +1 -0
  128. package/dist/core/src/workflow/doctorOpenWorkflow.d.ts +7 -0
  129. package/dist/core/src/workflow/doctorOpenWorkflow.js +26 -0
  130. package/dist/core/src/workflow/doctorOpenWorkflow.js.map +1 -0
  131. package/dist/core/src/workflow/initOpenWorkflow.d.ts +7 -0
  132. package/dist/core/src/workflow/initOpenWorkflow.js +96 -8
  133. package/dist/core/src/workflow/initOpenWorkflow.js.map +1 -1
  134. package/dist/core/src/workflow/planningQueueResume.d.ts +105 -0
  135. package/dist/core/src/workflow/planningQueueResume.js +596 -0
  136. package/dist/core/src/workflow/planningQueueResume.js.map +1 -0
  137. package/dist/core/src/workflow/readWorkflowConfig.d.ts +6 -0
  138. package/dist/core/src/workflow/readWorkflowConfig.js +28 -0
  139. package/dist/core/src/workflow/readWorkflowConfig.js.map +1 -0
  140. package/dist/core/src/workflow/summaryHealth.d.ts +60 -0
  141. package/dist/core/src/workflow/summaryHealth.js +713 -0
  142. package/dist/core/src/workflow/summaryHealth.js.map +1 -0
  143. package/dist/core/src/workflow/syncOpenWorkflow.d.ts +22 -0
  144. package/dist/core/src/workflow/syncOpenWorkflow.js +235 -0
  145. package/dist/core/src/workflow/syncOpenWorkflow.js.map +1 -0
  146. package/package.json +4 -2
  147. package/references/artifact-authoring-templates.md +14 -12
  148. package/references/artifact-instruction-envelope.md +133 -0
  149. package/references/coder-continuous-growth-loop.md +68 -0
  150. package/references/gh-operation-governance.md +114 -0
  151. package/references/git-automation-governance.md +324 -0
  152. package/references/git-version-control-governance.md +227 -0
  153. package/references/internal-coder-protocol.md +202 -0
  154. package/references/issue-governance.md +115 -0
  155. package/references/planning-artifact-contracts.md +595 -0
  156. package/references/planning-skill-runtime-exposure.md +159 -0
  157. package/references/proto-redesign-artifact-contracts.md +217 -0
  158. package/references/proto2html-artifact-contracts.md +113 -0
  159. package/references/skill-system-lifecycle.md +198 -0
  160. package/references/validation-trust-domains.md +286 -0
  161. package/references/workflow-blueprint-runtime-alignment.md +287 -0
  162. package/schemas/atom-tasks.schema.json +101 -0
  163. package/schemas/candidate-changes.schema.json +323 -0
  164. package/schemas/current-state.schema.json +113 -0
  165. package/schemas/html-prototype.schema.json +288 -0
  166. package/schemas/openworkflow-contract.schema.json +9 -1
  167. package/schemas/proto-prompt-pack.schema.json +1333 -0
  168. package/schemas/prototype-evidence.schema.json +684 -142
  169. package/schemas/selected-change.schema.json +104 -0
  170. package/schemas/validation-target.schema.json +187 -1
  171. package/schemas/validation.schema.json +187 -1
  172. package/schemas/vision-session.schema.json +151 -0
  173. package/skills/analyze-changes/SKILL.md +92 -0
  174. package/skills/analyze-changes/agents/openai.yaml +4 -0
  175. package/skills/analyze-changes/references/analysis-protocol.md +116 -0
  176. package/skills/build-proto-prompt/SKILL.md +125 -0
  177. package/skills/build-proto-prompt/references/output-boundary.md +54 -0
  178. package/skills/build-proto-prompt/references/prompt-pack-compiler-protocol.md +80 -0
  179. package/skills/build-prototype/SKILL.md +162 -38
  180. package/skills/build-prototype/agents/openai.yaml +2 -2
  181. package/skills/build-prototype/references/philosophy-engine.md +61 -0
  182. package/skills/build-prototype/references/strategic-prompt-pack-protocol.md +365 -0
  183. package/skills/build-prototype/references/vision2prompt/01_input_contract.md +84 -0
  184. package/skills/build-prototype/references/vision2prompt/02_vision_decomposition.md +108 -0
  185. package/skills/build-prototype/references/vision2prompt/03_strategy_hypothesis_generation.md +89 -0
  186. package/skills/build-prototype/references/vision2prompt/04_product_system_extraction.md +78 -0
  187. package/skills/build-prototype/references/vision2prompt/05_prototype_prompt_schema.md +189 -0
  188. package/skills/build-prototype/references/vision2prompt/06_output_templates.md +125 -0
  189. package/skills/build-prototype/references/vision2prompt/07_quality_rubric.md +171 -0
  190. package/skills/build-validation/SKILL.md +136 -54
  191. package/skills/build-validation/references/prototype-validation-target-rubric.md +35 -0
  192. package/skills/build-validation/references/return-to-vision-gate.md +32 -0
  193. package/skills/build-vision/SKILL.md +192 -0
  194. package/skills/build-vision/references/proto-readiness-rubric.md +48 -0
  195. package/skills/build-vision/references/vision-interview-protocol.md +48 -0
  196. package/skills/coder/SKILL.md +204 -0
  197. package/skills/decompose-to-changes/SKILL.md +176 -0
  198. package/skills/decompose-to-changes/agents/openai.yaml +4 -0
  199. package/skills/decompose-to-changes/references/decomposition-protocol.md +278 -0
  200. package/skills/prompt2proto/SKILL.md +157 -0
  201. package/skills/prompt2proto/agents/openai.yaml +4 -0
  202. package/skills/prompt2proto/references/00_role_philosophy_engine.md +96 -0
  203. package/skills/prompt2proto/references/01_input_contract.md +53 -0
  204. package/skills/prompt2proto/references/02_prompt_pack_readiness.md +50 -0
  205. package/skills/prompt2proto/references/03_visual_translation_workflow.md +64 -0
  206. package/skills/prompt2proto/references/04_output_contract.md +67 -0
  207. package/skills/prompt2proto/references/05_quality_rubric.md +46 -0
  208. package/skills/proto2html/SKILL.md +136 -0
  209. package/skills/proto2html/agents/openai.yaml +4 -0
  210. package/skills/proto2html/references/proto2html-protocol.md +115 -0
  211. package/skills/run-team/SKILL.md +4 -0
  212. package/skills/select-change/SKILL.md +200 -0
  213. package/skills/select-change/agents/openai.yaml +4 -0
  214. package/skills/select-change/references/selection-protocol.md +281 -0
  215. package/skills/tune-prototype/SKILL.md +121 -0
  216. package/skills/tune-prototype/agents/openai.yaml +4 -0
  217. package/skills/tune-prototype/references/refined-prompt-pack-protocol.md +161 -0
package/README.md CHANGED
@@ -20,6 +20,15 @@ openworkflow init . --tools codex
20
20
  openworkflow sync --root . --tools codex
21
21
  openworkflow doctor --root . --tools codex
22
22
  openworkflow validate --root .
23
+ openworkflow clean --root . --tools codex
24
+ ```
25
+
26
+ `openworkflow clean` removes project-local OpenWorkflow files after a dry-run.
27
+ Use `openworkflow clean --root . --tools codex --yes` to remove generated
28
+ project files. To remove the global CLI package itself, use:
29
+
30
+ ```bash
31
+ npm uninstall -g @tiic-tech/openworkflow
23
32
  ```
24
33
 
25
34
  ## Release Checks
@@ -30,6 +39,7 @@ Before publishing, run:
30
39
  npm run validate
31
40
  npm run verify:runtime-surface
32
41
  npm run verify:e2e-workflow
42
+ npm run verify:clean
33
43
  npm pack --dry-run
34
44
  ```
35
45
 
@@ -0,0 +1,7 @@
1
+ import type { CleanResult } from "../../../core/src/workflow/cleanOpenWorkflow.js";
2
+ export interface CleanCodexOptions {
3
+ root: string;
4
+ yes: boolean;
5
+ force: boolean;
6
+ }
7
+ export declare function cleanCodexAdapter(options: CleanCodexOptions): Promise<CleanResult>;
@@ -0,0 +1,99 @@
1
+ import { readdir, rm, rmdir, stat } from "node:fs/promises";
2
+ import { dirname, join } from "node:path";
3
+ import { isNotFound, readTextFile } from "../../../core/src/fs/index.js";
4
+ import { CODEX_MANIFEST_PATH, LEGACY_CODEX_MANIFEST_PATHS } from "./manifest.js";
5
+ import { getCodexTemplates } from "./templates.js";
6
+ import { hasGeneratedMarker } from "./generatedFiles.js";
7
+ import { legacyCodexCommandPaths } from "./generateCommands.js";
8
+ import { legacyCodexSkillPaths } from "./generateSkills.js";
9
+ export async function cleanCodexAdapter(options) {
10
+ const dryRun = !options.yes;
11
+ const planned = [];
12
+ const removed = [];
13
+ const updated = [];
14
+ const skipped = [];
15
+ const preserved = [];
16
+ const warnings = [];
17
+ for (const relativePath of cleanCandidatePaths()) {
18
+ const path = join(options.root, relativePath);
19
+ const content = await readIfFile(path);
20
+ if (content === null) {
21
+ continue;
22
+ }
23
+ if (!options.force && !hasGeneratedMarker(content)) {
24
+ skipped.push(path);
25
+ preserved.push(path);
26
+ warnings.push(`Skipped non-generated file: ${path}`);
27
+ continue;
28
+ }
29
+ planned.push({ path, reason: "generated Codex adapter file" });
30
+ if (!dryRun) {
31
+ await rm(path, { force: true });
32
+ removed.push(path);
33
+ }
34
+ }
35
+ if (!dryRun) {
36
+ await pruneCodexDirs(options.root);
37
+ }
38
+ return { planned, removed, updated, skipped, preserved, warnings, dryRun };
39
+ }
40
+ function cleanCandidatePaths() {
41
+ return [
42
+ ...getCodexTemplates().map((template) => template.path),
43
+ CODEX_MANIFEST_PATH,
44
+ ...legacyCodexCommandPaths(),
45
+ ...legacyCodexSkillPaths(),
46
+ ...legacyCodexAgentPaths(),
47
+ ...LEGACY_CODEX_MANIFEST_PATHS,
48
+ ];
49
+ }
50
+ function legacyCodexAgentPaths() {
51
+ return [".codex/agents/README.md", ".codex/agents/openworkflow-orchestrator.md"];
52
+ }
53
+ async function readIfFile(path) {
54
+ try {
55
+ const info = await stat(path);
56
+ if (!info.isFile()) {
57
+ return null;
58
+ }
59
+ return readTextFile(path);
60
+ }
61
+ catch (error) {
62
+ if (isNotFound(error)) {
63
+ return null;
64
+ }
65
+ throw error;
66
+ }
67
+ }
68
+ async function pruneCodexDirs(root) {
69
+ const dirs = new Set();
70
+ for (const relativePath of cleanCandidatePaths()) {
71
+ let current = dirname(join(root, relativePath));
72
+ while (current.startsWith(join(root, ".agents")) || current.startsWith(join(root, ".codex"))) {
73
+ dirs.add(current);
74
+ const parent = dirname(current);
75
+ if (parent === current || parent === root) {
76
+ break;
77
+ }
78
+ current = parent;
79
+ }
80
+ }
81
+ const sorted = [...dirs].sort((a, b) => b.length - a.length);
82
+ for (const dir of sorted) {
83
+ await removeIfEmpty(dir);
84
+ }
85
+ }
86
+ async function removeIfEmpty(path) {
87
+ try {
88
+ const entries = await readdir(path);
89
+ if (entries.length === 0) {
90
+ await rmdir(path);
91
+ }
92
+ }
93
+ catch (error) {
94
+ if (!isNotFound(error)) {
95
+ throw error;
96
+ }
97
+ }
98
+ }
99
+ //# sourceMappingURL=cleanCodexAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanCodexAdapter.js","sourceRoot":"","sources":["../../../../packages/adapters/codex/src/cleanCodexAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const CODEX_ADAPTER_VERSION = "0.1.0";
@@ -0,0 +1,2 @@
1
+ export const CODEX_ADAPTER_VERSION = "0.1.0";
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/adapters/codex/src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC"}
@@ -94,17 +94,20 @@ ${xmlList(protocol.auditCheckpoints.after)}
94
94
  </audit_checkpoints>
95
95
 
96
96
  <working_protocol>
97
- 1. Load only the required context packet first.
98
- 2. Use optional context only when the required packet is insufficient.
99
- 3. Stay inside allowed outputs.
100
- 4. Create conditional outputs only when the current artifact explicitly names them as blockers or the user asks for that packet.
101
- 5. Stop before creating any forbidden output.
102
- 6. Record unresolved questions instead of expanding scope.
97
+ 1. Load .openworkflow/CURRENT_STATE.yaml first when present, then load only the required context packet for this command.
98
+ 2. Use optional context only when the current state, required packet, or summary/current_slice is insufficient.
99
+ 3. When an artifact contract defines summary_policy, load that summary or current_slice before the full source artifact.
100
+ 4. Stay inside allowed outputs.
101
+ 5. Create conditional outputs only when the current artifact explicitly names them as blockers or the user asks for that packet.
102
+ 6. Stop before creating any forbidden output.
103
+ 7. Record unresolved questions instead of expanding scope.
103
104
  </working_protocol>
104
105
 
105
106
  <artifact_checkpoint>
106
107
  Write durable .openworkflow artifacts only at meaningful checkpoints: stable user answers, explicit save requests, completed evidence changes, or handoff readiness.
107
108
  Do not treat artifact writing as the opening move for conversation-first commands.
109
+ When a downstream stage supersedes an older question or draft, update lifecycle status and clear stale current_question values in the affected artifacts.
110
+ Refresh CURRENT_STATE.yaml and any summary_policy target whenever current pointers, decision outcome, next command, blockers, or handoff status changes.
108
111
  </artifact_checkpoint>
109
112
 
110
113
  ${internalSectionsXml(protocol.internalSections ?? [])}
@@ -156,12 +159,14 @@ ${artifactXmlList(artifacts)}
156
159
  </artifact_contracts>
157
160
 
158
161
  <working_protocol>
159
- Load only the contract files required for this stage.
160
- Keep artifacts short, scoped, and traceable through .openworkflow/workflow/WORKFLOW_INDEX.yaml plus .openworkflow/audit/.
162
+ Load .openworkflow/CURRENT_STATE.yaml first when present, then load only the contract files required for this stage.
163
+ When an artifact contract defines summary_policy, load that summary or current_slice before the full source artifact.
164
+ Keep artifacts short, scoped, and traceable through .openworkflow/CURRENT_STATE.yaml, .openworkflow/workflow/WORKFLOW_INDEX.yaml, and .openworkflow/audit/.
161
165
  </working_protocol>
162
166
 
163
167
  <artifact_checkpoint>
164
168
  Write durable .openworkflow artifacts only at meaningful checkpoints.
169
+ Refresh CURRENT_STATE.yaml and any summary_policy target whenever current pointers, next command, blockers, or handoff status changes.
165
170
  </artifact_checkpoint>
166
171
 
167
172
  <handoff>
@@ -181,7 +186,7 @@ function artifactXmlList(artifacts) {
181
186
  return "- None";
182
187
  }
183
188
  return artifacts
184
- .map((artifact) => `- ${escapeXml(artifact.artifactType)}: template ${escapeXml(artifact.templatePath)}, source ${escapeXml(artifact.sourceOfTruthPath)}, note ${escapeXml(artifact.notePath)}, review ${escapeXml(artifact.reviewPath ?? "none")}, load_by_default ${artifact.readPolicy.loadByDefault}, max_yaml_lines ${artifact.readPolicy.maxYamlLines}`)
189
+ .map((artifact) => `- ${escapeXml(artifact.artifactType)}: template ${escapeXml(artifact.templatePath)}, source ${escapeXml(artifact.sourceOfTruthPath)}, note ${escapeXml(artifact.notePath)}, review ${escapeXml(artifact.reviewPath ?? "none")}, load_by_default ${artifact.readPolicy.loadByDefault}, max_yaml_lines ${artifact.readPolicy.maxYamlLines}${artifact.summaryPolicy ? `, summary_policy ${escapeXml(artifact.summaryPolicy.strategy)} at ${escapeXml(artifact.summaryPolicy.path)}` : ""}`)
185
190
  .join("\n");
186
191
  }
187
192
  function internalSectionsXml(sections) {
@@ -1 +1 @@
1
- {"version":3,"file":"generateCommands.js","sourceRoot":"","sources":["../../../../packages/adapters/codex/src/generateCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateCommands.js","sourceRoot":"","sources":["../../../../packages/adapters/codex/src/generateCommands.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { CODEX_ADAPTER_VERSION } from "./constants.js";
1
2
  import { getWorkflowCommands } from "../../../core/src/commands/registry.js";
2
3
  import { commandDoc } from "./generateCommands.js";
3
4
  export function generateSkillTemplates() {
@@ -28,12 +29,21 @@ export function legacyCodexSkillPaths() {
28
29
  }
29
30
  function codexSkill(command) {
30
31
  const skillName = codexSkillName(command);
32
+ const templateId = codexSkillTemplateId(command);
31
33
  const description = command.visibility === "internal"
32
34
  ? `${command.description} Internal audit skill for ${command.trigger} in OpenWorkflow repositories.`
33
35
  : `${command.description} Use this skill for ${command.trigger} in OpenWorkflow repositories.`;
34
36
  return `---
35
37
  name: ${yamlString(skillName)}
36
38
  description: ${yamlString(description)}
39
+ metadata:
40
+ generated_by: ${yamlString("openworkflow")}
41
+ adapter: ${yamlString("codex")}
42
+ adapter_version: ${yamlString(CODEX_ADAPTER_VERSION)}
43
+ template_id: ${yamlString(templateId)}
44
+ source_command_id: ${yamlString(command.id)}
45
+ semantic_trigger: ${yamlString(command.trigger)}
46
+ skill_name: ${yamlString(skillName)}
37
47
  ---
38
48
  ${commandDoc(command)}
39
49
 
@@ -44,6 +54,9 @@ ${commandDoc(command)}
44
54
  </codex_skill>
45
55
  `;
46
56
  }
57
+ function codexSkillTemplateId(command) {
58
+ return `codex.skill.${command.namespace}.${command.id}`;
59
+ }
47
60
  function codexSkillInterface(command) {
48
61
  return `interface:
49
62
  display_name: ${yamlString(displayName(command))}
@@ -1 +1 @@
1
- {"version":3,"file":"generateSkills.js","sourceRoot":"","sources":["../../../../packages/adapters/codex/src/generateSkills.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAwB,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,UAAU,sBAAsB;IACpC,OAAO,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAChD;YACE,EAAE,EAAE,eAAe,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE;YACpD,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;YAC7B,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;SAC7B;QACD;YACE,EAAE,EAAE,yBAAyB,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE;YAC9D,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC;YACtC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC;SACtC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAwB;IACrD,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAwB;IACrD,OAAO,kBAAkB,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAwB;IAC9D,OAAO,kBAAkB,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,UAAU,CAAC,OAAwB;IAC1C,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,WAAW,GACf,OAAO,CAAC,UAAU,KAAK,UAAU;QAC/B,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,6BAA6B,OAAO,CAAC,OAAO,gCAAgC;QACpG,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,uBAAuB,OAAO,CAAC,OAAO,gCAAgC,CAAC;IACnG,OAAO;QACD,UAAU,CAAC,SAAS,CAAC;eACd,UAAU,CAAC,WAAW,CAAC;;EAEpC,UAAU,CAAC,OAAO,CAAC;;;gBAGL,SAAS;0BACC,SAAS;sBACb,OAAO,CAAC,OAAO;;CAEpC,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAwB;IACnD,OAAO;kBACS,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;uBAC3B,UAAU,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;oBACtH,UAAU,CAAC,OAAO,OAAO,CAAC,OAAO,oCAAoC,CAAC;CACzF,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,OAAwB;IAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AACtF,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"generateSkills.js","sourceRoot":"","sources":["../../../../packages/adapters/codex/src/generateSkills.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { rm } from "node:fs/promises";
2
2
  import { readTextFile, writeTextFile, isNotFound } from "../../../core/src/fs/index.js";
3
- import { CODEX_ADAPTER_VERSION } from "./templates.js";
3
+ import { CODEX_ADAPTER_VERSION } from "./constants.js";
4
4
  export function renderGeneratedFile(path, content, templateId) {
5
5
  const marker = `generated-by: openworkflow; adapter: codex; adapter-version: ${CODEX_ADAPTER_VERSION}; template-id: ${templateId}`;
6
6
  if (path.endsWith(".yaml") || path.endsWith(".yml")) {
@@ -1,8 +1,8 @@
1
1
  import { join, relative } from "node:path";
2
2
  import { COMMAND_NAMESPACE, getWorkflowCommands } from "../../../core/src/commands/registry.js";
3
3
  import { dumpYaml } from "../../../core/src/contracts/yaml.js";
4
+ import { CODEX_ADAPTER_VERSION } from "./constants.js";
4
5
  import { codexSkillInterfacePath, codexSkillName, codexSkillPath } from "./generateSkills.js";
5
- import { CODEX_ADAPTER_VERSION } from "./templates.js";
6
6
  export const CODEX_MANIFEST_PATH = ".agents/openworkflow-adapter.yaml";
7
7
  export const LEGACY_CODEX_MANIFEST_PATHS = [
8
8
  ".openworkflow/adapters/codex.yaml",
@@ -21,7 +21,16 @@ export function codexManifest(root, files) {
21
21
  directory: ".agents/skills",
22
22
  path_pattern: ".agents/skills/ow-<id>/SKILL.md",
23
23
  interface_metadata: "agents/openai.yaml",
24
- frontmatter: ["name", "description"],
24
+ frontmatter: ["name", "description", "metadata"],
25
+ metadata_fields: [
26
+ "generated_by",
27
+ "adapter",
28
+ "adapter_version",
29
+ "template_id",
30
+ "source_command_id",
31
+ "semantic_trigger",
32
+ "skill_name",
33
+ ],
25
34
  },
26
35
  commands: getWorkflowCommands().map((command) => ({
27
36
  id: command.id,
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../../packages/adapters/codex/src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,mCAAmC,CAAC;AACvE,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,mCAAmC;IACnC,kCAAkC;CAC1B,CAAC;AACX,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAE3D,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAe;IACzD,OAAO,QAAQ,CAAC;QACd,OAAO,EAAE,OAAO;QAChB,eAAe,EAAE,qBAAqB;QACtC,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,mBAAmB;QAC7B,eAAe,EAAE,eAAe;QAChC,iBAAiB,EAAE,iBAAiB;QACpC,aAAa,EAAE;YACb,SAAS,EAAE,gBAAgB;YAC3B,YAAY,EAAE,iCAAiC;YAC/C,kBAAkB,EAAE,oBAAoB;YACxC,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;SACrC;QACD,QAAQ,EAAE,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChD,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC;YACnC,mBAAmB,EAAE,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;YAClD,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC;YACnC,cAAc,EAAE,uBAAuB,CAAC,OAAO,CAAC;YAChD,eAAe,EAAE,OAAO,CAAC,cAAc;SACxC,CAAC,CAAC;QACH,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACtE,YAAY,EAAE,iCAAiC;KAChD,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../../packages/adapters/codex/src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE9F,MAAM,CAAC,MAAM,mBAAmB,GAAG,mCAAmC,CAAC;AACvE,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,mCAAmC;IACnC,kCAAkC;CAC1B,CAAC;AACX,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAE3D,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAe;IACzD,OAAO,QAAQ,CAAC;QACd,OAAO,EAAE,OAAO;QAChB,eAAe,EAAE,qBAAqB;QACtC,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,mBAAmB;QAC7B,eAAe,EAAE,eAAe;QAChC,iBAAiB,EAAE,iBAAiB;QACpC,aAAa,EAAE;YACb,SAAS,EAAE,gBAAgB;YAC3B,YAAY,EAAE,iCAAiC;YAC/C,kBAAkB,EAAE,oBAAoB;YACxC,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC;YAChD,eAAe,EAAE;gBACf,cAAc;gBACd,SAAS;gBACT,iBAAiB;gBACjB,aAAa;gBACb,mBAAmB;gBACnB,kBAAkB;gBAClB,YAAY;aACb;SACF;QACD,QAAQ,EAAE,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChD,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC;YACnC,mBAAmB,EAAE,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;YAClD,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC;YACnC,cAAc,EAAE,uBAAuB,CAAC,OAAO,CAAC;YAChD,eAAe,EAAE,OAAO,CAAC,cAAc;SACxC,CAAC,CAAC;QACH,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACtE,YAAY,EAAE,iCAAiC;KAChD,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,3 @@
1
- export declare const CODEX_ADAPTER_VERSION = "0.1.0";
2
1
  export interface CodexTemplate {
3
2
  id: string;
4
3
  path: string;
@@ -1,5 +1,4 @@
1
1
  import { generateSkillTemplates } from "./generateSkills.js";
2
- export const CODEX_ADAPTER_VERSION = "0.1.0";
3
2
  export function getCodexTemplates() {
4
3
  return generateSkillTemplates();
5
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../../packages/adapters/codex/src/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAQ7C,MAAM,UAAU,iBAAiB;IAC/B,OAAO,sBAAsB,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../../packages/adapters/codex/src/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAS7D,MAAM,UAAU,iBAAiB;IAC/B,OAAO,sBAAsB,EAAE,CAAC;AAClC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { InitOptions } from "../../core/src/contracts/index.js";
2
+ import { type AdapterDoctorResult } from "../codex/src/doctorCodexAdapter.js";
3
+ import { type AdapterResult } from "../codex/src/generateCodexAdapter.js";
4
+ export interface AdapterRegistryEntry {
5
+ id: string;
6
+ displayName: string;
7
+ detect(root: string): Promise<boolean>;
8
+ sync(options: InitOptions): Promise<AdapterResult>;
9
+ doctor(root: string): Promise<AdapterDoctorResult>;
10
+ }
11
+ export interface PlatformDetectionResult {
12
+ detected: string[];
13
+ configured: string[];
14
+ unknownConfigured: string[];
15
+ evidence: string[];
16
+ }
17
+ export declare function getAdapterRegistry(): AdapterRegistryEntry[];
18
+ export declare function getSupportedAdapterIds(): string[];
19
+ export declare function getAdapterEntry(id: string): AdapterRegistryEntry | undefined;
20
+ export declare function detectAdapterPlatforms(root: string): Promise<PlatformDetectionResult>;
@@ -0,0 +1,81 @@
1
+ import { stat } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { isNotFound } from "../../core/src/fs/index.js";
4
+ import { readWorkflowConfig } from "../../core/src/workflow/readWorkflowConfig.js";
5
+ import { doctorCodexAdapter } from "../codex/src/doctorCodexAdapter.js";
6
+ import { generateCodexAdapter } from "../codex/src/generateCodexAdapter.js";
7
+ import { CODEX_MANIFEST_PATH } from "../codex/src/manifest.js";
8
+ const REGISTRY = [
9
+ {
10
+ id: "codex",
11
+ displayName: "Codex",
12
+ detect: detectCodex,
13
+ sync: generateCodexAdapter,
14
+ doctor: doctorCodexAdapter,
15
+ },
16
+ ];
17
+ export function getAdapterRegistry() {
18
+ return [...REGISTRY];
19
+ }
20
+ export function getSupportedAdapterIds() {
21
+ return REGISTRY.map((entry) => entry.id);
22
+ }
23
+ export function getAdapterEntry(id) {
24
+ return REGISTRY.find((entry) => entry.id === id);
25
+ }
26
+ export async function detectAdapterPlatforms(root) {
27
+ const configured = (await readWorkflowConfig(root))?.tools ?? [];
28
+ const supported = new Set(getSupportedAdapterIds());
29
+ const detected = new Set();
30
+ const evidence = [];
31
+ const unknownConfigured = [];
32
+ for (const tool of configured) {
33
+ if (supported.has(tool)) {
34
+ detected.add(tool);
35
+ evidence.push(`configured tool in .openworkflow/config.yaml: ${tool}`);
36
+ }
37
+ else {
38
+ unknownConfigured.push(tool);
39
+ }
40
+ }
41
+ for (const entry of REGISTRY) {
42
+ if (detected.has(entry.id)) {
43
+ continue;
44
+ }
45
+ if (await entry.detect(root)) {
46
+ detected.add(entry.id);
47
+ evidence.push(`detected ${entry.id} adapter surface`);
48
+ }
49
+ }
50
+ return {
51
+ detected: [...detected],
52
+ configured,
53
+ unknownConfigured,
54
+ evidence,
55
+ };
56
+ }
57
+ async function detectCodex(root) {
58
+ for (const relativePath of [
59
+ CODEX_MANIFEST_PATH,
60
+ ".agents/skills/ow-vision/SKILL.md",
61
+ ".agents/skills/ow-workflow/SKILL.md",
62
+ ]) {
63
+ if (await exists(join(root, relativePath))) {
64
+ return true;
65
+ }
66
+ }
67
+ return false;
68
+ }
69
+ async function exists(path) {
70
+ try {
71
+ const info = await stat(path);
72
+ return info.isFile() || info.isDirectory();
73
+ }
74
+ catch (error) {
75
+ if (isNotFound(error)) {
76
+ return false;
77
+ }
78
+ throw error;
79
+ }
80
+ }
81
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../packages/adapters/src/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { type SummaryHealthModel } from "../../../core/src/workflow/summaryHealth.js";
2
+ export interface BriefModel {
3
+ project: {
4
+ title: string;
5
+ slug: string;
6
+ root: string;
7
+ tools: string[];
8
+ detected_tools: string[];
9
+ unknown_configured_tools: string[];
10
+ };
11
+ workflow: {
12
+ active_stage: string | null;
13
+ next_command: string | null;
14
+ blocked_by: string[];
15
+ last_decision: Record<string, unknown> | null;
16
+ };
17
+ read_this_first: string[];
18
+ active_pointers: Record<string, string | null>;
19
+ health: {
20
+ ok: boolean;
21
+ workflow: HealthSection;
22
+ adapters: Record<string, HealthSection>;
23
+ agents_md: HealthSection;
24
+ summaries: SummaryHealthModel;
25
+ recommended_maintenance: string | null;
26
+ };
27
+ git: {
28
+ available: boolean;
29
+ branch: string | null;
30
+ dirty: boolean;
31
+ changed_files: string[];
32
+ };
33
+ agent_guidance: {
34
+ recommended_next_action: string;
35
+ safe_to_modify: string[];
36
+ do_not_touch: string[];
37
+ };
38
+ }
39
+ export interface HealthSection {
40
+ ok: boolean;
41
+ warnings: string[];
42
+ errors: string[];
43
+ }
44
+ export declare function briefCommand(command: "brief" | "status", flags: Map<string, string | boolean>): Promise<number>;
45
+ export declare function healthErrorsForBrief(model: BriefModel): string[];
46
+ export declare function buildBriefModel(root: string, explicitTools: string[]): Promise<BriefModel>;