@hypercli/core 0.1.1
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 +11 -0
- package/dist/config/config-loader.d.ts +117 -0
- package/dist/config/config-loader.d.ts.map +1 -0
- package/dist/config/config-loader.js +287 -0
- package/dist/config/config-loader.js.map +1 -0
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +8 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/load-helpers.d.ts +13 -0
- package/dist/config/load-helpers.d.ts.map +1 -0
- package/dist/config/load-helpers.js +67 -0
- package/dist/config/load-helpers.js.map +1 -0
- package/dist/constants.d.ts +4 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +4 -0
- package/dist/constants.js.map +1 -0
- package/dist/errors/hypergen-errors.d.ts +162 -0
- package/dist/errors/hypergen-errors.d.ts.map +1 -0
- package/dist/errors/hypergen-errors.js +944 -0
- package/dist/errors/hypergen-errors.js.map +1 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +2 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/helpers.d.ts +25 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +20 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/logger/cli-html-types.d.ts +36 -0
- package/dist/logger/cli-html-types.d.ts.map +1 -0
- package/dist/logger/cli-html-types.js +2 -0
- package/dist/logger/cli-html-types.js.map +1 -0
- package/dist/logger/index.d.ts +3 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +3 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/logger.d.ts +17 -0
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.js +42 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/logger/types.d.ts +16 -0
- package/dist/logger/types.d.ts.map +1 -0
- package/dist/logger/types.js +2 -0
- package/dist/logger/types.js.map +1 -0
- package/dist/parsers/cookbook-parser.d.ts +30 -0
- package/dist/parsers/cookbook-parser.d.ts.map +1 -0
- package/dist/parsers/cookbook-parser.js +155 -0
- package/dist/parsers/cookbook-parser.js.map +1 -0
- package/dist/parsers/index.d.ts +10 -0
- package/dist/parsers/index.d.ts.map +1 -0
- package/dist/parsers/index.js +16 -0
- package/dist/parsers/index.js.map +1 -0
- package/dist/parsers/kit-parser.d.ts +44 -0
- package/dist/parsers/kit-parser.d.ts.map +1 -0
- package/dist/parsers/kit-parser.js +195 -0
- package/dist/parsers/kit-parser.js.map +1 -0
- package/dist/parsers/path-resolver.d.ts +72 -0
- package/dist/parsers/path-resolver.d.ts.map +1 -0
- package/dist/parsers/path-resolver.js +281 -0
- package/dist/parsers/path-resolver.js.map +1 -0
- package/dist/parsers/template-parser.d.ts +142 -0
- package/dist/parsers/template-parser.d.ts.map +1 -0
- package/dist/parsers/template-parser.js +896 -0
- package/dist/parsers/template-parser.js.map +1 -0
- package/dist/types/actions.d.ts +109 -0
- package/dist/types/actions.d.ts.map +1 -0
- package/dist/types/actions.js +31 -0
- package/dist/types/actions.js.map +1 -0
- package/dist/types/ai-config.d.ts +170 -0
- package/dist/types/ai-config.d.ts.map +1 -0
- package/dist/types/ai-config.js +10 -0
- package/dist/types/ai-config.js.map +1 -0
- package/dist/types/common.d.ts +24 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +10 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/index.d.ts +19 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +11 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/kit.d.ts +92 -0
- package/dist/types/kit.d.ts.map +1 -0
- package/dist/types/kit.js +17 -0
- package/dist/types/kit.js.map +1 -0
- package/dist/types/recipe.d.ts +953 -0
- package/dist/types/recipe.d.ts.map +1 -0
- package/dist/types/recipe.js +92 -0
- package/dist/types/recipe.js.map +1 -0
- package/dist/types/template.d.ts +49 -0
- package/dist/types/template.d.ts.map +1 -0
- package/dist/types/template.js +7 -0
- package/dist/types/template.js.map +1 -0
- package/dist/ui/index.d.ts +4 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +4 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/messages.d.ts +16 -0
- package/dist/ui/messages.d.ts.map +1 -0
- package/dist/ui/messages.js +57 -0
- package/dist/ui/messages.js.map +1 -0
- package/dist/ui/styles.d.ts +7 -0
- package/dist/ui/styles.d.ts.map +1 -0
- package/dist/ui/styles.js +8 -0
- package/dist/ui/styles.js.map +1 -0
- package/dist/ui/symbols.d.ts +9 -0
- package/dist/ui/symbols.d.ts.map +1 -0
- package/dist/ui/symbols.js +10 -0
- package/dist/ui/symbols.js.map +1 -0
- package/dist/utils/display-utils.d.ts +65 -0
- package/dist/utils/display-utils.d.ts.map +1 -0
- package/dist/utils/display-utils.js +101 -0
- package/dist/utils/display-utils.js.map +1 -0
- package/dist/utils/find-project-root.d.ts +32 -0
- package/dist/utils/find-project-root.d.ts.map +1 -0
- package/dist/utils/find-project-root.js +133 -0
- package/dist/utils/find-project-root.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/newline.d.ts +3 -0
- package/dist/utils/newline.d.ts.map +1 -0
- package/dist/utils/newline.js +12 -0
- package/dist/utils/newline.js.map +1 -0
- package/package.json +83 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template.yml Parser
|
|
3
|
+
*
|
|
4
|
+
* Parses and validates template.yml files to extract action definitions
|
|
5
|
+
* and variable configurations for code generation
|
|
6
|
+
*/
|
|
7
|
+
import type { TemplateConfig, TemplateVariable } from "../types/template.js";
|
|
8
|
+
export interface RecipeConfig {
|
|
9
|
+
name: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
version?: string;
|
|
12
|
+
author?: string;
|
|
13
|
+
category?: string;
|
|
14
|
+
tags?: string[];
|
|
15
|
+
variables: Record<string, TemplateVariable>;
|
|
16
|
+
steps: any[];
|
|
17
|
+
examples?: any[];
|
|
18
|
+
dependencies?: any[];
|
|
19
|
+
outputs?: string[];
|
|
20
|
+
engines?: Record<string, string>;
|
|
21
|
+
hooks?: any;
|
|
22
|
+
settings?: any;
|
|
23
|
+
composition?: any;
|
|
24
|
+
}
|
|
25
|
+
export type ToolType = "template" | "action" | "codemod" | "recipe" | "shell" | "prompt" | "sequence" | "parallel";
|
|
26
|
+
export type RecipeStepUnion = any;
|
|
27
|
+
/**
|
|
28
|
+
* Extended template config used internally by the parser.
|
|
29
|
+
* Adds Recipe Step System fields that go beyond a plain template config.
|
|
30
|
+
*/
|
|
31
|
+
export interface ParsedTemplateConfig extends TemplateConfig {
|
|
32
|
+
steps?: RecipeStepUnion[];
|
|
33
|
+
settings?: {
|
|
34
|
+
timeout?: number;
|
|
35
|
+
retries?: number;
|
|
36
|
+
continueOnError?: boolean;
|
|
37
|
+
maxParallelSteps?: number;
|
|
38
|
+
workingDir?: string;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export interface ParsedTemplate {
|
|
42
|
+
config: ParsedTemplateConfig;
|
|
43
|
+
filePath: string;
|
|
44
|
+
isValid: boolean;
|
|
45
|
+
errors: string[];
|
|
46
|
+
warnings: string[];
|
|
47
|
+
}
|
|
48
|
+
export declare class TemplateParser {
|
|
49
|
+
private static readonly SUPPORTED_VERSIONS;
|
|
50
|
+
private static readonly VALID_VARIABLE_TYPES;
|
|
51
|
+
private static readonly VALID_TOOL_TYPES;
|
|
52
|
+
/**
|
|
53
|
+
* Parse a template.yml file and return validated configuration
|
|
54
|
+
*/
|
|
55
|
+
static parseTemplateFile(filePath: string): Promise<ParsedTemplate>;
|
|
56
|
+
/**
|
|
57
|
+
* Parse all template.yml files in a directory
|
|
58
|
+
*/
|
|
59
|
+
static parseTemplateDirectory(dirPath: string): Promise<ParsedTemplate[]>;
|
|
60
|
+
/**
|
|
61
|
+
* Validate template configuration and build normalized config object
|
|
62
|
+
*/
|
|
63
|
+
private static validateAndBuildConfig;
|
|
64
|
+
/**
|
|
65
|
+
* Validate variables section of template configuration
|
|
66
|
+
*/
|
|
67
|
+
private static validateVariables;
|
|
68
|
+
/**
|
|
69
|
+
* Validate individual variable configuration
|
|
70
|
+
*/
|
|
71
|
+
private static validateVariable;
|
|
72
|
+
/**
|
|
73
|
+
* Validate examples section
|
|
74
|
+
*/
|
|
75
|
+
private static validateExamples;
|
|
76
|
+
/**
|
|
77
|
+
* Validate variable value against template variable definition
|
|
78
|
+
*/
|
|
79
|
+
static validateVariableValue(varName: string, value: any, variable: TemplateVariable): {
|
|
80
|
+
isValid: boolean;
|
|
81
|
+
error?: string;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Get resolved variable value (with default if not provided)
|
|
85
|
+
*/
|
|
86
|
+
static getResolvedValue(value: any, variable: TemplateVariable): any;
|
|
87
|
+
/**
|
|
88
|
+
* Validate recipe steps array (Recipe Step System)
|
|
89
|
+
*/
|
|
90
|
+
private static validateSteps;
|
|
91
|
+
/**
|
|
92
|
+
* Validate individual recipe step
|
|
93
|
+
*/
|
|
94
|
+
private static validateStep;
|
|
95
|
+
/**
|
|
96
|
+
* Validate template step configuration
|
|
97
|
+
*/
|
|
98
|
+
private static validateTemplateStep;
|
|
99
|
+
/**
|
|
100
|
+
* Validate action step configuration
|
|
101
|
+
*/
|
|
102
|
+
private static validateActionStep;
|
|
103
|
+
/**
|
|
104
|
+
* Validate codemod step configuration
|
|
105
|
+
*/
|
|
106
|
+
private static validateCodeModStep;
|
|
107
|
+
/**
|
|
108
|
+
* Validate recipe step configuration
|
|
109
|
+
*/
|
|
110
|
+
private static validateRecipeStep;
|
|
111
|
+
/**
|
|
112
|
+
* Validate step dependencies for circular references
|
|
113
|
+
*/
|
|
114
|
+
private static validateStepDependencies;
|
|
115
|
+
/**
|
|
116
|
+
* Validate that step dependencies reference existing steps
|
|
117
|
+
*/
|
|
118
|
+
private static validateStepDependencyReferences;
|
|
119
|
+
/**
|
|
120
|
+
* Basic validation of condition expressions
|
|
121
|
+
*/
|
|
122
|
+
private static validateConditionExpression;
|
|
123
|
+
/**
|
|
124
|
+
* Validate recipe execution settings
|
|
125
|
+
*/
|
|
126
|
+
private static validateSettings;
|
|
127
|
+
/**
|
|
128
|
+
* Check if this configuration uses the Recipe Step System
|
|
129
|
+
*/
|
|
130
|
+
static isRecipeConfig(config: ParsedTemplateConfig): config is ParsedTemplateConfig & {
|
|
131
|
+
steps: RecipeStepUnion[];
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Convert a TemplateConfig to RecipeConfig (Recipe Step System)
|
|
135
|
+
*/
|
|
136
|
+
static toRecipeConfig(templateConfig: ParsedTemplateConfig): RecipeConfig | null;
|
|
137
|
+
/**
|
|
138
|
+
* Validate that step configuration matches expected tool schema
|
|
139
|
+
*/
|
|
140
|
+
static validateStepToolConfiguration(step: RecipeStepUnion, errors: string[], warnings: string[]): void;
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=template-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/template-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAmB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI9F,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC5C,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,MAAM,QAAQ,GACjB,UAAU,GACV,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,UAAU,GACV,UAAU,CAAC;AACd,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC;AAElC;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAE3D,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAE1B,QAAQ,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACF;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,qBAAa,cAAc;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAa;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAS1C;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAMtC;IAEF;;OAEG;WACU,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAoCzE;;OAEG;WACU,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAuB/E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAoGrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAmBhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA8H/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA6C/B;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAC3B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,gBAAgB,GACxB;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IA0GvC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,GAAG,GAAG;IAOpE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IA2C5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAqH3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAsCnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAmCjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAuDlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAuCjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IA6CvC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gCAAgC;IAc/C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAiB1C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA4D/B;;OAEG;IACH,MAAM,CAAC,cAAc,CACpB,MAAM,EAAE,oBAAoB,GAC1B,MAAM,IAAI,oBAAoB,GAAG;QAAE,KAAK,EAAE,eAAe,EAAE,CAAA;KAAE;IAIhE;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,oBAAoB,GAAG,YAAY,GAAG,IAAI;IAoChF;;OAEG;IACH,MAAM,CAAC,6BAA6B,CACnC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,MAAM,EAAE,GAChB,IAAI;CAkBP"}
|