@falai/agent 3.4.5 → 4.0.0-alpha.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.
- package/README.md +41 -34
- package/dist/cjs/core/Agent.d.ts +22 -378
- package/dist/cjs/core/Agent.d.ts.map +1 -1
- package/dist/cjs/core/Agent.js +104 -1178
- package/dist/cjs/core/Agent.js.map +1 -1
- package/dist/cjs/core/CompactionEngine.d.ts.map +1 -1
- package/dist/cjs/core/CompactionEngine.js +5 -3
- package/dist/cjs/core/CompactionEngine.js.map +1 -1
- package/dist/cjs/core/FlowSpec.d.ts +136 -0
- package/dist/cjs/core/FlowSpec.d.ts.map +1 -0
- package/dist/cjs/core/FlowSpec.js +522 -0
- package/dist/cjs/core/FlowSpec.js.map +1 -0
- package/dist/cjs/core/Migrate.d.ts +38 -0
- package/dist/cjs/core/Migrate.d.ts.map +1 -0
- package/dist/cjs/core/Migrate.js +270 -0
- package/dist/cjs/core/Migrate.js.map +1 -0
- package/dist/cjs/core/Prompt.d.ts +54 -0
- package/dist/cjs/core/Prompt.d.ts.map +1 -0
- package/dist/cjs/core/Prompt.js +143 -0
- package/dist/cjs/core/Prompt.js.map +1 -0
- package/dist/cjs/core/Runner.d.ts +160 -0
- package/dist/cjs/core/Runner.d.ts.map +1 -0
- package/dist/cjs/core/Runner.js +1131 -0
- package/dist/cjs/core/Runner.js.map +1 -0
- package/dist/cjs/core/Speak.d.ts +37 -0
- package/dist/cjs/core/Speak.d.ts.map +1 -0
- package/dist/cjs/core/Speak.js +364 -0
- package/dist/cjs/core/Speak.js.map +1 -0
- package/dist/cjs/core/Understand.d.ts +28 -0
- package/dist/cjs/core/Understand.d.ts.map +1 -0
- package/dist/cjs/core/Understand.js +353 -0
- package/dist/cjs/core/Understand.js.map +1 -0
- package/dist/cjs/core/contracts.d.ts +122 -0
- package/dist/cjs/core/contracts.d.ts.map +1 -0
- package/dist/cjs/core/contracts.js +11 -0
- package/dist/cjs/core/contracts.js.map +1 -0
- package/dist/cjs/core/falai.d.ts +57 -0
- package/dist/cjs/core/falai.d.ts.map +1 -0
- package/dist/cjs/core/falai.js +43 -0
- package/dist/cjs/core/falai.js.map +1 -0
- package/dist/cjs/core/predicate.d.ts +9 -0
- package/dist/cjs/core/predicate.d.ts.map +1 -0
- package/dist/cjs/core/predicate.js +58 -0
- package/dist/cjs/core/predicate.js.map +1 -0
- package/dist/cjs/index.d.ts +26 -31
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +46 -68
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/persistence/MemoryStore.d.ts +15 -0
- package/dist/cjs/persistence/MemoryStore.d.ts.map +1 -0
- package/dist/cjs/persistence/MemoryStore.js +39 -0
- package/dist/cjs/persistence/MemoryStore.js.map +1 -0
- package/dist/cjs/persistence/MongoStore.d.ts +42 -0
- package/dist/cjs/persistence/MongoStore.d.ts.map +1 -0
- package/dist/cjs/persistence/MongoStore.js +60 -0
- package/dist/cjs/persistence/MongoStore.js.map +1 -0
- package/dist/cjs/persistence/OpenSearchStore.d.ts +86 -0
- package/dist/cjs/persistence/OpenSearchStore.d.ts.map +1 -0
- package/dist/cjs/persistence/OpenSearchStore.js +120 -0
- package/dist/cjs/persistence/OpenSearchStore.js.map +1 -0
- package/dist/cjs/persistence/PostgresStore.d.ts +41 -0
- package/dist/cjs/persistence/PostgresStore.d.ts.map +1 -0
- package/dist/cjs/persistence/PostgresStore.js +58 -0
- package/dist/cjs/persistence/PostgresStore.js.map +1 -0
- package/dist/cjs/persistence/PrismaStore.d.ts +65 -0
- package/dist/cjs/persistence/PrismaStore.d.ts.map +1 -0
- package/dist/cjs/persistence/PrismaStore.js +95 -0
- package/dist/cjs/persistence/PrismaStore.js.map +1 -0
- package/dist/cjs/persistence/RedisStore.d.ts +34 -0
- package/dist/cjs/persistence/RedisStore.d.ts.map +1 -0
- package/dist/cjs/persistence/RedisStore.js +61 -0
- package/dist/cjs/persistence/RedisStore.js.map +1 -0
- package/dist/cjs/persistence/SQLiteStore.d.ts +45 -0
- package/dist/cjs/persistence/SQLiteStore.d.ts.map +1 -0
- package/dist/cjs/persistence/SQLiteStore.js +74 -0
- package/dist/cjs/persistence/SQLiteStore.js.map +1 -0
- package/dist/cjs/persistence/sessionRow.d.ts +14 -0
- package/dist/cjs/persistence/sessionRow.d.ts.map +1 -0
- package/dist/cjs/persistence/sessionRow.js +50 -0
- package/dist/cjs/persistence/sessionRow.js.map +1 -0
- package/dist/cjs/providers/DeepSeekProvider.d.ts.map +1 -1
- package/dist/cjs/providers/DeepSeekProvider.js +8 -3
- package/dist/cjs/providers/DeepSeekProvider.js.map +1 -1
- package/dist/cjs/providers/GeminiProvider.d.ts +4 -3
- package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/cjs/providers/GeminiProvider.js +4 -3
- package/dist/cjs/providers/GeminiProvider.js.map +1 -1
- package/dist/cjs/providers/OpenAICompatibleProvider.d.ts +4 -0
- package/dist/cjs/providers/OpenAICompatibleProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenAICompatibleProvider.js +2 -0
- package/dist/cjs/providers/OpenAICompatibleProvider.js.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.js +2 -4
- package/dist/cjs/providers/OpenRouterProvider.js.map +1 -1
- package/dist/cjs/providers/ProviderAdapter.d.ts +11 -6
- package/dist/cjs/providers/ProviderAdapter.d.ts.map +1 -1
- package/dist/cjs/providers/ProviderAdapter.js +33 -10
- package/dist/cjs/providers/ProviderAdapter.js.map +1 -1
- package/dist/cjs/providers/ZaiProvider.d.ts +6 -4
- package/dist/cjs/providers/ZaiProvider.d.ts.map +1 -1
- package/dist/cjs/providers/ZaiProvider.js +6 -4
- package/dist/cjs/providers/ZaiProvider.js.map +1 -1
- package/dist/cjs/types/agent.d.ts +153 -383
- package/dist/cjs/types/agent.d.ts.map +1 -1
- package/dist/cjs/types/agent.js +1 -1
- package/dist/cjs/types/ai.d.ts +32 -1
- package/dist/cjs/types/ai.d.ts.map +1 -1
- package/dist/cjs/types/compaction.d.ts +3 -1
- package/dist/cjs/types/compaction.d.ts.map +1 -1
- package/dist/cjs/types/errors.d.ts +9 -12
- package/dist/cjs/types/errors.d.ts.map +1 -1
- package/dist/cjs/types/errors.js +14 -17
- package/dist/cjs/types/errors.js.map +1 -1
- package/dist/cjs/types/flow.d.ts +265 -513
- package/dist/cjs/types/flow.d.ts.map +1 -1
- package/dist/cjs/types/flow.js +7 -1
- package/dist/cjs/types/flow.js.map +1 -1
- package/dist/cjs/types/history.d.ts +7 -18
- package/dist/cjs/types/history.d.ts.map +1 -1
- package/dist/cjs/types/history.js.map +1 -1
- package/dist/cjs/types/index.d.ts +9 -15
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js +4 -14
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/session.d.ts +94 -64
- package/dist/cjs/types/session.d.ts.map +1 -1
- package/dist/cjs/types/session.js +5 -1
- package/dist/cjs/types/session.js.map +1 -1
- package/dist/cjs/types/tool.d.ts +37 -207
- package/dist/cjs/types/tool.d.ts.map +1 -1
- package/dist/cjs/types/tool.js +5 -14
- package/dist/cjs/types/tool.js.map +1 -1
- package/dist/cjs/utils/clock.d.ts +28 -0
- package/dist/cjs/utils/clock.d.ts.map +1 -0
- package/dist/cjs/utils/clock.js +64 -0
- package/dist/cjs/utils/clock.js.map +1 -0
- package/dist/cjs/utils/duration.d.ts +11 -0
- package/dist/cjs/utils/duration.d.ts.map +1 -0
- package/dist/cjs/utils/duration.js +31 -0
- package/dist/cjs/utils/duration.js.map +1 -0
- package/dist/cjs/utils/history.d.ts +4 -1
- package/dist/cjs/utils/history.d.ts.map +1 -1
- package/dist/cjs/utils/history.js +2 -2
- package/dist/cjs/utils/history.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +4 -10
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +14 -61
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/json.d.ts +2 -0
- package/dist/cjs/utils/json.d.ts.map +1 -1
- package/dist/cjs/utils/json.js +5 -0
- package/dist/cjs/utils/json.js.map +1 -1
- package/dist/cjs/utils/outcomes.d.ts +48 -0
- package/dist/cjs/utils/outcomes.d.ts.map +1 -0
- package/dist/cjs/utils/outcomes.js +51 -0
- package/dist/cjs/utils/outcomes.js.map +1 -0
- package/dist/cjs/utils/schema.d.ts +50 -0
- package/dist/cjs/utils/schema.d.ts.map +1 -0
- package/dist/cjs/utils/schema.js +138 -0
- package/dist/cjs/utils/schema.js.map +1 -0
- package/dist/cjs/utils/streamingMessage.d.ts +3 -2
- package/dist/cjs/utils/streamingMessage.d.ts.map +1 -1
- package/dist/cjs/utils/streamingMessage.js +38 -4
- package/dist/cjs/utils/streamingMessage.js.map +1 -1
- package/dist/cjs/utils/template.d.ts +13 -149
- package/dist/cjs/utils/template.d.ts.map +1 -1
- package/dist/cjs/utils/template.js +31 -363
- package/dist/cjs/utils/template.js.map +1 -1
- package/dist/cjs/utils/usage.d.ts +19 -0
- package/dist/cjs/utils/usage.d.ts.map +1 -0
- package/dist/cjs/utils/usage.js +35 -0
- package/dist/cjs/utils/usage.js.map +1 -0
- package/dist/core/Agent.d.ts +22 -378
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +107 -1181
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/CompactionEngine.d.ts.map +1 -1
- package/dist/core/CompactionEngine.js +5 -3
- package/dist/core/CompactionEngine.js.map +1 -1
- package/dist/core/FlowSpec.d.ts +136 -0
- package/dist/core/FlowSpec.d.ts.map +1 -0
- package/dist/core/FlowSpec.js +516 -0
- package/dist/core/FlowSpec.js.map +1 -0
- package/dist/core/Migrate.d.ts +38 -0
- package/dist/core/Migrate.d.ts.map +1 -0
- package/dist/core/Migrate.js +264 -0
- package/dist/core/Migrate.js.map +1 -0
- package/dist/core/Prompt.d.ts +54 -0
- package/dist/core/Prompt.d.ts.map +1 -0
- package/dist/core/Prompt.js +133 -0
- package/dist/core/Prompt.js.map +1 -0
- package/dist/core/Runner.d.ts +160 -0
- package/dist/core/Runner.d.ts.map +1 -0
- package/dist/core/Runner.js +1127 -0
- package/dist/core/Runner.js.map +1 -0
- package/dist/core/Speak.d.ts +37 -0
- package/dist/core/Speak.d.ts.map +1 -0
- package/dist/core/Speak.js +360 -0
- package/dist/core/Speak.js.map +1 -0
- package/dist/core/Understand.d.ts +28 -0
- package/dist/core/Understand.d.ts.map +1 -0
- package/dist/core/Understand.js +349 -0
- package/dist/core/Understand.js.map +1 -0
- package/dist/core/contracts.d.ts +122 -0
- package/dist/core/contracts.d.ts.map +1 -0
- package/dist/core/contracts.js +10 -0
- package/dist/core/contracts.js.map +1 -0
- package/dist/core/falai.d.ts +57 -0
- package/dist/core/falai.d.ts.map +1 -0
- package/dist/core/falai.js +40 -0
- package/dist/core/falai.js.map +1 -0
- package/dist/core/predicate.d.ts +9 -0
- package/dist/core/predicate.d.ts.map +1 -0
- package/dist/core/predicate.js +54 -0
- package/dist/core/predicate.js.map +1 -0
- package/dist/index.d.ts +26 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -24
- package/dist/index.js.map +1 -1
- package/dist/persistence/MemoryStore.d.ts +15 -0
- package/dist/persistence/MemoryStore.d.ts.map +1 -0
- package/dist/persistence/MemoryStore.js +35 -0
- package/dist/persistence/MemoryStore.js.map +1 -0
- package/dist/persistence/MongoStore.d.ts +42 -0
- package/dist/persistence/MongoStore.d.ts.map +1 -0
- package/dist/persistence/MongoStore.js +56 -0
- package/dist/persistence/MongoStore.js.map +1 -0
- package/dist/persistence/OpenSearchStore.d.ts +86 -0
- package/dist/persistence/OpenSearchStore.d.ts.map +1 -0
- package/dist/persistence/OpenSearchStore.js +116 -0
- package/dist/persistence/OpenSearchStore.js.map +1 -0
- package/dist/persistence/PostgresStore.d.ts +41 -0
- package/dist/persistence/PostgresStore.d.ts.map +1 -0
- package/dist/persistence/PostgresStore.js +54 -0
- package/dist/persistence/PostgresStore.js.map +1 -0
- package/dist/persistence/PrismaStore.d.ts +65 -0
- package/dist/persistence/PrismaStore.d.ts.map +1 -0
- package/dist/persistence/PrismaStore.js +91 -0
- package/dist/persistence/PrismaStore.js.map +1 -0
- package/dist/persistence/RedisStore.d.ts +34 -0
- package/dist/persistence/RedisStore.d.ts.map +1 -0
- package/dist/persistence/RedisStore.js +57 -0
- package/dist/persistence/RedisStore.js.map +1 -0
- package/dist/persistence/SQLiteStore.d.ts +45 -0
- package/dist/persistence/SQLiteStore.d.ts.map +1 -0
- package/dist/persistence/SQLiteStore.js +70 -0
- package/dist/persistence/SQLiteStore.js.map +1 -0
- package/dist/persistence/sessionRow.d.ts +14 -0
- package/dist/persistence/sessionRow.d.ts.map +1 -0
- package/dist/persistence/sessionRow.js +45 -0
- package/dist/persistence/sessionRow.js.map +1 -0
- package/dist/providers/DeepSeekProvider.d.ts.map +1 -1
- package/dist/providers/DeepSeekProvider.js +8 -3
- package/dist/providers/DeepSeekProvider.js.map +1 -1
- package/dist/providers/GeminiProvider.d.ts +4 -3
- package/dist/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/providers/GeminiProvider.js +4 -3
- package/dist/providers/GeminiProvider.js.map +1 -1
- package/dist/providers/OpenAICompatibleProvider.d.ts +4 -0
- package/dist/providers/OpenAICompatibleProvider.d.ts.map +1 -1
- package/dist/providers/OpenAICompatibleProvider.js +2 -0
- package/dist/providers/OpenAICompatibleProvider.js.map +1 -1
- package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/providers/OpenRouterProvider.js +2 -4
- package/dist/providers/OpenRouterProvider.js.map +1 -1
- package/dist/providers/ProviderAdapter.d.ts +11 -6
- package/dist/providers/ProviderAdapter.d.ts.map +1 -1
- package/dist/providers/ProviderAdapter.js +34 -11
- package/dist/providers/ProviderAdapter.js.map +1 -1
- package/dist/providers/ZaiProvider.d.ts +6 -4
- package/dist/providers/ZaiProvider.d.ts.map +1 -1
- package/dist/providers/ZaiProvider.js +6 -4
- package/dist/providers/ZaiProvider.js.map +1 -1
- package/dist/types/agent.d.ts +153 -383
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js +1 -1
- package/dist/types/ai.d.ts +32 -1
- package/dist/types/ai.d.ts.map +1 -1
- package/dist/types/compaction.d.ts +3 -1
- package/dist/types/compaction.d.ts.map +1 -1
- package/dist/types/errors.d.ts +9 -12
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +12 -15
- package/dist/types/errors.js.map +1 -1
- package/dist/types/flow.d.ts +265 -513
- package/dist/types/flow.d.ts.map +1 -1
- package/dist/types/flow.js +7 -1
- package/dist/types/flow.js.map +1 -1
- package/dist/types/history.d.ts +7 -18
- package/dist/types/history.d.ts.map +1 -1
- package/dist/types/history.js.map +1 -1
- package/dist/types/index.d.ts +9 -15
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -7
- package/dist/types/index.js.map +1 -1
- package/dist/types/session.d.ts +94 -64
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/session.js +5 -1
- package/dist/types/session.js.map +1 -1
- package/dist/types/tool.d.ts +37 -207
- package/dist/types/tool.d.ts.map +1 -1
- package/dist/types/tool.js +6 -13
- package/dist/types/tool.js.map +1 -1
- package/dist/utils/clock.d.ts +28 -0
- package/dist/utils/clock.d.ts.map +1 -0
- package/dist/utils/clock.js +59 -0
- package/dist/utils/clock.js.map +1 -0
- package/dist/utils/duration.d.ts +11 -0
- package/dist/utils/duration.d.ts.map +1 -0
- package/dist/utils/duration.js +26 -0
- package/dist/utils/duration.js.map +1 -0
- package/dist/utils/history.d.ts +4 -1
- package/dist/utils/history.d.ts.map +1 -1
- package/dist/utils/history.js +2 -2
- package/dist/utils/history.js.map +1 -1
- package/dist/utils/index.d.ts +4 -10
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -21
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/json.d.ts +2 -0
- package/dist/utils/json.d.ts.map +1 -1
- package/dist/utils/json.js +4 -0
- package/dist/utils/json.js.map +1 -1
- package/dist/utils/outcomes.d.ts +48 -0
- package/dist/utils/outcomes.d.ts.map +1 -0
- package/dist/utils/outcomes.js +48 -0
- package/dist/utils/outcomes.js.map +1 -0
- package/dist/utils/schema.d.ts +50 -0
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +129 -0
- package/dist/utils/schema.js.map +1 -0
- package/dist/utils/streamingMessage.d.ts +3 -2
- package/dist/utils/streamingMessage.d.ts.map +1 -1
- package/dist/utils/streamingMessage.js +38 -4
- package/dist/utils/streamingMessage.js.map +1 -1
- package/dist/utils/template.d.ts +13 -149
- package/dist/utils/template.d.ts.map +1 -1
- package/dist/utils/template.js +28 -355
- package/dist/utils/template.js.map +1 -1
- package/dist/utils/usage.d.ts +19 -0
- package/dist/utils/usage.d.ts.map +1 -0
- package/dist/utils/usage.js +31 -0
- package/dist/utils/usage.js.map +1 -0
- package/docs/README.md +37 -19
- package/docs/concepts/architecture.md +117 -239
- package/docs/concepts/collection.md +170 -0
- package/docs/concepts/pipeline.md +132 -378
- package/docs/concepts/runs-and-waits.md +192 -0
- package/docs/guides/actions-and-events.md +276 -0
- package/docs/guides/branching.md +119 -208
- package/docs/guides/compaction.md +63 -158
- package/docs/guides/conditions.md +164 -128
- package/docs/guides/error-handling.md +168 -164
- package/docs/guides/flow-control.md +210 -349
- package/docs/guides/flows-from-json.md +224 -0
- package/docs/guides/instructions.md +125 -161
- package/docs/guides/persistence.md +182 -206
- package/docs/guides/streaming.md +50 -114
- package/docs/guides/testing.md +284 -0
- package/docs/guides/triggers.md +401 -0
- package/docs/migration/README.md +8 -15
- package/docs/migration/v1-to-v2.md +1 -1
- package/docs/migration/v2-3-to-v2-4.md +2 -2
- package/docs/migration/v2-6-to-v2-7.md +4 -4
- package/docs/migration/v3-to-v4.md +452 -0
- package/docs/reference/actions-events-conditions.md +396 -0
- package/docs/reference/agent.md +244 -0
- package/docs/reference/branches.md +75 -203
- package/docs/reference/errors.md +188 -144
- package/docs/reference/fields.md +125 -0
- package/docs/reference/flow-spec.md +248 -0
- package/docs/reference/flow.md +104 -192
- package/docs/reference/instruction.md +83 -137
- package/docs/reference/outcomes.md +273 -0
- package/docs/reference/providers.md +525 -302
- package/docs/reference/session.md +210 -0
- package/docs/reference/step.md +194 -312
- package/docs/reference/stores.md +496 -0
- package/docs/reference/tool.md +162 -231
- package/docs/reference/trigger.md +180 -0
- package/docs/rfc/v4-one-flow.md +477 -0
- package/docs/start/01-install.md +59 -44
- package/docs/start/02-first-agent.md +97 -147
- package/docs/start/03-collect-data.md +78 -183
- package/docs/start/04-add-tools.md +159 -227
- package/docs/start/05-go-to-production.md +167 -164
- package/examples/01-quickstart.ts +26 -16
- package/examples/02-fields.ts +75 -0
- package/examples/03-tools.ts +79 -119
- package/examples/04-instructions.ts +60 -87
- package/examples/05-branches.ts +78 -0
- package/examples/06-triggers-and-waits.ts +148 -0
- package/examples/07-streaming.ts +34 -60
- package/examples/08-store-and-migration.ts +97 -0
- package/examples/09-flows-from-json.ts +107 -0
- package/package.json +9 -6
- package/src/core/Agent.ts +116 -1512
- package/src/core/CompactionEngine.ts +7 -4
- package/src/core/FlowSpec.ts +712 -0
- package/src/core/Migrate.ts +256 -0
- package/src/core/Prompt.ts +156 -0
- package/src/core/Runner.ts +1181 -0
- package/src/core/Speak.ts +451 -0
- package/src/core/Understand.ts +422 -0
- package/src/core/contracts.ts +111 -0
- package/src/core/falai.ts +86 -0
- package/src/core/predicate.ts +56 -0
- package/src/index.ts +119 -147
- package/src/persistence/MemoryStore.ts +37 -0
- package/src/persistence/MongoStore.ts +89 -0
- package/src/persistence/OpenSearchStore.ts +153 -0
- package/src/persistence/PostgresStore.ts +89 -0
- package/src/persistence/PrismaStore.ts +127 -0
- package/src/persistence/RedisStore.ts +90 -0
- package/src/persistence/SQLiteStore.ts +103 -0
- package/src/persistence/sessionRow.ts +45 -0
- package/src/providers/DeepSeekProvider.ts +8 -3
- package/src/providers/GeminiProvider.ts +4 -3
- package/src/providers/OpenAICompatibleProvider.ts +6 -0
- package/src/providers/OpenRouterProvider.ts +2 -4
- package/src/providers/ProviderAdapter.ts +46 -13
- package/src/providers/ZaiProvider.ts +6 -4
- package/src/types/agent.ts +124 -397
- package/src/types/ai.ts +33 -1
- package/src/types/compaction.ts +3 -1
- package/src/types/errors.ts +13 -16
- package/src/types/flow.ts +249 -550
- package/src/types/history.ts +7 -20
- package/src/types/index.ts +87 -139
- package/src/types/session.ts +135 -70
- package/src/types/tool.ts +42 -267
- package/src/utils/clock.ts +70 -0
- package/src/utils/duration.ts +33 -0
- package/src/utils/history.ts +3 -2
- package/src/utils/index.ts +8 -66
- package/src/utils/json.ts +5 -0
- package/src/utils/outcomes.ts +56 -0
- package/src/utils/schema.ts +145 -0
- package/src/utils/streamingMessage.ts +34 -4
- package/src/utils/template.ts +32 -423
- package/src/utils/usage.ts +37 -0
- package/dist/adapters/MemoryAdapter.d.ts +0 -47
- package/dist/adapters/MemoryAdapter.d.ts.map +0 -1
- package/dist/adapters/MemoryAdapter.js +0 -204
- package/dist/adapters/MemoryAdapter.js.map +0 -1
- package/dist/adapters/MongoAdapter.d.ts +0 -97
- package/dist/adapters/MongoAdapter.d.ts.map +0 -1
- package/dist/adapters/MongoAdapter.js +0 -196
- package/dist/adapters/MongoAdapter.js.map +0 -1
- package/dist/adapters/OpenSearchAdapter.d.ts +0 -169
- package/dist/adapters/OpenSearchAdapter.d.ts.map +0 -1
- package/dist/adapters/OpenSearchAdapter.js +0 -471
- package/dist/adapters/OpenSearchAdapter.js.map +0 -1
- package/dist/adapters/PostgreSQLAdapter.d.ts +0 -85
- package/dist/adapters/PostgreSQLAdapter.d.ts.map +0 -1
- package/dist/adapters/PostgreSQLAdapter.js +0 -308
- package/dist/adapters/PostgreSQLAdapter.js.map +0 -1
- package/dist/adapters/PrismaAdapter.d.ts +0 -115
- package/dist/adapters/PrismaAdapter.d.ts.map +0 -1
- package/dist/adapters/PrismaAdapter.js +0 -406
- package/dist/adapters/PrismaAdapter.js.map +0 -1
- package/dist/adapters/RedisAdapter.d.ts +0 -72
- package/dist/adapters/RedisAdapter.d.ts.map +0 -1
- package/dist/adapters/RedisAdapter.js +0 -286
- package/dist/adapters/RedisAdapter.js.map +0 -1
- package/dist/adapters/SQLiteAdapter.d.ts +0 -86
- package/dist/adapters/SQLiteAdapter.d.ts.map +0 -1
- package/dist/adapters/SQLiteAdapter.js +0 -337
- package/dist/adapters/SQLiteAdapter.js.map +0 -1
- package/dist/adapters/index.d.ts +0 -17
- package/dist/adapters/index.d.ts.map +0 -1
- package/dist/adapters/index.js +0 -11
- package/dist/adapters/index.js.map +0 -1
- package/dist/adapters/sessionRow.d.ts +0 -22
- package/dist/adapters/sessionRow.d.ts.map +0 -1
- package/dist/adapters/sessionRow.js +0 -48
- package/dist/adapters/sessionRow.js.map +0 -1
- package/dist/cjs/adapters/MemoryAdapter.d.ts +0 -47
- package/dist/cjs/adapters/MemoryAdapter.d.ts.map +0 -1
- package/dist/cjs/adapters/MemoryAdapter.js +0 -208
- package/dist/cjs/adapters/MemoryAdapter.js.map +0 -1
- package/dist/cjs/adapters/MongoAdapter.d.ts +0 -97
- package/dist/cjs/adapters/MongoAdapter.d.ts.map +0 -1
- package/dist/cjs/adapters/MongoAdapter.js +0 -200
- package/dist/cjs/adapters/MongoAdapter.js.map +0 -1
- package/dist/cjs/adapters/OpenSearchAdapter.d.ts +0 -169
- package/dist/cjs/adapters/OpenSearchAdapter.d.ts.map +0 -1
- package/dist/cjs/adapters/OpenSearchAdapter.js +0 -475
- package/dist/cjs/adapters/OpenSearchAdapter.js.map +0 -1
- package/dist/cjs/adapters/PostgreSQLAdapter.d.ts +0 -85
- package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +0 -1
- package/dist/cjs/adapters/PostgreSQLAdapter.js +0 -312
- package/dist/cjs/adapters/PostgreSQLAdapter.js.map +0 -1
- package/dist/cjs/adapters/PrismaAdapter.d.ts +0 -115
- package/dist/cjs/adapters/PrismaAdapter.d.ts.map +0 -1
- package/dist/cjs/adapters/PrismaAdapter.js +0 -410
- package/dist/cjs/adapters/PrismaAdapter.js.map +0 -1
- package/dist/cjs/adapters/RedisAdapter.d.ts +0 -72
- package/dist/cjs/adapters/RedisAdapter.d.ts.map +0 -1
- package/dist/cjs/adapters/RedisAdapter.js +0 -290
- package/dist/cjs/adapters/RedisAdapter.js.map +0 -1
- package/dist/cjs/adapters/SQLiteAdapter.d.ts +0 -86
- package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +0 -1
- package/dist/cjs/adapters/SQLiteAdapter.js +0 -341
- package/dist/cjs/adapters/SQLiteAdapter.js.map +0 -1
- package/dist/cjs/adapters/index.d.ts +0 -17
- package/dist/cjs/adapters/index.d.ts.map +0 -1
- package/dist/cjs/adapters/index.js +0 -21
- package/dist/cjs/adapters/index.js.map +0 -1
- package/dist/cjs/adapters/sessionRow.d.ts +0 -22
- package/dist/cjs/adapters/sessionRow.d.ts.map +0 -1
- package/dist/cjs/adapters/sessionRow.js +0 -52
- package/dist/cjs/adapters/sessionRow.js.map +0 -1
- package/dist/cjs/constants/index.d.ts +0 -1
- package/dist/cjs/constants/index.d.ts.map +0 -1
- package/dist/cjs/constants/index.js +0 -4
- package/dist/cjs/constants/index.js.map +0 -1
- package/dist/cjs/core/AutoChainExecutor.d.ts +0 -97
- package/dist/cjs/core/AutoChainExecutor.d.ts.map +0 -1
- package/dist/cjs/core/AutoChainExecutor.js +0 -288
- package/dist/cjs/core/AutoChainExecutor.js.map +0 -1
- package/dist/cjs/core/BranchEvaluator.d.ts +0 -55
- package/dist/cjs/core/BranchEvaluator.d.ts.map +0 -1
- package/dist/cjs/core/BranchEvaluator.js +0 -125
- package/dist/cjs/core/BranchEvaluator.js.map +0 -1
- package/dist/cjs/core/DirectiveChainTracker.d.ts +0 -49
- package/dist/cjs/core/DirectiveChainTracker.d.ts.map +0 -1
- package/dist/cjs/core/DirectiveChainTracker.js +0 -121
- package/dist/cjs/core/DirectiveChainTracker.js.map +0 -1
- package/dist/cjs/core/Events.d.ts +0 -26
- package/dist/cjs/core/Events.d.ts.map +0 -1
- package/dist/cjs/core/Events.js +0 -144
- package/dist/cjs/core/Events.js.map +0 -1
- package/dist/cjs/core/Flow.d.ts +0 -183
- package/dist/cjs/core/Flow.d.ts.map +0 -1
- package/dist/cjs/core/Flow.js +0 -551
- package/dist/cjs/core/Flow.js.map +0 -1
- package/dist/cjs/core/FlowRouter.d.ts +0 -183
- package/dist/cjs/core/FlowRouter.d.ts.map +0 -1
- package/dist/cjs/core/FlowRouter.js +0 -1047
- package/dist/cjs/core/FlowRouter.js.map +0 -1
- package/dist/cjs/core/PersistenceManager.d.ts +0 -114
- package/dist/cjs/core/PersistenceManager.d.ts.map +0 -1
- package/dist/cjs/core/PersistenceManager.js +0 -336
- package/dist/cjs/core/PersistenceManager.js.map +0 -1
- package/dist/cjs/core/PromptComposer.d.ts +0 -47
- package/dist/cjs/core/PromptComposer.d.ts.map +0 -1
- package/dist/cjs/core/PromptComposer.js +0 -397
- package/dist/cjs/core/PromptComposer.js.map +0 -1
- package/dist/cjs/core/PromptSectionCache.d.ts +0 -48
- package/dist/cjs/core/PromptSectionCache.d.ts.map +0 -1
- package/dist/cjs/core/PromptSectionCache.js +0 -108
- package/dist/cjs/core/PromptSectionCache.js.map +0 -1
- package/dist/cjs/core/ResponseEngine.d.ts +0 -43
- package/dist/cjs/core/ResponseEngine.d.ts.map +0 -1
- package/dist/cjs/core/ResponseEngine.js +0 -235
- package/dist/cjs/core/ResponseEngine.js.map +0 -1
- package/dist/cjs/core/ResponseGenerationError.d.ts +0 -30
- package/dist/cjs/core/ResponseGenerationError.d.ts.map +0 -1
- package/dist/cjs/core/ResponseGenerationError.js +0 -35
- package/dist/cjs/core/ResponseGenerationError.js.map +0 -1
- package/dist/cjs/core/ResponseModal.d.ts +0 -305
- package/dist/cjs/core/ResponseModal.d.ts.map +0 -1
- package/dist/cjs/core/ResponseModal.js +0 -1414
- package/dist/cjs/core/ResponseModal.js.map +0 -1
- package/dist/cjs/core/ResponsePipeline.d.ts +0 -220
- package/dist/cjs/core/ResponsePipeline.d.ts.map +0 -1
- package/dist/cjs/core/ResponsePipeline.js +0 -1040
- package/dist/cjs/core/ResponsePipeline.js.map +0 -1
- package/dist/cjs/core/SessionFinalizer.d.ts +0 -34
- package/dist/cjs/core/SessionFinalizer.d.ts.map +0 -1
- package/dist/cjs/core/SessionFinalizer.js +0 -88
- package/dist/cjs/core/SessionFinalizer.js.map +0 -1
- package/dist/cjs/core/SessionManager.d.ts +0 -112
- package/dist/cjs/core/SessionManager.d.ts.map +0 -1
- package/dist/cjs/core/SessionManager.js +0 -308
- package/dist/cjs/core/SessionManager.js.map +0 -1
- package/dist/cjs/core/SignalCoordinator.d.ts +0 -103
- package/dist/cjs/core/SignalCoordinator.d.ts.map +0 -1
- package/dist/cjs/core/SignalCoordinator.js +0 -207
- package/dist/cjs/core/SignalCoordinator.js.map +0 -1
- package/dist/cjs/core/SignalEvaluator.d.ts +0 -86
- package/dist/cjs/core/SignalEvaluator.d.ts.map +0 -1
- package/dist/cjs/core/SignalEvaluator.js +0 -319
- package/dist/cjs/core/SignalEvaluator.js.map +0 -1
- package/dist/cjs/core/SignalProcessor.d.ts +0 -152
- package/dist/cjs/core/SignalProcessor.d.ts.map +0 -1
- package/dist/cjs/core/SignalProcessor.js +0 -505
- package/dist/cjs/core/SignalProcessor.js.map +0 -1
- package/dist/cjs/core/Step.d.ts +0 -184
- package/dist/cjs/core/Step.d.ts.map +0 -1
- package/dist/cjs/core/Step.js +0 -599
- package/dist/cjs/core/Step.js.map +0 -1
- package/dist/cjs/core/StepLifecycle.d.ts +0 -43
- package/dist/cjs/core/StepLifecycle.d.ts.map +0 -1
- package/dist/cjs/core/StepLifecycle.js +0 -180
- package/dist/cjs/core/StepLifecycle.js.map +0 -1
- package/dist/cjs/core/StreamingToolExecutor.d.ts +0 -142
- package/dist/cjs/core/StreamingToolExecutor.d.ts.map +0 -1
- package/dist/cjs/core/StreamingToolExecutor.js +0 -490
- package/dist/cjs/core/StreamingToolExecutor.js.map +0 -1
- package/dist/cjs/core/ToolLoopExecutor.d.ts +0 -133
- package/dist/cjs/core/ToolLoopExecutor.d.ts.map +0 -1
- package/dist/cjs/core/ToolLoopExecutor.js +0 -568
- package/dist/cjs/core/ToolLoopExecutor.js.map +0 -1
- package/dist/cjs/core/ToolManager.d.ts +0 -250
- package/dist/cjs/core/ToolManager.d.ts.map +0 -1
- package/dist/cjs/core/ToolManager.js +0 -1104
- package/dist/cjs/core/ToolManager.js.map +0 -1
- package/dist/cjs/core/createAgent.d.ts +0 -35
- package/dist/cjs/core/createAgent.d.ts.map +0 -1
- package/dist/cjs/core/createAgent.js +0 -39
- package/dist/cjs/core/createAgent.js.map +0 -1
- package/dist/cjs/core/flow-namespace.d.ts +0 -64
- package/dist/cjs/core/flow-namespace.d.ts.map +0 -1
- package/dist/cjs/core/flow-namespace.js +0 -182
- package/dist/cjs/core/flow-namespace.js.map +0 -1
- package/dist/cjs/core/toolGates.d.ts +0 -24
- package/dist/cjs/core/toolGates.d.ts.map +0 -1
- package/dist/cjs/core/toolGates.js +0 -52
- package/dist/cjs/core/toolGates.js.map +0 -1
- package/dist/cjs/types/persistence.d.ts +0 -254
- package/dist/cjs/types/persistence.d.ts.map +0 -1
- package/dist/cjs/types/persistence.js +0 -7
- package/dist/cjs/types/persistence.js.map +0 -1
- package/dist/cjs/types/prompt-cache.d.ts +0 -15
- package/dist/cjs/types/prompt-cache.d.ts.map +0 -1
- package/dist/cjs/types/prompt-cache.js +0 -6
- package/dist/cjs/types/prompt-cache.js.map +0 -1
- package/dist/cjs/types/signals.d.ts +0 -263
- package/dist/cjs/types/signals.d.ts.map +0 -1
- package/dist/cjs/types/signals.js +0 -11
- package/dist/cjs/types/signals.js.map +0 -1
- package/dist/cjs/types/template.d.ts +0 -84
- package/dist/cjs/types/template.d.ts.map +0 -1
- package/dist/cjs/types/template.js +0 -3
- package/dist/cjs/types/template.js.map +0 -1
- package/dist/cjs/utils/condition.d.ts +0 -63
- package/dist/cjs/utils/condition.d.ts.map +0 -1
- package/dist/cjs/utils/condition.js +0 -239
- package/dist/cjs/utils/condition.js.map +0 -1
- package/dist/cjs/utils/event.d.ts +0 -6
- package/dist/cjs/utils/event.d.ts.map +0 -1
- package/dist/cjs/utils/event.js +0 -20
- package/dist/cjs/utils/event.js.map +0 -1
- package/dist/cjs/utils/id.d.ts +0 -33
- package/dist/cjs/utils/id.d.ts.map +0 -1
- package/dist/cjs/utils/id.js +0 -84
- package/dist/cjs/utils/id.js.map +0 -1
- package/dist/cjs/utils/serialize.d.ts +0 -36
- package/dist/cjs/utils/serialize.d.ts.map +0 -1
- package/dist/cjs/utils/serialize.js +0 -77
- package/dist/cjs/utils/serialize.js.map +0 -1
- package/dist/cjs/utils/session.d.ts +0 -124
- package/dist/cjs/utils/session.d.ts.map +0 -1
- package/dist/cjs/utils/session.js +0 -396
- package/dist/cjs/utils/session.js.map +0 -1
- package/dist/constants/index.d.ts +0 -2
- package/dist/constants/index.d.ts.map +0 -1
- package/dist/constants/index.js +0 -4
- package/dist/constants/index.js.map +0 -1
- package/dist/core/AutoChainExecutor.d.ts +0 -97
- package/dist/core/AutoChainExecutor.d.ts.map +0 -1
- package/dist/core/AutoChainExecutor.js +0 -284
- package/dist/core/AutoChainExecutor.js.map +0 -1
- package/dist/core/BranchEvaluator.d.ts +0 -55
- package/dist/core/BranchEvaluator.d.ts.map +0 -1
- package/dist/core/BranchEvaluator.js +0 -121
- package/dist/core/BranchEvaluator.js.map +0 -1
- package/dist/core/DirectiveChainTracker.d.ts +0 -49
- package/dist/core/DirectiveChainTracker.d.ts.map +0 -1
- package/dist/core/DirectiveChainTracker.js +0 -117
- package/dist/core/DirectiveChainTracker.js.map +0 -1
- package/dist/core/Events.d.ts +0 -26
- package/dist/core/Events.d.ts.map +0 -1
- package/dist/core/Events.js +0 -137
- package/dist/core/Events.js.map +0 -1
- package/dist/core/Flow.d.ts +0 -183
- package/dist/core/Flow.d.ts.map +0 -1
- package/dist/core/Flow.js +0 -547
- package/dist/core/Flow.js.map +0 -1
- package/dist/core/FlowRouter.d.ts +0 -183
- package/dist/core/FlowRouter.d.ts.map +0 -1
- package/dist/core/FlowRouter.js +0 -1043
- package/dist/core/FlowRouter.js.map +0 -1
- package/dist/core/PersistenceManager.d.ts +0 -114
- package/dist/core/PersistenceManager.d.ts.map +0 -1
- package/dist/core/PersistenceManager.js +0 -332
- package/dist/core/PersistenceManager.js.map +0 -1
- package/dist/core/PromptComposer.d.ts +0 -47
- package/dist/core/PromptComposer.d.ts.map +0 -1
- package/dist/core/PromptComposer.js +0 -393
- package/dist/core/PromptComposer.js.map +0 -1
- package/dist/core/PromptSectionCache.d.ts +0 -48
- package/dist/core/PromptSectionCache.d.ts.map +0 -1
- package/dist/core/PromptSectionCache.js +0 -104
- package/dist/core/PromptSectionCache.js.map +0 -1
- package/dist/core/ResponseEngine.d.ts +0 -43
- package/dist/core/ResponseEngine.d.ts.map +0 -1
- package/dist/core/ResponseEngine.js +0 -231
- package/dist/core/ResponseEngine.js.map +0 -1
- package/dist/core/ResponseGenerationError.d.ts +0 -30
- package/dist/core/ResponseGenerationError.d.ts.map +0 -1
- package/dist/core/ResponseGenerationError.js +0 -31
- package/dist/core/ResponseGenerationError.js.map +0 -1
- package/dist/core/ResponseModal.d.ts +0 -305
- package/dist/core/ResponseModal.d.ts.map +0 -1
- package/dist/core/ResponseModal.js +0 -1410
- package/dist/core/ResponseModal.js.map +0 -1
- package/dist/core/ResponsePipeline.d.ts +0 -220
- package/dist/core/ResponsePipeline.d.ts.map +0 -1
- package/dist/core/ResponsePipeline.js +0 -1035
- package/dist/core/ResponsePipeline.js.map +0 -1
- package/dist/core/SessionFinalizer.d.ts +0 -34
- package/dist/core/SessionFinalizer.d.ts.map +0 -1
- package/dist/core/SessionFinalizer.js +0 -84
- package/dist/core/SessionFinalizer.js.map +0 -1
- package/dist/core/SessionManager.d.ts +0 -112
- package/dist/core/SessionManager.d.ts.map +0 -1
- package/dist/core/SessionManager.js +0 -301
- package/dist/core/SessionManager.js.map +0 -1
- package/dist/core/SignalCoordinator.d.ts +0 -103
- package/dist/core/SignalCoordinator.d.ts.map +0 -1
- package/dist/core/SignalCoordinator.js +0 -203
- package/dist/core/SignalCoordinator.js.map +0 -1
- package/dist/core/SignalEvaluator.d.ts +0 -86
- package/dist/core/SignalEvaluator.d.ts.map +0 -1
- package/dist/core/SignalEvaluator.js +0 -312
- package/dist/core/SignalEvaluator.js.map +0 -1
- package/dist/core/SignalProcessor.d.ts +0 -152
- package/dist/core/SignalProcessor.d.ts.map +0 -1
- package/dist/core/SignalProcessor.js +0 -498
- package/dist/core/SignalProcessor.js.map +0 -1
- package/dist/core/Step.d.ts +0 -184
- package/dist/core/Step.d.ts.map +0 -1
- package/dist/core/Step.js +0 -594
- package/dist/core/Step.js.map +0 -1
- package/dist/core/StepLifecycle.d.ts +0 -43
- package/dist/core/StepLifecycle.d.ts.map +0 -1
- package/dist/core/StepLifecycle.js +0 -176
- package/dist/core/StepLifecycle.js.map +0 -1
- package/dist/core/StreamingToolExecutor.d.ts +0 -142
- package/dist/core/StreamingToolExecutor.d.ts.map +0 -1
- package/dist/core/StreamingToolExecutor.js +0 -483
- package/dist/core/StreamingToolExecutor.js.map +0 -1
- package/dist/core/ToolLoopExecutor.d.ts +0 -133
- package/dist/core/ToolLoopExecutor.d.ts.map +0 -1
- package/dist/core/ToolLoopExecutor.js +0 -564
- package/dist/core/ToolLoopExecutor.js.map +0 -1
- package/dist/core/ToolManager.d.ts +0 -250
- package/dist/core/ToolManager.d.ts.map +0 -1
- package/dist/core/ToolManager.js +0 -1098
- package/dist/core/ToolManager.js.map +0 -1
- package/dist/core/createAgent.d.ts +0 -35
- package/dist/core/createAgent.d.ts.map +0 -1
- package/dist/core/createAgent.js +0 -36
- package/dist/core/createAgent.js.map +0 -1
- package/dist/core/flow-namespace.d.ts +0 -64
- package/dist/core/flow-namespace.d.ts.map +0 -1
- package/dist/core/flow-namespace.js +0 -179
- package/dist/core/flow-namespace.js.map +0 -1
- package/dist/core/toolGates.d.ts +0 -24
- package/dist/core/toolGates.d.ts.map +0 -1
- package/dist/core/toolGates.js +0 -49
- package/dist/core/toolGates.js.map +0 -1
- package/dist/types/persistence.d.ts +0 -254
- package/dist/types/persistence.d.ts.map +0 -1
- package/dist/types/persistence.js +0 -6
- package/dist/types/persistence.js.map +0 -1
- package/dist/types/prompt-cache.d.ts +0 -15
- package/dist/types/prompt-cache.d.ts.map +0 -1
- package/dist/types/prompt-cache.js +0 -5
- package/dist/types/prompt-cache.js.map +0 -1
- package/dist/types/signals.d.ts +0 -263
- package/dist/types/signals.d.ts.map +0 -1
- package/dist/types/signals.js +0 -10
- package/dist/types/signals.js.map +0 -1
- package/dist/types/template.d.ts +0 -84
- package/dist/types/template.d.ts.map +0 -1
- package/dist/types/template.js +0 -2
- package/dist/types/template.js.map +0 -1
- package/dist/utils/condition.d.ts +0 -63
- package/dist/utils/condition.d.ts.map +0 -1
- package/dist/utils/condition.js +0 -230
- package/dist/utils/condition.js.map +0 -1
- package/dist/utils/event.d.ts +0 -6
- package/dist/utils/event.d.ts.map +0 -1
- package/dist/utils/event.js +0 -17
- package/dist/utils/event.js.map +0 -1
- package/dist/utils/id.d.ts +0 -33
- package/dist/utils/id.d.ts.map +0 -1
- package/dist/utils/id.js +0 -77
- package/dist/utils/id.js.map +0 -1
- package/dist/utils/serialize.d.ts +0 -36
- package/dist/utils/serialize.d.ts.map +0 -1
- package/dist/utils/serialize.js +0 -72
- package/dist/utils/serialize.js.map +0 -1
- package/dist/utils/session.d.ts +0 -124
- package/dist/utils/session.d.ts.map +0 -1
- package/dist/utils/session.js +0 -379
- package/dist/utils/session.js.map +0 -1
- package/docs/concepts/directives.md +0 -369
- package/docs/reference/adapters.md +0 -543
- package/docs/reference/create-agent.md +0 -216
- package/docs/reference/directive.md +0 -242
- package/docs/reference/signals.md +0 -368
- package/examples/02-data-extraction.ts +0 -90
- package/examples/05-branching.ts +0 -140
- package/examples/06-flow-control.ts +0 -103
- package/examples/08-persistence.ts +0 -98
- package/examples/09-signals.ts +0 -144
- package/src/adapters/MemoryAdapter.ts +0 -281
- package/src/adapters/MongoAdapter.ts +0 -341
- package/src/adapters/OpenSearchAdapter.ts +0 -693
- package/src/adapters/PostgreSQLAdapter.ts +0 -487
- package/src/adapters/PrismaAdapter.ts +0 -617
- package/src/adapters/RedisAdapter.ts +0 -439
- package/src/adapters/SQLiteAdapter.ts +0 -496
- package/src/adapters/index.ts +0 -43
- package/src/adapters/sessionRow.ts +0 -57
- package/src/constants/index.ts +0 -2
- package/src/core/AutoChainExecutor.ts +0 -397
- package/src/core/BranchEvaluator.ts +0 -161
- package/src/core/DirectiveChainTracker.ts +0 -144
- package/src/core/Events.ts +0 -164
- package/src/core/Flow.ts +0 -665
- package/src/core/FlowRouter.ts +0 -1540
- package/src/core/PersistenceManager.ts +0 -446
- package/src/core/PromptComposer.ts +0 -448
- package/src/core/PromptSectionCache.ts +0 -125
- package/src/core/ResponseEngine.ts +0 -338
- package/src/core/ResponseGenerationError.ts +0 -53
- package/src/core/ResponseModal.ts +0 -1902
- package/src/core/ResponsePipeline.ts +0 -1404
- package/src/core/SessionFinalizer.ts +0 -108
- package/src/core/SessionManager.ts +0 -372
- package/src/core/SignalCoordinator.ts +0 -263
- package/src/core/SignalEvaluator.ts +0 -404
- package/src/core/SignalProcessor.ts +0 -663
- package/src/core/Step.ts +0 -782
- package/src/core/StepLifecycle.ts +0 -242
- package/src/core/StreamingToolExecutor.ts +0 -609
- package/src/core/ToolLoopExecutor.ts +0 -749
- package/src/core/ToolManager.ts +0 -1379
- package/src/core/createAgent.ts +0 -40
- package/src/core/flow-namespace.ts +0 -227
- package/src/core/toolGates.ts +0 -72
- package/src/types/persistence.ts +0 -303
- package/src/types/prompt-cache.ts +0 -17
- package/src/types/signals.ts +0 -338
- package/src/types/template.ts +0 -98
- package/src/utils/condition.ts +0 -296
- package/src/utils/event.ts +0 -16
- package/src/utils/id.ts +0 -91
- package/src/utils/serialize.ts +0 -86
- package/src/utils/session.ts +0 -501
package/dist/utils/serialize.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Serialization utilities for tool results and other data
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Decide whether a tool handler's return value is a ToolResult-shaped object.
|
|
6
|
-
* Only SEMANTIC markers identify one — bare `{data}` / `{error}` shapes are
|
|
7
|
-
* indistinguishable from ordinary business payloads (e.g. upstream API
|
|
8
|
-
* envelopes) and must be wrapped as raw results instead. Shared by the
|
|
9
|
-
* sequential (ToolManager) and concurrent (StreamingToolExecutor) paths so the
|
|
10
|
-
* definition of "is a ToolResult" can't drift between them.
|
|
11
|
-
*/
|
|
12
|
-
export function isToolResultLike(result) {
|
|
13
|
-
return (result !== null &&
|
|
14
|
-
typeof result === "object" &&
|
|
15
|
-
(("success" in result &&
|
|
16
|
-
typeof result.success === "boolean") ||
|
|
17
|
-
"directive" in result ||
|
|
18
|
-
"directives" in result ||
|
|
19
|
-
"dataUpdate" in result ||
|
|
20
|
-
"contextUpdate" in result));
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Collect a ToolResult's directives — `{directive}` (singular shorthand) and
|
|
24
|
-
* `{directives}` both count. Singular merges FIRST so plural entries win reply
|
|
25
|
-
* ties (last-wins merge), identical on both executor paths.
|
|
26
|
-
*/
|
|
27
|
-
export function extractResultDirectives(result) {
|
|
28
|
-
const directives = [];
|
|
29
|
-
if (result.directive)
|
|
30
|
-
directives.push(result.directive);
|
|
31
|
-
if (Array.isArray(result.directives))
|
|
32
|
-
directives.push(...result.directives);
|
|
33
|
-
return directives;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Serialize a tool execution result into a string suitable for conversation history.
|
|
37
|
-
*
|
|
38
|
-
* Priority:
|
|
39
|
-
* 1. Failed result → error message
|
|
40
|
-
* 2. String data → returned as-is
|
|
41
|
-
* 3. Object data → JSON.stringify (with circular-reference safety)
|
|
42
|
-
* 4. Primitive data → String()
|
|
43
|
-
* 5. No data → "Tool executed successfully"
|
|
44
|
-
*/
|
|
45
|
-
export function serializeToolResult(result) {
|
|
46
|
-
if (!result.success) {
|
|
47
|
-
return `Tool execution failed: ${result.error || "Unknown error"}`;
|
|
48
|
-
}
|
|
49
|
-
if (result.data === undefined || result.data === null) {
|
|
50
|
-
return "Tool executed successfully";
|
|
51
|
-
}
|
|
52
|
-
if (typeof result.data === "string") {
|
|
53
|
-
return result.data;
|
|
54
|
-
}
|
|
55
|
-
// Primitives (number, boolean) are safe to stringify directly
|
|
56
|
-
if (typeof result.data !== "object") {
|
|
57
|
-
return JSON.stringify(result.data);
|
|
58
|
-
}
|
|
59
|
-
// Objects / arrays — guard against circular references
|
|
60
|
-
try {
|
|
61
|
-
return JSON.stringify(result.data);
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
// Circular or otherwise un-serializable object: extract what we can
|
|
65
|
-
const keys = Object.keys(result.data);
|
|
66
|
-
if (keys.length > 0) {
|
|
67
|
-
return `Tool returned object with keys: ${keys.join(", ")}`;
|
|
68
|
-
}
|
|
69
|
-
return "Tool executed successfully (result could not be serialized)";
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=serialize.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/utils/serialize.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAe;IAC9C,OAAO,CACL,MAAM,KAAK,IAAI;QACf,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,CAAC,SAAS,IAAI,MAAM;YACnB,OAAQ,MAAkC,CAAC,OAAO,KAAK,SAAS,CAAC;YACjE,WAAW,IAAI,MAAM;YACrB,YAAY,IAAI,MAAM;YACtB,YAAY,IAAI,MAAM;YACtB,eAAe,IAAI,MAAM,CAAC,CAC7B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAA4C;IAE5C,MAAM,UAAU,GAAiC,EAAE,CAAC;IACpD,IAAI,MAAM,CAAC,SAAS;QAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5E,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAInC;IACC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,0BAA0B,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;IACrE,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,4BAA4B,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,8DAA8D;IAC9D,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,uDAAuD;IACvD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAA+B,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,mCAAmC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,CAAC;QACD,OAAO,6DAA6D,CAAC;IACvE,CAAC;AACH,CAAC"}
|
package/dist/utils/session.d.ts
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import type { SessionState } from "../types/session.js";
|
|
2
|
-
import type { History } from "../types/history.js";
|
|
3
|
-
import type { CollectedStateData } from "../types/persistence.js";
|
|
4
|
-
import type { StructuredSchema } from "../types/schema.js";
|
|
5
|
-
/**
|
|
6
|
-
* Helper to create a new session
|
|
7
|
-
*
|
|
8
|
-
* Overload 1: Create with optional sessionId and metadata
|
|
9
|
-
* @param sessionId - Optional session ID (e.g., from database)
|
|
10
|
-
* @param metadata - Optional metadata to attach
|
|
11
|
-
*
|
|
12
|
-
* Overload 2: Create from a partial session state (merged with defaults)
|
|
13
|
-
* @param state - Partial session state to merge with defaults
|
|
14
|
-
*/
|
|
15
|
-
export declare function createSession<TData = Record<string, unknown>>(sessionId?: string, metadata?: SessionState<TData>["metadata"]): SessionState<TData>;
|
|
16
|
-
export declare function createSession<TData = Record<string, unknown>>(state: Partial<SessionState<TData>>): SessionState<TData>;
|
|
17
|
-
/**
|
|
18
|
-
* Default conversation-history bound applied when the agent configures neither
|
|
19
|
-
* `maxHistoryMessages` nor compaction: generous enough to never bite a real
|
|
20
|
-
* thread, finite so a long-running chat()/stream() session can't grow until
|
|
21
|
-
* the provider context limit bricks it.
|
|
22
|
-
*/
|
|
23
|
-
export declare const DEFAULT_MAX_HISTORY_MESSAGES = 400;
|
|
24
|
-
/**
|
|
25
|
-
* Bound a conversation history to its most recent `max` entries. The left
|
|
26
|
-
* edge never opens on an orphaned role:'tool' message (whose assistant
|
|
27
|
-
* tool_calls parent was cut) — providers reject such histories. Returns the
|
|
28
|
-
* SAME array reference when no truncation is needed.
|
|
29
|
-
*/
|
|
30
|
-
export declare function boundConversationHistory(history: History, max: number): History;
|
|
31
|
-
/**
|
|
32
|
-
* Restore a session from a persisted blob (the named inverse of
|
|
33
|
-
* `createPersistedState`). Restores data + flowHistory verbatim — including a
|
|
34
|
-
* completed-flow blob, whose collected state MUST survive the round trip.
|
|
35
|
-
* Prefer this over the ambiguous `createSession(state)` overload.
|
|
36
|
-
*/
|
|
37
|
-
export declare function restoreSession<TData = Record<string, unknown>>(state: Partial<SessionState<TData>>): SessionState<TData>;
|
|
38
|
-
/** Helper to create a new session ID */
|
|
39
|
-
export declare function createSessionId(): string;
|
|
40
|
-
/**
|
|
41
|
-
* Clones a session to prevent mutation
|
|
42
|
-
*/
|
|
43
|
-
export declare function cloneSession<TData>(session: SessionState<TData>): SessionState<TData>;
|
|
44
|
-
/**
|
|
45
|
-
* Helper to update session with new flow
|
|
46
|
-
* With agent-level data, flows share the same data structure
|
|
47
|
-
*/
|
|
48
|
-
export declare function enterFlow<TData = Record<string, unknown>>(session: SessionState<TData>, flowId: string, flowTitle: string): SessionState<TData>;
|
|
49
|
-
/**
|
|
50
|
-
* Helper to update session with new step
|
|
51
|
-
*/
|
|
52
|
-
export declare function enterStep<TData = Record<string, unknown>>(session: SessionState<TData>, stepId: string, stepDescription?: string): SessionState<TData>;
|
|
53
|
-
/**
|
|
54
|
-
* Helper to release the session to idle state on flow completion.
|
|
55
|
-
*
|
|
56
|
-
* Marks the active flow's `flowHistory` entry as completed (sets
|
|
57
|
-
* `completed: true` and `exitedAt: <now>`), clears `currentFlow` and
|
|
58
|
-
* `currentStep`, and (when `clearOwnedFields` is provided) removes those
|
|
59
|
-
* fields from `session.data` to support `flow.reentrant` re-entry.
|
|
60
|
-
*
|
|
61
|
-
* Does **not** generate any message, copy, or LLM call. The framework
|
|
62
|
-
* speaks no text of its own at the completion boundary — the developer
|
|
63
|
-
* controls every word emitted to the user via flow steps.
|
|
64
|
-
*/
|
|
65
|
-
export declare function completeCurrentFlow<TData = Record<string, unknown>>(session: SessionState<TData>, options?: {
|
|
66
|
-
clearOwnedFields?: ReadonlyArray<keyof TData>;
|
|
67
|
-
}): SessionState<TData>;
|
|
68
|
-
/**
|
|
69
|
-
* Returns true when the given flow id has a most-recent `flowHistory`
|
|
70
|
-
* entry marked as completed within this session. Used by the router to
|
|
71
|
-
* exclude completed flows from candidate scoring (unless the flow is
|
|
72
|
-
* `reentrant`).
|
|
73
|
-
*/
|
|
74
|
-
export declare function isFlowCompletedThisSession<TData = Record<string, unknown>>(session: SessionState<TData>, flowId: string): boolean;
|
|
75
|
-
/**
|
|
76
|
-
* Helper to merge collected data into session
|
|
77
|
-
* Updates agent-level data structure
|
|
78
|
-
*/
|
|
79
|
-
export declare function mergeCollected<TData = Record<string, unknown>>(session: SessionState<TData>, data: Partial<unknown>): SessionState<TData>;
|
|
80
|
-
/**
|
|
81
|
-
* Keep only the fields the agent schema declares. A model can extract a key
|
|
82
|
-
* nobody declared (e.g. `battery_health`); it is dropped with one warning
|
|
83
|
-
* instead of reaching session data. No schema, or no properties, keeps all.
|
|
84
|
-
*/
|
|
85
|
-
export declare function dropUndeclaredFields<TData>(data: Partial<TData>, schema: StructuredSchema | undefined): Partial<TData>;
|
|
86
|
-
/**
|
|
87
|
-
* Helper to convert SessionState to persistence-friendly format
|
|
88
|
-
* Used when saving to database
|
|
89
|
-
*/
|
|
90
|
-
export declare function sessionStepToData<TData = Record<string, unknown>>(session: SessionState<TData>): {
|
|
91
|
-
currentFlow?: string;
|
|
92
|
-
currentStep?: string;
|
|
93
|
-
collectedData: CollectedStateData<TData>;
|
|
94
|
-
};
|
|
95
|
-
/**
|
|
96
|
-
* Helper to convert database SessionData back to SessionState
|
|
97
|
-
* Used when loading from database
|
|
98
|
-
* @param sessionId - The database session ID
|
|
99
|
-
* @param data - The database session data
|
|
100
|
-
*/
|
|
101
|
-
export declare function sessionDataToStep<TData = Record<string, unknown>>(sessionId: string, data: {
|
|
102
|
-
currentFlow?: string;
|
|
103
|
-
currentStep?: string;
|
|
104
|
-
collectedData?: CollectedStateData<TData>;
|
|
105
|
-
version?: number;
|
|
106
|
-
}): SessionState<TData>;
|
|
107
|
-
/**
|
|
108
|
-
* Prepare a session state for persistence by stripping transient fields.
|
|
109
|
-
*
|
|
110
|
-
* This is the shared helper that every persistence adapter should call before
|
|
111
|
-
* writing session state. It ensures:
|
|
112
|
-
* - `pendingDirective` has pre-LLM-only fields (`appendPrompt`,
|
|
113
|
-
* `injectTools`, `halt`) stripped (these are one-turn-lifetime and not
|
|
114
|
-
* serializable across turns).
|
|
115
|
-
* - `pendingDirective` is omitted from the result when `undefined` (adapters
|
|
116
|
-
* should not store a null/undefined key).
|
|
117
|
-
* - `signals` is passed through bit-identical (reserved for v2.x Signals).
|
|
118
|
-
* - Never writes `pendingTransition`.
|
|
119
|
-
*
|
|
120
|
-
* @param session - The in-memory session state to prepare for persistence.
|
|
121
|
-
* @returns A new session state object safe for serialization.
|
|
122
|
-
*/
|
|
123
|
-
export declare function createPersistedState<TData = Record<string, unknown>>(session: SessionState<TData>): SessionState<TData>;
|
|
124
|
-
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/session.js
DELETED
|
@@ -1,379 +0,0 @@
|
|
|
1
|
-
import { cloneDeep } from "./clone.js";
|
|
2
|
-
import { logger } from "./logger.js";
|
|
3
|
-
export function createSession(sessionIdOrState, metadata) {
|
|
4
|
-
// Overload 2: partial state object
|
|
5
|
-
if (typeof sessionIdOrState === "object" && sessionIdOrState !== null) {
|
|
6
|
-
const state = sessionIdOrState;
|
|
7
|
-
const now = new Date();
|
|
8
|
-
const id = state.id ||
|
|
9
|
-
`session_${Date.now()}_${Math.random().toString(36).slice(2)}`;
|
|
10
|
-
return {
|
|
11
|
-
id,
|
|
12
|
-
data: state.data ?? {},
|
|
13
|
-
flowHistory: state.flowHistory ?? [],
|
|
14
|
-
currentFlow: state.currentFlow,
|
|
15
|
-
currentStep: state.currentStep,
|
|
16
|
-
pendingDirective: state.pendingDirective,
|
|
17
|
-
signals: state.signals,
|
|
18
|
-
history: state.history,
|
|
19
|
-
metadata: {
|
|
20
|
-
createdAt: now,
|
|
21
|
-
lastUpdatedAt: now,
|
|
22
|
-
...state.metadata,
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
// Overload 1: sessionId + metadata
|
|
27
|
-
const id = sessionIdOrState ||
|
|
28
|
-
`session_${Date.now()}_${Math.random().toString(36).slice(2)}`;
|
|
29
|
-
return {
|
|
30
|
-
id,
|
|
31
|
-
data: {},
|
|
32
|
-
flowHistory: [],
|
|
33
|
-
metadata: {
|
|
34
|
-
...metadata,
|
|
35
|
-
createdAt: new Date(),
|
|
36
|
-
lastUpdatedAt: new Date(),
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Default conversation-history bound applied when the agent configures neither
|
|
42
|
-
* `maxHistoryMessages` nor compaction: generous enough to never bite a real
|
|
43
|
-
* thread, finite so a long-running chat()/stream() session can't grow until
|
|
44
|
-
* the provider context limit bricks it.
|
|
45
|
-
*/
|
|
46
|
-
export const DEFAULT_MAX_HISTORY_MESSAGES = 400;
|
|
47
|
-
/**
|
|
48
|
-
* Bound a conversation history to its most recent `max` entries. The left
|
|
49
|
-
* edge never opens on an orphaned role:'tool' message (whose assistant
|
|
50
|
-
* tool_calls parent was cut) — providers reject such histories. Returns the
|
|
51
|
-
* SAME array reference when no truncation is needed.
|
|
52
|
-
*/
|
|
53
|
-
export function boundConversationHistory(history, max) {
|
|
54
|
-
if (!history || history.length <= max || max <= 0)
|
|
55
|
-
return history;
|
|
56
|
-
let start = history.length - max;
|
|
57
|
-
while (start < history.length && history[start].role === "tool") {
|
|
58
|
-
start++;
|
|
59
|
-
}
|
|
60
|
-
return history.slice(start);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Restore a session from a persisted blob (the named inverse of
|
|
64
|
-
* `createPersistedState`). Restores data + flowHistory verbatim — including a
|
|
65
|
-
* completed-flow blob, whose collected state MUST survive the round trip.
|
|
66
|
-
* Prefer this over the ambiguous `createSession(state)` overload.
|
|
67
|
-
*/
|
|
68
|
-
export function restoreSession(state) {
|
|
69
|
-
return createSession(state);
|
|
70
|
-
}
|
|
71
|
-
/** Helper to create a new session ID */
|
|
72
|
-
export function createSessionId() {
|
|
73
|
-
return `session_${Date.now()}_${Math.random().toString(36).slice(2)}`;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Clones a session to prevent mutation
|
|
77
|
-
*/
|
|
78
|
-
export function cloneSession(session) {
|
|
79
|
-
return cloneDeep(session);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Helper to update session with new flow
|
|
83
|
-
* With agent-level data, flows share the same data structure
|
|
84
|
-
*/
|
|
85
|
-
export function enterFlow(session, flowId, flowTitle) {
|
|
86
|
-
// Exit current flow if exists
|
|
87
|
-
const flowHistory = [...(session.flowHistory || [])];
|
|
88
|
-
if (session.currentFlow) {
|
|
89
|
-
const lastFlowIndex = flowHistory.findIndex((r) => r.flowId === session.currentFlow?.id && !r.exitedAt);
|
|
90
|
-
if (lastFlowIndex >= 0) {
|
|
91
|
-
flowHistory[lastFlowIndex].exitedAt = new Date();
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
// Enter new flow - data persists across flows at agent level
|
|
95
|
-
const now = new Date();
|
|
96
|
-
return {
|
|
97
|
-
...session,
|
|
98
|
-
currentFlow: {
|
|
99
|
-
id: flowId,
|
|
100
|
-
title: flowTitle,
|
|
101
|
-
enteredAt: now,
|
|
102
|
-
},
|
|
103
|
-
currentStep: undefined,
|
|
104
|
-
// data remains the same - shared across all flows
|
|
105
|
-
flowHistory: [
|
|
106
|
-
...flowHistory,
|
|
107
|
-
{
|
|
108
|
-
flowId: flowId,
|
|
109
|
-
enteredAt: now,
|
|
110
|
-
completed: false,
|
|
111
|
-
},
|
|
112
|
-
],
|
|
113
|
-
metadata: {
|
|
114
|
-
...session.metadata,
|
|
115
|
-
lastUpdatedAt: now,
|
|
116
|
-
},
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Helper to update session with new step
|
|
121
|
-
*/
|
|
122
|
-
export function enterStep(session, stepId, stepDescription) {
|
|
123
|
-
return {
|
|
124
|
-
...session,
|
|
125
|
-
currentStep: {
|
|
126
|
-
id: stepId,
|
|
127
|
-
description: stepDescription,
|
|
128
|
-
enteredAt: new Date(),
|
|
129
|
-
},
|
|
130
|
-
metadata: {
|
|
131
|
-
...session.metadata,
|
|
132
|
-
lastUpdatedAt: new Date(),
|
|
133
|
-
},
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Helper to release the session to idle state on flow completion.
|
|
138
|
-
*
|
|
139
|
-
* Marks the active flow's `flowHistory` entry as completed (sets
|
|
140
|
-
* `completed: true` and `exitedAt: <now>`), clears `currentFlow` and
|
|
141
|
-
* `currentStep`, and (when `clearOwnedFields` is provided) removes those
|
|
142
|
-
* fields from `session.data` to support `flow.reentrant` re-entry.
|
|
143
|
-
*
|
|
144
|
-
* Does **not** generate any message, copy, or LLM call. The framework
|
|
145
|
-
* speaks no text of its own at the completion boundary — the developer
|
|
146
|
-
* controls every word emitted to the user via flow steps.
|
|
147
|
-
*/
|
|
148
|
-
export function completeCurrentFlow(session, options) {
|
|
149
|
-
const now = new Date();
|
|
150
|
-
const flowHistory = [...(session.flowHistory || [])];
|
|
151
|
-
if (session.currentFlow) {
|
|
152
|
-
const lastFlowIndex = flowHistory.findIndex((entry) => entry.flowId === session.currentFlow?.id && !entry.exitedAt);
|
|
153
|
-
if (lastFlowIndex >= 0) {
|
|
154
|
-
flowHistory[lastFlowIndex] = {
|
|
155
|
-
...flowHistory[lastFlowIndex],
|
|
156
|
-
exitedAt: now,
|
|
157
|
-
completed: true,
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
let nextData = session.data;
|
|
162
|
-
if (options?.clearOwnedFields && options.clearOwnedFields.length > 0) {
|
|
163
|
-
const owned = new Set(options.clearOwnedFields);
|
|
164
|
-
const filtered = {};
|
|
165
|
-
for (const key of Object.keys(session.data ?? {})) {
|
|
166
|
-
if (!owned.has(key)) {
|
|
167
|
-
filtered[key] =
|
|
168
|
-
session.data[key];
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
nextData = filtered;
|
|
172
|
-
}
|
|
173
|
-
return {
|
|
174
|
-
...session,
|
|
175
|
-
currentFlow: undefined,
|
|
176
|
-
currentStep: undefined,
|
|
177
|
-
flowHistory,
|
|
178
|
-
data: nextData,
|
|
179
|
-
metadata: {
|
|
180
|
-
...session.metadata,
|
|
181
|
-
lastUpdatedAt: now,
|
|
182
|
-
},
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Returns true when the given flow id has a most-recent `flowHistory`
|
|
187
|
-
* entry marked as completed within this session. Used by the router to
|
|
188
|
-
* exclude completed flows from candidate scoring (unless the flow is
|
|
189
|
-
* `reentrant`).
|
|
190
|
-
*/
|
|
191
|
-
export function isFlowCompletedThisSession(session, flowId) {
|
|
192
|
-
const history = session.flowHistory ?? [];
|
|
193
|
-
for (let i = history.length - 1; i >= 0; i--) {
|
|
194
|
-
const entry = history[i];
|
|
195
|
-
if (entry.flowId === flowId) {
|
|
196
|
-
return entry.completed === true;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
return false;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Helper to merge collected data into session
|
|
203
|
-
* Updates agent-level data structure
|
|
204
|
-
*/
|
|
205
|
-
export function mergeCollected(session, data) {
|
|
206
|
-
const newCollected = {
|
|
207
|
-
...session.data,
|
|
208
|
-
...data,
|
|
209
|
-
};
|
|
210
|
-
return {
|
|
211
|
-
...session,
|
|
212
|
-
data: newCollected, // Agent-level data update
|
|
213
|
-
metadata: {
|
|
214
|
-
...session.metadata,
|
|
215
|
-
lastUpdatedAt: new Date(),
|
|
216
|
-
},
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* Keep only the fields the agent schema declares. A model can extract a key
|
|
221
|
-
* nobody declared (e.g. `battery_health`); it is dropped with one warning
|
|
222
|
-
* instead of reaching session data. No schema, or no properties, keeps all.
|
|
223
|
-
*/
|
|
224
|
-
export function dropUndeclaredFields(data, schema) {
|
|
225
|
-
const properties = schema?.properties;
|
|
226
|
-
if (!properties)
|
|
227
|
-
return data;
|
|
228
|
-
const dropped = Object.keys(data).filter((key) => !(key in properties));
|
|
229
|
-
if (dropped.length === 0)
|
|
230
|
-
return data;
|
|
231
|
-
logger.warn(`[Agent] Dropped fields not declared in agent schema: ${dropped.join(", ")}`);
|
|
232
|
-
return Object.fromEntries(Object.entries(data).filter(([key]) => key in properties));
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Helper to convert SessionState to persistence-friendly format
|
|
236
|
-
* Used when saving to database
|
|
237
|
-
*/
|
|
238
|
-
export function sessionStepToData(session) {
|
|
239
|
-
// Strip pre-LLM-only fields before persisting pendingDirective
|
|
240
|
-
let pendingDirective;
|
|
241
|
-
if (session.pendingDirective) {
|
|
242
|
-
pendingDirective = stripPreDirectiveFields(session.pendingDirective);
|
|
243
|
-
}
|
|
244
|
-
const collectedData = {
|
|
245
|
-
data: session.data || {},
|
|
246
|
-
flowHistory: session.flowHistory,
|
|
247
|
-
history: session.history,
|
|
248
|
-
currentFlowTitle: session.currentFlow?.title,
|
|
249
|
-
currentStepDescription: session.currentStep?.description,
|
|
250
|
-
metadata: session.metadata,
|
|
251
|
-
};
|
|
252
|
-
// Only include pendingDirective when defined (omit key when undefined)
|
|
253
|
-
if (pendingDirective !== undefined) {
|
|
254
|
-
collectedData.pendingDirective = pendingDirective;
|
|
255
|
-
}
|
|
256
|
-
// Pass through signals bit-identical (reserved for v2.x)
|
|
257
|
-
if (session.signals !== undefined) {
|
|
258
|
-
collectedData.signals = session.signals;
|
|
259
|
-
}
|
|
260
|
-
return {
|
|
261
|
-
currentFlow: session.currentFlow?.id,
|
|
262
|
-
currentStep: session.currentStep?.id,
|
|
263
|
-
collectedData,
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* Helper to convert database SessionData back to SessionState
|
|
268
|
-
* Used when loading from database
|
|
269
|
-
* @param sessionId - The database session ID
|
|
270
|
-
* @param data - The database session data
|
|
271
|
-
*/
|
|
272
|
-
export function sessionDataToStep(sessionId, data) {
|
|
273
|
-
const collectedData = data.collectedData || {
|
|
274
|
-
data: {},
|
|
275
|
-
flowHistory: [],
|
|
276
|
-
history: [],
|
|
277
|
-
metadata: {},
|
|
278
|
-
currentFlowTitle: undefined,
|
|
279
|
-
currentStepDescription: undefined,
|
|
280
|
-
};
|
|
281
|
-
const session = {
|
|
282
|
-
id: sessionId,
|
|
283
|
-
currentFlow: data.currentFlow
|
|
284
|
-
? {
|
|
285
|
-
id: data.currentFlow,
|
|
286
|
-
title: collectedData.currentFlowTitle || data.currentFlow,
|
|
287
|
-
enteredAt: new Date(),
|
|
288
|
-
}
|
|
289
|
-
: undefined,
|
|
290
|
-
currentStep: data.currentStep
|
|
291
|
-
? {
|
|
292
|
-
id: data.currentStep,
|
|
293
|
-
description: collectedData.currentStepDescription || undefined,
|
|
294
|
-
enteredAt: new Date(),
|
|
295
|
-
}
|
|
296
|
-
: undefined,
|
|
297
|
-
data: collectedData.data || {},
|
|
298
|
-
flowHistory: collectedData.flowHistory || [],
|
|
299
|
-
history: collectedData.history || [],
|
|
300
|
-
metadata: collectedData.metadata || {},
|
|
301
|
-
version: data.version,
|
|
302
|
-
};
|
|
303
|
-
// Restore pendingDirective if present (ignore any legacy pendingTransition — per Req 12.3)
|
|
304
|
-
if (collectedData.pendingDirective !== undefined) {
|
|
305
|
-
session.pendingDirective = collectedData.pendingDirective;
|
|
306
|
-
}
|
|
307
|
-
// Restore signals bit-identical (reserved for v2.x)
|
|
308
|
-
if (collectedData.signals !== undefined) {
|
|
309
|
-
session.signals = collectedData.signals;
|
|
310
|
-
}
|
|
311
|
-
return session;
|
|
312
|
-
}
|
|
313
|
-
/**
|
|
314
|
-
* Strip pre-LLM-only fields from a directive before persistence.
|
|
315
|
-
*
|
|
316
|
-
* `appendPrompt`, `injectTools`, and `halt` are transient (one-turn lifetime)
|
|
317
|
-
* and must not be serialized. This is a belt-and-suspenders safety net —
|
|
318
|
-
* `Agent.dispatch` already strips before setting `pendingDirective`, and the
|
|
319
|
-
* signal pipeline strips pre-LLM-only fields from post-phase directives. This
|
|
320
|
-
* function ensures the persistence layer never writes these fields regardless
|
|
321
|
-
* of the upstream path.
|
|
322
|
-
*/
|
|
323
|
-
function stripPreDirectiveFields(directive) {
|
|
324
|
-
const raw = directive;
|
|
325
|
-
if (!raw.appendPrompt && !raw.injectTools && raw.halt === undefined) {
|
|
326
|
-
return directive;
|
|
327
|
-
}
|
|
328
|
-
const { appendPrompt, injectTools, halt, ...rest } = raw;
|
|
329
|
-
const droppedFields = [
|
|
330
|
-
appendPrompt && "appendPrompt",
|
|
331
|
-
injectTools && "injectTools",
|
|
332
|
-
halt !== undefined && "halt",
|
|
333
|
-
].filter(Boolean);
|
|
334
|
-
if (droppedFields.length > 0) {
|
|
335
|
-
logger.warn(`[createPersistedState] Ignoring pre-LLM-only fields before persistence (these have no effect outside pre-LLM hooks): ${droppedFields.join(", ")}`);
|
|
336
|
-
}
|
|
337
|
-
return rest;
|
|
338
|
-
}
|
|
339
|
-
/**
|
|
340
|
-
* Prepare a session state for persistence by stripping transient fields.
|
|
341
|
-
*
|
|
342
|
-
* This is the shared helper that every persistence adapter should call before
|
|
343
|
-
* writing session state. It ensures:
|
|
344
|
-
* - `pendingDirective` has pre-LLM-only fields (`appendPrompt`,
|
|
345
|
-
* `injectTools`, `halt`) stripped (these are one-turn-lifetime and not
|
|
346
|
-
* serializable across turns).
|
|
347
|
-
* - `pendingDirective` is omitted from the result when `undefined` (adapters
|
|
348
|
-
* should not store a null/undefined key).
|
|
349
|
-
* - `signals` is passed through bit-identical (reserved for v2.x Signals).
|
|
350
|
-
* - Never writes `pendingTransition`.
|
|
351
|
-
*
|
|
352
|
-
* @param session - The in-memory session state to prepare for persistence.
|
|
353
|
-
* @returns A new session state object safe for serialization.
|
|
354
|
-
*/
|
|
355
|
-
export function createPersistedState(session) {
|
|
356
|
-
let pendingDirective = session.pendingDirective;
|
|
357
|
-
if (pendingDirective) {
|
|
358
|
-
pendingDirective = stripPreDirectiveFields(pendingDirective);
|
|
359
|
-
}
|
|
360
|
-
// Build the persisted state — omit pendingDirective key entirely when undefined
|
|
361
|
-
const persisted = {
|
|
362
|
-
id: session.id,
|
|
363
|
-
data: session.data,
|
|
364
|
-
flowHistory: session.flowHistory,
|
|
365
|
-
currentFlow: session.currentFlow,
|
|
366
|
-
currentStep: session.currentStep,
|
|
367
|
-
history: session.history,
|
|
368
|
-
metadata: session.metadata,
|
|
369
|
-
};
|
|
370
|
-
if (pendingDirective !== undefined) {
|
|
371
|
-
persisted.pendingDirective = pendingDirective;
|
|
372
|
-
}
|
|
373
|
-
// Pass through signals bit-identical (reserved for v2.x)
|
|
374
|
-
if (session.signals !== undefined) {
|
|
375
|
-
persisted.signals = session.signals;
|
|
376
|
-
}
|
|
377
|
-
return persisted;
|
|
378
|
-
}
|
|
379
|
-
//# sourceMappingURL=session.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
|