@wundr.io/prompt-templates 1.0.3

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.
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @wundr/prompt-templates - Reusable macro library for prompt templating
3
+ */
4
+ import type { MacroDefinition } from './types.js';
5
+ /**
6
+ * System role macro - defines AI assistant behavior
7
+ */
8
+ export declare const systemRoleMacro: MacroDefinition;
9
+ /**
10
+ * Task context macro - provides context for a specific task
11
+ */
12
+ export declare const taskContextMacro: MacroDefinition;
13
+ /**
14
+ * Output format macro - specifies expected output format
15
+ */
16
+ export declare const outputFormatMacro: MacroDefinition;
17
+ /**
18
+ * Conversation history macro - formats previous messages
19
+ */
20
+ export declare const conversationHistoryMacro: MacroDefinition;
21
+ /**
22
+ * Tools section macro - formats available tools
23
+ */
24
+ export declare const toolsSectionMacro: MacroDefinition;
25
+ /**
26
+ * Code context macro - provides code snippet context
27
+ */
28
+ export declare const codeContextMacro: MacroDefinition;
29
+ /**
30
+ * Chain of thought macro - encourages step-by-step reasoning
31
+ */
32
+ export declare const chainOfThoughtMacro: MacroDefinition;
33
+ /**
34
+ * Few-shot examples macro - provides learning examples
35
+ */
36
+ export declare const fewShotExamplesMacro: MacroDefinition;
37
+ /**
38
+ * Safety guardrails macro - adds safety constraints
39
+ */
40
+ export declare const safetyGuardrailsMacro: MacroDefinition;
41
+ /**
42
+ * Persona definition macro - creates a detailed persona
43
+ */
44
+ export declare const personaMacro: MacroDefinition;
45
+ /**
46
+ * Get all built-in macro definitions
47
+ *
48
+ * @returns Array of macro definitions
49
+ */
50
+ export declare function getBuiltinMacros(): MacroDefinition[];
51
+ /**
52
+ * Get a macro by name
53
+ *
54
+ * @param name - Macro name
55
+ * @returns Macro definition or undefined
56
+ */
57
+ export declare function getMacroByName(name: string): MacroDefinition | undefined;
58
+ /**
59
+ * Get macro names
60
+ *
61
+ * @returns Array of macro names
62
+ */
63
+ export declare function getMacroNames(): string[];
64
+ //# sourceMappingURL=macros.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"macros.d.ts","sourceRoot":"","sources":["../src/macros.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,eA0C7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,eA+D9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,eA2E/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,eA+BtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAqC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,eA2D9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,eAqCjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,eAkDlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,eA0DnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,eAwF1B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,EAAE,CAapD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAGxE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC"}
package/dist/macros.js ADDED
@@ -0,0 +1,620 @@
1
+ "use strict";
2
+ /**
3
+ * @wundr/prompt-templates - Reusable macro library for prompt templating
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.personaMacro = exports.safetyGuardrailsMacro = exports.fewShotExamplesMacro = exports.chainOfThoughtMacro = exports.codeContextMacro = exports.toolsSectionMacro = exports.conversationHistoryMacro = exports.outputFormatMacro = exports.taskContextMacro = exports.systemRoleMacro = void 0;
7
+ exports.getBuiltinMacros = getBuiltinMacros;
8
+ exports.getMacroByName = getMacroByName;
9
+ exports.getMacroNames = getMacroNames;
10
+ /**
11
+ * System role macro - defines AI assistant behavior
12
+ */
13
+ exports.systemRoleMacro = {
14
+ name: 'systemRole',
15
+ description: 'Define the AI assistant role and behavior',
16
+ template: `You are {{role}}{{#ifDefined expertise}}, specialized in {{expertise}}{{/ifDefined}}.
17
+
18
+ {{#ifDefined personality}}
19
+ Your personality traits:
20
+ {{bulletList personality}}
21
+ {{/ifDefined}}
22
+
23
+ {{#ifDefined constraints}}
24
+ You must follow these constraints:
25
+ {{bulletList constraints}}
26
+ {{/ifDefined}}`,
27
+ parameters: [
28
+ {
29
+ name: 'role',
30
+ description: 'The role of the AI assistant',
31
+ type: 'string',
32
+ required: true,
33
+ },
34
+ {
35
+ name: 'expertise',
36
+ description: 'Areas of expertise',
37
+ type: 'string',
38
+ required: false,
39
+ },
40
+ {
41
+ name: 'personality',
42
+ description: 'Personality traits',
43
+ type: 'array',
44
+ required: false,
45
+ },
46
+ {
47
+ name: 'constraints',
48
+ description: 'Behavioral constraints',
49
+ type: 'array',
50
+ required: false,
51
+ },
52
+ ],
53
+ example: '{{> systemRole role="a helpful assistant" expertise="software development" personality=(array "friendly" "concise") }}',
54
+ };
55
+ /**
56
+ * Task context macro - provides context for a specific task
57
+ */
58
+ exports.taskContextMacro = {
59
+ name: 'taskContext',
60
+ description: 'Provide context for a specific task',
61
+ template: `## Task: {{taskName}}
62
+
63
+ {{#ifDefined description}}
64
+ ### Description
65
+ {{description}}
66
+ {{/ifDefined}}
67
+
68
+ {{#ifDefined objectives}}
69
+ ### Objectives
70
+ {{numberedList objectives}}
71
+ {{/ifDefined}}
72
+
73
+ {{#ifDefined constraints}}
74
+ ### Constraints
75
+ {{bulletList constraints}}
76
+ {{/ifDefined}}
77
+
78
+ {{#ifDefined examples}}
79
+ ### Examples
80
+ {{#each examples}}
81
+ **Example {{@index}}:**
82
+ {{#codeBlock language}}
83
+ {{code}}
84
+ {{/codeBlock}}
85
+ {{/each}}
86
+ {{/ifDefined}}`,
87
+ parameters: [
88
+ {
89
+ name: 'taskName',
90
+ description: 'Name of the task',
91
+ type: 'string',
92
+ required: true,
93
+ },
94
+ {
95
+ name: 'description',
96
+ description: 'Task description',
97
+ type: 'string',
98
+ required: false,
99
+ },
100
+ {
101
+ name: 'objectives',
102
+ description: 'List of objectives',
103
+ type: 'array',
104
+ required: false,
105
+ },
106
+ {
107
+ name: 'constraints',
108
+ description: 'Task constraints',
109
+ type: 'array',
110
+ required: false,
111
+ },
112
+ {
113
+ name: 'examples',
114
+ description: 'Example inputs/outputs',
115
+ type: 'array',
116
+ required: false,
117
+ },
118
+ ],
119
+ example: '{{> taskContext taskName="Code Review" objectives=(array "Find bugs" "Suggest improvements") }}',
120
+ };
121
+ /**
122
+ * Output format macro - specifies expected output format
123
+ */
124
+ exports.outputFormatMacro = {
125
+ name: 'outputFormat',
126
+ description: 'Specify the expected output format',
127
+ template: `## Output Format
128
+
129
+ {{#compare format "eq" "json"}}
130
+ Respond with valid JSON in the following structure:
131
+ {{#codeBlock "json"}}
132
+ {{schema}}
133
+ {{/codeBlock}}
134
+ {{/compare}}
135
+
136
+ {{#compare format "eq" "markdown"}}
137
+ Respond in Markdown format with the following sections:
138
+ {{bulletList sections}}
139
+ {{/compare}}
140
+
141
+ {{#compare format "eq" "structured"}}
142
+ Respond with the following structure:
143
+ {{#each fields}}
144
+ - **{{name}}**: {{description}}{{#ifDefined required}} (required){{/ifDefined}}
145
+ {{/each}}
146
+ {{/compare}}
147
+
148
+ {{#compare format "eq" "freeform"}}
149
+ Respond in natural language.
150
+ {{/compare}}
151
+
152
+ {{#ifDefined example}}
153
+ ### Example Output
154
+ {{#codeBlock language}}
155
+ {{example}}
156
+ {{/codeBlock}}
157
+ {{/ifDefined}}`,
158
+ parameters: [
159
+ {
160
+ name: 'format',
161
+ description: 'Output format type (json, markdown, structured, freeform)',
162
+ type: 'string',
163
+ required: true,
164
+ },
165
+ {
166
+ name: 'schema',
167
+ description: 'JSON schema for json format',
168
+ type: 'string',
169
+ required: false,
170
+ },
171
+ {
172
+ name: 'sections',
173
+ description: 'Section names for markdown format',
174
+ type: 'array',
175
+ required: false,
176
+ },
177
+ {
178
+ name: 'fields',
179
+ description: 'Field definitions for structured format',
180
+ type: 'array',
181
+ required: false,
182
+ },
183
+ {
184
+ name: 'example',
185
+ description: 'Example output',
186
+ type: 'string',
187
+ required: false,
188
+ },
189
+ {
190
+ name: 'language',
191
+ description: 'Code block language for example',
192
+ type: 'string',
193
+ required: false,
194
+ default: '',
195
+ },
196
+ ],
197
+ example: '{{> outputFormat format="json" schema=\'{"result": "string", "confidence": "number"}\' }}',
198
+ };
199
+ /**
200
+ * Conversation history macro - formats previous messages
201
+ */
202
+ exports.conversationHistoryMacro = {
203
+ name: 'conversationHistory',
204
+ description: 'Include formatted conversation history',
205
+ template: `{{#ifDefined messages}}
206
+ ## Conversation History
207
+
208
+ {{formatMemory messages max=maxMessages format=format}}
209
+ {{/ifDefined}}`,
210
+ parameters: [
211
+ {
212
+ name: 'messages',
213
+ description: 'Array of conversation messages',
214
+ type: 'array',
215
+ required: true,
216
+ },
217
+ {
218
+ name: 'maxMessages',
219
+ description: 'Maximum number of messages to include',
220
+ type: 'number',
221
+ required: false,
222
+ default: 10,
223
+ },
224
+ {
225
+ name: 'format',
226
+ description: 'Output format (default, compact, xml)',
227
+ type: 'string',
228
+ required: false,
229
+ default: 'default',
230
+ },
231
+ ],
232
+ example: '{{> conversationHistory messages=memory.messages maxMessages=5 }}',
233
+ };
234
+ /**
235
+ * Tools section macro - formats available tools
236
+ */
237
+ exports.toolsSectionMacro = {
238
+ name: 'toolsSection',
239
+ description: 'Include available tools documentation',
240
+ template: `{{#ifDefined tools}}
241
+ ## Available Tools
242
+
243
+ You have access to the following tools:
244
+
245
+ {{formatTools tools format=format}}
246
+
247
+ {{#ifDefined instructions}}
248
+ ### Tool Usage Instructions
249
+ {{instructions}}
250
+ {{/ifDefined}}
251
+ {{/ifDefined}}`,
252
+ parameters: [
253
+ {
254
+ name: 'tools',
255
+ description: 'Array of tool definitions',
256
+ type: 'array',
257
+ required: true,
258
+ },
259
+ {
260
+ name: 'format',
261
+ description: 'Tool format (default, compact, json)',
262
+ type: 'string',
263
+ required: false,
264
+ default: 'default',
265
+ },
266
+ {
267
+ name: 'instructions',
268
+ description: 'Additional tool usage instructions',
269
+ type: 'string',
270
+ required: false,
271
+ },
272
+ ],
273
+ example: '{{> toolsSection tools=tools format="compact" }}',
274
+ };
275
+ /**
276
+ * Code context macro - provides code snippet context
277
+ */
278
+ exports.codeContextMacro = {
279
+ name: 'codeContext',
280
+ description: 'Provide code context for analysis or generation',
281
+ template: `## Code Context
282
+
283
+ {{#ifDefined filename}}
284
+ **File:** \`{{filename}}\`
285
+ {{/ifDefined}}
286
+
287
+ {{#ifDefined language}}
288
+ **Language:** {{language}}
289
+ {{/ifDefined}}
290
+
291
+ {{#codeBlock language}}
292
+ {{code}}
293
+ {{/codeBlock}}
294
+
295
+ {{#ifDefined lineNumbers}}
296
+ **Lines:** {{lineNumbers.start}} - {{lineNumbers.end}}
297
+ {{/ifDefined}}
298
+
299
+ {{#ifDefined relatedFiles}}
300
+ ### Related Files
301
+ {{bulletList relatedFiles}}
302
+ {{/ifDefined}}`,
303
+ parameters: [
304
+ {
305
+ name: 'code',
306
+ description: 'The code snippet',
307
+ type: 'string',
308
+ required: true,
309
+ },
310
+ {
311
+ name: 'language',
312
+ description: 'Programming language',
313
+ type: 'string',
314
+ required: false,
315
+ },
316
+ {
317
+ name: 'filename',
318
+ description: 'Source filename',
319
+ type: 'string',
320
+ required: false,
321
+ },
322
+ {
323
+ name: 'lineNumbers',
324
+ description: 'Line number range',
325
+ type: 'object',
326
+ required: false,
327
+ },
328
+ {
329
+ name: 'relatedFiles',
330
+ description: 'List of related files',
331
+ type: 'array',
332
+ required: false,
333
+ },
334
+ ],
335
+ example: '{{> codeContext code=sourceCode language="typescript" filename="index.ts" }}',
336
+ };
337
+ /**
338
+ * Chain of thought macro - encourages step-by-step reasoning
339
+ */
340
+ exports.chainOfThoughtMacro = {
341
+ name: 'chainOfThought',
342
+ description: 'Encourage step-by-step reasoning',
343
+ template: `## Reasoning Instructions
344
+
345
+ Think through this problem step by step:
346
+
347
+ {{#ifDefined steps}}
348
+ {{numberedList steps}}
349
+ {{else}}
350
+ 1. First, understand the problem/request completely
351
+ 2. Break down the problem into smaller parts
352
+ 3. Consider different approaches
353
+ 4. Evaluate the pros and cons of each approach
354
+ 5. Select the best approach and implement it
355
+ 6. Verify your solution
356
+ {{/ifDefined}}
357
+
358
+ {{#ifDefined showThinking}}
359
+ Please show your reasoning process before providing the final answer.
360
+ {{/ifDefined}}`,
361
+ parameters: [
362
+ {
363
+ name: 'steps',
364
+ description: 'Custom reasoning steps',
365
+ type: 'array',
366
+ required: false,
367
+ },
368
+ {
369
+ name: 'showThinking',
370
+ description: 'Whether to show reasoning process',
371
+ type: 'boolean',
372
+ required: false,
373
+ default: true,
374
+ },
375
+ ],
376
+ example: '{{> chainOfThought showThinking=true }}',
377
+ };
378
+ /**
379
+ * Few-shot examples macro - provides learning examples
380
+ */
381
+ exports.fewShotExamplesMacro = {
382
+ name: 'fewShotExamples',
383
+ description: 'Provide few-shot learning examples',
384
+ template: `## Examples
385
+
386
+ Here are some examples to guide your response:
387
+
388
+ {{#each examples}}
389
+ ### Example {{add @index 1}}
390
+
391
+ **Input:**
392
+ {{#codeBlock inputLanguage}}
393
+ {{input}}
394
+ {{/codeBlock}}
395
+
396
+ **Output:**
397
+ {{#codeBlock outputLanguage}}
398
+ {{output}}
399
+ {{/codeBlock}}
400
+
401
+ {{#ifDefined explanation}}
402
+ **Explanation:** {{explanation}}
403
+ {{/ifDefined}}
404
+
405
+ ---
406
+ {{/each}}`,
407
+ parameters: [
408
+ {
409
+ name: 'examples',
410
+ description: 'Array of input/output examples',
411
+ type: 'array',
412
+ required: true,
413
+ },
414
+ {
415
+ name: 'inputLanguage',
416
+ description: 'Language for input code blocks',
417
+ type: 'string',
418
+ required: false,
419
+ default: '',
420
+ },
421
+ {
422
+ name: 'outputLanguage',
423
+ description: 'Language for output code blocks',
424
+ type: 'string',
425
+ required: false,
426
+ default: '',
427
+ },
428
+ ],
429
+ example: '{{> fewShotExamples examples=examples inputLanguage="text" outputLanguage="json" }}',
430
+ };
431
+ /**
432
+ * Safety guardrails macro - adds safety constraints
433
+ */
434
+ exports.safetyGuardrailsMacro = {
435
+ name: 'safetyGuardrails',
436
+ description: 'Add safety constraints and guardrails',
437
+ template: `## Safety Guidelines
438
+
439
+ {{#ifDefined level}}
440
+ **Safety Level:** {{uppercase level}}
441
+ {{/ifDefined}}
442
+
443
+ You must adhere to these safety guidelines:
444
+
445
+ {{#ifDefined allowed}}
446
+ ### Allowed Actions
447
+ {{bulletList allowed}}
448
+ {{/ifDefined}}
449
+
450
+ {{#ifDefined prohibited}}
451
+ ### Prohibited Actions
452
+ {{bulletList prohibited}}
453
+ {{/ifDefined}}
454
+
455
+ {{#ifDefined responseGuidelines}}
456
+ ### Response Guidelines
457
+ {{bulletList responseGuidelines}}
458
+ {{/ifDefined}}
459
+
460
+ {{#compare level "eq" "strict"}}
461
+ If a request violates any guideline, politely decline and explain why.
462
+ {{/compare}}`,
463
+ parameters: [
464
+ {
465
+ name: 'level',
466
+ description: 'Safety level (strict, moderate, relaxed)',
467
+ type: 'string',
468
+ required: false,
469
+ default: 'moderate',
470
+ },
471
+ {
472
+ name: 'allowed',
473
+ description: 'List of allowed actions',
474
+ type: 'array',
475
+ required: false,
476
+ },
477
+ {
478
+ name: 'prohibited',
479
+ description: 'List of prohibited actions',
480
+ type: 'array',
481
+ required: false,
482
+ },
483
+ {
484
+ name: 'responseGuidelines',
485
+ description: 'Guidelines for responses',
486
+ type: 'array',
487
+ required: false,
488
+ },
489
+ ],
490
+ example: '{{> safetyGuardrails level="strict" prohibited=(array "Generate harmful content" "Share personal data") }}',
491
+ };
492
+ /**
493
+ * Persona definition macro - creates a detailed persona
494
+ */
495
+ exports.personaMacro = {
496
+ name: 'persona',
497
+ description: 'Define a detailed AI persona',
498
+ template: `# Persona: {{name}}
499
+
500
+ {{#ifDefined tagline}}
501
+ *{{tagline}}*
502
+ {{/ifDefined}}
503
+
504
+ ## About
505
+ {{description}}
506
+
507
+ {{#ifDefined background}}
508
+ ## Background
509
+ {{background}}
510
+ {{/ifDefined}}
511
+
512
+ {{#ifDefined skills}}
513
+ ## Skills & Expertise
514
+ {{bulletList skills}}
515
+ {{/ifDefined}}
516
+
517
+ {{#ifDefined communication}}
518
+ ## Communication Style
519
+ {{bulletList communication}}
520
+ {{/ifDefined}}
521
+
522
+ {{#ifDefined knowledge}}
523
+ ## Knowledge Base
524
+ {{bulletList knowledge}}
525
+ {{/ifDefined}}
526
+
527
+ {{#ifDefined limitations}}
528
+ ## Limitations
529
+ {{bulletList limitations}}
530
+ {{/ifDefined}}`,
531
+ parameters: [
532
+ {
533
+ name: 'name',
534
+ description: 'Persona name',
535
+ type: 'string',
536
+ required: true,
537
+ },
538
+ {
539
+ name: 'description',
540
+ description: 'Short description',
541
+ type: 'string',
542
+ required: true,
543
+ },
544
+ {
545
+ name: 'tagline',
546
+ description: 'Persona tagline',
547
+ type: 'string',
548
+ required: false,
549
+ },
550
+ {
551
+ name: 'background',
552
+ description: 'Background information',
553
+ type: 'string',
554
+ required: false,
555
+ },
556
+ {
557
+ name: 'skills',
558
+ description: 'List of skills',
559
+ type: 'array',
560
+ required: false,
561
+ },
562
+ {
563
+ name: 'communication',
564
+ description: 'Communication style traits',
565
+ type: 'array',
566
+ required: false,
567
+ },
568
+ {
569
+ name: 'knowledge',
570
+ description: 'Knowledge domains',
571
+ type: 'array',
572
+ required: false,
573
+ },
574
+ {
575
+ name: 'limitations',
576
+ description: 'Known limitations',
577
+ type: 'array',
578
+ required: false,
579
+ },
580
+ ],
581
+ example: '{{> persona name="CodeBot" description="A helpful coding assistant" skills=(array "JavaScript" "Python" "TypeScript") }}',
582
+ };
583
+ /**
584
+ * Get all built-in macro definitions
585
+ *
586
+ * @returns Array of macro definitions
587
+ */
588
+ function getBuiltinMacros() {
589
+ return [
590
+ exports.systemRoleMacro,
591
+ exports.taskContextMacro,
592
+ exports.outputFormatMacro,
593
+ exports.conversationHistoryMacro,
594
+ exports.toolsSectionMacro,
595
+ exports.codeContextMacro,
596
+ exports.chainOfThoughtMacro,
597
+ exports.fewShotExamplesMacro,
598
+ exports.safetyGuardrailsMacro,
599
+ exports.personaMacro,
600
+ ];
601
+ }
602
+ /**
603
+ * Get a macro by name
604
+ *
605
+ * @param name - Macro name
606
+ * @returns Macro definition or undefined
607
+ */
608
+ function getMacroByName(name) {
609
+ const macros = getBuiltinMacros();
610
+ return macros.find(macro => macro.name === name);
611
+ }
612
+ /**
613
+ * Get macro names
614
+ *
615
+ * @returns Array of macro names
616
+ */
617
+ function getMacroNames() {
618
+ return getBuiltinMacros().map(macro => macro.name);
619
+ }
620
+ //# sourceMappingURL=macros.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"macros.js","sourceRoot":"","sources":["../src/macros.ts"],"names":[],"mappings":"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"}