@vibes.diy/prompts 0.19.8-dev → 0.19.16-dev-cli

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/prompts.js CHANGED
@@ -1,7 +1,5 @@
1
- import { callAI } from "call-ai";
2
- import { Lazy, URI } from "@adviser/cement";
3
- import { getJsonDocs, getLlmCatalog, getLlmCatalogNames, } from "./json-docs.js";
4
- import { getTexts } from "./txt-docs.js";
1
+ import { exception2Result, loadAsset, KeyedResolvOnce } from "@adviser/cement";
2
+ import { getLlmCatalog, getLlmCatalogNames } from "./json-docs.js";
5
3
  import { defaultStylePrompt } from "./style-prompts.js";
6
4
  export const DEFAULT_CODING_MODEL = "anthropic/claude-opus-4.5";
7
5
  const RAG_DECISION_MODEL = "openai/gpt-4o";
@@ -32,27 +30,7 @@ export async function resolveEffectiveModel(settingsDoc, vibeDoc) {
32
30
  export async function getDefaultDependencies() {
33
31
  return ["fireproof", "callai"];
34
32
  }
35
- function escapeRegExp(str) {
36
- return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
37
- }
38
- const llmImportRegexes = Lazy((fallBackUrl) => {
39
- return getJsonDocs(fallBackUrl).then((docs) => Object.values(docs)
40
- .map((d) => d.obj)
41
- .filter((l) => l.importModule && l.importName)
42
- .map((l) => {
43
- const mod = escapeRegExp(l.importModule);
44
- const name = escapeRegExp(l.importName);
45
- const importType = l.importType || "named";
46
- return {
47
- name: l.name,
48
- named: new RegExp(`import\\s*\\{[^}]*\\b${name}\\b[^}]*\\}\\s*from\\s*['\\"]${mod}['\\"]`),
49
- def: new RegExp(`import\\s+${name}\\s+from\\s*['\\"]${mod}['\\"]`),
50
- namespace: new RegExp(`import\\s*\\*\\s*as\\s+${name}\\s+from\\s*['\\"]${mod}['\\"]`),
51
- importType,
52
- };
53
- }));
54
- });
55
- async function detectModulesInHistory(history, opts) {
33
+ async function detectModulesInHistory(history, _opts) {
56
34
  const detected = new Set();
57
35
  if (!Array.isArray(history))
58
36
  return detected;
@@ -60,27 +38,20 @@ async function detectModulesInHistory(history, opts) {
60
38
  const content = msg?.content || "";
61
39
  if (!content || typeof content !== "string")
62
40
  continue;
63
- for (const { name, named, def, namespace } of await llmImportRegexes(opts.fallBackUrl)) {
64
- if (named.test(content) || def.test(content) || namespace.test(content)) {
65
- detected.add(name);
66
- }
67
- }
41
+ // for (const { name, named, def, namespace } of await llmImportRegexes()) {
42
+ // if (named.test(content) || def.test(content) || namespace.test(content)) {
43
+ // detected.add(name);
44
+ // }
45
+ // }
68
46
  }
69
47
  return detected;
70
48
  }
71
- async function sleepReject(ms) {
72
- return new Promise((_, rj) => setTimeout(rj, ms));
73
- }
74
49
  async function selectLlmsAndOptions(model, userPrompt, history, iopts) {
75
50
  const opts = {
76
- appMode: "production",
77
51
  ...iopts,
78
- callAiEndpoint: iopts.callAiEndpoint ? iopts.callAiEndpoint : undefined,
79
- fallBackUrl: URI.from(iopts.fallBackUrl ??
80
- "https://esm.sh/use-vibes@0.18.9/prompt-catalog/llms").toString(),
81
- getAuthToken: iopts.getAuthToken,
52
+ mode: iopts.appMode === "test" ? "test" : "production",
82
53
  };
83
- const llmsCatalog = await getLlmCatalog(opts.fallBackUrl);
54
+ const llmsCatalog = await getLlmCatalog();
84
55
  const catalog = llmsCatalog.map((l) => ({
85
56
  name: l.name,
86
57
  description: l.description || "",
@@ -93,62 +64,37 @@ async function selectLlmsAndOptions(model, userPrompt, history, iopts) {
93
64
  const messages = [
94
65
  {
95
66
  role: "system",
96
- content: 'You select which library modules from a catalog should be included AND whether to include a demo-data button. First analyze if the user prompt describes specific look & feel requirements. For demo data: include it only when asked for. Read the JSON payload and return JSON with properties: "selected" (array of catalog "name" strings) and "demoData" (boolean). Only choose modules from the catalog. Include any libraries already used in history. Respond with JSON only.',
67
+ content: [
68
+ {
69
+ type: "text",
70
+ text: `You select which library modules from a catalog should
71
+ be included AND whether to include a demo-data button.
72
+ First analyze if the user prompt describes specific
73
+ look & feel requirements. For demo data: include it
74
+ only when asked for. Read the JSON payload and return
75
+ JSON with properties:
76
+ "selected" (array of catalog "name" strings) and "demoData" (boolean).
77
+ Only choose modules from the catalog. Include any
78
+ libraries already used in history. Respond with JSON only.`,
79
+ },
80
+ ],
97
81
  },
98
- { role: "user", content: JSON.stringify(payload) },
82
+ { role: "user", content: [{ type: "text", text: JSON.stringify(payload) }] },
99
83
  ];
100
- const options = {
101
- chatUrl: opts.callAiEndpoint
102
- ? opts.callAiEndpoint.toString().replace(/\/+$/, "")
103
- : undefined,
104
- apiKey: (await opts.getAuthToken?.()) || "",
105
- model,
106
- schema: {
107
- name: "module_and_options_selection",
108
- properties: {
109
- selected: { type: "array", items: { type: "string" } },
110
- demoData: { type: "boolean" },
111
- },
112
- },
113
- max_tokens: 2000,
114
- headers: {
115
- "HTTP-Referer": "https://vibes.diy",
116
- "X-Title": "Vibes DIY",
117
- },
118
- mock: opts.mock,
119
- };
120
- try {
121
- const withTimeout = (p, ms = 4000) => Promise.race([
122
- sleepReject(ms).then((val) => {
123
- console.warn("Module/options selection: API call timed out after", ms, "ms");
124
- return val;
125
- }),
126
- p
127
- .then((val) => {
128
- return val;
129
- })
130
- .catch((err) => {
131
- console.warn("Module/options selection: API call failed with error:", err);
132
- throw err;
133
- }),
134
- ]);
135
- const raw = (await withTimeout((options.mock?.callAI || callAI)(messages, options)));
136
- if (raw === undefined || raw === null) {
137
- console.warn("Module/options selection: call-ai returned undefined with schema present");
138
- console.warn("This is a known issue in the prompts package environment");
139
- return { selected: [], demoData: true };
140
- }
141
- const parsed = JSON.parse(raw) ?? {};
142
- const selected = Array.isArray(parsed?.selected)
143
- ? parsed.selected.filter((v) => typeof v === "string")
144
- : [];
145
- const demoData = typeof parsed?.demoData === "boolean" ? parsed.demoData : true;
146
- return { selected, demoData };
84
+ const rRaw = await opts.callAi.ModuleAndOptionsSelection(messages);
85
+ if (rRaw.isErr()) {
86
+ console.warn("Module/options selection call failed:", rRaw.Err());
87
+ return { selected: [], demoData: true };
147
88
  }
148
- catch (err) {
149
- console.warn("Module/options selection call failed:", err);
89
+ const rParsed = exception2Result(() => JSON.parse(rRaw.Ok()) ?? {});
90
+ if (rParsed.isErr()) {
91
+ console.warn("Module/options selection: Failed to parse JSON response:", rRaw.Ok());
150
92
  return { selected: [], demoData: true };
151
93
  }
94
+ const parsed = rParsed.Ok();
95
+ const selected = Array.isArray(parsed?.selected) ? parsed.selected.filter((v) => typeof v === "string") : [];
96
+ const demoData = typeof parsed?.demoData === "boolean" ? parsed.demoData : true;
97
+ return { selected, demoData };
152
98
  }
153
99
  export function generateImportStatements(llms) {
154
100
  const seen = new Set();
@@ -177,18 +123,17 @@ export function generateImportStatements(llms) {
177
123
  })
178
124
  .join("");
179
125
  }
126
+ const keyedLoadAsset = new KeyedResolvOnce();
180
127
  export async function makeBaseSystemPrompt(model, sessionDoc) {
181
128
  const userPrompt = sessionDoc?.userPrompt || "";
182
- const history = Array.isArray(sessionDoc?.history)
183
- ? sessionDoc.history
184
- : [];
129
+ const history = Array.isArray(sessionDoc?.history) ? sessionDoc.history : [];
185
130
  const useOverride = !!sessionDoc?.dependenciesUserOverride;
186
131
  let selectedNames = [];
187
132
  let includeDemoData = true;
188
- const llmsCatalog = await getLlmCatalog(sessionDoc.fallBackUrl);
189
- const llmsCatalogNames = await getLlmCatalogNames(sessionDoc.fallBackUrl);
190
- if (useOverride && Array.isArray(sessionDoc?.dependencies)) {
191
- selectedNames = sessionDoc.dependencies
133
+ const llmsCatalog = await getLlmCatalog();
134
+ const llmsCatalogNames = await getLlmCatalogNames();
135
+ if (useOverride) {
136
+ selectedNames = (sessionDoc.dependencies ?? [])
192
137
  .filter((v) => typeof v === "string")
193
138
  .filter((name) => llmsCatalogNames.has(name));
194
139
  }
@@ -205,69 +150,79 @@ export async function makeBaseSystemPrompt(model, sessionDoc) {
205
150
  includeDemoData = sessionDoc.demoDataOverride;
206
151
  }
207
152
  const chosenLlms = llmsCatalog.filter((l) => selectedNames.includes(l.name));
208
- let concatenatedLlmsTxt = "";
153
+ const concatenatedLlmsTxts = [];
209
154
  for (const llm of chosenLlms) {
210
- const text = await getTexts(llm.name, sessionDoc.fallBackUrl);
211
- if (!text) {
212
- console.warn("Failed to load raw LLM text for:", llm.name, sessionDoc.fallBackUrl);
155
+ const rText = await keyedLoadAsset.get(llm.name).once(async () => {
156
+ return loadAsset(`./llms/${llm.name}.txt`, {
157
+ fallBackUrl: "https://esm.sh/prompts/",
158
+ basePath: () => {
159
+ const dir = import.meta.url;
160
+ return dir;
161
+ },
162
+ mock: {
163
+ fetch: sessionDoc.fetch,
164
+ },
165
+ });
166
+ });
167
+ if (rText.isErr()) {
168
+ console.warn(`Failed to load text for LLM ${llm.name} at path ${import.meta.dirname}/./llms/${llm.name}.txt:`, rText.Err());
213
169
  continue;
214
170
  }
215
- concatenatedLlmsTxt += `
216
- <${llm.label}-docs>
217
- ${text || ""}
218
- </${llm.label}-docs>
219
- `;
171
+ concatenatedLlmsTxts.push(`<${llm.label}-docs>`);
172
+ concatenatedLlmsTxts.push(rText.Ok() ?? "");
173
+ concatenatedLlmsTxts.push(`</${llm.label}-docs>`);
220
174
  }
175
+ const concatenatedLlmsTxt = concatenatedLlmsTxts.join("\n");
221
176
  const stylePrompt = sessionDoc?.stylePrompt || defaultStylePrompt;
222
177
  const demoDataLines = includeDemoData
223
178
  ? `- If your app has a function that uses callAI with a schema to save data, include a Demo Data button that calls that function with an example prompt. Don't write an extra function, use real app code so the data illustrates what it looks like to use the app.\n- Never have have an instance of callAI that is only used to generate demo data, always use the same calls that are triggered by user actions in the app.\n`
224
179
  : "";
225
- const systemPrompt = `
226
- You are an AI assistant tasked with creating React components. You should create components that:
227
- - Use modern React practices and follow the rules of hooks
228
- - Don't use any TypeScript, just use JavaScript
229
- - Use Tailwind CSS for mobile-first accessible styling
230
- - Don't use words from the style prompt in your copy: ${stylePrompt}
231
- - For dynamic components, like autocomplete, don't use external libraries, implement your own
232
- - Avoid using external libraries unless they are essential for the component to function
233
- - Always import the libraries you need at the top of the file
234
- - Use Fireproof for data persistence
235
- - Use \`callAI\` to fetch AI (set \`stream: true\` to enable streaming), use Structured JSON Outputs like this: \`callAI(prompt, { schema: { properties: { todos: { type: 'array', items: { type: 'string' } } } } })\` and save final responses as individual Fireproof documents.
236
- - For file uploads use drag and drop and store using the \`doc._files\` API
237
- - Don't try to generate png or base64 data, use placeholder image APIs instead, like https://picsum.photos/400 where 400 is the square size
238
- - Consider and potentially reuse/extend code from previous responses if relevant
239
- - Always output the full component code, keep the explanation short and concise
240
- - Never also output a small snippet to change, just the full component code
241
- - Keep your component file as short as possible for fast updates
242
- - Keep the database name stable as you edit the code
243
- - The system can send you crash reports, fix them by simplifying the affected code
244
- - List data items on the main page of your app so users don't have to hunt for them
245
- - If you save data, make sure it is browseable in the app, eg lists should be clickable for more details
246
- ${demoDataLines}
247
-
248
- ${concatenatedLlmsTxt}
249
-
250
- ## ImgGen Component
251
-
252
- You should use this component in all cases where you need to generate or edit images. It is a React component that provides a UI for image generation and editing. Make sure to pass the database prop to the component. If you generate images, use a live query to list them (with type 'image') in the UI. The best usage is to save a document with a string field called \`prompt\` (which is sent to the generator) and an optional \`doc._files.original\` image and pass the \`doc._id\` to the component via the \`_id\` prop. It will handle the rest.
253
-
254
- ${userPrompt
255
- ? `${userPrompt}
256
-
257
- `
258
- : ""}IMPORTANT: You are working in one JavaScript file, use tailwind classes for styling. Remember to use brackets like bg-[#242424] for custom colors.
259
-
260
- Provide a title and brief explanation followed by the component code. The component should demonstrate proper Fireproof integration with real-time updates and proper data persistence.
261
-
262
- Begin the component with the import statements. Use react and the following libraries:
263
-
264
- \`\`\`js
265
- import React, { ... } from "react"${generateImportStatements(chosenLlms)}
266
-
267
- // other imports only when requested
268
- \`\`\`
269
-
270
- `;
180
+ const systemPromptLines = [
181
+ "You are an AI assistant tasked with creating React components. You should create components that:",
182
+ "- Use modern React practices and follow the rules of hooks",
183
+ "- Don't use any TypeScript, just use JavaScript",
184
+ "- Use Tailwind CSS for mobile-first accessible styling",
185
+ `- Don't use words from the style prompt in your copy: ${stylePrompt}`,
186
+ "- For dynamic components, like autocomplete, don't use external libraries, implement your own",
187
+ "- Avoid using external libraries unless they are essential for the component to function",
188
+ "- Always import the libraries you need at the top of the file",
189
+ "- Use Fireproof for data persistence",
190
+ "- Use `callAI` to fetch AI (set `stream: true` to enable streaming), use Structured JSON Outputs like this: `callAI(prompt, { schema: { properties: { todos: { type: 'array', items: { type: 'string' } } } } })` and save final responses as individual Fireproof documents.",
191
+ "- For file uploads use drag and drop and store using the `doc._files` API",
192
+ "- Don't try to generate png or base64 data, use placeholder image APIs instead, like https://picsum.photos/400 where 400 is the square size",
193
+ "- Consider and potentially reuse/extend code from previous responses if relevant",
194
+ "- Always output the full component code, keep the explanation short and concise",
195
+ "- Never also output a small snippet to change, just the full component code",
196
+ "- Keep your component file as short as possible for fast updates",
197
+ "- Keep the database name stable as you edit the code",
198
+ "- The system can send you crash reports, fix them by simplifying the affected code",
199
+ "- List data items on the main page of your app so users don't have to hunt for them",
200
+ "- If you save data, make sure it is browseable in the app, eg lists should be clickable for more details",
201
+ demoDataLines,
202
+ ];
203
+ const systemPrompt = [
204
+ systemPromptLines.join("\n"),
205
+ "",
206
+ concatenatedLlmsTxt,
207
+ "",
208
+ "## ImgGen Component",
209
+ "",
210
+ "You should use this component in all cases where you need to generate or edit images. It is a React component that provides a UI for image generation and editing. Make sure to pass the database prop to the component. If you generate images, use a live query to list them (with type 'image') in the UI. The best usage is to save a document with a string field called `prompt` (which is sent to the generator) and an optional `doc._files.original` image and pass the `doc._id` to the component via the `_id` prop. It will handle the rest.",
211
+ "",
212
+ ...(userPrompt ? [userPrompt, ""] : []),
213
+ "IMPORTANT: You are working in one JavaScript file, use tailwind classes for styling. Remember to use brackets like bg-[#242424] for custom colors.",
214
+ "",
215
+ "Provide a title and brief explanation followed by the component code. The component should demonstrate proper Fireproof integration with real-time updates and proper data persistence.",
216
+ "",
217
+ "Begin the component with the import statements. Use react and the following libraries:",
218
+ "",
219
+ "```js",
220
+ `import React, { ... } from "react"${generateImportStatements(chosenLlms)}`,
221
+ "",
222
+ "// other imports only when requested",
223
+ "```",
224
+ "",
225
+ ].join("\n");
271
226
  return {
272
227
  systemPrompt,
273
228
  dependencies: selectedNames,
@@ -276,11 +231,6 @@ import React, { ... } from "react"${generateImportStatements(chosenLlms)}
276
231
  };
277
232
  }
278
233
  export const RESPONSE_FORMAT = {
279
- structure: [
280
- "Brief explanation",
281
- "Component code with proper Fireproof integration",
282
- "Real-time updates",
283
- "Data persistence",
284
- ],
234
+ structure: ["Brief explanation", "Component code with proper Fireproof integration", "Real-time updates", "Data persistence"],
285
235
  };
286
236
  //# sourceMappingURL=prompts.js.map
package/prompts.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../jsr/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../jsr/prompts.ts"],"names":[],"mappings":"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"}
package/segment-parser.js CHANGED
@@ -5,24 +5,16 @@ export function parseContent(text) {
5
5
  const depsFormat3 = text.match(/^({"dependencies":\s*{(?:"[^"]+"\s*:\s*"[^"]+"(?:,\s*)?)+}})/);
6
6
  const depsFormat4 = text.match(/^({"dependencies":\s*{[\s\S]*?^}})/m);
7
7
  if (depsFormat1 && depsFormat1[1]) {
8
- text = text
9
- .substring(text.indexOf(depsFormat1[1]) + depsFormat1[1].length)
10
- .trim();
8
+ text = text.substring(text.indexOf(depsFormat1[1]) + depsFormat1[1].length).trim();
11
9
  }
12
10
  else if (depsFormat2 && depsFormat2[1]) {
13
- text = text
14
- .substring(text.indexOf(depsFormat2[1]) + depsFormat2[1].length)
15
- .trim();
11
+ text = text.substring(text.indexOf(depsFormat2[1]) + depsFormat2[1].length).trim();
16
12
  }
17
13
  else if (depsFormat3 && depsFormat3[1]) {
18
- text = text
19
- .substring(text.indexOf(depsFormat3[1]) + depsFormat3[1].length)
20
- .trim();
14
+ text = text.substring(text.indexOf(depsFormat3[1]) + depsFormat3[1].length).trim();
21
15
  }
22
16
  else if (depsFormat4 && depsFormat4[1]) {
23
- text = text
24
- .substring(text.indexOf(depsFormat4[1]) + depsFormat4[1].length)
25
- .trim();
17
+ text = text.substring(text.indexOf(depsFormat4[1]) + depsFormat4[1].length).trim();
26
18
  }
27
19
  const codeBlockRegex = /(?:^|\n)[ \t]*```(?:js|jsx|javascript|)[ \t]*\n([\s\S]*?)(?:^|\n)[ \t]*```[ \t]*(?:\n|$)/g;
28
20
  const codeBlocks = [];
@@ -41,8 +33,7 @@ export function parseContent(text) {
41
33
  });
42
34
  }
43
35
  const incompleteCodeBlockMatch = text.match(/(?:^|\n)[ \t]*```(?:js|jsx|javascript|)[ \t]*\n([\s\S]*)$/s);
44
- if (incompleteCodeBlockMatch &&
45
- incompleteCodeBlockMatch.index !== undefined) {
36
+ if (incompleteCodeBlockMatch && incompleteCodeBlockMatch.index !== undefined) {
46
37
  const startIdx = incompleteCodeBlockMatch.index;
47
38
  const isDuplicate = codeBlocks.some((block) => block.startIdx === startIdx);
48
39
  if (!isDuplicate) {
@@ -84,8 +75,7 @@ export function parseContent(text) {
84
75
  beforeContent += text.substring(currentPos, block.startIdx);
85
76
  break;
86
77
  }
87
- else if (block.startIdx >= currentPos &&
88
- block.endIdx <= longestBlock.startIdx) {
78
+ else if (block.startIdx >= currentPos && block.endIdx <= longestBlock.startIdx) {
89
79
  beforeContent += text.substring(currentPos, block.startIdx);
90
80
  beforeContent += block.fullBlock;
91
81
  currentPos = block.endIdx;
@@ -1 +1 @@
1
- {"version":3,"file":"segment-parser.js","sourceRoot":"","sources":["../jsr/segment-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"segment-parser.js","sourceRoot":"","sources":["../jsr/segment-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"style-prompts.js","sourceRoot":"","sources":["../jsr/style-prompts.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,YAAY,GAAkB;IAIzC;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EACJ,wqCAAgqC;KACnqC;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EACJ,+8BAA+8B;KACl9B;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,uBAAuB;KAChC;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,sBAAsB;KAC/B;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,mBAAmB;KAC5B;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,mBAAmB;KAC5B;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,kBAAkB;KAC3B;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,qBAAqB;KAC9B;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,0BAA0B;KACnC;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,kBAAkB;KAC3B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EACJ,orCAAorC;KACvrC;CACF,CAAC;AAGF,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAwB,CAAC;AAG3D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;AACnD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;IAC7B,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,mCAAmC,CAAC,CAAC,IAAI,gCAAgC,CAC1E,CAAC;IACJ,CAAC;IACD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC;AAGD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,uBAAuB,kBAAkB,iDAAiD,SAAS,gDAAgD,CACpJ,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC;AAAA,CACrB,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"style-prompts.js","sourceRoot":"","sources":["../jsr/style-prompts.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,YAAY,GAAkB;IAIzC;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EACJ,wqCAAgqC;KACnqC;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EACJ,+8BAA+8B;KACl9B;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,uBAAuB;KAChC;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,sBAAsB;KAC/B;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,mBAAmB;KAC5B;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,mBAAmB;KAC5B;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,kBAAkB;KAC3B;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,qBAAqB;KAC9B;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,0BAA0B;KACnC;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,kBAAkB;KAC3B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EACJ,orCAAorC;KACvrC;CACF,CAAC;AAGF,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAwB,CAAC;AAG3D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;AACnD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;IAC7B,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,IAAI,gCAAgC,CAAC,CAAC;IAC7F,CAAC;IACD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC;AAGD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,uBAAuB,kBAAkB,iDAAiD,SAAS,gDAAgD,CACpJ,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC;AAAA,CACrB,CAAC,EAAE,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { CoerceURI, ResolveOnce } from "@adviser/cement";
2
+ // import { loadDocs } from "./load-docs.js";
3
+
4
+ // TODO: Replace loadDocs with loadAsset for better cement integration
5
+
6
+ export interface TxtDoc {
7
+ readonly name: string;
8
+ readonly txt: string;
9
+ }
10
+
11
+ const files = ["callai.txt", "fireproof.txt", "image-gen.txt", "web-audio.txt", "d3.md", "three-js.md"];
12
+
13
+ // // Lazy loading per file instead of eager loading all files
14
+ // const fileLoaders = new Map<string, ResolveOnce<TxtDoc | undefined>>();
15
+
16
+ // function getFileLoader(file: string, fallBackUrl: CoerceURI): ResolveOnce<TxtDoc | undefined> {
17
+ // const key = `${fallBackUrl?.toString() || ""}:${file}`;
18
+ // if (!fileLoaders.has(key)) {
19
+ // fileLoaders.set(key, new ResolveOnce<TxtDoc | undefined>());
20
+ // }
21
+ // const loader = fileLoaders.get(key);
22
+ // if (!loader) {
23
+ // throw new Error(`File loader not found for key: ${key}`);
24
+ // }
25
+ // return loader;
26
+ // }
27
+
28
+ // async function loadTxtDoc(file: string, fallBackUrl: CoerceURI): Promise<TxtDoc | undefined> {
29
+ // const loader = getFileLoader(file, fallBackUrl);
30
+ // return loader.once(async () => {
31
+ // const rAsset = await loadDocs(file, fallBackUrl);
32
+ // if (rAsset.isErr()) {
33
+ // console.error(`Failed to load asset ${file}: ${rAsset.Err()}`);
34
+ // return undefined;
35
+ // }
36
+ // return { name: file, txt: rAsset.Ok() };
37
+ // });
38
+ // }
39
+
40
+ // export async function getTexts(name: string, fallBackUrl: CoerceURI): Promise<string | undefined> {
41
+ // name = name.toLocaleLowerCase().trim();
42
+
43
+ // // Try exact match first by looking for the file directly
44
+ // for (const file of files) {
45
+ // const fileName =
46
+ // file
47
+ // .split("/")
48
+ // .pop()
49
+ // ?.toLowerCase()
50
+ // .replace(/\.(txt|md)$/, "") || "";
51
+ // if (fileName === name) {
52
+ // const doc = await loadTxtDoc(file, fallBackUrl);
53
+ // return doc?.txt;
54
+ // }
55
+ // }
56
+
57
+ // return undefined;
58
+ // }
package/load-docs.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { CoerceURI, Result } from "@adviser/cement";
2
- export declare function loadDocs(localPath: string, baseUrl: CoerceURI): Promise<Result<string>>;
package/load-docs.js DELETED
@@ -1,17 +0,0 @@
1
- import { Result } from "@adviser/cement";
2
- import { joinUrlParts } from "call-ai";
3
- export async function loadDocs(localPath, baseUrl) {
4
- const url = joinUrlParts(baseUrl?.toString() || "", localPath);
5
- try {
6
- const response = await fetch(url);
7
- if (!response.ok) {
8
- return Result.Err(`Failed to fetch ${url}: ${response.status} ${response.statusText}`);
9
- }
10
- const text = await response.text();
11
- return Result.Ok(text);
12
- }
13
- catch (error) {
14
- return Result.Err(`Error fetching ${url}: ${error}`);
15
- }
16
- }
17
- //# sourceMappingURL=load-docs.js.map
package/load-docs.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-docs.js","sourceRoot":"","sources":["../jsr/load-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,SAAiB,EACjB,OAAkB,EACO;IACzB,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,GAAG,CACf,mBAAmB,GAAG,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACpE,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,GAAG,CAAC,kBAAkB,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;AAAA,CACF"}
package/txt-docs.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import { CoerceURI } from "@adviser/cement";
2
- export interface TxtDoc {
3
- readonly name: string;
4
- readonly txt: string;
5
- }
6
- export declare function getTexts(name: string, fallBackUrl: CoerceURI): Promise<string | undefined>;
package/txt-docs.js DELETED
@@ -1,49 +0,0 @@
1
- import { ResolveOnce } from "@adviser/cement";
2
- import { loadDocs } from "./load-docs.js";
3
- const files = [
4
- "callai.txt",
5
- "fireproof.txt",
6
- "image-gen.txt",
7
- "web-audio.txt",
8
- "d3.md",
9
- "three-js.md",
10
- ];
11
- const fileLoaders = new Map();
12
- function getFileLoader(file, fallBackUrl) {
13
- const key = `${fallBackUrl?.toString() || ""}:${file}`;
14
- if (!fileLoaders.has(key)) {
15
- fileLoaders.set(key, new ResolveOnce());
16
- }
17
- const loader = fileLoaders.get(key);
18
- if (!loader) {
19
- throw new Error(`File loader not found for key: ${key}`);
20
- }
21
- return loader;
22
- }
23
- async function loadTxtDoc(file, fallBackUrl) {
24
- const loader = getFileLoader(file, fallBackUrl);
25
- return loader.once(async () => {
26
- const rAsset = await loadDocs(file, fallBackUrl);
27
- if (rAsset.isErr()) {
28
- console.error(`Failed to load asset ${file}: ${rAsset.Err()}`);
29
- return undefined;
30
- }
31
- return { name: file, txt: rAsset.Ok() };
32
- });
33
- }
34
- export async function getTexts(name, fallBackUrl) {
35
- name = name.toLocaleLowerCase().trim();
36
- for (const file of files) {
37
- const fileName = file
38
- .split("/")
39
- .pop()
40
- ?.toLowerCase()
41
- .replace(/\.(txt|md)$/, "") || "";
42
- if (fileName === name) {
43
- const doc = await loadTxtDoc(file, fallBackUrl);
44
- return doc?.txt;
45
- }
46
- }
47
- return undefined;
48
- }
49
- //# sourceMappingURL=txt-docs.js.map
package/txt-docs.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"txt-docs.js","sourceRoot":"","sources":["../jsr/txt-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAS1C,MAAM,KAAK,GAAG;IACZ,YAAY;IACZ,eAAe;IACf,eAAe;IACf,eAAe;IACf,OAAO;IACP,aAAa;CACd,CAAC;AAGF,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2C,CAAC;AAEvE,SAAS,aAAa,CACpB,IAAY,EACZ,WAAsB,EACW;IACjC,MAAM,GAAG,GAAG,GAAG,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,WAAW,EAAsB,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAAA,CACf;AAED,KAAK,UAAU,UAAU,CACvB,IAAY,EACZ,WAAsB,EACO;IAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;IAAA,CACzC,CAAC,CAAC;AAAA,CACJ;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAY,EACZ,WAAsB,EACO;IAC7B,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC;IAGvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GACZ,IAAI;aACD,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,EAAE;YACN,EAAE,WAAW,EAAE;aACd,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAChD,OAAO,GAAG,EAAE,GAAG,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AAAA,CAClB"}