alchemy 0.1.8 → 0.1.10

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 +4 -3
  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,29 @@
1
+ import { z } from "zod";
2
+ export declare const installDependencies: import("ai").Tool<z.ZodObject<{
3
+ packages: z.ZodArray<z.ZodString, "many">;
4
+ type: z.ZodOptional<z.ZodEnum<["runtime", "dev", "peer"]>>;
5
+ }, "strip", z.ZodTypeAny, {
6
+ packages: string[];
7
+ type?: "dev" | "runtime" | "peer" | undefined;
8
+ }, {
9
+ packages: string[];
10
+ type?: "dev" | "runtime" | "peer" | undefined;
11
+ }>, {
12
+ success: boolean;
13
+ command: string;
14
+ output: string;
15
+ packages: string[];
16
+ type: "dev" | "runtime" | "peer" | undefined;
17
+ }> & {
18
+ execute: (args: {
19
+ packages: string[];
20
+ type?: "dev" | "runtime" | "peer" | undefined;
21
+ }, options: import("ai").ToolExecutionOptions) => PromiseLike<{
22
+ success: boolean;
23
+ command: string;
24
+ output: string;
25
+ packages: string[];
26
+ type: "dev" | "runtime" | "peer" | undefined;
27
+ }>;
28
+ };
29
+ //# sourceMappingURL=install-dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-dependencies.d.ts","sourceRoot":"","sources":["../../src/typescript/install-dependencies.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;CAqD9B,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { tool } from "ai";
2
+ import { exec } from "child_process";
3
+ import { promisify } from "util";
4
+ import { z } from "zod";
5
+ const execAsync = promisify(exec);
6
+ export const installDependencies = tool({
7
+ description: "Installs dependencies using bun with support for different dependency types (runtime, dev, or peer)",
8
+ parameters: z.object({
9
+ packages: z.array(z.string()).describe("Array of package names to install"),
10
+ type: z
11
+ .enum(["runtime", "dev", "peer"])
12
+ .optional()
13
+ .describe("Type of dependency to install: runtime, dev, or peer. Default 'runtime'."),
14
+ }),
15
+ execute: async ({ packages, type }) => {
16
+ if (packages.length === 0) {
17
+ throw new Error("No packages specified for installation");
18
+ }
19
+ let command = "bun add";
20
+ // Add appropriate flags based on dependency type
21
+ switch (type) {
22
+ case "dev":
23
+ command += " -D";
24
+ break;
25
+ case "peer":
26
+ command += " --peer";
27
+ break;
28
+ // runtime dependencies don't need a special flag
29
+ }
30
+ // Add packages to the command
31
+ command += " " + packages.join(" ");
32
+ try {
33
+ console.log(`Executing: ${command}`);
34
+ const { stdout, stderr } = await execAsync(command);
35
+ if (stderr) {
36
+ console.warn("Installation warnings:", stderr);
37
+ }
38
+ return {
39
+ success: true,
40
+ command,
41
+ output: stdout,
42
+ packages,
43
+ type,
44
+ };
45
+ }
46
+ catch (error) {
47
+ console.error("Installation failed:", error);
48
+ throw new Error(`Failed to install packages: ${error.message}`);
49
+ }
50
+ },
51
+ });
52
+ //# sourceMappingURL=install-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-dependencies.js","sourceRoot":"","sources":["../../src/typescript/install-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;IACtC,WAAW,EACT,qGAAqG;IACvG,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC3E,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;aAChC,QAAQ,EAAE;aACV,QAAQ,CACP,0EAA0E,CAC3E;KACJ,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;QACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,OAAO,GAAG,SAAS,CAAC;QAExB,iDAAiD;QACjD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,KAAK;gBACR,OAAO,IAAI,KAAK,CAAC;gBACjB,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,IAAI,SAAS,CAAC;gBACrB,MAAM;YACR,iDAAiD;QACnD,CAAC;QAED,8BAA8B;QAC9B,OAAO,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;YACrC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;YAEpD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO;gBACP,MAAM,EAAE,MAAM;gBACd,QAAQ;gBACR,IAAI;aACL,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,157 @@
1
+ import { z } from "zod";
2
+ export declare const PackageJsonSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ version: z.ZodString;
5
+ description: z.ZodOptional<z.ZodString>;
6
+ main: z.ZodOptional<z.ZodString>;
7
+ types: z.ZodOptional<z.ZodString>;
8
+ type: z.ZodLiteral<"module">;
9
+ scripts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
10
+ peerDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
11
+ peerDependenciesMeta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
12
+ optional: z.ZodBoolean;
13
+ }, "strip", z.ZodTypeAny, {
14
+ optional: boolean;
15
+ }, {
16
+ optional: boolean;
17
+ }>>>;
18
+ devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
19
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
20
+ author: z.ZodOptional<z.ZodString>;
21
+ license: z.ZodOptional<z.ZodString>;
22
+ repository: z.ZodOptional<z.ZodObject<{
23
+ type: z.ZodString;
24
+ url: z.ZodString;
25
+ }, "strip", z.ZodTypeAny, {
26
+ type: string;
27
+ url: string;
28
+ }, {
29
+ type: string;
30
+ url: string;
31
+ }>>;
32
+ exports: z.ZodOptional<z.ZodUnknown>;
33
+ files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ type: "module";
36
+ name: string;
37
+ version: string;
38
+ description?: string | undefined;
39
+ main?: string | undefined;
40
+ types?: string | undefined;
41
+ scripts?: Record<string, string> | undefined;
42
+ peerDependencies?: Record<string, string> | undefined;
43
+ peerDependenciesMeta?: Record<string, {
44
+ optional: boolean;
45
+ }> | undefined;
46
+ devDependencies?: Record<string, string> | undefined;
47
+ keywords?: string[] | undefined;
48
+ author?: string | undefined;
49
+ license?: string | undefined;
50
+ repository?: {
51
+ type: string;
52
+ url: string;
53
+ } | undefined;
54
+ exports?: unknown;
55
+ files?: string[] | undefined;
56
+ }, {
57
+ type: "module";
58
+ name: string;
59
+ version: string;
60
+ description?: string | undefined;
61
+ main?: string | undefined;
62
+ types?: string | undefined;
63
+ scripts?: Record<string, string> | undefined;
64
+ peerDependencies?: Record<string, string> | undefined;
65
+ peerDependenciesMeta?: Record<string, {
66
+ optional: boolean;
67
+ }> | undefined;
68
+ devDependencies?: Record<string, string> | undefined;
69
+ keywords?: string[] | undefined;
70
+ author?: string | undefined;
71
+ license?: string | undefined;
72
+ repository?: {
73
+ type: string;
74
+ url: string;
75
+ } | undefined;
76
+ exports?: unknown;
77
+ files?: string[] | undefined;
78
+ }>;
79
+ export declare const PackageJsonInput: z.ZodObject<{
80
+ /**
81
+ * List of requirements for the package
82
+ * Can include dependencies, dev dependencies, scripts, etc.
83
+ */
84
+ requirements: z.ZodArray<z.ZodString, "many">;
85
+ /**
86
+ * List of dependencies for the package
87
+ */
88
+ dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
89
+ path: z.ZodString;
90
+ content: z.ZodOptional<z.ZodString>;
91
+ }, "strip", z.ZodTypeAny, {
92
+ path: string;
93
+ content?: string | undefined;
94
+ }, {
95
+ path: string;
96
+ content?: string | undefined;
97
+ }>, "many">>;
98
+ /**
99
+ * Name of the package
100
+ */
101
+ name: z.ZodString;
102
+ /**
103
+ * The ID of the model to use for generating package configuration
104
+ * @default "gpt-4o"
105
+ */
106
+ model: z.ZodOptional<z.ZodString>;
107
+ /**
108
+ * Temperature setting for model generation
109
+ * @default 0.3
110
+ */
111
+ temperature: z.ZodOptional<z.ZodNumber>;
112
+ /**
113
+ * Path to the package.json file to generate
114
+ */
115
+ path: z.ZodString;
116
+ }, "strip", z.ZodTypeAny, {
117
+ path: string;
118
+ requirements: string[];
119
+ name: string;
120
+ temperature?: number | undefined;
121
+ model?: string | undefined;
122
+ dependencies?: {
123
+ path: string;
124
+ content?: string | undefined;
125
+ }[] | undefined;
126
+ }, {
127
+ path: string;
128
+ requirements: string[];
129
+ name: string;
130
+ temperature?: number | undefined;
131
+ model?: string | undefined;
132
+ dependencies?: {
133
+ path: string;
134
+ content?: string | undefined;
135
+ }[] | undefined;
136
+ }>;
137
+ export type PackageJsonInput = z.infer<typeof PackageJsonInput>;
138
+ export interface PackageJsonOutput {
139
+ path: string;
140
+ content: string;
141
+ packageJson: z.infer<typeof PackageJsonSchema>;
142
+ }
143
+ declare const PackageJson_base: import("../resource").Provider<"code::Package", [props: {
144
+ path: string;
145
+ requirements: string[];
146
+ name: string;
147
+ temperature?: number | undefined;
148
+ model?: string | undefined;
149
+ dependencies?: {
150
+ path: string;
151
+ content?: string | undefined;
152
+ }[] | undefined;
153
+ }], PackageJsonOutput>;
154
+ export declare class PackageJson extends PackageJson_base {
155
+ }
156
+ export {};
157
+ //# sourceMappingURL=package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../src/typescript/package.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB5B,CAAC;AAEH,eAAO,MAAM,gBAAgB;IAC3B;;;OAGG;;IAGH;;OAEG;;;;;;;;;;;IAGH;;OAEG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;CAChD;;;;;;;;;;;;AAED,qBAAa,WAAY,SAAQ,gBA+DhC;CAAG"}
@@ -0,0 +1,115 @@
1
+ import { generateObject } from "ai";
2
+ import { mkdir, writeFile } from "fs/promises";
3
+ import { dirname } from "path";
4
+ import { z } from "zod";
5
+ import { dependenciesAsMessages } from "../agent/dependencies";
6
+ import { FileContext } from "../agent/file-context";
7
+ import { resolveModel } from "../agent/model";
8
+ import { rm } from "../fs";
9
+ import { Resource } from "../resource";
10
+ export const PackageJsonSchema = z.object({
11
+ name: z.string(),
12
+ version: z.string(),
13
+ description: z.string().optional(),
14
+ main: z.string().optional(),
15
+ types: z.string().optional(),
16
+ type: z.literal("module"),
17
+ scripts: z.record(z.string()).optional(),
18
+ peerDependencies: z.record(z.string()).optional(),
19
+ peerDependenciesMeta: z
20
+ .record(z.object({ optional: z.boolean() }))
21
+ .optional(),
22
+ devDependencies: z.record(z.string()).optional(),
23
+ keywords: z.array(z.string()).optional(),
24
+ author: z.string().optional(),
25
+ license: z.string().optional(),
26
+ repository: z
27
+ .object({
28
+ type: z.string(),
29
+ url: z.string(),
30
+ })
31
+ .optional(),
32
+ exports: z.unknown().optional(),
33
+ files: z.array(z.string()).optional(),
34
+ });
35
+ export const PackageJsonInput = z.object({
36
+ /**
37
+ * List of requirements for the package
38
+ * Can include dependencies, dev dependencies, scripts, etc.
39
+ */
40
+ requirements: z.array(z.string()),
41
+ /**
42
+ * List of dependencies for the package
43
+ */
44
+ dependencies: z.array(FileContext).optional(),
45
+ /**
46
+ * Name of the package
47
+ */
48
+ name: z.string(),
49
+ /**
50
+ * The ID of the model to use for generating package configuration
51
+ * @default "gpt-4o"
52
+ */
53
+ model: z.string().optional(),
54
+ /**
55
+ * Temperature setting for model generation
56
+ * @default 0.3
57
+ */
58
+ temperature: z.number().optional(),
59
+ /**
60
+ * Path to the package.json file to generate
61
+ */
62
+ path: z.string(),
63
+ });
64
+ export class PackageJson extends Resource("code::Package", async (ctx, props) => {
65
+ if (ctx.event === "delete") {
66
+ await rm(props.path);
67
+ return;
68
+ }
69
+ console.log(ctx.event === "create" ? "Creating" : "Updating", props.path);
70
+ // Get the appropriate model
71
+ const model = await resolveModel(props.model ?? "gpt-4o");
72
+ // Generate the package configuration using generateObject for type safety
73
+ const result = await generateObject({
74
+ model,
75
+ schema: PackageJsonSchema,
76
+ temperature: props.temperature ?? 0.3,
77
+ messages: [
78
+ {
79
+ role: "system",
80
+ content: "You are an expert at creating Node.js/TypeScript package configurations. You will generate a package.json configuration based on requirements.",
81
+ },
82
+ ...dependenciesAsMessages(props.dependencies ?? []),
83
+ {
84
+ role: "user",
85
+ content: `Please generate a package.json configuration based on these requirements:
86
+
87
+ Package name: ${props.name}
88
+
89
+ Requirements:
90
+ ${props.requirements.map((req) => `- ${req}`).join("\n")}
91
+
92
+ Rules:
93
+ 1. All dependencies must be peer dependencies
94
+ 2. Use latest stable versions for all dependencies
95
+ 3. Include standard TypeScript configuration in devDependencies
96
+ 4. Use "bun" as the package manager
97
+ 5. Must use ESM modules (type: "module")
98
+
99
+ Output only the package.json code (do not emit any other files).`,
100
+ },
101
+ ],
102
+ });
103
+ // Ensure the directory exists
104
+ await mkdir(dirname(props.path), { recursive: true });
105
+ const content = JSON.stringify(result.object, null, 2);
106
+ // Write the package.json file
107
+ await writeFile(props.path, content);
108
+ return {
109
+ path: props.path,
110
+ content,
111
+ packageJson: result.object,
112
+ };
113
+ }) {
114
+ }
115
+ //# sourceMappingURL=package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/typescript/package.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CoreMessage, LanguageModelV1 } from "ai";
2
+ export declare function repairCodeOmissions(model: LanguageModelV1, messages?: CoreMessage[]): Promise<string>;
3
+ //# sourceMappingURL=repair-omissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair-omissions.d.ts","sourceRoot":"","sources":["../../src/typescript/repair-omissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAIvD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,eAAe,EACtB,QAAQ,GAAE,WAAW,EAAO,GAC3B,OAAO,CAAC,MAAM,CAAC,CAuBjB"}
@@ -0,0 +1,23 @@
1
+ import { generateText } from "../agent/ai";
2
+ import { extractTypeScriptCode } from "./extract";
3
+ export async function repairCodeOmissions(model, messages = []) {
4
+ console.log("[TypeScript] Repairing code omissions...");
5
+ const repairMessages = [
6
+ ...messages,
7
+ {
8
+ role: "user",
9
+ content: `Do not omit implementation or leave placeholders. Complete the implementation fully.`,
10
+ },
11
+ ];
12
+ const { text } = await generateText({
13
+ model,
14
+ temperature: 0.1,
15
+ messages: repairMessages,
16
+ });
17
+ const repairedCode = extractTypeScriptCode(text);
18
+ if (!repairedCode) {
19
+ throw new Error("Failed to repair code omissions");
20
+ }
21
+ return repairedCode;
22
+ }
23
+ //# sourceMappingURL=repair-omissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair-omissions.js","sourceRoot":"","sources":["../../src/typescript/repair-omissions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAsB,EACtB,WAA0B,EAAE;IAE5B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAExD,MAAM,cAAc,GAAkB;QACpC,GAAG,QAAQ;QACX;YACE,IAAI,EAAE,MAAe;YACrB,OAAO,EAAE,sFAAsF;SAChG;KACF,CAAC;IAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC;QAClC,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,QAAQ,EAAE,cAAc;KACzB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CoreMessage } from "ai";
2
+ export declare function repairTypeScriptCode(model: any, typeErrors: string, messages: CoreMessage[]): Promise<string>;
3
+ //# sourceMappingURL=repair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../../src/typescript/repair.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAItC,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,GAAG,EACV,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,WAAW,EAAE,GACtB,OAAO,CAAC,MAAM,CAAC,CAoCjB"}
@@ -0,0 +1,34 @@
1
+ import { generateText } from "../agent";
2
+ import { extractTypeScriptCode } from "./extract";
3
+ export async function repairTypeScriptCode(model, typeErrors, messages) {
4
+ // If we have type check options, validate and potentially repair type errors
5
+ console.log("[TypeScript] Fixing type errors...");
6
+ messages.push({
7
+ role: "user",
8
+ content: `Fix the type errors in this code:
9
+
10
+ Type errors found:
11
+ ${typeErrors}
12
+
13
+ Provide a complete implementation that fixes these issues while preserving all functionality.`,
14
+ });
15
+ // Add the repair attempt to the message history
16
+ const repairMessages = [
17
+ {
18
+ role: "system",
19
+ content: "You are an expert TypeScript developer fixing type errors. Provide a complete implementation that resolves the identified issues.",
20
+ },
21
+ ...messages,
22
+ ];
23
+ const { text: repairAttempt } = await generateText({
24
+ model,
25
+ temperature: 0.1,
26
+ messages: repairMessages,
27
+ });
28
+ const repairedCode = extractTypeScriptCode(repairAttempt);
29
+ if (!repairedCode) {
30
+ throw new Error("Failed to repair type errors");
31
+ }
32
+ return repairedCode;
33
+ }
34
+ //# sourceMappingURL=repair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair.js","sourceRoot":"","sources":["../../src/typescript/repair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAU,EACV,UAAkB,EAClB,QAAuB;IAEvB,6EAA6E;IAC7E,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAElD,QAAQ,CAAC,IAAI,CAAC;QACZ,IAAI,EAAE,MAAe;QACrB,OAAO,EAAE;;;EAGX,UAAU;;8FAEkF;KAC3F,CAAC,CAAC;IAEH,gDAAgD;IAChD,MAAM,cAAc,GAAkB;QACpC;YACE,IAAI,EAAE,QAAiB;YACvB,OAAO,EACL,mIAAmI;SACtI;QACD,GAAG,QAAQ;KACZ,CAAC;IAEF,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,YAAY,CAAC;QACjD,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,QAAQ,EAAE,cAAc;KACzB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}