@falai/agent 0.1.4 → 0.2.0

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 (97) hide show
  1. package/README.md +117 -1
  2. package/dist/cjs/core/Agent.d.ts +11 -0
  3. package/dist/cjs/core/Agent.d.ts.map +1 -1
  4. package/dist/cjs/core/Agent.js +44 -2
  5. package/dist/cjs/core/Agent.js.map +1 -1
  6. package/dist/cjs/core/Events.d.ts +2 -2
  7. package/dist/cjs/core/Events.d.ts.map +1 -1
  8. package/dist/cjs/core/Events.js +4 -4
  9. package/dist/cjs/core/Events.js.map +1 -1
  10. package/dist/cjs/core/Observation.d.ts.map +1 -1
  11. package/dist/cjs/core/Observation.js +3 -2
  12. package/dist/cjs/core/Observation.js.map +1 -1
  13. package/dist/cjs/core/Route.d.ts.map +1 -1
  14. package/dist/cjs/core/Route.js +3 -4
  15. package/dist/cjs/core/Route.js.map +1 -1
  16. package/dist/cjs/core/State.d.ts +1 -1
  17. package/dist/cjs/core/State.d.ts.map +1 -1
  18. package/dist/cjs/core/State.js +4 -3
  19. package/dist/cjs/core/State.js.map +1 -1
  20. package/dist/cjs/core/Tool.d.ts +1 -0
  21. package/dist/cjs/core/Tool.d.ts.map +1 -1
  22. package/dist/cjs/core/Tool.js +3 -2
  23. package/dist/cjs/core/Tool.js.map +1 -1
  24. package/dist/cjs/index.d.ts +2 -1
  25. package/dist/cjs/index.d.ts.map +1 -1
  26. package/dist/cjs/index.js +7 -1
  27. package/dist/cjs/index.js.map +1 -1
  28. package/dist/cjs/types/agent.d.ts +26 -2
  29. package/dist/cjs/types/agent.d.ts.map +1 -1
  30. package/dist/cjs/types/observation.d.ts +2 -0
  31. package/dist/cjs/types/observation.d.ts.map +1 -1
  32. package/dist/cjs/types/route.d.ts +2 -0
  33. package/dist/cjs/types/route.d.ts.map +1 -1
  34. package/dist/cjs/types/tool.d.ts +6 -2
  35. package/dist/cjs/types/tool.d.ts.map +1 -1
  36. package/dist/cjs/utils/id.d.ts +25 -0
  37. package/dist/cjs/utils/id.d.ts.map +1 -0
  38. package/dist/cjs/utils/id.js +71 -0
  39. package/dist/cjs/utils/id.js.map +1 -0
  40. package/dist/core/Agent.d.ts +11 -0
  41. package/dist/core/Agent.d.ts.map +1 -1
  42. package/dist/core/Agent.js +44 -2
  43. package/dist/core/Agent.js.map +1 -1
  44. package/dist/core/Events.d.ts +2 -2
  45. package/dist/core/Events.d.ts.map +1 -1
  46. package/dist/core/Events.js +4 -4
  47. package/dist/core/Events.js.map +1 -1
  48. package/dist/core/Observation.d.ts.map +1 -1
  49. package/dist/core/Observation.js +3 -2
  50. package/dist/core/Observation.js.map +1 -1
  51. package/dist/core/Route.d.ts.map +1 -1
  52. package/dist/core/Route.js +3 -4
  53. package/dist/core/Route.js.map +1 -1
  54. package/dist/core/State.d.ts +1 -1
  55. package/dist/core/State.d.ts.map +1 -1
  56. package/dist/core/State.js +4 -3
  57. package/dist/core/State.js.map +1 -1
  58. package/dist/core/Tool.d.ts +1 -0
  59. package/dist/core/Tool.d.ts.map +1 -1
  60. package/dist/core/Tool.js +3 -2
  61. package/dist/core/Tool.js.map +1 -1
  62. package/dist/index.d.ts +2 -1
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +2 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/types/agent.d.ts +26 -2
  67. package/dist/types/agent.d.ts.map +1 -1
  68. package/dist/types/observation.d.ts +2 -0
  69. package/dist/types/observation.d.ts.map +1 -1
  70. package/dist/types/route.d.ts +2 -0
  71. package/dist/types/route.d.ts.map +1 -1
  72. package/dist/types/tool.d.ts +6 -2
  73. package/dist/types/tool.d.ts.map +1 -1
  74. package/dist/utils/id.d.ts +25 -0
  75. package/dist/utils/id.d.ts.map +1 -0
  76. package/dist/utils/id.js +65 -0
  77. package/dist/utils/id.js.map +1 -0
  78. package/docs/API_REFERENCE.md +122 -6
  79. package/docs/CONSTRUCTOR_OPTIONS.md +43 -36
  80. package/docs/CONTEXT_MANAGEMENT.md +447 -0
  81. package/docs/GETTING_STARTED.md +2 -0
  82. package/docs/PROVIDERS.md +3 -0
  83. package/examples/declarative-agent.ts +31 -7
  84. package/examples/persistent-onboarding.ts +464 -0
  85. package/package.json +1 -1
  86. package/src/core/Agent.ts +56 -2
  87. package/src/core/Events.ts +6 -4
  88. package/src/core/Observation.ts +3 -3
  89. package/src/core/Route.ts +3 -5
  90. package/src/core/State.ts +5 -4
  91. package/src/core/Tool.ts +4 -3
  92. package/src/index.ts +10 -0
  93. package/src/types/agent.ts +36 -2
  94. package/src/types/observation.ts +2 -0
  95. package/src/types/route.ts +2 -0
  96. package/src/types/tool.ts +6 -2
  97. package/src/utils/id.ts +74 -0
package/README.md CHANGED
@@ -103,6 +103,7 @@ interface SupportContext {
103
103
  // 2️⃣ Create AI provider (choose one)
104
104
  const ai = new GeminiProvider({
105
105
  apiKey: process.env.GEMINI_API_KEY!,
106
+ model: "models/gemini-2.5-flash",
106
107
  });
107
108
 
108
109
  // Or use OpenAI:
@@ -181,6 +182,7 @@ console.log(response.message); // 🎉 AI-powered response ready!
181
182
 
182
183
  - **[Getting Started](./docs/GETTING_STARTED.md)** - Your first agent in 5 minutes
183
184
  - **[Constructor Options](./docs/CONSTRUCTOR_OPTIONS.md)** - Declarative vs Fluent API patterns
185
+ - **[Context Management](./docs/CONTEXT_MANAGEMENT.md)** - Persistent conversations & state management
184
186
  - **[API Reference](./docs/API_REFERENCE.md)** - Complete API documentation
185
187
  - **[Architecture](./docs/STRUCTURE.md)** - Package structure and design principles
186
188
 
@@ -236,6 +238,7 @@ const fetchUserProfile = defineTool<
236
238
  return { data: profile };
237
239
  },
238
240
  {
241
+ id: "tool_fetch_user_profile", // Optional: custom ID for persistence
239
242
  description: "Retrieves user profile information from the database",
240
243
  }
241
244
  );
@@ -261,6 +264,7 @@ const agent = new Agent({
261
264
  ai: provider,
262
265
  routes: [
263
266
  {
267
+ id: "route_user_onboarding", // Optional: custom ID for consistency
264
268
  title: "User Onboarding",
265
269
  description: "Guide new users through account setup",
266
270
  conditions: ["User is new and needs onboarding"],
@@ -277,6 +281,7 @@ const agent = new Agent({
277
281
 
278
282
  // Option B: Programmatic (build flows dynamically)
279
283
  const onboardingRoute = agent.createRoute({
284
+ id: "route_user_onboarding", // Optional: custom ID
280
285
  title: "User Onboarding",
281
286
  description: "Guide new users through account setup",
282
287
  conditions: ["User is new and needs onboarding"],
@@ -324,14 +329,20 @@ const agent = new Agent({
324
329
  name: "HealthBot",
325
330
  ai: provider,
326
331
  routes: [
327
- { title: "Schedule Appointment", conditions: ["User wants to schedule"] },
328
332
  {
333
+ id: "route_schedule", // Custom ID
334
+ title: "Schedule Appointment",
335
+ conditions: ["User wants to schedule"],
336
+ },
337
+ {
338
+ id: "route_reschedule", // Custom ID
329
339
  title: "Reschedule Appointment",
330
340
  conditions: ["User wants to reschedule"],
331
341
  },
332
342
  ],
333
343
  observations: [
334
344
  {
345
+ id: "obs_appointment_intent", // Custom ID for tracking
335
346
  description: "User mentions appointment but intent is unclear",
336
347
  routeRefs: ["Schedule Appointment", "Reschedule Appointment"], // By title
337
348
  },
@@ -340,11 +351,13 @@ const agent = new Agent({
340
351
 
341
352
  // Option B: Programmatic
342
353
  const scheduleRoute = agent.createRoute({
354
+ id: "route_schedule", // Custom ID
343
355
  title: "Schedule Appointment",
344
356
  conditions: ["User wants to schedule"],
345
357
  });
346
358
 
347
359
  const rescheduleRoute = agent.createRoute({
360
+ id: "route_reschedule", // Custom ID
348
361
  title: "Reschedule Appointment",
349
362
  conditions: ["User wants to reschedule"],
350
363
  });
@@ -370,6 +383,56 @@ const response = await agent.respond({
370
383
  });
371
384
  ```
372
385
 
386
+ ### 🔄 Persistent Context Management
387
+
388
+ For **multi-turn conversations** that persist across requests, use lifecycle hooks:
389
+
390
+ ```typescript
391
+ import { Agent, type ContextLifecycleHooks } from "@falai/agent";
392
+
393
+ // Define persistence hooks
394
+ const hooks: ContextLifecycleHooks<MyContext> = {
395
+ // Load fresh context before each response
396
+ beforeRespond: async (currentContext) => {
397
+ return await database.loadContext(sessionId);
398
+ },
399
+
400
+ // Persist context after updates
401
+ onContextUpdate: async (newContext, previousContext) => {
402
+ await database.saveContext(sessionId, newContext);
403
+ },
404
+ };
405
+
406
+ const agent = new Agent({
407
+ name: "PersistentBot",
408
+ ai: provider,
409
+ context: initialContext,
410
+ hooks, // Enable automatic persistence
411
+ });
412
+
413
+ // Tools can update context
414
+ const saveTool = defineTool("save_data", async (ctx, data) => {
415
+ // Option 1: Return context update
416
+ return {
417
+ data: true,
418
+ contextUpdate: { savedData: data },
419
+ };
420
+
421
+ // Option 2: Call updateContext directly
422
+ // await ctx.updateContext({ savedData: data });
423
+ // return { data: true };
424
+ });
425
+ ```
426
+
427
+ **Key patterns:**
428
+
429
+ - ✅ **Recreate agents** for each request (context loaded fresh via hooks)
430
+ - ✅ **Use `onContextUpdate`** to persist to database/cache
431
+ - ✅ **Use `beforeRespond`** to load fresh context before responding
432
+ - ❌ **Don't cache agent instances** across requests (context gets stale)
433
+
434
+ See [Context Management Guide](./docs/CONTEXT_MANAGEMENT.md) for complete patterns and best practices.
435
+
373
436
  ### 📖 Domain Glossary
374
437
 
375
438
  Teach your agent business-specific language:
@@ -388,6 +451,49 @@ agent
388
451
  });
389
452
  ```
390
453
 
454
+ ### 🆔 Deterministic IDs & Persistence
455
+
456
+ All entities (routes, states, observations, tools) have **deterministic IDs** by default, ensuring consistency across server restarts:
457
+
458
+ ```typescript
459
+ import {
460
+ generateRouteId,
461
+ generateToolId,
462
+ generateObservationId,
463
+ } from "@falai/agent";
464
+
465
+ // Auto-generated deterministic IDs (recommended)
466
+ const route = agent.createRoute({
467
+ title: "User Onboarding",
468
+ // ID will be: route_user_onboarding_{hash}
469
+ });
470
+
471
+ // Or provide custom IDs when you need specific control
472
+ const route = agent.createRoute({
473
+ id: "my_custom_route_id", // Custom ID for database persistence
474
+ title: "User Onboarding",
475
+ });
476
+
477
+ // Generate IDs manually if needed
478
+ const routeId = generateRouteId("User Onboarding");
479
+ const toolId = generateToolId("fetch_user_data");
480
+
481
+ // Custom timestamps for events (useful for historical data)
482
+ const event = createMessageEvent(
483
+ EventSource.CUSTOMER,
484
+ "Alice",
485
+ "Hello!",
486
+ "2025-10-13T10:30:00Z" // Optional: custom timestamp
487
+ );
488
+ ```
489
+
490
+ **Why this matters:**
491
+
492
+ - ✅ **Database Safe** - Store IDs in your database without worrying about changes
493
+ - ✅ **Analytics Ready** - Track metrics and user journeys reliably
494
+ - ✅ **Multi-Instance** - Deploy multiple server instances with consistent IDs
495
+ - ✅ **Migration Friendly** - IDs remain stable during deployments
496
+
391
497
  ### ⚙️ Advanced Configuration
392
498
 
393
499
  Fine-tune AI provider behavior - works with both Gemini and OpenAI:
@@ -432,6 +538,16 @@ const openaiProvider = new OpenAIProvider({
432
538
  - 🔗 Route references by title in observations
433
539
  - ➕ Dynamic additions after construction
434
540
 
541
+ ### 💾 [Persistent Onboarding Agent](./examples/persistent-onboarding.ts)
542
+
543
+ **Multi-turn conversation with state persistence:**
544
+
545
+ - 🔄 Context lifecycle hooks for database integration
546
+ - 💾 Automatic persistence on context updates
547
+ - 🏭 Factory pattern for agent creation
548
+ - 🔧 Two approaches: lifecycle hooks vs context provider
549
+ - 📝 Complete onboarding flow across multiple turns
550
+
435
551
  ### 🌍 [Travel Booking Agent](./examples/travel-agent.ts)
436
552
 
437
553
  A complete travel agent implementation featuring:
@@ -18,6 +18,7 @@ export declare class Agent<TContext = unknown> {
18
18
  private routes;
19
19
  private observations;
20
20
  private domainRegistry;
21
+ private context;
21
22
  /**
22
23
  * Dynamic domain property - populated via addDomain
23
24
  */
@@ -59,6 +60,16 @@ export declare class Agent<TContext = unknown> {
59
60
  * Add a domain with its tools/methods
60
61
  */
61
62
  addDomain<TName extends string, TDomain extends Record<string, unknown>>(name: TName, domainObject: TDomain): void;
63
+ /**
64
+ * Update the agent's context
65
+ * Triggers the onContextUpdate lifecycle hook if configured
66
+ */
67
+ updateContext(updates: Partial<TContext>): Promise<void>;
68
+ /**
69
+ * Get current context (fetches from provider if configured)
70
+ * @internal
71
+ */
72
+ private getContext;
62
73
  /**
63
74
  * Generate a response based on history and context
64
75
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,12 @@ class Agent {
28
28
  if (!this.options.maxEngineIterations) {
29
29
  this.options.maxEngineIterations = 1;
30
30
  }
31
+ // Validate context configuration
32
+ if (options.context !== undefined && options.contextProvider) {
33
+ throw new Error("Cannot provide both 'context' and 'contextProvider'. Choose one.");
34
+ }
35
+ // Initialize context if provided
36
+ this.context = options.context;
31
37
  // Initialize from options
32
38
  if (options.terms) {
33
39
  this.terms = [...options.terms];
@@ -137,14 +143,50 @@ class Agent {
137
143
  // Attach to the domain property for easy access
138
144
  this.domain[name] = domainObject;
139
145
  }
146
+ /**
147
+ * Update the agent's context
148
+ * Triggers the onContextUpdate lifecycle hook if configured
149
+ */
150
+ async updateContext(updates) {
151
+ const previousContext = this.context;
152
+ // Merge updates with current context
153
+ this.context = {
154
+ ...this.context,
155
+ ...updates,
156
+ };
157
+ // Trigger lifecycle hook if configured
158
+ if (this.options.hooks?.onContextUpdate && previousContext !== undefined) {
159
+ await this.options.hooks.onContextUpdate(this.context, previousContext);
160
+ }
161
+ }
162
+ /**
163
+ * Get current context (fetches from provider if configured)
164
+ * @internal
165
+ */
166
+ async getContext() {
167
+ // If context provider is configured, use it to fetch fresh context
168
+ if (this.options.contextProvider) {
169
+ return await this.options.contextProvider();
170
+ }
171
+ // Otherwise return the stored context
172
+ return this.context;
173
+ }
140
174
  /**
141
175
  * Generate a response based on history and context
142
176
  */
143
177
  async respond(params) {
144
178
  const { history, contextOverride, signal } = params;
145
- // Merge context
179
+ // Get current context (may fetch from provider)
180
+ let currentContext = await this.getContext();
181
+ // Call beforeRespond hook if configured
182
+ if (this.options.hooks?.beforeRespond && currentContext !== undefined) {
183
+ currentContext = await this.options.hooks.beforeRespond(currentContext);
184
+ // Update stored context with the result from beforeRespond
185
+ this.context = currentContext;
186
+ }
187
+ // Merge context with override
146
188
  const effectiveContext = {
147
- ...this.options.context,
189
+ ...currentContext,
148
190
  ...contextOverride,
149
191
  };
150
192
  // Build prompt
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,9 @@ export declare function adaptEvent(e: Event | EmittedEvent): string;
11
11
  /**
12
12
  * Create a message event
13
13
  */
14
- export declare function createMessageEvent(source: EventSource, participantName: string, message: string): Event<MessageEventData>;
14
+ export declare function createMessageEvent(source: EventSource, participantName: string, message: string, timestamp?: string): Event<MessageEventData>;
15
15
  /**
16
16
  * Create a tool event
17
17
  */
18
- export declare function createToolEvent(source: EventSource, toolCalls: ToolCall[]): Event<ToolEventData>;
18
+ export declare function createToolEvent(source: EventSource, toolCalls: ToolCall[], timestamp?: string): Event<ToolEventData>;
19
19
  //# sourceMappingURL=Events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../../src/core/Events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAa,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,MAAM,CA+C1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,GACd,KAAK,CAAC,gBAAgB,CAAC,CAUzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,QAAQ,EAAE,GACpB,KAAK,CAAC,aAAa,CAAC,CAStB"}
1
+ {"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../../src/core/Events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAa,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,MAAM,CA+C1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,KAAK,CAAC,gBAAgB,CAAC,CAUzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,KAAK,CAAC,aAAa,CAAC,CAStB"}
@@ -57,7 +57,7 @@ function adaptEvent(e) {
57
57
  /**
58
58
  * Create a message event
59
59
  */
60
- function createMessageEvent(source, participantName, message) {
60
+ function createMessageEvent(source, participantName, message, timestamp) {
61
61
  return {
62
62
  kind: history_1.EventKind.MESSAGE,
63
63
  source,
@@ -65,20 +65,20 @@ function createMessageEvent(source, participantName, message) {
65
65
  participant: { display_name: participantName },
66
66
  message,
67
67
  },
68
- timestamp: new Date().toISOString(),
68
+ timestamp: timestamp || new Date().toISOString(),
69
69
  };
70
70
  }
71
71
  /**
72
72
  * Create a tool event
73
73
  */
74
- function createToolEvent(source, toolCalls) {
74
+ function createToolEvent(source, toolCalls, timestamp) {
75
75
  return {
76
76
  kind: history_1.EventKind.TOOL,
77
77
  source,
78
78
  data: {
79
79
  tool_calls: toolCalls,
80
80
  },
81
- timestamp: new Date().toISOString(),
81
+ timestamp: timestamp || new Date().toISOString(),
82
82
  };
83
83
  }
84
84
  //# sourceMappingURL=Events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Events.js","sourceRoot":"","sources":["../../../src/core/Events.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAeH,gCA+CC;AAKD,gDAcC;AAKD,0CAYC;AAzFD,8CAA0D;AAE1D;;;GAGG;AACH,SAAgB,UAAU,CAAC,CAAuB;IAChD,IAAI,IAAI,GAAY,CAAC,CAAC,IAAI,CAAC;IAE3B,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAS,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAwB,CAAC;QAE/C,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,GAAG;gBACL,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY;gBACjD,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI;aAC1B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,GAAG;gBACL,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY;gBACjD,OAAO,EAAE,WAAW,CAAC,OAAO;aAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAS,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAqB,CAAC;QAEzC,IAAI,GAAG;YACL,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3C,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI;aACvB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAgC;QAC7C,CAAC,qBAAW,CAAC,QAAQ,CAAC,EAAE,MAAM;QAC9B,CAAC,qBAAW,CAAC,WAAW,CAAC,EAAE,sBAAsB;QACjD,CAAC,qBAAW,CAAC,WAAW,CAAC,EAAE,qBAAqB;QAChD,CAAC,qBAAW,CAAC,iCAAiC,CAAC,EAAE,UAAU;QAC3D,CAAC,qBAAW,CAAC,QAAQ,CAAC,EAAE,UAAU;QAClC,CAAC,qBAAW,CAAC,MAAM,CAAC,EAAE,iBAAiB;KACxC,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC,IAAI;QAClB,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QACjC,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,MAAmB,EACnB,eAAuB,EACvB,OAAe;IAEf,OAAO;QACL,IAAI,EAAE,mBAAS,CAAC,OAAO;QACvB,MAAM;QACN,IAAI,EAAE;YACJ,WAAW,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE;YAC9C,OAAO;SACR;QACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAC7B,MAAmB,EACnB,SAAqB;IAErB,OAAO;QACL,IAAI,EAAE,mBAAS,CAAC,IAAI;QACpB,MAAM;QACN,IAAI,EAAE;YACJ,UAAU,EAAE,SAAS;SACtB;QACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Events.js","sourceRoot":"","sources":["../../../src/core/Events.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAeH,gCA+CC;AAKD,gDAeC;AAKD,0CAaC;AA3FD,8CAA0D;AAE1D;;;GAGG;AACH,SAAgB,UAAU,CAAC,CAAuB;IAChD,IAAI,IAAI,GAAY,CAAC,CAAC,IAAI,CAAC;IAE3B,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAS,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAwB,CAAC;QAE/C,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,GAAG;gBACL,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY;gBACjD,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI;aAC1B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,GAAG;gBACL,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY;gBACjD,OAAO,EAAE,WAAW,CAAC,OAAO;aAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAS,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAqB,CAAC;QAEzC,IAAI,GAAG;YACL,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3C,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI;aACvB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAgC;QAC7C,CAAC,qBAAW,CAAC,QAAQ,CAAC,EAAE,MAAM;QAC9B,CAAC,qBAAW,CAAC,WAAW,CAAC,EAAE,sBAAsB;QACjD,CAAC,qBAAW,CAAC,WAAW,CAAC,EAAE,qBAAqB;QAChD,CAAC,qBAAW,CAAC,iCAAiC,CAAC,EAAE,UAAU;QAC3D,CAAC,qBAAW,CAAC,QAAQ,CAAC,EAAE,UAAU;QAClC,CAAC,qBAAW,CAAC,MAAM,CAAC,EAAE,iBAAiB;KACxC,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC,IAAI;QAClB,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QACjC,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,MAAmB,EACnB,eAAuB,EACvB,OAAe,EACf,SAAkB;IAElB,OAAO;QACL,IAAI,EAAE,mBAAS,CAAC,OAAO;QACvB,MAAM;QACN,IAAI,EAAE;YACJ,WAAW,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE;YAC9C,OAAO;SACR;QACD,SAAS,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACjD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAC7B,MAAmB,EACnB,SAAqB,EACrB,SAAkB;IAElB,OAAO;QACL,IAAI,EAAE,mBAAS,CAAC,IAAI;QACpB,MAAM;QACN,IAAI,EAAE;YACJ,UAAU,EAAE,SAAS;SACtB;QACD,SAAS,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACjD,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Observation.d.ts","sourceRoot":"","sources":["../../../src/core/Observation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,IAAI,YAAY,EAC3B,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC;;GAEG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,WAAW,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,QAAQ,EAAE,CAAM;gBAEnB,OAAO,EAAE,kBAAkB;IAKvC;;OAEG;IAEH,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,EAAE,GAAG,IAAI;IAUrD;;OAEG;IACH,SAAS,IAAI,QAAQ,EAAE;CAGxB"}
1
+ {"version":3,"file":"Observation.d.ts","sourceRoot":"","sources":["../../../src/core/Observation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,IAAI,YAAY,EAC3B,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGrC;;GAEG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,WAAW,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,QAAQ,EAAE,CAAM;gBAEnB,OAAO,EAAE,kBAAkB;IAMvC;;OAEG;IAEH,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,EAAE,GAAG,IAAI;IAUrD;;OAEG;IACH,SAAS,IAAI,QAAQ,EAAE;CAGxB"}
@@ -4,14 +4,15 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Observation = void 0;
7
- let observationIdCounter = 0;
7
+ const id_1 = require("../utils/id");
8
8
  /**
9
9
  * An observation that can trigger disambiguation between routes
10
10
  */
11
11
  class Observation {
12
12
  constructor(options) {
13
13
  this.routes = [];
14
- this.id = `observation_${++observationIdCounter}`;
14
+ // Use provided ID or generate a deterministic one from the description
15
+ this.id = options.id || (0, id_1.generateObservationId)(options.description);
15
16
  this.description = options.description;
16
17
  }
17
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Observation.js","sourceRoot":"","sources":["../../../src/core/Observation.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AASH,IAAI,oBAAoB,GAAG,CAAC,CAAC;AAE7B;;GAEG;AACH,MAAa,WAAW;IAKtB,YAAY,OAA2B;QAFhC,WAAM,GAAe,EAAE,CAAC;QAG7B,IAAI,CAAC,EAAE,GAAG,eAAe,EAAE,oBAAoB,EAAE,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,8DAA8D;IAC9D,YAAY,CAAC,MAAiC;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClB,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;CACF;AA9BD,kCA8BC"}
1
+ {"version":3,"file":"Observation.js","sourceRoot":"","sources":["../../../src/core/Observation.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAQH,oCAAoD;AAEpD;;GAEG;AACH,MAAa,WAAW;IAKtB,YAAY,OAA2B;QAFhC,WAAM,GAAe,EAAE,CAAC;QAG7B,uEAAuE;QACvE,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,IAAA,0BAAqB,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,8DAA8D;IAC9D,YAAY,CAAC,MAAiC;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClB,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;CACF;AA/BD,kCA+BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../../src/core/Route.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC;;GAEG;AACH,qBAAa,KAAK,CAAC,QAAQ,GAAG,OAAO;IACnC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrC,SAAgB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrC,SAAgB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,CAAC,UAAU,CAAmB;gBAEzB,OAAO,EAAE,YAAY;IAiBjC;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAS3C;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE;IAI5B;;OAEG;IACH,MAAM,IAAI,QAAQ;IAMlB;;;OAGG;IACH,KAAK,IAAI,QAAQ,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;KAAE;IAO9C;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;IA2BjC;;OAEG;IACH,QAAQ,IAAI,MAAM;CAwBnB"}
1
+ {"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../../src/core/Route.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC;;GAEG;AACH,qBAAa,KAAK,CAAC,QAAQ,GAAG,OAAO;IACnC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrC,SAAgB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrC,SAAgB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,CAAC,UAAU,CAAmB;gBAEzB,OAAO,EAAE,YAAY;IAgBjC;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAS3C;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE;IAI5B;;OAEG;IACH,MAAM,IAAI,QAAQ;IAMlB;;;OAGG;IACH,KAAK,IAAI,QAAQ,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;KAAE;IAO9C;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;IA2BjC;;OAEG;IACH,QAAQ,IAAI,MAAM;CAwBnB"}
@@ -5,16 +5,15 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Route = void 0;
7
7
  const State_1 = require("./State");
8
- let routeIdCounter = 0;
8
+ const id_1 = require("../utils/id");
9
9
  /**
10
10
  * Represents a conversational route/journey
11
11
  */
12
12
  class Route {
13
13
  constructor(options) {
14
14
  this.guidelines = [];
15
- this.id = `route_${++routeIdCounter}_${options.title
16
- .toLowerCase()
17
- .replace(/\s+/g, "_")}`;
15
+ // Use provided ID or generate a deterministic one from the title
16
+ this.id = options.id || (0, id_1.generateRouteId)(options.title);
18
17
  this.title = options.title;
19
18
  this.description = options.description;
20
19
  this.conditions = options.conditions || [];
@@ -1 +1 @@
1
- {"version":3,"file":"Route.js","sourceRoot":"","sources":["../../../src/core/Route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Route.js","sourceRoot":"","sources":["../../../src/core/Route.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export declare class State<TContext = unknown> {
13
13
  readonly id: string;
14
14
  private transitions;
15
15
  private guidelines;
16
- constructor(routeId: string, description?: string | undefined);
16
+ constructor(routeId: string, description?: string | undefined, customId?: string);
17
17
  /**
18
18
  * Create a transition from this state to another
19
19
  *
@@ -1 +1 @@
1
- {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../src/core/State.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C;;GAEG;AACH,qBAAa,KAAK,CAAC,QAAQ,GAAG,OAAO;aAMjB,OAAO,EAAE,MAAM;aACf,WAAW,CAAC,EAAE,MAAM;IANtC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,UAAU,CAAmB;gBAGnB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,YAAA;IAKtC;;;;;;OAMG;IACH,YAAY,CACV,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,EAC9B,SAAS,CAAC,EAAE,MAAM,GACjB,gBAAgB,CAAC,QAAQ,CAAC;IAiD7B;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIxC;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE;IAI5B;;OAEG;IACH,cAAc,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;IAIxC;;OAEG;IACH,MAAM,IAAI,QAAQ;IAOlB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAkBpC;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAkB1B"}
1
+ {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../src/core/State.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;;GAEG;AACH,qBAAa,KAAK,CAAC,QAAQ,GAAG,OAAO;aAMjB,OAAO,EAAE,MAAM;aACf,WAAW,CAAC,EAAE,MAAM;IANtC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,UAAU,CAAmB;gBAGnB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,YAAA,EACpC,QAAQ,CAAC,EAAE,MAAM;IAMnB;;;;;;OAMG;IACH,YAAY,CACV,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,EAC9B,SAAS,CAAC,EAAE,MAAM,GACjB,gBAAgB,CAAC,QAAQ,CAAC;IAiD7B;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIxC;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE;IAI5B;;OAEG;IACH,cAAc,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;IAIxC;;OAEG;IACH,MAAM,IAAI,QAAQ;IAOlB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAkBpC;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAkB1B"}
@@ -6,17 +6,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.State = void 0;
7
7
  const constants_1 = require("../constants");
8
8
  const Transition_1 = require("./Transition");
9
- let stateIdCounter = 0;
9
+ const id_1 = require("../utils/id");
10
10
  /**
11
11
  * Represents a state within a route
12
12
  */
13
13
  class State {
14
- constructor(routeId, description) {
14
+ constructor(routeId, description, customId) {
15
15
  this.routeId = routeId;
16
16
  this.description = description;
17
17
  this.transitions = [];
18
18
  this.guidelines = [];
19
- this.id = `state_${++stateIdCounter}`;
19
+ // Use provided ID or generate a deterministic one
20
+ this.id = customId || (0, id_1.generateStateId)(routeId, description);
20
21
  }
21
22
  /**
22
23
  * Create a transition from this state to another
@@ -1 +1 @@
1
- {"version":3,"file":"State.js","sourceRoot":"","sources":["../../../src/core/State.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"State.js","sourceRoot":"","sources":["../../../src/core/State.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ import type { ToolContext, ToolHandler, ToolRef, ToolResult } from "../types/too
21
21
  * ```
22
22
  */
23
23
  export declare function defineTool<TContext, TArgs extends unknown[], TResult>(name: string, handler: ToolHandler<TContext, TArgs, TResult>, options?: {
24
+ id?: string;
24
25
  description?: string;
25
26
  parameters?: unknown;
26
27
  }): ToolRef<TContext, TArgs, TResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"Tool.d.ts","sourceRoot":"","sources":["../../../src/core/Tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,OAAO,EACP,UAAU,EACX,MAAM,eAAe,CAAC;AAIvB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EACnE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,EAC9C,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAUnC;AAED;;GAEG;AACH,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"Tool.d.ts","sourceRoot":"","sources":["../../../src/core/Tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,OAAO,EACP,UAAU,EACX,MAAM,eAAe,CAAC;AAGvB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EACnE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,EAC9C,OAAO,CAAC,EAAE;IACR,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAWnC;AAED;;GAEG;AACH,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.defineTool = defineTool;
7
- let toolIdCounter = 0;
7
+ const id_1 = require("../utils/id");
8
8
  /**
9
9
  * Define a new tool with type-safe context and arguments
10
10
  *
@@ -24,7 +24,8 @@ let toolIdCounter = 0;
24
24
  * ```
25
25
  */
26
26
  function defineTool(name, handler, options) {
27
- const id = `tool_${++toolIdCounter}_${name}`;
27
+ // Use provided ID or generate a deterministic one from the name
28
+ const id = options?.id || (0, id_1.generateToolId)(name);
28
29
  return {
29
30
  id,
30
31
  name,
@@ -1 +1 @@
1
- {"version":3,"file":"Tool.js","sourceRoot":"","sources":["../../../src/core/Tool.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA6BH,gCAiBC;AArCD,IAAI,aAAa,GAAG,CAAC,CAAC;AAEtB;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,UAAU,CACxB,IAAY,EACZ,OAA8C,EAC9C,OAGC;IAED,MAAM,EAAE,GAAG,QAAQ,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC;IAE7C,OAAO;QACL,EAAE;QACF,IAAI;QACJ,OAAO;QACP,WAAW,EAAE,OAAO,EAAE,WAAW;QACjC,UAAU,EAAE,OAAO,EAAE,UAAU;KAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Tool.js","sourceRoot":"","sources":["../../../src/core/Tool.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA4BH,gCAmBC;AAvCD,oCAA6C;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,UAAU,CACxB,IAAY,EACZ,OAA8C,EAC9C,OAIC;IAED,gEAAgE;IAChE,MAAM,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,IAAA,mBAAc,EAAC,IAAI,CAAC,CAAC;IAE/C,OAAO;QACL,EAAE;QACF,IAAI;QACJ,OAAO;QACP,WAAW,EAAE,OAAO,EAAE,WAAW;QACjC,UAAU,EAAE,OAAO,EAAE,UAAU;KAChC,CAAC;AACJ,CAAC"}
@@ -21,7 +21,8 @@ export type { OpenAIProviderOptions } from "./providers/OpenAIProvider";
21
21
  export { OpenRouterProvider } from "./providers/OpenRouterProvider";
22
22
  export type { OpenRouterProviderOptions } from "./providers/OpenRouterProvider";
23
23
  export { END_ROUTE } from "./constants";
24
- export type { AgentOptions, Term, Guideline, Capability, GuidelineMatch, } from "./types/agent";
24
+ export { generateRouteId, generateStateId, generateObservationId, generateToolId, } from "./utils/id";
25
+ export type { AgentOptions, Term, Guideline, Capability, GuidelineMatch, ContextLifecycleHooks, ContextProvider, } from "./types/agent";
25
26
  export { CompositionMode } from "./types/agent";
26
27
  export type { Event, EmittedEvent, MessageEventData, ToolEventData, StatusEventData, Participant, } from "./types/history";
27
28
  export { EventKind, EventSource } from "./types/history";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAGhF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,YAAY,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,YAAY,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,OAAO,GACR,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,aAAa,EACb,eAAe,EACf,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,YAAY,EACV,WAAW,IAAI,YAAY,EAC3B,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAGhF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,YAAY,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,OAAO,GACR,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,aAAa,EACb,eAAe,EACf,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,YAAY,EACV,WAAW,IAAI,YAAY,EAC3B,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * A strongly-typed, modular agent framework with route DSL and AI provider strategy
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.SectionStatus = exports.EventSource = exports.EventKind = exports.CompositionMode = exports.END_ROUTE = exports.OpenRouterProvider = exports.OpenAIProvider = exports.GeminiProvider = exports.BuiltInSection = exports.PromptBuilder = exports.createToolEvent = exports.createMessageEvent = exports.adaptEvent = exports.DomainRegistry = exports.defineTool = exports.Observation = exports.Transition = exports.State = exports.Route = exports.Agent = void 0;
8
+ exports.SectionStatus = exports.EventSource = exports.EventKind = exports.CompositionMode = exports.generateToolId = exports.generateObservationId = exports.generateStateId = exports.generateRouteId = exports.END_ROUTE = exports.OpenRouterProvider = exports.OpenAIProvider = exports.GeminiProvider = exports.BuiltInSection = exports.PromptBuilder = exports.createToolEvent = exports.createMessageEvent = exports.adaptEvent = exports.DomainRegistry = exports.defineTool = exports.Observation = exports.Transition = exports.State = exports.Route = exports.Agent = void 0;
9
9
  // Core
10
10
  var Agent_1 = require("./core/Agent");
11
11
  Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return Agent_1.Agent; } });
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "OpenRouterProvider", { enumerable: true, get: fu
39
39
  // Constants
40
40
  var constants_1 = require("./constants");
41
41
  Object.defineProperty(exports, "END_ROUTE", { enumerable: true, get: function () { return constants_1.END_ROUTE; } });
42
+ // Utils
43
+ var id_1 = require("./utils/id");
44
+ Object.defineProperty(exports, "generateRouteId", { enumerable: true, get: function () { return id_1.generateRouteId; } });
45
+ Object.defineProperty(exports, "generateStateId", { enumerable: true, get: function () { return id_1.generateStateId; } });
46
+ Object.defineProperty(exports, "generateObservationId", { enumerable: true, get: function () { return id_1.generateObservationId; } });
47
+ Object.defineProperty(exports, "generateToolId", { enumerable: true, get: function () { return id_1.generateToolId; } });
42
48
  var agent_1 = require("./types/agent");
43
49
  Object.defineProperty(exports, "CompositionMode", { enumerable: true, get: function () { return agent_1.CompositionMode; } });
44
50
  var history_1 = require("./types/history");