@jterrats/open-orchestra 0.4.2-beta.2 → 0.5.0-beta.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 (148) hide show
  1. package/README.md +29 -5
  2. package/dist/advisory-artifacts.d.ts +6 -0
  3. package/dist/advisory-artifacts.js +37 -1
  4. package/dist/advisory-artifacts.js.map +1 -1
  5. package/dist/assets/web-console.js +297 -4
  6. package/dist/cli.js +13 -118
  7. package/dist/cli.js.map +1 -1
  8. package/dist/command-manifest.d.ts +3 -0
  9. package/dist/command-manifest.js +132 -42
  10. package/dist/command-manifest.js.map +1 -1
  11. package/dist/command-utils.d.ts +5 -0
  12. package/dist/command-utils.js +23 -0
  13. package/dist/command-utils.js.map +1 -1
  14. package/dist/commands.d.ts +6 -42
  15. package/dist/commands.js +204 -1372
  16. package/dist/commands.js.map +1 -1
  17. package/dist/constants.js +1 -0
  18. package/dist/constants.js.map +1 -1
  19. package/dist/delivery-commands.d.ts +10 -0
  20. package/dist/delivery-commands.js +152 -0
  21. package/dist/delivery-commands.js.map +1 -0
  22. package/dist/github.d.ts +50 -1
  23. package/dist/github.js +234 -0
  24. package/dist/github.js.map +1 -1
  25. package/dist/health-checks.d.ts +1 -0
  26. package/dist/health-checks.js +11 -1
  27. package/dist/health-checks.js.map +1 -1
  28. package/dist/health-commands.js +2 -0
  29. package/dist/health-commands.js.map +1 -1
  30. package/dist/memory.d.ts +2 -1
  31. package/dist/memory.js +71 -10
  32. package/dist/memory.js.map +1 -1
  33. package/dist/package-update-check.d.ts +5 -1
  34. package/dist/package-update-check.js +20 -8
  35. package/dist/package-update-check.js.map +1 -1
  36. package/dist/planning-commands.d.ts +14 -0
  37. package/dist/planning-commands.js +372 -0
  38. package/dist/planning-commands.js.map +1 -0
  39. package/dist/release-candidate.d.ts +2 -0
  40. package/dist/release-candidate.js +9 -14
  41. package/dist/release-candidate.js.map +1 -1
  42. package/dist/release-commands.d.ts +2 -0
  43. package/dist/release-commands.js +58 -6
  44. package/dist/release-commands.js.map +1 -1
  45. package/dist/release-readiness.d.ts +49 -0
  46. package/dist/release-readiness.js +172 -0
  47. package/dist/release-readiness.js.map +1 -0
  48. package/dist/runtime-commands.js +2 -5
  49. package/dist/runtime-commands.js.map +1 -1
  50. package/dist/setup-agents-import.js +1 -3
  51. package/dist/setup-agents-import.js.map +1 -1
  52. package/dist/skills-catalog-service.d.ts +2 -0
  53. package/dist/skills-catalog-service.js +8 -0
  54. package/dist/skills-catalog-service.js.map +1 -0
  55. package/dist/skills-catalog.d.ts +2 -0
  56. package/dist/skills-catalog.js +389 -0
  57. package/dist/skills-catalog.js.map +1 -0
  58. package/dist/skills-commands.js +1 -11
  59. package/dist/skills-commands.js.map +1 -1
  60. package/dist/skills-events.d.ts +9 -0
  61. package/dist/skills-events.js +50 -0
  62. package/dist/skills-events.js.map +1 -0
  63. package/dist/skills-memory.d.ts +18 -0
  64. package/dist/skills-memory.js +127 -0
  65. package/dist/skills-memory.js.map +1 -0
  66. package/dist/skills-planning.d.ts +2 -0
  67. package/dist/skills-planning.js +87 -0
  68. package/dist/skills-planning.js.map +1 -0
  69. package/dist/skills-render.d.ts +14 -0
  70. package/dist/skills-render.js +83 -0
  71. package/dist/skills-render.js.map +1 -0
  72. package/dist/skills-validation.d.ts +2 -0
  73. package/dist/skills-validation.js +49 -0
  74. package/dist/skills-validation.js.map +1 -0
  75. package/dist/skills.d.ts +6 -42
  76. package/dist/skills.js +6 -773
  77. package/dist/skills.js.map +1 -1
  78. package/dist/task-graph-commands.d.ts +14 -0
  79. package/dist/task-graph-commands.js +367 -0
  80. package/dist/task-graph-commands.js.map +1 -0
  81. package/dist/types/context.d.ts +12 -0
  82. package/dist/types/context.js +2 -0
  83. package/dist/types/context.js.map +1 -0
  84. package/dist/types/metrics.d.ts +114 -0
  85. package/dist/types/metrics.js +2 -0
  86. package/dist/types/metrics.js.map +1 -0
  87. package/dist/types/model-config.d.ts +212 -0
  88. package/dist/types/model-config.js +2 -0
  89. package/dist/types/model-config.js.map +1 -0
  90. package/dist/types/runtime.d.ts +93 -0
  91. package/dist/types/runtime.js +2 -0
  92. package/dist/types/runtime.js.map +1 -0
  93. package/dist/types/skills.d.ts +147 -0
  94. package/dist/types/skills.js +2 -0
  95. package/dist/types/skills.js.map +1 -0
  96. package/dist/types/tasks.d.ts +171 -0
  97. package/dist/types/tasks.js +2 -0
  98. package/dist/types/tasks.js.map +1 -0
  99. package/dist/types/workflow-run.d.ts +79 -0
  100. package/dist/types/workflow-run.js +2 -0
  101. package/dist/types/workflow-run.js.map +1 -0
  102. package/dist/types.d.ts +12 -833
  103. package/dist/types.js +1 -1
  104. package/dist/types.js.map +1 -1
  105. package/dist/upgrade-commands.d.ts +2 -0
  106. package/dist/upgrade-commands.js +65 -0
  107. package/dist/upgrade-commands.js.map +1 -0
  108. package/dist/web-api-read-routes.d.ts +5 -0
  109. package/dist/web-api-read-routes.js +37 -0
  110. package/dist/web-api-read-routes.js.map +1 -0
  111. package/dist/web-api.d.ts +1 -3
  112. package/dist/web-api.js +23 -45
  113. package/dist/web-api.js.map +1 -1
  114. package/dist/web-console-sections.d.ts +2 -0
  115. package/dist/web-console-sections.js +7 -0
  116. package/dist/web-console-sections.js.map +1 -0
  117. package/dist/web-console.js +23 -3
  118. package/dist/web-console.js.map +1 -1
  119. package/dist/workflow-approval-service.d.ts +9 -0
  120. package/dist/workflow-approval-service.js +126 -0
  121. package/dist/workflow-approval-service.js.map +1 -0
  122. package/dist/workflow-approval-utils.d.ts +10 -0
  123. package/dist/workflow-approval-utils.js +82 -0
  124. package/dist/workflow-approval-utils.js.map +1 -0
  125. package/dist/workflow-budget-utils.d.ts +7 -0
  126. package/dist/workflow-budget-utils.js +96 -0
  127. package/dist/workflow-budget-utils.js.map +1 -0
  128. package/dist/workflow-evidence-service.d.ts +7 -0
  129. package/dist/workflow-evidence-service.js +100 -0
  130. package/dist/workflow-evidence-service.js.map +1 -0
  131. package/dist/workflow-run-commands.d.ts +8 -0
  132. package/dist/workflow-run-commands.js +479 -0
  133. package/dist/workflow-run-commands.js.map +1 -0
  134. package/dist/workflow-services.d.ts +5 -17
  135. package/dist/workflow-services.js +26 -479
  136. package/dist/workflow-services.js.map +1 -1
  137. package/dist/workflow-summary-service.d.ts +4 -0
  138. package/dist/workflow-summary-service.js +82 -0
  139. package/dist/workflow-summary-service.js.map +1 -0
  140. package/dist/workspace.d.ts +18 -1
  141. package/dist/workspace.js +66 -4
  142. package/dist/workspace.js.map +1 -1
  143. package/docs/orchestra-mvp.md +158 -114
  144. package/docs/package-naming.md +20 -0
  145. package/docs/persona-workflows.md +209 -0
  146. package/docs/runtime-adapters.md +15 -14
  147. package/docs/runtime-llm-flow.md +29 -28
  148. package/package.json +3 -2
@@ -0,0 +1,212 @@
1
+ import type { RuntimeExecutionPolicy } from "./runtime.js";
2
+ export interface ToolConfig {
3
+ enabled?: boolean;
4
+ command: string;
5
+ args: string[];
6
+ cwd: string;
7
+ allowedRoles: string[];
8
+ timeoutMs: number;
9
+ evidence: string;
10
+ risk: string;
11
+ }
12
+ export interface ModelProviderCapabilities {
13
+ streaming: boolean;
14
+ tools: boolean;
15
+ vision: boolean;
16
+ jsonMode: boolean;
17
+ maxContextTokens: number;
18
+ timeoutMs: number;
19
+ }
20
+ export interface ModelMessage {
21
+ role: "system" | "user" | "assistant" | "tool";
22
+ content: string;
23
+ }
24
+ export interface ModelRequest {
25
+ messages: ModelMessage[];
26
+ model: string;
27
+ temperature?: number;
28
+ maxTokens?: number;
29
+ jsonMode?: boolean;
30
+ tools?: unknown[];
31
+ timeoutMs?: number;
32
+ }
33
+ export interface ModelResponse {
34
+ id: string;
35
+ provider: string;
36
+ model: string;
37
+ content: string;
38
+ usage: {
39
+ inputTokens: number;
40
+ outputTokens: number;
41
+ };
42
+ finishReason: "stop" | "length" | "tool_call" | "error";
43
+ }
44
+ export interface ModelStreamEvent {
45
+ type: "content" | "tool_call" | "done" | "error";
46
+ content?: string;
47
+ error?: string;
48
+ }
49
+ export interface ModelProviderError {
50
+ provider: string;
51
+ code: string;
52
+ message: string;
53
+ retryable: boolean;
54
+ }
55
+ export interface ProviderFallbackResult {
56
+ provider: string;
57
+ model: string;
58
+ response: ModelResponse;
59
+ fallbackUsed: boolean;
60
+ failedProviders: {
61
+ provider: string;
62
+ reason: string;
63
+ }[];
64
+ }
65
+ export interface ModelProvenanceInput {
66
+ task: string;
67
+ role: string;
68
+ provider: string;
69
+ model: string;
70
+ promptId: string;
71
+ responseId: string;
72
+ inputTokens: number;
73
+ outputTokens: number;
74
+ estimatedCostUsd: number;
75
+ finishReason: ModelResponse["finishReason"];
76
+ }
77
+ export interface ModelProvenanceRecord extends ModelProvenanceInput {
78
+ timestamp: string;
79
+ }
80
+ export type PhaseOutcome = {
81
+ kind: "done";
82
+ notes: string;
83
+ } | {
84
+ kind: "gate_pause";
85
+ reviewArtifact: string;
86
+ } | {
87
+ kind: "qa_fail";
88
+ notes: string;
89
+ };
90
+ export type PhaseExecutionMode = "deterministic" | "llm";
91
+ export interface PhaseExecutorPhase {
92
+ phase: string;
93
+ role: string;
94
+ summary: string;
95
+ }
96
+ export interface PhaseStructuredOutput {
97
+ summary: string;
98
+ notes: string;
99
+ verdict: "pass" | "fail";
100
+ findings: string[];
101
+ decisions: string[];
102
+ evidence: string[];
103
+ handoff: string;
104
+ sizing?: string;
105
+ }
106
+ export interface PhaseLlmResult {
107
+ mode: PhaseExecutionMode;
108
+ outcome: PhaseOutcome;
109
+ artifact?: string;
110
+ output?: PhaseStructuredOutput;
111
+ }
112
+ export interface ModelProvider {
113
+ id: string;
114
+ capabilities: ModelProviderCapabilities;
115
+ complete(request: ModelRequest): Promise<ModelResponse>;
116
+ stream?(request: ModelRequest): AsyncIterable<ModelStreamEvent>;
117
+ }
118
+ export interface ConfiguredProviderSummary {
119
+ scope: string;
120
+ provider: string;
121
+ model: string;
122
+ fallbacks: string[];
123
+ maxTokens: number;
124
+ maxCostUsd: number;
125
+ timeoutMs: number;
126
+ retries: number;
127
+ requiredCapabilities: string[];
128
+ }
129
+ export interface ProviderRouting {
130
+ provider: string;
131
+ model: string;
132
+ fallbacks: string[];
133
+ maxTokens: number;
134
+ maxCostUsd: number;
135
+ timeoutMs: number;
136
+ retries: number;
137
+ requiredCapabilities: string[];
138
+ }
139
+ export interface WorkflowProvidersConfig {
140
+ defaults: ProviderRouting;
141
+ byRole: Record<string, ProviderRouting>;
142
+ }
143
+ export interface ProviderPolicyConfig {
144
+ allowedProviders?: string[];
145
+ blockedProviders?: string[];
146
+ allowVendorFallbackWithoutApproval?: boolean;
147
+ }
148
+ export interface BudgetLimit {
149
+ maxRequests?: number;
150
+ maxInputTokens?: number;
151
+ maxOutputTokens?: number;
152
+ maxTotalTokens?: number;
153
+ maxEstimatedCostUsd?: number;
154
+ }
155
+ export interface BudgetPolicy {
156
+ defaults?: BudgetLimit;
157
+ byRole: Record<string, BudgetLimit>;
158
+ byTask: Record<string, BudgetLimit>;
159
+ }
160
+ export type TelemetryLevel = "off" | "metadata" | "prompt-summary" | "prompt-sample" | "eval-dataset";
161
+ export interface TelemetryConsentState {
162
+ enabled: boolean;
163
+ level: TelemetryLevel;
164
+ policyVersion: string;
165
+ actor: string;
166
+ updatedAt?: string;
167
+ }
168
+ export interface GitHubConfig {
169
+ autoCreatePr?: boolean;
170
+ baseBranch?: string;
171
+ }
172
+ export interface NotificationChannelResult {
173
+ channel: "slack" | "github";
174
+ status: "sent" | "skipped" | "failed";
175
+ detail: string;
176
+ }
177
+ export interface SlackNotificationConfig {
178
+ webhookUrl?: string;
179
+ webhookUrlEnv?: string;
180
+ }
181
+ export interface GitHubNotificationConfig {
182
+ issueComment?: boolean;
183
+ }
184
+ export interface NotificationsConfig {
185
+ slack?: SlackNotificationConfig;
186
+ github?: GitHubNotificationConfig;
187
+ }
188
+ export interface WorkflowConfig {
189
+ version: number;
190
+ providers: WorkflowProvidersConfig;
191
+ budgets?: BudgetPolicy;
192
+ workflow?: {
193
+ phaseSequence?: string[];
194
+ phaseTimeoutMinutes?: number;
195
+ };
196
+ tools: Record<string, ToolConfig>;
197
+ telemetry?: TelemetryConsentState;
198
+ github?: GitHubConfig;
199
+ notifications?: NotificationsConfig;
200
+ providerPolicy?: ProviderPolicyConfig;
201
+ runtimePolicy?: RuntimeExecutionPolicy;
202
+ staticAnalysis: {
203
+ preCommit: {
204
+ required: boolean;
205
+ checks: string[];
206
+ disallowNoVerifyWithoutApproval: boolean;
207
+ };
208
+ ci: {
209
+ checks: string[];
210
+ };
211
+ };
212
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=model-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-config.js","sourceRoot":"","sources":["../../src/types/model-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,93 @@
1
+ import type { ContextBudgetMetadata } from "./context.js";
2
+ import type { SkillRenderTarget } from "./skills.js";
3
+ export type RuntimeAdapterKind = "llm" | "ide" | "cli";
4
+ export type RuntimeExecutionId = "claude-cli" | "codex-cli" | "cursor-cli" | "vscode-agent" | "windsurf-agent" | "generic-runtime";
5
+ export type RuntimeDelegationMode = "runtime-native" | "brief-only";
6
+ export interface RuntimeAdapter {
7
+ target: SkillRenderTarget;
8
+ label: string;
9
+ kind: RuntimeAdapterKind;
10
+ defaultInstructionFiles: string[];
11
+ supportsStructuredPayload: boolean;
12
+ supportsManagedBlocks: boolean;
13
+ supportsImports: boolean;
14
+ guidance: string;
15
+ }
16
+ export interface RuntimeExecutionCapabilities {
17
+ nonInteractive: boolean;
18
+ promptInjection: boolean;
19
+ structuredOutput: boolean;
20
+ fileEdits: boolean;
21
+ testExecution: boolean;
22
+ evidenceReturn: boolean;
23
+ requiresTty: boolean;
24
+ requiresUserApproval: boolean;
25
+ resumeSession: boolean;
26
+ }
27
+ export interface RuntimeSubagentCapabilities {
28
+ runtimeNative: boolean;
29
+ parallel: boolean;
30
+ namedRoles: boolean;
31
+ forkedContext: boolean;
32
+ structuredHandoff: boolean;
33
+ fileOwnership: boolean;
34
+ requiresParentApproval: boolean;
35
+ }
36
+ export interface RuntimeExecutionAdapter {
37
+ id: RuntimeExecutionId;
38
+ target: SkillRenderTarget;
39
+ label: string;
40
+ kind: RuntimeAdapterKind;
41
+ summary: string;
42
+ execution: RuntimeExecutionCapabilities;
43
+ subagents: RuntimeSubagentCapabilities;
44
+ briefOnlyFallback: boolean;
45
+ directProviderApiAllowed: false;
46
+ guidance: string;
47
+ }
48
+ export interface RuntimeExecutorConfig {
49
+ executor?: RuntimeExecutionId;
50
+ }
51
+ export interface RuntimeDelegationPolicy {
52
+ mode: RuntimeDelegationMode;
53
+ allowDirectProviderApi: boolean;
54
+ }
55
+ export interface RuntimeExecutionPolicy {
56
+ defaults?: RuntimeExecutorConfig;
57
+ byRole: Record<string, RuntimeExecutorConfig>;
58
+ byTask: Record<string, RuntimeExecutorConfig>;
59
+ delegation: RuntimeDelegationPolicy;
60
+ }
61
+ export interface RuntimeSelection {
62
+ taskId: string;
63
+ role: string;
64
+ runtime: RuntimeExecutionAdapter;
65
+ source: "explicit" | "task" | "role" | "default" | "fallback";
66
+ directProviderApiAllowed: false;
67
+ }
68
+ export interface RuntimeDelegationAssignment {
69
+ role: string;
70
+ paths: string[];
71
+ allowedCommands: string[];
72
+ expectedArtifacts: string[];
73
+ }
74
+ export interface RuntimeBrief {
75
+ taskId: string;
76
+ runtime: RuntimeExecutionId;
77
+ artifact: string;
78
+ content: string;
79
+ mode: "brief-only";
80
+ directProviderApiAllowed: false;
81
+ contextBudget: ContextBudgetMetadata;
82
+ }
83
+ export interface RuntimeDelegationPacket {
84
+ taskId: string;
85
+ runtime: RuntimeExecutionId;
86
+ artifact: string;
87
+ content: string;
88
+ mode: RuntimeDelegationMode;
89
+ directProviderApiAllowed: false;
90
+ assignments: RuntimeDelegationAssignment[];
91
+ requiresApproval: boolean;
92
+ contextBudget: ContextBudgetMetadata;
93
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/types/runtime.ts"],"names":[],"mappings":""}
@@ -0,0 +1,147 @@
1
+ import type { EvidenceType } from "./tasks.js";
2
+ import type { ContextBudgetMetadata } from "./context.js";
3
+ export type SkillLoadBudget = "small" | "normal" | "large";
4
+ export type SkillRenderTarget = "generic" | "claude" | "cursor" | "codex" | "vscode" | "windsurf";
5
+ export interface Skill {
6
+ id: string;
7
+ name: string;
8
+ summary: string;
9
+ triggers: string[];
10
+ roles: string[];
11
+ capabilities: string[];
12
+ riskAreas: string[];
13
+ sourceGroups: string[];
14
+ entry: string;
15
+ assets: string[];
16
+ evidence: EvidenceType[];
17
+ loadBudget: SkillLoadBudget;
18
+ instructions: string[];
19
+ }
20
+ export interface SkillPlanItem {
21
+ skill: Skill;
22
+ score: number;
23
+ rationale: string[];
24
+ }
25
+ export interface SkillPlan {
26
+ taskId: string;
27
+ selected: SkillPlanItem[];
28
+ skipped: SkillPlanItem[];
29
+ sourceGroups: string[];
30
+ }
31
+ export interface SkillValidationReport {
32
+ valid: boolean;
33
+ errors: string[];
34
+ warnings: string[];
35
+ }
36
+ export interface CollaborationFlowStep {
37
+ from: string;
38
+ to: string;
39
+ purpose: string;
40
+ requiredContext: string[];
41
+ requiredArtifacts: string[];
42
+ exitCriteria: string[];
43
+ }
44
+ export interface CollaborationFlow {
45
+ id: string;
46
+ name: string;
47
+ summary: string;
48
+ triggers: string[];
49
+ roles: string[];
50
+ riskAreas: string[];
51
+ requiredContext: string[];
52
+ requiredArtifacts: string[];
53
+ exitCriteria: string[];
54
+ optionalReviewers: string[];
55
+ steps: CollaborationFlowStep[];
56
+ }
57
+ export interface CollaborationFlowRecommendation {
58
+ flow: CollaborationFlow;
59
+ score: number;
60
+ rationale: string[];
61
+ missingArtifacts: string[];
62
+ requiredHandoffFields: string[];
63
+ optionalReviewers: string[];
64
+ }
65
+ export interface WorkflowTemplate {
66
+ id: string;
67
+ name: string;
68
+ summary: string;
69
+ triggers: string[];
70
+ roles: string[];
71
+ riskAreas: string[];
72
+ inputs: string[];
73
+ outputs: string[];
74
+ evidenceRequirements: EvidenceType[];
75
+ gates: string[];
76
+ compatibleSkills: string[];
77
+ steps: string[];
78
+ }
79
+ export interface WorkflowTemplateSelection {
80
+ template: WorkflowTemplate;
81
+ score: number;
82
+ rationale: string[];
83
+ missingEvidence: EvidenceType[];
84
+ }
85
+ export interface RenderedWorkflowTemplate {
86
+ target: SkillRenderTarget;
87
+ taskId?: string;
88
+ selected: WorkflowTemplateSelection[];
89
+ content: string;
90
+ contextBudget?: ContextBudgetMetadata;
91
+ }
92
+ export interface AgentLessonInput {
93
+ taskId?: string;
94
+ actor: string;
95
+ operation: string;
96
+ failedAction: string;
97
+ errorSignature: string;
98
+ rootCause: string;
99
+ fix: string;
100
+ prevention: string;
101
+ appliesTo: string[];
102
+ verifiedBy: string[];
103
+ }
104
+ export interface AgentLesson extends AgentLessonInput {
105
+ id: string;
106
+ timestamp: string;
107
+ }
108
+ export type MemoryHookPoint = "before_plan" | "before_implementation" | "before_handoff" | "before_final" | "after_failure";
109
+ export interface MemoryLessonSnippet {
110
+ type: "lesson";
111
+ score: number;
112
+ operation: string;
113
+ errorSignature: string;
114
+ fix: string;
115
+ prevention: string;
116
+ appliesTo: string[];
117
+ taskId?: string;
118
+ timestamp: string;
119
+ }
120
+ export interface MemoryPromptSnippet {
121
+ type: "prompt";
122
+ score: number;
123
+ file: string;
124
+ artifact: string;
125
+ summary: string;
126
+ }
127
+ export interface MemorySectionReport {
128
+ section: "lessons" | "prompts";
129
+ includedCount: number;
130
+ omittedCount: number;
131
+ reason: string;
132
+ }
133
+ export interface MemoryPacket {
134
+ taskId?: string;
135
+ role?: string;
136
+ hook: MemoryHookPoint;
137
+ queryTerms: string[];
138
+ tokenBudget: number;
139
+ estimatedTokens: number;
140
+ lessons: MemoryLessonSnippet[];
141
+ prompts: MemoryPromptSnippet[];
142
+ sections: MemorySectionReport[];
143
+ redaction: {
144
+ applied: boolean;
145
+ patterns: string[];
146
+ };
147
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/types/skills.ts"],"names":[],"mappings":""}
@@ -0,0 +1,171 @@
1
+ export type TaskStatus = "pending" | "ready" | "in_progress" | "blocked" | "review" | "approved" | "rejected" | "done" | "canceled" | "archived";
2
+ export type ReviewResult = "approve" | "block" | "changes";
3
+ export type Severity = "info" | "low" | "medium" | "high" | "critical";
4
+ export type EvidenceType = "command" | "file" | "screenshot" | "trace" | "video" | "log" | "report";
5
+ export interface MechanicalOverride {
6
+ rationale: string;
7
+ }
8
+ export interface ArchitectureApproval {
9
+ proposal?: string;
10
+ userApproved?: boolean;
11
+ approvedBy?: string;
12
+ approvedAt?: string;
13
+ }
14
+ export interface QaGateMetadata {
15
+ plan?: string;
16
+ executionStatus?: "not_run" | "passed" | "failed" | "deferred";
17
+ deferredRationale?: string;
18
+ deferredOwner?: string;
19
+ }
20
+ export type RiskImpactArea = "security" | "sre" | "dba" | "data" | "devops" | "compliance" | "accessibility" | "ux";
21
+ export interface RiskAcceptance {
22
+ acceptedBy?: string;
23
+ rationale?: string;
24
+ }
25
+ export interface RiskGateMetadata {
26
+ impactAreas?: RiskImpactArea[];
27
+ acceptance?: RiskAcceptance;
28
+ }
29
+ export interface Task {
30
+ id: string;
31
+ title: string;
32
+ ownerRole: string;
33
+ status: TaskStatus;
34
+ dependencies: string[];
35
+ backlogItem?: string;
36
+ goal?: string;
37
+ scope?: string;
38
+ acceptanceCriteria?: string[];
39
+ definitionOfReady?: string[];
40
+ definitionOfDone?: string[];
41
+ assumptions?: string[];
42
+ risks?: string[];
43
+ paths?: string[];
44
+ testStrategy?: string;
45
+ blockedReason?: string;
46
+ mechanicalOverride?: MechanicalOverride;
47
+ architectureApproval?: ArchitectureApproval;
48
+ qaGate?: QaGateMetadata;
49
+ riskGate?: RiskGateMetadata;
50
+ externalRefs?: ExternalTaskReferences;
51
+ createdAt?: string;
52
+ updatedAt?: string;
53
+ }
54
+ export interface ExternalTaskReferences {
55
+ setupAgents?: SetupAgentsTaskReference;
56
+ }
57
+ export interface SetupAgentsTaskReference {
58
+ sourceId: string;
59
+ sourcePath?: string;
60
+ profileId?: string;
61
+ mode?: string;
62
+ contractVersion?: string;
63
+ acceptanceStatus?: string;
64
+ acceptedBy?: string;
65
+ evidenceIds?: string[];
66
+ handoffIds?: string[];
67
+ }
68
+ export interface LockEntry {
69
+ id: string;
70
+ taskId: string;
71
+ ownerRole: string;
72
+ path: string;
73
+ reason: string;
74
+ createdAt: string;
75
+ expiresAt?: string;
76
+ }
77
+ export interface EventEntry {
78
+ id: string;
79
+ type: string;
80
+ timestamp: string;
81
+ actor: string;
82
+ summary: string;
83
+ taskId: string | null;
84
+ artifacts?: string[];
85
+ metadata: Record<string, unknown>;
86
+ }
87
+ export interface EventInput {
88
+ type: string;
89
+ actor: string;
90
+ summary: string;
91
+ taskId?: string;
92
+ artifacts?: string[];
93
+ metadata?: Record<string, unknown>;
94
+ }
95
+ export type AddTaskInput = Pick<Task, "id" | "title" | "ownerRole" | "dependencies" | "backlogItem" | "goal" | "scope" | "acceptanceCriteria" | "definitionOfReady" | "definitionOfDone" | "assumptions" | "risks" | "paths" | "testStrategy" | "architectureApproval" | "qaGate" | "riskGate" | "externalRefs">;
96
+ export interface UpdateTaskInput {
97
+ id: string;
98
+ title?: string;
99
+ ownerRole?: string;
100
+ goal?: string;
101
+ scope?: string;
102
+ paths?: string[];
103
+ acceptanceCriteria?: string[];
104
+ assumptions?: string[];
105
+ risks?: string[];
106
+ testStrategy?: string;
107
+ status?: TaskStatus;
108
+ blockedReason?: string;
109
+ }
110
+ export interface ClaimLockInput {
111
+ id?: string;
112
+ taskId: string;
113
+ ownerRole: string;
114
+ path: string;
115
+ reason: string;
116
+ expiresAt?: string;
117
+ }
118
+ export interface HandoffInput {
119
+ task: string;
120
+ from: string;
121
+ to: string;
122
+ changed: string;
123
+ behavior: string;
124
+ tests: string;
125
+ commands: string;
126
+ status?: string;
127
+ gaps?: string;
128
+ risks?: string;
129
+ playwright?: string;
130
+ updateOwner?: boolean;
131
+ }
132
+ export interface ReviewInput {
133
+ task: string;
134
+ role: string;
135
+ result: string;
136
+ severity: string;
137
+ findings: string;
138
+ recommendation: string;
139
+ }
140
+ export interface EvidenceInput {
141
+ task: string;
142
+ role: string;
143
+ type: string;
144
+ summary: string;
145
+ path?: string | boolean | string[];
146
+ command?: string | boolean | string[];
147
+ exitCode?: string | boolean | string[];
148
+ }
149
+ export interface PlaywrightEvidenceInput {
150
+ task: string;
151
+ kind: "screenshot" | "trace" | "video" | "report";
152
+ path: string;
153
+ summary: string;
154
+ runId?: string;
155
+ }
156
+ export interface ArtifactResult {
157
+ artifact: string;
158
+ content: string;
159
+ }
160
+ export interface DecisionInput {
161
+ task: string;
162
+ title: string;
163
+ context: string;
164
+ decision: string;
165
+ consequences: string;
166
+ status: "proposed" | "accepted" | "superseded";
167
+ owner: string;
168
+ }
169
+ export interface DecisionRecord extends DecisionInput {
170
+ artifact: string;
171
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/types/tasks.ts"],"names":[],"mappings":""}