@riotprompt/riotprompt 0.0.6 → 0.0.8
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/dist/builder.d.ts +3 -15
- package/dist/formatter.d.ts +27 -57
- package/dist/formatter.js +2 -2
- package/dist/formatter.js.map +1 -1
- package/dist/items/parameters.d.ts +1 -1
- package/dist/items/section.d.ts +2 -12
- package/dist/items/weighted.d.ts +3 -15
- package/dist/loader.d.ts +3 -11
- package/dist/override.d.ts +3 -13
- package/dist/parser.d.ts +2 -8
- package/dist/recipes.d.ts +28 -268
- package/dist/recipes.js +0 -3
- package/dist/recipes.js.map +1 -1
- package/dist/riotprompt.cjs +2 -5
- package/dist/riotprompt.cjs.map +1 -1
- package/package.json +13 -17
- package/.cursor/rules/focus-on-prompt.mdc +0 -5
package/dist/recipes.d.ts
CHANGED
|
@@ -1,319 +1,79 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { Prompt } from './riotprompt';
|
|
3
|
-
declare const ContentItemSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
3
|
+
declare const ContentItemSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
4
4
|
content: z.ZodString;
|
|
5
5
|
title: z.ZodOptional<z.ZodString>;
|
|
6
6
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
7
|
-
},
|
|
8
|
-
content: string;
|
|
9
|
-
weight?: number | undefined;
|
|
10
|
-
title?: string | undefined;
|
|
11
|
-
}, {
|
|
12
|
-
content: string;
|
|
13
|
-
weight?: number | undefined;
|
|
14
|
-
title?: string | undefined;
|
|
15
|
-
}>, z.ZodObject<{
|
|
7
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
16
8
|
path: z.ZodString;
|
|
17
9
|
title: z.ZodOptional<z.ZodString>;
|
|
18
10
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
weight?: number | undefined;
|
|
22
|
-
title?: string | undefined;
|
|
23
|
-
}, {
|
|
24
|
-
path: string;
|
|
25
|
-
weight?: number | undefined;
|
|
26
|
-
title?: string | undefined;
|
|
27
|
-
}>, z.ZodObject<{
|
|
28
|
-
directories: z.ZodArray<z.ZodString, "many">;
|
|
11
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
12
|
+
directories: z.ZodArray<z.ZodString>;
|
|
29
13
|
title: z.ZodOptional<z.ZodString>;
|
|
30
14
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
31
|
-
},
|
|
32
|
-
directories: string[];
|
|
33
|
-
weight?: number | undefined;
|
|
34
|
-
title?: string | undefined;
|
|
35
|
-
}, {
|
|
36
|
-
directories: string[];
|
|
37
|
-
weight?: number | undefined;
|
|
38
|
-
title?: string | undefined;
|
|
39
|
-
}>]>;
|
|
15
|
+
}, z.core.$strip>]>;
|
|
40
16
|
declare const RecipeConfigSchema: z.ZodObject<{
|
|
41
17
|
basePath: z.ZodString;
|
|
42
18
|
logger: z.ZodDefault<z.ZodOptional<z.ZodAny>>;
|
|
43
|
-
overridePaths: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString
|
|
19
|
+
overridePaths: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
44
20
|
overrides: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
45
|
-
parameters: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]
|
|
46
|
-
persona: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
21
|
+
parameters: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>]>>>>;
|
|
22
|
+
persona: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
47
23
|
content: z.ZodString;
|
|
48
24
|
title: z.ZodOptional<z.ZodString>;
|
|
49
25
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
50
|
-
},
|
|
51
|
-
content: string;
|
|
52
|
-
weight?: number | undefined;
|
|
53
|
-
title?: string | undefined;
|
|
54
|
-
}, {
|
|
55
|
-
content: string;
|
|
56
|
-
weight?: number | undefined;
|
|
57
|
-
title?: string | undefined;
|
|
58
|
-
}>, z.ZodObject<{
|
|
26
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
59
27
|
path: z.ZodString;
|
|
60
28
|
title: z.ZodOptional<z.ZodString>;
|
|
61
29
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
62
|
-
},
|
|
63
|
-
|
|
64
|
-
weight?: number | undefined;
|
|
65
|
-
title?: string | undefined;
|
|
66
|
-
}, {
|
|
67
|
-
path: string;
|
|
68
|
-
weight?: number | undefined;
|
|
69
|
-
title?: string | undefined;
|
|
70
|
-
}>, z.ZodObject<{
|
|
71
|
-
directories: z.ZodArray<z.ZodString, "many">;
|
|
30
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
31
|
+
directories: z.ZodArray<z.ZodString>;
|
|
72
32
|
title: z.ZodOptional<z.ZodString>;
|
|
73
33
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
74
|
-
},
|
|
75
|
-
|
|
76
|
-
weight?: number | undefined;
|
|
77
|
-
title?: string | undefined;
|
|
78
|
-
}, {
|
|
79
|
-
directories: string[];
|
|
80
|
-
weight?: number | undefined;
|
|
81
|
-
title?: string | undefined;
|
|
82
|
-
}>]>>;
|
|
83
|
-
instructions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
34
|
+
}, z.core.$strip>]>>;
|
|
35
|
+
instructions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
84
36
|
content: z.ZodString;
|
|
85
37
|
title: z.ZodOptional<z.ZodString>;
|
|
86
38
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
87
|
-
},
|
|
88
|
-
content: string;
|
|
89
|
-
weight?: number | undefined;
|
|
90
|
-
title?: string | undefined;
|
|
91
|
-
}, {
|
|
92
|
-
content: string;
|
|
93
|
-
weight?: number | undefined;
|
|
94
|
-
title?: string | undefined;
|
|
95
|
-
}>, z.ZodObject<{
|
|
39
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
96
40
|
path: z.ZodString;
|
|
97
41
|
title: z.ZodOptional<z.ZodString>;
|
|
98
42
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
99
|
-
},
|
|
100
|
-
|
|
101
|
-
weight?: number | undefined;
|
|
102
|
-
title?: string | undefined;
|
|
103
|
-
}, {
|
|
104
|
-
path: string;
|
|
105
|
-
weight?: number | undefined;
|
|
106
|
-
title?: string | undefined;
|
|
107
|
-
}>, z.ZodObject<{
|
|
108
|
-
directories: z.ZodArray<z.ZodString, "many">;
|
|
43
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
44
|
+
directories: z.ZodArray<z.ZodString>;
|
|
109
45
|
title: z.ZodOptional<z.ZodString>;
|
|
110
46
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
111
|
-
},
|
|
112
|
-
|
|
113
|
-
weight?: number | undefined;
|
|
114
|
-
title?: string | undefined;
|
|
115
|
-
}, {
|
|
116
|
-
directories: string[];
|
|
117
|
-
weight?: number | undefined;
|
|
118
|
-
title?: string | undefined;
|
|
119
|
-
}>]>, "many">>>;
|
|
120
|
-
content: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
47
|
+
}, z.core.$strip>]>>>>;
|
|
48
|
+
content: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
121
49
|
content: z.ZodString;
|
|
122
50
|
title: z.ZodOptional<z.ZodString>;
|
|
123
51
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
124
|
-
},
|
|
125
|
-
content: string;
|
|
126
|
-
weight?: number | undefined;
|
|
127
|
-
title?: string | undefined;
|
|
128
|
-
}, {
|
|
129
|
-
content: string;
|
|
130
|
-
weight?: number | undefined;
|
|
131
|
-
title?: string | undefined;
|
|
132
|
-
}>, z.ZodObject<{
|
|
52
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
133
53
|
path: z.ZodString;
|
|
134
54
|
title: z.ZodOptional<z.ZodString>;
|
|
135
55
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
136
|
-
},
|
|
137
|
-
|
|
138
|
-
weight?: number | undefined;
|
|
139
|
-
title?: string | undefined;
|
|
140
|
-
}, {
|
|
141
|
-
path: string;
|
|
142
|
-
weight?: number | undefined;
|
|
143
|
-
title?: string | undefined;
|
|
144
|
-
}>, z.ZodObject<{
|
|
145
|
-
directories: z.ZodArray<z.ZodString, "many">;
|
|
56
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
57
|
+
directories: z.ZodArray<z.ZodString>;
|
|
146
58
|
title: z.ZodOptional<z.ZodString>;
|
|
147
59
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
148
|
-
},
|
|
149
|
-
|
|
150
|
-
weight?: number | undefined;
|
|
151
|
-
title?: string | undefined;
|
|
152
|
-
}, {
|
|
153
|
-
directories: string[];
|
|
154
|
-
weight?: number | undefined;
|
|
155
|
-
title?: string | undefined;
|
|
156
|
-
}>]>, "many">>>;
|
|
157
|
-
context: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
60
|
+
}, z.core.$strip>]>>>>;
|
|
61
|
+
context: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
158
62
|
content: z.ZodString;
|
|
159
63
|
title: z.ZodOptional<z.ZodString>;
|
|
160
64
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
161
|
-
},
|
|
162
|
-
content: string;
|
|
163
|
-
weight?: number | undefined;
|
|
164
|
-
title?: string | undefined;
|
|
165
|
-
}, {
|
|
166
|
-
content: string;
|
|
167
|
-
weight?: number | undefined;
|
|
168
|
-
title?: string | undefined;
|
|
169
|
-
}>, z.ZodObject<{
|
|
65
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
170
66
|
path: z.ZodString;
|
|
171
67
|
title: z.ZodOptional<z.ZodString>;
|
|
172
68
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
173
|
-
},
|
|
174
|
-
|
|
175
|
-
weight?: number | undefined;
|
|
176
|
-
title?: string | undefined;
|
|
177
|
-
}, {
|
|
178
|
-
path: string;
|
|
179
|
-
weight?: number | undefined;
|
|
180
|
-
title?: string | undefined;
|
|
181
|
-
}>, z.ZodObject<{
|
|
182
|
-
directories: z.ZodArray<z.ZodString, "many">;
|
|
69
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
70
|
+
directories: z.ZodArray<z.ZodString>;
|
|
183
71
|
title: z.ZodOptional<z.ZodString>;
|
|
184
72
|
weight: z.ZodOptional<z.ZodNumber>;
|
|
185
|
-
},
|
|
186
|
-
directories: string[];
|
|
187
|
-
weight?: number | undefined;
|
|
188
|
-
title?: string | undefined;
|
|
189
|
-
}, {
|
|
190
|
-
directories: string[];
|
|
191
|
-
weight?: number | undefined;
|
|
192
|
-
title?: string | undefined;
|
|
193
|
-
}>]>, "many">>>;
|
|
73
|
+
}, z.core.$strip>]>>>>;
|
|
194
74
|
extends: z.ZodOptional<z.ZodString>;
|
|
195
75
|
template: z.ZodOptional<z.ZodString>;
|
|
196
|
-
},
|
|
197
|
-
parameters: Record<string, string | number | boolean | (string | number | boolean)[]>;
|
|
198
|
-
instructions: (string | {
|
|
199
|
-
content: string;
|
|
200
|
-
weight?: number | undefined;
|
|
201
|
-
title?: string | undefined;
|
|
202
|
-
} | {
|
|
203
|
-
path: string;
|
|
204
|
-
weight?: number | undefined;
|
|
205
|
-
title?: string | undefined;
|
|
206
|
-
} | {
|
|
207
|
-
directories: string[];
|
|
208
|
-
weight?: number | undefined;
|
|
209
|
-
title?: string | undefined;
|
|
210
|
-
})[];
|
|
211
|
-
overrides: boolean;
|
|
212
|
-
basePath: string;
|
|
213
|
-
overridePaths: string[];
|
|
214
|
-
content: (string | {
|
|
215
|
-
content: string;
|
|
216
|
-
weight?: number | undefined;
|
|
217
|
-
title?: string | undefined;
|
|
218
|
-
} | {
|
|
219
|
-
path: string;
|
|
220
|
-
weight?: number | undefined;
|
|
221
|
-
title?: string | undefined;
|
|
222
|
-
} | {
|
|
223
|
-
directories: string[];
|
|
224
|
-
weight?: number | undefined;
|
|
225
|
-
title?: string | undefined;
|
|
226
|
-
})[];
|
|
227
|
-
context: (string | {
|
|
228
|
-
content: string;
|
|
229
|
-
weight?: number | undefined;
|
|
230
|
-
title?: string | undefined;
|
|
231
|
-
} | {
|
|
232
|
-
path: string;
|
|
233
|
-
weight?: number | undefined;
|
|
234
|
-
title?: string | undefined;
|
|
235
|
-
} | {
|
|
236
|
-
directories: string[];
|
|
237
|
-
weight?: number | undefined;
|
|
238
|
-
title?: string | undefined;
|
|
239
|
-
})[];
|
|
240
|
-
persona?: string | {
|
|
241
|
-
content: string;
|
|
242
|
-
weight?: number | undefined;
|
|
243
|
-
title?: string | undefined;
|
|
244
|
-
} | {
|
|
245
|
-
path: string;
|
|
246
|
-
weight?: number | undefined;
|
|
247
|
-
title?: string | undefined;
|
|
248
|
-
} | {
|
|
249
|
-
directories: string[];
|
|
250
|
-
weight?: number | undefined;
|
|
251
|
-
title?: string | undefined;
|
|
252
|
-
} | undefined;
|
|
253
|
-
logger?: any;
|
|
254
|
-
extends?: string | undefined;
|
|
255
|
-
template?: string | undefined;
|
|
256
|
-
}, {
|
|
257
|
-
basePath: string;
|
|
258
|
-
parameters?: Record<string, string | number | boolean | (string | number | boolean)[]> | undefined;
|
|
259
|
-
persona?: string | {
|
|
260
|
-
content: string;
|
|
261
|
-
weight?: number | undefined;
|
|
262
|
-
title?: string | undefined;
|
|
263
|
-
} | {
|
|
264
|
-
path: string;
|
|
265
|
-
weight?: number | undefined;
|
|
266
|
-
title?: string | undefined;
|
|
267
|
-
} | {
|
|
268
|
-
directories: string[];
|
|
269
|
-
weight?: number | undefined;
|
|
270
|
-
title?: string | undefined;
|
|
271
|
-
} | undefined;
|
|
272
|
-
instructions?: (string | {
|
|
273
|
-
content: string;
|
|
274
|
-
weight?: number | undefined;
|
|
275
|
-
title?: string | undefined;
|
|
276
|
-
} | {
|
|
277
|
-
path: string;
|
|
278
|
-
weight?: number | undefined;
|
|
279
|
-
title?: string | undefined;
|
|
280
|
-
} | {
|
|
281
|
-
directories: string[];
|
|
282
|
-
weight?: number | undefined;
|
|
283
|
-
title?: string | undefined;
|
|
284
|
-
})[] | undefined;
|
|
285
|
-
logger?: any;
|
|
286
|
-
overrides?: boolean | undefined;
|
|
287
|
-
overridePaths?: string[] | undefined;
|
|
288
|
-
content?: (string | {
|
|
289
|
-
content: string;
|
|
290
|
-
weight?: number | undefined;
|
|
291
|
-
title?: string | undefined;
|
|
292
|
-
} | {
|
|
293
|
-
path: string;
|
|
294
|
-
weight?: number | undefined;
|
|
295
|
-
title?: string | undefined;
|
|
296
|
-
} | {
|
|
297
|
-
directories: string[];
|
|
298
|
-
weight?: number | undefined;
|
|
299
|
-
title?: string | undefined;
|
|
300
|
-
})[] | undefined;
|
|
301
|
-
context?: (string | {
|
|
302
|
-
content: string;
|
|
303
|
-
weight?: number | undefined;
|
|
304
|
-
title?: string | undefined;
|
|
305
|
-
} | {
|
|
306
|
-
path: string;
|
|
307
|
-
weight?: number | undefined;
|
|
308
|
-
title?: string | undefined;
|
|
309
|
-
} | {
|
|
310
|
-
directories: string[];
|
|
311
|
-
weight?: number | undefined;
|
|
312
|
-
title?: string | undefined;
|
|
313
|
-
})[] | undefined;
|
|
314
|
-
extends?: string | undefined;
|
|
315
|
-
template?: string | undefined;
|
|
316
|
-
}>;
|
|
76
|
+
}, z.core.$strip>;
|
|
317
77
|
type RecipeConfig = z.infer<typeof RecipeConfigSchema>;
|
|
318
78
|
type ContentItem = z.infer<typeof ContentItemSchema>;
|
|
319
79
|
export interface TemplateConfig {
|
package/dist/recipes.js
CHANGED
|
@@ -169,10 +169,7 @@ const cook = async (config)=>{
|
|
|
169
169
|
parameters: finalConfig.parameters});
|
|
170
170
|
}
|
|
171
171
|
// Process content
|
|
172
|
-
// eslint-disable-next-line no-console
|
|
173
172
|
for (const item of finalConfig.content || []){
|
|
174
|
-
// eslint-disable-next-line no-console
|
|
175
|
-
console.log('Processing content item:', JSON.stringify(item, null, 2));
|
|
176
173
|
await processContentItem(item, contentSection, 'content', {
|
|
177
174
|
basePath: finalConfig.basePath,
|
|
178
175
|
parser: parser$1,
|
package/dist/recipes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipes.js","sources":["../src/recipes.ts"],"sourcesContent":["import path from \"path\";\nimport { z } from \"zod\";\nimport { ParametersSchema } from \"./items/parameters\";\nimport { SectionOptions } from \"./items/section\";\nimport { DEFAULT_LOGGER, wrapLogger } from \"./logger\";\nimport { Content, Context, createPrompt, createSection, Instruction, Loader, Override, Parser, Prompt, Section, Weighted } from \"./riotprompt\";\n\n// ===== CONFIGURATION SCHEMAS =====\n\nconst ContentItemSchema = z.union([\n z.string(), // Simple string content\n z.object({\n content: z.string(),\n title: z.string().optional(),\n weight: z.number().optional(),\n }),\n z.object({\n path: z.string(),\n title: z.string().optional(),\n weight: z.number().optional(),\n }),\n z.object({\n directories: z.array(z.string()),\n title: z.string().optional(),\n weight: z.number().optional(),\n })\n]);\n\nconst RecipeConfigSchema = z.object({\n // Core settings\n basePath: z.string(),\n logger: z.any().optional().default(DEFAULT_LOGGER),\n overridePaths: z.array(z.string()).optional().default([\"./\"]),\n overrides: z.boolean().optional().default(false),\n parameters: ParametersSchema.optional().default({}),\n\n // Content sections\n persona: ContentItemSchema.optional(),\n instructions: z.array(ContentItemSchema).optional().default([]),\n content: z.array(ContentItemSchema).optional().default([]),\n context: z.array(ContentItemSchema).optional().default([]),\n\n // Templates and inheritance\n extends: z.string().optional(), // Extend another recipe\n template: z.string().optional(), // Generic template name\n});\n\ntype RecipeConfig = z.infer<typeof RecipeConfigSchema>;\ntype ContentItem = z.infer<typeof ContentItemSchema>;\n\n// ===== CONFIGURABLE TEMPLATE SYSTEM =====\n\nexport interface TemplateConfig {\n persona?: ContentItem;\n instructions?: ContentItem[];\n content?: ContentItem[];\n context?: ContentItem[];\n}\n\n// User-customizable template registry\nlet TEMPLATES: Record<string, TemplateConfig> = {};\n\n/**\n * Register custom templates with the recipes system\n * \n * @example\n * ```typescript\n * // Register your own templates\n * registerTemplates({\n * myWorkflow: {\n * persona: { path: \"personas/my-persona.md\" },\n * instructions: [{ path: \"instructions/my-instructions.md\" }]\n * },\n * anotherTemplate: {\n * persona: { content: \"You are a helpful assistant\" },\n * instructions: [{ content: \"Follow these steps...\" }]\n * }\n * });\n * ```\n */\nexport const registerTemplates = (templates: Record<string, TemplateConfig>): void => {\n TEMPLATES = { ...TEMPLATES, ...templates };\n};\n\n/**\n * Get currently registered templates\n */\nexport const getTemplates = (): Record<string, TemplateConfig> => ({ ...TEMPLATES });\n\n/**\n * Clear all registered templates\n */\nexport const clearTemplates = (): void => {\n TEMPLATES = {};\n};\n\n// ===== CORE RECIPE ENGINE =====\n\nexport const cook = async (config: Partial<RecipeConfig> & { basePath: string }): Promise<Prompt> => {\n // Parse and validate configuration with defaults\n const validatedConfig = RecipeConfigSchema.parse({\n overridePaths: [\"./\"],\n overrides: false,\n parameters: {},\n instructions: [],\n content: [],\n context: [],\n ...config\n });\n\n // Handle template inheritance\n let finalConfig = { ...validatedConfig };\n if (validatedConfig.template) {\n const template = TEMPLATES[validatedConfig.template];\n if (template) {\n finalConfig = {\n ...validatedConfig,\n persona: validatedConfig.persona || template.persona,\n instructions: [\n ...(template.instructions || []),\n ...(validatedConfig.instructions || [])\n ],\n content: [\n ...(template.content || []),\n ...(validatedConfig.content || [])\n ],\n context: [\n ...(template.context || []),\n ...(validatedConfig.context || [])\n ],\n };\n }\n }\n\n // Setup internal services\n const logger = wrapLogger(finalConfig.logger, 'Recipe');\n const parser = Parser.create({ logger });\n const override = Override.create({\n logger,\n configDirs: finalConfig.overridePaths || [\"./\"],\n overrides: finalConfig.overrides || false\n });\n const loader = Loader.create({ logger });\n\n // Create sections\n const personaSection: Section<Instruction> = createSection({ title: \"Persona\" });\n const instructionSection: Section<Instruction> = createSection({ title: \"Instruction\" });\n const contentSection: Section<Content> = createSection({ title: \"Content\" });\n const contextSection: Section<Context> = createSection({ title: \"Context\" });\n\n // Process persona\n if (finalConfig.persona) {\n await processContentItem(finalConfig.persona, personaSection, 'persona', {\n basePath: finalConfig.basePath,\n parser,\n override,\n loader,\n parameters: finalConfig.parameters,\n logger\n });\n }\n\n // Process instructions\n for (const item of finalConfig.instructions || []) {\n await processContentItem(item, instructionSection, 'instruction', {\n basePath: finalConfig.basePath,\n parser,\n override,\n loader,\n parameters: finalConfig.parameters,\n logger\n });\n }\n\n // Process content\n // eslint-disable-next-line no-console\n for (const item of finalConfig.content || []) {\n // eslint-disable-next-line no-console\n console.log('Processing content item:', JSON.stringify(item, null, 2));\n await processContentItem(item, contentSection, 'content', {\n basePath: finalConfig.basePath,\n parser,\n override,\n loader,\n parameters: finalConfig.parameters,\n logger\n });\n }\n\n // Process context\n for (const item of finalConfig.context || []) {\n await processContentItem(item, contextSection, 'context', {\n basePath: finalConfig.basePath,\n parser,\n override,\n loader,\n parameters: finalConfig.parameters,\n logger\n });\n }\n\n // Build and return prompt\n return createPrompt({\n persona: personaSection,\n instructions: instructionSection,\n contents: contentSection,\n contexts: contextSection\n });\n};\n\n// ===== CONTENT PROCESSING =====\n\ninterface ProcessingContext {\n basePath: string;\n parser: any;\n override: any;\n loader: any;\n parameters: any;\n logger: any;\n}\n\nconst processContentItem = async <T extends Weighted>(\n item: ContentItem,\n section: Section<T>,\n type: 'persona' | 'instruction' | 'content' | 'context',\n ctx: ProcessingContext\n): Promise<void> => {\n const sectionOptions: SectionOptions = {\n parameters: ctx.parameters,\n };\n\n if (typeof item === 'string') {\n // Simple string content\n const parsedSection = await ctx.parser.parse(item, sectionOptions);\n section.add(parsedSection);\n } else if ('content' in item) {\n // Inline content with options\n const parsedSection = await ctx.parser.parse(item.content, {\n ...sectionOptions,\n title: item.title,\n weight: item.weight,\n });\n section.add(parsedSection);\n } else if ('path' in item) {\n // File path\n const fullPath = path.join(ctx.basePath, item.path);\n const parsedSection = await ctx.parser.parseFile(fullPath, {\n ...sectionOptions,\n title: item.title,\n weight: item.weight,\n });\n const overrideSection = await ctx.override.customize(item.path, parsedSection, sectionOptions);\n section.add(overrideSection);\n } else if ('directories' in item) {\n // Directory loading\n const sections = await ctx.loader.load(item.directories, {\n ...sectionOptions,\n title: item.title,\n weight: item.weight,\n });\n section.add(sections);\n }\n};\n\n// ===== FLUENT RECIPE BUILDER =====\n\nexport const recipe = (basePath: string) => {\n const config: Partial<RecipeConfig> & { basePath: string } = { basePath };\n\n const builder = {\n template: (name: string) => {\n config.template = name;\n return builder;\n },\n with: (partialConfig: Partial<RecipeConfig>) => {\n Object.assign(config, partialConfig);\n return builder;\n },\n persona: (persona: ContentItem) => {\n config.persona = persona;\n return builder;\n },\n instructions: (...instructions: ContentItem[]) => {\n config.instructions = [...(config.instructions || []), ...instructions];\n return builder;\n },\n content: (...content: ContentItem[]) => {\n config.content = [...(config.content || []), ...content];\n return builder;\n },\n context: (...context: ContentItem[]) => {\n config.context = [...(config.context || []), ...context];\n return builder;\n },\n parameters: (parameters: any) => {\n config.parameters = { ...config.parameters, ...parameters };\n return builder;\n },\n overrides: (enabled: boolean) => {\n config.overrides = enabled;\n return builder;\n },\n overridePaths: (paths: string[]) => {\n config.overridePaths = paths;\n return builder;\n },\n cook: () => cook(config),\n };\n\n return builder;\n};\n\n// Export types for external use\nexport type { RecipeConfig, ContentItem }; "],"names":["ContentItemSchema","z","union","string","object","content","title","optional","weight","number","path","directories","array","RecipeConfigSchema","basePath","logger","any","default","DEFAULT_LOGGER","overridePaths","overrides","boolean","parameters","ParametersSchema","persona","instructions","context","extends","template","TEMPLATES","registerTemplates","templates","getTemplates","clearTemplates","cook","config","validatedConfig","parse","finalConfig","wrapLogger","parser","Parser","override","Override","configDirs","loader","Loader","personaSection","createSection","instructionSection","contentSection","contextSection","processContentItem","item","console","log","JSON","stringify","createPrompt","contents","contexts","section","type","ctx","sectionOptions","parsedSection","add","fullPath","join","parseFile","overrideSection","customize","sections","load","recipe","builder","name","with","partialConfig","Object","assign","enabled","paths"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recipes.js","sources":["../src/recipes.ts"],"sourcesContent":["import path from \"path\";\nimport { z } from \"zod\";\nimport { ParametersSchema } from \"./items/parameters\";\nimport { SectionOptions } from \"./items/section\";\nimport { DEFAULT_LOGGER, wrapLogger } from \"./logger\";\nimport { Content, Context, createPrompt, createSection, Instruction, Loader, Override, Parser, Prompt, Section, Weighted } from \"./riotprompt\";\n\n// ===== CONFIGURATION SCHEMAS =====\n\nconst ContentItemSchema = z.union([\n z.string(), // Simple string content\n z.object({\n content: z.string(),\n title: z.string().optional(),\n weight: z.number().optional(),\n }),\n z.object({\n path: z.string(),\n title: z.string().optional(),\n weight: z.number().optional(),\n }),\n z.object({\n directories: z.array(z.string()),\n title: z.string().optional(),\n weight: z.number().optional(),\n })\n]);\n\nconst RecipeConfigSchema = z.object({\n // Core settings\n basePath: z.string(),\n logger: z.any().optional().default(DEFAULT_LOGGER),\n overridePaths: z.array(z.string()).optional().default([\"./\"]),\n overrides: z.boolean().optional().default(false),\n parameters: ParametersSchema.optional().default({}),\n\n // Content sections\n persona: ContentItemSchema.optional(),\n instructions: z.array(ContentItemSchema).optional().default([]),\n content: z.array(ContentItemSchema).optional().default([]),\n context: z.array(ContentItemSchema).optional().default([]),\n\n // Templates and inheritance\n extends: z.string().optional(), // Extend another recipe\n template: z.string().optional(), // Generic template name\n});\n\ntype RecipeConfig = z.infer<typeof RecipeConfigSchema>;\ntype ContentItem = z.infer<typeof ContentItemSchema>;\n\n// ===== CONFIGURABLE TEMPLATE SYSTEM =====\n\nexport interface TemplateConfig {\n persona?: ContentItem;\n instructions?: ContentItem[];\n content?: ContentItem[];\n context?: ContentItem[];\n}\n\n// User-customizable template registry\nlet TEMPLATES: Record<string, TemplateConfig> = {};\n\n/**\n * Register custom templates with the recipes system\n * \n * @example\n * ```typescript\n * // Register your own templates\n * registerTemplates({\n * myWorkflow: {\n * persona: { path: \"personas/my-persona.md\" },\n * instructions: [{ path: \"instructions/my-instructions.md\" }]\n * },\n * anotherTemplate: {\n * persona: { content: \"You are a helpful assistant\" },\n * instructions: [{ content: \"Follow these steps...\" }]\n * }\n * });\n * ```\n */\nexport const registerTemplates = (templates: Record<string, TemplateConfig>): void => {\n TEMPLATES = { ...TEMPLATES, ...templates };\n};\n\n/**\n * Get currently registered templates\n */\nexport const getTemplates = (): Record<string, TemplateConfig> => ({ ...TEMPLATES });\n\n/**\n * Clear all registered templates\n */\nexport const clearTemplates = (): void => {\n TEMPLATES = {};\n};\n\n// ===== CORE RECIPE ENGINE =====\n\nexport const cook = async (config: Partial<RecipeConfig> & { basePath: string }): Promise<Prompt> => {\n // Parse and validate configuration with defaults\n const validatedConfig = RecipeConfigSchema.parse({\n overridePaths: [\"./\"],\n overrides: false,\n parameters: {},\n instructions: [],\n content: [],\n context: [],\n ...config\n });\n\n // Handle template inheritance\n let finalConfig = { ...validatedConfig };\n if (validatedConfig.template) {\n const template = TEMPLATES[validatedConfig.template];\n if (template) {\n finalConfig = {\n ...validatedConfig,\n persona: validatedConfig.persona || template.persona,\n instructions: [\n ...(template.instructions || []),\n ...(validatedConfig.instructions || [])\n ],\n content: [\n ...(template.content || []),\n ...(validatedConfig.content || [])\n ],\n context: [\n ...(template.context || []),\n ...(validatedConfig.context || [])\n ],\n };\n }\n }\n\n // Setup internal services\n const logger = wrapLogger(finalConfig.logger, 'Recipe');\n const parser = Parser.create({ logger });\n const override = Override.create({\n logger,\n configDirs: finalConfig.overridePaths || [\"./\"],\n overrides: finalConfig.overrides || false\n });\n const loader = Loader.create({ logger });\n\n // Create sections\n const personaSection: Section<Instruction> = createSection({ title: \"Persona\" });\n const instructionSection: Section<Instruction> = createSection({ title: \"Instruction\" });\n const contentSection: Section<Content> = createSection({ title: \"Content\" });\n const contextSection: Section<Context> = createSection({ title: \"Context\" });\n\n // Process persona\n if (finalConfig.persona) {\n await processContentItem(finalConfig.persona, personaSection, 'persona', {\n basePath: finalConfig.basePath,\n parser,\n override,\n loader,\n parameters: finalConfig.parameters,\n logger\n });\n }\n\n // Process instructions\n for (const item of finalConfig.instructions || []) {\n await processContentItem(item, instructionSection, 'instruction', {\n basePath: finalConfig.basePath,\n parser,\n override,\n loader,\n parameters: finalConfig.parameters,\n logger\n });\n }\n\n // Process content\n for (const item of finalConfig.content || []) {\n await processContentItem(item, contentSection, 'content', {\n basePath: finalConfig.basePath,\n parser,\n override,\n loader,\n parameters: finalConfig.parameters,\n logger\n });\n }\n\n // Process context\n for (const item of finalConfig.context || []) {\n await processContentItem(item, contextSection, 'context', {\n basePath: finalConfig.basePath,\n parser,\n override,\n loader,\n parameters: finalConfig.parameters,\n logger\n });\n }\n\n // Build and return prompt\n return createPrompt({\n persona: personaSection,\n instructions: instructionSection,\n contents: contentSection,\n contexts: contextSection\n });\n};\n\n// ===== CONTENT PROCESSING =====\n\ninterface ProcessingContext {\n basePath: string;\n parser: any;\n override: any;\n loader: any;\n parameters: any;\n logger: any;\n}\n\nconst processContentItem = async <T extends Weighted>(\n item: ContentItem,\n section: Section<T>,\n type: 'persona' | 'instruction' | 'content' | 'context',\n ctx: ProcessingContext\n): Promise<void> => {\n const sectionOptions: SectionOptions = {\n parameters: ctx.parameters,\n };\n\n if (typeof item === 'string') {\n // Simple string content\n const parsedSection = await ctx.parser.parse(item, sectionOptions);\n section.add(parsedSection);\n } else if ('content' in item) {\n // Inline content with options\n const parsedSection = await ctx.parser.parse(item.content, {\n ...sectionOptions,\n title: item.title,\n weight: item.weight,\n });\n section.add(parsedSection);\n } else if ('path' in item) {\n // File path\n const fullPath = path.join(ctx.basePath, item.path);\n const parsedSection = await ctx.parser.parseFile(fullPath, {\n ...sectionOptions,\n title: item.title,\n weight: item.weight,\n });\n const overrideSection = await ctx.override.customize(item.path, parsedSection, sectionOptions);\n section.add(overrideSection);\n } else if ('directories' in item) {\n // Directory loading\n const sections = await ctx.loader.load(item.directories, {\n ...sectionOptions,\n title: item.title,\n weight: item.weight,\n });\n section.add(sections);\n }\n};\n\n// ===== FLUENT RECIPE BUILDER =====\n\nexport const recipe = (basePath: string) => {\n const config: Partial<RecipeConfig> & { basePath: string } = { basePath };\n\n const builder = {\n template: (name: string) => {\n config.template = name;\n return builder;\n },\n with: (partialConfig: Partial<RecipeConfig>) => {\n Object.assign(config, partialConfig);\n return builder;\n },\n persona: (persona: ContentItem) => {\n config.persona = persona;\n return builder;\n },\n instructions: (...instructions: ContentItem[]) => {\n config.instructions = [...(config.instructions || []), ...instructions];\n return builder;\n },\n content: (...content: ContentItem[]) => {\n config.content = [...(config.content || []), ...content];\n return builder;\n },\n context: (...context: ContentItem[]) => {\n config.context = [...(config.context || []), ...context];\n return builder;\n },\n parameters: (parameters: any) => {\n config.parameters = { ...config.parameters, ...parameters };\n return builder;\n },\n overrides: (enabled: boolean) => {\n config.overrides = enabled;\n return builder;\n },\n overridePaths: (paths: string[]) => {\n config.overridePaths = paths;\n return builder;\n },\n cook: () => cook(config),\n };\n\n return builder;\n};\n\n// Export types for external use\nexport type { RecipeConfig, ContentItem }; "],"names":["ContentItemSchema","z","union","string","object","content","title","optional","weight","number","path","directories","array","RecipeConfigSchema","basePath","logger","any","default","DEFAULT_LOGGER","overridePaths","overrides","boolean","parameters","ParametersSchema","persona","instructions","context","extends","template","TEMPLATES","registerTemplates","templates","getTemplates","clearTemplates","cook","config","validatedConfig","parse","finalConfig","wrapLogger","parser","Parser","override","Override","configDirs","loader","Loader","personaSection","createSection","instructionSection","contentSection","contextSection","processContentItem","item","createPrompt","contents","contexts","section","type","ctx","sectionOptions","parsedSection","add","fullPath","join","parseFile","overrideSection","customize","sections","load","recipe","builder","name","with","partialConfig","Object","assign","enabled","paths"],"mappings":"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"}
|
package/dist/riotprompt.cjs
CHANGED
|
@@ -387,7 +387,7 @@ const FormatOptionsSchema = zod.z.object({
|
|
|
387
387
|
sectionTitleProperty: SectionTitlePropertySchema,
|
|
388
388
|
sectionTitlePrefix: zod.z.string().optional(),
|
|
389
389
|
sectionTitleSeparator: zod.z.string().optional(),
|
|
390
|
-
sectionDepth: zod.z.number().default(
|
|
390
|
+
sectionDepth: zod.z.number().default(0)
|
|
391
391
|
});
|
|
392
392
|
const OptionSchema$1 = zod.z.object({
|
|
393
393
|
logger: zod.z.any().optional().default(DEFAULT_LOGGER),
|
|
@@ -448,7 +448,7 @@ const create$5 = (formatterOptions)=>{
|
|
|
448
448
|
var _section_title, _section_title1;
|
|
449
449
|
return `<${(_section_title = section.title) !== null && _section_title !== void 0 ? _section_title : "section"}>\n${formattedItems}\n</${(_section_title1 = section.title) !== null && _section_title1 !== void 0 ? _section_title1 : "section"}>`;
|
|
450
450
|
} else {
|
|
451
|
-
//
|
|
451
|
+
// Use the current section depth for heading level
|
|
452
452
|
const headingLevel = currentSectionDepth;
|
|
453
453
|
const hashes = '#'.repeat(headingLevel);
|
|
454
454
|
logger.silly(`\t\tHeading level: ${headingLevel}`);
|
|
@@ -1534,10 +1534,7 @@ const cook = async (config)=>{
|
|
|
1534
1534
|
parameters: finalConfig.parameters});
|
|
1535
1535
|
}
|
|
1536
1536
|
// Process content
|
|
1537
|
-
// eslint-disable-next-line no-console
|
|
1538
1537
|
for (const item of finalConfig.content || []){
|
|
1539
|
-
// eslint-disable-next-line no-console
|
|
1540
|
-
console.log('Processing content item:', JSON.stringify(item, null, 2));
|
|
1541
1538
|
await processContentItem(item, contentSection, 'content', {
|
|
1542
1539
|
basePath: finalConfig.basePath,
|
|
1543
1540
|
parser: parser$1,
|