@falai/agent 0.6.7 → 0.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +162 -30
  2. package/dist/cjs/core/Agent.d.ts +18 -0
  3. package/dist/cjs/core/Agent.d.ts.map +1 -1
  4. package/dist/cjs/core/Agent.js +218 -15
  5. package/dist/cjs/core/Agent.js.map +1 -1
  6. package/dist/cjs/core/Route.d.ts +12 -1
  7. package/dist/cjs/core/Route.d.ts.map +1 -1
  8. package/dist/cjs/core/Route.js +38 -1
  9. package/dist/cjs/core/Route.js.map +1 -1
  10. package/dist/cjs/core/RoutingEngine.d.ts.map +1 -1
  11. package/dist/cjs/core/RoutingEngine.js +3 -1
  12. package/dist/cjs/core/RoutingEngine.js.map +1 -1
  13. package/dist/cjs/core/State.js +1 -1
  14. package/dist/cjs/core/State.js.map +1 -1
  15. package/dist/cjs/index.d.ts +2 -2
  16. package/dist/cjs/index.d.ts.map +1 -1
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/types/route.d.ts +51 -0
  19. package/dist/cjs/types/route.d.ts.map +1 -1
  20. package/dist/cjs/types/session.d.ts +17 -1
  21. package/dist/cjs/types/session.d.ts.map +1 -1
  22. package/dist/cjs/types/session.js.map +1 -1
  23. package/dist/core/Agent.d.ts +18 -0
  24. package/dist/core/Agent.d.ts.map +1 -1
  25. package/dist/core/Agent.js +219 -16
  26. package/dist/core/Agent.js.map +1 -1
  27. package/dist/core/Route.d.ts +12 -1
  28. package/dist/core/Route.d.ts.map +1 -1
  29. package/dist/core/Route.js +38 -1
  30. package/dist/core/Route.js.map +1 -1
  31. package/dist/core/RoutingEngine.d.ts.map +1 -1
  32. package/dist/core/RoutingEngine.js +3 -1
  33. package/dist/core/RoutingEngine.js.map +1 -1
  34. package/dist/core/State.js +1 -1
  35. package/dist/core/State.js.map +1 -1
  36. package/dist/index.d.ts +2 -2
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/types/route.d.ts +51 -0
  40. package/dist/types/route.d.ts.map +1 -1
  41. package/dist/types/session.d.ts +17 -1
  42. package/dist/types/session.d.ts.map +1 -1
  43. package/dist/types/session.js.map +1 -1
  44. package/docs/EXAMPLES.md +51 -2
  45. package/docs/ROUTES.md +345 -1
  46. package/docs/STATES.md +97 -7
  47. package/examples/business-onboarding.ts +10 -12
  48. package/examples/company-qna-agent.ts +4 -5
  49. package/examples/healthcare-agent.ts +63 -0
  50. package/examples/persistent-onboarding.ts +6 -8
  51. package/examples/route-transitions.ts +242 -0
  52. package/examples/travel-agent.ts +60 -0
  53. package/package.json +1 -1
  54. package/src/core/Agent.ts +338 -16
  55. package/src/core/Route.ts +53 -1
  56. package/src/core/RoutingEngine.ts +3 -1
  57. package/src/core/State.ts +1 -1
  58. package/src/index.ts +3 -1
  59. package/src/types/route.ts +57 -0
  60. package/src/types/session.ts +20 -2
@@ -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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"}
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * Core Agent implementation
3
3
  */
4
- import { createSession, enterState, mergeExtracted } from "../types/session";
4
+ import { createSession, enterRoute, enterState, mergeExtracted } from "../types/session";
5
5
  import { PromptComposer } from "./PromptComposer";
6
6
  import { logger, LoggerLevel } from "../utils/logger";
7
7
  import { Route } from "./Route";
8
+ import { State } from "./State";
8
9
  import { DomainRegistry } from "./DomainRegistry";
9
10
  import { PersistenceManager } from "./PersistenceManager";
10
11
  import { RoutingEngine } from "./RoutingEngine";
@@ -187,8 +188,7 @@ export class Agent {
187
188
  };
188
189
  // Trigger lifecycle hook if configured
189
190
  if (this.options.hooks?.onExtractedUpdate) {
190
- const updatedExtracted = (await this.options.hooks.onExtractedUpdate(newExtracted, previousExtracted));
191
- newExtracted = updatedExtracted;
191
+ newExtracted = (await this.options.hooks.onExtractedUpdate(newExtracted, previousExtracted));
192
192
  }
193
193
  // Return updated session
194
194
  return mergeExtracted(session, newExtracted);
@@ -257,7 +257,34 @@ export class Agent {
257
257
  let responseDirectives;
258
258
  let selectedState;
259
259
  let isRouteComplete = false;
260
- if (this.routes.length > 0) {
260
+ // Check for pending transition from previous route completion
261
+ if (session.pendingTransition) {
262
+ const targetRoute = this.routes.find((r) => r.id === session.pendingTransition?.targetRouteId);
263
+ if (targetRoute) {
264
+ logger.debug(`[Agent] Auto-transitioning from pending transition to route: ${targetRoute.title}`);
265
+ // Clear pending transition and enter new route
266
+ session = {
267
+ ...session,
268
+ pendingTransition: undefined,
269
+ };
270
+ session = enterRoute(session, targetRoute.id, targetRoute.title);
271
+ // Merge initial data if available
272
+ if (targetRoute.initialData) {
273
+ session = mergeExtracted(session, targetRoute.initialData);
274
+ }
275
+ selectedRoute = targetRoute;
276
+ }
277
+ else {
278
+ logger.warn(`[Agent] Pending transition target route not found: ${session.pendingTransition.targetRouteId}`);
279
+ // Clear invalid transition
280
+ session = {
281
+ ...session,
282
+ pendingTransition: undefined,
283
+ };
284
+ }
285
+ }
286
+ // If no pending transition or transition handled, do normal routing
287
+ if (this.routes.length > 0 && !selectedRoute) {
261
288
  const orchestration = await this.routingEngine.decideRouteAndState({
262
289
  routes: this.routes,
263
290
  session,
@@ -378,17 +405,74 @@ export class Agent {
378
405
  }
379
406
  }
380
407
  else if (isRouteComplete && selectedRoute) {
381
- // Route is complete - set state to END_STATE marker and yield completion signal
408
+ // Route is complete - generate completion message then check for onComplete transition
409
+ const lastUserMessage = getLastMessageFromHistory(history);
410
+ // Get endState spec from route
411
+ const endStateSpec = selectedRoute.endStateSpec;
412
+ // Create a temporary state for completion message generation using endState configuration
413
+ const completionState = new State(selectedRoute.id, endStateSpec.chatState || "Summarize what was accomplished and confirm completion", endStateSpec.id || END_STATE_ID, endStateSpec.gather, undefined, endStateSpec.requiredData, endStateSpec.chatState || "Summarize what was accomplished and confirm completion based on the conversation history and collected data");
414
+ // Build response schema for completion
415
+ const responseSchema = this.responseEngine.responseSchemaForRoute(selectedRoute, completionState);
416
+ // Build completion response prompt
417
+ const completionPrompt = this.responseEngine.buildResponsePrompt(selectedRoute, completionState, selectedRoute.getRules(), selectedRoute.getProhibitions(), undefined, // No directives for completion
418
+ history, lastUserMessage, {
419
+ name: this.options.name,
420
+ goal: this.options.goal,
421
+ description: this.options.description,
422
+ personality: this.options.personality,
423
+ });
424
+ // Stream completion message using AI provider
425
+ const stream = this.options.ai.generateMessageStream({
426
+ prompt: completionPrompt,
427
+ history,
428
+ context: effectiveContext,
429
+ signal,
430
+ parameters: {
431
+ jsonSchema: responseSchema,
432
+ schemaName: "completion_message_stream",
433
+ },
434
+ });
435
+ logger.debug(`[Agent] Streaming completion message for route: ${selectedRoute.title}`);
436
+ // Check for onComplete transition
437
+ const transitionConfig = await selectedRoute.evaluateOnComplete({ extracted: session.extracted }, effectiveContext);
438
+ if (transitionConfig) {
439
+ // Find target route by ID or title
440
+ const targetRoute = this.routes.find((r) => r.id === transitionConfig.transitionTo ||
441
+ r.title === transitionConfig.transitionTo);
442
+ if (targetRoute) {
443
+ // Set pending transition in session
444
+ session = {
445
+ ...session,
446
+ pendingTransition: {
447
+ targetRouteId: targetRoute.id,
448
+ condition: transitionConfig.condition,
449
+ reason: "route_complete",
450
+ },
451
+ };
452
+ logger.debug(`[Agent] Route ${selectedRoute.title} completed with pending transition to: ${targetRoute.title}`);
453
+ }
454
+ else {
455
+ logger.warn(`[Agent] Route ${selectedRoute.title} completed but target route not found: ${transitionConfig.transitionTo}`);
456
+ }
457
+ }
458
+ // Set state to END_STATE marker
382
459
  session = enterState(session, END_STATE_ID, "Route completed");
383
460
  logger.debug(`[Agent] Route ${selectedRoute.title} completed. Entered END_STATE state.`);
384
- yield {
385
- delta: "",
386
- accumulated: "",
387
- done: true,
388
- session,
389
- toolCalls: undefined,
390
- isRouteComplete: true,
391
- };
461
+ // Stream completion chunks
462
+ for await (const chunk of stream) {
463
+ // Update current session if we have one
464
+ if (chunk.done && this.currentSession) {
465
+ this.currentSession = session;
466
+ }
467
+ yield {
468
+ delta: chunk.delta,
469
+ accumulated: chunk.accumulated,
470
+ done: chunk.done,
471
+ session,
472
+ toolCalls: undefined,
473
+ isRouteComplete: true,
474
+ };
475
+ }
392
476
  }
393
477
  else {
394
478
  // Fallback: No routes defined, stream a simple response
@@ -489,7 +573,34 @@ export class Agent {
489
573
  let responseDirectives;
490
574
  let selectedState;
491
575
  let isRouteComplete = false;
492
- if (this.routes.length > 0) {
576
+ // Check for pending transition from previous route completion
577
+ if (session.pendingTransition) {
578
+ const targetRoute = this.routes.find((r) => r.id === session.pendingTransition?.targetRouteId);
579
+ if (targetRoute) {
580
+ logger.debug(`[Agent] Auto-transitioning from pending transition to route: ${targetRoute.title}`);
581
+ // Clear pending transition and enter new route
582
+ session = {
583
+ ...session,
584
+ pendingTransition: undefined,
585
+ };
586
+ session = enterRoute(session, targetRoute.id, targetRoute.title);
587
+ // Merge initial data if available
588
+ if (targetRoute.initialData) {
589
+ session = mergeExtracted(session, targetRoute.initialData);
590
+ }
591
+ selectedRoute = targetRoute;
592
+ }
593
+ else {
594
+ logger.warn(`[Agent] Pending transition target route not found: ${session.pendingTransition.targetRouteId}`);
595
+ // Clear invalid transition
596
+ session = {
597
+ ...session,
598
+ pendingTransition: undefined,
599
+ };
600
+ }
601
+ }
602
+ // If no pending transition or transition handled, do normal routing
603
+ if (this.routes.length > 0 && !selectedRoute) {
493
604
  const orchestration = await this.routingEngine.decideRouteAndState({
494
605
  routes: this.routes,
495
606
  session,
@@ -588,9 +699,59 @@ export class Agent {
588
699
  }
589
700
  }
590
701
  else if (isRouteComplete && selectedRoute) {
591
- // Route is complete - set state to END_STATE marker and return completion signal
702
+ // Route is complete - generate completion message then check for onComplete transition
703
+ const lastUserMessage = getLastMessageFromHistory(history);
704
+ // Get endState spec from route
705
+ const endStateSpec = selectedRoute.endStateSpec;
706
+ // Create a temporary state for completion message generation using endState configuration
707
+ const completionState = new State(selectedRoute.id, endStateSpec.chatState || "Summarize what was accomplished and confirm completion", endStateSpec.id || END_STATE_ID, endStateSpec.gather, undefined, endStateSpec.requiredData, endStateSpec.chatState || "Summarize what was accomplished and confirm completion based on the conversation history and collected data");
708
+ // Build response schema for completion
709
+ const responseSchema = this.responseEngine.responseSchemaForRoute(selectedRoute, completionState);
710
+ // Build completion response prompt
711
+ const completionPrompt = this.responseEngine.buildResponsePrompt(selectedRoute, completionState, selectedRoute.getRules(), selectedRoute.getProhibitions(), undefined, // No directives for completion
712
+ history, lastUserMessage, {
713
+ name: this.options.name,
714
+ goal: this.options.goal,
715
+ description: this.options.description,
716
+ personality: this.options.personality,
717
+ });
718
+ // Generate completion message using AI provider
719
+ const completionResult = await this.options.ai.generateMessage({
720
+ prompt: completionPrompt,
721
+ history,
722
+ context: effectiveContext,
723
+ signal,
724
+ parameters: {
725
+ jsonSchema: responseSchema,
726
+ schemaName: "completion_message",
727
+ },
728
+ });
729
+ message = completionResult.structured?.message || completionResult.message;
730
+ logger.debug(`[Agent] Generated completion message for route: ${selectedRoute.title}`);
731
+ // Check for onComplete transition
732
+ const transitionConfig = await selectedRoute.evaluateOnComplete({ extracted: session.extracted }, effectiveContext);
733
+ if (transitionConfig) {
734
+ // Find target route by ID or title
735
+ const targetRoute = this.routes.find((r) => r.id === transitionConfig.transitionTo ||
736
+ r.title === transitionConfig.transitionTo);
737
+ if (targetRoute) {
738
+ // Set pending transition in session
739
+ session = {
740
+ ...session,
741
+ pendingTransition: {
742
+ targetRouteId: targetRoute.id,
743
+ condition: transitionConfig.condition,
744
+ reason: "route_complete",
745
+ },
746
+ };
747
+ logger.debug(`[Agent] Route ${selectedRoute.title} completed with pending transition to: ${targetRoute.title}`);
748
+ }
749
+ else {
750
+ logger.warn(`[Agent] Route ${selectedRoute.title} completed but target route not found: ${transitionConfig.transitionTo}`);
751
+ }
752
+ }
753
+ // Set state to END_STATE marker
592
754
  session = enterState(session, END_STATE_ID, "Route completed");
593
- message = "";
594
755
  logger.debug(`[Agent] Route ${selectedRoute.title} completed. Entered END_STATE state.`);
595
756
  }
596
757
  else {
@@ -747,5 +908,47 @@ export class Agent {
747
908
  }
748
909
  return this.currentSession.extracted || {};
749
910
  }
911
+ /**
912
+ * Manually transition to a different route
913
+ * Sets a pending transition that will be executed on the next respond() call
914
+ *
915
+ * @param routeIdOrTitle - Route ID or title to transition to
916
+ * @param session - Session state to update (uses current session if not provided)
917
+ * @param condition - Optional AI-evaluated condition for the transition
918
+ * @returns Updated session with pending transition
919
+ *
920
+ * @example
921
+ * // After route completes
922
+ * if (response.isRouteComplete && response.session) {
923
+ * const updatedSession = agent.transitionToRoute("feedback-collection", response.session);
924
+ * // Next respond() call will automatically transition to feedback route
925
+ * const nextResponse = await agent.respond({ history, session: updatedSession });
926
+ * }
927
+ */
928
+ transitionToRoute(routeIdOrTitle, session, condition) {
929
+ const targetSession = session || this.currentSession;
930
+ if (!targetSession) {
931
+ throw new Error("No session provided and no current session available. Please provide a session to transition.");
932
+ }
933
+ // Find target route by ID or title
934
+ const targetRoute = this.routes.find((r) => r.id === routeIdOrTitle || r.title === routeIdOrTitle);
935
+ if (!targetRoute) {
936
+ throw new Error(`Route not found: ${routeIdOrTitle}. Available routes: ${this.routes.map((r) => r.title).join(", ")}`);
937
+ }
938
+ const updatedSession = {
939
+ ...targetSession,
940
+ pendingTransition: {
941
+ targetRouteId: targetRoute.id,
942
+ condition,
943
+ reason: "manual",
944
+ },
945
+ };
946
+ // Update current session if using it
947
+ if (!session && this.currentSession) {
948
+ this.currentSession = updatedSession;
949
+ }
950
+ logger.debug(`[Agent] Set pending manual transition to route: ${targetRoute.title}`);
951
+ return updatedSession;
952
+ }
750
953
  }
751
954
  //# sourceMappingURL=Agent.js.map
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Route (Journey) DSL implementation
3
3
  */
4
- import type { RouteOptions, RouteRef } from "../types/route";
4
+ import type { RouteOptions, RouteRef, TransitionSpec, RouteTransitionConfig, RouteCompletionHandler } from "../types/route";
5
5
  import type { StructuredSchema } from "../types/schema";
6
6
  import type { Guideline } from "../types/agent";
7
7
  import { State } from "./State";
@@ -17,9 +17,11 @@ export declare class Route<TContext = unknown, TExtracted = unknown> {
17
17
  readonly rules: string[];
18
18
  readonly prohibitions: string[];
19
19
  readonly initialState: State<TContext, TExtracted>;
20
+ readonly endStateSpec: Omit<TransitionSpec<TContext, TExtracted>, "state" | "condition" | "skipIf">;
20
21
  readonly responseOutputSchema?: StructuredSchema;
21
22
  readonly extractionSchema?: StructuredSchema;
22
23
  readonly initialData?: Partial<TExtracted>;
24
+ readonly onComplete?: string | RouteTransitionConfig | RouteCompletionHandler<TContext, TExtracted>;
23
25
  private routingExtrasSchema?;
24
26
  private guidelines;
25
27
  constructor(options: RouteOptions<TExtracted>);
@@ -75,5 +77,14 @@ export declare class Route<TContext = unknown, TExtracted = unknown> {
75
77
  * Get a description of the route structure for debugging
76
78
  */
77
79
  describe(): string;
80
+ /**
81
+ * Evaluate the onComplete handler and return transition config
82
+ * @param session - Current session state
83
+ * @param context - Agent context
84
+ * @returns Transition config or undefined if no transition
85
+ */
86
+ evaluateOnComplete(session: {
87
+ extracted?: Partial<TExtracted>;
88
+ }, context?: TContext): Promise<RouteTransitionConfig | undefined>;
78
89
  }
79
90
  //# sourceMappingURL=Route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../src/core/Route.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EAGT,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,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,EAAE,UAAU,GAAG,OAAO;IACzD,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,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,SAAgB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChC,SAAgB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvC,SAAgB,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1D,SAAgB,oBAAoB,CAAC,EAAE,gBAAgB,CAAC;IACxD,SAAgB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpD,SAAgB,WAAW,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,CAAC,mBAAmB,CAAC,CAAmB;IAC/C,OAAO,CAAC,UAAU,CAAmB;gBAEzB,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC;IAmC7C;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAS3C;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE;IAI5B;;;OAGG;IACH,UAAU,IAAI,MAAM,EAAE,GAAG,SAAS;IAIlC;;OAEG;IACH,QAAQ,IAAI,MAAM,EAAE;IAIpB;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;IACH,sBAAsB,IAAI,gBAAgB,GAAG,SAAS;IAItD;;OAEG;IACH,uBAAuB,IAAI,gBAAgB,GAAG,SAAS;IAIvD;;OAEG;IACH,MAAM,IAAI,QAAQ;IAMlB;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;IA2B7C;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,SAAS;IAKlE;;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,EACV,YAAY,EACZ,QAAQ,EACR,cAAc,EAEd,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,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,EAAE,UAAU,GAAG,OAAO;IACzD,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,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,SAAgB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChC,SAAgB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvC,SAAgB,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1D,SAAgB,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC;IAC3G,SAAgB,oBAAoB,CAAC,EAAE,gBAAgB,CAAC;IACxD,SAAgB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpD,SAAgB,WAAW,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,SAAgB,UAAU,CAAC,EAAE,MAAM,GAAG,qBAAqB,GAAG,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC3G,OAAO,CAAC,mBAAmB,CAAC,CAAmB;IAC/C,OAAO,CAAC,UAAU,CAAmB;gBAEzB,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC;IAyC7C;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAS3C;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE;IAI5B;;;OAGG;IACH,UAAU,IAAI,MAAM,EAAE,GAAG,SAAS;IAIlC;;OAEG;IACH,QAAQ,IAAI,MAAM,EAAE;IAIpB;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;IACH,sBAAsB,IAAI,gBAAgB,GAAG,SAAS;IAItD;;OAEG;IACH,uBAAuB,IAAI,gBAAgB,GAAG,SAAS;IAIvD;;OAEG;IACH,MAAM,IAAI,QAAQ;IAMlB;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;IA2B7C;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,SAAS;IAKlE;;OAEG;IACH,QAAQ,IAAI,MAAM;IAyBlB;;;;;OAKG;IACG,kBAAkB,CACtB,OAAO,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;KAAE,EAC5C,OAAO,CAAC,EAAE,QAAQ,GACjB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;CAgC9C"}
@@ -17,11 +17,16 @@ export class Route {
17
17
  this.domains = options.domains;
18
18
  this.rules = options.rules || [];
19
19
  this.prohibitions = options.prohibitions || [];
20
- this.initialState = new State(this.id, options.initialState?.chatState || "Initial state", options.initialState?.id, options.initialState?.gather, options.initialState?.skipIf, options.initialState?.requiredData);
20
+ this.initialState = new State(this.id, options.initialState?.chatState || "Initial state", options.initialState?.id, options.initialState?.gather, options.initialState?.skipIf, options.initialState?.requiredData, options.initialState?.chatState);
21
+ // Store endState spec (will be used when route completes)
22
+ this.endStateSpec = options.endState || {
23
+ chatState: "Summarize what was accomplished and confirm completion based on the conversation history and collected data"
24
+ };
21
25
  this.routingExtrasSchema = options.routingExtrasSchema;
22
26
  this.responseOutputSchema = options.responseOutputSchema;
23
27
  this.extractionSchema = options.extractionSchema;
24
28
  this.initialData = options.initialData;
29
+ this.onComplete = options.onComplete;
25
30
  // Initialize guidelines from options
26
31
  if (options.guidelines) {
27
32
  options.guidelines.forEach((guideline) => {
@@ -158,5 +163,37 @@ export class Route {
158
163
  }
159
164
  return lines.join("\n");
160
165
  }
166
+ /**
167
+ * Evaluate the onComplete handler and return transition config
168
+ * @param session - Current session state
169
+ * @param context - Agent context
170
+ * @returns Transition config or undefined if no transition
171
+ */
172
+ async evaluateOnComplete(session, context) {
173
+ if (!this.onComplete) {
174
+ return undefined;
175
+ }
176
+ // String form: just route ID/title
177
+ if (typeof this.onComplete === "string") {
178
+ return {
179
+ transitionTo: this.onComplete,
180
+ };
181
+ }
182
+ // Function form: execute and normalize result
183
+ if (typeof this.onComplete === "function") {
184
+ const result = await this.onComplete(session, context);
185
+ if (!result) {
186
+ return undefined;
187
+ }
188
+ if (typeof result === "string") {
189
+ return {
190
+ transitionTo: result,
191
+ };
192
+ }
193
+ return result;
194
+ }
195
+ // Object form: return as-is
196
+ return this.onComplete;
197
+ }
161
198
  }
162
199
  //# sourceMappingURL=Route.js.map
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RoutingEngine.d.ts","sourceRoot":"","sources":["../../src/core/RoutingEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoutingEngine.d.ts","sourceRoot":"","sources":["../../src/core/RoutingEngine.ts"],"names":[],"mappings":"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"}
@@ -104,7 +104,9 @@ export class RoutingEngine {
104
104
  transition.spec.state &&
105
105
  typeof transition.spec.state === "symbol") {
106
106
  // Found END_STATE - route is complete
107
- return { isRouteComplete: true };
107
+ return {
108
+ isRouteComplete: true
109
+ };
108
110
  }
109
111
  if (!target)
110
112
  continue;