vibe-fabric 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/LICENSE +21 -0
- package/README.md +171 -0
- package/dist/cli/commands/claude.d.ts +19 -0
- package/dist/cli/commands/claude.d.ts.map +1 -0
- package/dist/cli/commands/claude.js +107 -0
- package/dist/cli/commands/claude.js.map +1 -0
- package/dist/cli/commands/coverage.d.ts +37 -0
- package/dist/cli/commands/coverage.d.ts.map +1 -0
- package/dist/cli/commands/coverage.js +374 -0
- package/dist/cli/commands/coverage.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +30 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +187 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/gaps.d.ts +52 -0
- package/dist/cli/commands/gaps.d.ts.map +1 -0
- package/dist/cli/commands/gaps.js +487 -0
- package/dist/cli/commands/gaps.js.map +1 -0
- package/dist/cli/commands/help.d.ts +7 -0
- package/dist/cli/commands/help.d.ts.map +1 -0
- package/dist/cli/commands/help.js +51 -0
- package/dist/cli/commands/help.js.map +1 -0
- package/dist/cli/commands/init.d.ts +39 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +246 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/prd.d.ts +30 -0
- package/dist/cli/commands/prd.d.ts.map +1 -0
- package/dist/cli/commands/prd.js +179 -0
- package/dist/cli/commands/prd.js.map +1 -0
- package/dist/cli/commands/repo/add.d.ts +36 -0
- package/dist/cli/commands/repo/add.d.ts.map +1 -0
- package/dist/cli/commands/repo/add.js +303 -0
- package/dist/cli/commands/repo/add.js.map +1 -0
- package/dist/cli/commands/scope.d.ts +36 -0
- package/dist/cli/commands/scope.d.ts.map +1 -0
- package/dist/cli/commands/scope.js +312 -0
- package/dist/cli/commands/scope.js.map +1 -0
- package/dist/cli/commands/send.d.ts +43 -0
- package/dist/cli/commands/send.d.ts.map +1 -0
- package/dist/cli/commands/send.js +469 -0
- package/dist/cli/commands/send.js.map +1 -0
- package/dist/cli/commands/status.d.ts +32 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +422 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/sync.d.ts +37 -0
- package/dist/cli/commands/sync.d.ts.map +1 -0
- package/dist/cli/commands/sync.js +299 -0
- package/dist/cli/commands/sync.js.map +1 -0
- package/dist/cli/commands/version.d.ts +7 -0
- package/dist/cli/commands/version.d.ts.map +1 -0
- package/dist/cli/commands/version.js +45 -0
- package/dist/cli/commands/version.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +65 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/ui/components/ActiveScopes.d.ts +13 -0
- package/dist/cli/ui/components/ActiveScopes.d.ts.map +1 -0
- package/dist/cli/ui/components/ActiveScopes.js +25 -0
- package/dist/cli/ui/components/ActiveScopes.js.map +1 -0
- package/dist/cli/ui/components/EmptyState.d.ts +24 -0
- package/dist/cli/ui/components/EmptyState.d.ts.map +1 -0
- package/dist/cli/ui/components/EmptyState.js +13 -0
- package/dist/cli/ui/components/EmptyState.js.map +1 -0
- package/dist/cli/ui/components/Header.d.ts +11 -0
- package/dist/cli/ui/components/Header.d.ts.map +1 -0
- package/dist/cli/ui/components/Header.js +32 -0
- package/dist/cli/ui/components/Header.js.map +1 -0
- package/dist/cli/ui/components/PrdCoverage.d.ts +12 -0
- package/dist/cli/ui/components/PrdCoverage.d.ts.map +1 -0
- package/dist/cli/ui/components/PrdCoverage.js +15 -0
- package/dist/cli/ui/components/PrdCoverage.js.map +1 -0
- package/dist/cli/ui/components/RecentActivity.d.ts +12 -0
- package/dist/cli/ui/components/RecentActivity.d.ts.map +1 -0
- package/dist/cli/ui/components/RecentActivity.js +40 -0
- package/dist/cli/ui/components/RecentActivity.js.map +1 -0
- package/dist/cli/ui/components/RepoList.d.ts +12 -0
- package/dist/cli/ui/components/RepoList.d.ts.map +1 -0
- package/dist/cli/ui/components/RepoList.js +24 -0
- package/dist/cli/ui/components/RepoList.js.map +1 -0
- package/dist/cli/ui/components/Shortcuts.d.ts +7 -0
- package/dist/cli/ui/components/Shortcuts.d.ts.map +1 -0
- package/dist/cli/ui/components/Shortcuts.js +7 -0
- package/dist/cli/ui/components/Shortcuts.js.map +1 -0
- package/dist/cli/ui/components/index.d.ts +12 -0
- package/dist/cli/ui/components/index.d.ts.map +1 -0
- package/dist/cli/ui/components/index.js +12 -0
- package/dist/cli/ui/components/index.js.map +1 -0
- package/dist/cli/ui/dashboard.d.ts +9 -0
- package/dist/cli/ui/dashboard.d.ts.map +1 -0
- package/dist/cli/ui/dashboard.js +102 -0
- package/dist/cli/ui/dashboard.js.map +1 -0
- package/dist/core/commands.d.ts +32 -0
- package/dist/core/commands.d.ts.map +1 -0
- package/dist/core/commands.js +361 -0
- package/dist/core/commands.js.map +1 -0
- package/dist/core/config.d.ts +18 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +78 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/coverage.d.ts +32 -0
- package/dist/core/coverage.d.ts.map +1 -0
- package/dist/core/coverage.js +286 -0
- package/dist/core/coverage.js.map +1 -0
- package/dist/core/dashboard/data.d.ts +73 -0
- package/dist/core/dashboard/data.d.ts.map +1 -0
- package/dist/core/dashboard/data.js +250 -0
- package/dist/core/dashboard/data.js.map +1 -0
- package/dist/core/dependencies.d.ts +39 -0
- package/dist/core/dependencies.d.ts.map +1 -0
- package/dist/core/dependencies.js +160 -0
- package/dist/core/dependencies.js.map +1 -0
- package/dist/core/doctor/auth.d.ts +22 -0
- package/dist/core/doctor/auth.d.ts.map +1 -0
- package/dist/core/doctor/auth.js +147 -0
- package/dist/core/doctor/auth.js.map +1 -0
- package/dist/core/doctor/config.d.ts +26 -0
- package/dist/core/doctor/config.d.ts.map +1 -0
- package/dist/core/doctor/config.js +172 -0
- package/dist/core/doctor/config.js.map +1 -0
- package/dist/core/doctor/environment.d.ts +26 -0
- package/dist/core/doctor/environment.d.ts.map +1 -0
- package/dist/core/doctor/environment.js +145 -0
- package/dist/core/doctor/environment.js.map +1 -0
- package/dist/core/doctor/index.d.ts +44 -0
- package/dist/core/doctor/index.d.ts.map +1 -0
- package/dist/core/doctor/index.js +134 -0
- package/dist/core/doctor/index.js.map +1 -0
- package/dist/core/doctor/repos.d.ts +22 -0
- package/dist/core/doctor/repos.d.ts.map +1 -0
- package/dist/core/doctor/repos.js +262 -0
- package/dist/core/doctor/repos.js.map +1 -0
- package/dist/core/doctor/sync.d.ts +18 -0
- package/dist/core/doctor/sync.d.ts.map +1 -0
- package/dist/core/doctor/sync.js +146 -0
- package/dist/core/doctor/sync.js.map +1 -0
- package/dist/core/gaps.d.ts +70 -0
- package/dist/core/gaps.d.ts.map +1 -0
- package/dist/core/gaps.js +448 -0
- package/dist/core/gaps.js.map +1 -0
- package/dist/core/github.d.ts +38 -0
- package/dist/core/github.d.ts.map +1 -0
- package/dist/core/github.js +102 -0
- package/dist/core/github.js.map +1 -0
- package/dist/core/prd/analyzer.d.ts +44 -0
- package/dist/core/prd/analyzer.d.ts.map +1 -0
- package/dist/core/prd/analyzer.js +259 -0
- package/dist/core/prd/analyzer.js.map +1 -0
- package/dist/core/prd/check.d.ts +17 -0
- package/dist/core/prd/check.d.ts.map +1 -0
- package/dist/core/prd/check.js +154 -0
- package/dist/core/prd/check.js.map +1 -0
- package/dist/core/prd/index.d.ts +6 -0
- package/dist/core/prd/index.d.ts.map +1 -0
- package/dist/core/prd/index.js +6 -0
- package/dist/core/prd/index.js.map +1 -0
- package/dist/core/project.d.ts +13 -0
- package/dist/core/project.d.ts.map +1 -0
- package/dist/core/project.js +810 -0
- package/dist/core/project.js.map +1 -0
- package/dist/core/prompts.d.ts +52 -0
- package/dist/core/prompts.d.ts.map +1 -0
- package/dist/core/prompts.js +266 -0
- package/dist/core/prompts.js.map +1 -0
- package/dist/core/repo/framework.d.ts +38 -0
- package/dist/core/repo/framework.d.ts.map +1 -0
- package/dist/core/repo/framework.js +142 -0
- package/dist/core/repo/framework.js.map +1 -0
- package/dist/core/repo/index.d.ts +6 -0
- package/dist/core/repo/index.d.ts.map +1 -0
- package/dist/core/repo/index.js +6 -0
- package/dist/core/repo/index.js.map +1 -0
- package/dist/core/repo/templates/claude-agents.d.ts +6 -0
- package/dist/core/repo/templates/claude-agents.d.ts.map +1 -0
- package/dist/core/repo/templates/claude-agents.js +173 -0
- package/dist/core/repo/templates/claude-agents.js.map +1 -0
- package/dist/core/repo/templates/claude-commands.d.ts +6 -0
- package/dist/core/repo/templates/claude-commands.d.ts.map +1 -0
- package/dist/core/repo/templates/claude-commands.js +278 -0
- package/dist/core/repo/templates/claude-commands.js.map +1 -0
- package/dist/core/repo/templates/claude-prompts.d.ts +6 -0
- package/dist/core/repo/templates/claude-prompts.d.ts.map +1 -0
- package/dist/core/repo/templates/claude-prompts.js +258 -0
- package/dist/core/repo/templates/claude-prompts.js.map +1 -0
- package/dist/core/repo/templates/claude-scripts.d.ts +6 -0
- package/dist/core/repo/templates/claude-scripts.d.ts.map +1 -0
- package/dist/core/repo/templates/claude-scripts.js +212 -0
- package/dist/core/repo/templates/claude-scripts.js.map +1 -0
- package/dist/core/repo/templates/index.d.ts +22 -0
- package/dist/core/repo/templates/index.d.ts.map +1 -0
- package/dist/core/repo/templates/index.js +121 -0
- package/dist/core/repo/templates/index.js.map +1 -0
- package/dist/core/repo/templates/vibe-readme.d.ts +6 -0
- package/dist/core/repo/templates/vibe-readme.d.ts.map +1 -0
- package/dist/core/repo/templates/vibe-readme.js +204 -0
- package/dist/core/repo/templates/vibe-readme.js.map +1 -0
- package/dist/core/repo/templates/vibe-scripts.d.ts +6 -0
- package/dist/core/repo/templates/vibe-scripts.d.ts.map +1 -0
- package/dist/core/repo/templates/vibe-scripts.js +308 -0
- package/dist/core/repo/templates/vibe-scripts.js.map +1 -0
- package/dist/core/repo/validation.d.ts +46 -0
- package/dist/core/repo/validation.d.ts.map +1 -0
- package/dist/core/repo/validation.js +154 -0
- package/dist/core/repo/validation.js.map +1 -0
- package/dist/core/runner.d.ts +38 -0
- package/dist/core/runner.d.ts.map +1 -0
- package/dist/core/runner.js +124 -0
- package/dist/core/runner.js.map +1 -0
- package/dist/core/send.d.ts +83 -0
- package/dist/core/send.d.ts.map +1 -0
- package/dist/core/send.js +565 -0
- package/dist/core/send.js.map +1 -0
- package/dist/core/status.d.ts +76 -0
- package/dist/core/status.d.ts.map +1 -0
- package/dist/core/status.js +430 -0
- package/dist/core/status.js.map +1 -0
- package/dist/core/sync/aggregator.d.ts +22 -0
- package/dist/core/sync/aggregator.d.ts.map +1 -0
- package/dist/core/sync/aggregator.js +278 -0
- package/dist/core/sync/aggregator.js.map +1 -0
- package/dist/core/sync/completion.d.ts +37 -0
- package/dist/core/sync/completion.d.ts.map +1 -0
- package/dist/core/sync/completion.js +264 -0
- package/dist/core/sync/completion.js.map +1 -0
- package/dist/core/sync/index.d.ts +51 -0
- package/dist/core/sync/index.d.ts.map +1 -0
- package/dist/core/sync/index.js +200 -0
- package/dist/core/sync/index.js.map +1 -0
- package/dist/core/sync/scanner.d.ts +39 -0
- package/dist/core/sync/scanner.d.ts.map +1 -0
- package/dist/core/sync/scanner.js +364 -0
- package/dist/core/sync/scanner.js.map +1 -0
- package/dist/types/config.d.ts +157 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +58 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/coverage.d.ts +100 -0
- package/dist/types/coverage.d.ts.map +1 -0
- package/dist/types/coverage.js +8 -0
- package/dist/types/coverage.js.map +1 -0
- package/dist/types/doctor.d.ts +68 -0
- package/dist/types/doctor.d.ts.map +1 -0
- package/dist/types/doctor.js +5 -0
- package/dist/types/doctor.js.map +1 -0
- package/dist/types/gaps.d.ts +129 -0
- package/dist/types/gaps.d.ts.map +1 -0
- package/dist/types/gaps.js +8 -0
- package/dist/types/gaps.js.map +1 -0
- package/dist/types/prompts.d.ts +99 -0
- package/dist/types/prompts.d.ts.map +1 -0
- package/dist/types/prompts.js +5 -0
- package/dist/types/prompts.js.map +1 -0
- package/dist/types/runner.d.ts +156 -0
- package/dist/types/runner.d.ts.map +1 -0
- package/dist/types/runner.js +41 -0
- package/dist/types/runner.js.map +1 -0
- package/dist/types/send.d.ts +157 -0
- package/dist/types/send.d.ts.map +1 -0
- package/dist/types/send.js +18 -0
- package/dist/types/send.js.map +1 -0
- package/dist/types/status.d.ts +150 -0
- package/dist/types/status.d.ts.map +1 -0
- package/dist/types/status.js +15 -0
- package/dist/types/status.js.map +1 -0
- package/dist/types/sync.d.ts +259 -0
- package/dist/types/sync.d.ts.map +1 -0
- package/dist/types/sync.js +38 -0
- package/dist/types/sync.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/types/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Runner operation types
|
|
4
|
+
*/
|
|
5
|
+
export declare const OperationTypeSchema: z.ZodEnum<["prd", "scope", "gaps", "analyze"]>;
|
|
6
|
+
export type OperationType = z.infer<typeof OperationTypeSchema>;
|
|
7
|
+
/**
|
|
8
|
+
* Runner phase types
|
|
9
|
+
*/
|
|
10
|
+
export declare const PhaseTypeSchema: z.ZodEnum<["assess", "execute", "approve", "complete"]>;
|
|
11
|
+
export type PhaseType = z.infer<typeof PhaseTypeSchema>;
|
|
12
|
+
/**
|
|
13
|
+
* Task status types
|
|
14
|
+
*/
|
|
15
|
+
export declare const TaskStatusSchema: z.ZodEnum<["pending", "in_progress", "complete", "failed"]>;
|
|
16
|
+
export type TaskStatus = z.infer<typeof TaskStatusSchema>;
|
|
17
|
+
/**
|
|
18
|
+
* Task schema for runner operations
|
|
19
|
+
*/
|
|
20
|
+
export declare const TaskSchema: z.ZodObject<{
|
|
21
|
+
id: z.ZodNumber;
|
|
22
|
+
name: z.ZodString;
|
|
23
|
+
description: z.ZodString;
|
|
24
|
+
prompt: z.ZodString;
|
|
25
|
+
interactive: z.ZodDefault<z.ZodBoolean>;
|
|
26
|
+
context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
27
|
+
status: z.ZodDefault<z.ZodEnum<["pending", "in_progress", "complete", "failed"]>>;
|
|
28
|
+
}, "strip", z.ZodTypeAny, {
|
|
29
|
+
name: string;
|
|
30
|
+
status: "complete" | "pending" | "in_progress" | "failed";
|
|
31
|
+
prompt: string;
|
|
32
|
+
id: number;
|
|
33
|
+
description: string;
|
|
34
|
+
interactive: boolean;
|
|
35
|
+
context: Record<string, unknown>;
|
|
36
|
+
}, {
|
|
37
|
+
name: string;
|
|
38
|
+
prompt: string;
|
|
39
|
+
id: number;
|
|
40
|
+
description: string;
|
|
41
|
+
status?: "complete" | "pending" | "in_progress" | "failed" | undefined;
|
|
42
|
+
interactive?: boolean | undefined;
|
|
43
|
+
context?: Record<string, unknown> | undefined;
|
|
44
|
+
}>;
|
|
45
|
+
export type Task = z.infer<typeof TaskSchema>;
|
|
46
|
+
/**
|
|
47
|
+
* Operation state schema (matches Python runner state)
|
|
48
|
+
*/
|
|
49
|
+
export declare const OperationStateSchema: z.ZodObject<{
|
|
50
|
+
operation: z.ZodEnum<["prd", "scope", "gaps", "analyze"]>;
|
|
51
|
+
project_path: z.ZodString;
|
|
52
|
+
phase: z.ZodEnum<["assess", "execute", "approve", "complete"]>;
|
|
53
|
+
total_tasks: z.ZodDefault<z.ZodNumber>;
|
|
54
|
+
current_task: z.ZodDefault<z.ZodNumber>;
|
|
55
|
+
tasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
56
|
+
id: z.ZodNumber;
|
|
57
|
+
name: z.ZodString;
|
|
58
|
+
description: z.ZodString;
|
|
59
|
+
prompt: z.ZodString;
|
|
60
|
+
interactive: z.ZodDefault<z.ZodBoolean>;
|
|
61
|
+
context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
62
|
+
status: z.ZodDefault<z.ZodEnum<["pending", "in_progress", "complete", "failed"]>>;
|
|
63
|
+
}, "strip", z.ZodTypeAny, {
|
|
64
|
+
name: string;
|
|
65
|
+
status: "complete" | "pending" | "in_progress" | "failed";
|
|
66
|
+
prompt: string;
|
|
67
|
+
id: number;
|
|
68
|
+
description: string;
|
|
69
|
+
interactive: boolean;
|
|
70
|
+
context: Record<string, unknown>;
|
|
71
|
+
}, {
|
|
72
|
+
name: string;
|
|
73
|
+
prompt: string;
|
|
74
|
+
id: number;
|
|
75
|
+
description: string;
|
|
76
|
+
status?: "complete" | "pending" | "in_progress" | "failed" | undefined;
|
|
77
|
+
interactive?: boolean | undefined;
|
|
78
|
+
context?: Record<string, unknown> | undefined;
|
|
79
|
+
}>, "many">>;
|
|
80
|
+
outputs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
81
|
+
discovery_output: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
82
|
+
started_at: z.ZodString;
|
|
83
|
+
updated_at: z.ZodString;
|
|
84
|
+
}, "strip", z.ZodTypeAny, {
|
|
85
|
+
operation: "prd" | "scope" | "gaps" | "analyze";
|
|
86
|
+
project_path: string;
|
|
87
|
+
phase: "assess" | "execute" | "approve" | "complete";
|
|
88
|
+
total_tasks: number;
|
|
89
|
+
current_task: number;
|
|
90
|
+
tasks: {
|
|
91
|
+
name: string;
|
|
92
|
+
status: "complete" | "pending" | "in_progress" | "failed";
|
|
93
|
+
prompt: string;
|
|
94
|
+
id: number;
|
|
95
|
+
description: string;
|
|
96
|
+
interactive: boolean;
|
|
97
|
+
context: Record<string, unknown>;
|
|
98
|
+
}[];
|
|
99
|
+
outputs: string[];
|
|
100
|
+
discovery_output: Record<string, unknown>;
|
|
101
|
+
started_at: string;
|
|
102
|
+
updated_at: string;
|
|
103
|
+
}, {
|
|
104
|
+
operation: "prd" | "scope" | "gaps" | "analyze";
|
|
105
|
+
project_path: string;
|
|
106
|
+
phase: "assess" | "execute" | "approve" | "complete";
|
|
107
|
+
started_at: string;
|
|
108
|
+
updated_at: string;
|
|
109
|
+
total_tasks?: number | undefined;
|
|
110
|
+
current_task?: number | undefined;
|
|
111
|
+
tasks?: {
|
|
112
|
+
name: string;
|
|
113
|
+
prompt: string;
|
|
114
|
+
id: number;
|
|
115
|
+
description: string;
|
|
116
|
+
status?: "complete" | "pending" | "in_progress" | "failed" | undefined;
|
|
117
|
+
interactive?: boolean | undefined;
|
|
118
|
+
context?: Record<string, unknown> | undefined;
|
|
119
|
+
}[] | undefined;
|
|
120
|
+
outputs?: string[] | undefined;
|
|
121
|
+
discovery_output?: Record<string, unknown> | undefined;
|
|
122
|
+
}>;
|
|
123
|
+
export type OperationState = z.infer<typeof OperationStateSchema>;
|
|
124
|
+
/**
|
|
125
|
+
* Runner options for CLI
|
|
126
|
+
*/
|
|
127
|
+
export interface RunnerOptions {
|
|
128
|
+
resume?: boolean;
|
|
129
|
+
loop?: boolean;
|
|
130
|
+
cancel?: boolean;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Command file metadata
|
|
134
|
+
*/
|
|
135
|
+
export interface CommandMetadata {
|
|
136
|
+
description: string;
|
|
137
|
+
model?: 'opus' | 'sonnet' | 'haiku';
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Parsed command file
|
|
141
|
+
*/
|
|
142
|
+
export interface ParsedCommand {
|
|
143
|
+
name: string;
|
|
144
|
+
description: string;
|
|
145
|
+
model?: string;
|
|
146
|
+
content: string;
|
|
147
|
+
path: string;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Command list result
|
|
151
|
+
*/
|
|
152
|
+
export interface CommandListResult {
|
|
153
|
+
builtin: ParsedCommand[];
|
|
154
|
+
custom: ParsedCommand[];
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/types/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,mBAAmB,gDAA8C,CAAC;AAC/E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,eAAe,yDAAuD,CAAC;AACpF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,gBAAgB,6DAA2D,CAAC;AACzF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;EAQrB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Runner operation types
|
|
4
|
+
*/
|
|
5
|
+
export const OperationTypeSchema = z.enum(['prd', 'scope', 'gaps', 'analyze']);
|
|
6
|
+
/**
|
|
7
|
+
* Runner phase types
|
|
8
|
+
*/
|
|
9
|
+
export const PhaseTypeSchema = z.enum(['assess', 'execute', 'approve', 'complete']);
|
|
10
|
+
/**
|
|
11
|
+
* Task status types
|
|
12
|
+
*/
|
|
13
|
+
export const TaskStatusSchema = z.enum(['pending', 'in_progress', 'complete', 'failed']);
|
|
14
|
+
/**
|
|
15
|
+
* Task schema for runner operations
|
|
16
|
+
*/
|
|
17
|
+
export const TaskSchema = z.object({
|
|
18
|
+
id: z.number(),
|
|
19
|
+
name: z.string(),
|
|
20
|
+
description: z.string(),
|
|
21
|
+
prompt: z.string(),
|
|
22
|
+
interactive: z.boolean().default(true),
|
|
23
|
+
context: z.record(z.unknown()).default({}),
|
|
24
|
+
status: TaskStatusSchema.default('pending'),
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* Operation state schema (matches Python runner state)
|
|
28
|
+
*/
|
|
29
|
+
export const OperationStateSchema = z.object({
|
|
30
|
+
operation: OperationTypeSchema,
|
|
31
|
+
project_path: z.string(),
|
|
32
|
+
phase: PhaseTypeSchema,
|
|
33
|
+
total_tasks: z.number().default(0),
|
|
34
|
+
current_task: z.number().default(0),
|
|
35
|
+
tasks: z.array(TaskSchema).default([]),
|
|
36
|
+
outputs: z.array(z.string()).default([]),
|
|
37
|
+
discovery_output: z.record(z.unknown()).default({}),
|
|
38
|
+
started_at: z.string(),
|
|
39
|
+
updated_at: z.string(),
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/types/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAG/E;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAGpF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAGzF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;CAC5C,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,mBAAmB;IAC9B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Tracking metadata added to scope on send
|
|
4
|
+
*/
|
|
5
|
+
export declare const TrackingMetadataSchema: z.ZodObject<{
|
|
6
|
+
version: z.ZodNumber;
|
|
7
|
+
sent_at: z.ZodString;
|
|
8
|
+
sent_from: z.ZodString;
|
|
9
|
+
source_path: z.ZodString;
|
|
10
|
+
target_repos: z.ZodArray<z.ZodString, "many">;
|
|
11
|
+
github_issues: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
12
|
+
version_history: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
13
|
+
version: z.ZodNumber;
|
|
14
|
+
sent_at: z.ZodString;
|
|
15
|
+
changes: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, "strip", z.ZodTypeAny, {
|
|
17
|
+
version: number;
|
|
18
|
+
sent_at: string;
|
|
19
|
+
changes?: string | undefined;
|
|
20
|
+
}, {
|
|
21
|
+
version: number;
|
|
22
|
+
sent_at: string;
|
|
23
|
+
changes?: string | undefined;
|
|
24
|
+
}>, "many">>;
|
|
25
|
+
}, "strip", z.ZodTypeAny, {
|
|
26
|
+
version: number;
|
|
27
|
+
sent_at: string;
|
|
28
|
+
sent_from: string;
|
|
29
|
+
source_path: string;
|
|
30
|
+
target_repos: string[];
|
|
31
|
+
github_issues: Record<string, number>;
|
|
32
|
+
version_history: {
|
|
33
|
+
version: number;
|
|
34
|
+
sent_at: string;
|
|
35
|
+
changes?: string | undefined;
|
|
36
|
+
}[];
|
|
37
|
+
}, {
|
|
38
|
+
version: number;
|
|
39
|
+
sent_at: string;
|
|
40
|
+
sent_from: string;
|
|
41
|
+
source_path: string;
|
|
42
|
+
target_repos: string[];
|
|
43
|
+
github_issues?: Record<string, number> | undefined;
|
|
44
|
+
version_history?: {
|
|
45
|
+
version: number;
|
|
46
|
+
sent_at: string;
|
|
47
|
+
changes?: string | undefined;
|
|
48
|
+
}[] | undefined;
|
|
49
|
+
}>;
|
|
50
|
+
export type TrackingMetadata = z.infer<typeof TrackingMetadataSchema>;
|
|
51
|
+
/**
|
|
52
|
+
* Dev repo state detection result
|
|
53
|
+
*/
|
|
54
|
+
export interface DevRepoState {
|
|
55
|
+
exists: boolean;
|
|
56
|
+
processed: boolean;
|
|
57
|
+
location: 'incoming' | 'processed' | null;
|
|
58
|
+
plan_path?: string;
|
|
59
|
+
plan_status?: 'active' | 'completed';
|
|
60
|
+
current_version?: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Send result per repo
|
|
64
|
+
*/
|
|
65
|
+
export interface SendResult {
|
|
66
|
+
repo: string;
|
|
67
|
+
alias: string;
|
|
68
|
+
success: boolean;
|
|
69
|
+
commit_sha?: string;
|
|
70
|
+
issue_number?: number;
|
|
71
|
+
issue_url?: string;
|
|
72
|
+
error?: string;
|
|
73
|
+
skipped?: boolean;
|
|
74
|
+
skip_reason?: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Scope metadata parsed from markdown
|
|
78
|
+
*/
|
|
79
|
+
export interface ScopeMetadata {
|
|
80
|
+
id: string;
|
|
81
|
+
status: string;
|
|
82
|
+
target: string;
|
|
83
|
+
complexity: string;
|
|
84
|
+
priority: string;
|
|
85
|
+
module?: string;
|
|
86
|
+
repo_order?: string[];
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Parsed scope content
|
|
90
|
+
*/
|
|
91
|
+
export interface ParsedScope {
|
|
92
|
+
id: string;
|
|
93
|
+
title: string;
|
|
94
|
+
metadata: ScopeMetadata;
|
|
95
|
+
summary: string;
|
|
96
|
+
content: string;
|
|
97
|
+
filePath: string;
|
|
98
|
+
fileName: string;
|
|
99
|
+
tracking?: TrackingMetadata;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Dependency validation result
|
|
103
|
+
*/
|
|
104
|
+
export interface DependencyValidationResult {
|
|
105
|
+
valid: boolean;
|
|
106
|
+
blocking: Array<{
|
|
107
|
+
scopeId: string;
|
|
108
|
+
reason: string;
|
|
109
|
+
status: string;
|
|
110
|
+
required_status: string;
|
|
111
|
+
}>;
|
|
112
|
+
nonBlocking: Array<{
|
|
113
|
+
scopeId: string;
|
|
114
|
+
reason: string;
|
|
115
|
+
status: string;
|
|
116
|
+
}>;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Sendability status for a scope
|
|
120
|
+
*/
|
|
121
|
+
export interface SendabilityStatus {
|
|
122
|
+
scopeId: string;
|
|
123
|
+
canSend: boolean;
|
|
124
|
+
reasons: string[];
|
|
125
|
+
dependencyStatus: DependencyValidationResult;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* List mode result
|
|
129
|
+
*/
|
|
130
|
+
export interface ListScopeResult {
|
|
131
|
+
scopes: Array<{
|
|
132
|
+
id: string;
|
|
133
|
+
title: string;
|
|
134
|
+
target: string;
|
|
135
|
+
priority: string;
|
|
136
|
+
complexity: string;
|
|
137
|
+
sendable: boolean;
|
|
138
|
+
reasons: string[];
|
|
139
|
+
}>;
|
|
140
|
+
sendableCount: number;
|
|
141
|
+
blockedCount: number;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Batch send result
|
|
145
|
+
*/
|
|
146
|
+
export interface BatchSendResult {
|
|
147
|
+
sent: SendResult[];
|
|
148
|
+
skipped: Array<{
|
|
149
|
+
scopeId: string;
|
|
150
|
+
reason: string;
|
|
151
|
+
}>;
|
|
152
|
+
failed: Array<{
|
|
153
|
+
scopeId: string;
|
|
154
|
+
error: string;
|
|
155
|
+
}>;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=send.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/types/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,WAAW,EAAE,KAAK,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,0BAA0B,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC,CAAC;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Tracking metadata added to scope on send
|
|
4
|
+
*/
|
|
5
|
+
export const TrackingMetadataSchema = z.object({
|
|
6
|
+
version: z.number().int().positive(),
|
|
7
|
+
sent_at: z.string().datetime(),
|
|
8
|
+
sent_from: z.string(),
|
|
9
|
+
source_path: z.string(),
|
|
10
|
+
target_repos: z.array(z.string()),
|
|
11
|
+
github_issues: z.record(z.string(), z.number()).default({}),
|
|
12
|
+
version_history: z.array(z.object({
|
|
13
|
+
version: z.number().int().positive(),
|
|
14
|
+
sent_at: z.string().datetime(),
|
|
15
|
+
changes: z.string().optional(),
|
|
16
|
+
})).default([]),
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=send.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/types/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3D,eAAe,EAAE,CAAC,CAAC,KAAK,CACtB,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,CAAC;CACd,CAAC,CAAC"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status command types
|
|
3
|
+
*
|
|
4
|
+
* Types for project status reporting including health checks,
|
|
5
|
+
* data freshness, and CI/CD integration.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Health status levels
|
|
9
|
+
*/
|
|
10
|
+
export type HealthLevel = 'healthy' | 'warning' | 'critical';
|
|
11
|
+
/**
|
|
12
|
+
* Exit codes for CI/CD integration
|
|
13
|
+
*/
|
|
14
|
+
export declare const EXIT_CODES: {
|
|
15
|
+
readonly healthy: 0;
|
|
16
|
+
readonly warning: 1;
|
|
17
|
+
readonly critical: 2;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Repository sync status
|
|
21
|
+
*/
|
|
22
|
+
export interface RepoStatus {
|
|
23
|
+
alias: string;
|
|
24
|
+
name: string;
|
|
25
|
+
owner: string;
|
|
26
|
+
url: string;
|
|
27
|
+
lastSync: string | null;
|
|
28
|
+
success: boolean;
|
|
29
|
+
filesScanned: number;
|
|
30
|
+
activePlans: number;
|
|
31
|
+
completedPlans: number;
|
|
32
|
+
kbEntries: number;
|
|
33
|
+
error: string | null;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* PRD coverage data
|
|
37
|
+
*/
|
|
38
|
+
export interface CoverageData {
|
|
39
|
+
totalRequirements: number;
|
|
40
|
+
implementedRequirements: number;
|
|
41
|
+
coveragePercentage: number;
|
|
42
|
+
byModule: Record<string, {
|
|
43
|
+
total: number;
|
|
44
|
+
implemented: number;
|
|
45
|
+
percentage: number;
|
|
46
|
+
}>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Scope counts by status
|
|
50
|
+
*/
|
|
51
|
+
export interface ScopeCounts {
|
|
52
|
+
drafts: number;
|
|
53
|
+
ready: number;
|
|
54
|
+
sent: number;
|
|
55
|
+
inProgress: number;
|
|
56
|
+
completed: number;
|
|
57
|
+
blocked: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Gap summary by priority
|
|
61
|
+
*/
|
|
62
|
+
export interface GapSummary {
|
|
63
|
+
p1: number;
|
|
64
|
+
p2: number;
|
|
65
|
+
p3: number;
|
|
66
|
+
total: number;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Gap detail for detailed view
|
|
70
|
+
*/
|
|
71
|
+
export interface GapDetail {
|
|
72
|
+
id: string;
|
|
73
|
+
description: string;
|
|
74
|
+
priority: string;
|
|
75
|
+
module: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Data freshness information
|
|
79
|
+
*/
|
|
80
|
+
export interface FreshnessInfo {
|
|
81
|
+
lastSync: string | null;
|
|
82
|
+
timeSinceSync: string;
|
|
83
|
+
isStale: boolean;
|
|
84
|
+
staleThresholdMinutes: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Complete project status
|
|
88
|
+
*/
|
|
89
|
+
export interface ProjectStatus {
|
|
90
|
+
projectName: string;
|
|
91
|
+
freshness: FreshnessInfo;
|
|
92
|
+
repos: RepoStatus[];
|
|
93
|
+
coverage: CoverageData;
|
|
94
|
+
scopes: ScopeCounts;
|
|
95
|
+
gaps: GapSummary;
|
|
96
|
+
gapDetails: GapDetail[];
|
|
97
|
+
health: HealthLevel;
|
|
98
|
+
healthReasons: string[];
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* JSON output structure for --json flag
|
|
102
|
+
*/
|
|
103
|
+
export interface StatusJsonOutput {
|
|
104
|
+
project: string;
|
|
105
|
+
generatedAt: string;
|
|
106
|
+
health: {
|
|
107
|
+
status: HealthLevel;
|
|
108
|
+
exitCode: number;
|
|
109
|
+
reasons: string[];
|
|
110
|
+
};
|
|
111
|
+
freshness: {
|
|
112
|
+
lastSync: string | null;
|
|
113
|
+
timeSinceSync: string;
|
|
114
|
+
isStale: boolean;
|
|
115
|
+
staleThresholdMinutes: number;
|
|
116
|
+
};
|
|
117
|
+
repositories: {
|
|
118
|
+
count: number;
|
|
119
|
+
synced: number;
|
|
120
|
+
failed: number;
|
|
121
|
+
repos: RepoStatus[];
|
|
122
|
+
};
|
|
123
|
+
coverage: {
|
|
124
|
+
percentage: number;
|
|
125
|
+
implemented: number;
|
|
126
|
+
total: number;
|
|
127
|
+
byModule: Record<string, {
|
|
128
|
+
total: number;
|
|
129
|
+
implemented: number;
|
|
130
|
+
percentage: number;
|
|
131
|
+
}>;
|
|
132
|
+
};
|
|
133
|
+
scopes: {
|
|
134
|
+
drafts: number;
|
|
135
|
+
ready: number;
|
|
136
|
+
sent: number;
|
|
137
|
+
inProgress: number;
|
|
138
|
+
completed: number;
|
|
139
|
+
blocked: number;
|
|
140
|
+
total: number;
|
|
141
|
+
};
|
|
142
|
+
gaps: {
|
|
143
|
+
p1: number;
|
|
144
|
+
p2: number;
|
|
145
|
+
p3: number;
|
|
146
|
+
total: number;
|
|
147
|
+
details: GapDetail[];
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/types/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status command types
|
|
3
|
+
*
|
|
4
|
+
* Types for project status reporting including health checks,
|
|
5
|
+
* data freshness, and CI/CD integration.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Exit codes for CI/CD integration
|
|
9
|
+
*/
|
|
10
|
+
export const EXIT_CODES = {
|
|
11
|
+
healthy: 0,
|
|
12
|
+
warning: 1,
|
|
13
|
+
critical: 2,
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/types/status.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;CACH,CAAC"}
|