alchemy 0.1.6 → 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.
- package/lib/$.d.ts +7 -0
- package/lib/$.d.ts.map +1 -0
- package/lib/$.js +31 -0
- package/lib/$.js.map +1 -0
- package/lib/agent/ai.d.ts +40 -0
- package/lib/agent/ai.d.ts.map +1 -0
- package/lib/agent/ai.js +132 -0
- package/lib/agent/ai.js.map +1 -0
- package/lib/agent/anthropic.d.ts +9 -0
- package/lib/agent/anthropic.d.ts.map +1 -0
- package/lib/agent/anthropic.js +25 -0
- package/lib/agent/anthropic.js.map +1 -0
- package/lib/agent/dependencies.d.ts +4 -0
- package/lib/agent/dependencies.d.ts.map +1 -0
- package/lib/agent/dependencies.js +48 -0
- package/lib/agent/dependencies.js.map +1 -0
- package/lib/agent/file-context.d.ts +13 -0
- package/lib/agent/file-context.d.ts.map +1 -0
- package/lib/agent/file-context.js +6 -0
- package/lib/agent/file-context.js.map +1 -0
- package/lib/agent/index.d.ts +10 -0
- package/lib/agent/index.d.ts.map +1 -0
- package/lib/agent/index.js +10 -0
- package/lib/agent/index.js.map +1 -0
- package/lib/agent/model.d.ts +8 -0
- package/lib/agent/model.d.ts.map +1 -0
- package/lib/agent/model.js +29 -0
- package/lib/agent/model.js.map +1 -0
- package/lib/agent/module.d.ts +81 -0
- package/lib/agent/module.d.ts.map +1 -0
- package/lib/agent/module.js +309 -0
- package/lib/agent/module.js.map +1 -0
- package/lib/agent/openai.d.ts +6 -0
- package/lib/agent/openai.d.ts.map +1 -0
- package/lib/agent/openai.js +41 -0
- package/lib/agent/openai.js.map +1 -0
- package/lib/agent/program.d.ts +12 -0
- package/lib/agent/program.d.ts.map +1 -0
- package/lib/agent/program.js +21 -0
- package/lib/agent/program.js.map +1 -0
- package/lib/agent/prompts.d.ts +4 -0
- package/lib/agent/prompts.d.ts.map +1 -0
- package/lib/agent/prompts.js +11 -0
- package/lib/agent/prompts.js.map +1 -0
- package/lib/agent/scrape.d.ts +71 -0
- package/lib/agent/scrape.d.ts.map +1 -0
- package/lib/agent/scrape.js +45 -0
- package/lib/agent/scrape.js.map +1 -0
- package/lib/alchemize.d.ts +43 -0
- package/lib/alchemize.d.ts.map +1 -0
- package/lib/alchemize.js +105 -0
- package/lib/alchemize.js.map +1 -0
- package/lib/apply.d.ts +23 -0
- package/lib/apply.d.ts.map +1 -0
- package/lib/apply.js +84 -0
- package/lib/apply.js.map +1 -0
- package/lib/aws/auto/docs.d.ts +11 -0
- package/lib/aws/auto/docs.d.ts.map +1 -0
- package/lib/aws/auto/docs.js +56 -0
- package/lib/aws/auto/docs.js.map +1 -0
- package/lib/aws/auto/index.d.ts +5 -0
- package/lib/aws/auto/index.d.ts.map +1 -0
- package/lib/aws/auto/index.js +5 -0
- package/lib/aws/auto/index.js.map +1 -0
- package/lib/aws/auto/resource.d.ts +24 -0
- package/lib/aws/auto/resource.d.ts.map +1 -0
- package/lib/aws/auto/resource.js +194 -0
- package/lib/aws/auto/resource.js.map +1 -0
- package/lib/aws/auto/service.d.ts +10 -0
- package/lib/aws/auto/service.d.ts.map +1 -0
- package/lib/aws/auto/service.js +34 -0
- package/lib/aws/auto/service.js.map +1 -0
- package/lib/aws/auto/spec.d.ts +83 -0
- package/lib/aws/auto/spec.d.ts.map +1 -0
- package/lib/aws/auto/spec.js +58 -0
- package/lib/aws/auto/spec.js.map +1 -0
- package/lib/aws/bucket.d.ts +21 -0
- package/lib/aws/bucket.d.ts.map +1 -0
- package/lib/aws/bucket.js +114 -0
- package/lib/aws/bucket.js.map +1 -0
- package/lib/aws/function.d.ts +53 -0
- package/lib/aws/function.d.ts.map +1 -0
- package/lib/aws/function.js +195 -0
- package/lib/aws/function.js.map +1 -0
- package/lib/aws/index.d.ts +7 -0
- package/lib/aws/index.d.ts.map +1 -0
- package/lib/aws/index.js +7 -0
- package/lib/aws/index.js.map +1 -0
- package/lib/aws/policy.d.ts +46 -0
- package/lib/aws/policy.d.ts.map +1 -0
- package/lib/aws/policy.js +139 -0
- package/lib/aws/policy.js.map +1 -0
- package/lib/aws/queue.d.ts +38 -0
- package/lib/aws/queue.d.ts.map +1 -0
- package/lib/aws/queue.js +162 -0
- package/lib/aws/queue.js.map +1 -0
- package/lib/aws/role.d.ts +27 -0
- package/lib/aws/role.d.ts.map +1 -0
- package/lib/aws/role.js +149 -0
- package/lib/aws/role.js.map +1 -0
- package/lib/aws/table.d.ts +26 -0
- package/lib/aws/table.d.ts.map +1 -0
- package/lib/aws/table.js +120 -0
- package/lib/aws/table.js.map +1 -0
- package/lib/destroy.d.ts +19 -0
- package/lib/destroy.d.ts.map +1 -0
- package/lib/destroy.js +47 -0
- package/lib/destroy.js.map +1 -0
- package/lib/error.d.ts +2 -0
- package/lib/error.d.ts.map +1 -0
- package/lib/error.js +13 -0
- package/lib/error.js.map +1 -0
- package/lib/esbuild.d.ts +70 -0
- package/lib/esbuild.d.ts.map +1 -0
- package/lib/esbuild.js +58 -0
- package/lib/esbuild.js.map +1 -0
- package/lib/fs.d.ts +12 -0
- package/lib/fs.d.ts.map +1 -0
- package/lib/fs.js +41 -0
- package/lib/fs.js.map +1 -0
- package/lib/global.d.ts +18 -0
- package/lib/global.d.ts.map +1 -0
- package/lib/global.js +42 -0
- package/lib/global.js.map +1 -0
- package/lib/index.d.ts +9 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +8 -0
- package/lib/index.js.map +1 -0
- package/lib/input.d.ts +6 -0
- package/lib/input.d.ts.map +1 -0
- package/lib/input.js +2 -0
- package/lib/input.js.map +1 -0
- package/lib/main.d.ts +3 -0
- package/lib/main.d.ts.map +1 -0
- package/lib/main.js +32 -0
- package/lib/main.js.map +1 -0
- package/lib/markdown/design.d.ts +17 -0
- package/lib/markdown/design.d.ts.map +1 -0
- package/lib/markdown/design.js +92 -0
- package/lib/markdown/design.js.map +1 -0
- package/lib/markdown/extract.d.ts +7 -0
- package/lib/markdown/extract.d.ts.map +1 -0
- package/lib/markdown/extract.js +10 -0
- package/lib/markdown/extract.js.map +1 -0
- package/lib/markdown/index.d.ts +4 -0
- package/lib/markdown/index.d.ts.map +1 -0
- package/lib/markdown/index.js +4 -0
- package/lib/markdown/index.js.map +1 -0
- package/lib/markdown/requirements.d.ts +79 -0
- package/lib/markdown/requirements.d.ts.map +1 -0
- package/lib/markdown/requirements.js +105 -0
- package/lib/markdown/requirements.js.map +1 -0
- package/lib/output.d.ts +19 -0
- package/lib/output.d.ts.map +1 -0
- package/lib/output.js +16 -0
- package/lib/output.js.map +1 -0
- package/lib/resource.d.ts +66 -0
- package/lib/resource.d.ts.map +1 -0
- package/lib/resource.js +242 -0
- package/lib/resource.js.map +1 -0
- package/lib/scope.d.ts +15 -0
- package/lib/scope.d.ts.map +1 -0
- package/lib/scope.js +38 -0
- package/lib/scope.js.map +1 -0
- package/lib/slug.d.ts +2 -0
- package/lib/slug.d.ts.map +1 -0
- package/lib/slug.js +4 -0
- package/lib/slug.js.map +1 -0
- package/lib/state.d.ts +40 -0
- package/lib/state.d.ts.map +1 -0
- package/lib/state.js +73 -0
- package/lib/state.js.map +1 -0
- package/lib/stripe/index.d.ts +4 -0
- package/lib/stripe/index.d.ts.map +1 -0
- package/lib/stripe/index.js +4 -0
- package/lib/stripe/index.js.map +1 -0
- package/lib/stripe/price.d.ts +109 -0
- package/lib/stripe/price.d.ts.map +1 -0
- package/lib/stripe/price.js +112 -0
- package/lib/stripe/price.js.map +1 -0
- package/lib/stripe/product.d.ts +86 -0
- package/lib/stripe/product.d.ts.map +1 -0
- package/lib/stripe/product.js +90 -0
- package/lib/stripe/product.js.map +1 -0
- package/lib/stripe/webhook.d.ts +73 -0
- package/lib/stripe/webhook.d.ts.map +1 -0
- package/lib/stripe/webhook.js +94 -0
- package/lib/stripe/webhook.js.map +1 -0
- package/lib/typescript/check-omission.d.ts +2 -0
- package/lib/typescript/check-omission.d.ts.map +1 -0
- package/lib/typescript/check-omission.js +43 -0
- package/lib/typescript/check-omission.js.map +1 -0
- package/lib/typescript/debug-type-errors.d.ts +3 -0
- package/lib/typescript/debug-type-errors.d.ts.map +1 -0
- package/lib/typescript/debug-type-errors.js +35 -0
- package/lib/typescript/debug-type-errors.js.map +1 -0
- package/lib/typescript/extract.d.ts +7 -0
- package/lib/typescript/extract.d.ts.map +1 -0
- package/lib/typescript/extract.js +10 -0
- package/lib/typescript/extract.js.map +1 -0
- package/lib/typescript/index.d.ts +7 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/index.js +7 -0
- package/lib/typescript/index.js.map +1 -0
- package/lib/typescript/install-dependencies.d.ts +29 -0
- package/lib/typescript/install-dependencies.d.ts.map +1 -0
- package/lib/typescript/install-dependencies.js +52 -0
- package/lib/typescript/install-dependencies.js.map +1 -0
- package/lib/typescript/package.d.ts +157 -0
- package/lib/typescript/package.d.ts.map +1 -0
- package/lib/typescript/package.js +115 -0
- package/lib/typescript/package.js.map +1 -0
- package/lib/typescript/repair-omissions.d.ts +3 -0
- package/lib/typescript/repair-omissions.d.ts.map +1 -0
- package/lib/typescript/repair-omissions.js +23 -0
- package/lib/typescript/repair-omissions.js.map +1 -0
- package/lib/typescript/repair.d.ts +3 -0
- package/lib/typescript/repair.d.ts.map +1 -0
- package/lib/typescript/repair.js +34 -0
- package/lib/typescript/repair.js.map +1 -0
- package/lib/typescript/tsconfig.d.ts +469 -0
- package/lib/typescript/tsconfig.d.ts.map +1 -0
- package/lib/typescript/tsconfig.js +143 -0
- package/lib/typescript/tsconfig.js.map +1 -0
- package/lib/typescript/typescript.d.ts +107 -0
- package/lib/typescript/typescript.d.ts.map +1 -0
- package/lib/typescript/typescript.js +180 -0
- package/lib/typescript/typescript.js.map +1 -0
- package/lib/typescript/validate.d.ts +10 -0
- package/lib/typescript/validate.d.ts.map +1 -0
- package/lib/typescript/validate.js +49 -0
- package/lib/typescript/validate.js.map +1 -0
- package/package.json +11 -11
- package/src/aws/auto/resource.ts +1 -1
- package/src/index.ts +1 -1
- package/test/aws/function.test.ts +0 -144
- package/test/aws/queue.test.ts +0 -85
- package/test/aws/role.test.ts +0 -153
- package/test/aws/table.test.ts +0 -73
- package/test/esbuild.test.ts +0 -41
- package/test/handler.ts +0 -9
- package/test/scope.test.ts +0 -67
- package/test/stripe/stripe.test.ts +0 -136
- package/tsconfig.json +0 -7
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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"}
|