@jterrats/open-orchestra 0.1.0 → 0.3.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.
Files changed (208) hide show
  1. package/AGENTS.md +90 -0
  2. package/CHANGELOG.md +104 -0
  3. package/CLAUDE.md +103 -0
  4. package/README.md +173 -22
  5. package/dist/assets/web-console.js +743 -0
  6. package/dist/autonomous-workflow.d.ts +45 -0
  7. package/dist/autonomous-workflow.js +386 -0
  8. package/dist/autonomous-workflow.js.map +1 -0
  9. package/dist/benchmark.d.ts +8 -0
  10. package/dist/benchmark.js +193 -0
  11. package/dist/benchmark.js.map +1 -0
  12. package/dist/burndown.d.ts +3 -0
  13. package/dist/burndown.js +141 -0
  14. package/dist/burndown.js.map +1 -0
  15. package/dist/clarification.d.ts +6 -0
  16. package/dist/clarification.js +88 -0
  17. package/dist/clarification.js.map +1 -0
  18. package/dist/cli.js +221 -4
  19. package/dist/cli.js.map +1 -1
  20. package/dist/collaboration-flows.d.ts +5 -0
  21. package/dist/collaboration-flows.js +256 -0
  22. package/dist/collaboration-flows.js.map +1 -0
  23. package/dist/command-manifest.d.ts +11 -0
  24. package/dist/command-manifest.js +52 -0
  25. package/dist/command-manifest.js.map +1 -0
  26. package/dist/commands.d.ts +39 -0
  27. package/dist/commands.js +1069 -2
  28. package/dist/commands.js.map +1 -1
  29. package/dist/constants.d.ts +4 -0
  30. package/dist/constants.js +22 -0
  31. package/dist/constants.js.map +1 -1
  32. package/dist/defaults.d.ts +7 -11
  33. package/dist/defaults.js +7 -625
  34. package/dist/defaults.js.map +1 -1
  35. package/dist/delegation-decision.d.ts +14 -0
  36. package/dist/delegation-decision.js +391 -0
  37. package/dist/delegation-decision.js.map +1 -0
  38. package/dist/detect-commands.d.ts +3 -0
  39. package/dist/detect-commands.js +28 -0
  40. package/dist/detect-commands.js.map +1 -0
  41. package/dist/diagram-validation.d.ts +36 -0
  42. package/dist/diagram-validation.js +118 -0
  43. package/dist/diagram-validation.js.map +1 -0
  44. package/dist/fs-utils.d.ts +2 -0
  45. package/dist/fs-utils.js +75 -6
  46. package/dist/fs-utils.js.map +1 -1
  47. package/dist/github.d.ts +11 -0
  48. package/dist/github.js +48 -0
  49. package/dist/github.js.map +1 -0
  50. package/dist/health-checks.d.ts +28 -0
  51. package/dist/health-checks.js +219 -0
  52. package/dist/health-checks.js.map +1 -0
  53. package/dist/health-commands.d.ts +2 -0
  54. package/dist/health-commands.js +18 -0
  55. package/dist/health-commands.js.map +1 -0
  56. package/dist/instruction-apply.d.ts +34 -0
  57. package/dist/instruction-apply.js +150 -0
  58. package/dist/instruction-apply.js.map +1 -0
  59. package/dist/instruction-blocks.d.ts +22 -0
  60. package/dist/instruction-blocks.js +120 -0
  61. package/dist/instruction-blocks.js.map +1 -0
  62. package/dist/instruction-imports.d.ts +12 -0
  63. package/dist/instruction-imports.js +45 -0
  64. package/dist/instruction-imports.js.map +1 -0
  65. package/dist/instruction-stale.d.ts +9 -0
  66. package/dist/instruction-stale.js +106 -0
  67. package/dist/instruction-stale.js.map +1 -0
  68. package/dist/instruction-types.d.ts +66 -0
  69. package/dist/instruction-types.js +2 -0
  70. package/dist/instruction-types.js.map +1 -0
  71. package/dist/instruction-updates.d.ts +4 -0
  72. package/dist/instruction-updates.js +5 -0
  73. package/dist/instruction-updates.js.map +1 -0
  74. package/dist/knowledge-base.d.ts +10 -0
  75. package/dist/knowledge-base.js +117 -0
  76. package/dist/knowledge-base.js.map +1 -0
  77. package/dist/mcp-oauth-proxy.d.ts +39 -0
  78. package/dist/mcp-oauth-proxy.js +80 -0
  79. package/dist/mcp-oauth-proxy.js.map +1 -0
  80. package/dist/pr-review.d.ts +20 -0
  81. package/dist/pr-review.js +142 -0
  82. package/dist/pr-review.js.map +1 -0
  83. package/dist/project-detection.d.ts +22 -0
  84. package/dist/project-detection.js +174 -0
  85. package/dist/project-detection.js.map +1 -0
  86. package/dist/prompt-registry.d.ts +56 -0
  87. package/dist/prompt-registry.js +163 -0
  88. package/dist/prompt-registry.js.map +1 -0
  89. package/dist/release-candidate.d.ts +41 -0
  90. package/dist/release-candidate.js +196 -0
  91. package/dist/release-candidate.js.map +1 -0
  92. package/dist/release-commands.d.ts +4 -0
  93. package/dist/release-commands.js +50 -0
  94. package/dist/release-commands.js.map +1 -0
  95. package/dist/roles/ai-support-roles.d.ts +11 -0
  96. package/dist/roles/ai-support-roles.js +67 -0
  97. package/dist/roles/ai-support-roles.js.map +1 -0
  98. package/dist/roles/core-roles.d.ts +11 -0
  99. package/dist/roles/core-roles.js +144 -0
  100. package/dist/roles/core-roles.js.map +1 -0
  101. package/dist/roles/engineering-roles.d.ts +11 -0
  102. package/dist/roles/engineering-roles.js +176 -0
  103. package/dist/roles/engineering-roles.js.map +1 -0
  104. package/dist/roles/governance-roles.d.ts +11 -0
  105. package/dist/roles/governance-roles.js +117 -0
  106. package/dist/roles/governance-roles.js.map +1 -0
  107. package/dist/roles/index.d.ts +11 -0
  108. package/dist/roles/index.js +17 -0
  109. package/dist/roles/index.js.map +1 -0
  110. package/dist/roles/platform-ops-roles.d.ts +11 -0
  111. package/dist/roles/platform-ops-roles.js +158 -0
  112. package/dist/roles/platform-ops-roles.js.map +1 -0
  113. package/dist/roles/qa-ux-roles.d.ts +11 -0
  114. package/dist/roles/qa-ux-roles.js +193 -0
  115. package/dist/roles/qa-ux-roles.js.map +1 -0
  116. package/dist/roles/release-ops-roles.d.ts +11 -0
  117. package/dist/roles/release-ops-roles.js +109 -0
  118. package/dist/roles/release-ops-roles.js.map +1 -0
  119. package/dist/runtime-adapters.d.ts +6 -0
  120. package/dist/runtime-adapters.js +88 -0
  121. package/dist/runtime-adapters.js.map +1 -0
  122. package/dist/runtime-bootstrap.d.ts +12 -0
  123. package/dist/runtime-bootstrap.js +136 -0
  124. package/dist/runtime-bootstrap.js.map +1 -0
  125. package/dist/skills.d.ts +36 -0
  126. package/dist/skills.js +665 -0
  127. package/dist/skills.js.map +1 -0
  128. package/dist/subagent-protocol.d.ts +41 -0
  129. package/dist/subagent-protocol.js +179 -0
  130. package/dist/subagent-protocol.js.map +1 -0
  131. package/dist/telemetry-consent.d.ts +24 -0
  132. package/dist/telemetry-consent.js +95 -0
  133. package/dist/telemetry-consent.js.map +1 -0
  134. package/dist/telemetry-export.d.ts +14 -0
  135. package/dist/telemetry-export.js +126 -0
  136. package/dist/telemetry-export.js.map +1 -0
  137. package/dist/telemetry-records.d.ts +3 -0
  138. package/dist/telemetry-records.js +96 -0
  139. package/dist/telemetry-records.js.map +1 -0
  140. package/dist/telemetry-redaction.d.ts +9 -0
  141. package/dist/telemetry-redaction.js +55 -0
  142. package/dist/telemetry-redaction.js.map +1 -0
  143. package/dist/telemetry-types.d.ts +52 -0
  144. package/dist/telemetry-types.js +2 -0
  145. package/dist/telemetry-types.js.map +1 -0
  146. package/dist/telemetry.d.ts +4 -0
  147. package/dist/telemetry.js +4 -0
  148. package/dist/telemetry.js.map +1 -0
  149. package/dist/types.d.ts +304 -1
  150. package/dist/types.js +1 -1
  151. package/dist/types.js.map +1 -1
  152. package/dist/validation.d.ts +3 -1
  153. package/dist/validation.js +28 -5
  154. package/dist/validation.js.map +1 -1
  155. package/dist/web-api.js +167 -3
  156. package/dist/web-api.js.map +1 -1
  157. package/dist/web-console.js +6 -160
  158. package/dist/web-console.js.map +1 -1
  159. package/dist/workflow-gates.js +4 -2
  160. package/dist/workflow-gates.js.map +1 -1
  161. package/dist/workflow-services.js +143 -67
  162. package/dist/workflow-services.js.map +1 -1
  163. package/dist/workflow-templates.d.ts +10 -0
  164. package/dist/workflow-templates.js +141 -0
  165. package/dist/workflow-templates.js.map +1 -0
  166. package/dist/workspace-classification.d.ts +5 -0
  167. package/dist/workspace-classification.js +127 -0
  168. package/dist/workspace-classification.js.map +1 -0
  169. package/dist/workspace-validator.js +11 -1
  170. package/dist/workspace-validator.js.map +1 -1
  171. package/dist/workspace.d.ts +8 -4
  172. package/dist/workspace.js +111 -4
  173. package/dist/workspace.js.map +1 -1
  174. package/docs/autonomous-workflow.md +165 -0
  175. package/docs/benchmark.md +219 -0
  176. package/docs/dev-team-specialist-role-profiles.md +171 -0
  177. package/docs/mcp-oauth-proxy-evaluation.md +44 -0
  178. package/docs/multi-agent-orchestrator-backlog.md +413 -1
  179. package/docs/open-orchestra-dogfooding-findings.md +66 -0
  180. package/docs/orchestra-mvp.md +161 -3
  181. package/docs/runtime-adapters.md +86 -0
  182. package/docs/runtime-llm-flow.md +124 -0
  183. package/docs/setup-agents-dogfooding-findings.md +101 -0
  184. package/docs/skill-loading-strategy.md +114 -0
  185. package/docs/source-of-truth-and-agent-learning.md +83 -0
  186. package/package.json +9 -5
  187. package/rules/agent-roles.mdc +30 -0
  188. package/rules/ai-assisted-development.mdc +22 -0
  189. package/skills/agent-learning/SKILL.md +24 -0
  190. package/skills/agent-learning/manifest.json +40 -0
  191. package/skills/backlog-sync/SKILL.md +24 -0
  192. package/skills/backlog-sync/manifest.json +41 -0
  193. package/skills/diagram-export/SKILL.md +35 -0
  194. package/skills/diagram-export/manifest.json +40 -0
  195. package/skills/model-evaluation/SKILL.md +25 -0
  196. package/skills/model-evaluation/manifest.json +41 -0
  197. package/skills/playwright-evidence/SKILL.md +28 -0
  198. package/skills/playwright-evidence/manifest.json +46 -0
  199. package/skills/pr-review/SKILL.md +23 -0
  200. package/skills/pr-review/manifest.json +43 -0
  201. package/skills/prompt-registry/SKILL.md +24 -0
  202. package/skills/prompt-registry/manifest.json +45 -0
  203. package/skills/release-readiness/SKILL.md +25 -0
  204. package/skills/release-readiness/manifest.json +45 -0
  205. package/skills/source-of-truth/SKILL.md +24 -0
  206. package/skills/source-of-truth/manifest.json +47 -0
  207. package/skills/static-analysis/SKILL.md +26 -0
  208. package/skills/static-analysis/manifest.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { BurndownSeries } from "./types.js";
2
+ export declare function computeSprintBurndown(root: string, sprintTaskIds: string[]): Promise<BurndownSeries>;
3
+ export declare function renderBurndownAscii(series: BurndownSeries): string;
@@ -0,0 +1,141 @@
1
+ import { readEvents } from "./workspace.js";
2
+ export async function computeSprintBurndown(root, sprintTaskIds) {
3
+ const events = await readEvents(root);
4
+ const warnings = [];
5
+ const breakdown = [];
6
+ // Resolve estimates per task (developer > architect fallback)
7
+ for (const taskId of sprintTaskIds) {
8
+ let architectPoints = null;
9
+ let developerPoints = null;
10
+ for (const evt of events) {
11
+ if (evt.type !== "DECISION_RECORDED" || evt.taskId !== taskId)
12
+ continue;
13
+ const pts = typeof evt.metadata.points === "number" ? evt.metadata.points : null;
14
+ if (evt.actor === "architect" && pts !== null)
15
+ architectPoints = pts;
16
+ if (evt.actor === "developer" && pts !== null)
17
+ developerPoints = pts;
18
+ }
19
+ const resolvedPoints = developerPoints ?? architectPoints ?? null;
20
+ if (resolvedPoints === null) {
21
+ warnings.push(`${taskId}: no estimate found — excluded from burndown`);
22
+ }
23
+ // Find when this task's release phase completed
24
+ let completedAt = null;
25
+ for (const evt of events) {
26
+ if (evt.type === "AUTONOMOUS_PHASE_DONE" &&
27
+ evt.taskId === taskId &&
28
+ typeof evt.metadata.phase === "string" &&
29
+ evt.metadata.phase === "release") {
30
+ completedAt = evt.timestamp;
31
+ }
32
+ }
33
+ breakdown.push({
34
+ taskId,
35
+ architectPoints,
36
+ developerPoints,
37
+ resolvedPoints: resolvedPoints ?? 0,
38
+ completedAt,
39
+ });
40
+ }
41
+ const includedTasks = breakdown.filter((t) => (developerPoints(t) ?? architectPoints(t)) !== null);
42
+ const totalPoints = includedTasks.reduce((sum, t) => sum + t.resolvedPoints, 0);
43
+ if (totalPoints === 0) {
44
+ return {
45
+ sprintTaskIds,
46
+ totalPoints: 0,
47
+ idealLine: [],
48
+ actualLine: [],
49
+ taskBreakdown: breakdown,
50
+ warnings,
51
+ };
52
+ }
53
+ // Build ideal line: linear from totalPoints to 0 over sprint length (days)
54
+ // Sprint length = number of tasks (1 task = 1 day for the ideal baseline)
55
+ const sprintDays = includedTasks.length;
56
+ const idealLine = [];
57
+ for (let d = 0; d <= sprintDays; d++) {
58
+ idealLine.push({
59
+ day: d,
60
+ remaining: Math.round(totalPoints * (1 - d / sprintDays)),
61
+ });
62
+ }
63
+ // Build actual line: sort tasks by completedAt, burn down as each completes
64
+ const sorted = [...includedTasks].sort((a, b) => {
65
+ if (!a.completedAt && !b.completedAt)
66
+ return 0;
67
+ if (!a.completedAt)
68
+ return 1;
69
+ if (!b.completedAt)
70
+ return -1;
71
+ return (new Date(a.completedAt).getTime() - new Date(b.completedAt).getTime());
72
+ });
73
+ const actualLine = [];
74
+ let remaining = totalPoints;
75
+ actualLine.push({ day: 0, remaining, completedTaskIds: [] });
76
+ for (let i = 0; i < sorted.length; i++) {
77
+ const t = sorted[i];
78
+ if (!t.completedAt)
79
+ break; // incomplete tasks stop the actual line
80
+ remaining -= t.resolvedPoints;
81
+ actualLine.push({
82
+ day: i + 1,
83
+ remaining: Math.max(0, remaining),
84
+ completedTaskIds: [t.taskId],
85
+ });
86
+ }
87
+ return {
88
+ sprintTaskIds,
89
+ totalPoints,
90
+ idealLine,
91
+ actualLine,
92
+ taskBreakdown: breakdown,
93
+ warnings,
94
+ };
95
+ }
96
+ function architectPoints(t) {
97
+ return t.architectPoints;
98
+ }
99
+ function developerPoints(t) {
100
+ return t.developerPoints;
101
+ }
102
+ // Render burndown as an ASCII chart (width=50, height=10)
103
+ export function renderBurndownAscii(series) {
104
+ if (series.totalPoints === 0)
105
+ return "(no points to chart)";
106
+ const width = 50;
107
+ const height = 10;
108
+ const grid = Array.from({ length: height + 1 }, () => Array(width + 2).fill(" "));
109
+ const maxDay = Math.max(series.idealLine.at(-1)?.day ?? 0, series.actualLine.at(-1)?.day ?? 0);
110
+ if (maxDay === 0)
111
+ return "(no data to chart)";
112
+ const scaleX = (day) => Math.round((day / maxDay) * width);
113
+ const scaleY = (pts) => height - Math.round((pts / series.totalPoints) * height);
114
+ // Plot ideal line with dots
115
+ for (const pt of series.idealLine) {
116
+ const x = scaleX(pt.day);
117
+ const y = scaleY(pt.remaining);
118
+ if (y >= 0 && y <= height && x >= 0 && x <= width) {
119
+ grid[y][x] = "·";
120
+ }
121
+ }
122
+ // Plot actual line with *
123
+ for (const pt of series.actualLine) {
124
+ const x = scaleX(pt.day);
125
+ const y = scaleY(pt.remaining);
126
+ if (y >= 0 && y <= height && x >= 0 && x <= width) {
127
+ grid[y][x] = "*";
128
+ }
129
+ }
130
+ const lines = [];
131
+ for (let row = 0; row <= height; row++) {
132
+ const pts = Math.round(series.totalPoints * (1 - row / height));
133
+ const label = String(pts).padStart(3);
134
+ lines.push(`${label} │${grid[row].join("")}`);
135
+ }
136
+ lines.push(` └${"─".repeat(width + 1)}`);
137
+ lines.push(` Day 0${" ".repeat(width - 10)}Day ${maxDay}`);
138
+ lines.push(` · ideal * actual`);
139
+ return lines.join("\n");
140
+ }
141
+ //# sourceMappingURL=burndown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"burndown.js","sourceRoot":"","sources":["../src/burndown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ClarificationAnswerInput, ClarificationInput, ClarificationRecord } from "./types.js";
2
+ export declare const CLARIFICATIONS_FILE = "clarifications.jsonl";
3
+ export declare function clarificationsPath(root: string): string;
4
+ export declare function openClarification(root: string, input: ClarificationInput): Promise<ClarificationRecord>;
5
+ export declare function answerClarification(root: string, input: ClarificationAnswerInput): Promise<ClarificationRecord>;
6
+ export declare function listClarifications(root: string, runId: string): Promise<ClarificationRecord[]>;
@@ -0,0 +1,88 @@
1
+ import { existsSync } from "node:fs";
2
+ import { appendFile, readFile } from "node:fs/promises";
3
+ import path from "node:path";
4
+ import { ensureDir, resolveWorkflowPath } from "./fs-utils.js";
5
+ import { appendEvent } from "./workspace.js";
6
+ export const CLARIFICATIONS_FILE = "clarifications.jsonl";
7
+ const ROLE_BY_TARGET = {
8
+ po: "product_owner",
9
+ architect: "architect",
10
+ };
11
+ export function clarificationsPath(root) {
12
+ return resolveWorkflowPath(root, CLARIFICATIONS_FILE);
13
+ }
14
+ export async function openClarification(root, input) {
15
+ const now = new Date().toISOString();
16
+ const toRole = ROLE_BY_TARGET[input.to];
17
+ const record = {
18
+ id: `clarify-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`,
19
+ runId: input.runId,
20
+ taskId: input.taskId,
21
+ fromRole: input.fromRole,
22
+ toRole,
23
+ question: input.question,
24
+ status: "open",
25
+ createdAt: now,
26
+ };
27
+ const file = clarificationsPath(root);
28
+ await ensureDir(path.dirname(file));
29
+ await appendFile(file, `${JSON.stringify(record)}\n`, "utf8");
30
+ await appendEvent(root, {
31
+ type: "CLARIFICATION_OPENED",
32
+ taskId: input.taskId,
33
+ actor: input.fromRole,
34
+ summary: `Clarification requested from ${toRole}: ${input.question.slice(0, 80)}`,
35
+ metadata: { clarificationId: record.id, runId: input.runId, toRole },
36
+ });
37
+ return record;
38
+ }
39
+ export async function answerClarification(root, input) {
40
+ const all = await listAllClarifications(root);
41
+ const existing = all.find((c) => c.id === input.id);
42
+ if (!existing)
43
+ throw new Error(`clarification not found: ${input.id}`);
44
+ if (existing.status === "answered") {
45
+ throw new Error(`clarification ${input.id} is already answered`);
46
+ }
47
+ const now = new Date().toISOString();
48
+ const updated = {
49
+ ...existing,
50
+ answer: input.answer,
51
+ status: "answered",
52
+ answeredAt: now,
53
+ };
54
+ const file = clarificationsPath(root);
55
+ await appendFile(file, `${JSON.stringify(updated)}\n`, "utf8");
56
+ await appendEvent(root, {
57
+ type: "CLARIFICATION_ANSWERED",
58
+ taskId: existing.taskId,
59
+ actor: existing.toRole,
60
+ summary: `Clarification answered for ${existing.fromRole}: ${input.answer.slice(0, 80)}`,
61
+ metadata: {
62
+ clarificationId: updated.id,
63
+ runId: existing.runId,
64
+ fromRole: existing.fromRole,
65
+ },
66
+ });
67
+ return updated;
68
+ }
69
+ export async function listClarifications(root, runId) {
70
+ const all = await listAllClarifications(root);
71
+ return all.filter((c) => c.runId === runId);
72
+ }
73
+ async function listAllClarifications(root) {
74
+ const file = clarificationsPath(root);
75
+ if (!existsSync(file))
76
+ return [];
77
+ const lines = (await readFile(file, "utf8"))
78
+ .trim()
79
+ .split("\n")
80
+ .filter(Boolean);
81
+ const latest = new Map();
82
+ for (const line of lines) {
83
+ const r = JSON.parse(line);
84
+ latest.set(r.id, r);
85
+ }
86
+ return [...latest.values()];
87
+ }
88
+ //# sourceMappingURL=clarification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clarification.js","sourceRoot":"","sources":["../src/clarification.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -1,17 +1,28 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { dirname, join } from "node:path";
3
+ import { fileURLToPath } from "node:url";
1
4
  import { parseArgs } from "./args.js";
2
- import { approvalsApproveCommand, approvalsListCommand, approvalsRejectCommand, approvalsShowCommand, budgetCheckCommand, configShowCommand, decisionAddCommand, decisionListCommand, evidenceCommand, evidenceListCommand, gateCommand, graphPlanCommand, graphRunReadyCommand, graphRunNextCommand, handoffCommand, initCommand, lockClaimCommand, lockListCommand, lockReleaseCommand, modelProvidersCommand, modelCompleteFakeCommand, modelProvenanceAddCommand, modelProvenanceListCommand, modelSetRoleCommand, contextCommand, planCommand, runCommand, playwrightEvidenceCommand, playwrightPlanCommand, prSummaryCommand, readinessCommand, rolesListCommand, reviewCommand, reviewListCommand, statusCommand, summaryCommand, taskAddCommand, taskDepsCommand, taskListCommand, taskUpdateCommand, usageCommand, validateCommand, webCommand, } from "./commands.js";
5
+ import { workflowRunCommand, workflowRunListCommand, workflowClarifyCommand, workflowClarifyRespondCommand, workflowClarifyListCommand, estimateCommand, benchmarkCommand, burndownCommand, approvalsApproveCommand, approvalsListCommand, approvalsRejectCommand, approvalsShowCommand, budgetCheckCommand, collaborationFlowsCommand, collaborationRecommendCommand, commandsManifestCommand, configShowCommand, decisionAddCommand, decisionListCommand, delegationDecideCommand, diagramsLintCommand, evidenceCommand, evidenceListCommand, gateCommand, graphPlanCommand, graphRunReadyCommand, graphRunNextCommand, handoffCommand, initCommand, instructionsApplyCommand, instructionsBlockCommand, instructionsImportsCommand, instructionsStaleCommand, lockClaimCommand, lockListCommand, lockReleaseCommand, modelProvidersCommand, mcpOAuthProxyEvaluateCommand, modelCompleteFakeCommand, modelProvenanceAddCommand, modelProvenanceListCommand, modelSetRoleCommand, contextCommand, planCommand, runCommand, playwrightEvidenceCommand, playwrightPlanCommand, protocolBlockCommand, protocolRenderCommand, prSummaryCommand, readinessCommand, rolesListCommand, skillsListCommand, skillsPlanCommand, skillsRenderCommand, lessonsPromoteCommand, lessonsAddCommand, lessonsListCommand, sourcesListCommand, skillsValidateCommand, reviewCommand, reviewListCommand, statusCommand, summaryCommand, taskAddCommand, taskDepsCommand, taskListCommand, taskUpdateCommand, telemetryDisableCommand, telemetryEnableCommand, telemetryEvalDatasetCommand, telemetryExportCommand, telemetryStatusCommand, telemetrySubmitCommand, usageCommand, validateCommand, webCommand, runtimeBootstrapCommand, runtimeAdaptersCommand, workflowTemplateRenderCommand, workflowTemplatesCommand, workflowTemplateSelectCommand, } from "./commands.js";
6
+ import { healthCommand } from "./health-commands.js";
7
+ import { detectAcceptCommand, detectProfileCommand, } from "./detect-commands.js";
8
+ import { releaseCandidateCommand, releaseEvidenceCommand, releaseTagCommand, } from "./release-commands.js";
9
+ const PACKAGE_ROOT = dirname(dirname(fileURLToPath(import.meta.url)));
3
10
  const help = `orchestra
4
11
 
5
12
  Commands:
6
- init [--force]
13
+ --version | -v
14
+ version [--json]
15
+ init [--force] [--advisory] [--confirm-unknown] [--target-dir <dir>] [--target <csv>] [--bootstrap-file <file>]
7
16
  status [--json]
8
17
  validate [--json]
18
+ health [--json] [--network]
9
19
  web [--host <localhost|127.0.0.1|::1>] [--port <port>]
10
20
  serve [--host <localhost|127.0.0.1|::1>] [--port <port>]
11
21
  task add --id <id> --title <title> --owner <role> [--paths <csv>]
12
22
  task list [--json]
13
23
  task update --id <id> [--status <status>] [--blocked-reason <text>]
14
24
  task deps --id <id> [--json]
25
+ delegation decide --task <id> [--no-record] [--json]
15
26
  graph plan [--json]
16
27
  graph run-next [--json]
17
28
  graph run-ready [--json]
@@ -19,21 +30,65 @@ Commands:
19
30
  lock release --id <id>
20
31
  lock list [--json]
21
32
  roles list [--json]
33
+ skills list [--json]
34
+ skills plan --task <id> [--json]
35
+ skills render --target <generic|claude|cursor|codex|vscode|windsurf> [--task <id>|--skills <csv>] [--json]
36
+ skills validate [--json]
37
+ protocol render [--target <generic|claude|cursor|codex|vscode|windsurf>] [--task <id>] [--json]
38
+ protocol block --file <file> [--target <generic|claude|cursor|codex|vscode|windsurf>] [--task <id>] [--check|--dry-run|--force] [--json]
39
+ collaboration flows [--json]
40
+ collaboration recommend --task <id> [--json]
41
+ workflow run --task <id> [--gates <none|phase|all>] [--max-iterations <n>] [--resume <run-id>] [--dry-run] [--json]
42
+ workflow runs [--json]
43
+ workflow clarify --run <id> --from <role> --to <po|architect> --question <text> [--json]
44
+ workflow clarify-respond --run <id> --clarification <id> --answer <text> [--json]
45
+ workflow clarify-list --run <id> [--json]
46
+ estimate --task <id> --sizing <xs|s|m|l|xl> --solo-days <n> --ai-unguided-days <n> [--confidence <low|medium|high>] [--declared-by <role>] [--json]
47
+ benchmark --task <id> [--json]
48
+ benchmark --summary [--json]
49
+ burndown --sprint <task-ids-csv> [--json]
50
+ workflow templates [--json]
51
+ workflow select --task <id> [--json]
52
+ workflow render --task <id> [--target <generic|claude|cursor|codex|vscode|windsurf>] [--json]
53
+ commands manifest [--json]
54
+ runtime adapters [--json]
55
+ runtime bootstrap [--target <generic|claude|cursor|codex|vscode|windsurf>] [--file <file>] [--check|--dry-run|--force] [--json]
56
+ detect profile [--json]
57
+ detect accept [--output <file>] [--json]
58
+ instructions apply --manifest <file> [--check|--dry-run|--force] [--json]
59
+ instructions block --file <file> --block <id> --content-file <file> [--target <target>] [--check|--dry-run|--force] [--json]
60
+ instructions imports --registry <file> --entry <id> [--target <target>] [--json]
61
+ instructions stale --manifest <file> [--json]
62
+ diagrams lint --file <file> [--task <id>] [--json]
63
+ mcp oauth-proxy evaluate --server-url <https-url> [--enable] [--approve --approver <name>] [--json]
64
+ sources list [--json]
65
+ lessons list [--json]
66
+ lessons add --operation <text> --failed-action <text> --error-signature <text> --root-cause <text> --fix <text> --prevention <text> [--applies-to <csv>] [--verified-by <csv>]
67
+ lessons promote --to <skill|rule|doc> [--filter <text>] [--json]
22
68
  summary [--json]
23
69
  pr-summary --task <id> [--json]
24
70
  context --task <id> [--json]
25
71
  plan --task <id> [--json]
26
72
  run --task <id> [--json] [--approve-budget-fallback --approver <name>] [--reject-budget-fallback]
27
73
  readiness --task <id>
74
+ release candidate [--version <version>] [--dry-run] [--json]
75
+ release tag --version <version> --approve --approver <name> [--json]
76
+ release evidence --kind <smoke|rollback> --summary <text> [--path <file>] [--json]
28
77
  gate --gate <architecture> --task <id>
29
78
  handoff --task <id> --from <role> --to <role> --changed <text> --behavior <text> --tests <text> --commands <text>
30
- review --task <id> --role <role> --result <approve|block|changes> --findings <text> --recommendation <text> [--severity <level>]
79
+ review --task <id> --role <role> --result <approve|block|changes> --findings <text> --recommendation <text> [--severity <level>] [alias: reviewer=reviewer_critic]
31
80
  review list [--json] [--task <id>]
32
81
  decision add --task <id> --owner <role> --title <text> --context <text> --decision <text> --consequences <text>
33
82
  decision list [--json] [--task <id>]
34
- evidence add --task <id> --role <role> --type <type> --summary <text> [--path <file>] [--command <cmd>] [--exit-code <code>]
83
+ evidence add --task <id> --role <role> --type <command|file|screenshot|trace|video|log|report> --summary <text> [--path <file>] [--command <cmd>] [--exit-code <code>] [alias: validation=command]
35
84
  evidence list [--json] [--task <id>]
36
85
  usage [--json] [--task <id>]
86
+ telemetry status [--json]
87
+ telemetry enable [--level <metadata|prompt-summary|prompt-sample|eval-dataset>] [--actor <name>] [--confirm-sensitive] [--json]
88
+ telemetry disable [--actor <name>] [--json]
89
+ telemetry export [--dry-run] [--json]
90
+ telemetry submit --file <path> --endpoint <https-url> [--json]
91
+ telemetry eval-dataset [--dry-run] [--json]
37
92
  budget check [--json] [--task <id>]
38
93
  config show [--json]
39
94
  approvals list [--json] [--task <id>]
@@ -54,6 +109,12 @@ export async function runCli(argv, io = console) {
54
109
  io.log(help);
55
110
  return;
56
111
  }
112
+ if (command === "--version" || command === "-v") {
113
+ return versionCommand([], io);
114
+ }
115
+ if (command === "version") {
116
+ return versionCommand(argv.slice(1), io);
117
+ }
57
118
  if (command === "init") {
58
119
  return initCommand(parseArgs(argv.slice(1)), io);
59
120
  }
@@ -63,6 +124,9 @@ export async function runCli(argv, io = console) {
63
124
  if (command === "validate") {
64
125
  return validateCommand(parseArgs(argv.slice(1)), io);
65
126
  }
127
+ if (command === "health") {
128
+ return healthCommand(parseArgs(argv.slice(1)), io);
129
+ }
66
130
  if (command === "web" || command === "serve") {
67
131
  return webCommand(parseArgs(argv.slice(1)), io);
68
132
  }
@@ -78,6 +142,9 @@ export async function runCli(argv, io = console) {
78
142
  if (command === "task" && subcommand === "deps") {
79
143
  return taskDepsCommand(parseArgs(rest), io);
80
144
  }
145
+ if (command === "delegation" && subcommand === "decide") {
146
+ return delegationDecideCommand(parseArgs(rest), io);
147
+ }
81
148
  if (command === "graph" && subcommand === "plan") {
82
149
  return graphPlanCommand(parseArgs(rest), io);
83
150
  }
@@ -99,6 +166,113 @@ export async function runCli(argv, io = console) {
99
166
  if (command === "roles" && subcommand === "list") {
100
167
  return rolesListCommand(parseArgs(rest), io);
101
168
  }
169
+ if (command === "skills" && subcommand === "list") {
170
+ return skillsListCommand(parseArgs(rest), io);
171
+ }
172
+ if (command === "skills" && subcommand === "plan") {
173
+ return skillsPlanCommand(parseArgs(rest), io);
174
+ }
175
+ if (command === "skills" && subcommand === "render") {
176
+ return skillsRenderCommand(parseArgs(rest), io);
177
+ }
178
+ if (command === "skills" && subcommand === "validate") {
179
+ return skillsValidateCommand(parseArgs(rest), io);
180
+ }
181
+ if (command === "collaboration" && subcommand === "flows") {
182
+ return collaborationFlowsCommand(parseArgs(rest), io);
183
+ }
184
+ if (command === "collaboration" && subcommand === "recommend") {
185
+ return collaborationRecommendCommand(parseArgs(rest), io);
186
+ }
187
+ if (command === "workflow" && subcommand === "run") {
188
+ return workflowRunCommand(parseArgs(rest), io);
189
+ }
190
+ if (command === "workflow" && subcommand === "runs") {
191
+ return workflowRunListCommand(parseArgs(rest), io);
192
+ }
193
+ if (command === "workflow" &&
194
+ subcommand === "clarify" &&
195
+ rest[0] !== "respond" &&
196
+ rest[0] !== "list") {
197
+ return workflowClarifyCommand(parseArgs(rest), io);
198
+ }
199
+ if (command === "workflow" && subcommand === "clarify-respond") {
200
+ return workflowClarifyRespondCommand(parseArgs(rest), io);
201
+ }
202
+ if (command === "workflow" && subcommand === "clarify-list") {
203
+ return workflowClarifyListCommand(parseArgs(rest), io);
204
+ }
205
+ if (command === "estimate") {
206
+ return estimateCommand(parseArgs(argv.slice(1)), io);
207
+ }
208
+ if (command === "benchmark") {
209
+ return benchmarkCommand(parseArgs(argv.slice(1)), io);
210
+ }
211
+ if (command === "burndown") {
212
+ return burndownCommand(parseArgs(argv.slice(1)), io);
213
+ }
214
+ if (command === "workflow" && subcommand === "templates") {
215
+ return workflowTemplatesCommand(parseArgs(rest), io);
216
+ }
217
+ if (command === "workflow" && subcommand === "select") {
218
+ return workflowTemplateSelectCommand(parseArgs(rest), io);
219
+ }
220
+ if (command === "workflow" && subcommand === "render") {
221
+ return workflowTemplateRenderCommand(parseArgs(rest), io);
222
+ }
223
+ if (command === "commands" && subcommand === "manifest") {
224
+ return commandsManifestCommand(parseArgs(rest), io);
225
+ }
226
+ if (command === "runtime" && subcommand === "adapters") {
227
+ return runtimeAdaptersCommand(parseArgs(rest), io);
228
+ }
229
+ if (command === "runtime" && subcommand === "bootstrap") {
230
+ return runtimeBootstrapCommand(parseArgs(rest), io);
231
+ }
232
+ if (command === "protocol" && subcommand === "render") {
233
+ return protocolRenderCommand(parseArgs(rest), io);
234
+ }
235
+ if (command === "protocol" && subcommand === "block") {
236
+ return protocolBlockCommand(parseArgs(rest), io);
237
+ }
238
+ if (command === "detect" && subcommand === "profile") {
239
+ return detectProfileCommand(parseArgs(rest), io);
240
+ }
241
+ if (command === "detect" && subcommand === "accept") {
242
+ return detectAcceptCommand(parseArgs(rest), io);
243
+ }
244
+ if (command === "instructions" && subcommand === "apply") {
245
+ return instructionsApplyCommand(parseArgs(rest), io);
246
+ }
247
+ if (command === "instructions" && subcommand === "stale") {
248
+ return instructionsStaleCommand(parseArgs(rest), io);
249
+ }
250
+ if (command === "instructions" && subcommand === "block") {
251
+ return instructionsBlockCommand(parseArgs(rest), io);
252
+ }
253
+ if (command === "instructions" && subcommand === "imports") {
254
+ return instructionsImportsCommand(parseArgs(rest), io);
255
+ }
256
+ if (command === "diagrams" && subcommand === "lint") {
257
+ return diagramsLintCommand(parseArgs(rest), io);
258
+ }
259
+ if (command === "mcp" &&
260
+ subcommand === "oauth-proxy" &&
261
+ rest[0] === "evaluate") {
262
+ return mcpOAuthProxyEvaluateCommand(parseArgs(rest.slice(1)), io);
263
+ }
264
+ if (command === "sources" && subcommand === "list") {
265
+ return sourcesListCommand(parseArgs(rest), io);
266
+ }
267
+ if (command === "lessons" && subcommand === "list") {
268
+ return lessonsListCommand(parseArgs(rest), io);
269
+ }
270
+ if (command === "lessons" && subcommand === "add") {
271
+ return lessonsAddCommand(parseArgs(rest), io);
272
+ }
273
+ if (command === "lessons" && subcommand === "promote") {
274
+ return lessonsPromoteCommand(parseArgs(rest), io);
275
+ }
102
276
  if (command === "summary") {
103
277
  return summaryCommand(parseArgs(argv.slice(1)), io);
104
278
  }
@@ -108,6 +282,24 @@ export async function runCli(argv, io = console) {
108
282
  if (command === "budget" && subcommand === "check") {
109
283
  return budgetCheckCommand(parseArgs(rest), io);
110
284
  }
285
+ if (command === "telemetry" && subcommand === "status") {
286
+ return telemetryStatusCommand(parseArgs(rest), io);
287
+ }
288
+ if (command === "telemetry" && subcommand === "enable") {
289
+ return telemetryEnableCommand(parseArgs(rest), io);
290
+ }
291
+ if (command === "telemetry" && subcommand === "disable") {
292
+ return telemetryDisableCommand(parseArgs(rest), io);
293
+ }
294
+ if (command === "telemetry" && subcommand === "export") {
295
+ return telemetryExportCommand(parseArgs(rest), io);
296
+ }
297
+ if (command === "telemetry" && subcommand === "submit") {
298
+ return telemetrySubmitCommand(parseArgs(rest), io);
299
+ }
300
+ if (command === "telemetry" && subcommand === "eval-dataset") {
301
+ return telemetryEvalDatasetCommand(parseArgs(rest), io);
302
+ }
111
303
  if (command === "config" && subcommand === "show") {
112
304
  return configShowCommand(parseArgs(rest), io);
113
305
  }
@@ -138,6 +330,15 @@ export async function runCli(argv, io = console) {
138
330
  if (command === "readiness") {
139
331
  return readinessCommand(parseArgs(argv.slice(1)), io);
140
332
  }
333
+ if (command === "release" && subcommand === "candidate") {
334
+ return releaseCandidateCommand(parseArgs(rest), io);
335
+ }
336
+ if (command === "release" && subcommand === "tag") {
337
+ return releaseTagCommand(parseArgs(rest), io);
338
+ }
339
+ if (command === "release" && subcommand === "evidence") {
340
+ return releaseEvidenceCommand(parseArgs(rest), io);
341
+ }
141
342
  if (command === "gate") {
142
343
  return gateCommand(parseArgs(argv.slice(1)), io);
143
344
  }
@@ -187,4 +388,20 @@ export async function runCli(argv, io = console) {
187
388
  }
188
389
  throw new Error(`unknown command: ${argv.join(" ")}`);
189
390
  }
391
+ async function versionCommand(argv, io) {
392
+ const options = parseArgs(argv);
393
+ const packageInfo = await readPackageInfo();
394
+ if (options.json === true) {
395
+ io.log(JSON.stringify(packageInfo, null, 2));
396
+ return;
397
+ }
398
+ io.log(packageInfo.version);
399
+ }
400
+ async function readPackageInfo() {
401
+ const packageJson = JSON.parse(await readFile(join(PACKAGE_ROOT, "package.json"), "utf8"));
402
+ return {
403
+ name: typeof packageJson.name === "string" ? packageJson.name : "unknown",
404
+ version: typeof packageJson.version === "string" ? packageJson.version : "unknown",
405
+ };
406
+ }
190
407
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,6BAA6B,EAC7B,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,UAAU,EACV,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEtE,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+FZ,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAAc,EACd,KAAY,OAAO;IAEnB,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5C,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzD,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACb,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QAC7C,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAC/C,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAChD,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAChD,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QACrD,OAAO,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QACtD,OAAO,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACjD,OAAO,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAChD,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAClD,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAClD,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QACtD,OAAO,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,KAAK,eAAe,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC1D,OAAO,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,KAAK,eAAe,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAC9D,OAAO,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACnD,OAAO,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACpD,OAAO,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IACE,OAAO,KAAK,UAAU;QACtB,UAAU,KAAK,SAAS;QACxB,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;QACrB,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAClB,CAAC;QACD,OAAO,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;QAC/D,OAAO,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;QAC5D,OAAO,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QACzD,OAAO,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACtD,OAAO,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACtD,OAAO,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QACxD,OAAO,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QACvD,OAAO,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QACxD,OAAO,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACtD,OAAO,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACrD,OAAO,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,KAAK,cAAc,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACzD,OAAO,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,KAAK,cAAc,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACzD,OAAO,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,KAAK,cAAc,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACzD,OAAO,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,KAAK,cAAc,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3D,OAAO,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACpD,OAAO,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IACE,OAAO,KAAK,KAAK;QACjB,UAAU,KAAK,aAAa;QAC5B,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EACtB,CAAC;QACD,OAAO,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACnD,OAAO,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACnD,OAAO,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAClD,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACnD,OAAO,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;QAC7D,OAAO,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAClD,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACrD,OAAO,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACrD,OAAO,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QACxD,OAAO,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAClD,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QACvD,OAAO,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAClD,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACnD,OAAO,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACpD,OAAO,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACnD,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACpD,OAAO,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACtD,OAAO,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC1D,OAAO,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QACtD,OAAO,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QACrD,OAAO,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;QAC1D,OAAO,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,IAAI,UAAU,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAC5E,OAAO,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IACE,OAAO,KAAK,OAAO;QACnB,UAAU,KAAK,YAAY;QAC3B,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAClB,CAAC;QACD,OAAO,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAc,EAAE,EAAS;IACrD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,WAAW,GAAG,MAAM,eAAe,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC1B,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAClB,CAAC;IAC3C,OAAO;QACL,IAAI,EAAE,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACzE,OAAO,EACL,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;KAC5E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { CollaborationFlow, EventEntry, HandoffInput, Task } from "./types.js";
2
+ import type { CollaborationFlowRecommendation } from "./types.js";
3
+ export declare function listCollaborationFlows(): CollaborationFlow[];
4
+ export declare function recommendCollaborationFlow(task: Task, events?: EventEntry[]): CollaborationFlowRecommendation | null;
5
+ export declare function handoffFlowRequirements(input: HandoffInput): string[];