@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.
- package/README.md +10 -0
- package/dist/adapters/codex/src/cleanCodexAdapter.d.ts +7 -0
- package/dist/adapters/codex/src/cleanCodexAdapter.js +99 -0
- package/dist/adapters/codex/src/cleanCodexAdapter.js.map +1 -0
- package/dist/adapters/codex/src/constants.d.ts +1 -0
- package/dist/adapters/codex/src/constants.js +2 -0
- package/dist/adapters/codex/src/constants.js.map +1 -0
- package/dist/adapters/codex/src/generateCommands.js +14 -9
- package/dist/adapters/codex/src/generateCommands.js.map +1 -1
- package/dist/adapters/codex/src/generateSkills.js +13 -0
- package/dist/adapters/codex/src/generateSkills.js.map +1 -1
- package/dist/adapters/codex/src/generatedFiles.js +1 -1
- package/dist/adapters/codex/src/manifest.js +11 -2
- package/dist/adapters/codex/src/manifest.js.map +1 -1
- package/dist/adapters/codex/src/templates.d.ts +0 -1
- package/dist/adapters/codex/src/templates.js +0 -1
- package/dist/adapters/codex/src/templates.js.map +1 -1
- package/dist/adapters/src/registry.d.ts +20 -0
- package/dist/adapters/src/registry.js +81 -0
- package/dist/adapters/src/registry.js.map +1 -0
- package/dist/cli/src/commands/brief.d.ts +46 -0
- package/dist/cli/src/commands/brief.js +294 -0
- package/dist/cli/src/commands/brief.js.map +1 -0
- package/dist/cli/src/commands/check.d.ts +42 -0
- package/dist/cli/src/commands/check.js +326 -0
- package/dist/cli/src/commands/check.js.map +1 -0
- package/dist/cli/src/commands/clean.d.ts +1 -0
- package/dist/cli/src/commands/clean.js +98 -0
- package/dist/cli/src/commands/clean.js.map +1 -0
- package/dist/cli/src/commands/context.d.ts +1 -0
- package/dist/cli/src/commands/context.js +471 -0
- package/dist/cli/src/commands/context.js.map +1 -0
- package/dist/cli/src/commands/doctor.js +122 -12
- package/dist/cli/src/commands/doctor.js.map +1 -1
- package/dist/cli/src/commands/draft.d.ts +1 -0
- package/dist/cli/src/commands/draft.js +175 -0
- package/dist/cli/src/commands/draft.js.map +1 -0
- package/dist/cli/src/commands/gitAutomation.d.ts +1 -0
- package/dist/cli/src/commands/gitAutomation.js +378 -0
- package/dist/cli/src/commands/gitAutomation.js.map +1 -0
- package/dist/cli/src/commands/handoff.d.ts +22 -0
- package/dist/cli/src/commands/handoff.js +122 -0
- package/dist/cli/src/commands/handoff.js.map +1 -0
- package/dist/cli/src/commands/init.js +52 -1
- package/dist/cli/src/commands/init.js.map +1 -1
- package/dist/cli/src/commands/inspect.d.ts +23 -0
- package/dist/cli/src/commands/inspect.js +157 -0
- package/dist/cli/src/commands/inspect.js.map +1 -0
- package/dist/cli/src/commands/register.d.ts +1 -0
- package/dist/cli/src/commands/register.js +251 -0
- package/dist/cli/src/commands/register.js.map +1 -0
- package/dist/cli/src/commands/resume.d.ts +59 -0
- package/dist/cli/src/commands/resume.js +280 -0
- package/dist/cli/src/commands/resume.js.map +1 -0
- package/dist/cli/src/commands/shared.js +6 -2
- package/dist/cli/src/commands/shared.js.map +1 -1
- package/dist/cli/src/commands/summaries.d.ts +1 -0
- package/dist/cli/src/commands/summaries.js +77 -0
- package/dist/cli/src/commands/summaries.js.map +1 -0
- package/dist/cli/src/commands/summarize.d.ts +1 -0
- package/dist/cli/src/commands/summarize.js +316 -0
- package/dist/cli/src/commands/summarize.js.map +1 -0
- package/dist/cli/src/commands/sync.js +135 -12
- package/dist/cli/src/commands/sync.js.map +1 -1
- package/dist/cli/src/commands/validate.js +25 -1
- package/dist/cli/src/commands/validate.js.map +1 -1
- package/dist/cli/src/dev/verifyAgentE2E.d.ts +2 -0
- package/dist/cli/src/dev/verifyAgentE2E.js +391 -0
- package/dist/cli/src/dev/verifyAgentE2E.js.map +1 -0
- package/dist/cli/src/dev/verifyCleanCommand.d.ts +2 -0
- package/dist/cli/src/dev/verifyCleanCommand.js +338 -0
- package/dist/cli/src/dev/verifyCleanCommand.js.map +1 -0
- package/dist/cli/src/dev/verifyRuntimeSurface.js +4940 -54
- package/dist/cli/src/dev/verifyRuntimeSurface.js.map +1 -1
- package/dist/cli/src/dev/verifyWorkflowE2E.js +477 -45
- package/dist/cli/src/dev/verifyWorkflowE2E.js.map +1 -1
- package/dist/cli/src/index.js +189 -5
- package/dist/cli/src/index.js.map +1 -1
- package/dist/cli/src/report.d.ts +26 -0
- package/dist/cli/src/report.js +17 -0
- package/dist/cli/src/report.js.map +1 -0
- package/dist/core/src/artifacts/readiness.d.ts +7 -0
- package/dist/core/src/artifacts/readiness.js +240 -0
- package/dist/core/src/artifacts/readiness.js.map +1 -0
- package/dist/core/src/artifacts/registry.d.ts +9 -2
- package/dist/core/src/artifacts/registry.js +687 -60
- package/dist/core/src/artifacts/registry.js.map +1 -1
- package/dist/core/src/commands/registry.js +1425 -146
- package/dist/core/src/commands/registry.js.map +1 -1
- package/dist/core/src/contracts/index.d.ts +1 -1
- package/dist/core/src/fs/index.d.ts +24 -0
- package/dist/core/src/fs/index.js +48 -1
- package/dist/core/src/fs/index.js.map +1 -1
- package/dist/core/src/git/autonomousSimulator.d.ts +46 -0
- package/dist/core/src/git/autonomousSimulator.js +163 -0
- package/dist/core/src/git/autonomousSimulator.js.map +1 -0
- package/dist/core/src/git/branchIdentity.d.ts +19 -0
- package/dist/core/src/git/branchIdentity.js +75 -0
- package/dist/core/src/git/branchIdentity.js.map +1 -0
- package/dist/core/src/git/draftPrPilot.d.ts +47 -0
- package/dist/core/src/git/draftPrPilot.js +196 -0
- package/dist/core/src/git/draftPrPilot.js.map +1 -0
- package/dist/core/src/git/localEvidenceReader.d.ts +21 -0
- package/dist/core/src/git/localEvidenceReader.js +142 -0
- package/dist/core/src/git/localEvidenceReader.js.map +1 -0
- package/dist/core/src/git/localGitAutomation.d.ts +68 -0
- package/dist/core/src/git/localGitAutomation.js +470 -0
- package/dist/core/src/git/localGitAutomation.js.map +1 -0
- package/dist/core/src/git/mergeReadinessCheckpoint.d.ts +31 -0
- package/dist/core/src/git/mergeReadinessCheckpoint.js +110 -0
- package/dist/core/src/git/mergeReadinessCheckpoint.js.map +1 -0
- package/dist/core/src/git/prReadySummary.d.ts +16 -0
- package/dist/core/src/git/prReadySummary.js +144 -0
- package/dist/core/src/git/prReadySummary.js.map +1 -0
- package/dist/core/src/git/remoteReadonlyPlanner.d.ts +60 -0
- package/dist/core/src/git/remoteReadonlyPlanner.js +223 -0
- package/dist/core/src/git/remoteReadonlyPlanner.js.map +1 -0
- package/dist/core/src/onboarding/agentsGuide.d.ts +32 -0
- package/dist/core/src/onboarding/agentsGuide.js +164 -0
- package/dist/core/src/onboarding/agentsGuide.js.map +1 -0
- package/dist/core/src/validators/validateOpenWorkflow.js +1331 -15
- package/dist/core/src/validators/validateOpenWorkflow.js.map +1 -1
- package/dist/core/src/validators/validateRepositoryContracts.js +2327 -306
- package/dist/core/src/validators/validateRepositoryContracts.js.map +1 -1
- package/dist/core/src/workflow/cleanOpenWorkflow.d.ts +18 -0
- package/dist/core/src/workflow/cleanOpenWorkflow.js +124 -0
- package/dist/core/src/workflow/cleanOpenWorkflow.js.map +1 -0
- package/dist/core/src/workflow/doctorOpenWorkflow.d.ts +7 -0
- package/dist/core/src/workflow/doctorOpenWorkflow.js +26 -0
- package/dist/core/src/workflow/doctorOpenWorkflow.js.map +1 -0
- package/dist/core/src/workflow/initOpenWorkflow.d.ts +7 -0
- package/dist/core/src/workflow/initOpenWorkflow.js +96 -8
- package/dist/core/src/workflow/initOpenWorkflow.js.map +1 -1
- package/dist/core/src/workflow/planningQueueResume.d.ts +105 -0
- package/dist/core/src/workflow/planningQueueResume.js +596 -0
- package/dist/core/src/workflow/planningQueueResume.js.map +1 -0
- package/dist/core/src/workflow/readWorkflowConfig.d.ts +6 -0
- package/dist/core/src/workflow/readWorkflowConfig.js +28 -0
- package/dist/core/src/workflow/readWorkflowConfig.js.map +1 -0
- package/dist/core/src/workflow/summaryHealth.d.ts +60 -0
- package/dist/core/src/workflow/summaryHealth.js +713 -0
- package/dist/core/src/workflow/summaryHealth.js.map +1 -0
- package/dist/core/src/workflow/syncOpenWorkflow.d.ts +22 -0
- package/dist/core/src/workflow/syncOpenWorkflow.js +235 -0
- package/dist/core/src/workflow/syncOpenWorkflow.js.map +1 -0
- package/package.json +4 -2
- package/references/artifact-authoring-templates.md +14 -12
- package/references/artifact-instruction-envelope.md +133 -0
- package/references/coder-continuous-growth-loop.md +68 -0
- package/references/gh-operation-governance.md +114 -0
- package/references/git-automation-governance.md +324 -0
- package/references/git-version-control-governance.md +227 -0
- package/references/internal-coder-protocol.md +202 -0
- package/references/issue-governance.md +115 -0
- package/references/planning-artifact-contracts.md +595 -0
- package/references/planning-skill-runtime-exposure.md +159 -0
- package/references/proto-redesign-artifact-contracts.md +217 -0
- package/references/proto2html-artifact-contracts.md +113 -0
- package/references/skill-system-lifecycle.md +198 -0
- package/references/validation-trust-domains.md +286 -0
- package/references/workflow-blueprint-runtime-alignment.md +287 -0
- package/schemas/atom-tasks.schema.json +101 -0
- package/schemas/candidate-changes.schema.json +323 -0
- package/schemas/current-state.schema.json +113 -0
- package/schemas/html-prototype.schema.json +288 -0
- package/schemas/openworkflow-contract.schema.json +9 -1
- package/schemas/proto-prompt-pack.schema.json +1333 -0
- package/schemas/prototype-evidence.schema.json +684 -142
- package/schemas/selected-change.schema.json +104 -0
- package/schemas/validation-target.schema.json +187 -1
- package/schemas/validation.schema.json +187 -1
- package/schemas/vision-session.schema.json +151 -0
- package/skills/analyze-changes/SKILL.md +92 -0
- package/skills/analyze-changes/agents/openai.yaml +4 -0
- package/skills/analyze-changes/references/analysis-protocol.md +116 -0
- package/skills/build-proto-prompt/SKILL.md +125 -0
- package/skills/build-proto-prompt/references/output-boundary.md +54 -0
- package/skills/build-proto-prompt/references/prompt-pack-compiler-protocol.md +80 -0
- package/skills/build-prototype/SKILL.md +162 -38
- package/skills/build-prototype/agents/openai.yaml +2 -2
- package/skills/build-prototype/references/philosophy-engine.md +61 -0
- package/skills/build-prototype/references/strategic-prompt-pack-protocol.md +365 -0
- package/skills/build-prototype/references/vision2prompt/01_input_contract.md +84 -0
- package/skills/build-prototype/references/vision2prompt/02_vision_decomposition.md +108 -0
- package/skills/build-prototype/references/vision2prompt/03_strategy_hypothesis_generation.md +89 -0
- package/skills/build-prototype/references/vision2prompt/04_product_system_extraction.md +78 -0
- package/skills/build-prototype/references/vision2prompt/05_prototype_prompt_schema.md +189 -0
- package/skills/build-prototype/references/vision2prompt/06_output_templates.md +125 -0
- package/skills/build-prototype/references/vision2prompt/07_quality_rubric.md +171 -0
- package/skills/build-validation/SKILL.md +136 -54
- package/skills/build-validation/references/prototype-validation-target-rubric.md +35 -0
- package/skills/build-validation/references/return-to-vision-gate.md +32 -0
- package/skills/build-vision/SKILL.md +192 -0
- package/skills/build-vision/references/proto-readiness-rubric.md +48 -0
- package/skills/build-vision/references/vision-interview-protocol.md +48 -0
- package/skills/coder/SKILL.md +204 -0
- package/skills/decompose-to-changes/SKILL.md +176 -0
- package/skills/decompose-to-changes/agents/openai.yaml +4 -0
- package/skills/decompose-to-changes/references/decomposition-protocol.md +278 -0
- package/skills/prompt2proto/SKILL.md +157 -0
- package/skills/prompt2proto/agents/openai.yaml +4 -0
- package/skills/prompt2proto/references/00_role_philosophy_engine.md +96 -0
- package/skills/prompt2proto/references/01_input_contract.md +53 -0
- package/skills/prompt2proto/references/02_prompt_pack_readiness.md +50 -0
- package/skills/prompt2proto/references/03_visual_translation_workflow.md +64 -0
- package/skills/prompt2proto/references/04_output_contract.md +67 -0
- package/skills/prompt2proto/references/05_quality_rubric.md +46 -0
- package/skills/proto2html/SKILL.md +136 -0
- package/skills/proto2html/agents/openai.yaml +4 -0
- package/skills/proto2html/references/proto2html-protocol.md +115 -0
- package/skills/run-team/SKILL.md +4 -0
- package/skills/select-change/SKILL.md +200 -0
- package/skills/select-change/agents/openai.yaml +4 -0
- package/skills/select-change/references/selection-protocol.md +281 -0
- package/skills/tune-prototype/SKILL.md +121 -0
- package/skills/tune-prototype/agents/openai.yaml +4 -0
- 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 @@
|
|
|
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
|
|
98
|
-
2. Use optional context only when the required packet is insufficient.
|
|
99
|
-
3.
|
|
100
|
-
4.
|
|
101
|
-
5.
|
|
102
|
-
6.
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,mBAAmB,EAAwB,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,uCAAuC,EAAE,MAAM,yCAAyC,CAAC;AAElG,MAAM,UAAU,gBAAgB,CAAC,OAAwB;IACvD,OAAO,mBAAmB,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAU;IAC7C,OAAO,MAAM,EAAE,KAAK,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvF,OAAO;QACL,GAAG,YAAY;QACf,mCAAmC;QACnC,kCAAkC;QAClC,iCAAiC;QACjC,qCAAqC;QACrC,oCAAoC;QACpC,mCAAmC;QACnC,iCAAiC;QACjC,+BAA+B;QAC/B,iCAAiC;QACjC,+BAA+B;QAC/B,6BAA6B;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAwB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO;IAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,SAAS,GAAG,uCAAuC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,KAAK,OAAO;;EAEnB,OAAO,CAAC,WAAW;;;;;;;;;;;;;SAaZ,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;sBACX,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC/B,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC;;;;;;;;EAQrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;;;;EAIjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;;;;EAIjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;;;;EAIlC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;;;;EAIhC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,IAAI,EAAE,CAAC;;;;EAI1C,eAAe,CAAC,SAAS,CAAC;;;;EAI1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;;;;;EAKlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC;;;EAGzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC;;;EAGzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC
|
|
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;;
|
|
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 "./
|
|
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,
|
|
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 +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;
|
|
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>;
|