yet-another-agentic-workflow 0.2.0
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 +125 -0
- package/dist/adapters.d.ts +43 -0
- package/dist/adapters.js +191 -0
- package/dist/adapters.js.map +1 -0
- package/dist/architect.d.ts +38 -0
- package/dist/architect.js +275 -0
- package/dist/architect.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +580 -0
- package/dist/cli.js.map +1 -0
- package/dist/feature.d.ts +30 -0
- package/dist/feature.js +344 -0
- package/dist/feature.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +26 -0
- package/dist/init.js +255 -0
- package/dist/init.js.map +1 -0
- package/dist/installer.d.ts +64 -0
- package/dist/installer.js +365 -0
- package/dist/installer.js.map +1 -0
- package/dist/observability.d.ts +37 -0
- package/dist/observability.js +200 -0
- package/dist/observability.js.map +1 -0
- package/dist/parser.d.ts +6 -0
- package/dist/parser.js +166 -0
- package/dist/parser.js.map +1 -0
- package/dist/persistence.d.ts +83 -0
- package/dist/persistence.js +279 -0
- package/dist/persistence.js.map +1 -0
- package/dist/providers.d.ts +14 -0
- package/dist/providers.js +27 -0
- package/dist/providers.js.map +1 -0
- package/dist/review.d.ts +29 -0
- package/dist/review.js +66 -0
- package/dist/review.js.map +1 -0
- package/dist/schema.d.ts +2 -0
- package/dist/schema.js +44 -0
- package/dist/schema.js.map +1 -0
- package/dist/skills.d.ts +24 -0
- package/dist/skills.js +210 -0
- package/dist/skills.js.map +1 -0
- package/dist/types.d.ts +86 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +48 -0
- package/schemas/agent.schema.json +37 -0
- package/schemas/context.schema.json +13 -0
- package/schemas/eval.schema.json +26 -0
- package/schemas/hook.schema.json +29 -0
- package/schemas/skill.schema.json +23 -0
- package/schemas/state.schema.json +14 -0
- package/schemas/workflow.schema.json +34 -0
- package/schemas/yaaw.schema.json +58 -0
- package/skills/clarify/SKILL.md +14 -0
- package/skills/code-review/SKILL.md +29 -0
- package/skills/slice-work/SKILL.md +15 -0
- package/skills/spec/SKILL.md +21 -0
- package/skills/tdd/SKILL.md +25 -0
- package/templates/instructions/managed-block.md +17 -0
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
import { access, mkdir, writeFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, join, relative, resolve } from "node:path";
|
|
3
|
+
import { stringify } from "yaml";
|
|
4
|
+
import { loadAndValidateProjectDefinition, validateProjectDefinition } from "./parser.js";
|
|
5
|
+
const NAME_PATTERN = /^[a-z][a-z0-9-]*$/;
|
|
6
|
+
export class ArchitectError extends Error {
|
|
7
|
+
constructor(message) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.name = "ArchitectError";
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const RULES = {
|
|
13
|
+
skill: [
|
|
14
|
+
{ pattern: /\b(debug|diagnos|reason|investigat|race condition)/i, weight: 4, reason: "requires reusable reasoning" },
|
|
15
|
+
{ pattern: /\b(procedure|technique|method|how to|best practice)/i, weight: 3, reason: "describes a reusable procedure" }
|
|
16
|
+
],
|
|
17
|
+
agent: [
|
|
18
|
+
{ pattern: /\b(isolat|separate agent|speciali[sz]ed agent|different objective)/i, weight: 6, reason: "needs an isolated objective or context" },
|
|
19
|
+
{ pattern: /\b(read-only|permission|security review|independent reviewer)/i, weight: 5, reason: "needs distinct permissions or execution boundaries" }
|
|
20
|
+
],
|
|
21
|
+
hook: [
|
|
22
|
+
{ pattern: /\b(every time|always|automatically|must run|forgets? to run|keep(?:s)? forgetting)/i, weight: 6, reason: "must happen deterministically" },
|
|
23
|
+
{ pattern: /\b(after (?:an? )?edit|before (?:verify|completion|complete)|on change|pre-commit)/i, weight: 5, reason: "is triggered by a repeatable event" }
|
|
24
|
+
],
|
|
25
|
+
eval: [
|
|
26
|
+
{ pattern: /\b(claims?|proof|evidence|pass\/?fail|acceptance criterion|assert)/i, weight: 6, reason: "requires objective proof" },
|
|
27
|
+
{ pattern: /\b(verify|validate|check)\b.*\b(works?|correct|output|api)/i, weight: 4, reason: "defines an observable success check" }
|
|
28
|
+
],
|
|
29
|
+
workflow: [
|
|
30
|
+
{ pattern: /\b(parallel|simultaneous|concurrent|sequence|pipeline|orchestrat)/i, weight: 6, reason: "requires sequencing or parallelism" },
|
|
31
|
+
{ pattern: /\b(first|then|afterwards|multiple (?:steps|stages)|handoff between)/i, weight: 3, reason: "composes multiple stages" }
|
|
32
|
+
],
|
|
33
|
+
context: [
|
|
34
|
+
{ pattern: /\b(architecture|architectural decisions?|domain vocabulary|glossary|coding standards?|conventions?)/i, weight: 6, reason: "is stable project knowledge" },
|
|
35
|
+
{ pattern: /\b(remember|knowledge|reference material|documentation)\b/i, weight: 3, reason: "should be loaded as knowledge" }
|
|
36
|
+
],
|
|
37
|
+
state: [
|
|
38
|
+
{ pattern: /\b(current progress|current slice|latest handoff|resume|checkpoint|status)\b/i, weight: 6, reason: "represents changing workflow progress" },
|
|
39
|
+
{ pattern: /\b(between sessions|persist|durable|across sessions)\b/i, weight: 5, reason: "must persist outside the conversation" }
|
|
40
|
+
]
|
|
41
|
+
};
|
|
42
|
+
const KIND_PRIORITY = [
|
|
43
|
+
"workflow",
|
|
44
|
+
"state",
|
|
45
|
+
"context",
|
|
46
|
+
"agent",
|
|
47
|
+
"eval",
|
|
48
|
+
"hook",
|
|
49
|
+
"skill"
|
|
50
|
+
];
|
|
51
|
+
const STOP_WORDS = new Set([
|
|
52
|
+
"a", "an", "and", "agent", "agents", "always", "are", "as", "at", "be", "between",
|
|
53
|
+
"but", "by", "can", "constantly", "do", "does", "every", "for", "from", "happen", "i", "in", "into",
|
|
54
|
+
"is", "it", "its", "keep", "keeps", "my", "need", "of", "on", "or", "our", "run",
|
|
55
|
+
"should", "something", "that", "the", "their", "them", "they", "this", "to", "want",
|
|
56
|
+
"when", "with"
|
|
57
|
+
]);
|
|
58
|
+
function canonicalName(problem, kind) {
|
|
59
|
+
const words = problem
|
|
60
|
+
.toLowerCase()
|
|
61
|
+
.replace(/[^a-z0-9]+/g, " ")
|
|
62
|
+
.trim()
|
|
63
|
+
.split(/\s+/)
|
|
64
|
+
.filter((word) => word && !STOP_WORDS.has(word))
|
|
65
|
+
.slice(0, 4);
|
|
66
|
+
let name = words.join("-").replace(/^[^a-z]+/, "").slice(0, 58).replace(/-+$/, "");
|
|
67
|
+
if (!name)
|
|
68
|
+
name = `${kind}-solution`;
|
|
69
|
+
return NAME_PATTERN.test(name) ? name : `${kind}-${name || "solution"}`;
|
|
70
|
+
}
|
|
71
|
+
/** Diagnose a requirement before choosing a YAAW primitive. */
|
|
72
|
+
export function diagnoseArchitecture(problem) {
|
|
73
|
+
const normalized = problem.trim();
|
|
74
|
+
if (!normalized)
|
|
75
|
+
throw new ArchitectError("the problem must be a non-empty string");
|
|
76
|
+
const scores = Object.fromEntries(KIND_PRIORITY.map((kind) => [kind, 0]));
|
|
77
|
+
const matchedReasons = new Map();
|
|
78
|
+
for (const kind of KIND_PRIORITY) {
|
|
79
|
+
const reasons = [];
|
|
80
|
+
for (const rule of RULES[kind]) {
|
|
81
|
+
if (!rule.pattern.test(normalized))
|
|
82
|
+
continue;
|
|
83
|
+
scores[kind] += rule.weight;
|
|
84
|
+
if (!reasons.includes(rule.reason))
|
|
85
|
+
reasons.push(rule.reason);
|
|
86
|
+
}
|
|
87
|
+
matchedReasons.set(kind, reasons);
|
|
88
|
+
}
|
|
89
|
+
const highest = Math.max(...Object.values(scores));
|
|
90
|
+
const kind = highest === 0
|
|
91
|
+
? "skill"
|
|
92
|
+
: KIND_PRIORITY.find((candidate) => scores[candidate] === highest) ?? "skill";
|
|
93
|
+
if (highest === 0)
|
|
94
|
+
scores.skill = 1;
|
|
95
|
+
const answers = {
|
|
96
|
+
requiresJudgment: kind === "skill" || scores.skill > 0,
|
|
97
|
+
deterministic: kind === "hook" || scores.hook > 0,
|
|
98
|
+
isolated: kind === "agent" || scores.agent > 0,
|
|
99
|
+
requiresProof: kind === "eval" || scores.eval > 0,
|
|
100
|
+
requiresSequencing: kind === "workflow" || scores.workflow > 0,
|
|
101
|
+
needsKnowledge: kind === "context" || scores.context > 0,
|
|
102
|
+
needsPersistence: kind === "state" || scores.state > 0
|
|
103
|
+
};
|
|
104
|
+
const reasons = matchedReasons.get(kind) ?? [];
|
|
105
|
+
if (reasons.length === 0)
|
|
106
|
+
reasons.push("requires a reusable reasoning procedure");
|
|
107
|
+
return {
|
|
108
|
+
problem: normalized,
|
|
109
|
+
kind,
|
|
110
|
+
suggestedName: canonicalName(normalized, kind),
|
|
111
|
+
answers,
|
|
112
|
+
reasons,
|
|
113
|
+
scores
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
async function exists(path) {
|
|
117
|
+
try {
|
|
118
|
+
await access(path);
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
function collectionFor(definition, kind) {
|
|
126
|
+
const key = {
|
|
127
|
+
skill: "skills",
|
|
128
|
+
agent: "agents",
|
|
129
|
+
hook: "hooks",
|
|
130
|
+
eval: "evals",
|
|
131
|
+
workflow: "workflows",
|
|
132
|
+
context: "context",
|
|
133
|
+
state: "state"
|
|
134
|
+
};
|
|
135
|
+
return definition[key[kind]];
|
|
136
|
+
}
|
|
137
|
+
function verificationCommand(definition) {
|
|
138
|
+
return definition.evals[0]?.run[0] ?? definition.hooks[0]?.run[0] ?? "REPLACE_WITH_VERIFICATION_COMMAND";
|
|
139
|
+
}
|
|
140
|
+
function hookEvent(problem) {
|
|
141
|
+
if (/after (?:an? )?edit|on change/i.test(problem))
|
|
142
|
+
return "after_edit";
|
|
143
|
+
if (/before verif/i.test(problem))
|
|
144
|
+
return "before_verify";
|
|
145
|
+
if (/fail/i.test(problem))
|
|
146
|
+
return "after_verify_failure";
|
|
147
|
+
return "before_complete";
|
|
148
|
+
}
|
|
149
|
+
function workflowSteps(definition) {
|
|
150
|
+
const candidates = [
|
|
151
|
+
["skill", definition.skills[0]],
|
|
152
|
+
["agent", definition.agents[0]],
|
|
153
|
+
["eval", definition.evals[0]],
|
|
154
|
+
["hook", definition.hooks[0]],
|
|
155
|
+
["context", definition.context[0]],
|
|
156
|
+
["state", definition.state[0]]
|
|
157
|
+
];
|
|
158
|
+
const selected = candidates.filter((entry) => Boolean(entry[1])).slice(0, 3);
|
|
159
|
+
return selected.map(([kind, item], index) => ({
|
|
160
|
+
id: `${kind}-${item.name}`,
|
|
161
|
+
uses: `${kind}:${item.name}`,
|
|
162
|
+
...(index > 0 ? { needs: [`${selected[index - 1][0]}-${selected[index - 1][1].name}`] } : {})
|
|
163
|
+
}));
|
|
164
|
+
}
|
|
165
|
+
function createPrimitive(kind, name, problem, definition) {
|
|
166
|
+
switch (kind) {
|
|
167
|
+
case "skill":
|
|
168
|
+
return {
|
|
169
|
+
name,
|
|
170
|
+
purpose: problem,
|
|
171
|
+
steps: ["establish the relevant facts", "apply the reusable procedure", "verify the outcome"]
|
|
172
|
+
};
|
|
173
|
+
case "agent":
|
|
174
|
+
return {
|
|
175
|
+
name,
|
|
176
|
+
objective: problem,
|
|
177
|
+
permissions: {
|
|
178
|
+
filesystem: /review|security|read-only/i.test(problem) ? "read" : "read-write",
|
|
179
|
+
shell: /review|security|read-only/i.test(problem) ? "read-only" : "execute",
|
|
180
|
+
network: false
|
|
181
|
+
},
|
|
182
|
+
context: definition.context[0] ? [definition.context[0].name] : [],
|
|
183
|
+
skills: definition.skills[0] ? [definition.skills[0].name] : []
|
|
184
|
+
};
|
|
185
|
+
case "hook":
|
|
186
|
+
return { name, event: hookEvent(problem), run: [verificationCommand(definition)] };
|
|
187
|
+
case "eval":
|
|
188
|
+
return { name, run: [verificationCommand(definition)], success: { exit_code: 0 } };
|
|
189
|
+
case "workflow": {
|
|
190
|
+
const steps = workflowSteps(definition);
|
|
191
|
+
if (steps.length === 0) {
|
|
192
|
+
throw new ArchitectError("a workflow requires at least one existing primitive to compose");
|
|
193
|
+
}
|
|
194
|
+
return { name, description: problem, steps };
|
|
195
|
+
}
|
|
196
|
+
case "context":
|
|
197
|
+
return { name, path: `.yaaw/context/${name}.md`, description: problem };
|
|
198
|
+
case "state":
|
|
199
|
+
return { name, path: `.yaaw/state/${name}.json`, description: problem, durable: true };
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
function artifactFor(root, kind, name, problem, primitive) {
|
|
203
|
+
if (kind === "skill") {
|
|
204
|
+
const skill = primitive;
|
|
205
|
+
return {
|
|
206
|
+
path: join(root, ".yaaw", "skills", name, "SKILL.md"),
|
|
207
|
+
source: `---\nname: ${name}\npurpose: ${JSON.stringify(problem)}\ndependencies: []\n---\n# ${name}\n\n${skill.steps.map((step, index) => `${index + 1}. ${step}.`).join("\n")}\n`
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
if (kind === "context") {
|
|
211
|
+
return {
|
|
212
|
+
path: join(root, ".yaaw", "context", `${name}.md`),
|
|
213
|
+
source: `# ${name}\n\nPurpose: ${problem}\n\nRecord stable project knowledge here.\n`
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
if (kind === "state") {
|
|
217
|
+
return {
|
|
218
|
+
path: join(root, ".yaaw", "state", `${name}.json`),
|
|
219
|
+
source: `${JSON.stringify({ version: 1, status: "initialized", current: null }, null, 2)}\n`
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
const directories = {
|
|
223
|
+
agent: "agents",
|
|
224
|
+
hook: "hooks",
|
|
225
|
+
eval: "evals",
|
|
226
|
+
workflow: "workflows"
|
|
227
|
+
};
|
|
228
|
+
return {
|
|
229
|
+
path: join(root, ".yaaw", directories[kind], `${name}.yaml`),
|
|
230
|
+
source: stringify(primitive)
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
/** Diagnose a problem, add the selected primitive to yaaw.yaml, and create its focused artifact. */
|
|
234
|
+
export async function architectWorkflow(problem, projectDirectory = ".", options = {}) {
|
|
235
|
+
const diagnosis = diagnoseArchitecture(problem);
|
|
236
|
+
const name = options.name ?? diagnosis.suggestedName;
|
|
237
|
+
if (!NAME_PATTERN.test(name)) {
|
|
238
|
+
throw new ArchitectError(`primitive name '${name}' must match ${NAME_PATTERN.source}`);
|
|
239
|
+
}
|
|
240
|
+
const root = resolve(projectDirectory);
|
|
241
|
+
const configPath = join(root, ".yaaw", "yaaw.yaml");
|
|
242
|
+
const validation = await loadAndValidateProjectDefinition(configPath);
|
|
243
|
+
if (!validation.ok) {
|
|
244
|
+
const details = validation.issues.map((issue) => `${issue.path}: ${issue.message}`).join("; ");
|
|
245
|
+
throw new ArchitectError(`${configPath} is invalid: ${details}`);
|
|
246
|
+
}
|
|
247
|
+
const definition = structuredClone(validation.value);
|
|
248
|
+
const collection = collectionFor(definition, diagnosis.kind);
|
|
249
|
+
const existingIndex = collection.findIndex((item) => item.name === name);
|
|
250
|
+
if (existingIndex >= 0 && !options.force) {
|
|
251
|
+
throw new ArchitectError(`${diagnosis.kind} '${name}' already exists; rerun with --force to replace it`);
|
|
252
|
+
}
|
|
253
|
+
const primitive = createPrimitive(diagnosis.kind, name, diagnosis.problem, definition);
|
|
254
|
+
if (existingIndex >= 0)
|
|
255
|
+
collection.splice(existingIndex, 1, primitive);
|
|
256
|
+
else
|
|
257
|
+
collection.push(primitive);
|
|
258
|
+
const updatedValidation = validateProjectDefinition(definition);
|
|
259
|
+
if (!updatedValidation.ok) {
|
|
260
|
+
const details = updatedValidation.issues.map((issue) => `${issue.path}: ${issue.message}`).join("; ");
|
|
261
|
+
throw new ArchitectError(`generated ${diagnosis.kind} is invalid: ${details}`);
|
|
262
|
+
}
|
|
263
|
+
const artifact = artifactFor(root, diagnosis.kind, name, diagnosis.problem, primitive);
|
|
264
|
+
if ((await exists(artifact.path)) && !options.force) {
|
|
265
|
+
throw new ArchitectError(`${artifact.path} already exists; rerun with --force to replace it`);
|
|
266
|
+
}
|
|
267
|
+
const artifactPaths = [relative(root, artifact.path).replaceAll("\\", "/")];
|
|
268
|
+
if (!options.dryRun) {
|
|
269
|
+
await mkdir(dirname(artifact.path), { recursive: true });
|
|
270
|
+
await writeFile(artifact.path, artifact.source, "utf8");
|
|
271
|
+
await writeFile(configPath, stringify(definition), "utf8");
|
|
272
|
+
}
|
|
273
|
+
return { diagnosis, name, root, configPath, artifactPaths, changed: !options.dryRun };
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=architect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architect.js","sourceRoot":"","sources":["../src/architect.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
ADDED