@jterrats/open-orchestra 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +151 -0
- package/CLAUDE.md +157 -0
- package/README.md +60 -0
- package/bin/orchestra.js +8 -0
- package/dist/args.d.ts +3 -0
- package/dist/args.js +30 -0
- package/dist/args.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +190 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands.d.ts +44 -0
- package/dist/commands.js +883 -0
- package/dist/commands.js.map +1 -0
- package/dist/constants.d.ts +15 -0
- package/dist/constants.js +69 -0
- package/dist/constants.js.map +1 -0
- package/dist/defaults.d.ts +72 -0
- package/dist/defaults.js +694 -0
- package/dist/defaults.js.map +1 -0
- package/dist/fs-utils.d.ts +8 -0
- package/dist/fs-utils.js +35 -0
- package/dist/fs-utils.js.map +1 -0
- package/dist/model-providers.d.ts +19 -0
- package/dist/model-providers.js +78 -0
- package/dist/model-providers.js.map +1 -0
- package/dist/types.d.ts +550 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/validation.d.ts +10 -0
- package/dist/validation.js +163 -0
- package/dist/validation.js.map +1 -0
- package/dist/web-api.d.ts +16 -0
- package/dist/web-api.js +220 -0
- package/dist/web-api.js.map +1 -0
- package/dist/web-chart-contracts.d.ts +13 -0
- package/dist/web-chart-contracts.js +13 -0
- package/dist/web-chart-contracts.js.map +1 -0
- package/dist/web-console.d.ts +1 -0
- package/dist/web-console.js +232 -0
- package/dist/web-console.js.map +1 -0
- package/dist/web-evidence.d.ts +25 -0
- package/dist/web-evidence.js +67 -0
- package/dist/web-evidence.js.map +1 -0
- package/dist/web-playwright.d.ts +3 -0
- package/dist/web-playwright.js +14 -0
- package/dist/web-playwright.js.map +1 -0
- package/dist/web-roles.d.ts +33 -0
- package/dist/web-roles.js +70 -0
- package/dist/web-roles.js.map +1 -0
- package/dist/workflow-gates.d.ts +7 -0
- package/dist/workflow-gates.js +291 -0
- package/dist/workflow-gates.js.map +1 -0
- package/dist/workflow-services.d.ts +56 -0
- package/dist/workflow-services.js +1240 -0
- package/dist/workflow-services.js.map +1 -0
- package/dist/workspace-validator.d.ts +6 -0
- package/dist/workspace-validator.js +189 -0
- package/dist/workspace-validator.js.map +1 -0
- package/dist/workspace.d.ts +10 -0
- package/dist/workspace.js +72 -0
- package/dist/workspace.js.map +1 -0
- package/docs/multi-agent-orchestrator-backlog.md +445 -0
- package/docs/multi-agent-orchestrator-sprint-1.md +433 -0
- package/docs/orchestra-mvp.md +176 -0
- package/package.json +63 -0
- package/rules/agent-collaboration.mdc +58 -0
- package/rules/agent-roles.mdc +105 -0
- package/rules/ai-assisted-development.mdc +31 -0
- package/rules/api-design.mdc +31 -0
- package/rules/architecture-decisions.mdc +27 -0
- package/rules/code-review-engineering.mdc +34 -0
- package/rules/concurrency-async.mdc +32 -0
- package/rules/configuration-management.mdc +31 -0
- package/rules/data-modeling-domain.mdc +31 -0
- package/rules/delivery-quality-gates.mdc +40 -0
- package/rules/dependency-management.mdc +31 -0
- package/rules/devops-tooling.mdc +55 -0
- package/rules/documentation-standards.mdc +26 -0
- package/rules/dry-clean-code.mdc +30 -0
- package/rules/error-handling.mdc +28 -0
- package/rules/frontend-engineering.mdc +32 -0
- package/rules/git-discipline.mdc +39 -0
- package/rules/infra-data-encryption.mdc +81 -0
- package/rules/performance-reliability.mdc +32 -0
- package/rules/readiness-done.mdc +32 -0
- package/rules/release-rollback.mdc +32 -0
- package/rules/rule-composition.mdc +28 -0
- package/rules/security-guardrails.mdc +37 -0
- package/rules/solid-architecture.mdc +32 -0
- package/rules/static-analysis-githooks.mdc +32 -0
- package/rules/testing-discipline.mdc +42 -0
- package/rules/ux-ui-product-experience.mdc +51 -0
- package/rules/work-intake-sequencing.mdc +39 -0
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
import { validateReadiness } from "./validation.js";
|
|
2
|
+
export const architectureApprovalGate = {
|
|
3
|
+
id: "architecture",
|
|
4
|
+
description: "Requires architecture approval before non-trivial work starts.",
|
|
5
|
+
evaluate(context) {
|
|
6
|
+
const isNonTrivial = detectsNonTrivialWork(context.task);
|
|
7
|
+
if (!isNonTrivial) {
|
|
8
|
+
return {
|
|
9
|
+
gateId: "architecture",
|
|
10
|
+
passed: true,
|
|
11
|
+
blocking: false,
|
|
12
|
+
summary: "Architecture gate passed for trivial or mechanical work",
|
|
13
|
+
missing: [],
|
|
14
|
+
metadata: { isNonTrivial },
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const missing = missingArchitectureFields(context.task);
|
|
18
|
+
return {
|
|
19
|
+
gateId: "architecture",
|
|
20
|
+
passed: missing.length === 0,
|
|
21
|
+
blocking: missing.length > 0,
|
|
22
|
+
summary: missing.length === 0
|
|
23
|
+
? "Architecture gate passed"
|
|
24
|
+
: "Architecture gate blocked",
|
|
25
|
+
missing,
|
|
26
|
+
metadata: { isNonTrivial },
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
export const qaReleaseGate = {
|
|
31
|
+
id: "qa-release",
|
|
32
|
+
description: "Requires QA plan, execution evidence, and no critical QA block.",
|
|
33
|
+
evaluate(context) {
|
|
34
|
+
const missing = missingQaFields(context);
|
|
35
|
+
const hasCriticalQaBlock = context.events.some((event) => event.taskId === context.task.id &&
|
|
36
|
+
event.type === "REVIEW_RECORDED" &&
|
|
37
|
+
event.actor === "qa" &&
|
|
38
|
+
event.metadata.result === "block" &&
|
|
39
|
+
event.metadata.severity === "critical");
|
|
40
|
+
if (hasCriticalQaBlock) {
|
|
41
|
+
missing.push("qaReview.criticalBlockResolved");
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
gateId: "qa-release",
|
|
45
|
+
passed: missing.length === 0,
|
|
46
|
+
blocking: missing.length > 0,
|
|
47
|
+
summary: missing.length === 0 ? "QA gate passed" : "QA gate blocked",
|
|
48
|
+
missing,
|
|
49
|
+
metadata: {
|
|
50
|
+
executionStatus: context.task.qaGate?.executionStatus ?? "missing",
|
|
51
|
+
hasEvidence: hasQaEvidence(context),
|
|
52
|
+
hasCriticalQaBlock,
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
export const riskReviewGate = {
|
|
58
|
+
id: "risk-review",
|
|
59
|
+
description: "Requires risk owner reviews for declared impact areas.",
|
|
60
|
+
evaluate(context) {
|
|
61
|
+
const impactAreas = context.task.riskGate?.impactAreas ?? [];
|
|
62
|
+
if (impactAreas.length === 0) {
|
|
63
|
+
return {
|
|
64
|
+
gateId: "risk-review",
|
|
65
|
+
passed: true,
|
|
66
|
+
blocking: false,
|
|
67
|
+
summary: "Risk review gate passed with no declared impact areas",
|
|
68
|
+
missing: [],
|
|
69
|
+
metadata: { impactAreas, requiredRoles: [] },
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
const requiredRoles = requiredRolesFor(impactAreas);
|
|
73
|
+
const missing = missingRiskReviewFields(context, requiredRoles);
|
|
74
|
+
const hasAcceptedRisk = hasAuthorizedRiskAcceptance(context.task.riskGate?.acceptance?.acceptedBy, requiredRoles);
|
|
75
|
+
if (missing.length > 0 && hasAcceptedRisk) {
|
|
76
|
+
return {
|
|
77
|
+
gateId: "risk-review",
|
|
78
|
+
passed: true,
|
|
79
|
+
blocking: false,
|
|
80
|
+
summary: "Risk review gate passed with authorized risk acceptance",
|
|
81
|
+
missing: [],
|
|
82
|
+
metadata: {
|
|
83
|
+
impactAreas,
|
|
84
|
+
requiredRoles,
|
|
85
|
+
acceptedBy: context.task.riskGate?.acceptance?.acceptedBy,
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
gateId: "risk-review",
|
|
91
|
+
passed: missing.length === 0,
|
|
92
|
+
blocking: missing.length > 0,
|
|
93
|
+
summary: missing.length === 0
|
|
94
|
+
? "Risk review gate passed"
|
|
95
|
+
: "Risk review gate blocked",
|
|
96
|
+
missing,
|
|
97
|
+
metadata: { impactAreas, requiredRoles },
|
|
98
|
+
};
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
export const releaseReadinessGate = {
|
|
102
|
+
id: "release-readiness",
|
|
103
|
+
description: "Composes readiness, architecture, QA, risk, evidence, and locks.",
|
|
104
|
+
evaluate(context) {
|
|
105
|
+
const missing = [
|
|
106
|
+
...missingReadinessFields(context),
|
|
107
|
+
...missingComposedGateFields(context),
|
|
108
|
+
...missingReleaseEvidenceFields(context),
|
|
109
|
+
...missingActiveLockFields(context),
|
|
110
|
+
...missingBlockingReviewFields(context),
|
|
111
|
+
...missingDeveloperQaHandoffFields(context),
|
|
112
|
+
];
|
|
113
|
+
return {
|
|
114
|
+
gateId: "release-readiness",
|
|
115
|
+
passed: missing.length === 0,
|
|
116
|
+
blocking: missing.length > 0,
|
|
117
|
+
summary: missing.length === 0
|
|
118
|
+
? "Release readiness gate passed"
|
|
119
|
+
: "Release readiness gate blocked",
|
|
120
|
+
missing,
|
|
121
|
+
metadata: {
|
|
122
|
+
evidenceCount: evidenceForTask(context).length,
|
|
123
|
+
lockCount: context.locks.filter((lock) => lock.taskId === context.task.id).length,
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
export const workflowGates = new Map([
|
|
129
|
+
[architectureApprovalGate.id, architectureApprovalGate],
|
|
130
|
+
[qaReleaseGate.id, qaReleaseGate],
|
|
131
|
+
[riskReviewGate.id, riskReviewGate],
|
|
132
|
+
[releaseReadinessGate.id, releaseReadinessGate],
|
|
133
|
+
]);
|
|
134
|
+
export function getWorkflowGate(gateId) {
|
|
135
|
+
const gate = workflowGates.get(gateId);
|
|
136
|
+
if (!gate) {
|
|
137
|
+
throw new Error(`unknown gate: ${gateId}`);
|
|
138
|
+
}
|
|
139
|
+
return gate;
|
|
140
|
+
}
|
|
141
|
+
function detectsNonTrivialWork(task) {
|
|
142
|
+
if (task.mechanicalOverride?.rationale) {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
return Boolean(hasItems(task.dependencies) ||
|
|
146
|
+
hasItems(task.risks) ||
|
|
147
|
+
task.scope ||
|
|
148
|
+
task.testStrategy ||
|
|
149
|
+
task.architectureApproval?.proposal);
|
|
150
|
+
}
|
|
151
|
+
function missingArchitectureFields(task) {
|
|
152
|
+
const missing = [];
|
|
153
|
+
if (!task.architectureApproval?.proposal) {
|
|
154
|
+
missing.push("architectureApproval.proposal");
|
|
155
|
+
}
|
|
156
|
+
if (!task.architectureApproval?.userApproved) {
|
|
157
|
+
missing.push("architectureApproval.userApproved");
|
|
158
|
+
}
|
|
159
|
+
if (!task.architectureApproval?.approvedBy) {
|
|
160
|
+
missing.push("architectureApproval.approvedBy");
|
|
161
|
+
}
|
|
162
|
+
return missing;
|
|
163
|
+
}
|
|
164
|
+
function missingQaFields(context) {
|
|
165
|
+
const missing = [];
|
|
166
|
+
const qaGate = context.task.qaGate;
|
|
167
|
+
if (!qaGate?.plan) {
|
|
168
|
+
missing.push("qaGate.plan");
|
|
169
|
+
}
|
|
170
|
+
if (!qaGate?.executionStatus) {
|
|
171
|
+
missing.push("qaGate.executionStatus");
|
|
172
|
+
}
|
|
173
|
+
if (qaGate?.executionStatus === "failed") {
|
|
174
|
+
missing.push("qaGate.executionStatus.passedOrDeferred");
|
|
175
|
+
}
|
|
176
|
+
if (qaGate?.executionStatus === "deferred") {
|
|
177
|
+
if (!qaGate.deferredRationale) {
|
|
178
|
+
missing.push("qaGate.deferredRationale");
|
|
179
|
+
}
|
|
180
|
+
if (!qaGate.deferredOwner) {
|
|
181
|
+
missing.push("qaGate.deferredOwner");
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (!hasQaEvidence(context)) {
|
|
185
|
+
missing.push("qaEvidence");
|
|
186
|
+
}
|
|
187
|
+
return missing;
|
|
188
|
+
}
|
|
189
|
+
function hasQaEvidence(context) {
|
|
190
|
+
return context.events.some((event) => event.taskId === context.task.id &&
|
|
191
|
+
event.type === "EVIDENCE_ADDED" &&
|
|
192
|
+
(event.actor === "qa" || event.metadata.type === "trace"));
|
|
193
|
+
}
|
|
194
|
+
function missingRiskReviewFields(context, requiredRoles) {
|
|
195
|
+
const missing = [];
|
|
196
|
+
for (const role of requiredRoles) {
|
|
197
|
+
const review = context.events.find((event) => event.taskId === context.task.id &&
|
|
198
|
+
event.type === "REVIEW_RECORDED" &&
|
|
199
|
+
event.actor === role);
|
|
200
|
+
if (!review) {
|
|
201
|
+
missing.push(`review.${role}`);
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
if (review.metadata.result === "block" ||
|
|
205
|
+
review.metadata.severity === "critical") {
|
|
206
|
+
missing.push(`review.${role}.resolved`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (context.task.riskGate?.acceptance &&
|
|
210
|
+
(!context.task.riskGate.acceptance.acceptedBy ||
|
|
211
|
+
!context.task.riskGate.acceptance.rationale)) {
|
|
212
|
+
missing.push("riskGate.acceptance");
|
|
213
|
+
}
|
|
214
|
+
return missing;
|
|
215
|
+
}
|
|
216
|
+
function missingReadinessFields(context) {
|
|
217
|
+
const report = validateReadiness(context.task);
|
|
218
|
+
return report.isReady
|
|
219
|
+
? []
|
|
220
|
+
: report.missing.map((field) => `readiness.${field}`);
|
|
221
|
+
}
|
|
222
|
+
function missingComposedGateFields(context) {
|
|
223
|
+
return [
|
|
224
|
+
...prefixMissing("architecture", architectureApprovalGate.evaluate(context)),
|
|
225
|
+
...prefixMissing("qa-release", qaReleaseGate.evaluate(context)),
|
|
226
|
+
...prefixMissing("risk-review", riskReviewGate.evaluate(context)),
|
|
227
|
+
];
|
|
228
|
+
}
|
|
229
|
+
function missingReleaseEvidenceFields(context) {
|
|
230
|
+
return evidenceForTask(context).length > 0 ? [] : ["evidence"];
|
|
231
|
+
}
|
|
232
|
+
function missingActiveLockFields(context) {
|
|
233
|
+
return context.locks
|
|
234
|
+
.filter((lock) => lock.taskId === context.task.id)
|
|
235
|
+
.map((lock) => `lock.${lock.id}`);
|
|
236
|
+
}
|
|
237
|
+
function missingBlockingReviewFields(context) {
|
|
238
|
+
if (hasAcceptedBlockingRisk(context)) {
|
|
239
|
+
return [];
|
|
240
|
+
}
|
|
241
|
+
return context.events
|
|
242
|
+
.filter((event) => event.taskId === context.task.id &&
|
|
243
|
+
event.type === "REVIEW_RECORDED" &&
|
|
244
|
+
(event.metadata.result === "block" ||
|
|
245
|
+
event.metadata.severity === "critical"))
|
|
246
|
+
.map((event) => `review.${event.actor}.resolved`);
|
|
247
|
+
}
|
|
248
|
+
function missingDeveloperQaHandoffFields(context) {
|
|
249
|
+
const needsQaHandoff = Boolean(context.task.qaGate) || hasQaEvidence(context);
|
|
250
|
+
if (!needsQaHandoff || hasDeveloperQaHandoff(context)) {
|
|
251
|
+
return [];
|
|
252
|
+
}
|
|
253
|
+
return ["handoff.developer-to-qa"];
|
|
254
|
+
}
|
|
255
|
+
function prefixMissing(gateId, result) {
|
|
256
|
+
return result.passed
|
|
257
|
+
? []
|
|
258
|
+
: result.missing.map((field) => `${gateId}.${field}`);
|
|
259
|
+
}
|
|
260
|
+
function evidenceForTask(context) {
|
|
261
|
+
return context.events.filter((event) => event.taskId === context.task.id && event.type === "EVIDENCE_ADDED");
|
|
262
|
+
}
|
|
263
|
+
function hasAcceptedBlockingRisk(context) {
|
|
264
|
+
const acceptedBy = context.task.riskGate?.acceptance?.acceptedBy;
|
|
265
|
+
const rationale = context.task.riskGate?.acceptance?.rationale;
|
|
266
|
+
return Boolean(acceptedBy && rationale);
|
|
267
|
+
}
|
|
268
|
+
function hasDeveloperQaHandoff(context) {
|
|
269
|
+
return context.events.some((event) => event.taskId === context.task.id &&
|
|
270
|
+
event.type === "HANDOFF_READY" &&
|
|
271
|
+
event.actor === "developer" &&
|
|
272
|
+
event.summary === "Handoff ready for qa");
|
|
273
|
+
}
|
|
274
|
+
function requiredRolesFor(impactAreas) {
|
|
275
|
+
const roleByImpact = {
|
|
276
|
+
security: "security",
|
|
277
|
+
sre: "sre",
|
|
278
|
+
dba: "dba",
|
|
279
|
+
devops: "devops",
|
|
280
|
+
compliance: "compliance",
|
|
281
|
+
ux: "ux-ui",
|
|
282
|
+
};
|
|
283
|
+
return [...new Set(impactAreas.map((area) => roleByImpact[area]))];
|
|
284
|
+
}
|
|
285
|
+
function hasAuthorizedRiskAcceptance(acceptedBy, requiredRoles) {
|
|
286
|
+
return Boolean(acceptedBy && requiredRoles.includes(acceptedBy));
|
|
287
|
+
}
|
|
288
|
+
function hasItems(value) {
|
|
289
|
+
return Array.isArray(value) && value.length > 0;
|
|
290
|
+
}
|
|
291
|
+
//# sourceMappingURL=workflow-gates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-gates.js","sourceRoot":"","sources":["../src/workflow-gates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { AddTaskInput, ApprovalDecisionInput, ApprovalRecord, ArtifactResult, BudgetCheckResult, BudgetEscalationDecision, BudgetEscalationResult, ClaimLockInput, ConfiguredProviderSummary, DependencyReport, DecisionInput, DecisionRecord, EvidenceInput, EventEntry, ExecutionPlan, ExecutionRun, GateEvaluationResult, HandoffInput, LockEntry, PlaywrightEvidenceInput, PlaywrightTestPlan, ProviderRouting, ProviderFallbackResult, PullRequestSummary, ModelProvenanceInput, ModelProvenanceRecord, ReadinessReport, ReviewInput, Role, Task, TaskContext, TaskGraphBatchRun, TaskGraphPlan, UsageReport, UpdateTaskInput, WorkflowStatus, WorkflowSummary, WorkflowConfig } from "./types.js";
|
|
2
|
+
export declare function getWorkflowStatus(root?: string): Promise<WorkflowStatus>;
|
|
3
|
+
export declare function addTask(input: AddTaskInput, root?: string): Promise<Task>;
|
|
4
|
+
export declare function listTasks(root?: string): Promise<Task[]>;
|
|
5
|
+
export declare function listRoles(root?: string): Promise<Role[]>;
|
|
6
|
+
export declare function updateTask(input: UpdateTaskInput, root?: string): Promise<Task>;
|
|
7
|
+
export declare function checkTaskDependencies(taskId: string, root?: string): Promise<DependencyReport>;
|
|
8
|
+
export declare function generateTaskGraphPlan(root?: string): Promise<TaskGraphPlan>;
|
|
9
|
+
export declare function executeNextReadyTask(root?: string): Promise<ExecutionRun>;
|
|
10
|
+
export declare function executeReadyTaskBatch(root?: string): Promise<TaskGraphBatchRun>;
|
|
11
|
+
export declare function listLocks(root?: string): Promise<LockEntry[]>;
|
|
12
|
+
export declare function claimLock(input: ClaimLockInput, root?: string): Promise<LockEntry>;
|
|
13
|
+
export declare function releaseLock(id: string, root?: string): Promise<LockEntry>;
|
|
14
|
+
export declare function checkReadiness(taskId: string, root?: string): Promise<{
|
|
15
|
+
task: Task;
|
|
16
|
+
report: ReadinessReport;
|
|
17
|
+
}>;
|
|
18
|
+
export declare function evaluateWorkflowGate(gateId: string, taskId: string, root?: string): Promise<GateEvaluationResult>;
|
|
19
|
+
export declare function createHandoff(input: HandoffInput, root?: string): Promise<ArtifactResult>;
|
|
20
|
+
export declare function recordDecision(input: DecisionInput, root?: string): Promise<DecisionRecord>;
|
|
21
|
+
export declare function listDecisions(taskId?: string, root?: string): Promise<EventEntry[]>;
|
|
22
|
+
export declare function getTaskContext(taskId: string, root?: string): Promise<TaskContext>;
|
|
23
|
+
export declare function generateExecutionPlan(taskId: string, root?: string): Promise<ExecutionPlan>;
|
|
24
|
+
export declare function executePlanWithFakeProvider(taskId: string, root?: string, { providerId, model, budgetEscalation, }?: {
|
|
25
|
+
providerId?: string;
|
|
26
|
+
model?: string;
|
|
27
|
+
budgetEscalation?: BudgetEscalationResult;
|
|
28
|
+
}): Promise<ExecutionRun>;
|
|
29
|
+
export declare function executePlanWithBudgetPreflight(taskId: string, root?: string, decision?: BudgetEscalationDecision): Promise<ExecutionRun>;
|
|
30
|
+
export declare function listApprovals(taskId?: string, root?: string): Promise<ApprovalRecord[]>;
|
|
31
|
+
export declare function showApproval(id: string, root?: string): Promise<ApprovalRecord & {
|
|
32
|
+
content: string;
|
|
33
|
+
}>;
|
|
34
|
+
export declare function approveApproval(input: ApprovalDecisionInput, root?: string): Promise<ApprovalRecord>;
|
|
35
|
+
export declare function rejectApproval(input: ApprovalDecisionInput, root?: string): Promise<ApprovalRecord>;
|
|
36
|
+
export declare function recordReview(input: ReviewInput, root?: string): Promise<ArtifactResult>;
|
|
37
|
+
export declare function listReviews(taskId?: string, root?: string): Promise<EventEntry[]>;
|
|
38
|
+
export declare function addEvidence(input: EvidenceInput, root?: string): Promise<ArtifactResult>;
|
|
39
|
+
export declare function listEvidence(taskId?: string, root?: string): Promise<EventEntry[]>;
|
|
40
|
+
export declare function getWorkflowSummary(root?: string): Promise<WorkflowSummary>;
|
|
41
|
+
export declare function generatePullRequestSummary(taskId: string, root?: string): Promise<PullRequestSummary>;
|
|
42
|
+
export declare function generatePlaywrightTestPlan(taskId: string, root?: string): Promise<PlaywrightTestPlan>;
|
|
43
|
+
export declare function getWorkflowConfig(root?: string): Promise<WorkflowConfig>;
|
|
44
|
+
export declare function listConfiguredModelProviders(root?: string): Promise<ConfiguredProviderSummary[]>;
|
|
45
|
+
export declare function completeWithProviderFallback(routing: ProviderRouting, prompt: string, { failingProviders, root, taskId, role, }?: {
|
|
46
|
+
failingProviders?: string[];
|
|
47
|
+
root?: string;
|
|
48
|
+
taskId?: string;
|
|
49
|
+
role?: string;
|
|
50
|
+
}): Promise<ProviderFallbackResult>;
|
|
51
|
+
export declare function setRoleModelProvider(role: string, routing: ProviderRouting, root?: string): Promise<ProviderRouting>;
|
|
52
|
+
export declare function recordModelProvenance(input: ModelProvenanceInput, root?: string): Promise<ModelProvenanceRecord>;
|
|
53
|
+
export declare function listModelProvenance(taskId?: string, root?: string): Promise<ModelProvenanceRecord[]>;
|
|
54
|
+
export declare function getUsageReport(taskId?: string, root?: string): Promise<UsageReport>;
|
|
55
|
+
export declare function checkUsageBudget(taskId?: string, root?: string): Promise<BudgetCheckResult>;
|
|
56
|
+
export declare function addPlaywrightEvidence(input: PlaywrightEvidenceInput, root?: string): Promise<ArtifactResult>;
|