@falai/agent 0.5.3 → 0.5.5

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 (48) hide show
  1. package/README.md +20 -4
  2. package/dist/cjs/core/Agent.d.ts +0 -5
  3. package/dist/cjs/core/Agent.d.ts.map +1 -1
  4. package/dist/cjs/core/Agent.js +75 -157
  5. package/dist/cjs/core/Agent.js.map +1 -1
  6. package/dist/cjs/core/RoutingEngine.d.ts +68 -2
  7. package/dist/cjs/core/RoutingEngine.d.ts.map +1 -1
  8. package/dist/cjs/core/RoutingEngine.js +416 -2
  9. package/dist/cjs/core/RoutingEngine.js.map +1 -1
  10. package/dist/cjs/core/State.js +2 -1
  11. package/dist/cjs/core/State.js.map +1 -1
  12. package/dist/cjs/types/route.d.ts +2 -0
  13. package/dist/cjs/types/route.d.ts.map +1 -1
  14. package/dist/cjs/utils/event.d.ts +6 -0
  15. package/dist/cjs/utils/event.d.ts.map +1 -0
  16. package/dist/cjs/utils/event.js +20 -0
  17. package/dist/cjs/utils/event.js.map +1 -0
  18. package/dist/core/Agent.d.ts +0 -5
  19. package/dist/core/Agent.d.ts.map +1 -1
  20. package/dist/core/Agent.js +74 -156
  21. package/dist/core/Agent.js.map +1 -1
  22. package/dist/core/RoutingEngine.d.ts +68 -2
  23. package/dist/core/RoutingEngine.d.ts.map +1 -1
  24. package/dist/core/RoutingEngine.js +416 -2
  25. package/dist/core/RoutingEngine.js.map +1 -1
  26. package/dist/core/State.js +2 -1
  27. package/dist/core/State.js.map +1 -1
  28. package/dist/types/route.d.ts +2 -0
  29. package/dist/types/route.d.ts.map +1 -1
  30. package/dist/utils/event.d.ts +6 -0
  31. package/dist/utils/event.d.ts.map +1 -0
  32. package/dist/utils/event.js +17 -0
  33. package/dist/utils/event.js.map +1 -0
  34. package/docs/API_REFERENCE.md +107 -26
  35. package/docs/ARCHITECTURE.md +83 -12
  36. package/docs/PERSISTENCE.md +18 -6
  37. package/examples/business-onboarding.ts +11 -0
  38. package/examples/custom-database-persistence.ts +533 -0
  39. package/examples/healthcare-agent.ts +28 -16
  40. package/examples/persistent-onboarding.ts +16 -10
  41. package/examples/prisma-persistence.ts +13 -2
  42. package/examples/travel-agent.ts +94 -52
  43. package/package.json +1 -1
  44. package/src/core/Agent.ts +78 -227
  45. package/src/core/RoutingEngine.ts +663 -2
  46. package/src/core/State.ts +1 -1
  47. package/src/types/route.ts +2 -0
  48. package/src/utils/event.ts +16 -0
@@ -70,6 +70,8 @@ export interface RouteOptions<TExtracted = unknown> {
70
70
  * Specification for a state transition
71
71
  */
72
72
  export interface TransitionSpec<TContext = unknown, TExtracted = unknown> {
73
+ /** Custom ID for this state (optional - will generate deterministic ID if not provided) */
74
+ id?: string;
73
75
  /** Transition to a chat state with this description */
74
76
  chatState?: string;
75
77
  /** Transition to execute a tool */
@@ -0,0 +1,16 @@
1
+ import { type Event, EventKind } from "../types/history";
2
+ /**
3
+ * Helper to extract last message from history
4
+ */
5
+ export function getLastMessageFromHistory(history: Event[]): string {
6
+ for (let i = history.length - 1; i >= 0; i--) {
7
+ const event = history[i];
8
+ if (event.kind === EventKind.MESSAGE) {
9
+ if (!event.data || !("message" in event.data)) {
10
+ continue;
11
+ }
12
+ return event.data.message;
13
+ }
14
+ }
15
+ return "";
16
+ }