@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.
Files changed (131) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/dist/config/config-loader.d.ts +117 -0
  4. package/dist/config/config-loader.d.ts.map +1 -0
  5. package/dist/config/config-loader.js +287 -0
  6. package/dist/config/config-loader.js.map +1 -0
  7. package/dist/config/index.d.ts +9 -0
  8. package/dist/config/index.d.ts.map +1 -0
  9. package/dist/config/index.js +8 -0
  10. package/dist/config/index.js.map +1 -0
  11. package/dist/config/load-helpers.d.ts +13 -0
  12. package/dist/config/load-helpers.d.ts.map +1 -0
  13. package/dist/config/load-helpers.js +67 -0
  14. package/dist/config/load-helpers.js.map +1 -0
  15. package/dist/constants.d.ts +4 -0
  16. package/dist/constants.d.ts.map +1 -0
  17. package/dist/constants.js +4 -0
  18. package/dist/constants.js.map +1 -0
  19. package/dist/errors/hypergen-errors.d.ts +162 -0
  20. package/dist/errors/hypergen-errors.d.ts.map +1 -0
  21. package/dist/errors/hypergen-errors.js +944 -0
  22. package/dist/errors/hypergen-errors.js.map +1 -0
  23. package/dist/errors/index.d.ts +2 -0
  24. package/dist/errors/index.d.ts.map +1 -0
  25. package/dist/errors/index.js +2 -0
  26. package/dist/errors/index.js.map +1 -0
  27. package/dist/helpers.d.ts +25 -0
  28. package/dist/helpers.d.ts.map +1 -0
  29. package/dist/helpers.js +20 -0
  30. package/dist/helpers.js.map +1 -0
  31. package/dist/index.d.ts +10 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +13 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/logger/cli-html-types.d.ts +36 -0
  36. package/dist/logger/cli-html-types.d.ts.map +1 -0
  37. package/dist/logger/cli-html-types.js +2 -0
  38. package/dist/logger/cli-html-types.js.map +1 -0
  39. package/dist/logger/index.d.ts +3 -0
  40. package/dist/logger/index.d.ts.map +1 -0
  41. package/dist/logger/index.js +3 -0
  42. package/dist/logger/index.js.map +1 -0
  43. package/dist/logger/logger.d.ts +17 -0
  44. package/dist/logger/logger.d.ts.map +1 -0
  45. package/dist/logger/logger.js +42 -0
  46. package/dist/logger/logger.js.map +1 -0
  47. package/dist/logger/types.d.ts +16 -0
  48. package/dist/logger/types.d.ts.map +1 -0
  49. package/dist/logger/types.js +2 -0
  50. package/dist/logger/types.js.map +1 -0
  51. package/dist/parsers/cookbook-parser.d.ts +30 -0
  52. package/dist/parsers/cookbook-parser.d.ts.map +1 -0
  53. package/dist/parsers/cookbook-parser.js +155 -0
  54. package/dist/parsers/cookbook-parser.js.map +1 -0
  55. package/dist/parsers/index.d.ts +10 -0
  56. package/dist/parsers/index.d.ts.map +1 -0
  57. package/dist/parsers/index.js +16 -0
  58. package/dist/parsers/index.js.map +1 -0
  59. package/dist/parsers/kit-parser.d.ts +44 -0
  60. package/dist/parsers/kit-parser.d.ts.map +1 -0
  61. package/dist/parsers/kit-parser.js +195 -0
  62. package/dist/parsers/kit-parser.js.map +1 -0
  63. package/dist/parsers/path-resolver.d.ts +72 -0
  64. package/dist/parsers/path-resolver.d.ts.map +1 -0
  65. package/dist/parsers/path-resolver.js +281 -0
  66. package/dist/parsers/path-resolver.js.map +1 -0
  67. package/dist/parsers/template-parser.d.ts +142 -0
  68. package/dist/parsers/template-parser.d.ts.map +1 -0
  69. package/dist/parsers/template-parser.js +896 -0
  70. package/dist/parsers/template-parser.js.map +1 -0
  71. package/dist/types/actions.d.ts +109 -0
  72. package/dist/types/actions.d.ts.map +1 -0
  73. package/dist/types/actions.js +31 -0
  74. package/dist/types/actions.js.map +1 -0
  75. package/dist/types/ai-config.d.ts +170 -0
  76. package/dist/types/ai-config.d.ts.map +1 -0
  77. package/dist/types/ai-config.js +10 -0
  78. package/dist/types/ai-config.js.map +1 -0
  79. package/dist/types/common.d.ts +24 -0
  80. package/dist/types/common.d.ts.map +1 -0
  81. package/dist/types/common.js +10 -0
  82. package/dist/types/common.js.map +1 -0
  83. package/dist/types/index.d.ts +19 -0
  84. package/dist/types/index.d.ts.map +1 -0
  85. package/dist/types/index.js +11 -0
  86. package/dist/types/index.js.map +1 -0
  87. package/dist/types/kit.d.ts +92 -0
  88. package/dist/types/kit.d.ts.map +1 -0
  89. package/dist/types/kit.js +17 -0
  90. package/dist/types/kit.js.map +1 -0
  91. package/dist/types/recipe.d.ts +953 -0
  92. package/dist/types/recipe.d.ts.map +1 -0
  93. package/dist/types/recipe.js +92 -0
  94. package/dist/types/recipe.js.map +1 -0
  95. package/dist/types/template.d.ts +49 -0
  96. package/dist/types/template.d.ts.map +1 -0
  97. package/dist/types/template.js +7 -0
  98. package/dist/types/template.js.map +1 -0
  99. package/dist/ui/index.d.ts +4 -0
  100. package/dist/ui/index.d.ts.map +1 -0
  101. package/dist/ui/index.js +4 -0
  102. package/dist/ui/index.js.map +1 -0
  103. package/dist/ui/messages.d.ts +16 -0
  104. package/dist/ui/messages.d.ts.map +1 -0
  105. package/dist/ui/messages.js +57 -0
  106. package/dist/ui/messages.js.map +1 -0
  107. package/dist/ui/styles.d.ts +7 -0
  108. package/dist/ui/styles.d.ts.map +1 -0
  109. package/dist/ui/styles.js +8 -0
  110. package/dist/ui/styles.js.map +1 -0
  111. package/dist/ui/symbols.d.ts +9 -0
  112. package/dist/ui/symbols.d.ts.map +1 -0
  113. package/dist/ui/symbols.js +10 -0
  114. package/dist/ui/symbols.js.map +1 -0
  115. package/dist/utils/display-utils.d.ts +65 -0
  116. package/dist/utils/display-utils.d.ts.map +1 -0
  117. package/dist/utils/display-utils.js +101 -0
  118. package/dist/utils/display-utils.js.map +1 -0
  119. package/dist/utils/find-project-root.d.ts +32 -0
  120. package/dist/utils/find-project-root.d.ts.map +1 -0
  121. package/dist/utils/find-project-root.js +133 -0
  122. package/dist/utils/find-project-root.js.map +1 -0
  123. package/dist/utils/index.d.ts +4 -0
  124. package/dist/utils/index.d.ts.map +1 -0
  125. package/dist/utils/index.js +4 -0
  126. package/dist/utils/index.js.map +1 -0
  127. package/dist/utils/newline.d.ts +3 -0
  128. package/dist/utils/newline.d.ts.map +1 -0
  129. package/dist/utils/newline.js +12 -0
  130. package/dist/utils/newline.js.map +1 -0
  131. 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":"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"}