@falai/agent 1.1.0 → 1.1.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 (122) hide show
  1. package/dist/adapters/MemoryAdapter.d.ts.map +1 -1
  2. package/dist/adapters/MemoryAdapter.js +2 -1
  3. package/dist/adapters/MemoryAdapter.js.map +1 -1
  4. package/dist/adapters/MongoAdapter.d.ts.map +1 -1
  5. package/dist/adapters/MongoAdapter.js +2 -1
  6. package/dist/adapters/MongoAdapter.js.map +1 -1
  7. package/dist/adapters/OpenSearchAdapter.d.ts.map +1 -1
  8. package/dist/adapters/OpenSearchAdapter.js +2 -1
  9. package/dist/adapters/OpenSearchAdapter.js.map +1 -1
  10. package/dist/adapters/PostgreSQLAdapter.d.ts.map +1 -1
  11. package/dist/adapters/PostgreSQLAdapter.js +2 -1
  12. package/dist/adapters/PostgreSQLAdapter.js.map +1 -1
  13. package/dist/adapters/PrismaAdapter.d.ts.map +1 -1
  14. package/dist/adapters/PrismaAdapter.js +2 -1
  15. package/dist/adapters/PrismaAdapter.js.map +1 -1
  16. package/dist/adapters/RedisAdapter.d.ts.map +1 -1
  17. package/dist/adapters/RedisAdapter.js.map +1 -1
  18. package/dist/adapters/SQLiteAdapter.d.ts.map +1 -1
  19. package/dist/adapters/SQLiteAdapter.js.map +1 -1
  20. package/dist/cjs/adapters/MemoryAdapter.d.ts.map +1 -1
  21. package/dist/cjs/adapters/MemoryAdapter.js +2 -1
  22. package/dist/cjs/adapters/MemoryAdapter.js.map +1 -1
  23. package/dist/cjs/adapters/MongoAdapter.d.ts.map +1 -1
  24. package/dist/cjs/adapters/MongoAdapter.js +2 -1
  25. package/dist/cjs/adapters/MongoAdapter.js.map +1 -1
  26. package/dist/cjs/adapters/OpenSearchAdapter.d.ts.map +1 -1
  27. package/dist/cjs/adapters/OpenSearchAdapter.js +2 -1
  28. package/dist/cjs/adapters/OpenSearchAdapter.js.map +1 -1
  29. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +1 -1
  30. package/dist/cjs/adapters/PostgreSQLAdapter.js +2 -1
  31. package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -1
  32. package/dist/cjs/adapters/PrismaAdapter.d.ts.map +1 -1
  33. package/dist/cjs/adapters/PrismaAdapter.js +2 -1
  34. package/dist/cjs/adapters/PrismaAdapter.js.map +1 -1
  35. package/dist/cjs/adapters/RedisAdapter.d.ts.map +1 -1
  36. package/dist/cjs/adapters/RedisAdapter.js.map +1 -1
  37. package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +1 -1
  38. package/dist/cjs/adapters/SQLiteAdapter.js.map +1 -1
  39. package/dist/cjs/core/Agent.d.ts +202 -67
  40. package/dist/cjs/core/Agent.d.ts.map +1 -1
  41. package/dist/cjs/core/Agent.js +366 -158
  42. package/dist/cjs/core/Agent.js.map +1 -1
  43. package/dist/cjs/core/BatchExecutor.js +5 -6
  44. package/dist/cjs/core/BatchExecutor.js.map +1 -1
  45. package/dist/cjs/core/BatchPromptBuilder.d.ts.map +1 -1
  46. package/dist/cjs/core/BatchPromptBuilder.js +5 -2
  47. package/dist/cjs/core/BatchPromptBuilder.js.map +1 -1
  48. package/dist/cjs/core/ResponseEngine.d.ts.map +1 -1
  49. package/dist/cjs/core/ResponseEngine.js +6 -3
  50. package/dist/cjs/core/ResponseEngine.js.map +1 -1
  51. package/dist/cjs/core/ResponseModal.d.ts.map +1 -1
  52. package/dist/cjs/core/ResponseModal.js +18 -17
  53. package/dist/cjs/core/ResponseModal.js.map +1 -1
  54. package/dist/cjs/core/RoutingEngine.d.ts.map +1 -1
  55. package/dist/cjs/core/RoutingEngine.js +8 -73
  56. package/dist/cjs/core/RoutingEngine.js.map +1 -1
  57. package/dist/cjs/core/SessionManager.d.ts.map +1 -1
  58. package/dist/cjs/core/SessionManager.js +4 -11
  59. package/dist/cjs/core/SessionManager.js.map +1 -1
  60. package/dist/cjs/index.d.ts +1 -1
  61. package/dist/cjs/index.d.ts.map +1 -1
  62. package/dist/cjs/index.js +3 -2
  63. package/dist/cjs/index.js.map +1 -1
  64. package/dist/cjs/utils/session.d.ts +6 -0
  65. package/dist/cjs/utils/session.d.ts.map +1 -1
  66. package/dist/cjs/utils/session.js +26 -8
  67. package/dist/cjs/utils/session.js.map +1 -1
  68. package/dist/core/Agent.d.ts +202 -67
  69. package/dist/core/Agent.d.ts.map +1 -1
  70. package/dist/core/Agent.js +366 -158
  71. package/dist/core/Agent.js.map +1 -1
  72. package/dist/core/BatchExecutor.js +6 -7
  73. package/dist/core/BatchExecutor.js.map +1 -1
  74. package/dist/core/BatchPromptBuilder.d.ts.map +1 -1
  75. package/dist/core/BatchPromptBuilder.js +5 -2
  76. package/dist/core/BatchPromptBuilder.js.map +1 -1
  77. package/dist/core/ResponseEngine.d.ts.map +1 -1
  78. package/dist/core/ResponseEngine.js +6 -3
  79. package/dist/core/ResponseEngine.js.map +1 -1
  80. package/dist/core/ResponseModal.d.ts.map +1 -1
  81. package/dist/core/ResponseModal.js +18 -17
  82. package/dist/core/ResponseModal.js.map +1 -1
  83. package/dist/core/RoutingEngine.d.ts.map +1 -1
  84. package/dist/core/RoutingEngine.js +8 -73
  85. package/dist/core/RoutingEngine.js.map +1 -1
  86. package/dist/core/SessionManager.d.ts.map +1 -1
  87. package/dist/core/SessionManager.js +4 -11
  88. package/dist/core/SessionManager.js.map +1 -1
  89. package/dist/index.d.ts +1 -1
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +1 -1
  92. package/dist/index.js.map +1 -1
  93. package/dist/utils/session.d.ts +6 -0
  94. package/dist/utils/session.d.ts.map +1 -1
  95. package/dist/utils/session.js +26 -8
  96. package/dist/utils/session.js.map +1 -1
  97. package/docs/api/README.md +33 -4
  98. package/docs/api/overview.md +9 -5
  99. package/docs/architecture/data-extraction-flow.md +17 -19
  100. package/docs/core/conversation-flows/data-collection.md +9 -3
  101. package/docs/core/conversation-flows/route-dsl.md +8 -1
  102. package/docs/core/error-handling.md +3 -4
  103. package/docs/core/persistence/session-storage.md +12 -0
  104. package/examples/integrations/database-integration.ts +10 -9
  105. package/examples/persistence/custom-adapter.ts +12 -15
  106. package/package.json +2 -2
  107. package/src/adapters/MemoryAdapter.ts +6 -8
  108. package/src/adapters/MongoAdapter.ts +6 -8
  109. package/src/adapters/OpenSearchAdapter.ts +6 -8
  110. package/src/adapters/PostgreSQLAdapter.ts +6 -8
  111. package/src/adapters/PrismaAdapter.ts +4 -6
  112. package/src/adapters/RedisAdapter.ts +4 -7
  113. package/src/adapters/SQLiteAdapter.ts +6 -9
  114. package/src/core/Agent.ts +427 -195
  115. package/src/core/BatchExecutor.ts +129 -129
  116. package/src/core/BatchPromptBuilder.ts +41 -38
  117. package/src/core/ResponseEngine.ts +56 -53
  118. package/src/core/ResponseModal.ts +79 -81
  119. package/src/core/RoutingEngine.ts +67 -149
  120. package/src/core/SessionManager.ts +4 -13
  121. package/src/index.ts +11 -11
  122. package/src/utils/session.ts +48 -10
@@ -1 +1 @@
1
- {"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../src/core/SessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../src/core/SessionManager.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -42,5 +42,5 @@ export { ConditionEvaluator, createConditionEvaluator, extractAIContextStrings,
42
42
  export { normalizeHistory, historyItemToEvent, historyToEvents, eventToHistoryItem, eventsToHistory, userMessage, assistantMessage, toolMessage, systemMessage, } from "./utils/history";
43
43
  export type { AgentOptions, AgentResponse, Term, Guideline, GuidelineMatch, ContextLifecycleHooks, ContextProvider, Event, EmittedEvent, MessageEventData, ToolEventData, StatusEventData, Participant, RouteRef, StepRef, RouteOptions, StepOptions, RouteTransitionConfig, RouteCompletionHandler, SessionState, PendingTransition, ToolContext, ToolResult, ToolHandler, Tool, DataEnrichmentConfig, ValidationConfig, ValidationError, ApiCallConfig, ComputationConfig, ToolScope, AiProvider, GenerateMessageInput, GenerateMessageOutput, AgentStructuredResponse, ReasoningConfig, StructuredSchema, SessionData, MessageData, CollectedStateData, SessionStatus, SessionRepository, MessageRepository, PersistenceConfig, CreateSessionOptions, SaveMessageOptions, AgentResponseStreamChunk, Role, HistoryItem, History, PersistenceAdapter, Template, TemplateContext, ConditionTemplate, ConditionEvaluationResult, UserHistoryItem, AssistantHistoryItem, ToolHistoryItem, SystemHistoryItem, StoppedReason, BatchResult, BatchExecutionResult, BatchExecutionEvent, BatchExecutionEventType, BatchExecutionTiming, BatchExecutionError, } from "./types";
44
44
  export { CompositionMode, EventKind, MessageRole } from "./types";
45
- export { createSession, enterRoute, enterStep, mergeCollected } from "./utils";
45
+ export { createSession, createSessionId, enterRoute, enterStep, mergeCollected } from "./utils";
46
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -35,5 +35,5 @@ export { formatKnowledgeBase } from "./utils/template";
35
35
  export { ConditionEvaluator, createConditionEvaluator, extractAIContextStrings, hasProgrammaticConditions } from "./utils/condition";
36
36
  export { normalizeHistory, historyItemToEvent, historyToEvents, eventToHistoryItem, eventsToHistory, userMessage, assistantMessage, toolMessage, systemMessage, } from "./utils/history";
37
37
  export { CompositionMode, EventKind, MessageRole } from "./types";
38
- export { createSession, enterRoute, enterStep, mergeCollected } from "./utils";
38
+ export { createSession, createSessionId, enterRoute, enterStep, mergeCollected } from "./utils";
39
39
  //# 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;;;;GAIG;AAEH,OAAO;AACP,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrD,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkD,MAAM,sBAAsB,CAAC;AACjH,OAAO,EAAE,kBAAkB,EAAuD,MAAM,2BAA2B,CAAC;AAEpH,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEtD,QAAQ;AACR,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,aAAa,GACd,MAAM,iBAAiB,CAAC;AAyEzB,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO;AACP,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrD,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkD,MAAM,sBAAsB,CAAC;AACjH,OAAO,EAAE,kBAAkB,EAAuD,MAAM,2BAA2B,CAAC;AAEpH,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEtD,QAAQ;AACR,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,aAAa,GACd,MAAM,iBAAiB,CAAC;AAyEzB,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"}
@@ -2,10 +2,16 @@ import type { SessionState } from "../types/session";
2
2
  import type { CollectedStateData } from "../types/persistence";
3
3
  /**
4
4
  * Helper to create a new session
5
+ *
6
+ * Overload 1: Create with optional sessionId and metadata
5
7
  * @param sessionId - Optional session ID (e.g., from database)
6
8
  * @param metadata - Optional metadata to attach
9
+ *
10
+ * Overload 2: Create from a partial session state (merged with defaults)
11
+ * @param state - Partial session state to merge with defaults
7
12
  */
8
13
  export declare function createSession<TData = Record<string, unknown>>(sessionId?: string, metadata?: SessionState<TData>["metadata"]): SessionState<TData>;
14
+ export declare function createSession<TData = Record<string, unknown>>(state: Partial<SessionState<TData>>): SessionState<TData>;
9
15
  /**
10
16
  * Helper to create a new session ID
11
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GACzC,YAAY,CAAC,KAAK,CAAC,CAcrB;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AACD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAChC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAC3B,YAAY,CAAC,KAAK,CAAC,CAErB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxD,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAC5B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,KAAK,CAAC,CAoCrB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvD,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAC5B,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GACvB,YAAY,CAAC,KAAK,CAAC,CAarB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAC5B,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GACrB,YAAY,CAAC,KAAK,CAAC,CAcrB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAC3B;IACD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;CAC1C,CAaA;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;CAC3C,GACA,YAAY,CAAC,KAAK,CAAC,CA+BrB"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GACzC,YAAY,CAAC,KAAK,CAAC,CAAC;AACvB,wBAAgB,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAClC,YAAY,CAAC,KAAK,CAAC,CAAC;AA8CvB;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AACD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAChC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAC3B,YAAY,CAAC,KAAK,CAAC,CAErB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxD,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAC5B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,KAAK,CAAC,CAoCrB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvD,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAC5B,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GACvB,YAAY,CAAC,KAAK,CAAC,CAarB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAC5B,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GACrB,YAAY,CAAC,KAAK,CAAC,CAcrB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAC3B;IACD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;CAC1C,CAaA;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;CAC3C,GACA,YAAY,CAAC,KAAK,CAAC,CA+BrB"}
@@ -1,14 +1,32 @@
1
1
  import { cloneDeep } from "./clone";
2
- /**
3
- * Helper to create a new session
4
- * @param sessionId - Optional session ID (e.g., from database)
5
- * @param metadata - Optional metadata to attach
6
- */
7
- export function createSession(sessionId, metadata) {
8
- const id = sessionId || `session_${Date.now()}_${Math.random().toString(36).slice(2)}`;
2
+ export function createSession(sessionIdOrState, metadata) {
3
+ // Overload 2: partial state object
4
+ if (typeof sessionIdOrState === "object" && sessionIdOrState !== null) {
5
+ const state = sessionIdOrState;
6
+ const now = new Date();
7
+ const id = state.id ||
8
+ `session_${Date.now()}_${Math.random().toString(36).slice(2)}`;
9
+ return {
10
+ id,
11
+ data: state.data ?? {},
12
+ routeHistory: state.routeHistory ?? [],
13
+ currentRoute: state.currentRoute,
14
+ currentStep: state.currentStep,
15
+ pendingTransition: state.pendingTransition,
16
+ history: state.history,
17
+ metadata: {
18
+ createdAt: now,
19
+ lastUpdatedAt: now,
20
+ ...state.metadata,
21
+ },
22
+ };
23
+ }
24
+ // Overload 1: sessionId + metadata
25
+ const id = sessionIdOrState ||
26
+ `session_${Date.now()}_${Math.random().toString(36).slice(2)}`;
9
27
  return {
10
28
  id,
11
- data: {}, // Agent-level data structure
29
+ data: {},
12
30
  routeHistory: [],
13
31
  metadata: {
14
32
  ...metadata,
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
@@ -449,7 +449,7 @@ interface RespondOutput {
449
449
  }>;
450
450
  /**
451
451
  * NEW: Indicates if the current route has reached END_ROUTE
452
- * When true, all required data has been collected and the route is complete.
452
+ * When true, the step flow has reached its end and the route is complete.
453
453
  * Your application should handle this appropriately (e.g., process collected data,
454
454
  * show completion UI, start a new route, etc.)
455
455
  */
@@ -657,7 +657,7 @@ interface StreamChunk {
657
657
  }>;
658
658
  /**
659
659
  * Indicates if the current route has reached END_ROUTE (only in final chunk)
660
- * When true, all required data has been collected and the route is complete.
660
+ * When true, the step flow has reached its end and the route is complete.
661
661
  */
662
662
  isRouteComplete?: boolean;
663
663
  }
@@ -2856,14 +2856,19 @@ console.log(response.session?.data.destination); // Type-safe!
2856
2856
  ### Session Helper Functions
2857
2857
 
2858
2858
  #### `createSession<TData>(sessionId?, metadata?): SessionState<TData>`
2859
+ #### `createSession<TData>(state: Partial<SessionState<TData>>): SessionState<TData>`
2859
2860
 
2860
- Creates a new session step object.
2861
+ Creates a new session state object. Supports two overloaded signatures:
2861
2862
 
2862
- **Parameters:**
2863
+ **Signature 1 — ID + metadata (original):**
2863
2864
 
2864
2865
  - `sessionId` (optional): Unique session identifier from database
2865
2866
  - `metadata` (optional): Additional metadata to attach
2866
2867
 
2868
+ **Signature 2 — Partial state (new):**
2869
+
2870
+ - `state`: A `Partial<SessionState<TData>>` object that is merged with sensible defaults (auto-generated `id`, empty `data`, empty `routeHistory`, and timestamped `metadata`)
2871
+
2867
2872
  **Example:**
2868
2873
 
2869
2874
  ```typescript
@@ -2878,6 +2883,30 @@ const session = createSession<OnboardingData>("session_123", {
2878
2883
  userId: "user_456",
2879
2884
  channel: "whatsapp",
2880
2885
  });
2886
+
2887
+ // NEW: From partial state — pre-populate any fields
2888
+ const session = createSession<OnboardingData>({
2889
+ id: "session_123",
2890
+ data: { fullName: "Alice" },
2891
+ history: previousHistory,
2892
+ currentRoute: { id: "onboarding", title: "Onboarding" },
2893
+ });
2894
+
2895
+ // NEW: Minimal partial — only override what you need
2896
+ const session = createSession<OnboardingData>({
2897
+ history: restoredHistory,
2898
+ });
2899
+ ```
2900
+
2901
+ #### `createSessionId(): string`
2902
+
2903
+ Generates a unique session ID string in the format `session_{timestamp}_{random}`. Use this when you need to generate an ID without creating a full session object.
2904
+
2905
+ **Example:**
2906
+
2907
+ ```typescript
2908
+ const id = createSessionId();
2909
+ // e.g. "session_1709388025123_k8f2m9x"
2881
2910
  ```
2882
2911
 
2883
2912
  #### `enterRoute<TData>(session, routeId, routeTitle): SessionState<TData>`
@@ -317,7 +317,7 @@ getAllSteps(): Step<TContext, TData>[]
317
317
  isComplete(data: Partial<TData>): boolean
318
318
  ```
319
319
 
320
- Checks if the route is complete based on agent-level data.
320
+ Checks if all required fields are collected based on agent-level data.
321
321
 
322
322
  ```typescript
323
323
  getMissingRequiredFields(data: Partial<TData>): (keyof TData)[]
@@ -1110,10 +1110,14 @@ interface GenerateMessageInput<TContext = unknown> {
1110
1110
  ### Session Utilities
1111
1111
 
1112
1112
  ```typescript
1113
- createSession<TData = unknown>(initialData?: {
1114
- data?: Partial<TData>;
1115
- metadata?: SessionMetadata;
1116
- }): SessionState<TData>
1113
+ // Overload 1: Classic — ID + metadata
1114
+ createSession<TData = unknown>(sessionId?: string, metadata?: SessionMetadata): SessionState<TData>
1115
+
1116
+ // Overload 2: Partial state — merge with defaults
1117
+ createSession<TData = unknown>(state: Partial<SessionState<TData>>): SessionState<TData>
1118
+
1119
+ // Generate a unique session ID without creating a full session
1120
+ createSessionId(): string
1117
1121
 
1118
1122
  enterRoute<TData>(
1119
1123
  session: SessionState<TData>,
@@ -43,9 +43,9 @@ When a user message arrives:
43
43
  }
44
44
  ```
45
45
 
46
- ### Phase 2: Route Completion Check
46
+ ### Phase 2: Step Skipping
47
47
 
48
- After pre-extraction, the system checks if the route is complete:
48
+ After pre-extraction, the system evaluates the route's steps:
49
49
 
50
50
  ```typescript
51
51
  // Route defines required fields
@@ -55,11 +55,11 @@ agent.createRoute({
55
55
  // ...
56
56
  });
57
57
 
58
- // After pre-extraction, all required fields are present
59
- // Route is marked as COMPLETE immediately
58
+ // After pre-extraction, all required fields are present.
59
+ // The data is now in the session, which allows steps to be evaluated.
60
60
  ```
61
61
 
62
- **Key Insight:** Routes complete when `requiredFields` are collected, NOT when reaching END_ROUTE step.
62
+ **Key Insight:** Routes complete by naturally reaching the `END_ROUTE` step. If all required data is pre-extracted, the system will rapidly skip through the data-collection steps and naturally reach the end of the route.
63
63
 
64
64
  ### Phase 3: Smart Step Selection
65
65
 
@@ -111,8 +111,8 @@ User: "I want to book the Grand Hotel for 2 people next Friday"
111
111
  System:
112
112
  1. Routes to "Book Hotel" (AI scoring)
113
113
  2. Pre-extracts: { hotelName: "Grand Hotel", guests: 2, date: "next Friday" }
114
- 3. Checks completion: All required fields present āœ“
115
- 4. Generates completion message
114
+ 3. Evaluates steps: All collection steps are skipped (data already present)
115
+ 4. Reaches END_ROUTE and generates completion message
116
116
  5. Marks route as complete
117
117
 
118
118
  AI: "Perfect! Booking confirmed for 2 guests at Grand Hotel on Friday!"
@@ -152,8 +152,8 @@ User: "2 people next Friday"
152
152
  System:
153
153
  1. Already in "Book Hotel" route
154
154
  2. Pre-extracts: { guests: 2, date: "next Friday" }
155
- 3. Checks completion: All required fields present āœ“
156
- 4. Generates completion message
155
+ 3. Evaluates steps: All collection steps are skipped (data already present)
156
+ 4. Reaches END_ROUTE and generates completion message
157
157
 
158
158
  AI: "Booking confirmed for 2 guests at Grand Hotel on Friday!"
159
159
  ```
@@ -171,10 +171,9 @@ This minimizes unnecessary AI calls for purely conversational routes.
171
171
  ### 2. Route Completion Logic
172
172
 
173
173
  A route is complete when:
174
- - **All `requiredFields` are collected**, OR
175
- - **Reached END_ROUTE marker in step flow**
174
+ - **It reaches the END_ROUTE marker in its step flow**
176
175
 
177
- Whichever comes first.
176
+ `requiredFields` act as a validation gate. While they must be collected, simply collecting them doesn't instantly end the route; the conversation naturally progresses through any remaining steps (or skips them) until it finishes.
178
177
 
179
178
  ### 3. Completed Route Exclusion
180
179
 
@@ -273,10 +272,9 @@ agent.createRoute({
273
272
  title: "Booking",
274
273
  requiredFields: ["hotel", "date"],
275
274
  optionalFields: ["specialRequests", "dietaryRestrictions"],
276
-
277
- // Route completes when required fields are collected
278
- // Optional fields can be collected if user provides them
279
- // But won't block completion
275
+ // Route completes when it naturally reaches END_ROUTE
276
+ // Optional fields can be collected if user provides them,
277
+ // but they won't block steps from progressing.
280
278
  });
281
279
  ```
282
280
 
@@ -340,8 +338,8 @@ Look for these log messages:
340
338
  ```
341
339
  [ResponseModal] Pre-extracting data for route: Book Hotel
342
340
  [ResponseModal] Pre-extracted data: { hotelName: "Grand Hotel", ... }
343
- [ResponseModal] Route Book Hotel completed after pre-extraction
344
- [RoutingEngine] Excluding completed route: Book Hotel (100% complete)
341
+ [RoutingEngine] Route Book Hotel completed - END_ROUTE reached
342
+ [RoutingEngine] Excluding completed route: Book Hotel
345
343
  ```
346
344
 
347
345
  ## Summary
@@ -350,7 +348,7 @@ The pre-extraction system creates efficient conversations by:
350
348
 
351
349
  1. **Extracting data early** - Before entering steps
352
350
  2. **Skipping unnecessary steps** - When data is already present
353
- 3. **Completing automatically** - When required fields are collected
351
+ 3. **Reaching completion naturally** - By skipping to the end when data is gathered
354
352
  4. **Protecting completed routes** - Preventing re-entry
355
353
 
356
354
  This results in natural, efficient conversations that respect user time.
@@ -8,7 +8,7 @@ The agent-level data collection system provides:
8
8
 
9
9
  - **Centralized JSON Schema**: Define comprehensive data structures at the agent level
10
10
  - **Cross-Route Data Sharing**: Data collected by any route is available to all routes
11
- - **Route Completion Logic**: Routes complete when their required fields are satisfied
11
+ - **Route Completion Logic**: Routes complete when step flows reach `END_ROUTE`, with required fields acting as validation gates along the way
12
12
  - **Type-Safe Extraction**: Automatic mapping from AI responses to typed data
13
13
  - **Natural Conversations**: AI handles information gathering conversationally
14
14
  - **Validation & Enrichment**: Agent-level lifecycle hooks for data processing
@@ -330,7 +330,7 @@ const profileRoute = agent
330
330
  requires: ["name", "email"],
331
331
  });
332
332
 
333
- // Route completes when all required fields are collected
333
+ // Route completes when the step flow naturally reaches its end
334
334
  // Data is available to all other routes
335
335
  ```
336
336
 
@@ -709,8 +709,14 @@ const dynamicRoute = agent
709
709
  ### Testing
710
710
 
711
711
  ```typescript
712
- // Test data collection
712
+ // Test data collection — classic signature
713
713
  const mockSession = createSession();
714
+
715
+ // Or pre-populate fields with the partial state overload
716
+ const prepopulatedSession = createSession({
717
+ data: { name: "Test User", email: "test@example.com" },
718
+ });
719
+
714
720
  const testData = {
715
721
  name: "Test User",
716
722
  email: "test@example.com",
@@ -481,8 +481,15 @@ const hasRequirements = step.hasRequires(collectedData);
481
481
  ### Route Testing
482
482
 
483
483
  ```typescript
484
- // Simulate route execution
484
+ // Simulate route execution — classic signature
485
485
  const mockSession = createSession();
486
+
487
+ // Or pre-populate with known data using partial state overload
488
+ const prepopSession = createSession({
489
+ data: { name: "Test User" },
490
+ history: [{ role: "user", content: "Hello" }],
491
+ });
492
+
486
493
  const mockHistory = [
487
494
  {
488
495
  role: "user",
@@ -317,12 +317,11 @@ if (response.isRouteComplete) {
317
317
  // Route completion with error handling
318
318
  const checkRouteCompletion = (route: Route, collectedData: any) => {
319
319
  try {
320
- // Check if all required fields are present
320
+ // Required fields are a prerequisite for completion, not the trigger itself
321
321
  const missingFields = route.getMissingRequiredFields(collectedData);
322
322
 
323
- if (missingFields.length === 0) {
324
- // All required data collected
325
- return { complete: true, reason: "all_data_collected" };
323
+ if (missingFields.length > 0) {
324
+ return { complete: false, missingFields };
326
325
  }
327
326
 
328
327
  // Check if route explicitly ended
@@ -154,12 +154,24 @@ model AgentMessage {
154
154
  While sessions are managed automatically, you can perform manual operations when needed:
155
155
 
156
156
  ```typescript
157
+ import { createSession, createSessionId } from "@falai/agent";
158
+
157
159
  // Access session manager directly
158
160
  const sessionManager = agent.session;
159
161
 
160
162
  // Create session with specific ID
161
163
  await sessionManager.getOrCreate("custom-session-id");
162
164
 
165
+ // Generate a session ID without creating a session object
166
+ const id = createSessionId();
167
+
168
+ // Create a pre-populated session using the partial state overload
169
+ const restoredSession = createSession<MyDataType>({
170
+ id: "custom-session-id",
171
+ data: { userName: "John" },
172
+ history: previousHistory,
173
+ });
174
+
163
175
  // Session data management
164
176
  await sessionManager.setData({
165
177
  userName: "John",
@@ -17,6 +17,7 @@ import {
17
17
  SessionState,
18
18
  END_ROUTE,
19
19
  History,
20
+ createSessionId,
20
21
  } from "../../src";
21
22
 
22
23
  /**
@@ -64,7 +65,7 @@ class CustomDatabase {
64
65
  data: Omit<CustomDatabaseSession, "id" | "createdAt" | "updatedAt">
65
66
  ): CustomDatabaseSession {
66
67
  const session: CustomDatabaseSession = {
67
- id: `session_${Date.now()}`,
68
+ id: createSessionId(),
68
69
  ...data,
69
70
  createdAt: new Date(),
70
71
  updatedAt: new Date(),
@@ -266,7 +267,7 @@ async function example() {
266
267
  * Simulate conversation with automatic sync
267
268
  */
268
269
  console.log("\n--- Turn 1 ---");
269
-
270
+
270
271
  // Add user message to SessionManager
271
272
  await agent.session.addMessage("user", "Hi! I'm John Smith and my email is john@acme.com", "User");
272
273
 
@@ -286,7 +287,7 @@ async function example() {
286
287
 
287
288
  // Turn 2: User provides company
288
289
  console.log("\n--- Turn 2 ---");
289
-
290
+
290
291
  await agent.session.addMessage("user", "I work for Acme Corporation", "User");
291
292
 
292
293
  const response2 = await agent.respond({
@@ -312,7 +313,7 @@ async function example() {
312
313
  * Demonstrate session recovery with new Agent instance
313
314
  */
314
315
  console.log("\n--- Session Recovery (New Agent Instance) ---");
315
-
316
+
316
317
  // Create new agent instance (simulating app restart)
317
318
  const newAgent = new Agent({
318
319
  name: "Onboarding Assistant",
@@ -360,11 +361,11 @@ async function example() {
360
361
 
361
362
  // Continue conversation with recovered session
362
363
  await newAgent.session.addMessage("user", "Can you confirm my details?");
363
-
364
+
364
365
  const confirmResponse = await newAgent.respond({
365
366
  history: newAgent.session.getHistory(),
366
367
  });
367
-
368
+
368
369
  console.log("šŸ¤– Confirmation:", confirmResponse.message);
369
370
  await newAgent.session.addMessage("assistant", confirmResponse.message);
370
371
 
@@ -414,7 +415,7 @@ async function syncSessionToDatabase(
414
415
  /**
415
416
  * Mock function to simulate processing the completed onboarding data.
416
417
  */
417
- async function processOnboarding(data) {
418
+ async function processOnboarding(data: Partial<OnboardingData>) {
418
419
  console.log("\nšŸš€ Processing onboarding data...");
419
420
  console.log(
420
421
  ` - Creating account for ${data?.fullName} at ${data?.companyName}`
@@ -542,7 +543,7 @@ async function serverEndpointExample() {
542
543
  });
543
544
 
544
545
  // Load or create session
545
- const effectiveSessionId = sessionId || `session_${userId}_${Date.now()}`;
546
+ const effectiveSessionId = sessionId || createSessionId();
546
547
  await agent.session.getOrCreate(effectiveSessionId);
547
548
 
548
549
  // Try to load from database if session exists
@@ -571,7 +572,7 @@ async function serverEndpointExample() {
571
572
 
572
573
  // Add user message and respond
573
574
  await agent.session.addMessage("user", message);
574
-
575
+
575
576
  const response = await agent.respond({
576
577
  history: agent.session.getHistory(),
577
578
  });
@@ -22,7 +22,7 @@ import type {
22
22
  SessionStatus,
23
23
  CollectedStateData,
24
24
  } from "../../src/types";
25
- import { Agent, GeminiProvider } from "../../src";
25
+ import { Agent, GeminiProvider, createSessionId } from "../../src";
26
26
 
27
27
  /**
28
28
  * Simple in-memory storage for demonstration
@@ -40,7 +40,7 @@ class InMemoryStorage {
40
40
  }
41
41
  ): SessionData {
42
42
  const id =
43
- data.id || `session_${Date.now()}_${Math.random().toString(36).slice(2)}`;
43
+ data.id || createSessionId();
44
44
  const session: SessionData = {
45
45
  ...data,
46
46
  id,
@@ -249,9 +249,8 @@ class InMemoryStorage {
249
249
  * Custom Session Repository implementation
250
250
  */
251
251
  class CustomSessionRepository<TData = Record<string, unknown>>
252
- implements SessionRepository<TData>
253
- {
254
- constructor(private storage: InMemoryStorage) {}
252
+ implements SessionRepository<TData> {
253
+ constructor(private storage: InMemoryStorage) { }
255
254
 
256
255
  async create(
257
256
  data: Omit<SessionData<TData>, "createdAt" | "updatedAt"> & {
@@ -263,7 +262,7 @@ class CustomSessionRepository<TData = Record<string, unknown>>
263
262
  ...data,
264
263
  id:
265
264
  data.id ||
266
- `session_${Date.now()}_${Math.random().toString(36).slice(2)}`,
265
+ createSessionId(),
267
266
  }) as SessionData<TData>
268
267
  );
269
268
  }
@@ -278,7 +277,7 @@ class CustomSessionRepository<TData = Record<string, unknown>>
278
277
  const sessions = this.storage.getSessionsByUserId(userId);
279
278
  return Promise.resolve(
280
279
  (sessions.find((s) => s.status === "active") as SessionData<TData>) ||
281
- null
280
+ null
282
281
  );
283
282
  }
284
283
 
@@ -354,7 +353,7 @@ class CustomSessionRepository<TData = Record<string, unknown>>
354
353
  * Custom Message Repository implementation
355
354
  */
356
355
  class CustomMessageRepository implements MessageRepository {
357
- constructor(private storage: InMemoryStorage) {}
356
+ constructor(private storage: InMemoryStorage) { }
358
357
 
359
358
  async create(
360
359
  data: Omit<MessageData, "id" | "createdAt">
@@ -398,9 +397,7 @@ class CustomMessageRepository implements MessageRepository {
398
397
  * This adapter demonstrates how to implement a custom persistence layer.
399
398
  * Replace the InMemoryStorage with actual database calls for production use.
400
399
  */
401
- export class CustomAdapter<TData = Record<string, unknown>>
402
- implements PersistenceAdapter<TData>
403
- {
400
+ export class CustomAdapter<TData = Record<string, unknown>> implements PersistenceAdapter<TData> {
404
401
  private storage = new InMemoryStorage();
405
402
 
406
403
  readonly sessionRepository: SessionRepository<TData>;
@@ -479,9 +476,9 @@ async function demonstrateCustomAdapter() {
479
476
 
480
477
  // First interaction
481
478
  console.log("\nšŸ’¬ First interaction:");
482
-
479
+
483
480
  await agent.session.addMessage("user", "Hi, I need help booking a flight", "Alice");
484
-
481
+
485
482
  const response1 = await agent.respond({
486
483
  history: agent.session.getHistory(),
487
484
  });
@@ -493,9 +490,9 @@ async function demonstrateCustomAdapter() {
493
490
 
494
491
  // Second interaction
495
492
  console.log("\nšŸ’¬ Second interaction:");
496
-
493
+
497
494
  await agent.session.addMessage("user", "I want to fly to Paris next week", "Alice");
498
-
495
+
499
496
  const response2 = await agent.respond({
500
497
  history: agent.session.getHistory(),
501
498
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@falai/agent",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Standalone, strongly-typed AI Agent framework with route DSL and AI provider strategy",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -54,7 +54,7 @@
54
54
  "release:major": "npm version major && npm publish",
55
55
  "release:alpha": "npm publish --tag alpha",
56
56
  "release": "npm publish",
57
- "test": "bun run tests/*.test.ts",
57
+ "test": "bun test tests/*.test.ts",
58
58
  "preinstall": "node preinstall.js"
59
59
  },
60
60
  "keywords": [