popeye-cli 1.0.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/.env.example +25 -0
- package/.prettierrc +8 -0
- package/README.md +320 -0
- package/dist/adapters/claude.d.ts +82 -0
- package/dist/adapters/claude.d.ts.map +1 -0
- package/dist/adapters/claude.js +230 -0
- package/dist/adapters/claude.js.map +1 -0
- package/dist/adapters/openai.d.ts +48 -0
- package/dist/adapters/openai.d.ts.map +1 -0
- package/dist/adapters/openai.js +257 -0
- package/dist/adapters/openai.js.map +1 -0
- package/dist/auth/claude.d.ts +44 -0
- package/dist/auth/claude.d.ts.map +1 -0
- package/dist/auth/claude.js +139 -0
- package/dist/auth/claude.js.map +1 -0
- package/dist/auth/index.d.ts +61 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +141 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/keychain.d.ts +66 -0
- package/dist/auth/keychain.d.ts.map +1 -0
- package/dist/auth/keychain.js +125 -0
- package/dist/auth/keychain.js.map +1 -0
- package/dist/auth/openai-entry.d.ts +9 -0
- package/dist/auth/openai-entry.d.ts.map +1 -0
- package/dist/auth/openai-entry.js +410 -0
- package/dist/auth/openai-entry.js.map +1 -0
- package/dist/auth/openai.d.ts +71 -0
- package/dist/auth/openai.d.ts.map +1 -0
- package/dist/auth/openai.js +212 -0
- package/dist/auth/openai.js.map +1 -0
- package/dist/auth/server.d.ts +32 -0
- package/dist/auth/server.d.ts.map +1 -0
- package/dist/auth/server.js +213 -0
- package/dist/auth/server.js.map +1 -0
- package/dist/cli/commands/auth.d.ts +10 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/auth.js +162 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/config.d.ts +10 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +215 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/create.d.ts +10 -0
- package/dist/cli/commands/create.d.ts.map +1 -0
- package/dist/cli/commands/create.js +240 -0
- package/dist/cli/commands/create.js.map +1 -0
- package/dist/cli/commands/index.d.ts +10 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +10 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/resume.d.ts +18 -0
- package/dist/cli/commands/resume.d.ts.map +1 -0
- package/dist/cli/commands/resume.js +241 -0
- package/dist/cli/commands/resume.js.map +1 -0
- package/dist/cli/commands/status.d.ts +18 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +154 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/index.d.ts +17 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +71 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/interactive.d.ts +9 -0
- package/dist/cli/interactive.d.ts.map +1 -0
- package/dist/cli/interactive.js +330 -0
- package/dist/cli/interactive.js.map +1 -0
- package/dist/cli/output.d.ts +182 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +355 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/config/defaults.d.ts +57 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +103 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/index.d.ts +138 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +244 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/schema.d.ts +220 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +141 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/generators/index.d.ts +101 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +200 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/python.d.ts +48 -0
- package/dist/generators/python.d.ts.map +1 -0
- package/dist/generators/python.js +262 -0
- package/dist/generators/python.js.map +1 -0
- package/dist/generators/templates/index.d.ts +6 -0
- package/dist/generators/templates/index.d.ts.map +1 -0
- package/dist/generators/templates/index.js +6 -0
- package/dist/generators/templates/index.js.map +1 -0
- package/dist/generators/templates/python.d.ts +53 -0
- package/dist/generators/templates/python.d.ts.map +1 -0
- package/dist/generators/templates/python.js +454 -0
- package/dist/generators/templates/python.js.map +1 -0
- package/dist/generators/templates/typescript.d.ts +53 -0
- package/dist/generators/templates/typescript.d.ts.map +1 -0
- package/dist/generators/templates/typescript.js +394 -0
- package/dist/generators/templates/typescript.js.map +1 -0
- package/dist/generators/typescript.d.ts +64 -0
- package/dist/generators/typescript.d.ts.map +1 -0
- package/dist/generators/typescript.js +271 -0
- package/dist/generators/typescript.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/state/index.d.ts +168 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +338 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/persistence.d.ts +91 -0
- package/dist/state/persistence.d.ts.map +1 -0
- package/dist/state/persistence.js +201 -0
- package/dist/state/persistence.js.map +1 -0
- package/dist/types/cli.d.ts +132 -0
- package/dist/types/cli.d.ts.map +1 -0
- package/dist/types/cli.js +17 -0
- package/dist/types/cli.js.map +1 -0
- package/dist/types/consensus.d.ts +111 -0
- package/dist/types/consensus.d.ts.map +1 -0
- package/dist/types/consensus.js +29 -0
- package/dist/types/consensus.js.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +13 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/project.d.ts +73 -0
- package/dist/types/project.d.ts.map +1 -0
- package/dist/types/project.js +55 -0
- package/dist/types/project.js.map +1 -0
- package/dist/types/workflow.d.ts +236 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +74 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/workflow/consensus.d.ts +89 -0
- package/dist/workflow/consensus.d.ts.map +1 -0
- package/dist/workflow/consensus.js +220 -0
- package/dist/workflow/consensus.js.map +1 -0
- package/dist/workflow/execution-mode.d.ts +82 -0
- package/dist/workflow/execution-mode.d.ts.map +1 -0
- package/dist/workflow/execution-mode.js +346 -0
- package/dist/workflow/execution-mode.js.map +1 -0
- package/dist/workflow/index.d.ts +110 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +283 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/plan-mode.d.ts +83 -0
- package/dist/workflow/plan-mode.d.ts.map +1 -0
- package/dist/workflow/plan-mode.js +241 -0
- package/dist/workflow/plan-mode.js.map +1 -0
- package/dist/workflow/test-runner.d.ts +87 -0
- package/dist/workflow/test-runner.d.ts.map +1 -0
- package/dist/workflow/test-runner.js +273 -0
- package/dist/workflow/test-runner.js.map +1 -0
- package/eslint.config.js +25 -0
- package/package.json +66 -0
- package/src/adapters/claude.ts +298 -0
- package/src/adapters/openai.ts +300 -0
- package/src/auth/claude.ts +166 -0
- package/src/auth/index.ts +171 -0
- package/src/auth/keychain.ts +138 -0
- package/src/auth/openai-entry.ts +410 -0
- package/src/auth/openai.ts +260 -0
- package/src/auth/server.ts +252 -0
- package/src/cli/commands/auth.ts +194 -0
- package/src/cli/commands/config.ts +241 -0
- package/src/cli/commands/create.ts +308 -0
- package/src/cli/commands/index.ts +10 -0
- package/src/cli/commands/resume.ts +304 -0
- package/src/cli/commands/status.ts +189 -0
- package/src/cli/index.ts +90 -0
- package/src/cli/interactive.ts +418 -0
- package/src/cli/output.ts +410 -0
- package/src/config/defaults.ts +114 -0
- package/src/config/index.ts +315 -0
- package/src/config/schema.ts +164 -0
- package/src/generators/index.ts +251 -0
- package/src/generators/python.ts +318 -0
- package/src/generators/templates/index.ts +6 -0
- package/src/generators/templates/python.ts +465 -0
- package/src/generators/templates/typescript.ts +417 -0
- package/src/generators/typescript.ts +340 -0
- package/src/index.ts +13 -0
- package/src/state/index.ts +454 -0
- package/src/state/persistence.ts +230 -0
- package/src/types/cli.ts +146 -0
- package/src/types/consensus.ts +116 -0
- package/src/types/index.ts +64 -0
- package/src/types/project.ts +85 -0
- package/src/types/workflow.ts +149 -0
- package/src/workflow/consensus.ts +299 -0
- package/src/workflow/execution-mode.ts +517 -0
- package/src/workflow/index.ts +396 -0
- package/src/workflow/plan-mode.ts +356 -0
- package/src/workflow/test-runner.ts +345 -0
- package/tests/adapters/openai.test.ts +145 -0
- package/tests/config/config.test.ts +208 -0
- package/tests/generators/generators.test.ts +185 -0
- package/tests/types/consensus.test.ts +152 -0
- package/tests/types/project.test.ts +134 -0
- package/tests/workflow/consensus.test.ts +221 -0
- package/tests/workflow/test-runner.test.ts +214 -0
- package/tsconfig.json +25 -0
- package/vitest.config.ts +22 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI-related type definitions
|
|
3
|
+
* Defines command options, interactive mode state, and output formats
|
|
4
|
+
*/
|
|
5
|
+
import type { OutputLanguage, OpenAIModel } from './project.js';
|
|
6
|
+
/**
|
|
7
|
+
* Global CLI options available on all commands
|
|
8
|
+
*/
|
|
9
|
+
export interface GlobalOptions {
|
|
10
|
+
verbose: boolean;
|
|
11
|
+
quiet: boolean;
|
|
12
|
+
noColor: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Options for the `create` command
|
|
16
|
+
*/
|
|
17
|
+
export interface CreateOptions extends GlobalOptions {
|
|
18
|
+
language: OutputLanguage;
|
|
19
|
+
openaiModel: OpenAIModel;
|
|
20
|
+
output?: string;
|
|
21
|
+
name?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Options for the `resume` command
|
|
25
|
+
*/
|
|
26
|
+
export interface ResumeOptions extends GlobalOptions {
|
|
27
|
+
projectPath: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Options for the `status` command
|
|
31
|
+
*/
|
|
32
|
+
export interface StatusOptions extends GlobalOptions {
|
|
33
|
+
projectPath?: string;
|
|
34
|
+
json: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Options for the `auth` command
|
|
38
|
+
*/
|
|
39
|
+
export interface AuthOptions extends GlobalOptions {
|
|
40
|
+
service?: 'claude' | 'openai' | 'all';
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Options for the `config` command
|
|
44
|
+
*/
|
|
45
|
+
export interface ConfigOptions extends GlobalOptions {
|
|
46
|
+
global: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Authentication status for display
|
|
50
|
+
*/
|
|
51
|
+
export interface AuthStatus {
|
|
52
|
+
claude: {
|
|
53
|
+
authenticated: boolean;
|
|
54
|
+
user?: string;
|
|
55
|
+
expires?: string;
|
|
56
|
+
};
|
|
57
|
+
openai: {
|
|
58
|
+
authenticated: boolean;
|
|
59
|
+
keyLastFour?: string;
|
|
60
|
+
modelAccess?: string[];
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Interactive mode session state
|
|
65
|
+
*/
|
|
66
|
+
export interface InteractiveSession {
|
|
67
|
+
connected: boolean;
|
|
68
|
+
language: OutputLanguage;
|
|
69
|
+
openaiModel: OpenAIModel;
|
|
70
|
+
currentProject?: string;
|
|
71
|
+
history: string[];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Slash command definition for interactive mode
|
|
75
|
+
*/
|
|
76
|
+
export interface SlashCommand {
|
|
77
|
+
name: string;
|
|
78
|
+
aliases: string[];
|
|
79
|
+
description: string;
|
|
80
|
+
usage: string;
|
|
81
|
+
handler: (args: string[], session: InteractiveSession) => Promise<void>;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Progress display information
|
|
85
|
+
*/
|
|
86
|
+
export interface ProgressInfo {
|
|
87
|
+
phase: string;
|
|
88
|
+
milestone?: number;
|
|
89
|
+
totalMilestones?: number;
|
|
90
|
+
task?: number;
|
|
91
|
+
totalTasks?: number;
|
|
92
|
+
consensusIteration?: number;
|
|
93
|
+
consensusScore?: number;
|
|
94
|
+
status: 'pending' | 'running' | 'success' | 'error';
|
|
95
|
+
message: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Console output styles/colors
|
|
99
|
+
*/
|
|
100
|
+
export interface OutputStyles {
|
|
101
|
+
primary: string;
|
|
102
|
+
secondary: string;
|
|
103
|
+
success: string;
|
|
104
|
+
warning: string;
|
|
105
|
+
error: string;
|
|
106
|
+
info: string;
|
|
107
|
+
dim: string;
|
|
108
|
+
bold: string;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Banner configuration
|
|
112
|
+
*/
|
|
113
|
+
export interface BannerConfig {
|
|
114
|
+
version: string;
|
|
115
|
+
language: OutputLanguage;
|
|
116
|
+
openaiModel: OpenAIModel;
|
|
117
|
+
sessionId?: string;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* CLI exit codes
|
|
121
|
+
*/
|
|
122
|
+
export declare const EXIT_CODES: {
|
|
123
|
+
readonly SUCCESS: 0;
|
|
124
|
+
readonly ERROR: 1;
|
|
125
|
+
readonly AUTH_REQUIRED: 2;
|
|
126
|
+
readonly INVALID_INPUT: 3;
|
|
127
|
+
readonly CONSENSUS_FAILED: 4;
|
|
128
|
+
readonly TEST_FAILED: 5;
|
|
129
|
+
readonly INTERRUPTED: 130;
|
|
130
|
+
};
|
|
131
|
+
export type ExitCode = (typeof EXIT_CODES)[keyof typeof EXIT_CODES];
|
|
132
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/types/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI-related type definitions
|
|
3
|
+
* Defines command options, interactive mode state, and output formats
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* CLI exit codes
|
|
7
|
+
*/
|
|
8
|
+
export const EXIT_CODES = {
|
|
9
|
+
SUCCESS: 0,
|
|
10
|
+
ERROR: 1,
|
|
11
|
+
AUTH_REQUIRED: 2,
|
|
12
|
+
INVALID_INPUT: 3,
|
|
13
|
+
CONSENSUS_FAILED: 4,
|
|
14
|
+
TEST_FAILED: 5,
|
|
15
|
+
INTERRUPTED: 130,
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/types/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiIH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,GAAG;CACR,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consensus-related type definitions
|
|
3
|
+
* Defines consensus results, iterations, and configuration
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import type { OpenAIModel } from './project.js';
|
|
7
|
+
/**
|
|
8
|
+
* Result of a consensus review from OpenAI
|
|
9
|
+
*/
|
|
10
|
+
export interface ConsensusResult {
|
|
11
|
+
score: number;
|
|
12
|
+
analysis: string;
|
|
13
|
+
strengths: string[];
|
|
14
|
+
concerns: string[];
|
|
15
|
+
recommendations: string[];
|
|
16
|
+
approved: boolean;
|
|
17
|
+
rawResponse: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Single consensus iteration record
|
|
21
|
+
*/
|
|
22
|
+
export interface ConsensusIteration {
|
|
23
|
+
iteration: number;
|
|
24
|
+
plan: string;
|
|
25
|
+
result: ConsensusResult;
|
|
26
|
+
timestamp: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Configuration for consensus process
|
|
30
|
+
*/
|
|
31
|
+
export interface ConsensusConfig {
|
|
32
|
+
threshold: number;
|
|
33
|
+
maxIterations: number;
|
|
34
|
+
openaiKey: string;
|
|
35
|
+
openaiModel: OpenAIModel;
|
|
36
|
+
escalationAction: 'pause' | 'continue' | 'abort';
|
|
37
|
+
temperature: number;
|
|
38
|
+
maxTokens: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Default consensus configuration
|
|
42
|
+
*/
|
|
43
|
+
export declare const DEFAULT_CONSENSUS_CONFIG: Omit<ConsensusConfig, 'openaiKey'>;
|
|
44
|
+
/**
|
|
45
|
+
* Zod schema for consensus config validation
|
|
46
|
+
*/
|
|
47
|
+
export declare const ConsensusConfigSchema: z.ZodObject<{
|
|
48
|
+
threshold: z.ZodDefault<z.ZodNumber>;
|
|
49
|
+
maxIterations: z.ZodDefault<z.ZodNumber>;
|
|
50
|
+
openaiKey: z.ZodString;
|
|
51
|
+
openaiModel: z.ZodEnum<{
|
|
52
|
+
"gpt-4o": "gpt-4o";
|
|
53
|
+
"gpt-4o-mini": "gpt-4o-mini";
|
|
54
|
+
"gpt-4-turbo": "gpt-4-turbo";
|
|
55
|
+
"o1-preview": "o1-preview";
|
|
56
|
+
"o1-mini": "o1-mini";
|
|
57
|
+
}>;
|
|
58
|
+
escalationAction: z.ZodDefault<z.ZodEnum<{
|
|
59
|
+
abort: "abort";
|
|
60
|
+
pause: "pause";
|
|
61
|
+
continue: "continue";
|
|
62
|
+
}>>;
|
|
63
|
+
temperature: z.ZodDefault<z.ZodNumber>;
|
|
64
|
+
maxTokens: z.ZodDefault<z.ZodNumber>;
|
|
65
|
+
}, z.core.$strip>;
|
|
66
|
+
/**
|
|
67
|
+
* Plan document structure for consensus review
|
|
68
|
+
*/
|
|
69
|
+
export interface PlanDocument {
|
|
70
|
+
milestone: number;
|
|
71
|
+
title: string;
|
|
72
|
+
background: string;
|
|
73
|
+
goals: string[];
|
|
74
|
+
useCases: string[];
|
|
75
|
+
risks: string[];
|
|
76
|
+
tasks: {
|
|
77
|
+
id: string;
|
|
78
|
+
description: string;
|
|
79
|
+
acceptanceCriteria: string[];
|
|
80
|
+
dependencies: string[];
|
|
81
|
+
}[];
|
|
82
|
+
testPlan: {
|
|
83
|
+
id: string;
|
|
84
|
+
type: 'unit' | 'integration' | 'e2e';
|
|
85
|
+
description: string;
|
|
86
|
+
setup: string;
|
|
87
|
+
steps: string[];
|
|
88
|
+
expectedResult: string;
|
|
89
|
+
}[];
|
|
90
|
+
summary: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Consensus request payload
|
|
94
|
+
*/
|
|
95
|
+
export interface ConsensusRequest {
|
|
96
|
+
plan: string;
|
|
97
|
+
context: string;
|
|
98
|
+
previousFeedback?: string;
|
|
99
|
+
iteration: number;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Escalation details when consensus cannot be reached
|
|
103
|
+
*/
|
|
104
|
+
export interface EscalationDetails {
|
|
105
|
+
reason: string;
|
|
106
|
+
iterations: ConsensusIteration[];
|
|
107
|
+
lastScore: number;
|
|
108
|
+
unresolvable_concerns: string[];
|
|
109
|
+
suggestedActions: string[];
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=consensus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consensus.d.ts","sourceRoot":"","sources":["../../src/types/consensus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAOvE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBAQhC,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,EAAE,CAAC;IACJ,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,CAAC;QACrC,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IACJ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consensus-related type definitions
|
|
3
|
+
* Defines consensus results, iterations, and configuration
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
/**
|
|
7
|
+
* Default consensus configuration
|
|
8
|
+
*/
|
|
9
|
+
export const DEFAULT_CONSENSUS_CONFIG = {
|
|
10
|
+
threshold: 95,
|
|
11
|
+
maxIterations: 5,
|
|
12
|
+
openaiModel: 'gpt-4o',
|
|
13
|
+
escalationAction: 'pause',
|
|
14
|
+
temperature: 0.3,
|
|
15
|
+
maxTokens: 4096,
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Zod schema for consensus config validation
|
|
19
|
+
*/
|
|
20
|
+
export const ConsensusConfigSchema = z.object({
|
|
21
|
+
threshold: z.number().min(0).max(100).default(95),
|
|
22
|
+
maxIterations: z.number().min(1).max(10).default(5),
|
|
23
|
+
openaiKey: z.string().min(1),
|
|
24
|
+
openaiModel: z.enum(['gpt-4o', 'gpt-4o-mini', 'gpt-4-turbo', 'o1-preview', 'o1-mini']),
|
|
25
|
+
escalationAction: z.enum(['pause', 'continue', 'abort']).default('pause'),
|
|
26
|
+
temperature: z.number().min(0).max(2).default(0.3),
|
|
27
|
+
maxTokens: z.number().min(100).max(32000).default(4096),
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=consensus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consensus.js","sourceRoot":"","sources":["../../src/types/consensus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuCxB;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAuC;IAC1E,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,QAAQ;IACrB,gBAAgB,EAAE,OAAO;IACzB,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IACtF,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACzE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CACxD,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central type exports for Popeye CLI
|
|
3
|
+
* Re-exports all types from subdirectories for easy importing
|
|
4
|
+
*/
|
|
5
|
+
export { OutputLanguageSchema, OpenAIModelSchema, ProjectSpecSchema, OPENAI_MODELS, type OutputLanguage, type OpenAIModel, type ProjectSpec, type GeneratedProject, type GenerationOptions, } from './project.js';
|
|
6
|
+
export { WorkflowPhaseSchema, TaskStatusSchema, ProjectStateSchema, ProjectStatusSchema, TaskSchema, MilestoneSchema, type WorkflowPhase, type ProjectStatus, type TaskStatus, type Task, type Milestone, type ProjectState, type WorkflowEvent, } from './workflow.js';
|
|
7
|
+
export { ConsensusConfigSchema, DEFAULT_CONSENSUS_CONFIG, type ConsensusResult, type ConsensusIteration, type ConsensusConfig, type PlanDocument, type ConsensusRequest, type EscalationDetails, } from './consensus.js';
|
|
8
|
+
export { EXIT_CODES, type GlobalOptions, type CreateOptions, type ResumeOptions, type StatusOptions, type AuthOptions, type ConfigOptions, type AuthStatus, type InteractiveSession, type SlashCommand, type ProgressInfo, type OutputStyles, type BannerConfig, type ExitCode, } from './cli.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,QAAQ,GACd,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central type exports for Popeye CLI
|
|
3
|
+
* Re-exports all types from subdirectories for easy importing
|
|
4
|
+
*/
|
|
5
|
+
// Project types
|
|
6
|
+
export { OutputLanguageSchema, OpenAIModelSchema, ProjectSpecSchema, OPENAI_MODELS, } from './project.js';
|
|
7
|
+
// Workflow types
|
|
8
|
+
export { WorkflowPhaseSchema, TaskStatusSchema, ProjectStateSchema, ProjectStatusSchema, TaskSchema, MilestoneSchema, } from './workflow.js';
|
|
9
|
+
// Consensus types
|
|
10
|
+
export { ConsensusConfigSchema, DEFAULT_CONSENSUS_CONFIG, } from './consensus.js';
|
|
11
|
+
// CLI types
|
|
12
|
+
export { EXIT_CODES, } from './cli.js';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gBAAgB;AAChB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GAMd,MAAM,cAAc,CAAC;AAEtB,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,eAAe,GAQhB,MAAM,eAAe,CAAC;AAEvB,kBAAkB;AAClB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GAOzB,MAAM,gBAAgB,CAAC;AAExB,YAAY;AACZ,OAAO,EACL,UAAU,GAcX,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project-related type definitions
|
|
3
|
+
* Defines output languages, models, and project specifications
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
/**
|
|
7
|
+
* Supported output languages for generated projects
|
|
8
|
+
*/
|
|
9
|
+
export declare const OutputLanguageSchema: z.ZodEnum<{
|
|
10
|
+
python: "python";
|
|
11
|
+
typescript: "typescript";
|
|
12
|
+
}>;
|
|
13
|
+
export type OutputLanguage = z.infer<typeof OutputLanguageSchema>;
|
|
14
|
+
/**
|
|
15
|
+
* Supported OpenAI models for consensus reviews
|
|
16
|
+
*/
|
|
17
|
+
export declare const OpenAIModelSchema: z.ZodEnum<{
|
|
18
|
+
"gpt-4o": "gpt-4o";
|
|
19
|
+
"gpt-4o-mini": "gpt-4o-mini";
|
|
20
|
+
"gpt-4-turbo": "gpt-4-turbo";
|
|
21
|
+
"o1-preview": "o1-preview";
|
|
22
|
+
"o1-mini": "o1-mini";
|
|
23
|
+
}>;
|
|
24
|
+
export type OpenAIModel = z.infer<typeof OpenAIModelSchema>;
|
|
25
|
+
/**
|
|
26
|
+
* Project specification provided by user
|
|
27
|
+
*/
|
|
28
|
+
export declare const ProjectSpecSchema: z.ZodObject<{
|
|
29
|
+
idea: z.ZodString;
|
|
30
|
+
name: z.ZodOptional<z.ZodString>;
|
|
31
|
+
language: z.ZodEnum<{
|
|
32
|
+
python: "python";
|
|
33
|
+
typescript: "typescript";
|
|
34
|
+
}>;
|
|
35
|
+
openaiModel: z.ZodEnum<{
|
|
36
|
+
"gpt-4o": "gpt-4o";
|
|
37
|
+
"gpt-4o-mini": "gpt-4o-mini";
|
|
38
|
+
"gpt-4-turbo": "gpt-4-turbo";
|
|
39
|
+
"o1-preview": "o1-preview";
|
|
40
|
+
"o1-mini": "o1-mini";
|
|
41
|
+
}>;
|
|
42
|
+
outputDir: z.ZodOptional<z.ZodString>;
|
|
43
|
+
}, z.core.$strip>;
|
|
44
|
+
export type ProjectSpec = z.infer<typeof ProjectSpecSchema>;
|
|
45
|
+
/**
|
|
46
|
+
* Generated project information
|
|
47
|
+
*/
|
|
48
|
+
export interface GeneratedProject {
|
|
49
|
+
name: string;
|
|
50
|
+
path: string;
|
|
51
|
+
language: OutputLanguage;
|
|
52
|
+
files: string[];
|
|
53
|
+
testsPath: string;
|
|
54
|
+
dockerComposePath: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Project generation options
|
|
58
|
+
*/
|
|
59
|
+
export interface GenerationOptions {
|
|
60
|
+
includeDocker: boolean;
|
|
61
|
+
includeTests: boolean;
|
|
62
|
+
includeDocs: boolean;
|
|
63
|
+
packageManager: 'pip' | 'poetry' | 'npm' | 'pnpm';
|
|
64
|
+
testFramework: 'pytest' | 'jest' | 'vitest';
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Available OpenAI models with descriptions
|
|
68
|
+
*/
|
|
69
|
+
export declare const OPENAI_MODELS: Record<OpenAIModel, {
|
|
70
|
+
description: string;
|
|
71
|
+
recommended: string;
|
|
72
|
+
}>;
|
|
73
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;EAAmC,CAAC;AACrE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;EAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;iBAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAClD,aAAa,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;CAC7C;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAqB3F,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project-related type definitions
|
|
3
|
+
* Defines output languages, models, and project specifications
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
/**
|
|
7
|
+
* Supported output languages for generated projects
|
|
8
|
+
*/
|
|
9
|
+
export const OutputLanguageSchema = z.enum(['python', 'typescript']);
|
|
10
|
+
/**
|
|
11
|
+
* Supported OpenAI models for consensus reviews
|
|
12
|
+
*/
|
|
13
|
+
export const OpenAIModelSchema = z.enum([
|
|
14
|
+
'gpt-4o',
|
|
15
|
+
'gpt-4o-mini',
|
|
16
|
+
'gpt-4-turbo',
|
|
17
|
+
'o1-preview',
|
|
18
|
+
'o1-mini',
|
|
19
|
+
]);
|
|
20
|
+
/**
|
|
21
|
+
* Project specification provided by user
|
|
22
|
+
*/
|
|
23
|
+
export const ProjectSpecSchema = z.object({
|
|
24
|
+
idea: z.string().min(10, 'Idea must be at least 10 characters'),
|
|
25
|
+
name: z.string().optional(),
|
|
26
|
+
language: OutputLanguageSchema,
|
|
27
|
+
openaiModel: OpenAIModelSchema,
|
|
28
|
+
outputDir: z.string().optional(),
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* Available OpenAI models with descriptions
|
|
32
|
+
*/
|
|
33
|
+
export const OPENAI_MODELS = {
|
|
34
|
+
'gpt-4o': {
|
|
35
|
+
description: 'Most capable, best reasoning',
|
|
36
|
+
recommended: 'Complex projects',
|
|
37
|
+
},
|
|
38
|
+
'gpt-4o-mini': {
|
|
39
|
+
description: 'Fast, cost-effective',
|
|
40
|
+
recommended: 'Simple projects',
|
|
41
|
+
},
|
|
42
|
+
'gpt-4-turbo': {
|
|
43
|
+
description: 'High capability, faster',
|
|
44
|
+
recommended: 'Medium complexity',
|
|
45
|
+
},
|
|
46
|
+
'o1-preview': {
|
|
47
|
+
description: 'Advanced reasoning',
|
|
48
|
+
recommended: 'Architectural decisions',
|
|
49
|
+
},
|
|
50
|
+
'o1-mini': {
|
|
51
|
+
description: 'Efficient reasoning',
|
|
52
|
+
recommended: 'Code review',
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,QAAQ;IACR,aAAa;IACb,aAAa;IACb,YAAY;IACZ,SAAS;CACV,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,qCAAqC,CAAC;IAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,oBAAoB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AA0BH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAsE;IAC9F,QAAQ,EAAE;QACR,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE,kBAAkB;KAChC;IACD,aAAa,EAAE;QACb,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE,iBAAiB;KAC/B;IACD,aAAa,EAAE;QACb,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE,mBAAmB;KACjC;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE,yBAAyB;KACvC;IACD,SAAS,EAAE;QACT,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE,aAAa;KAC3B;CACF,CAAC"}
|