@jterrats/open-orchestra 0.4.0 → 0.4.2-beta.1
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/CHANGELOG.md +21 -0
- package/dist/assets/web-console.js +91 -1
- package/dist/autonomous-phase-lifecycle.d.ts +26 -0
- package/dist/autonomous-phase-lifecycle.js +214 -0
- package/dist/autonomous-phase-lifecycle.js.map +1 -0
- package/dist/autonomous-run-state.d.ts +8 -0
- package/dist/autonomous-run-state.js +162 -0
- package/dist/autonomous-run-state.js.map +1 -0
- package/dist/autonomous-run-store.d.ts +17 -0
- package/dist/autonomous-run-store.js +89 -0
- package/dist/autonomous-run-store.js.map +1 -0
- package/dist/autonomous-workflow-constants.d.ts +7 -0
- package/dist/autonomous-workflow-constants.js +36 -0
- package/dist/autonomous-workflow-constants.js.map +1 -0
- package/dist/autonomous-workflow.d.ts +6 -45
- package/dist/autonomous-workflow.js +4 -394
- package/dist/autonomous-workflow.js.map +1 -1
- package/dist/benchmark.js +16 -0
- package/dist/benchmark.js.map +1 -1
- package/dist/clarification.d.ts +2 -0
- package/dist/clarification.js +23 -5
- package/dist/clarification.js.map +1 -1
- package/dist/cli.js +101 -14
- package/dist/cli.js.map +1 -1
- package/dist/command-manifest.js +8 -0
- package/dist/command-manifest.js.map +1 -1
- package/dist/command-utils.d.ts +6 -0
- package/dist/command-utils.js +19 -0
- package/dist/command-utils.js.map +1 -0
- package/dist/commands.d.ts +15 -43
- package/dist/commands.js +466 -912
- package/dist/commands.js.map +1 -1
- package/dist/constants.js +20 -0
- package/dist/constants.js.map +1 -1
- package/dist/defaults.d.ts +11 -0
- package/dist/defaults.js +11 -0
- package/dist/defaults.js.map +1 -1
- package/dist/instruction-commands.d.ts +5 -0
- package/dist/instruction-commands.js +98 -0
- package/dist/instruction-commands.js.map +1 -0
- package/dist/mcp-oauth-proxy.d.ts +47 -0
- package/dist/mcp-oauth-proxy.js +276 -0
- package/dist/mcp-oauth-proxy.js.map +1 -1
- package/dist/memory.d.ts +11 -0
- package/dist/memory.js +224 -0
- package/dist/memory.js.map +1 -0
- package/dist/metrics-commands.d.ts +3 -0
- package/dist/metrics-commands.js +123 -0
- package/dist/metrics-commands.js.map +1 -0
- package/dist/model-commands.d.ts +13 -0
- package/dist/model-commands.js +216 -0
- package/dist/model-commands.js.map +1 -0
- package/dist/notifications.d.ts +25 -0
- package/dist/notifications.js +187 -11
- package/dist/notifications.js.map +1 -1
- package/dist/package-update-check.d.ts +19 -0
- package/dist/package-update-check.js +123 -0
- package/dist/package-update-check.js.map +1 -0
- package/dist/runtime-adapters.d.ts +5 -1
- package/dist/runtime-adapters.js +27 -0
- package/dist/runtime-adapters.js.map +1 -1
- package/dist/runtime-bootstrap.js +4 -2
- package/dist/runtime-bootstrap.js.map +1 -1
- package/dist/runtime-commands.d.ts +9 -0
- package/dist/runtime-commands.js +156 -0
- package/dist/runtime-commands.js.map +1 -0
- package/dist/runtime-execution-adapters.d.ts +2 -0
- package/dist/runtime-execution-adapters.js +163 -0
- package/dist/runtime-execution-adapters.js.map +1 -0
- package/dist/runtime-execution-renderer.d.ts +10 -0
- package/dist/runtime-execution-renderer.js +113 -0
- package/dist/runtime-execution-renderer.js.map +1 -0
- package/dist/runtime-execution.d.ts +27 -0
- package/dist/runtime-execution.js +153 -0
- package/dist/runtime-execution.js.map +1 -0
- package/dist/skills-commands.d.ts +10 -0
- package/dist/skills-commands.js +138 -0
- package/dist/skills-commands.js.map +1 -0
- package/dist/skills.d.ts +7 -1
- package/dist/skills.js +120 -11
- package/dist/skills.js.map +1 -1
- package/dist/sprint-commands.d.ts +5 -0
- package/dist/sprint-commands.js +120 -0
- package/dist/sprint-commands.js.map +1 -0
- package/dist/subagent-protocol.js +6 -0
- package/dist/subagent-protocol.js.map +1 -1
- package/dist/telemetry-commands.d.ts +7 -0
- package/dist/telemetry-commands.js +82 -0
- package/dist/telemetry-commands.js.map +1 -0
- package/dist/tool-commands.d.ts +5 -0
- package/dist/tool-commands.js +159 -0
- package/dist/tool-commands.js.map +1 -0
- package/dist/types.d.ts +206 -4
- package/dist/types.js.map +1 -1
- package/dist/web-api.js +93 -1
- package/dist/web-api.js.map +1 -1
- package/dist/web-chart-contracts.d.ts +3 -1
- package/dist/web-chart-contracts.js +6 -0
- package/dist/web-chart-contracts.js.map +1 -1
- package/dist/web-console.js +2 -2
- package/dist/workflow-services.d.ts +21 -3
- package/dist/workflow-services.js +474 -10
- package/dist/workflow-services.js.map +1 -1
- package/docs/runtime-llm-flow.md +46 -0
- package/package.json +2 -1
- package/skills/proactive-orchestra/SKILL.md +27 -0
- package/skills/proactive-orchestra/manifest.json +41 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CliIo, CliOptions } from "./types.js";
|
|
2
|
+
export declare function skillsValidateCommand(options: CliOptions, io: CliIo): Promise<void>;
|
|
3
|
+
export declare function sourcesListCommand(options: CliOptions, io: CliIo): Promise<void>;
|
|
4
|
+
export declare function lessonsListCommand(options: CliOptions, io: CliIo): Promise<void>;
|
|
5
|
+
export declare function lessonsAddCommand(options: CliOptions, io: CliIo): Promise<void>;
|
|
6
|
+
export declare function lessonsPromoteCommand(options: CliOptions, io: CliIo): Promise<void>;
|
|
7
|
+
export declare function lessonsDeleteCommand(options: CliOptions, io: CliIo): Promise<void>;
|
|
8
|
+
export declare function skillsListCommand(options: CliOptions, io: CliIo): Promise<void>;
|
|
9
|
+
export declare function skillsPlanCommand(options: CliOptions, io: CliIo): Promise<void>;
|
|
10
|
+
export declare function skillsRenderCommand(options: CliOptions, io: CliIo): Promise<void>;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { requireArg } from "./args.js";
|
|
2
|
+
import { parseCsv, removeUndefined, stringOption } from "./command-utils.js";
|
|
3
|
+
import { parseRuntimeTarget } from "./runtime-adapters.js";
|
|
4
|
+
import { addAgentLesson, deleteAgentLesson, listAgentLessons, listSkills, planSkillsForTask, promoteAgentLessons, readSourceOfTruth, recordSkillPlan, recordSkillRender, renderSkills, validateSkills, } from "./skills.js";
|
|
5
|
+
export async function skillsValidateCommand(options, io) {
|
|
6
|
+
const report = await validateSkills();
|
|
7
|
+
if (options.json) {
|
|
8
|
+
io.log(JSON.stringify(report, null, 2));
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
io.log(report.valid ? "Skills valid" : "Skills invalid");
|
|
12
|
+
for (const error of report.errors) {
|
|
13
|
+
io.log(`ERROR: ${error}`);
|
|
14
|
+
}
|
|
15
|
+
for (const warning of report.warnings) {
|
|
16
|
+
io.log(`WARN: ${warning}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
if (!report.valid) {
|
|
20
|
+
throw new Error("skills validation failed");
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export async function sourcesListCommand(options, io) {
|
|
24
|
+
const sources = await readSourceOfTruth();
|
|
25
|
+
if (options.json) {
|
|
26
|
+
io.log(JSON.stringify(sources, null, 2));
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
for (const source of sources) {
|
|
30
|
+
io.log(`${source.id ?? "unknown"} - ${source.name ?? "Unnamed source"}`);
|
|
31
|
+
io.log(` ${(source.locations ?? []).join(", ")}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export async function lessonsListCommand(options, io) {
|
|
35
|
+
const lessons = await listAgentLessons();
|
|
36
|
+
if (options.json) {
|
|
37
|
+
io.log(JSON.stringify(lessons, null, 2));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (lessons.length === 0) {
|
|
41
|
+
io.log("No lessons");
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
for (const lesson of lessons) {
|
|
45
|
+
io.log(`${lesson.timestamp} ${lesson.operation}: ${lesson.errorSignature}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export async function lessonsAddCommand(options, io) {
|
|
49
|
+
const lesson = await addAgentLesson(removeUndefined({
|
|
50
|
+
taskId: stringOption(options.task),
|
|
51
|
+
actor: stringOption(options.actor) ?? "parent",
|
|
52
|
+
operation: requireArg(options, "operation"),
|
|
53
|
+
failedAction: requireArg(options, "failed-action"),
|
|
54
|
+
errorSignature: requireArg(options, "error-signature"),
|
|
55
|
+
rootCause: requireArg(options, "root-cause"),
|
|
56
|
+
fix: requireArg(options, "fix"),
|
|
57
|
+
prevention: requireArg(options, "prevention"),
|
|
58
|
+
appliesTo: parseCsv(options["applies-to"]),
|
|
59
|
+
verifiedBy: parseCsv(options["verified-by"]),
|
|
60
|
+
}));
|
|
61
|
+
if (options.json) {
|
|
62
|
+
io.log(JSON.stringify(lesson, null, 2));
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
io.log(`Recorded lesson ${lesson.errorSignature}`);
|
|
66
|
+
}
|
|
67
|
+
export async function lessonsPromoteCommand(options, io) {
|
|
68
|
+
const result = await promoteAgentLessons(removeUndefined({
|
|
69
|
+
to: parsePromotionTarget(stringOption(options.to) ?? "doc"),
|
|
70
|
+
filter: stringOption(options.filter),
|
|
71
|
+
}));
|
|
72
|
+
if (options.json) {
|
|
73
|
+
io.log(JSON.stringify(result, null, 2));
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
io.log(`Created ${result.artifact}`);
|
|
77
|
+
io.log(`Promoted lessons: ${result.lessons.length}`);
|
|
78
|
+
}
|
|
79
|
+
export async function lessonsDeleteCommand(options, io) {
|
|
80
|
+
const result = await deleteAgentLesson(requireArg(options, "id"));
|
|
81
|
+
if (options.json) {
|
|
82
|
+
io.log(JSON.stringify(result, null, 2));
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
io.log(`Deleted lesson ${result.id}`);
|
|
86
|
+
}
|
|
87
|
+
export async function skillsListCommand(options, io) {
|
|
88
|
+
const skills = listSkills();
|
|
89
|
+
if (options.json) {
|
|
90
|
+
io.log(JSON.stringify(skills, null, 2));
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
for (const skill of skills) {
|
|
94
|
+
io.log(`${skill.id} - ${skill.name} (${skill.loadBudget})`);
|
|
95
|
+
io.log(` ${skill.summary}`);
|
|
96
|
+
io.log(` sources: ${skill.sourceGroups.join(", ")}`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
export async function skillsPlanCommand(options, io) {
|
|
100
|
+
const plan = await planSkillsForTask(requireArg(options, "task"));
|
|
101
|
+
await recordSkillPlan(plan);
|
|
102
|
+
if (options.json) {
|
|
103
|
+
io.log(JSON.stringify(plan, null, 2));
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
io.log(`Skills for ${plan.taskId}:`);
|
|
107
|
+
for (const item of plan.selected) {
|
|
108
|
+
io.log(` ${item.skill.id} (score ${item.score})`);
|
|
109
|
+
for (const reason of item.rationale) {
|
|
110
|
+
io.log(` - ${reason}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
io.log(`Source groups: ${plan.sourceGroups.join(", ")}`);
|
|
114
|
+
}
|
|
115
|
+
export async function skillsRenderCommand(options, io) {
|
|
116
|
+
const target = parseSkillRenderTarget(stringOption(options.target) ?? "generic");
|
|
117
|
+
const rendered = await renderSkills({
|
|
118
|
+
target,
|
|
119
|
+
taskId: stringOption(options.task),
|
|
120
|
+
skillIds: parseCsv(options.skills),
|
|
121
|
+
});
|
|
122
|
+
await recordSkillRender(rendered);
|
|
123
|
+
if (options.json) {
|
|
124
|
+
io.log(JSON.stringify(rendered, null, 2));
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
io.log(rendered.content);
|
|
128
|
+
}
|
|
129
|
+
function parsePromotionTarget(value) {
|
|
130
|
+
if (["skill", "rule", "doc"].includes(value)) {
|
|
131
|
+
return value;
|
|
132
|
+
}
|
|
133
|
+
throw new Error(`unknown promotion target: ${value}`);
|
|
134
|
+
}
|
|
135
|
+
function parseSkillRenderTarget(value) {
|
|
136
|
+
return parseRuntimeTarget(value);
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=skills-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills-commands.js","sourceRoot":"","sources":["../src/skills-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentLesson, AgentLessonInput, Skill, SkillPlan, SkillRenderTarget, SkillValidationReport } from "./types.js";
|
|
1
|
+
import type { AgentLesson, AgentLessonInput, MemoryPacket, Skill, SkillPlan, SkillRenderTarget, SkillValidationReport } from "./types.js";
|
|
2
2
|
export declare function listSkills(): Skill[];
|
|
3
3
|
export declare function planSkillsForTask(taskId: string, root?: string): Promise<SkillPlan>;
|
|
4
4
|
export declare function renderSkills({ target, taskId, skillIds, root, }: {
|
|
@@ -11,6 +11,7 @@ export declare function renderSkills({ target, taskId, skillIds, root, }: {
|
|
|
11
11
|
taskId: string | undefined;
|
|
12
12
|
skills: Skill[];
|
|
13
13
|
sourceGroups: string[];
|
|
14
|
+
memory: MemoryPacket;
|
|
14
15
|
content: string;
|
|
15
16
|
}>;
|
|
16
17
|
export declare function readAgentLessons(root?: string): Promise<string[]>;
|
|
@@ -22,9 +23,14 @@ export declare function recordSkillRender(rendered: {
|
|
|
22
23
|
taskId: string | undefined;
|
|
23
24
|
skills: Skill[];
|
|
24
25
|
sourceGroups: string[];
|
|
26
|
+
memory?: MemoryPacket;
|
|
25
27
|
}, root?: string): Promise<void>;
|
|
26
28
|
export declare function addAgentLesson(input: AgentLessonInput, root?: string): Promise<AgentLesson>;
|
|
27
29
|
export declare function listAgentLessons(root?: string): Promise<AgentLesson[]>;
|
|
30
|
+
export declare function deleteAgentLesson(id: string, root?: string): Promise<{
|
|
31
|
+
deleted: true;
|
|
32
|
+
id: string;
|
|
33
|
+
}>;
|
|
28
34
|
export declare function promoteAgentLessons({ to, filter, root, }: {
|
|
29
35
|
to: "skill" | "rule" | "doc";
|
|
30
36
|
filter?: string;
|
package/dist/skills.js
CHANGED
|
@@ -1,12 +1,41 @@
|
|
|
1
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
1
2
|
import { readFile, writeFile } from "node:fs/promises";
|
|
2
3
|
import { dirname } from "node:path";
|
|
3
4
|
import path from "node:path";
|
|
4
5
|
import { fileURLToPath } from "node:url";
|
|
5
6
|
import { FILES } from "./constants.js";
|
|
6
7
|
import { exists, readJson, resolveWorkflowPath, writeJson, } from "./fs-utils.js";
|
|
8
|
+
import { queryMemory, recordMemoryEvent, renderMemoryPacket, } from "./memory.js";
|
|
7
9
|
import { appendEvent, loadWorkspace, writeArtifact } from "./workspace.js";
|
|
8
10
|
const PACKAGE_ROOT = dirname(dirname(fileURLToPath(import.meta.url)));
|
|
9
11
|
const defaultSkills = [
|
|
12
|
+
{
|
|
13
|
+
id: "proactive-orchestra",
|
|
14
|
+
name: "Proactive Orchestra",
|
|
15
|
+
summary: "Self-bootstrap Open Orchestra workflow checks before implementation and record accepted bypasses.",
|
|
16
|
+
triggers: [
|
|
17
|
+
"orchestra",
|
|
18
|
+
"workflow",
|
|
19
|
+
"task loop",
|
|
20
|
+
"bootstrap",
|
|
21
|
+
"pre-run",
|
|
22
|
+
"handoff",
|
|
23
|
+
"evidence",
|
|
24
|
+
],
|
|
25
|
+
roles: ["parent", "architect", "developer", "qa", "release_manager"],
|
|
26
|
+
capabilities: ["workflow-discipline", "pre-run-validation", "auditability"],
|
|
27
|
+
riskAreas: ["governance", "quality"],
|
|
28
|
+
sourceGroups: ["project-instructions", "agent-memory"],
|
|
29
|
+
entry: "skills/proactive-orchestra/SKILL.md",
|
|
30
|
+
assets: [],
|
|
31
|
+
evidence: ["command", "report", "file"],
|
|
32
|
+
loadBudget: "small",
|
|
33
|
+
instructions: [
|
|
34
|
+
"Start with health and task list before implementation when .agent-workflow exists.",
|
|
35
|
+
"Run pre-run validation before coding and resolve missing estimate, workflow, evidence, or review checks.",
|
|
36
|
+
"Record user-accepted deviations as decisions instead of silently skipping workflow steps.",
|
|
37
|
+
],
|
|
38
|
+
},
|
|
10
39
|
{
|
|
11
40
|
id: "prompt-registry",
|
|
12
41
|
name: "Prompt Registry",
|
|
@@ -401,12 +430,23 @@ export async function planSkillsForTask(taskId, root = process.cwd()) {
|
|
|
401
430
|
export async function renderSkills({ target, taskId, skillIds, root = process.cwd(), }) {
|
|
402
431
|
const skills = await resolveRenderSkills({ taskId, skillIds, root });
|
|
403
432
|
const sourceGroups = unique(skills.flatMap((skill) => skill.sourceGroups));
|
|
433
|
+
const memoryQuery = skillIds?.join(" ");
|
|
434
|
+
const memory = await queryMemory({
|
|
435
|
+
...(taskId ? { taskId } : {}),
|
|
436
|
+
hook: "before_implementation",
|
|
437
|
+
...(memoryQuery ? { query: memoryQuery } : {}),
|
|
438
|
+
root,
|
|
439
|
+
});
|
|
440
|
+
if (taskId) {
|
|
441
|
+
await recordMemoryEvent(root, memory, "MEMORY_QUERIED");
|
|
442
|
+
}
|
|
404
443
|
return {
|
|
405
444
|
target,
|
|
406
445
|
taskId,
|
|
407
446
|
skills,
|
|
408
447
|
sourceGroups,
|
|
409
|
-
|
|
448
|
+
memory,
|
|
449
|
+
content: renderForTarget(target, skills, sourceGroups, taskId, memory),
|
|
410
450
|
};
|
|
411
451
|
}
|
|
412
452
|
async function resolveRenderSkills({ taskId, skillIds, root, }) {
|
|
@@ -482,25 +522,25 @@ function taskText(task) {
|
|
|
482
522
|
.join(" ")
|
|
483
523
|
.toLowerCase();
|
|
484
524
|
}
|
|
485
|
-
function renderForTarget(target, skills, sourceGroups, taskId) {
|
|
525
|
+
function renderForTarget(target, skills, sourceGroups, taskId, memory) {
|
|
486
526
|
if (target === "cursor") {
|
|
487
|
-
return renderMarkdown(skills, sourceGroups, taskId, "Cursor Skill Context", "Use these Open Orchestra skills as task-scoped Cursor rules.");
|
|
527
|
+
return renderMarkdown(skills, sourceGroups, taskId, "Cursor Skill Context", "Use these Open Orchestra skills as task-scoped Cursor rules.", memory);
|
|
488
528
|
}
|
|
489
529
|
if (target === "windsurf") {
|
|
490
|
-
return renderMarkdown(skills, sourceGroups, taskId, "Windsurf Skill Context", "Use these Open Orchestra skills as task-scoped Windsurf rules.");
|
|
530
|
+
return renderMarkdown(skills, sourceGroups, taskId, "Windsurf Skill Context", "Use these Open Orchestra skills as task-scoped Windsurf rules.", memory);
|
|
491
531
|
}
|
|
492
532
|
if (target === "claude") {
|
|
493
|
-
return renderMarkdown(skills, sourceGroups, taskId, "Claude Skill Context", "Load only these Open Orchestra skills for this task.");
|
|
533
|
+
return renderMarkdown(skills, sourceGroups, taskId, "Claude Skill Context", "Load only these Open Orchestra skills for this task.", memory);
|
|
494
534
|
}
|
|
495
535
|
if (target === "codex") {
|
|
496
|
-
return renderMarkdown(skills, sourceGroups, taskId, "Codex Skill Context", "Apply these Open Orchestra skills while preserving AGENTS.md instructions.");
|
|
536
|
+
return renderMarkdown(skills, sourceGroups, taskId, "Codex Skill Context", "Apply these Open Orchestra skills while preserving AGENTS.md instructions.", memory);
|
|
497
537
|
}
|
|
498
538
|
if (target === "vscode") {
|
|
499
|
-
return JSON.stringify({ taskId, sourceGroups, skills }, null, 2);
|
|
539
|
+
return JSON.stringify({ taskId, sourceGroups, skills, memory }, null, 2);
|
|
500
540
|
}
|
|
501
|
-
return renderMarkdown(skills, sourceGroups, taskId, "Open Orchestra Skill Context", "Provider-agnostic skill context for this task.");
|
|
541
|
+
return renderMarkdown(skills, sourceGroups, taskId, "Open Orchestra Skill Context", "Provider-agnostic skill context for this task.", memory);
|
|
502
542
|
}
|
|
503
|
-
function renderMarkdown(skills, sourceGroups, taskId, title, intro) {
|
|
543
|
+
function renderMarkdown(skills, sourceGroups, taskId, title, intro, memory) {
|
|
504
544
|
const lines = [
|
|
505
545
|
`# ${title}`,
|
|
506
546
|
"",
|
|
@@ -512,6 +552,7 @@ function renderMarkdown(skills, sourceGroups, taskId, title, intro) {
|
|
|
512
552
|
"",
|
|
513
553
|
...sourceGroups.map((group) => `- ${group}`),
|
|
514
554
|
"",
|
|
555
|
+
...(memory ? [renderMemoryPacket(memory), ""] : []),
|
|
515
556
|
];
|
|
516
557
|
for (const skill of skills) {
|
|
517
558
|
lines.push(`## ${skill.name}`, "", `ID: ${skill.id}`, "", skill.summary, "", "### Load From", "", `- ${skill.entry}`, "", "### Procedure", "", ...skill.instructions.map((instruction) => `- ${instruction}`), "", "### Evidence", "", ...skill.evidence.map((evidence) => `- ${evidence}`), "");
|
|
@@ -589,6 +630,9 @@ export async function recordSkillPlan(plan, root = process.cwd()) {
|
|
|
589
630
|
});
|
|
590
631
|
}
|
|
591
632
|
export async function recordSkillRender(rendered, root = process.cwd()) {
|
|
633
|
+
if (!rendered.taskId) {
|
|
634
|
+
return;
|
|
635
|
+
}
|
|
592
636
|
if (!(await hasInitializedWorkflowState(root))) {
|
|
593
637
|
return;
|
|
594
638
|
}
|
|
@@ -601,6 +645,13 @@ export async function recordSkillRender(rendered, root = process.cwd()) {
|
|
|
601
645
|
target: rendered.target,
|
|
602
646
|
selectedSkillIds: rendered.skills.map((skill) => skill.id),
|
|
603
647
|
sourceGroups: rendered.sourceGroups,
|
|
648
|
+
memory: rendered.memory &&
|
|
649
|
+
removeUndefined({
|
|
650
|
+
hook: rendered.memory.hook,
|
|
651
|
+
estimatedTokens: rendered.memory.estimatedTokens,
|
|
652
|
+
lessonCount: rendered.memory.lessons.length,
|
|
653
|
+
promptCount: rendered.memory.prompts.length,
|
|
654
|
+
}),
|
|
604
655
|
},
|
|
605
656
|
}));
|
|
606
657
|
}
|
|
@@ -608,7 +659,11 @@ async function hasInitializedWorkflowState(root) {
|
|
|
608
659
|
return exists(resolveWorkflowPath(root, FILES.config));
|
|
609
660
|
}
|
|
610
661
|
export async function addAgentLesson(input, root = process.cwd()) {
|
|
611
|
-
const lesson = {
|
|
662
|
+
const lesson = {
|
|
663
|
+
id: `lesson-${randomUUID()}`,
|
|
664
|
+
timestamp: new Date().toISOString(),
|
|
665
|
+
...input,
|
|
666
|
+
};
|
|
612
667
|
await writeFile(resolveWorkflowPath(root, FILES.agentLessons), `${JSON.stringify(lesson)}\n`, { flag: "a" });
|
|
613
668
|
await appendEvent(root, removeUndefined({
|
|
614
669
|
type: "LESSON_RECORDED",
|
|
@@ -621,7 +676,38 @@ export async function addAgentLesson(input, root = process.cwd()) {
|
|
|
621
676
|
}
|
|
622
677
|
export async function listAgentLessons(root = process.cwd()) {
|
|
623
678
|
const lines = await readAgentLessons(root);
|
|
624
|
-
return lines.map((line) => JSON.parse(line));
|
|
679
|
+
return lines.map((line) => normalizeAgentLesson(JSON.parse(line)));
|
|
680
|
+
}
|
|
681
|
+
export async function deleteAgentLesson(id, root = process.cwd()) {
|
|
682
|
+
const lines = await readAgentLessons(root);
|
|
683
|
+
let deletedLesson;
|
|
684
|
+
const retained = [];
|
|
685
|
+
for (const line of lines) {
|
|
686
|
+
const parsed = JSON.parse(line);
|
|
687
|
+
const lesson = normalizeAgentLesson(parsed);
|
|
688
|
+
if (lesson.id === id) {
|
|
689
|
+
deletedLesson = lesson;
|
|
690
|
+
}
|
|
691
|
+
else {
|
|
692
|
+
retained.push(JSON.stringify(parsed));
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
if (!deletedLesson) {
|
|
696
|
+
throw new Error(`lesson not found: ${id}`);
|
|
697
|
+
}
|
|
698
|
+
await writeFile(resolveWorkflowPath(root, FILES.agentLessons), retained.length > 0 ? `${retained.join("\n")}\n` : "", "utf8");
|
|
699
|
+
await appendEvent(root, removeUndefined({
|
|
700
|
+
type: "LESSON_DELETED",
|
|
701
|
+
taskId: deletedLesson.taskId,
|
|
702
|
+
actor: "parent",
|
|
703
|
+
summary: `Deleted lesson ${id}`,
|
|
704
|
+
metadata: {
|
|
705
|
+
lessonId: id,
|
|
706
|
+
operation: deletedLesson.operation,
|
|
707
|
+
errorSignature: deletedLesson.errorSignature,
|
|
708
|
+
},
|
|
709
|
+
}));
|
|
710
|
+
return { deleted: true, id };
|
|
625
711
|
}
|
|
626
712
|
export async function promoteAgentLessons({ to, filter, root = process.cwd(), }) {
|
|
627
713
|
const lessons = (await listAgentLessons(root)).filter((lesson) => {
|
|
@@ -653,6 +739,29 @@ export async function promoteAgentLessons({ to, filter, root = process.cwd(), })
|
|
|
653
739
|
});
|
|
654
740
|
return { artifact, lessons };
|
|
655
741
|
}
|
|
742
|
+
function normalizeAgentLesson(value) {
|
|
743
|
+
const lesson = value;
|
|
744
|
+
return {
|
|
745
|
+
...lesson,
|
|
746
|
+
id: lesson.id ?? legacyLessonId(lesson),
|
|
747
|
+
};
|
|
748
|
+
}
|
|
749
|
+
function legacyLessonId(lesson) {
|
|
750
|
+
const stablePayload = JSON.stringify({
|
|
751
|
+
timestamp: lesson.timestamp,
|
|
752
|
+
actor: lesson.actor,
|
|
753
|
+
operation: lesson.operation,
|
|
754
|
+
failedAction: lesson.failedAction,
|
|
755
|
+
errorSignature: lesson.errorSignature,
|
|
756
|
+
rootCause: lesson.rootCause,
|
|
757
|
+
fix: lesson.fix,
|
|
758
|
+
prevention: lesson.prevention,
|
|
759
|
+
appliesTo: lesson.appliesTo,
|
|
760
|
+
verifiedBy: lesson.verifiedBy,
|
|
761
|
+
taskId: lesson.taskId,
|
|
762
|
+
});
|
|
763
|
+
return `legacy-${createHash("sha256").update(stablePayload).digest("hex").slice(0, 16)}`;
|
|
764
|
+
}
|
|
656
765
|
export async function writeSourceOfTruth(entries, root = process.cwd()) {
|
|
657
766
|
await writeJson(path.join(root, ".agent-workflow", FILES.sourceOfTruth), entries);
|
|
658
767
|
}
|
package/dist/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,mBAAmB,EACnB,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAa3E,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEtE,MAAM,aAAa,GAAY;IAC7B;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EACL,mGAAmG;QACrG,QAAQ,EAAE;YACR,WAAW;YACX,UAAU;YACV,WAAW;YACX,WAAW;YACX,SAAS;YACT,SAAS;YACT,UAAU;SACX;QACD,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,CAAC;QACpE,YAAY,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,cAAc,CAAC;QAC3E,SAAS,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;QACpC,YAAY,EAAE,CAAC,sBAAsB,EAAE,cAAc,CAAC;QACtD,KAAK,EAAE,qCAAqC;QAC5C,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;QACvC,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE;YACZ,oFAAoF;YACpF,0GAA0G;YAC1G,2FAA2F;SAC5F;KACF;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EACL,sFAAsF;QACxF,QAAQ,EAAE;YACR,QAAQ;YACR,WAAW;YACX,UAAU;YACV,MAAM;YACN,IAAI;YACJ,MAAM;YACN,SAAS;YACT,MAAM;SACP;QACD,KAAK,EAAE;YACL,QAAQ;YACR,WAAW;YACX,WAAW;YACX,qBAAqB;YACrB,oBAAoB;YACpB,mBAAmB;YACnB,MAAM;YACN,IAAI;YACJ,kBAAkB;YAClB,wBAAwB;SACzB;QACD,YAAY,EAAE;YACZ,eAAe;YACf,uBAAuB;YACvB,oBAAoB;SACrB;QACD,SAAS,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;QAC5C,YAAY,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC;QAC1C,KAAK,EAAE,iCAAiC;QACxC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE;YACZ,+EAA+E;YAC/E,uGAAuG;YACvG,6FAA6F;SAC9F;KACF;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EACL,6EAA6E;QAC/E,QAAQ,EAAE;YACR,SAAS;YACT,SAAS;YACT,cAAc;YACd,MAAM;YACN,UAAU;YACV,SAAS;YACT,OAAO;SACR;QACD,KAAK,EAAE;YACL,WAAW;YACX,kBAAkB;YAClB,iBAAiB;YACjB,WAAW;YACX,kBAAkB;SACnB;QACD,YAAY,EAAE,CAAC,aAAa,EAAE,4BAA4B,CAAC;QAC3D,SAAS,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;QAC5C,YAAY,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,cAAc,CAAC;QACjE,KAAK,EAAE,gCAAgC;QACvC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC5B,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,qFAAqF;YACrF,oEAAoE;YACpE,yFAAyF;YACzF,mFAAmF;YACnF,0EAA0E;SAC3E;KACF;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EACL,iFAAiF;QACnF,QAAQ,EAAE;YACR,MAAM;YACN,WAAW;YACX,QAAQ;YACR,MAAM;YACN,WAAW;YACX,YAAY;YACZ,MAAM;YACN,QAAQ;YACR,MAAM;SACP;QACD,KAAK,EAAE;YACL,WAAW;YACX,WAAW;YACX,IAAI;YACJ,MAAM;YACN,UAAU;YACV,QAAQ;YACR,mBAAmB;SACpB;QACD,YAAY,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;QACrE,SAAS,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,iBAAiB,CAAC;QACrD,YAAY,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,cAAc,CAAC;QAC9D,KAAK,EAAE,iCAAiC;QACxC,MAAM,EAAE,CAAC,qCAAqC,CAAC;QAC/C,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC/B,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,4DAA4D;YAC5D,qFAAqF;YACrF,kGAAkG;SACnG;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,OAAO,EACL,qFAAqF;QACvF,QAAQ,EAAE;YACR,IAAI;YACJ,cAAc;YACd,QAAQ;YACR,MAAM;YACN,OAAO;YACP,iBAAiB;SAClB;QACD,KAAK,EAAE;YACL,iBAAiB;YACjB,WAAW;YACX,IAAI;YACJ,UAAU;YACV,iBAAiB;YACjB,WAAW;SACZ;QACD,YAAY,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC;QAC1D,SAAS,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,iBAAiB,CAAC;QACrD,YAAY,EAAE;YACZ,UAAU;YACV,kBAAkB;YAClB,iBAAiB;YACjB,cAAc;SACf;QACD,KAAK,EAAE,2BAA2B;QAClC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC5B,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,0FAA0F;YAC1F,0DAA0D;YAC1D,0FAA0F;SAC3F;KACF;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EACL,8EAA8E;QAChF,QAAQ,EAAE;YACR,YAAY;YACZ,SAAS;YACT,KAAK;YACL,YAAY;YACZ,OAAO;YACP,OAAO;YACP,YAAY;YACZ,KAAK;YACL,IAAI;SACL;QACD,KAAK,EAAE;YACL,IAAI;YACJ,MAAM;YACN,qBAAqB;YACrB,gBAAgB;YAChB,6BAA6B;SAC9B;QACD,YAAY,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;QACxE,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;QAC5B,YAAY,EAAE;YACZ,kBAAkB;YAClB,UAAU;YACV,iBAAiB;YACjB,cAAc;SACf;QACD,KAAK,EAAE,qCAAqC;QAC5C,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;QACpD,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,0EAA0E;YAC1E,6DAA6D;YAC7D,mFAAmF;SACpF;KACF;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,gEAAgE;QACzE,QAAQ,EAAE;YACR,SAAS;YACT,OAAO;YACP,OAAO;YACP,MAAM;YACN,QAAQ;YACR,qBAAqB;YACrB,QAAQ;SACT;QACD,KAAK,EAAE;YACL,iBAAiB;YACjB,eAAe;YACf,kBAAkB;YAClB,SAAS;YACT,QAAQ;SACT;QACD,YAAY,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,eAAe,CAAC;QACzE,SAAS,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC;QAClC,YAAY,EAAE,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,cAAc,CAAC;QACzE,KAAK,EAAE,8BAA8B;QACrC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC5B,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE;YACZ,oEAAoE;YACpE,qEAAqE;YACrE,oEAAoE;SACrE;KACF;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EACL,iFAAiF;QACnF,QAAQ,EAAE;YACR,SAAS;YACT,QAAQ;YACR,UAAU;YACV,SAAS;YACT,WAAW;YACX,UAAU;YACV,eAAe;SAChB;QACD,KAAK,EAAE;YACL,iBAAiB;YACjB,QAAQ;YACR,KAAK;YACL,mBAAmB;YACnB,sBAAsB;YACtB,UAAU;SACX;QACD,YAAY,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,uBAAuB,CAAC;QAC1E,SAAS,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC;QACnD,YAAY,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,CAAC;QACpE,KAAK,EAAE,mCAAmC;QAC1C,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;QACvC,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,2FAA2F;YAC3F,qFAAqF;YACrF,iEAAiE;SAClE;KACF;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EACL,wEAAwE;QAC1E,QAAQ,EAAE;YACR,OAAO;YACP,KAAK;YACL,QAAQ;YACR,UAAU;YACV,UAAU;YACV,MAAM;YACN,QAAQ;YACR,SAAS;SACV;QACD,KAAK,EAAE,CAAC,wBAAwB,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC;QACrE,YAAY,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;QACtE,SAAS,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;QACpC,YAAY,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,kBAAkB,CAAC;QACjE,KAAK,EAAE,kCAAkC;QACzC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC5B,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,kGAAkG;YAClG,gFAAgF;YAChF,2EAA2E;SAC5E;KACF;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EACL,2EAA2E;QAC7E,QAAQ,EAAE;YACR,QAAQ;YACR,eAAe;YACf,MAAM;YACN,UAAU;YACV,QAAQ;YACR,OAAO;YACP,SAAS;SACV;QACD,KAAK,EAAE;YACL,QAAQ;YACR,SAAS;YACT,iBAAiB;YACjB,WAAW;YACX,WAAW;YACX,IAAI;YACJ,UAAU;YACV,QAAQ;SACT;QACD,YAAY,EAAE,CAAC,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,CAAC;QACtE,SAAS,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;QACrC,YAAY,EAAE;YACZ,sBAAsB;YACtB,iBAAiB;YACjB,cAAc;YACd,UAAU;YACV,aAAa;YACb,cAAc;SACf;QACD,KAAK,EAAE,iCAAiC;QACxC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC5B,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE;YACZ,gFAAgF;YAChF,wFAAwF;YACxF,oEAAoE;SACrE;KACF;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EACL,oFAAoF;QACtF,QAAQ,EAAE;YACR,SAAS;YACT,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,UAAU;YACV,YAAY;YACZ,QAAQ;YACR,OAAO;SACR;QACD,KAAK,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC;QACpE,YAAY,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC;QACzE,SAAS,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;QAC5C,YAAY,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC;QAC1C,KAAK,EAAE,gCAAgC;QACvC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE;YACZ,4DAA4D;YAC5D,4GAA4G;YAC5G,uEAAuE;SACxE;KACF;CACF,CAAC;AAEF,MAAM,UAAU,UAAU;IACxB,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnC,GAAG,KAAK;QACR,YAAY,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;KACtC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IAEpB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAC/B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAC/C,CAAC;IACF,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACxC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC,CAClD,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM;SACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,iBAAiB,CAAC;SACvE,IAAI,CACH,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAC1E,CAAC;IACJ,MAAM,OAAO,GAAG,MAAM;SACnB,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,QAAQ,CAAC,IAAI,CACZ,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAC1D,CACJ;SACA,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACnB,KAAK;QACL,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,CAAC,0DAA0D,CAAC;KACxE,CAAC,CAAC,CAAC;IACN,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;QAClC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAChC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,MAAM,EACN,MAAM,EACN,QAAQ,EACR,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,GAMrB;IAQC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;QAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,IAAI,EAAE,uBAAuB;QAC7B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,IAAI;KACL,CAAC,CAAC;IACH,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,YAAY;QACZ,MAAM;QACN,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,IAAI,GAKL;IACC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACzB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,UAAU,CACjB,KAAY,EACZ,IAAU,EACV,gBAA0B;IAE1B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,KAAK,IAAI,CAAC,CAAC;QACX,SAAS,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACxD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CACrC,CAAC;IACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,+BAA+B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAC;KACtC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACnD,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAClD,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QACjC,SAAS,CAAC,IAAI,CAAC,qBAAqB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CACnE,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CACtC,CAAC;IACF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,IAAI,mBAAmB,CAAC,MAAM,CAAC;QACpC,SAAS,CAAC,IAAI,CACZ,4BAA4B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,EAAE,KAAK,iBAAiB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACpE,KAAK,IAAI,CAAC,CAAC;QACX,SAAS,CAAC,IAAI,CACZ,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,EAAE,KAAK,iBAAiB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAClD,SAAS,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,KAAK,EACL,SAAS,GAKV;IACC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAU;IAC1B,OAAO;QACL,IAAI,CAAC,EAAE;QACP,IAAI,CAAC,KAAK;QACV,IAAI,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI;QACT,IAAI,CAAC,KAAK;QACV,IAAI,CAAC,YAAY;QACjB,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;KACtB;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC;SACT,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CACtB,MAAyB,EACzB,MAAe,EACf,YAAsB,EACtB,MAAe,EACf,MAAqB;IAErB,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,cAAc,CACnB,MAAM,EACN,YAAY,EACZ,MAAM,EACN,sBAAsB,EACtB,8DAA8D,EAC9D,MAAM,CACP,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,cAAc,CACnB,MAAM,EACN,YAAY,EACZ,MAAM,EACN,wBAAwB,EACxB,gEAAgE,EAChE,MAAM,CACP,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,cAAc,CACnB,MAAM,EACN,YAAY,EACZ,MAAM,EACN,sBAAsB,EACtB,sDAAsD,EACtD,MAAM,CACP,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,cAAc,CACnB,MAAM,EACN,YAAY,EACZ,MAAM,EACN,qBAAqB,EACrB,4EAA4E,EAC5E,MAAM,CACP,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,cAAc,CACnB,MAAM,EACN,YAAY,EACZ,MAAM,EACN,8BAA8B,EAC9B,gDAAgD,EAChD,MAAM,CACP,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,MAAe,EACf,YAAsB,EACtB,MAA0B,EAC1B,KAAa,EACb,KAAa,EACb,MAAqB;IAErB,MAAM,KAAK,GAAG;QACZ,KAAK,KAAK,EAAE;QACZ,EAAE;QACF,KAAK;QACL,EAAE;QACF,SAAS,MAAM,IAAI,0BAA0B,EAAE;QAC/C,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;QAC5C,EAAE;QACF,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CACR,MAAM,KAAK,CAAC,IAAI,EAAE,EAClB,EAAE,EACF,OAAO,KAAK,CAAC,EAAE,EAAE,EACjB,EAAE,EACF,KAAK,CAAC,OAAO,EACb,EAAE,EACF,eAAe,EACf,EAAE,EACF,KAAK,KAAK,CAAC,KAAK,EAAE,EAClB,EAAE,EACF,eAAe,EACf,EAAE,EACF,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,CAAC,EAC9D,EAAE,EACF,cAAc,EACd,EAAE,EACF,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,EACpD,EAAE,CACH,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IAEpB,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;SACzC,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IAEpB,OAAO,QAAQ,CACb,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,aAAa,CAAC,EACvD,EAAE,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAI,GAAG,YAAY;IAEnB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QAC1E,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,kCAAkC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAA0B,YAAY,EAAE,EAAE,CAAC,CAAC;QAC3E,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,4BAA4B,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI;YACrB,MAAM;YACN,SAAS;YACT,UAAU;YACV,OAAO;YACP,cAAc;YACd,cAAc;YACd,OAAO;YACP,UAAU;YACV,YAAY;SACb,EAAE,CAAC;YACF,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,YAAY,QAAQ,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAe,EACf,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IAEpB,IAAI,CAAC,CAAC,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,MAAM,WAAW,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,YAAY,IAAI,CAAC,QAAQ,CAAC,MAAM,eAAe,IAAI,CAAC,MAAM,EAAE;QACrE,QAAQ,EAAE;YACR,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,MAAM,CAAC,WAAW,CAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAC7D;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAMC,EACD,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IAEpB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO;IACT,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,MAAM,WAAW,CACf,IAAI,EACJ,eAAe,CAAC;QACd,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,YAAY,QAAQ,CAAC,MAAM,CAAC,MAAM,eAAe,QAAQ,CAAC,MAAM,EAAE;QAC3E,QAAQ,EAAE;YACR,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1D,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,MAAM,EACJ,QAAQ,CAAC,MAAM;gBACf,eAAe,CAAC;oBACd,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;oBAC1B,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;oBAChD,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;oBAC3C,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;iBAC5C,CAAC;SACL;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,IAAY;IACrD,OAAO,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAuB,EACvB,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IAEpB,MAAM,MAAM,GAAgB;QAC1B,EAAE,EAAE,UAAU,UAAU,EAAE,EAAE;QAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,KAAK;KACT,CAAC;IACF,MAAM,SAAS,CACb,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,EAC7C,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAC7B,EAAE,IAAI,EAAE,GAAG,EAAE,CACd,CAAC;IACF,MAAM,WAAW,CACf,IAAI,EACJ,eAAe,CAAC;QACd,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,oBAAoB,MAAM,CAAC,cAAc,EAAE;QACpD,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;KACvE,CAAC,CACH,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IAEpB,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAU,EACV,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IAEpB,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,aAAsC,CAAC;IAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACrB,aAAa,GAAG,MAAM,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,SAAS,CACb,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,EAC7C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EACrD,MAAM,CACP,CAAC;IACF,MAAM,WAAW,CACf,IAAI,EACJ,eAAe,CAAC;QACd,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,kBAAkB,EAAE,EAAE;QAC/B,QAAQ,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,cAAc,EAAE,aAAa,CAAC,cAAc;SAC7C;KACF,CAAC,CACH,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACxC,EAAE,EACF,MAAM,EACN,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,GAKrB;IACC,MAAM,OAAO,GAAG,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG;QACd,6BAA6B,EAAE,GAAG;QAClC,EAAE;QACF,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7B,MAAM,MAAM,CAAC,SAAS,EAAE;YACxB,YAAY,MAAM,CAAC,cAAc,EAAE;YACnC,iBAAiB,MAAM,CAAC,SAAS,EAAE;YACnC,UAAU,MAAM,CAAC,GAAG,EAAE;YACtB,iBAAiB,MAAM,CAAC,UAAU,EAAE;YACpC,EAAE;SACH,CAAC;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,QAAQ,GAAG,MAAM,aAAa,CAClC,IAAI,EACJ,WAAW,EACX,oBAAoB,EAAE,KAAK,EAC3B,OAAO,CACR,CAAC;IACF,MAAM,WAAW,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,YAAY,OAAO,CAAC,MAAM,eAAe,EAAE,EAAE;QACtD,SAAS,EAAE,CAAC,QAAQ,CAAC;QACrB,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE;KACtD,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,MAAM,MAAM,GAAG,KAAsC,CAAC;IACtD,OAAO;QACL,GAAG,MAAM;QACT,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,cAAc,CAAC,MAAM,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,MAAiD;IAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;IACH,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAkB,EAClB,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IAEpB,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,aAAa,CAAC,EACvD,OAAO,CACR,CAAC;AACJ,CAAC;AACD,SAAS,eAAe,CAAI,KAA8B;IACxD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAC5D,CAAC;AACT,CAAC;AAED,SAAS,MAAM,CAAC,MAAgB;IAC9B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CliIo, CliOptions } from "./types.js";
|
|
2
|
+
export declare function velocityCommand(options: CliOptions, io: CliIo): Promise<void>;
|
|
3
|
+
export declare function sprintCommand(subcommand: string | undefined, options: CliOptions, io: CliIo): Promise<void>;
|
|
4
|
+
export declare function calibrationCommand(options: CliOptions, io: CliIo): Promise<void>;
|
|
5
|
+
export declare function burndownCommand(options: CliOptions, io: CliIo): Promise<void>;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { requireArg } from "./args.js";
|
|
2
|
+
import { computeVelocity } from "./benchmark.js";
|
|
3
|
+
import { computeSprintBurndown, renderBurndownAscii } from "./burndown.js";
|
|
4
|
+
import { calibrationReport, closeSprint, startSprint, velocityTrend, } from "./sprint-metrics.js";
|
|
5
|
+
export async function velocityCommand(options, io) {
|
|
6
|
+
const cwd = process.cwd();
|
|
7
|
+
if (typeof options.sprints === "string") {
|
|
8
|
+
const limit = Number(options.sprints);
|
|
9
|
+
if (!Number.isInteger(limit) || limit <= 0) {
|
|
10
|
+
throw new Error("--sprints must be a positive integer");
|
|
11
|
+
}
|
|
12
|
+
const report = await velocityTrend(cwd, limit);
|
|
13
|
+
if (options.json) {
|
|
14
|
+
io.log(JSON.stringify(report, null, 2));
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
io.log(`Sprint Velocity Report`);
|
|
18
|
+
io.log(` Trend: ${report.trend}`);
|
|
19
|
+
for (const sprint of report.sprints) {
|
|
20
|
+
io.log(` ${sprint.sprintId} ${sprint.storiesCompleted} stories ${sprint.pointsCompleted} pts`);
|
|
21
|
+
}
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const report = await computeVelocity(cwd);
|
|
25
|
+
if (options.json) {
|
|
26
|
+
io.log(JSON.stringify(report, null, 2));
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
io.log(`Velocity Report`);
|
|
30
|
+
io.log(` Stories completed: ${report.totalStoriesCompleted}`);
|
|
31
|
+
io.log(` Points completed: ${report.totalPointsCompleted}`);
|
|
32
|
+
io.log(` Avg actual days: ${report.avgActualDaysPerStory !== null ? report.avgActualDaysPerStory + "d" : "n/a"}`);
|
|
33
|
+
io.log(` vs Solo estimate: ${report.avgVsSoloPct !== null ? report.avgVsSoloPct + "%" : "n/a"}`);
|
|
34
|
+
io.log(` vs AI estimate: ${report.avgVsAiUnguidedPct !== null ? report.avgVsAiUnguidedPct + "%" : "n/a"}`);
|
|
35
|
+
io.log(` Trend: ${report.trend}`);
|
|
36
|
+
if (report.weeks.length > 0) {
|
|
37
|
+
io.log(`\nWeekly breakdown:`);
|
|
38
|
+
for (const week of report.weeks) {
|
|
39
|
+
io.log(` ${week.week} ${week.storiesCompleted} stories ${week.pointsCompleted} pts`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export async function sprintCommand(subcommand, options, io) {
|
|
44
|
+
const cwd = process.cwd();
|
|
45
|
+
if (subcommand === "start") {
|
|
46
|
+
const id = requireArg(options, "id");
|
|
47
|
+
const taskIds = requireArg(options, "tasks")
|
|
48
|
+
.split(",")
|
|
49
|
+
.map((taskId) => taskId.trim())
|
|
50
|
+
.filter(Boolean);
|
|
51
|
+
const sprint = await startSprint(cwd, id, taskIds);
|
|
52
|
+
if (options.json) {
|
|
53
|
+
io.log(JSON.stringify(sprint, null, 2));
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
io.log(`Sprint started: ${sprint.id} (${sprint.taskIds.length} tasks)`);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (subcommand === "close") {
|
|
60
|
+
const id = requireArg(options, "id");
|
|
61
|
+
const sprint = await closeSprint(cwd, id);
|
|
62
|
+
if (options.json) {
|
|
63
|
+
io.log(JSON.stringify(sprint, null, 2));
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
io.log(`Sprint closed: ${sprint.id}`);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
throw new Error(`unknown sprint command: ${subcommand ?? ""}`.trim());
|
|
70
|
+
}
|
|
71
|
+
export async function calibrationCommand(options, io) {
|
|
72
|
+
const report = await calibrationReport(process.cwd());
|
|
73
|
+
const roleFilter = typeof options.role === "string" ? options.role : null;
|
|
74
|
+
const filtered = roleFilter
|
|
75
|
+
? { roles: report.roles.filter((role) => role.role === roleFilter) }
|
|
76
|
+
: report;
|
|
77
|
+
if (options.json) {
|
|
78
|
+
io.log(JSON.stringify(filtered, null, 2));
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
io.log(`Calibration Report`);
|
|
82
|
+
for (const role of filtered.roles) {
|
|
83
|
+
io.log(` ${role.role} stories=${role.stories} declared=${role.avgDeclaredDays}d actual=${role.avgActualDays}d error=${role.avgErrorPct}% bias=${role.bias}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
export async function burndownCommand(options, io) {
|
|
87
|
+
const cwd = process.cwd();
|
|
88
|
+
const sprintTaskIds = requireArg(options, "sprint")
|
|
89
|
+
.split(",")
|
|
90
|
+
.map((taskId) => taskId.trim())
|
|
91
|
+
.filter(Boolean);
|
|
92
|
+
if (sprintTaskIds.length === 0) {
|
|
93
|
+
throw new Error(`--sprint requires at least one task id`);
|
|
94
|
+
}
|
|
95
|
+
const series = await computeSprintBurndown(cwd, sprintTaskIds);
|
|
96
|
+
if (options.json) {
|
|
97
|
+
io.log(JSON.stringify(series, null, 2));
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
for (const warning of series.warnings)
|
|
101
|
+
io.log(`⚠ ${warning}`);
|
|
102
|
+
if (series.totalPoints === 0) {
|
|
103
|
+
io.log("No points to chart — record estimates first with: orchestra estimate --task <id> ...");
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
io.log(`Sprint burndown total=${series.totalPoints} pts tasks=${series.sprintTaskIds.length}`);
|
|
107
|
+
io.log("");
|
|
108
|
+
io.log(renderBurndownAscii(series));
|
|
109
|
+
io.log("");
|
|
110
|
+
io.log("Task breakdown:");
|
|
111
|
+
for (const task of series.taskBreakdown) {
|
|
112
|
+
const architectPoints = task.architectPoints !== null ? `arch=${task.architectPoints}` : "arch=—";
|
|
113
|
+
const developerPoints = task.developerPoints !== null ? `dev=${task.developerPoints}` : "dev=—";
|
|
114
|
+
const done = task.completedAt
|
|
115
|
+
? `done ${task.completedAt.slice(0, 10)}`
|
|
116
|
+
: "pending";
|
|
117
|
+
io.log(` ${task.taskId.padEnd(14)} ${architectPoints.padEnd(10)} ${developerPoints.padEnd(10)} resolved=${task.resolvedPoints} ${done}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=sprint-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprint-commands.js","sourceRoot":"","sources":["../src/sprint-commands.ts"],"names":[],"mappings":"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"}
|