@ariaflowagents/core 0.4.1 → 0.4.2

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 (54) hide show
  1. package/README.md +86 -2
  2. package/dist/hooks/helpers.d.ts +62 -0
  3. package/dist/hooks/helpers.d.ts.map +1 -0
  4. package/dist/hooks/helpers.js +250 -0
  5. package/dist/hooks/helpers.js.map +1 -0
  6. package/dist/hooks/index.d.ts +1 -0
  7. package/dist/hooks/index.d.ts.map +1 -1
  8. package/dist/hooks/index.js +1 -0
  9. package/dist/hooks/index.js.map +1 -1
  10. package/dist/index.d.ts +6 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +5 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/prompts/PromptBuilder.d.ts +9 -0
  15. package/dist/prompts/PromptBuilder.d.ts.map +1 -0
  16. package/dist/prompts/PromptBuilder.js +34 -0
  17. package/dist/prompts/PromptBuilder.js.map +1 -0
  18. package/dist/prompts/index.d.ts +7 -0
  19. package/dist/prompts/index.d.ts.map +1 -0
  20. package/dist/prompts/index.js +5 -0
  21. package/dist/prompts/index.js.map +1 -0
  22. package/dist/prompts/registry.d.ts +6 -0
  23. package/dist/prompts/registry.d.ts.map +1 -0
  24. package/dist/prompts/registry.js +16 -0
  25. package/dist/prompts/registry.js.map +1 -0
  26. package/dist/prompts/templates.d.ts +8 -0
  27. package/dist/prompts/templates.d.ts.map +1 -0
  28. package/dist/prompts/templates.js +256 -0
  29. package/dist/prompts/templates.js.map +1 -0
  30. package/dist/prompts/types.d.ts +93 -0
  31. package/dist/prompts/types.d.ts.map +1 -0
  32. package/dist/prompts/types.js +286 -0
  33. package/dist/prompts/types.js.map +1 -0
  34. package/dist/tools/errorHandling.d.ts +37 -0
  35. package/dist/tools/errorHandling.d.ts.map +1 -0
  36. package/dist/tools/errorHandling.js +139 -0
  37. package/dist/tools/errorHandling.js.map +1 -0
  38. package/dist/tools/errorMessages.d.ts +13 -0
  39. package/dist/tools/errorMessages.d.ts.map +1 -0
  40. package/dist/tools/errorMessages.js +81 -0
  41. package/dist/tools/errorMessages.js.map +1 -0
  42. package/dist/tools/index.d.ts +2 -0
  43. package/dist/tools/index.d.ts.map +1 -1
  44. package/dist/tools/index.js +2 -0
  45. package/dist/tools/index.js.map +1 -1
  46. package/dist/utils/chrono.d.ts +72 -0
  47. package/dist/utils/chrono.d.ts.map +1 -0
  48. package/dist/utils/chrono.js +106 -0
  49. package/dist/utils/chrono.js.map +1 -0
  50. package/dist/utils/index.d.ts +2 -0
  51. package/dist/utils/index.d.ts.map +1 -0
  52. package/dist/utils/index.js +3 -0
  53. package/dist/utils/index.js.map +1 -0
  54. package/package.json +7 -2
package/README.md CHANGED
@@ -8,17 +8,36 @@ AriaFlow core runtime and agent primitives for building structured, multi-agent
8
8
  npm install @ariaflowagents/core
9
9
  ```
10
10
 
11
+ ## Exports
12
+
13
+ This package exports:
14
+ - **Agents:** `Agent`, `LLMAgent`, `FlowAgent`, `TriageAgent`, `CompositeAgent`
15
+ - **Runtime:** `Runtime`, `createRuntime`
16
+ - **Flows:** `FlowManager`, `FlowGraph`, `FlowNode`, `createFlowTransition`
17
+ - **Session:** `SessionManager`, `SessionStore`, `MemoryStore`
18
+ - **Tools:** `createTool`, `createHandoffTool`
19
+ - **Prompts:** `PromptTemplateBuilder`, `PromptBuilder`
20
+ - **Hooks:** `HookRunner`, `loggingHooks`, `createMetricsHooks`
21
+ - **Guards:** `ToolEnforcer`, `StopConditions`
22
+ - **Utils:** `createDateParser`, `parseDate`, `parseDateRange`, `formatDateForSpeech`, `formatTimeForSpeech`
23
+
11
24
  ## Quick start
12
25
 
13
26
  ```ts
14
- import { Runtime, type AgentConfig } from '@ariaflowagents/core';
27
+ import { Runtime, createDateParser, type AgentConfig } from '@ariaflowagents/core';
15
28
  import { openai } from '@ai-sdk/openai';
16
29
 
30
+ // Create date parsing tool for natural language dates
31
+ const dateParser = createDateParser();
32
+
17
33
  const supportAgent: AgentConfig = {
18
34
  id: 'support',
19
35
  name: 'Support Agent',
20
- systemPrompt: 'You are a helpful support agent.',
36
+ systemPrompt: 'You are a helpful support agent that can help book appointments.',
21
37
  model: openai('gpt-4o-mini') as any,
38
+ tools: {
39
+ parse_date: dateParser,
40
+ },
22
41
  };
23
42
 
24
43
  const runtime = new Runtime({
@@ -138,3 +157,68 @@ The `AgentFlowManager` class manages structured, node-based conversations:
138
157
  - **State Transitions**: Tools drive transitions via `createFlowTransition()`
139
158
  - **Flow Hooks**: Observe lifecycle events (onFlowStart, onTransition, etc.)
140
159
  - **Context Strategies**: Control memory management (append, reset, summarize)
160
+
161
+ ### Date Parsing Utilities
162
+
163
+ Natural language date parsing for conversational agents using Chrono:
164
+
165
+ ```typescript
166
+ import { createDateParser, parseDate, formatDateForSpeech } from '@ariaflowagents/core';
167
+
168
+ // As a tool for agents
169
+ const dateParser = createDateParser();
170
+ const result = await dateParser.execute({ text: 'tomorrow at 3pm' });
171
+ // { success: true, startDate: '2026-01-18T15:00:00Z', ... }
172
+
173
+ // Standalone function
174
+ const parsed = parseDate('next Friday');
175
+ // { date: Date, text: 'next Friday', confidence: 1.0 }
176
+
177
+ // TTS-friendly formatting
178
+ formatDateForSpeech(new Date('2026-01-18')); // "Saturday, January 18, 2026"
179
+ ```
180
+
181
+ Supported expressions:
182
+ - Relative: "tomorrow", "today", "yesterday", "in 3 days"
183
+ - Weekdays: "next Friday", "this weekend", "Monday morning"
184
+ - Specific dates: "March 15th", "December 25th, 2026"
185
+ - With time: "tomorrow at 3pm", "next Tuesday at 2:30pm"
186
+
187
+ ### Date Parser in Flows
188
+
189
+ Use the date parser within flow nodes for booking and scheduling:
190
+
191
+ ```typescript
192
+ import { createDateParser, createFlowTransition } from '@ariaflowagents/core';
193
+ import { tool } from 'ai';
194
+ import { z } from 'zod';
195
+
196
+ const dateParserTool = createDateParser();
197
+
198
+ const bookingFlow = {
199
+ nodes: [
200
+ {
201
+ id: 'collect_date',
202
+ prompt: 'What date would you like to book?',
203
+ tools: {
204
+ parse_date: tool({
205
+ description: 'Parse the date from user input',
206
+ inputSchema: z.object({
207
+ dateText: z.string().describe('Natural language date'),
208
+ }),
209
+ execute: async ({ dateText }) => {
210
+ const result = await dateParserTool.execute({ text: dateText });
211
+ if (result.success) {
212
+ return createFlowTransition('collect_time', {
213
+ date: result.startDate.split('T')[0]
214
+ });
215
+ }
216
+ return { error: 'Could not parse date' };
217
+ },
218
+ }),
219
+ },
220
+ },
221
+ // ... more nodes
222
+ ],
223
+ };
224
+ ```
@@ -0,0 +1,62 @@
1
+ import type { RunContext, HarnessHooks } from '../types/index.js';
2
+ export interface TracingConfig {
3
+ serviceName: string;
4
+ exporter?: (span: Span) => Promise<void>;
5
+ sampleRate?: number;
6
+ }
7
+ export interface Span {
8
+ id: string;
9
+ parentId?: string;
10
+ name: string;
11
+ startTime: number;
12
+ endTime?: number;
13
+ attributes: Record<string, string | number | boolean>;
14
+ events: SpanEvent[];
15
+ status: 'started' | 'ended' | 'error';
16
+ error?: Error;
17
+ }
18
+ export interface SpanEvent {
19
+ name: string;
20
+ timestamp: number;
21
+ attributes?: Record<string, string | number | boolean>;
22
+ }
23
+ export declare function initTracing(config: TracingConfig): void;
24
+ export declare function startSpan(name: string, attributes?: Record<string, string | number | boolean>, parentSpanId?: string): Span;
25
+ export declare function endSpan(span: Span, status?: 'success' | 'error', error?: Error): Span;
26
+ export declare function addSpanEvent(span: Span, name: string, attributes?: Record<string, string | number | boolean>): void;
27
+ export declare function getCurrentSpan(): Span | undefined;
28
+ export declare function createTracingHooks(): HarnessHooks;
29
+ export interface MetricsConfig {
30
+ prefix?: string;
31
+ tags?: Record<string, string>;
32
+ }
33
+ export interface ObservabilityMetrics {
34
+ increment(name: string, value?: number, tags?: Record<string, string>): void;
35
+ gauge(name: string, value: number, tags?: Record<string, string>): void;
36
+ histogram(name: string, value: number, tags?: Record<string, string>): void;
37
+ timing(name: string, value: number, tags?: Record<string, string>): void;
38
+ recordSpan(span: Span): void;
39
+ }
40
+ export declare function createObservabilityMetrics(config?: MetricsConfig): ObservabilityMetrics;
41
+ export declare function initMetrics(metrics: ObservabilityMetrics): void;
42
+ export declare function getMetrics(): ObservabilityMetrics;
43
+ export declare function createObservabilityHooks(): HarnessHooks;
44
+ export interface SessionTelemetry {
45
+ sessionId: string;
46
+ agentId: string;
47
+ startTime: Date;
48
+ endTime?: Date;
49
+ duration?: number;
50
+ steps: number;
51
+ tokens: number;
52
+ toolCalls: number;
53
+ errors: number;
54
+ handoffs: number;
55
+ success: boolean;
56
+ }
57
+ export declare function captureSessionTelemetry(context: RunContext, result: {
58
+ success: boolean;
59
+ error?: Error;
60
+ }): SessionTelemetry;
61
+ export declare function createTelemetryHooks(): HarnessHooks;
62
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/hooks/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,250 @@
1
+ let tracingConfig = null;
2
+ const spanStack = [];
3
+ export function initTracing(config) {
4
+ tracingConfig = config;
5
+ }
6
+ export function startSpan(name, attributes, parentSpanId) {
7
+ if (!tracingConfig) {
8
+ throw new Error('Tracing not initialized. Call initTracing() first.');
9
+ }
10
+ const span = {
11
+ id: generateSpanId(),
12
+ parentId: parentSpanId ?? spanStack[spanStack.length - 1]?.id,
13
+ name,
14
+ startTime: Date.now(),
15
+ attributes: attributes ?? {},
16
+ events: [],
17
+ status: 'started',
18
+ };
19
+ spanStack.push(span);
20
+ return span;
21
+ }
22
+ export function endSpan(span, status, error) {
23
+ span.endTime = Date.now();
24
+ span.status = status === 'error' || error ? 'error' : 'ended';
25
+ if (error) {
26
+ span.error = error;
27
+ span.events.push({
28
+ name: 'error',
29
+ timestamp: Date.now(),
30
+ attributes: { message: error.message, stack: error.stack ?? '' },
31
+ });
32
+ }
33
+ const config = tracingConfig;
34
+ if (config?.exporter) {
35
+ config.exporter(span).catch(console.error);
36
+ }
37
+ spanStack.pop();
38
+ return span;
39
+ }
40
+ export function addSpanEvent(span, name, attributes) {
41
+ span.events.push({
42
+ name,
43
+ timestamp: Date.now(),
44
+ attributes,
45
+ });
46
+ }
47
+ export function getCurrentSpan() {
48
+ return spanStack[spanStack.length - 1];
49
+ }
50
+ export function createTracingHooks() {
51
+ return {
52
+ onAgentStart: async (context, agentId) => {
53
+ startSpan('agent.run', { agentId, sessionId: context.session.id });
54
+ },
55
+ onAgentEnd: async (context) => {
56
+ const span = getCurrentSpan();
57
+ if (span) {
58
+ endSpan(span, 'success');
59
+ }
60
+ },
61
+ onStepStart: async (context, step) => {
62
+ startSpan('agent.step', { step, agentId: context.agentId });
63
+ },
64
+ onStepEnd: async (context, step, result) => {
65
+ const span = getCurrentSpan();
66
+ if (span) {
67
+ endSpan(span, 'success');
68
+ }
69
+ },
70
+ onToolCall: async (context, call) => {
71
+ startSpan('tool.call', {
72
+ toolName: call.toolName,
73
+ toolCallId: call.toolCallId,
74
+ });
75
+ },
76
+ onToolResult: async (context, call) => {
77
+ const span = getCurrentSpan();
78
+ if (span) {
79
+ addSpanEvent(span, 'tool.result', {
80
+ success: String(call.success),
81
+ durationMs: call.durationMs ?? 0,
82
+ });
83
+ endSpan(span, call.success ? 'success' : 'error', call.error);
84
+ }
85
+ },
86
+ onHandoff: async (context, from, to, reason) => {
87
+ startSpan('agent.handoff', { from, to, reason });
88
+ endSpan(getCurrentSpan(), 'success');
89
+ },
90
+ onError: async (context, error) => {
91
+ const span = getCurrentSpan();
92
+ if (span) {
93
+ endSpan(span, 'error', error);
94
+ }
95
+ },
96
+ };
97
+ }
98
+ let metricsInstance = null;
99
+ export function createObservabilityMetrics(config = {}) {
100
+ const { prefix = 'ariaflow', tags = {} } = config;
101
+ const counters = new Map();
102
+ const gauges = new Map();
103
+ const histograms = new Map();
104
+ const timings = new Map();
105
+ const spans = [];
106
+ const makeKey = (name, tags) => {
107
+ const tagStr = tags && Object.keys(tags).length > 0
108
+ ? Object.entries({ ...tags }).map(([k, v]) => `${k}:${v}`).join(',')
109
+ : '';
110
+ return `${prefix}.${name}${tagStr ? `{${tagStr}}` : ''}`;
111
+ };
112
+ return {
113
+ increment(name, value = 1, tags) {
114
+ const key = makeKey(name, tags);
115
+ counters.set(key, (counters.get(key) ?? 0) + value);
116
+ },
117
+ gauge(name, value, tags) {
118
+ const key = makeKey(name, tags);
119
+ gauges.set(key, value);
120
+ },
121
+ histogram(name, value, tags) {
122
+ const key = makeKey(name, tags);
123
+ const values = histograms.get(key) ?? [];
124
+ values.push(value);
125
+ histograms.set(key, values);
126
+ },
127
+ timing(name, value, tags) {
128
+ const key = makeKey(name, tags);
129
+ const values = timings.get(key) ?? [];
130
+ values.push(value);
131
+ timings.set(key, values);
132
+ },
133
+ recordSpan(span) {
134
+ spans.push(span);
135
+ this.timing('span.duration', span.endTime - span.startTime, {
136
+ spanName: span.name,
137
+ status: span.status,
138
+ });
139
+ },
140
+ };
141
+ }
142
+ export function initMetrics(metrics) {
143
+ metricsInstance = metrics;
144
+ }
145
+ export function getMetrics() {
146
+ if (!metricsInstance) {
147
+ throw new Error('Metrics not initialized. Call initMetrics() first.');
148
+ }
149
+ return metricsInstance;
150
+ }
151
+ export function createObservabilityHooks() {
152
+ const metrics = getMetrics();
153
+ return {
154
+ onStart: async (context) => {
155
+ metrics.increment('run.start', 1, { agent: context.agentId });
156
+ metrics.gauge('run.active', 1);
157
+ },
158
+ onEnd: async (context, result) => {
159
+ const duration = Date.now() - context.startTime;
160
+ metrics.increment(result.success ? 'run.success' : 'run.failure');
161
+ metrics.gauge('run.active', -1);
162
+ metrics.timing('run.duration', duration);
163
+ metrics.histogram('run.steps', context.stepCount);
164
+ metrics.histogram('run.tokens', context.totalTokens);
165
+ metrics.histogram('run.handoffs', context.handoffStack.length);
166
+ },
167
+ onStepStart: async (context, step) => {
168
+ metrics.increment('step.start', 1, { agent: context.agentId });
169
+ },
170
+ onStepEnd: async (context, step, result) => {
171
+ metrics.increment('step.end', 1, { agent: context.agentId, reason: result.finishReason });
172
+ },
173
+ onToolCall: async (context, call) => {
174
+ metrics.increment('tool.call', 1, { tool: call.toolName });
175
+ },
176
+ onToolResult: async (context, call) => {
177
+ metrics.increment('tool.result', 1, { tool: call.toolName, success: String(call.success) });
178
+ if (call.durationMs) {
179
+ metrics.timing('tool.duration', call.durationMs, { tool: call.toolName });
180
+ }
181
+ },
182
+ onToolError: async (context, call) => {
183
+ metrics.increment('tool.error', 1, { tool: call.toolName });
184
+ },
185
+ onHandoff: async (context, from, to) => {
186
+ metrics.increment('handoff', 1, { from, to });
187
+ },
188
+ onError: async () => {
189
+ metrics.increment('error', 1);
190
+ },
191
+ };
192
+ }
193
+ export function captureSessionTelemetry(context, result) {
194
+ return {
195
+ sessionId: context.session.id,
196
+ agentId: context.agentId,
197
+ startTime: new Date(context.startTime),
198
+ endTime: new Date(),
199
+ duration: Date.now() - context.startTime,
200
+ steps: context.stepCount,
201
+ tokens: context.totalTokens,
202
+ toolCalls: context.toolCallHistory.length,
203
+ errors: context.toolCallHistory.filter(c => !c.success).length,
204
+ handoffs: context.handoffStack.length,
205
+ success: result.success,
206
+ };
207
+ }
208
+ export function createTelemetryHooks() {
209
+ const sessions = [];
210
+ return {
211
+ onStart: async (context) => {
212
+ sessions.push({
213
+ sessionId: context.session.id,
214
+ agentId: context.agentId,
215
+ startTime: new Date(),
216
+ steps: 0,
217
+ tokens: 0,
218
+ toolCalls: 0,
219
+ errors: 0,
220
+ handoffs: 0,
221
+ success: false,
222
+ });
223
+ },
224
+ onEnd: async (context, result) => {
225
+ const session = sessions.find(s => s.sessionId === context.session.id);
226
+ if (session) {
227
+ session.endTime = new Date();
228
+ session.duration = Date.now() - context.startTime;
229
+ session.steps = context.stepCount;
230
+ session.tokens = context.totalTokens;
231
+ session.toolCalls = context.toolCallHistory.length;
232
+ session.errors = context.toolCallHistory.filter(c => !c.success).length;
233
+ session.handoffs = context.handoffStack.length;
234
+ session.success = result.success;
235
+ }
236
+ },
237
+ onStepEnd: async (context, step, result) => {
238
+ const session = sessions.find(s => s.sessionId === context.session.id);
239
+ if (session) {
240
+ session.steps = step + 1;
241
+ session.tokens += result.tokensUsed;
242
+ session.toolCalls += result.toolCalls.length;
243
+ }
244
+ },
245
+ };
246
+ }
247
+ function generateSpanId() {
248
+ return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
249
+ }
250
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/hooks/helpers.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ export { HookRunner, createHookRunner } from './HookRunner.js';
2
2
  export { loggingHooks, createLoggingHooks } from './builtin/logging.js';
3
3
  export { createMetricsHooks, InMemoryMetrics } from './builtin/metrics.js';
4
4
  export type { Metrics } from './builtin/metrics.js';
5
+ export { initTracing, startSpan, endSpan, addSpanEvent, getCurrentSpan, createTracingHooks, initMetrics, getMetrics, createObservabilityMetrics, createObservabilityHooks, createTelemetryHooks, captureSessionTelemetry, type TracingConfig, type Span, type SpanEvent, type ObservabilityMetrics, type SessionTelemetry, } from './helpers.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,aAAa,EAClB,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,cAAc,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { HookRunner, createHookRunner } from './HookRunner.js';
2
2
  export { loggingHooks, createLoggingHooks } from './builtin/logging.js';
3
3
  export { createMetricsHooks, InMemoryMetrics } from './builtin/metrics.js';
4
+ export { initTracing, startSpan, endSpan, addSpanEvent, getCurrentSpan, createTracingHooks, initMetrics, getMetrics, createObservabilityMetrics, createObservabilityHooks, createTelemetryHooks, captureSessionTelemetry, } from './helpers.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG3E,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GAMxB,MAAM,cAAc,CAAC"}
package/dist/index.d.ts CHANGED
@@ -21,6 +21,8 @@ export type { Tool, ToolSet, ToolDefinition, ToolWithFiller } from './tools/Tool
21
21
  export { createTool, createToolWithFiller } from './tools/Tool.js';
22
22
  export { createHandoffTool, isHandoffResult } from './tools/handoff.js';
23
23
  export type { HandoffResult } from './tools/handoff.js';
24
+ export { PromptTemplateBuilder, PromptBuilder, createPromptTemplate, SUPPORT_AGENT_TEMPLATE, SALES_AGENT_TEMPLATE, TRIAGE_AGENT_TEMPLATE, createSupportAgentTemplate, } from './prompts/index.js';
25
+ export type { PromptSection, PromptTemplate, ToolGuideline } from './prompts/index.js';
24
26
  export { HookRunner, createHookRunner } from './hooks/HookRunner.js';
25
27
  export { loggingHooks, createLoggingHooks } from './hooks/builtin/logging.js';
26
28
  export { createMetricsHooks, InMemoryMetrics } from './hooks/builtin/metrics.js';
@@ -28,5 +30,9 @@ export type { Metrics } from './hooks/builtin/metrics.js';
28
30
  export { ToolEnforcer, createToolEnforcer } from './guards/ToolEnforcer.js';
29
31
  export * as StopConditions from './guards/StopConditions.js';
30
32
  export * as EnforcementRules from './guards/rules.js';
33
+ export { createDateParser, parseDate, parseDateRange, formatDateForSpeech, formatTimeForSpeech, dateParser, commonDateExpressions, } from './utils/index.js';
34
+ export type { DateParserOptions, ParsedDateResult } from './utils/index.js';
35
+ export { getTemplate, registerTemplate, listTemplates, getAllTemplates } from './prompts/index.js';
36
+ export type { GlossaryTerm, VoiceRulesConfig } from './prompts/index.js';
31
37
  export type * from './types/index.js';
32
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,iBAAiB,IAAI,sBAAsB,EAC3C,cAAc,EACd,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EACL,oBAAoB,EACpB,+BAA+B,EAC/B,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC3B,MAAM,6BAA6B,CAAC;AAErC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACjF,YAAY,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,gBAAgB,MAAM,mBAAmB,CAAC;AAEtD,mBAAmB,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -16,10 +16,15 @@ export { SessionWorkingMemory } from './runtime/WorkingMemory.js';
16
16
  export { createContextManager, createSummarizingContextManager, } from './runtime/ContextManager.js';
17
17
  export { createTool, createToolWithFiller } from './tools/Tool.js';
18
18
  export { createHandoffTool, isHandoffResult } from './tools/handoff.js';
19
+ export { PromptTemplateBuilder, PromptBuilder, createPromptTemplate, SUPPORT_AGENT_TEMPLATE, SALES_AGENT_TEMPLATE, TRIAGE_AGENT_TEMPLATE, createSupportAgentTemplate, } from './prompts/index.js';
19
20
  export { HookRunner, createHookRunner } from './hooks/HookRunner.js';
20
21
  export { loggingHooks, createLoggingHooks } from './hooks/builtin/logging.js';
21
22
  export { createMetricsHooks, InMemoryMetrics } from './hooks/builtin/metrics.js';
22
23
  export { ToolEnforcer, createToolEnforcer } from './guards/ToolEnforcer.js';
23
24
  export * as StopConditions from './guards/StopConditions.js';
24
25
  export * as EnforcementRules from './guards/rules.js';
26
+ // Utilities
27
+ export { createDateParser, parseDate, parseDateRange, formatDateForSpeech, formatTimeForSpeech, dateParser, commonDateExpressions, } from './utils/index.js';
28
+ // Prompt templates and registry
29
+ export { getTemplate, registerTemplate, listTemplates, getAllTemplates } from './prompts/index.js';
25
30
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AAWrC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EACL,oBAAoB,EACpB,+BAA+B,GAGhC,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGjF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,gBAAgB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AAWrC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EACL,oBAAoB,EACpB,+BAA+B,GAGhC,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGjF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,gBAAgB,MAAM,mBAAmB,CAAC;AAEtD,YAAY;AACZ,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { PromptTemplate } from './types.js';
2
+ export declare class PromptBuilder {
3
+ private template;
4
+ constructor(template: PromptTemplate);
5
+ build(): string;
6
+ private formatSection;
7
+ private getHeader;
8
+ }
9
+ //# sourceMappingURL=PromptBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptBuilder.d.ts","sourceRoot":"","sources":["../../src/prompts/PromptBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAiB;gBAErB,QAAQ,EAAE,cAAc;IAIpC,KAAK,IAAI,MAAM;IAIf,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,SAAS;CAgBlB"}
@@ -0,0 +1,34 @@
1
+ export class PromptBuilder {
2
+ template;
3
+ constructor(template) {
4
+ this.template = template;
5
+ }
6
+ build() {
7
+ return this.template.sections.map(section => this.formatSection(section)).join('\n\n');
8
+ }
9
+ formatSection(section) {
10
+ const header = this.getHeader(section.type);
11
+ // Custom sections include their own header in content
12
+ if (section.type === 'custom') {
13
+ return section.content;
14
+ }
15
+ return `${header}\n\n${section.content}`;
16
+ }
17
+ getHeader(type) {
18
+ const headers = {
19
+ personality: '# Personality',
20
+ goal: '# Goal',
21
+ guardrails: '# Guardrails',
22
+ tools: '# Tools',
23
+ tone: '# Tone',
24
+ character_normalization: '# Character Normalization',
25
+ voice_rules: '# Voice Output Rules',
26
+ glossary: '# Glossary',
27
+ system_reminder: '# System Reminder',
28
+ error_handling: '# Error Handling',
29
+ custom: '', // Custom sections include their own header in content
30
+ };
31
+ return headers[type] || '# Custom';
32
+ }
33
+ }
34
+ //# sourceMappingURL=PromptBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptBuilder.js","sourceRoot":"","sources":["../../src/prompts/PromptBuilder.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IAChB,QAAQ,CAAiB;IAEjC,YAAY,QAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzF,CAAC;IAEO,aAAa,CAAC,OAAsB;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,sDAAsD;QACtD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,OAAO,CAAC;QACzB,CAAC;QACD,OAAO,GAAG,MAAM,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IAEO,SAAS,CAAC,IAA2B;QAC3C,MAAM,OAAO,GAA2B;YACtC,WAAW,EAAE,eAAe;YAC5B,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,cAAc;YAC1B,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,QAAQ;YACd,uBAAuB,EAAE,2BAA2B;YACpD,WAAW,EAAE,sBAAsB;YACnC,QAAQ,EAAE,YAAY;YACtB,eAAe,EAAE,mBAAmB;YACpC,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,EAAE,EAAE,sDAAsD;SACnE,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC;IACrC,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ export type { PromptSection, PromptTemplate, ToolGuideline, PromptTemplateBuilderOptions } from './types.js';
2
+ export { PromptTemplateBuilder, createPromptTemplate } from './types.js';
3
+ export type { PromptSectionType, VoiceRulesConfig, VoiceRules, GlossaryTerm, GlossaryConfig } from './types.js';
4
+ export { PromptBuilder } from './PromptBuilder.js';
5
+ export { SUPPORT_AGENT_TEMPLATE, SALES_AGENT_TEMPLATE, TRIAGE_AGENT_TEMPLATE, createSupportAgentTemplate, BUILTIN_TEMPLATES, } from './templates.js';
6
+ export { getTemplate, registerTemplate, listTemplates, getAllTemplates } from './registry.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC7G,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { PromptTemplateBuilder, createPromptTemplate } from './types.js';
2
+ export { PromptBuilder } from './PromptBuilder.js';
3
+ export { SUPPORT_AGENT_TEMPLATE, SALES_AGENT_TEMPLATE, TRIAGE_AGENT_TEMPLATE, createSupportAgentTemplate, BUILTIN_TEMPLATES, } from './templates.js';
4
+ export { getTemplate, registerTemplate, listTemplates, getAllTemplates } from './registry.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { PromptTemplate } from './types.js';
2
+ export declare function getTemplate(id: string): PromptTemplate | undefined;
3
+ export declare function registerTemplate(template: PromptTemplate): void;
4
+ export declare function listTemplates(): string[];
5
+ export declare function getAllTemplates(): Record<string, PromptTemplate>;
6
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/prompts/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMjD,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAElE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAE/D;AAED,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAEhE"}
@@ -0,0 +1,16 @@
1
+ import { BUILTIN_TEMPLATES } from './templates.js';
2
+ // Global template registry
3
+ const templateRegistry = { ...BUILTIN_TEMPLATES };
4
+ export function getTemplate(id) {
5
+ return templateRegistry[id];
6
+ }
7
+ export function registerTemplate(template) {
8
+ templateRegistry[template.id] = template;
9
+ }
10
+ export function listTemplates() {
11
+ return Object.keys(templateRegistry);
12
+ }
13
+ export function getAllTemplates() {
14
+ return { ...templateRegistry };
15
+ }
16
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/prompts/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,2BAA2B;AAC3B,MAAM,gBAAgB,GAAmC,EAAE,GAAG,iBAAiB,EAAE,CAAC;AAElF,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAwB;IACvD,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;AACjC,CAAC"}