alchemy 0.1.8 → 0.1.9

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 (242) hide show
  1. package/lib/$.d.ts +7 -0
  2. package/lib/$.d.ts.map +1 -0
  3. package/lib/$.js +31 -0
  4. package/lib/$.js.map +1 -0
  5. package/lib/agent/ai.d.ts +40 -0
  6. package/lib/agent/ai.d.ts.map +1 -0
  7. package/lib/agent/ai.js +132 -0
  8. package/lib/agent/ai.js.map +1 -0
  9. package/lib/agent/anthropic.d.ts +9 -0
  10. package/lib/agent/anthropic.d.ts.map +1 -0
  11. package/lib/agent/anthropic.js +25 -0
  12. package/lib/agent/anthropic.js.map +1 -0
  13. package/lib/agent/dependencies.d.ts +4 -0
  14. package/lib/agent/dependencies.d.ts.map +1 -0
  15. package/lib/agent/dependencies.js +48 -0
  16. package/lib/agent/dependencies.js.map +1 -0
  17. package/lib/agent/file-context.d.ts +13 -0
  18. package/lib/agent/file-context.d.ts.map +1 -0
  19. package/lib/agent/file-context.js +6 -0
  20. package/lib/agent/file-context.js.map +1 -0
  21. package/lib/agent/index.d.ts +10 -0
  22. package/lib/agent/index.d.ts.map +1 -0
  23. package/lib/agent/index.js +10 -0
  24. package/lib/agent/index.js.map +1 -0
  25. package/lib/agent/model.d.ts +8 -0
  26. package/lib/agent/model.d.ts.map +1 -0
  27. package/lib/agent/model.js +29 -0
  28. package/lib/agent/model.js.map +1 -0
  29. package/lib/agent/module.d.ts +81 -0
  30. package/lib/agent/module.d.ts.map +1 -0
  31. package/lib/agent/module.js +309 -0
  32. package/lib/agent/module.js.map +1 -0
  33. package/lib/agent/openai.d.ts +6 -0
  34. package/lib/agent/openai.d.ts.map +1 -0
  35. package/lib/agent/openai.js +41 -0
  36. package/lib/agent/openai.js.map +1 -0
  37. package/lib/agent/program.d.ts +12 -0
  38. package/lib/agent/program.d.ts.map +1 -0
  39. package/lib/agent/program.js +21 -0
  40. package/lib/agent/program.js.map +1 -0
  41. package/lib/agent/prompts.d.ts +4 -0
  42. package/lib/agent/prompts.d.ts.map +1 -0
  43. package/lib/agent/prompts.js +11 -0
  44. package/lib/agent/prompts.js.map +1 -0
  45. package/lib/agent/scrape.d.ts +71 -0
  46. package/lib/agent/scrape.d.ts.map +1 -0
  47. package/lib/agent/scrape.js +45 -0
  48. package/lib/agent/scrape.js.map +1 -0
  49. package/lib/alchemize.d.ts +43 -0
  50. package/lib/alchemize.d.ts.map +1 -0
  51. package/lib/alchemize.js +105 -0
  52. package/lib/alchemize.js.map +1 -0
  53. package/lib/apply.d.ts +23 -0
  54. package/lib/apply.d.ts.map +1 -0
  55. package/lib/apply.js +84 -0
  56. package/lib/apply.js.map +1 -0
  57. package/lib/aws/auto/docs.d.ts +11 -0
  58. package/lib/aws/auto/docs.d.ts.map +1 -0
  59. package/lib/aws/auto/docs.js +56 -0
  60. package/lib/aws/auto/docs.js.map +1 -0
  61. package/lib/aws/auto/index.d.ts +5 -0
  62. package/lib/aws/auto/index.d.ts.map +1 -0
  63. package/lib/aws/auto/index.js +5 -0
  64. package/lib/aws/auto/index.js.map +1 -0
  65. package/lib/aws/auto/resource.d.ts +24 -0
  66. package/lib/aws/auto/resource.d.ts.map +1 -0
  67. package/lib/aws/auto/resource.js +194 -0
  68. package/lib/aws/auto/resource.js.map +1 -0
  69. package/lib/aws/auto/service.d.ts +10 -0
  70. package/lib/aws/auto/service.d.ts.map +1 -0
  71. package/lib/aws/auto/service.js +34 -0
  72. package/lib/aws/auto/service.js.map +1 -0
  73. package/lib/aws/auto/spec.d.ts +83 -0
  74. package/lib/aws/auto/spec.d.ts.map +1 -0
  75. package/lib/aws/auto/spec.js +58 -0
  76. package/lib/aws/auto/spec.js.map +1 -0
  77. package/lib/aws/bucket.d.ts +21 -0
  78. package/lib/aws/bucket.d.ts.map +1 -0
  79. package/lib/aws/bucket.js +114 -0
  80. package/lib/aws/bucket.js.map +1 -0
  81. package/lib/aws/function.d.ts +53 -0
  82. package/lib/aws/function.d.ts.map +1 -0
  83. package/lib/aws/function.js +195 -0
  84. package/lib/aws/function.js.map +1 -0
  85. package/lib/aws/index.d.ts +7 -0
  86. package/lib/aws/index.d.ts.map +1 -0
  87. package/lib/aws/index.js +7 -0
  88. package/lib/aws/index.js.map +1 -0
  89. package/lib/aws/policy.d.ts +46 -0
  90. package/lib/aws/policy.d.ts.map +1 -0
  91. package/lib/aws/policy.js +139 -0
  92. package/lib/aws/policy.js.map +1 -0
  93. package/lib/aws/queue.d.ts +38 -0
  94. package/lib/aws/queue.d.ts.map +1 -0
  95. package/lib/aws/queue.js +162 -0
  96. package/lib/aws/queue.js.map +1 -0
  97. package/lib/aws/role.d.ts +27 -0
  98. package/lib/aws/role.d.ts.map +1 -0
  99. package/lib/aws/role.js +149 -0
  100. package/lib/aws/role.js.map +1 -0
  101. package/lib/aws/table.d.ts +26 -0
  102. package/lib/aws/table.d.ts.map +1 -0
  103. package/lib/aws/table.js +120 -0
  104. package/lib/aws/table.js.map +1 -0
  105. package/lib/destroy.d.ts +19 -0
  106. package/lib/destroy.d.ts.map +1 -0
  107. package/lib/destroy.js +47 -0
  108. package/lib/destroy.js.map +1 -0
  109. package/lib/error.d.ts +2 -0
  110. package/lib/error.d.ts.map +1 -0
  111. package/lib/error.js +13 -0
  112. package/lib/error.js.map +1 -0
  113. package/lib/esbuild.d.ts +70 -0
  114. package/lib/esbuild.d.ts.map +1 -0
  115. package/lib/esbuild.js +58 -0
  116. package/lib/esbuild.js.map +1 -0
  117. package/lib/fs.d.ts +12 -0
  118. package/lib/fs.d.ts.map +1 -0
  119. package/lib/fs.js +41 -0
  120. package/lib/fs.js.map +1 -0
  121. package/lib/global.d.ts +18 -0
  122. package/lib/global.d.ts.map +1 -0
  123. package/lib/global.js +42 -0
  124. package/lib/global.js.map +1 -0
  125. package/lib/index.d.ts +9 -0
  126. package/lib/index.d.ts.map +1 -0
  127. package/lib/index.js +8 -0
  128. package/lib/index.js.map +1 -0
  129. package/lib/input.d.ts +6 -0
  130. package/lib/input.d.ts.map +1 -0
  131. package/lib/input.js +2 -0
  132. package/lib/input.js.map +1 -0
  133. package/lib/main.d.ts +3 -0
  134. package/lib/main.d.ts.map +1 -0
  135. package/lib/main.js +32 -0
  136. package/lib/main.js.map +1 -0
  137. package/lib/markdown/design.d.ts +17 -0
  138. package/lib/markdown/design.d.ts.map +1 -0
  139. package/lib/markdown/design.js +92 -0
  140. package/lib/markdown/design.js.map +1 -0
  141. package/lib/markdown/extract.d.ts +7 -0
  142. package/lib/markdown/extract.d.ts.map +1 -0
  143. package/lib/markdown/extract.js +10 -0
  144. package/lib/markdown/extract.js.map +1 -0
  145. package/lib/markdown/index.d.ts +4 -0
  146. package/lib/markdown/index.d.ts.map +1 -0
  147. package/lib/markdown/index.js +4 -0
  148. package/lib/markdown/index.js.map +1 -0
  149. package/lib/markdown/requirements.d.ts +79 -0
  150. package/lib/markdown/requirements.d.ts.map +1 -0
  151. package/lib/markdown/requirements.js +105 -0
  152. package/lib/markdown/requirements.js.map +1 -0
  153. package/lib/output.d.ts +19 -0
  154. package/lib/output.d.ts.map +1 -0
  155. package/lib/output.js +16 -0
  156. package/lib/output.js.map +1 -0
  157. package/lib/resource.d.ts +66 -0
  158. package/lib/resource.d.ts.map +1 -0
  159. package/lib/resource.js +242 -0
  160. package/lib/resource.js.map +1 -0
  161. package/lib/scope.d.ts +15 -0
  162. package/lib/scope.d.ts.map +1 -0
  163. package/lib/scope.js +38 -0
  164. package/lib/scope.js.map +1 -0
  165. package/lib/slug.d.ts +2 -0
  166. package/lib/slug.d.ts.map +1 -0
  167. package/lib/slug.js +4 -0
  168. package/lib/slug.js.map +1 -0
  169. package/lib/state.d.ts +40 -0
  170. package/lib/state.d.ts.map +1 -0
  171. package/lib/state.js +73 -0
  172. package/lib/state.js.map +1 -0
  173. package/lib/stripe/index.d.ts +4 -0
  174. package/lib/stripe/index.d.ts.map +1 -0
  175. package/lib/stripe/index.js +4 -0
  176. package/lib/stripe/index.js.map +1 -0
  177. package/lib/stripe/price.d.ts +109 -0
  178. package/lib/stripe/price.d.ts.map +1 -0
  179. package/lib/stripe/price.js +112 -0
  180. package/lib/stripe/price.js.map +1 -0
  181. package/lib/stripe/product.d.ts +86 -0
  182. package/lib/stripe/product.d.ts.map +1 -0
  183. package/lib/stripe/product.js +90 -0
  184. package/lib/stripe/product.js.map +1 -0
  185. package/lib/stripe/webhook.d.ts +73 -0
  186. package/lib/stripe/webhook.d.ts.map +1 -0
  187. package/lib/stripe/webhook.js +94 -0
  188. package/lib/stripe/webhook.js.map +1 -0
  189. package/lib/typescript/check-omission.d.ts +2 -0
  190. package/lib/typescript/check-omission.d.ts.map +1 -0
  191. package/lib/typescript/check-omission.js +43 -0
  192. package/lib/typescript/check-omission.js.map +1 -0
  193. package/lib/typescript/debug-type-errors.d.ts +3 -0
  194. package/lib/typescript/debug-type-errors.d.ts.map +1 -0
  195. package/lib/typescript/debug-type-errors.js +35 -0
  196. package/lib/typescript/debug-type-errors.js.map +1 -0
  197. package/lib/typescript/extract.d.ts +7 -0
  198. package/lib/typescript/extract.d.ts.map +1 -0
  199. package/lib/typescript/extract.js +10 -0
  200. package/lib/typescript/extract.js.map +1 -0
  201. package/lib/typescript/index.d.ts +7 -0
  202. package/lib/typescript/index.d.ts.map +1 -0
  203. package/lib/typescript/index.js +7 -0
  204. package/lib/typescript/index.js.map +1 -0
  205. package/lib/typescript/install-dependencies.d.ts +29 -0
  206. package/lib/typescript/install-dependencies.d.ts.map +1 -0
  207. package/lib/typescript/install-dependencies.js +52 -0
  208. package/lib/typescript/install-dependencies.js.map +1 -0
  209. package/lib/typescript/package.d.ts +157 -0
  210. package/lib/typescript/package.d.ts.map +1 -0
  211. package/lib/typescript/package.js +115 -0
  212. package/lib/typescript/package.js.map +1 -0
  213. package/lib/typescript/repair-omissions.d.ts +3 -0
  214. package/lib/typescript/repair-omissions.d.ts.map +1 -0
  215. package/lib/typescript/repair-omissions.js +23 -0
  216. package/lib/typescript/repair-omissions.js.map +1 -0
  217. package/lib/typescript/repair.d.ts +3 -0
  218. package/lib/typescript/repair.d.ts.map +1 -0
  219. package/lib/typescript/repair.js +34 -0
  220. package/lib/typescript/repair.js.map +1 -0
  221. package/lib/typescript/tsconfig.d.ts +469 -0
  222. package/lib/typescript/tsconfig.d.ts.map +1 -0
  223. package/lib/typescript/tsconfig.js +143 -0
  224. package/lib/typescript/tsconfig.js.map +1 -0
  225. package/lib/typescript/typescript.d.ts +107 -0
  226. package/lib/typescript/typescript.d.ts.map +1 -0
  227. package/lib/typescript/typescript.js +180 -0
  228. package/lib/typescript/typescript.js.map +1 -0
  229. package/lib/typescript/validate.d.ts +10 -0
  230. package/lib/typescript/validate.d.ts.map +1 -0
  231. package/lib/typescript/validate.js +49 -0
  232. package/lib/typescript/validate.js.map +1 -0
  233. package/package.json +2 -1
  234. package/test/aws/function.test.ts +0 -144
  235. package/test/aws/queue.test.ts +0 -85
  236. package/test/aws/role.test.ts +0 -153
  237. package/test/aws/table.test.ts +0 -73
  238. package/test/esbuild.test.ts +0 -41
  239. package/test/handler.ts +0 -9
  240. package/test/scope.test.ts +0 -67
  241. package/test/stripe/stripe.test.ts +0 -136
  242. package/tsconfig.json +0 -33
@@ -0,0 +1,469 @@
1
+ import { z } from "zod";
2
+ export type TypeScriptConfigInput = z.infer<typeof TypeScriptConfigInput>;
3
+ export declare const TypeScriptConfigInput: z.ZodObject<{
4
+ /**
5
+ * The ID of the model to use for generating tsconfig configuration
6
+ * @default "gpt-4o"
7
+ */
8
+ modelId: z.ZodOptional<z.ZodString>;
9
+ /**
10
+ * List of requirements for the TypeScript configuration
11
+ * Can include module settings, compilation options, etc.
12
+ */
13
+ requirements: z.ZodArray<z.ZodString, "many">;
14
+ /**
15
+ * List of dependencies for the TypeScript configuration
16
+ */
17
+ dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
18
+ path: z.ZodString;
19
+ content: z.ZodOptional<z.ZodString>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ path: string;
22
+ content?: string | undefined;
23
+ }, {
24
+ path: string;
25
+ content?: string | undefined;
26
+ }>, "many">>;
27
+ /**
28
+ * Temperature setting for model generation
29
+ * @default 0.3
30
+ */
31
+ temperature: z.ZodOptional<z.ZodNumber>;
32
+ /**
33
+ * Path to the tsconfig.json file to generate
34
+ */
35
+ path: z.ZodString;
36
+ }, "strip", z.ZodTypeAny, {
37
+ path: string;
38
+ requirements: string[];
39
+ temperature?: number | undefined;
40
+ modelId?: string | undefined;
41
+ dependencies?: {
42
+ path: string;
43
+ content?: string | undefined;
44
+ }[] | undefined;
45
+ }, {
46
+ path: string;
47
+ requirements: string[];
48
+ temperature?: number | undefined;
49
+ modelId?: string | undefined;
50
+ dependencies?: {
51
+ path: string;
52
+ content?: string | undefined;
53
+ }[] | undefined;
54
+ }>;
55
+ export type TsConfigJson = z.infer<typeof TsConfigSchema>;
56
+ export declare const TsConfigSchema: z.ZodObject<{
57
+ $schema: z.ZodOptional<z.ZodString>;
58
+ compilerOptions: z.ZodObject<{
59
+ target: z.ZodEnum<["es2015", "es2016", "es2017", "es2018", "es2019", "es2020", "es2021", "es2022", "esnext"]>;
60
+ module: z.ZodEnum<["commonjs", "es2015", "es2020", "es2022", "esnext", "node16", "nodenext"]>;
61
+ lib: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
62
+ declaration: z.ZodOptional<z.ZodBoolean>;
63
+ declarationMap: z.ZodOptional<z.ZodBoolean>;
64
+ sourceMap: z.ZodOptional<z.ZodBoolean>;
65
+ outDir: z.ZodOptional<z.ZodString>;
66
+ rootDir: z.ZodOptional<z.ZodString>;
67
+ strict: z.ZodBoolean;
68
+ esModuleInterop: z.ZodOptional<z.ZodBoolean>;
69
+ skipLibCheck: z.ZodOptional<z.ZodBoolean>;
70
+ forceConsistentCasingInFileNames: z.ZodOptional<z.ZodBoolean>;
71
+ moduleResolution: z.ZodOptional<z.ZodEnum<["node", "node16", "nodenext", "bundler"]>>;
72
+ resolveJsonModule: z.ZodOptional<z.ZodBoolean>;
73
+ isolatedModules: z.ZodOptional<z.ZodBoolean>;
74
+ allowJs: z.ZodOptional<z.ZodBoolean>;
75
+ checkJs: z.ZodOptional<z.ZodBoolean>;
76
+ noEmit: z.ZodOptional<z.ZodBoolean>;
77
+ incremental: z.ZodOptional<z.ZodBoolean>;
78
+ composite: z.ZodOptional<z.ZodBoolean>;
79
+ tsBuildInfoFile: z.ZodOptional<z.ZodString>;
80
+ paths: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
81
+ baseUrl: z.ZodOptional<z.ZodString>;
82
+ types: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
83
+ typeRoots: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
84
+ }, "strip", z.ZodTypeAny, {
85
+ target: "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "esnext";
86
+ strict: boolean;
87
+ module: "es2015" | "es2020" | "es2022" | "esnext" | "commonjs" | "node16" | "nodenext";
88
+ types?: string[] | undefined;
89
+ lib?: string[] | undefined;
90
+ declaration?: boolean | undefined;
91
+ declarationMap?: boolean | undefined;
92
+ sourceMap?: boolean | undefined;
93
+ outDir?: string | undefined;
94
+ rootDir?: string | undefined;
95
+ esModuleInterop?: boolean | undefined;
96
+ skipLibCheck?: boolean | undefined;
97
+ forceConsistentCasingInFileNames?: boolean | undefined;
98
+ moduleResolution?: "node" | "node16" | "nodenext" | "bundler" | undefined;
99
+ resolveJsonModule?: boolean | undefined;
100
+ isolatedModules?: boolean | undefined;
101
+ allowJs?: boolean | undefined;
102
+ checkJs?: boolean | undefined;
103
+ noEmit?: boolean | undefined;
104
+ incremental?: boolean | undefined;
105
+ composite?: boolean | undefined;
106
+ tsBuildInfoFile?: string | undefined;
107
+ paths?: Record<string, string[]> | undefined;
108
+ baseUrl?: string | undefined;
109
+ typeRoots?: string[] | undefined;
110
+ }, {
111
+ target: "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "esnext";
112
+ strict: boolean;
113
+ module: "es2015" | "es2020" | "es2022" | "esnext" | "commonjs" | "node16" | "nodenext";
114
+ types?: string[] | undefined;
115
+ lib?: string[] | undefined;
116
+ declaration?: boolean | undefined;
117
+ declarationMap?: boolean | undefined;
118
+ sourceMap?: boolean | undefined;
119
+ outDir?: string | undefined;
120
+ rootDir?: string | undefined;
121
+ esModuleInterop?: boolean | undefined;
122
+ skipLibCheck?: boolean | undefined;
123
+ forceConsistentCasingInFileNames?: boolean | undefined;
124
+ moduleResolution?: "node" | "node16" | "nodenext" | "bundler" | undefined;
125
+ resolveJsonModule?: boolean | undefined;
126
+ isolatedModules?: boolean | undefined;
127
+ allowJs?: boolean | undefined;
128
+ checkJs?: boolean | undefined;
129
+ noEmit?: boolean | undefined;
130
+ incremental?: boolean | undefined;
131
+ composite?: boolean | undefined;
132
+ tsBuildInfoFile?: string | undefined;
133
+ paths?: Record<string, string[]> | undefined;
134
+ baseUrl?: string | undefined;
135
+ typeRoots?: string[] | undefined;
136
+ }>;
137
+ include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
138
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
139
+ references: z.ZodOptional<z.ZodArray<z.ZodObject<{
140
+ path: z.ZodString;
141
+ }, "strip", z.ZodTypeAny, {
142
+ path: string;
143
+ }, {
144
+ path: string;
145
+ }>, "many">>;
146
+ }, "strip", z.ZodTypeAny, {
147
+ compilerOptions: {
148
+ target: "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "esnext";
149
+ strict: boolean;
150
+ module: "es2015" | "es2020" | "es2022" | "esnext" | "commonjs" | "node16" | "nodenext";
151
+ types?: string[] | undefined;
152
+ lib?: string[] | undefined;
153
+ declaration?: boolean | undefined;
154
+ declarationMap?: boolean | undefined;
155
+ sourceMap?: boolean | undefined;
156
+ outDir?: string | undefined;
157
+ rootDir?: string | undefined;
158
+ esModuleInterop?: boolean | undefined;
159
+ skipLibCheck?: boolean | undefined;
160
+ forceConsistentCasingInFileNames?: boolean | undefined;
161
+ moduleResolution?: "node" | "node16" | "nodenext" | "bundler" | undefined;
162
+ resolveJsonModule?: boolean | undefined;
163
+ isolatedModules?: boolean | undefined;
164
+ allowJs?: boolean | undefined;
165
+ checkJs?: boolean | undefined;
166
+ noEmit?: boolean | undefined;
167
+ incremental?: boolean | undefined;
168
+ composite?: boolean | undefined;
169
+ tsBuildInfoFile?: string | undefined;
170
+ paths?: Record<string, string[]> | undefined;
171
+ baseUrl?: string | undefined;
172
+ typeRoots?: string[] | undefined;
173
+ };
174
+ $schema?: string | undefined;
175
+ include?: string[] | undefined;
176
+ exclude?: string[] | undefined;
177
+ references?: {
178
+ path: string;
179
+ }[] | undefined;
180
+ }, {
181
+ compilerOptions: {
182
+ target: "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "esnext";
183
+ strict: boolean;
184
+ module: "es2015" | "es2020" | "es2022" | "esnext" | "commonjs" | "node16" | "nodenext";
185
+ types?: string[] | undefined;
186
+ lib?: string[] | undefined;
187
+ declaration?: boolean | undefined;
188
+ declarationMap?: boolean | undefined;
189
+ sourceMap?: boolean | undefined;
190
+ outDir?: string | undefined;
191
+ rootDir?: string | undefined;
192
+ esModuleInterop?: boolean | undefined;
193
+ skipLibCheck?: boolean | undefined;
194
+ forceConsistentCasingInFileNames?: boolean | undefined;
195
+ moduleResolution?: "node" | "node16" | "nodenext" | "bundler" | undefined;
196
+ resolveJsonModule?: boolean | undefined;
197
+ isolatedModules?: boolean | undefined;
198
+ allowJs?: boolean | undefined;
199
+ checkJs?: boolean | undefined;
200
+ noEmit?: boolean | undefined;
201
+ incremental?: boolean | undefined;
202
+ composite?: boolean | undefined;
203
+ tsBuildInfoFile?: string | undefined;
204
+ paths?: Record<string, string[]> | undefined;
205
+ baseUrl?: string | undefined;
206
+ typeRoots?: string[] | undefined;
207
+ };
208
+ $schema?: string | undefined;
209
+ include?: string[] | undefined;
210
+ exclude?: string[] | undefined;
211
+ references?: {
212
+ path: string;
213
+ }[] | undefined;
214
+ }>;
215
+ export interface TypeScriptConfigOutput extends z.infer<typeof TypeScriptConfigOutput> {
216
+ }
217
+ export declare const TypeScriptConfigOutput: z.ZodObject<{
218
+ path: z.ZodString;
219
+ content: z.ZodString;
220
+ tsconfig: z.ZodObject<{
221
+ $schema: z.ZodOptional<z.ZodString>;
222
+ compilerOptions: z.ZodObject<{
223
+ target: z.ZodEnum<["es2015", "es2016", "es2017", "es2018", "es2019", "es2020", "es2021", "es2022", "esnext"]>;
224
+ module: z.ZodEnum<["commonjs", "es2015", "es2020", "es2022", "esnext", "node16", "nodenext"]>;
225
+ lib: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
226
+ declaration: z.ZodOptional<z.ZodBoolean>;
227
+ declarationMap: z.ZodOptional<z.ZodBoolean>;
228
+ sourceMap: z.ZodOptional<z.ZodBoolean>;
229
+ outDir: z.ZodOptional<z.ZodString>;
230
+ rootDir: z.ZodOptional<z.ZodString>;
231
+ strict: z.ZodBoolean;
232
+ esModuleInterop: z.ZodOptional<z.ZodBoolean>;
233
+ skipLibCheck: z.ZodOptional<z.ZodBoolean>;
234
+ forceConsistentCasingInFileNames: z.ZodOptional<z.ZodBoolean>;
235
+ moduleResolution: z.ZodOptional<z.ZodEnum<["node", "node16", "nodenext", "bundler"]>>;
236
+ resolveJsonModule: z.ZodOptional<z.ZodBoolean>;
237
+ isolatedModules: z.ZodOptional<z.ZodBoolean>;
238
+ allowJs: z.ZodOptional<z.ZodBoolean>;
239
+ checkJs: z.ZodOptional<z.ZodBoolean>;
240
+ noEmit: z.ZodOptional<z.ZodBoolean>;
241
+ incremental: z.ZodOptional<z.ZodBoolean>;
242
+ composite: z.ZodOptional<z.ZodBoolean>;
243
+ tsBuildInfoFile: z.ZodOptional<z.ZodString>;
244
+ paths: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
245
+ baseUrl: z.ZodOptional<z.ZodString>;
246
+ types: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
247
+ typeRoots: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
248
+ }, "strip", z.ZodTypeAny, {
249
+ target: "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "esnext";
250
+ strict: boolean;
251
+ module: "es2015" | "es2020" | "es2022" | "esnext" | "commonjs" | "node16" | "nodenext";
252
+ types?: string[] | undefined;
253
+ lib?: string[] | undefined;
254
+ declaration?: boolean | undefined;
255
+ declarationMap?: boolean | undefined;
256
+ sourceMap?: boolean | undefined;
257
+ outDir?: string | undefined;
258
+ rootDir?: string | undefined;
259
+ esModuleInterop?: boolean | undefined;
260
+ skipLibCheck?: boolean | undefined;
261
+ forceConsistentCasingInFileNames?: boolean | undefined;
262
+ moduleResolution?: "node" | "node16" | "nodenext" | "bundler" | undefined;
263
+ resolveJsonModule?: boolean | undefined;
264
+ isolatedModules?: boolean | undefined;
265
+ allowJs?: boolean | undefined;
266
+ checkJs?: boolean | undefined;
267
+ noEmit?: boolean | undefined;
268
+ incremental?: boolean | undefined;
269
+ composite?: boolean | undefined;
270
+ tsBuildInfoFile?: string | undefined;
271
+ paths?: Record<string, string[]> | undefined;
272
+ baseUrl?: string | undefined;
273
+ typeRoots?: string[] | undefined;
274
+ }, {
275
+ target: "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "esnext";
276
+ strict: boolean;
277
+ module: "es2015" | "es2020" | "es2022" | "esnext" | "commonjs" | "node16" | "nodenext";
278
+ types?: string[] | undefined;
279
+ lib?: string[] | undefined;
280
+ declaration?: boolean | undefined;
281
+ declarationMap?: boolean | undefined;
282
+ sourceMap?: boolean | undefined;
283
+ outDir?: string | undefined;
284
+ rootDir?: string | undefined;
285
+ esModuleInterop?: boolean | undefined;
286
+ skipLibCheck?: boolean | undefined;
287
+ forceConsistentCasingInFileNames?: boolean | undefined;
288
+ moduleResolution?: "node" | "node16" | "nodenext" | "bundler" | undefined;
289
+ resolveJsonModule?: boolean | undefined;
290
+ isolatedModules?: boolean | undefined;
291
+ allowJs?: boolean | undefined;
292
+ checkJs?: boolean | undefined;
293
+ noEmit?: boolean | undefined;
294
+ incremental?: boolean | undefined;
295
+ composite?: boolean | undefined;
296
+ tsBuildInfoFile?: string | undefined;
297
+ paths?: Record<string, string[]> | undefined;
298
+ baseUrl?: string | undefined;
299
+ typeRoots?: string[] | undefined;
300
+ }>;
301
+ include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
302
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
303
+ references: z.ZodOptional<z.ZodArray<z.ZodObject<{
304
+ path: z.ZodString;
305
+ }, "strip", z.ZodTypeAny, {
306
+ path: string;
307
+ }, {
308
+ path: string;
309
+ }>, "many">>;
310
+ }, "strip", z.ZodTypeAny, {
311
+ compilerOptions: {
312
+ target: "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "esnext";
313
+ strict: boolean;
314
+ module: "es2015" | "es2020" | "es2022" | "esnext" | "commonjs" | "node16" | "nodenext";
315
+ types?: string[] | undefined;
316
+ lib?: string[] | undefined;
317
+ declaration?: boolean | undefined;
318
+ declarationMap?: boolean | undefined;
319
+ sourceMap?: boolean | undefined;
320
+ outDir?: string | undefined;
321
+ rootDir?: string | undefined;
322
+ esModuleInterop?: boolean | undefined;
323
+ skipLibCheck?: boolean | undefined;
324
+ forceConsistentCasingInFileNames?: boolean | undefined;
325
+ moduleResolution?: "node" | "node16" | "nodenext" | "bundler" | undefined;
326
+ resolveJsonModule?: boolean | undefined;
327
+ isolatedModules?: boolean | undefined;
328
+ allowJs?: boolean | undefined;
329
+ checkJs?: boolean | undefined;
330
+ noEmit?: boolean | undefined;
331
+ incremental?: boolean | undefined;
332
+ composite?: boolean | undefined;
333
+ tsBuildInfoFile?: string | undefined;
334
+ paths?: Record<string, string[]> | undefined;
335
+ baseUrl?: string | undefined;
336
+ typeRoots?: string[] | undefined;
337
+ };
338
+ $schema?: string | undefined;
339
+ include?: string[] | undefined;
340
+ exclude?: string[] | undefined;
341
+ references?: {
342
+ path: string;
343
+ }[] | undefined;
344
+ }, {
345
+ compilerOptions: {
346
+ target: "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "esnext";
347
+ strict: boolean;
348
+ module: "es2015" | "es2020" | "es2022" | "esnext" | "commonjs" | "node16" | "nodenext";
349
+ types?: string[] | undefined;
350
+ lib?: string[] | undefined;
351
+ declaration?: boolean | undefined;
352
+ declarationMap?: boolean | undefined;
353
+ sourceMap?: boolean | undefined;
354
+ outDir?: string | undefined;
355
+ rootDir?: string | undefined;
356
+ esModuleInterop?: boolean | undefined;
357
+ skipLibCheck?: boolean | undefined;
358
+ forceConsistentCasingInFileNames?: boolean | undefined;
359
+ moduleResolution?: "node" | "node16" | "nodenext" | "bundler" | undefined;
360
+ resolveJsonModule?: boolean | undefined;
361
+ isolatedModules?: boolean | undefined;
362
+ allowJs?: boolean | undefined;
363
+ checkJs?: boolean | undefined;
364
+ noEmit?: boolean | undefined;
365
+ incremental?: boolean | undefined;
366
+ composite?: boolean | undefined;
367
+ tsBuildInfoFile?: string | undefined;
368
+ paths?: Record<string, string[]> | undefined;
369
+ baseUrl?: string | undefined;
370
+ typeRoots?: string[] | undefined;
371
+ };
372
+ $schema?: string | undefined;
373
+ include?: string[] | undefined;
374
+ exclude?: string[] | undefined;
375
+ references?: {
376
+ path: string;
377
+ }[] | undefined;
378
+ }>;
379
+ }, "strip", z.ZodTypeAny, {
380
+ path: string;
381
+ tsconfig: {
382
+ compilerOptions: {
383
+ target: "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "esnext";
384
+ strict: boolean;
385
+ module: "es2015" | "es2020" | "es2022" | "esnext" | "commonjs" | "node16" | "nodenext";
386
+ types?: string[] | undefined;
387
+ lib?: string[] | undefined;
388
+ declaration?: boolean | undefined;
389
+ declarationMap?: boolean | undefined;
390
+ sourceMap?: boolean | undefined;
391
+ outDir?: string | undefined;
392
+ rootDir?: string | undefined;
393
+ esModuleInterop?: boolean | undefined;
394
+ skipLibCheck?: boolean | undefined;
395
+ forceConsistentCasingInFileNames?: boolean | undefined;
396
+ moduleResolution?: "node" | "node16" | "nodenext" | "bundler" | undefined;
397
+ resolveJsonModule?: boolean | undefined;
398
+ isolatedModules?: boolean | undefined;
399
+ allowJs?: boolean | undefined;
400
+ checkJs?: boolean | undefined;
401
+ noEmit?: boolean | undefined;
402
+ incremental?: boolean | undefined;
403
+ composite?: boolean | undefined;
404
+ tsBuildInfoFile?: string | undefined;
405
+ paths?: Record<string, string[]> | undefined;
406
+ baseUrl?: string | undefined;
407
+ typeRoots?: string[] | undefined;
408
+ };
409
+ $schema?: string | undefined;
410
+ include?: string[] | undefined;
411
+ exclude?: string[] | undefined;
412
+ references?: {
413
+ path: string;
414
+ }[] | undefined;
415
+ };
416
+ content: string;
417
+ }, {
418
+ path: string;
419
+ tsconfig: {
420
+ compilerOptions: {
421
+ target: "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "esnext";
422
+ strict: boolean;
423
+ module: "es2015" | "es2020" | "es2022" | "esnext" | "commonjs" | "node16" | "nodenext";
424
+ types?: string[] | undefined;
425
+ lib?: string[] | undefined;
426
+ declaration?: boolean | undefined;
427
+ declarationMap?: boolean | undefined;
428
+ sourceMap?: boolean | undefined;
429
+ outDir?: string | undefined;
430
+ rootDir?: string | undefined;
431
+ esModuleInterop?: boolean | undefined;
432
+ skipLibCheck?: boolean | undefined;
433
+ forceConsistentCasingInFileNames?: boolean | undefined;
434
+ moduleResolution?: "node" | "node16" | "nodenext" | "bundler" | undefined;
435
+ resolveJsonModule?: boolean | undefined;
436
+ isolatedModules?: boolean | undefined;
437
+ allowJs?: boolean | undefined;
438
+ checkJs?: boolean | undefined;
439
+ noEmit?: boolean | undefined;
440
+ incremental?: boolean | undefined;
441
+ composite?: boolean | undefined;
442
+ tsBuildInfoFile?: string | undefined;
443
+ paths?: Record<string, string[]> | undefined;
444
+ baseUrl?: string | undefined;
445
+ typeRoots?: string[] | undefined;
446
+ };
447
+ $schema?: string | undefined;
448
+ include?: string[] | undefined;
449
+ exclude?: string[] | undefined;
450
+ references?: {
451
+ path: string;
452
+ }[] | undefined;
453
+ };
454
+ content: string;
455
+ }>;
456
+ declare const TypeScriptConfig_base: import("../resource").Provider<"code::tsconfig", [props: {
457
+ path: string;
458
+ requirements: string[];
459
+ temperature?: number | undefined;
460
+ modelId?: string | undefined;
461
+ dependencies?: {
462
+ path: string;
463
+ content?: string | undefined;
464
+ }[] | undefined;
465
+ }], TypeScriptConfigOutput>;
466
+ export declare class TypeScriptConfig extends TypeScriptConfig_base {
467
+ }
468
+ export {};
469
+ //# sourceMappingURL=tsconfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsconfig.d.ts","sourceRoot":"","sources":["../../src/typescript/tsconfig.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,eAAO,MAAM,qBAAqB;IAChC;;;OAGG;;IAGH;;;OAGG;;IAGH;;OAEG;;;;;;;;;;;IAGH;;;OAGG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC1D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0DzB,CAAC;AAEH,MAAM,WAAW,sBACf,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC;CAAG;AACnD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIjC,CAAC;;;;;;;;;;;AAEH,qBAAa,gBAAiB,SAAQ,qBA4DrC;CAAG"}
@@ -0,0 +1,143 @@
1
+ import { generateObject } from "ai";
2
+ import { mkdir, writeFile } from "fs/promises";
3
+ import { dirname } from "path";
4
+ import { z } from "zod";
5
+ import { FileContext, dependenciesAsMessages, resolveModel } from "../agent";
6
+ import { rm } from "../fs";
7
+ import { Resource } from "../resource";
8
+ export const TypeScriptConfigInput = z.object({
9
+ /**
10
+ * The ID of the model to use for generating tsconfig configuration
11
+ * @default "gpt-4o"
12
+ */
13
+ modelId: z.string().optional(),
14
+ /**
15
+ * List of requirements for the TypeScript configuration
16
+ * Can include module settings, compilation options, etc.
17
+ */
18
+ requirements: z.array(z.string()),
19
+ /**
20
+ * List of dependencies for the TypeScript configuration
21
+ */
22
+ dependencies: z.array(FileContext).optional(),
23
+ /**
24
+ * Temperature setting for model generation
25
+ * @default 0.3
26
+ */
27
+ temperature: z.number().optional(),
28
+ /**
29
+ * Path to the tsconfig.json file to generate
30
+ */
31
+ path: z.string(),
32
+ });
33
+ export const TsConfigSchema = z.object({
34
+ $schema: z.string().optional(),
35
+ compilerOptions: z.object({
36
+ target: z.enum([
37
+ "es2015",
38
+ "es2016",
39
+ "es2017",
40
+ "es2018",
41
+ "es2019",
42
+ "es2020",
43
+ "es2021",
44
+ "es2022",
45
+ "esnext",
46
+ ]),
47
+ module: z.enum([
48
+ "commonjs",
49
+ "es2015",
50
+ "es2020",
51
+ "es2022",
52
+ "esnext",
53
+ "node16",
54
+ "nodenext",
55
+ ]),
56
+ lib: z.array(z.string()).optional(),
57
+ declaration: z.boolean().optional(),
58
+ declarationMap: z.boolean().optional(),
59
+ sourceMap: z.boolean().optional(),
60
+ outDir: z.string().optional(),
61
+ rootDir: z.string().optional(),
62
+ strict: z.boolean(),
63
+ esModuleInterop: z.boolean().optional(),
64
+ skipLibCheck: z.boolean().optional(),
65
+ forceConsistentCasingInFileNames: z.boolean().optional(),
66
+ moduleResolution: z
67
+ .enum(["node", "node16", "nodenext", "bundler"])
68
+ .optional(),
69
+ resolveJsonModule: z.boolean().optional(),
70
+ isolatedModules: z.boolean().optional(),
71
+ allowJs: z.boolean().optional(),
72
+ checkJs: z.boolean().optional(),
73
+ noEmit: z.boolean().optional(),
74
+ incremental: z.boolean().optional(),
75
+ composite: z.boolean().optional(),
76
+ tsBuildInfoFile: z.string().optional(),
77
+ paths: z.record(z.array(z.string())).optional(),
78
+ baseUrl: z.string().optional(),
79
+ types: z.array(z.string()).optional(),
80
+ typeRoots: z.array(z.string()).optional(),
81
+ }),
82
+ include: z.array(z.string()).optional(),
83
+ exclude: z.array(z.string()).optional(),
84
+ references: z
85
+ .array(z.object({
86
+ path: z.string(),
87
+ }))
88
+ .optional(),
89
+ });
90
+ export const TypeScriptConfigOutput = z.object({
91
+ path: z.string(),
92
+ content: z.string(),
93
+ tsconfig: TsConfigSchema,
94
+ });
95
+ export class TypeScriptConfig extends Resource("code::tsconfig", async (ctx, props) => {
96
+ if (ctx.event === "delete") {
97
+ await rm(props.path);
98
+ return;
99
+ }
100
+ console.log(ctx.event === "create" ? "Creating" : "Updating", props.path);
101
+ // Get the appropriate model
102
+ const model = await resolveModel(props.modelId ?? "gpt-4o");
103
+ // Generate the tsconfig configuration using generateObject for type safety
104
+ const result = await generateObject({
105
+ model,
106
+ schema: TsConfigSchema,
107
+ temperature: props.temperature ?? 0.3,
108
+ messages: [
109
+ {
110
+ role: "system",
111
+ content: "You are an expert at creating TypeScript configurations. You will generate a tsconfig.json configuration based on requirements.",
112
+ },
113
+ ...dependenciesAsMessages(props.dependencies),
114
+ {
115
+ role: "user",
116
+ content: `Please generate a tsconfig.json configuration based on these requirements:
117
+
118
+ Requirements:
119
+ ${props.requirements.map((req) => `- ${req}`).join("\n")}
120
+
121
+ Rules:
122
+ 1. Use modern TypeScript features
123
+ 2. Enable strict type checking
124
+ 3. Use ESM modules by default
125
+ 4. Include source maps for better debugging
126
+ 5. Infer appropriate settings for declarations, module resolution, and other options based on the requirements
127
+ 6. Use appropriate paths for source and output directories`,
128
+ },
129
+ ],
130
+ });
131
+ // Ensure the directory exists
132
+ await mkdir(dirname(props.path), { recursive: true });
133
+ const content = JSON.stringify(result.object, null, 2);
134
+ // Write the tsconfig.json file
135
+ await writeFile(props.path, content);
136
+ return {
137
+ path: props.path,
138
+ content,
139
+ tsconfig: result.object,
140
+ };
141
+ }) {
142
+ }
143
+ //# sourceMappingURL=tsconfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsconfig.js","sourceRoot":"","sources":["../../src/typescript/tsconfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAgB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C;;;OAGG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE9B;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAEjC;;OAEG;IACH,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;IAE7C;;;OAGG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAElC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QACxB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;YACb,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;SACT,CAAC;QACF,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;YACb,UAAU;YACV,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,UAAU;SACX,CAAC;QACF,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACnC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACnC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACtC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;QACnB,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACvC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACpC,gCAAgC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACxD,gBAAgB,EAAE,CAAC;aAChB,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;aAC/C,QAAQ,EAAE;QACb,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACzC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACvC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC9B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACnC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACjC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACtC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACrC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC1C,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,UAAU,EAAE,CAAC;SACV,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,cAAc;CACzB,CAAC,CAAC;AAEH,MAAM,OAAO,gBAAiB,SAAQ,QAAQ,CAC5C,gBAAgB,EAChB,KAAK,EACH,GAAoC,EACpC,KAA4B,EAC5B,EAAE;IACF,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE1E,4BAA4B;IAC5B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;IAE5D,2EAA2E;IAC3E,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAClC,KAAK;QACL,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG;QACrC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EACL,iIAAiI;aACpI;YACD,GAAG,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC;YAC7C;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;;;EAGjB,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;2DAQG;aAClD;SACF;KACF,CAAC,CAAC;IAEH,8BAA8B;IAC9B,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvD,+BAA+B;IAC/B,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAErC,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,MAAM;KACxB,CAAC;AACJ,CAAC,CACF;CAAG"}