alchemy 0.1.11 → 0.1.13

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 (312) hide show
  1. package/README.md +324 -0
  2. package/lib/$.d.ts +8 -3
  3. package/lib/$.d.ts.map +1 -1
  4. package/lib/$.js +38 -27
  5. package/lib/$.js.map +1 -1
  6. package/lib/alchemize.d.ts.map +1 -1
  7. package/lib/alchemize.js +7 -0
  8. package/lib/alchemize.js.map +1 -1
  9. package/lib/apply.d.ts +2 -2
  10. package/lib/apply.d.ts.map +1 -1
  11. package/lib/apply.js +3 -3
  12. package/lib/apply.js.map +1 -1
  13. package/lib/aws/index.d.ts +1 -0
  14. package/lib/aws/index.d.ts.map +1 -1
  15. package/lib/aws/index.js +1 -0
  16. package/lib/aws/index.js.map +1 -1
  17. package/lib/aws/ses.d.ts +75 -0
  18. package/lib/aws/ses.d.ts.map +1 -0
  19. package/lib/aws/ses.js +197 -0
  20. package/lib/aws/ses.js.map +1 -0
  21. package/lib/cloudflare/api.d.ts +88 -0
  22. package/lib/cloudflare/api.d.ts.map +1 -0
  23. package/lib/cloudflare/api.js +184 -0
  24. package/lib/cloudflare/api.js.map +1 -0
  25. package/lib/cloudflare/asset-manifest.d.ts +15 -0
  26. package/lib/cloudflare/asset-manifest.d.ts.map +1 -0
  27. package/lib/cloudflare/asset-manifest.js +2 -0
  28. package/lib/cloudflare/asset-manifest.js.map +1 -0
  29. package/lib/cloudflare/auth.d.ts +52 -0
  30. package/lib/cloudflare/auth.d.ts.map +1 -0
  31. package/lib/cloudflare/auth.js +114 -0
  32. package/lib/cloudflare/auth.js.map +1 -0
  33. package/lib/cloudflare/bindings.d.ts +254 -0
  34. package/lib/cloudflare/bindings.d.ts.map +1 -0
  35. package/lib/cloudflare/bindings.js +2 -0
  36. package/lib/cloudflare/bindings.js.map +1 -0
  37. package/lib/cloudflare/durable-object-namespace.d.ts +23 -0
  38. package/lib/cloudflare/durable-object-namespace.d.ts.map +1 -0
  39. package/lib/cloudflare/durable-object-namespace.js +26 -0
  40. package/lib/cloudflare/durable-object-namespace.js.map +1 -0
  41. package/lib/cloudflare/generate-asset-manifest.d.ts +3 -0
  42. package/lib/cloudflare/generate-asset-manifest.d.ts.map +1 -0
  43. package/lib/cloudflare/generate-asset-manifest.js +69 -0
  44. package/lib/cloudflare/generate-asset-manifest.js.map +1 -0
  45. package/lib/cloudflare/index.d.ts +7 -0
  46. package/lib/cloudflare/index.d.ts.map +1 -0
  47. package/lib/cloudflare/index.js +7 -0
  48. package/lib/cloudflare/index.js.map +1 -0
  49. package/lib/cloudflare/kv-namespace.d.ts +61 -0
  50. package/lib/cloudflare/kv-namespace.d.ts.map +1 -0
  51. package/lib/cloudflare/kv-namespace.js +93 -0
  52. package/lib/cloudflare/kv-namespace.js.map +1 -0
  53. package/lib/cloudflare/state.d.ts +83 -0
  54. package/lib/cloudflare/state.d.ts.map +1 -0
  55. package/lib/cloudflare/state.js +109 -0
  56. package/lib/cloudflare/state.js.map +1 -0
  57. package/lib/cloudflare/static-site-router.d.ts +19 -0
  58. package/lib/cloudflare/static-site-router.d.ts.map +1 -0
  59. package/lib/cloudflare/static-site-router.js +110 -0
  60. package/lib/cloudflare/static-site-router.js.map +1 -0
  61. package/lib/cloudflare/static-site.d.ts +166 -0
  62. package/lib/cloudflare/static-site.d.ts.map +1 -0
  63. package/lib/cloudflare/static-site.js +168 -0
  64. package/lib/cloudflare/static-site.js.map +1 -0
  65. package/lib/cloudflare/types.d.ts +52 -0
  66. package/lib/cloudflare/types.d.ts.map +1 -0
  67. package/lib/cloudflare/types.js +21 -0
  68. package/lib/cloudflare/types.js.map +1 -0
  69. package/lib/cloudflare/upload-asset-manifest.d.ts +12 -0
  70. package/lib/cloudflare/upload-asset-manifest.d.ts.map +1 -0
  71. package/lib/cloudflare/upload-asset-manifest.js +55 -0
  72. package/lib/cloudflare/upload-asset-manifest.js.map +1 -0
  73. package/lib/cloudflare/worker-metadata.d.ts +130 -0
  74. package/lib/cloudflare/worker-metadata.d.ts.map +1 -0
  75. package/lib/cloudflare/worker-metadata.js +2 -0
  76. package/lib/cloudflare/worker-metadata.js.map +1 -0
  77. package/lib/cloudflare/worker-migration.d.ts +110 -0
  78. package/lib/cloudflare/worker-migration.d.ts.map +1 -0
  79. package/lib/cloudflare/worker-migration.js +11 -0
  80. package/lib/cloudflare/worker-migration.js.map +1 -0
  81. package/lib/cloudflare/worker.d.ts +105 -0
  82. package/lib/cloudflare/worker.d.ts.map +1 -0
  83. package/lib/cloudflare/worker.js +358 -0
  84. package/lib/cloudflare/worker.js.map +1 -0
  85. package/lib/destroy.d.ts +1 -1
  86. package/lib/destroy.d.ts.map +1 -1
  87. package/lib/destroy.js +2 -1
  88. package/lib/destroy.js.map +1 -1
  89. package/lib/esbuild.d.ts +83 -1
  90. package/lib/esbuild.d.ts.map +1 -1
  91. package/lib/esbuild.js +27 -18
  92. package/lib/esbuild.js.map +1 -1
  93. package/lib/fs.d.ts +1 -1
  94. package/lib/global.d.ts +0 -2
  95. package/lib/global.d.ts.map +1 -1
  96. package/lib/global.js +3 -3
  97. package/lib/global.js.map +1 -1
  98. package/lib/index.d.ts +1 -0
  99. package/lib/index.d.ts.map +1 -1
  100. package/lib/index.js +1 -0
  101. package/lib/index.js.map +1 -1
  102. package/lib/main.js +1 -1
  103. package/lib/main.js.map +1 -1
  104. package/lib/output.d.ts +18 -13
  105. package/lib/output.d.ts.map +1 -1
  106. package/lib/output.js +12 -5
  107. package/lib/output.js.map +1 -1
  108. package/lib/print.d.ts +7 -0
  109. package/lib/print.d.ts.map +1 -0
  110. package/lib/print.js +10 -0
  111. package/lib/print.js.map +1 -0
  112. package/lib/resource.d.ts +9 -4
  113. package/lib/resource.d.ts.map +1 -1
  114. package/lib/resource.js +127 -93
  115. package/lib/resource.js.map +1 -1
  116. package/lib/scope.d.ts +3 -0
  117. package/lib/scope.d.ts.map +1 -1
  118. package/lib/scope.js +4 -12
  119. package/lib/scope.js.map +1 -1
  120. package/lib/utils/content-type.d.ts +8 -0
  121. package/lib/utils/content-type.d.ts.map +1 -0
  122. package/lib/utils/content-type.js +41 -0
  123. package/lib/utils/content-type.js.map +1 -0
  124. package/package.json +27 -8
  125. package/src/$.ts +63 -30
  126. package/src/alchemize.ts +12 -0
  127. package/src/apply.ts +6 -6
  128. package/src/aws/index.ts +1 -0
  129. package/src/aws/ses.ts +346 -0
  130. package/src/cloudflare/api.ts +282 -0
  131. package/src/cloudflare/asset-manifest.ts +16 -0
  132. package/src/cloudflare/auth.ts +187 -0
  133. package/src/cloudflare/bindings.ts +297 -0
  134. package/src/cloudflare/durable-object-namespace.ts +43 -0
  135. package/src/cloudflare/generate-asset-manifest.ts +93 -0
  136. package/src/cloudflare/index.ts +6 -0
  137. package/src/cloudflare/kv-namespace.ts +195 -0
  138. package/src/cloudflare/state.ts +138 -0
  139. package/src/cloudflare/static-site-router.ts +150 -0
  140. package/src/cloudflare/static-site.ts +395 -0
  141. package/src/cloudflare/types.ts +71 -0
  142. package/src/cloudflare/upload-asset-manifest.ts +83 -0
  143. package/src/cloudflare/worker-metadata.ts +154 -0
  144. package/src/cloudflare/worker-migration.ts +145 -0
  145. package/src/cloudflare/worker.ts +666 -0
  146. package/src/destroy.ts +2 -2
  147. package/src/esbuild.ts +34 -22
  148. package/src/global.ts +1 -3
  149. package/src/index.ts +1 -1
  150. package/src/main.ts +1 -1
  151. package/src/output.ts +53 -37
  152. package/src/print.ts +18 -0
  153. package/src/resource.ts +163 -116
  154. package/src/scope.ts +7 -12
  155. package/src/utils/content-type.ts +42 -0
  156. package/lib/agent/ai.d.ts +0 -40
  157. package/lib/agent/ai.d.ts.map +0 -1
  158. package/lib/agent/ai.js +0 -132
  159. package/lib/agent/ai.js.map +0 -1
  160. package/lib/agent/anthropic.d.ts +0 -9
  161. package/lib/agent/anthropic.d.ts.map +0 -1
  162. package/lib/agent/anthropic.js +0 -25
  163. package/lib/agent/anthropic.js.map +0 -1
  164. package/lib/agent/dependencies.d.ts +0 -4
  165. package/lib/agent/dependencies.d.ts.map +0 -1
  166. package/lib/agent/dependencies.js +0 -48
  167. package/lib/agent/dependencies.js.map +0 -1
  168. package/lib/agent/file-context.d.ts +0 -13
  169. package/lib/agent/file-context.d.ts.map +0 -1
  170. package/lib/agent/file-context.js +0 -6
  171. package/lib/agent/file-context.js.map +0 -1
  172. package/lib/agent/index.d.ts +0 -10
  173. package/lib/agent/index.d.ts.map +0 -1
  174. package/lib/agent/index.js +0 -10
  175. package/lib/agent/index.js.map +0 -1
  176. package/lib/agent/model.d.ts +0 -8
  177. package/lib/agent/model.d.ts.map +0 -1
  178. package/lib/agent/model.js +0 -29
  179. package/lib/agent/model.js.map +0 -1
  180. package/lib/agent/module.d.ts +0 -81
  181. package/lib/agent/module.d.ts.map +0 -1
  182. package/lib/agent/module.js +0 -309
  183. package/lib/agent/module.js.map +0 -1
  184. package/lib/agent/openai.d.ts +0 -6
  185. package/lib/agent/openai.d.ts.map +0 -1
  186. package/lib/agent/openai.js +0 -41
  187. package/lib/agent/openai.js.map +0 -1
  188. package/lib/agent/program.d.ts +0 -12
  189. package/lib/agent/program.d.ts.map +0 -1
  190. package/lib/agent/program.js +0 -21
  191. package/lib/agent/program.js.map +0 -1
  192. package/lib/agent/prompts.d.ts +0 -4
  193. package/lib/agent/prompts.d.ts.map +0 -1
  194. package/lib/agent/prompts.js +0 -11
  195. package/lib/agent/prompts.js.map +0 -1
  196. package/lib/agent/scrape.d.ts +0 -71
  197. package/lib/agent/scrape.d.ts.map +0 -1
  198. package/lib/agent/scrape.js +0 -45
  199. package/lib/agent/scrape.js.map +0 -1
  200. package/lib/aws/auto/docs.d.ts +0 -11
  201. package/lib/aws/auto/docs.d.ts.map +0 -1
  202. package/lib/aws/auto/docs.js +0 -56
  203. package/lib/aws/auto/docs.js.map +0 -1
  204. package/lib/aws/auto/index.d.ts +0 -5
  205. package/lib/aws/auto/index.d.ts.map +0 -1
  206. package/lib/aws/auto/index.js +0 -5
  207. package/lib/aws/auto/index.js.map +0 -1
  208. package/lib/aws/auto/resource.d.ts +0 -24
  209. package/lib/aws/auto/resource.d.ts.map +0 -1
  210. package/lib/aws/auto/resource.js +0 -194
  211. package/lib/aws/auto/resource.js.map +0 -1
  212. package/lib/aws/auto/service.d.ts +0 -10
  213. package/lib/aws/auto/service.d.ts.map +0 -1
  214. package/lib/aws/auto/service.js +0 -34
  215. package/lib/aws/auto/service.js.map +0 -1
  216. package/lib/aws/auto/spec.d.ts +0 -83
  217. package/lib/aws/auto/spec.d.ts.map +0 -1
  218. package/lib/aws/auto/spec.js +0 -58
  219. package/lib/aws/auto/spec.js.map +0 -1
  220. package/lib/markdown/design.d.ts +0 -17
  221. package/lib/markdown/design.d.ts.map +0 -1
  222. package/lib/markdown/design.js +0 -92
  223. package/lib/markdown/design.js.map +0 -1
  224. package/lib/markdown/extract.d.ts +0 -7
  225. package/lib/markdown/extract.d.ts.map +0 -1
  226. package/lib/markdown/extract.js +0 -10
  227. package/lib/markdown/extract.js.map +0 -1
  228. package/lib/markdown/index.d.ts +0 -4
  229. package/lib/markdown/index.d.ts.map +0 -1
  230. package/lib/markdown/index.js +0 -4
  231. package/lib/markdown/index.js.map +0 -1
  232. package/lib/markdown/requirements.d.ts +0 -79
  233. package/lib/markdown/requirements.d.ts.map +0 -1
  234. package/lib/markdown/requirements.js +0 -105
  235. package/lib/markdown/requirements.js.map +0 -1
  236. package/lib/typescript/check-omission.d.ts +0 -2
  237. package/lib/typescript/check-omission.d.ts.map +0 -1
  238. package/lib/typescript/check-omission.js +0 -43
  239. package/lib/typescript/check-omission.js.map +0 -1
  240. package/lib/typescript/debug-type-errors.d.ts +0 -3
  241. package/lib/typescript/debug-type-errors.d.ts.map +0 -1
  242. package/lib/typescript/debug-type-errors.js +0 -35
  243. package/lib/typescript/debug-type-errors.js.map +0 -1
  244. package/lib/typescript/extract.d.ts +0 -7
  245. package/lib/typescript/extract.d.ts.map +0 -1
  246. package/lib/typescript/extract.js +0 -10
  247. package/lib/typescript/extract.js.map +0 -1
  248. package/lib/typescript/index.d.ts +0 -7
  249. package/lib/typescript/index.d.ts.map +0 -1
  250. package/lib/typescript/index.js +0 -7
  251. package/lib/typescript/index.js.map +0 -1
  252. package/lib/typescript/install-dependencies.d.ts +0 -29
  253. package/lib/typescript/install-dependencies.d.ts.map +0 -1
  254. package/lib/typescript/install-dependencies.js +0 -52
  255. package/lib/typescript/install-dependencies.js.map +0 -1
  256. package/lib/typescript/package.d.ts +0 -157
  257. package/lib/typescript/package.d.ts.map +0 -1
  258. package/lib/typescript/package.js +0 -115
  259. package/lib/typescript/package.js.map +0 -1
  260. package/lib/typescript/repair-omissions.d.ts +0 -3
  261. package/lib/typescript/repair-omissions.d.ts.map +0 -1
  262. package/lib/typescript/repair-omissions.js +0 -23
  263. package/lib/typescript/repair-omissions.js.map +0 -1
  264. package/lib/typescript/repair.d.ts +0 -3
  265. package/lib/typescript/repair.d.ts.map +0 -1
  266. package/lib/typescript/repair.js +0 -34
  267. package/lib/typescript/repair.js.map +0 -1
  268. package/lib/typescript/tsconfig.d.ts +0 -469
  269. package/lib/typescript/tsconfig.d.ts.map +0 -1
  270. package/lib/typescript/tsconfig.js +0 -143
  271. package/lib/typescript/tsconfig.js.map +0 -1
  272. package/lib/typescript/typescript.d.ts +0 -107
  273. package/lib/typescript/typescript.d.ts.map +0 -1
  274. package/lib/typescript/typescript.js +0 -180
  275. package/lib/typescript/typescript.js.map +0 -1
  276. package/lib/typescript/validate.d.ts +0 -10
  277. package/lib/typescript/validate.d.ts.map +0 -1
  278. package/lib/typescript/validate.js +0 -49
  279. package/lib/typescript/validate.js.map +0 -1
  280. package/src/agent/ai.ts +0 -215
  281. package/src/agent/anthropic.ts +0 -31
  282. package/src/agent/dependencies.ts +0 -62
  283. package/src/agent/file-context.ts +0 -8
  284. package/src/agent/index.ts +0 -9
  285. package/src/agent/model.ts +0 -39
  286. package/src/agent/module.ts +0 -418
  287. package/src/agent/openai.ts +0 -50
  288. package/src/agent/program.md +0 -38
  289. package/src/agent/program.ts +0 -37
  290. package/src/agent/prompts.ts +0 -20
  291. package/src/agent/scrape.ts +0 -47
  292. package/src/aws/auto/cfn.json +0 -225310
  293. package/src/aws/auto/docs.ts +0 -73
  294. package/src/aws/auto/index.ts +0 -4
  295. package/src/aws/auto/resource.ts +0 -269
  296. package/src/aws/auto/service.ts +0 -51
  297. package/src/aws/auto/spec.ts +0 -160
  298. package/src/markdown/design.ts +0 -125
  299. package/src/markdown/extract.ts +0 -9
  300. package/src/markdown/index.ts +0 -3
  301. package/src/markdown/requirements.ts +0 -135
  302. package/src/typescript/check-omission.ts +0 -47
  303. package/src/typescript/debug-type-errors.ts +0 -42
  304. package/src/typescript/extract.ts +0 -9
  305. package/src/typescript/index.ts +0 -6
  306. package/src/typescript/install-dependencies.ts +0 -61
  307. package/src/typescript/package.ts +0 -143
  308. package/src/typescript/repair-omissions.ts +0 -31
  309. package/src/typescript/repair.ts +0 -45
  310. package/src/typescript/tsconfig.ts +0 -170
  311. package/src/typescript/typescript.ts +0 -217
  312. package/src/typescript/validate.ts +0 -73
@@ -1,309 +0,0 @@
1
- import { createPatch } from "diff";
2
- import fs from "node:fs/promises";
3
- import { z } from "zod";
4
- import { Folder } from "../fs";
5
- import { Design } from "../markdown/design";
6
- import { Requirements } from "../markdown/requirements";
7
- import { Resource, } from "../resource";
8
- import { slugify } from "../slug";
9
- import { TypeScriptFile } from "../typescript";
10
- import { generateObject } from "./ai";
11
- import { dependenciesAsMessages } from "./dependencies";
12
- import { resolveModel } from "./model";
13
- import { Prompts } from "./prompts";
14
- const ProjectFileType = z.enum([
15
- "folder",
16
- "design",
17
- "typescript",
18
- // "package.json",
19
- // "tsconfig.json",
20
- "css",
21
- "scss",
22
- "javascript",
23
- "html",
24
- ]);
25
- const upstream = z
26
- .array(z.string())
27
- .describe([
28
- "A list of all this file's upstream dependencies (files and folders).",
29
- "These files and folders must exist prior to creating or updating 'this' file.",
30
- "'this' meaning the file described by the key in the object.",
31
- "If the plan includes a type: folder to be created, and a file is contained",
32
- "within that folder, then it must also be listed in the upstream dependencies.",
33
- "Don't include files as upstream dependencies if that file's content is not relevant to this file.",
34
- ].join(" "));
35
- const CreateFile = z.object({
36
- type: ProjectFileType,
37
- upstream,
38
- operation: z.enum(["create"]),
39
- });
40
- const UpdateFile = z.object({
41
- type: ProjectFileType,
42
- upstream,
43
- operation: z
44
- .enum(["create", "update"])
45
- .describe([
46
- "The operation to perform on this fle (one of: create, update, delete, noop).",
47
- "If the document describes a new file that needs to be created, the operation is 'create'.",
48
- "If the document's content has changed such that a file that was previously created must be updated, the operation is 'update'.",
49
- "If the document's content has changed, but not in a way that is relevant to this file, the operation is 'noop'.",
50
- "If a file that was previously created is no longer mentioned in the document, the operation is 'delete'.",
51
- ].join(" ")),
52
- });
53
- export const CreatePlan = z.object({
54
- files: z.record(CreateFile),
55
- });
56
- export const UpdatePlan = z.object({
57
- files: z.record(z.union([UpdateFile, z.enum(["delete", "noop"])])),
58
- });
59
- export class Module extends Resource("Module", async (ctx, props) => {
60
- if (ctx.event === "delete") {
61
- return;
62
- }
63
- const model = await resolveModel(props.model ?? "gpt-4o");
64
- const plan = ctx.event === "create"
65
- ? await createPlan(ctx, props, model)
66
- : await updatePlan(ctx, props, model);
67
- console.log(JSON.stringify(plan, null, 2));
68
- const dependencies = Object.fromEntries(Object.entries(plan.files).flatMap(([path, file]) => file === "delete" || file === "noop" ? [] : [[path, file.upstream]]));
69
- const files = {};
70
- for (const filePath of topoSort(dependencies)) {
71
- const filePlan = plan.files[filePath];
72
- if (filePlan !== "delete") {
73
- const file = await createFile(filePath, filePlan === "noop"
74
- ? "noop"
75
- : filePlan.operation, filePlan === "noop" ? null : filePlan, dependencies[filePath]?.map((dep) => files[dep]));
76
- if (file) {
77
- files[filePath] = file;
78
- }
79
- }
80
- }
81
- return {
82
- path: props.path,
83
- plan,
84
- content: props.content,
85
- // @ts-ignore - TODO: fix this
86
- files,
87
- };
88
- async function createFile(filePath, op, filePlan, dependencies) {
89
- const slug = slugify(filePath);
90
- // cache inputs for no-ops
91
- async function inputs(key, input) {
92
- return (op === "noop" ? await ctx.get(key) : input) ?? input;
93
- }
94
- if (filePlan === null) {
95
- // restore the file plan from the cache for no-ops
96
- filePlan = (await ctx.get(filePath));
97
- }
98
- else {
99
- await ctx.set(filePath, filePlan);
100
- }
101
- if (filePlan.type === "design") {
102
- const design = new Design(`${slug}-design`, await inputs(`${slug}-design`, {
103
- path: filePath,
104
- prompt: [
105
- "Context:",
106
- props.content,
107
- "",
108
- `Produce the design: ${filePath}`,
109
- ].join("\n"),
110
- dependencies,
111
- model: "o3-mini",
112
- }));
113
- const module = new Module(slug, await inputs(slug, {
114
- model: props.model,
115
- path: filePath,
116
- content: design.content,
117
- dependencies,
118
- }));
119
- return module;
120
- }
121
- else if (filePlan.type === "typescript") {
122
- const requirementsSlug = slug.replace(".ts", ".md");
123
- const requirements = new Requirements(requirementsSlug, await inputs(requirementsSlug, {
124
- // file: file.path.replace(".ts", ".md").replace("src/", "design/"),
125
- requirements: [
126
- "Context:",
127
- props.content,
128
- "Define the low-level requirements for this TypeScript file:",
129
- filePath,
130
- ],
131
- dependencies,
132
- }));
133
- return new TypeScriptFile(slug, await inputs(slug, {
134
- path: filePath,
135
- requirements: requirements.content,
136
- dependencies,
137
- }));
138
- // } else if (filePlan.type === "package.json") {
139
- // return new PackageJson(
140
- // slugify(filePath),
141
- // await inputs<PackageJsonInput>(slug, {
142
- // path: filePath,
143
- // name: "todo",
144
- // requirements: [
145
- // "Context:",
146
- // props.content,
147
- // "Create the package.json:",
148
- // filePath,
149
- // ],
150
- // dependencies,
151
- // }),
152
- // );
153
- // } else if (filePlan.type === "tsconfig.json") {
154
- // return new TypeScriptConfig(
155
- // slugify(filePath),
156
- // await inputs<TypeScriptConfigInput>(slug, {
157
- // path: filePath,
158
- // requirements: [props.content],
159
- // dependencies,
160
- // }),
161
- // );
162
- }
163
- else if (filePlan.type === "folder") {
164
- return new Folder(slug, filePath, ...dependencies.map((d) => d.path));
165
- }
166
- else {
167
- console.error(`Unknown file type: ${filePlan.type}`);
168
- return undefined;
169
- }
170
- }
171
- }) {
172
- }
173
- async function createPlan(ctx, props, model) {
174
- const result = await generateObject({
175
- model,
176
- schema: CreatePlan,
177
- temperature: 0.1,
178
- messages: [
179
- {
180
- role: "system",
181
- content: Prompts.program,
182
- },
183
- ...excludeDependenciesFromPlan(props.dependencies),
184
- {
185
- role: "user",
186
- content: [
187
- "Derive the execution plan for this document:",
188
- "```md",
189
- props.content,
190
- "```",
191
- "You must only include files explicitly mentioned in the document.",
192
- "Do not preemptively assume that any other files are needed.",
193
- ].join("\n\n"),
194
- },
195
- ],
196
- });
197
- return result.object;
198
- }
199
- async function updatePlan(ctx, props, model) {
200
- const newContent = await fs.readFile(props.path, "utf-8");
201
- const oldContent = ctx.output.content;
202
- const patch = createPatch(props.path, oldContent, newContent);
203
- console.log({
204
- role: "assistant",
205
- content: JSON.stringify(ctx.output.plan),
206
- });
207
- try {
208
- const result = await generateObject({
209
- model,
210
- schema: UpdatePlan,
211
- temperature: 0.1,
212
- messages: [
213
- {
214
- role: "system",
215
- content: Prompts.program,
216
- },
217
- ...excludeDependenciesFromPlan(props.dependencies),
218
- {
219
- role: "user",
220
- content: [
221
- "Derive the execution plan for this document:",
222
- "```md",
223
- oldContent,
224
- "```",
225
- ].join("\n\n"),
226
- },
227
- {
228
- role: "assistant",
229
- content: JSON.stringify(ctx.output.plan),
230
- },
231
- {
232
- role: "user",
233
- content: [
234
- "I've made the following changes to the document:",
235
- "```diff",
236
- patch,
237
- "```",
238
- "Please update the plan to reflect the changes.",
239
- "You must only include files explicitly mentioned in the document.",
240
- "Do not preemptively assume that any other files are needed.",
241
- ].join("\n"),
242
- },
243
- ],
244
- });
245
- return result.object;
246
- }
247
- catch (error) {
248
- console.log("Failed to update plan");
249
- console.error(error);
250
- throw error;
251
- }
252
- }
253
- function excludeDependenciesFromPlan(dependencies) {
254
- if (dependencies) {
255
- return [
256
- ...dependenciesAsMessages(dependencies),
257
- ...(dependencies
258
- ? [
259
- {
260
- role: "user",
261
- content: [
262
- "Remember that these files don't need to be create",
263
- ...dependencies.map((dep) => `- ${dep.path}`),
264
- ].join("\n"),
265
- },
266
- {
267
- role: "assistant",
268
- content: [
269
- "Got it, I acknowledge that the following files will not be included as create/update/delete/noop nodes in the plan",
270
- ...dependencies.map((dep) => `- ${dep.path}`),
271
- ].join("\n"),
272
- },
273
- ]
274
- : []),
275
- ];
276
- }
277
- else {
278
- return [];
279
- }
280
- }
281
- function topoSort(dependencies) {
282
- const visited = new Set();
283
- const temp = new Set();
284
- const order = [];
285
- function visit(file) {
286
- if (temp.has(file)) {
287
- throw new Error(`Circular dependency detected involving ${file}`);
288
- }
289
- if (visited.has(file)) {
290
- return;
291
- }
292
- temp.add(file);
293
- const deps = dependencies[file] || [];
294
- for (const dep of deps) {
295
- visit(dep);
296
- }
297
- temp.delete(file);
298
- visited.add(file);
299
- order.push(file);
300
- }
301
- const files = Object.keys(dependencies);
302
- for (const file of files) {
303
- if (!visited.has(file)) {
304
- visit(file);
305
- }
306
- }
307
- return order;
308
- }
309
- //# sourceMappingURL=module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/agent/module.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { z } from "zod";
2
- export declare const OpenAIModels: readonly ["o3-mini", "o1", "o1-2024-12-17", "o1-mini", "o1-mini-2024-09-12", "o1-preview", "o1-preview-2024-09-12", "gpt-4o", "gpt-4o-2024-05-13", "gpt-4o-2024-08-06", "gpt-4o-2024-11-20", "gpt-4o-audio-preview", "gpt-4o-audio-preview-2024-10-01", "gpt-4o-audio-preview-2024-12-17", "gpt-4o-mini", "gpt-4o-mini-2024-07-18", "gpt-4-turbo", "gpt-4-turbo-2024-04-09", "gpt-4-turbo-preview", "gpt-4-0125-preview", "gpt-4-1106-preview", "gpt-4", "gpt-4-0613", "gpt-3.5-turbo-0125", "gpt-3.5-turbo", "gpt-3.5-turbo-1106"];
3
- export declare const OpenAIModel: z.ZodEnum<["o3-mini", "o1", "o1-2024-12-17", "o1-mini", "o1-mini-2024-09-12", "o1-preview", "o1-preview-2024-09-12", "gpt-4o", "gpt-4o-2024-05-13", "gpt-4o-2024-08-06", "gpt-4o-2024-11-20", "gpt-4o-audio-preview", "gpt-4o-audio-preview-2024-10-01", "gpt-4o-audio-preview-2024-12-17", "gpt-4o-mini", "gpt-4o-mini-2024-07-18", "gpt-4-turbo", "gpt-4-turbo-2024-04-09", "gpt-4-turbo-preview", "gpt-4-0125-preview", "gpt-4-1106-preview", "gpt-4", "gpt-4-0613", "gpt-3.5-turbo-0125", "gpt-3.5-turbo", "gpt-3.5-turbo-1106"]>;
4
- export type OpenAIChatModelId = (typeof OpenAIModels)[number] | (string & {});
5
- export declare function isOpenAIModel(model: string): model is OpenAIChatModelId;
6
- //# sourceMappingURL=openai.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/agent/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,eAAO,MAAM,YAAY,qgBAmCf,CAAC;AAEX,eAAO,MAAM,WAAW,ugBAAuB,CAAC;AAEhD,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE9E,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAOvE"}
@@ -1,41 +0,0 @@
1
- import { z } from "zod";
2
- export const OpenAIModels = [
3
- "o3-mini",
4
- // O1 models
5
- "o1",
6
- "o1-2024-12-17",
7
- "o1-mini",
8
- "o1-mini-2024-09-12",
9
- "o1-preview",
10
- "o1-preview-2024-09-12",
11
- // GPT-4O models
12
- "gpt-4o",
13
- "gpt-4o-2024-05-13",
14
- "gpt-4o-2024-08-06",
15
- "gpt-4o-2024-11-20",
16
- "gpt-4o-audio-preview",
17
- "gpt-4o-audio-preview-2024-10-01",
18
- "gpt-4o-audio-preview-2024-12-17",
19
- "gpt-4o-mini",
20
- "gpt-4o-mini-2024-07-18",
21
- // GPT-4 models
22
- "gpt-4-turbo",
23
- "gpt-4-turbo-2024-04-09",
24
- "gpt-4-turbo-preview",
25
- "gpt-4-0125-preview",
26
- "gpt-4-1106-preview",
27
- "gpt-4",
28
- "gpt-4-0613",
29
- // GPT-3.5 models
30
- "gpt-3.5-turbo-0125",
31
- "gpt-3.5-turbo",
32
- "gpt-3.5-turbo-1106",
33
- ];
34
- export const OpenAIModel = z.enum(OpenAIModels);
35
- export function isOpenAIModel(model) {
36
- return (model.startsWith("gpt-") ||
37
- model.startsWith("o1") ||
38
- model.startsWith("o3") ||
39
- model.startsWith("gpt-4o"));
40
- }
41
- //# sourceMappingURL=openai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/agent/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS;IAET,YAAY;IACZ,IAAI;IACJ,eAAe;IACf,SAAS;IACT,oBAAoB;IACpB,YAAY;IACZ,uBAAuB;IAEvB,gBAAgB;IAChB,QAAQ;IACR,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;IACnB,sBAAsB;IACtB,iCAAiC;IACjC,iCAAiC;IACjC,aAAa;IACb,wBAAwB;IAExB,eAAe;IACf,aAAa;IACb,wBAAwB;IACxB,qBAAqB;IACrB,oBAAoB;IACpB,oBAAoB;IACpB,OAAO;IACP,YAAY;IAEZ,iBAAiB;IACjB,oBAAoB;IACpB,eAAe;IACf,oBAAoB;CACZ,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAIhD,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,CACL,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QACxB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QACtB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QACtB,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC3B,CAAC;AACJ,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { ModelId } from "./model";
2
- import { Module } from "./module";
3
- declare const Program_base: import("../resource").Provider<"Program", [props: {
4
- path: string;
5
- model?: ModelId;
6
- }], {
7
- module: Module;
8
- }>;
9
- export declare class Program extends Program_base {
10
- }
11
- export {};
12
- //# sourceMappingURL=program.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/agent/program.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;;UAYtB,MAAM;YACJ,OAAO;;YAJP,MAAM;;AAPpB,qBAAa,OAAQ,SAAQ,YA8B5B;CAAG"}
@@ -1,21 +0,0 @@
1
- import fs from "node:fs/promises";
2
- import { Resource } from "../resource";
3
- import { Module } from "./module";
4
- export class Program extends Resource("Program", {
5
- alwaysUpdate: true,
6
- }, async (ctx, props) => {
7
- if (ctx.event === "delete") {
8
- return;
9
- }
10
- const content = await fs.readFile(props.path, "utf-8");
11
- const module = new Module("module", {
12
- path: props.path,
13
- content,
14
- model: props.model,
15
- });
16
- return {
17
- module,
18
- };
19
- }) {
20
- }
21
- //# sourceMappingURL=program.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/agent/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,OAAO,OAAQ,SAAQ,QAAQ,CACnC,SAAS,EACT;IACE,YAAY,EAAE,IAAI;CACnB,EACD,KAAK,EACH,GAEE,EACF,KAGC,EACD,EAAE;IACF,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE;QAClC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO;QACP,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;KACP,CAAC;AACJ,CAAC,CACF;CAAG"}
@@ -1,4 +0,0 @@
1
- declare const prompts: readonly ["program"];
2
- export declare const Prompts: { [key in (typeof prompts)[number]]: string; };
3
- export {};
4
- //# sourceMappingURL=prompts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,OAAO,sBAAuB,CAAC;AAErC,eAAO,MAAM,OAAO,EAOf,GACF,GAAG,IAAI,CAAC,OAAO,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,GAC1C,CAAC"}
@@ -1,11 +0,0 @@
1
- import fs from "node:fs/promises";
2
- import path from "node:path";
3
- // TODO: replace with import.meta.glob
4
- // see: https://github.com/oven-sh/bun/issues/6060
5
- const __dirname = new URL(".", import.meta.url).pathname;
6
- const prompts = ["program"];
7
- export const Prompts = Object.fromEntries(await Promise.all(prompts.map(async (prompt) => [
8
- prompt,
9
- await fs.readFile(path.join(__dirname, `${prompt}.md`), "utf-8"),
10
- ])));
11
- //# sourceMappingURL=prompts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,sCAAsC;AACtC,kDAAkD;AAElD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;AAEzD,MAAM,OAAO,GAAG,CAAC,SAAS,CAAU,CAAC;AAErC,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CACvC,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;IAC5B,MAAM;IACN,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,CAAC;CACjE,CAAC,CACH,CAGF,CAAC"}
@@ -1,71 +0,0 @@
1
- import { z } from "zod";
2
- export declare const scrapeWebPage: import("ai").Tool<z.ZodObject<{
3
- url: z.ZodString;
4
- turndownOptions: z.ZodOptional<z.ZodObject<{
5
- headingStyle: z.ZodOptional<z.ZodEnum<["setext", "atx"]>>;
6
- hr: z.ZodOptional<z.ZodString>;
7
- bulletListMarker: z.ZodOptional<z.ZodEnum<["-", "*", "+"]>>;
8
- codeBlockStyle: z.ZodOptional<z.ZodEnum<["indented", "fenced"]>>;
9
- emDelimiter: z.ZodOptional<z.ZodEnum<["_", "*"]>>;
10
- strongDelimiter: z.ZodOptional<z.ZodEnum<["__", "**"]>>;
11
- linkStyle: z.ZodOptional<z.ZodEnum<["inlined", "referenced"]>>;
12
- linkReferenceStyle: z.ZodOptional<z.ZodEnum<["full", "collapsed", "shortcut"]>>;
13
- }, "strip", z.ZodTypeAny, {
14
- headingStyle?: "setext" | "atx" | undefined;
15
- hr?: string | undefined;
16
- bulletListMarker?: "-" | "*" | "+" | undefined;
17
- codeBlockStyle?: "indented" | "fenced" | undefined;
18
- emDelimiter?: "_" | "*" | undefined;
19
- strongDelimiter?: "__" | "**" | undefined;
20
- linkStyle?: "inlined" | "referenced" | undefined;
21
- linkReferenceStyle?: "full" | "collapsed" | "shortcut" | undefined;
22
- }, {
23
- headingStyle?: "setext" | "atx" | undefined;
24
- hr?: string | undefined;
25
- bulletListMarker?: "-" | "*" | "+" | undefined;
26
- codeBlockStyle?: "indented" | "fenced" | undefined;
27
- emDelimiter?: "_" | "*" | undefined;
28
- strongDelimiter?: "__" | "**" | undefined;
29
- linkStyle?: "inlined" | "referenced" | undefined;
30
- linkReferenceStyle?: "full" | "collapsed" | "shortcut" | undefined;
31
- }>>;
32
- }, "strip", z.ZodTypeAny, {
33
- url: string;
34
- turndownOptions?: {
35
- headingStyle?: "setext" | "atx" | undefined;
36
- hr?: string | undefined;
37
- bulletListMarker?: "-" | "*" | "+" | undefined;
38
- codeBlockStyle?: "indented" | "fenced" | undefined;
39
- emDelimiter?: "_" | "*" | undefined;
40
- strongDelimiter?: "__" | "**" | undefined;
41
- linkStyle?: "inlined" | "referenced" | undefined;
42
- linkReferenceStyle?: "full" | "collapsed" | "shortcut" | undefined;
43
- } | undefined;
44
- }, {
45
- url: string;
46
- turndownOptions?: {
47
- headingStyle?: "setext" | "atx" | undefined;
48
- hr?: string | undefined;
49
- bulletListMarker?: "-" | "*" | "+" | undefined;
50
- codeBlockStyle?: "indented" | "fenced" | undefined;
51
- emDelimiter?: "_" | "*" | undefined;
52
- strongDelimiter?: "__" | "**" | undefined;
53
- linkStyle?: "inlined" | "referenced" | undefined;
54
- linkReferenceStyle?: "full" | "collapsed" | "shortcut" | undefined;
55
- } | undefined;
56
- }>, string> & {
57
- execute: (args: {
58
- url: string;
59
- turndownOptions?: {
60
- headingStyle?: "setext" | "atx" | undefined;
61
- hr?: string | undefined;
62
- bulletListMarker?: "-" | "*" | "+" | undefined;
63
- codeBlockStyle?: "indented" | "fenced" | undefined;
64
- emDelimiter?: "_" | "*" | undefined;
65
- strongDelimiter?: "__" | "**" | undefined;
66
- linkStyle?: "inlined" | "referenced" | undefined;
67
- linkReferenceStyle?: "full" | "collapsed" | "shortcut" | undefined;
68
- } | undefined;
69
- }, options: import("ai").ToolExecutionOptions) => PromiseLike<string>;
70
- };
71
- //# sourceMappingURL=scrape.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scrape.d.ts","sourceRoot":"","sources":["../../src/agent/scrape.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CxB,CAAC"}
@@ -1,45 +0,0 @@
1
- import { tool } from "ai";
2
- import TurndownService from "turndown";
3
- import { z } from "zod";
4
- export const scrapeWebPage = tool({
5
- description: "Scrapes a web page and converts HTML content to Markdown",
6
- parameters: z.object({
7
- url: z.string().url().describe("The URL to scrape content from"),
8
- turndownOptions: z
9
- .object({
10
- headingStyle: z.enum(["setext", "atx"]).optional(),
11
- hr: z.string().optional(),
12
- bulletListMarker: z.enum(["-", "*", "+"]).optional(),
13
- codeBlockStyle: z.enum(["indented", "fenced"]).optional(),
14
- emDelimiter: z.enum(["_", "*"]).optional(),
15
- strongDelimiter: z.enum(["__", "**"]).optional(),
16
- linkStyle: z.enum(["inlined", "referenced"]).optional(),
17
- linkReferenceStyle: z
18
- .enum(["full", "collapsed", "shortcut"])
19
- .optional(),
20
- })
21
- .optional()
22
- .describe("Custom options for Turndown HTML to Markdown conversion"),
23
- }),
24
- execute: async ({ url, turndownOptions }) => {
25
- console.log("Scraping web page:", url);
26
- try {
27
- // Fetch the page content
28
- const response = await fetch(url);
29
- if (!response.ok) {
30
- throw new Error(`Failed to fetch ${url}: ${response.statusText}`);
31
- }
32
- // Get the HTML content
33
- const html = await response.text();
34
- // Initialize Turndown with options
35
- const turndownService = new TurndownService(turndownOptions);
36
- // Convert HTML to Markdown and return
37
- return turndownService.turndown(html);
38
- }
39
- catch (error) {
40
- console.error("Error scraping web page:", error);
41
- throw error;
42
- }
43
- },
44
- });
45
- //# sourceMappingURL=scrape.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scrape.js","sourceRoot":"","sources":["../../src/agent/scrape.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,eAAe,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,0DAA0D;IACvE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAChE,eAAe,EAAE,CAAC;aACf,MAAM,CAAC;YACN,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;YAClD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACzB,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;YACpD,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;YACzD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC1C,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;YAChD,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;YACvD,kBAAkB,EAAE,CAAC;iBAClB,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;iBACvC,QAAQ,EAAE;SACd,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;KACvE,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE;QAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,uBAAuB;YACvB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEnC,mCAAmC;YACnC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,eAAe,CAAC,CAAC;YAE7D,sCAAsC;YACtC,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- declare const AWSDocReference_base: import("../../resource").Provider<"AWSDocReference", [props: {
2
- serviceName: string;
3
- resourceName: string;
4
- requirements: string;
5
- }], {
6
- content: string;
7
- }>;
8
- export declare class AWSDocReference extends AWSDocReference_base {
9
- }
10
- export {};
11
- //# sourceMappingURL=docs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../src/aws/auto/docs.ts"],"names":[],"mappings":";iBAUmB,MAAM;kBACL,MAAM;kBACN,MAAM;;aAGb,MAAM;;AAVnB,qBAAa,eAAgB,SAAQ,oBAmEpC;CAAG"}
@@ -1,56 +0,0 @@
1
- import TurndownService from "turndown";
2
- import { generateText } from "../../agent/ai";
3
- import { resolveModel } from "../../agent/model";
4
- import { Resource } from "../../resource";
5
- export class AWSDocReference extends Resource("AWSDocReference", async (ctx, props) => {
6
- if (ctx.event === "delete") {
7
- return;
8
- }
9
- const serviceNameLower = props.serviceName.toLowerCase();
10
- const url = `https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/${serviceNameLower}`;
11
- const response = await fetch(url);
12
- if (!response.ok) {
13
- throw new Error(`Failed to fetch ${url}: ${response.statusText}`);
14
- }
15
- const html = await response.text();
16
- const turndownService = new TurndownService({
17
- headingStyle: "atx",
18
- codeBlockStyle: "fenced",
19
- });
20
- const markdown = turndownService.turndown(html);
21
- // Use AI to analyze the docs and extract relevant API information
22
- const model = await resolveModel("gpt-4o");
23
- const apiSummary = await generateText({
24
- model,
25
- temperature: 0.1,
26
- messages: [
27
- {
28
- role: "system",
29
- content: "You are an expert at analyzing AWS SDK documentation and identifying relevant APIs for CloudFormation resource implementations.",
30
- },
31
- {
32
- role: "user",
33
- content: `Please analyze the AWS SDK v3 documentation for the ${props.serviceName} service and identify APIs that would be relevant for implementing the ${props.resourceName} resource's CRUD lifecycle.
34
-
35
- Requirements for the CRUD lifecycle:
36
- ${props.requirements}
37
-
38
- For each relevant API, extract:
39
- 1. The command name (e.g., CreateUserCOMmand, DeleteRoleCommand)
40
- 2. A brief description of what it does
41
- 3. The Input type name (e.g. CreateUserCommandInput)
42
- 4. The Output type name (e.g. CreateUserCommandOutput)
43
-
44
- Also include the written documentation for the API.
45
-
46
- Documentation:
47
- ${markdown}`,
48
- },
49
- ],
50
- });
51
- return {
52
- content: apiSummary.text,
53
- };
54
- }) {
55
- }
56
- //# sourceMappingURL=docs.js.map