@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
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ResponseEngine = void 0;
|
|
4
|
-
const PromptComposer_js_1 = require("./PromptComposer.js");
|
|
5
|
-
const template_js_1 = require("../utils/template.js");
|
|
6
|
-
class ResponseEngine {
|
|
7
|
-
constructor(promptSectionCache) {
|
|
8
|
-
this.promptSectionCache = promptSectionCache;
|
|
9
|
-
}
|
|
10
|
-
responseSchemaForFlow(flow, currentStep, agentSchema) {
|
|
11
|
-
const base = {
|
|
12
|
-
type: "object",
|
|
13
|
-
properties: {
|
|
14
|
-
message: { type: "string", description: "Natural, conversational response directed at the user. Must NOT contain field names, raw data, or internal information." },
|
|
15
|
-
},
|
|
16
|
-
required: ["message"],
|
|
17
|
-
additionalProperties: false,
|
|
18
|
-
};
|
|
19
|
-
// Add data field only if flow has responseOutputSchema
|
|
20
|
-
if (flow.responseOutputSchema) {
|
|
21
|
-
base.properties.data = flow.responseOutputSchema;
|
|
22
|
-
}
|
|
23
|
-
// Add collect fields from current step
|
|
24
|
-
if (currentStep?.collect) {
|
|
25
|
-
if (agentSchema?.properties) {
|
|
26
|
-
// Use agent schema definitions for collect fields
|
|
27
|
-
for (const field of currentStep.collect) {
|
|
28
|
-
const fieldSchema = agentSchema.properties[field];
|
|
29
|
-
if (fieldSchema) {
|
|
30
|
-
base.properties[field] = fieldSchema;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
// No agent schema - generate dynamic schema from collect fields
|
|
36
|
-
for (const field of currentStep.collect) {
|
|
37
|
-
base.properties[field] = {
|
|
38
|
-
type: "string",
|
|
39
|
-
description: `Collected value for ${String(field)}`,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return base;
|
|
45
|
-
}
|
|
46
|
-
async buildResponsePrompt(params) {
|
|
47
|
-
const { flow, currentStep, rules, prohibitions, directives, history, agentOptions, instructions, combinedTerms, context, session, agentSchema, transientAppendage, } = params;
|
|
48
|
-
const templateContext = (0, template_js_1.createTemplateContext)({ context, session, history });
|
|
49
|
-
const pc = new PromptComposer_js_1.PromptComposer(templateContext, this.promptSectionCache);
|
|
50
|
-
// Create combined agent options — flow no longer overrides persona
|
|
51
|
-
const effectiveAgentOptions = agentOptions;
|
|
52
|
-
if (effectiveAgentOptions) {
|
|
53
|
-
await pc.addAgentMeta(effectiveAgentOptions);
|
|
54
|
-
}
|
|
55
|
-
await pc.addInstruction(`Flow: ${flow.title}${flow.description ? ` — ${flow.description}` : ""}`);
|
|
56
|
-
if (currentStep.prompt) {
|
|
57
|
-
await pc.addInstruction(`Guideline for your response (adapt to the conversation):\n${await (0, template_js_1.render)(currentStep.prompt, templateContext)}`);
|
|
58
|
-
}
|
|
59
|
-
if (rules.length)
|
|
60
|
-
await pc.addInstruction(`Rules:\n- ${rules.join("\n- ")}`);
|
|
61
|
-
if (prohibitions.length)
|
|
62
|
-
await pc.addInstruction(`Prohibitions:\n- ${prohibitions.join("\n- ")}`);
|
|
63
|
-
await pc.addDirectives(directives);
|
|
64
|
-
await pc.addKnowledgeBase(agentOptions?.knowledgeBase, flow.knowledgeBase);
|
|
65
|
-
// Add scoped instructions (agent + flow + step)
|
|
66
|
-
if (instructions) {
|
|
67
|
-
await pc.addInstructions(instructions);
|
|
68
|
-
}
|
|
69
|
-
// Add combined terms (agent + flow)
|
|
70
|
-
if (combinedTerms && combinedTerms.length > 0) {
|
|
71
|
-
await pc.addGlossary(combinedTerms);
|
|
72
|
-
}
|
|
73
|
-
// Add data collection instructions - include ALL flow fields, not just current step
|
|
74
|
-
// Collect all fields from flow's required and optional fields
|
|
75
|
-
const allFlowFields = new Set();
|
|
76
|
-
if (flow.requiredFields) {
|
|
77
|
-
flow.requiredFields.forEach(field => allFlowFields.add(String(field)));
|
|
78
|
-
}
|
|
79
|
-
if (flow.optionalFields) {
|
|
80
|
-
flow.optionalFields.forEach(field => allFlowFields.add(String(field)));
|
|
81
|
-
}
|
|
82
|
-
if (currentStep?.collect) {
|
|
83
|
-
currentStep.collect.forEach(field => allFlowFields.add(String(field)));
|
|
84
|
-
}
|
|
85
|
-
if (allFlowFields.size > 0) {
|
|
86
|
-
const stepCollectFields = new Set(currentStep?.collect?.map(f => String(f)) || []);
|
|
87
|
-
const fieldDescriptions = [];
|
|
88
|
-
// Values already in session data (pre-extraction this turn, or earlier
|
|
89
|
-
// turns). The routing prompt shows them; the response prompt must too,
|
|
90
|
-
// or the model follows a "ask for X" guideline for an X it already has.
|
|
91
|
-
const sessionData = (session?.data ?? {});
|
|
92
|
-
const isKnown = (field) => {
|
|
93
|
-
const value = sessionData[field];
|
|
94
|
-
return value !== undefined && value !== null && value !== '';
|
|
95
|
-
};
|
|
96
|
-
const fieldMarkers = (field) => {
|
|
97
|
-
let markers = '';
|
|
98
|
-
if (stepCollectFields.has(field))
|
|
99
|
-
markers += ` ← FOCUS FOR THIS STEP`;
|
|
100
|
-
if (isKnown(field))
|
|
101
|
-
markers += ` ← ALREADY KNOWN: ${JSON.stringify(sessionData[field])}`;
|
|
102
|
-
return markers;
|
|
103
|
-
};
|
|
104
|
-
for (const field of allFlowFields) {
|
|
105
|
-
if (agentSchema?.properties) {
|
|
106
|
-
const fieldSchema = agentSchema.properties[field];
|
|
107
|
-
if (fieldSchema) {
|
|
108
|
-
const fieldName = field;
|
|
109
|
-
const fieldDesc = fieldSchema.description || fieldName;
|
|
110
|
-
const fieldType = Array.isArray(fieldSchema.type) ? fieldSchema.type[0] : fieldSchema.type;
|
|
111
|
-
let fieldInfo = ` • ${fieldName} (${fieldType})`;
|
|
112
|
-
// Add enum values if present
|
|
113
|
-
if (fieldSchema.enum && Array.isArray(fieldSchema.enum)) {
|
|
114
|
-
fieldInfo += ` [${fieldSchema.enum.join(' | ')}]`;
|
|
115
|
-
}
|
|
116
|
-
// Add description
|
|
117
|
-
fieldInfo += `: ${fieldDesc}`;
|
|
118
|
-
fieldInfo += fieldMarkers(field);
|
|
119
|
-
fieldDescriptions.push(fieldInfo);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
// No agent schema - generate dynamic description from field name
|
|
124
|
-
fieldDescriptions.push(` • ${field} (string): ${field}${fieldMarkers(field)}`);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
if (fieldDescriptions.length > 0) {
|
|
128
|
-
const stepSatisfied = stepCollectFields.size > 0 && [...stepCollectFields].every(isKnown);
|
|
129
|
-
const instruction = [
|
|
130
|
-
`## Data Collection Rules`,
|
|
131
|
-
``,
|
|
132
|
-
`CRITICAL: You MUST extract ALL relevant information from the user's message, not just what this step asks for.`,
|
|
133
|
-
``,
|
|
134
|
-
`Available fields to extract:`,
|
|
135
|
-
...fieldDescriptions,
|
|
136
|
-
``,
|
|
137
|
-
`**Already-known fields:**`,
|
|
138
|
-
`- A field marked ALREADY KNOWN is settled. NEVER ask the user for it again, even when the guideline above says to ask: acknowledge it and move on to what the step still needs.`,
|
|
139
|
-
`- The same applies to a field the user's latest message already answers: extract it, do not ask for it.`,
|
|
140
|
-
...(stepSatisfied
|
|
141
|
-
? [
|
|
142
|
-
`- Every FOCUS field of this step is already known, so this step's questions are done. Respond to what the user said and move the conversation forward.`,
|
|
143
|
-
]
|
|
144
|
-
: []),
|
|
145
|
-
``,
|
|
146
|
-
`**How to collect data:**`,
|
|
147
|
-
`1. Read the user's message carefully`,
|
|
148
|
-
`2. Extract EVERY piece of information that matches ANY field above`,
|
|
149
|
-
`3. Users often provide multiple details at once (e.g., "I need a checkup next Tuesday at 2 PM")`,
|
|
150
|
-
`4. Include ALL extracted fields in your JSON response as top-level properties`,
|
|
151
|
-
`5. Field names must match EXACTLY as shown above`,
|
|
152
|
-
`6. Only include fields that the user actually mentioned`,
|
|
153
|
-
``,
|
|
154
|
-
`**Example:** If user says "I need a checkup next Tuesday at 2 PM", extract:`,
|
|
155
|
-
`- appointmentType: "checkup"`,
|
|
156
|
-
`- preferredDate: "next Tuesday"`,
|
|
157
|
-
`- preferredTime: "2 PM"`,
|
|
158
|
-
].join('\n');
|
|
159
|
-
await pc.addInstruction(instruction);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
// Add response format instructions with explicit JSON structure
|
|
163
|
-
// Generate example JSON based on actual schema fields
|
|
164
|
-
const exampleFields = [' "message": "your response to the user"'];
|
|
165
|
-
for (const field of allFlowFields) {
|
|
166
|
-
if (agentSchema?.properties) {
|
|
167
|
-
const fieldSchema = agentSchema.properties[field];
|
|
168
|
-
if (fieldSchema) {
|
|
169
|
-
const fieldType = Array.isArray(fieldSchema.type) ? fieldSchema.type[0] : fieldSchema.type;
|
|
170
|
-
let exampleValue = '"value if extracted"';
|
|
171
|
-
// Generate type-appropriate example
|
|
172
|
-
if (fieldSchema.enum && Array.isArray(fieldSchema.enum) && fieldSchema.enum.length > 0) {
|
|
173
|
-
exampleValue = `"${fieldSchema.enum[0]}"`;
|
|
174
|
-
}
|
|
175
|
-
else if (fieldType === 'string') {
|
|
176
|
-
exampleValue = '"extracted value"';
|
|
177
|
-
}
|
|
178
|
-
else if (fieldType === 'number' || fieldType === 'integer') {
|
|
179
|
-
exampleValue = '0';
|
|
180
|
-
}
|
|
181
|
-
else if (fieldType === 'boolean') {
|
|
182
|
-
exampleValue = 'true';
|
|
183
|
-
}
|
|
184
|
-
exampleFields.push(` "${field}": ${exampleValue}`);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
else {
|
|
188
|
-
// No agent schema - use string as default
|
|
189
|
-
exampleFields.push(` "${field}": "extracted value"`);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
await pc.addInstruction([
|
|
193
|
-
`## Response Format`,
|
|
194
|
-
``,
|
|
195
|
-
`You MUST return ONLY valid JSON in this exact format:`,
|
|
196
|
-
`{`,
|
|
197
|
-
...exampleFields.map((f, i) => i < exampleFields.length - 1 ? `${f},` : f),
|
|
198
|
-
`}`,
|
|
199
|
-
``,
|
|
200
|
-
`CRITICAL RULES:`,
|
|
201
|
-
`- Return ONLY the JSON object, no other text`,
|
|
202
|
-
`- The "message" field is REQUIRED and must contain a natural, conversational response directed at the user`,
|
|
203
|
-
`- The "message" MUST read like a human conversation - warm, natural, and contextual`,
|
|
204
|
-
`- NEVER include field names, JSON keys, schema properties, raw data values, or technical/internal information in the "message"`,
|
|
205
|
-
`- NEVER echo back data in the format "fieldName: value" in the "message" - data goes in the JSON fields, not the message`,
|
|
206
|
-
`- Include ALL extracted data fields as separate top-level JSON properties (NOT inside the message text)`,
|
|
207
|
-
`- Only include data fields that were actually mentioned by the user`,
|
|
208
|
-
`- Do not wrap the JSON in markdown code blocks`,
|
|
209
|
-
`- Do not add any explanatory text before or after the JSON`,
|
|
210
|
-
].join('\n'));
|
|
211
|
-
const prompt = await pc.build({ transientAppendage });
|
|
212
|
-
return {
|
|
213
|
-
prompt,
|
|
214
|
-
appliedInstructions: pc.lastAppliedInstructions ?? [],
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
async buildFallbackPrompt(params) {
|
|
218
|
-
const { agentOptions, terms, instructions, context, session } = params;
|
|
219
|
-
const templateContext = (0, template_js_1.createTemplateContext)({ context, session });
|
|
220
|
-
const pc = new PromptComposer_js_1.PromptComposer(templateContext, this.promptSectionCache);
|
|
221
|
-
await pc.addAgentMeta(agentOptions);
|
|
222
|
-
await pc.addGlossary(terms);
|
|
223
|
-
if (instructions) {
|
|
224
|
-
await pc.addInstructions(instructions);
|
|
225
|
-
}
|
|
226
|
-
await pc.addKnowledgeBase(agentOptions.knowledgeBase);
|
|
227
|
-
const prompt = await pc.build();
|
|
228
|
-
return {
|
|
229
|
-
prompt,
|
|
230
|
-
appliedInstructions: pc.lastAppliedInstructions ?? [],
|
|
231
|
-
};
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
exports.ResponseEngine = ResponseEngine;
|
|
235
|
-
//# sourceMappingURL=ResponseEngine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseEngine.js","sourceRoot":"","sources":["../../../src/core/ResponseEngine.ts"],"names":[],"mappings":";;;AAYA,2DAAqD;AAErD,sDAAqE;AAyCrE,MAAa,cAAc;IACzB,YAA6B,kBAAuC;QAAvC,uBAAkB,GAAlB,kBAAkB,CAAqB;IAAI,CAAC;IAEzE,qBAAqB,CACnB,IAA2B,EAC3B,WAAmC,EACnC,WAA8B;QAE9B,MAAM,IAAI,GAAqB;YAC7B,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yHAAyH,EAAE;aACpK;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,oBAAoB,EAAE,KAAK;SAC5B,CAAC;QAEF,uDAAuD;QACvD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAW,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACpD,CAAC;QAED,uCAAuC;QACvC,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACzB,IAAI,WAAW,EAAE,UAAU,EAAE,CAAC;gBAC5B,kDAAkD;gBAClD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxC,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,KAAe,CAAC,CAAC;oBAC5D,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,CAAC,UAAW,CAAC,KAAe,CAAC,GAAG,WAAW,CAAC;oBAClD,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gEAAgE;gBAChE,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxC,IAAI,CAAC,UAAW,CAAC,KAAe,CAAC,GAAG;wBAClC,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uBAAuB,MAAM,CAAC,KAAK,CAAC,EAAE;qBACpD,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,MAAkD;QAElD,MAAM,EACJ,IAAI,EACJ,WAAW,EACX,KAAK,EACL,YAAY,EACZ,UAAU,EACV,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,OAAO,EACP,OAAO,EACP,WAAW,EACX,kBAAkB,GACnB,GAAG,MAAM,CAAC;QACX,MAAM,eAAe,GAAG,IAAA,mCAAqB,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7E,MAAM,EAAE,GAAG,IAAI,kCAAc,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAExE,mEAAmE;QACnE,MAAM,qBAAqB,GAAG,YAAY,CAAC;QAE3C,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,EAAE,CAAC,cAAc,CACrB,SAAS,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EACpE,EAAE,CACH,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,EAAE,CAAC,cAAc,CACrB,6DAA6D,MAAM,IAAA,oBAAM,EACvE,WAAW,CAAC,MAAM,EAClB,eAAe,CAChB,EAAE,CACJ,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,MAAM;YACd,MAAM,EAAE,CAAC,cAAc,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,YAAY,CAAC,MAAM;YACrB,MAAM,EAAE,CAAC,cAAc,CAAC,oBAAoB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,EAAE,CAAC,gBAAgB,CACvB,YAAY,EAAE,aAAa,EAC3B,IAAI,CAAC,aAAa,CACnB,CAAC;QAEF,gDAAgD;QAChD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;QAED,oCAAoC;QACpC,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACtC,CAAC;QAED,oFAAoF;QACpF,8DAA8D;QAC9D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACzB,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACnF,MAAM,iBAAiB,GAAa,EAAE,CAAC;YAEvC,uEAAuE;YACvE,uEAAuE;YACvE,wEAAwE;YACxE,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAA4B,CAAC;YACrE,MAAM,OAAO,GAAG,CAAC,KAAa,EAAW,EAAE;gBACzC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YAC/D,CAAC,CAAC;YACF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE;gBAC7C,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,OAAO,IAAI,wBAAwB,CAAC;gBACtE,IAAI,OAAO,CAAC,KAAK,CAAC;oBAAE,OAAO,IAAI,qBAAqB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzF,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,IAAI,WAAW,EAAE,UAAU,EAAE,CAAC;oBAC5B,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAClD,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,SAAS,GAAG,KAAK,CAAC;wBACxB,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,IAAI,SAAS,CAAC;wBACvD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;wBAE3F,IAAI,SAAS,GAAG,OAAO,SAAS,KAAK,SAAS,GAAG,CAAC;wBAElD,6BAA6B;wBAC7B,IAAI,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;4BACxD,SAAS,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;wBACpD,CAAC;wBAED,kBAAkB;wBAClB,SAAS,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC9B,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;wBAEjC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,iEAAiE;oBACjE,iBAAiB,CAAC,IAAI,CAAC,OAAO,KAAK,cAAc,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;YAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,aAAa,GACjB,iBAAiB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACtE,MAAM,WAAW,GAAG;oBAClB,0BAA0B;oBAC1B,EAAE;oBACF,gHAAgH;oBAChH,EAAE;oBACF,8BAA8B;oBAC9B,GAAG,iBAAiB;oBACpB,EAAE;oBACF,2BAA2B;oBAC3B,iLAAiL;oBACjL,yGAAyG;oBACzG,GAAG,CAAC,aAAa;wBACf,CAAC,CAAC;4BACA,wJAAwJ;yBACzJ;wBACD,CAAC,CAAC,EAAE,CAAC;oBACP,EAAE;oBACF,0BAA0B;oBAC1B,sCAAsC;oBACtC,oEAAoE;oBACpE,iGAAiG;oBACjG,+EAA+E;oBAC/E,kDAAkD;oBAClD,yDAAyD;oBACzD,EAAE;oBACF,6EAA6E;oBAC7E,8BAA8B;oBAC9B,iCAAiC;oBACjC,yBAAyB;iBAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEb,MAAM,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,sDAAsD;QACtD,MAAM,aAAa,GAAa,CAAC,0CAA0C,CAAC,CAAC;QAE7E,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,IAAI,WAAW,EAAE,UAAU,EAAE,CAAC;gBAC5B,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;oBAC3F,IAAI,YAAY,GAAG,sBAAsB,CAAC;oBAE1C,oCAAoC;oBACpC,IAAI,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvF,YAAY,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC5C,CAAC;yBAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;wBAClC,YAAY,GAAG,mBAAmB,CAAC;oBACrC,CAAC;yBAAM,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC7D,YAAY,GAAG,GAAG,CAAC;oBACrB,CAAC;yBAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBACnC,YAAY,GAAG,MAAM,CAAC;oBACxB,CAAC;oBAED,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,YAAY,EAAE,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,0CAA0C;gBAC1C,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,sBAAsB,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,MAAM,EAAE,CAAC,cAAc,CACrB;YACE,oBAAoB;YACpB,EAAE;YACF,uDAAuD;YACvD,GAAG;YACH,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,GAAG;YACH,EAAE;YACF,iBAAiB;YACjB,8CAA8C;YAC9C,4GAA4G;YAC5G,qFAAqF;YACrF,gIAAgI;YAChI,0HAA0H;YAC1H,yGAAyG;YACzG,qEAAqE;YACrE,gDAAgD;YAChD,4DAA4D;SAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACtD,OAAO;YACL,MAAM;YACN,mBAAmB,EAAE,EAAE,CAAC,uBAAuB,IAAI,EAAE;SACtD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,MAAkD;QAElD,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,GAC3D,MAAM,CAAC;QACT,MAAM,eAAe,GAAG,IAAA,mCAAqB,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,EAAE,GAAG,IAAI,kCAAc,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAExE,MAAM,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,EAAE,CAAC,gBAAgB,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO;YACL,MAAM;YACN,mBAAmB,EAAE,EAAE,CAAC,uBAAuB,IAAI,EAAE;SACtD,CAAC;IACJ,CAAC;CACF;AA1RD,wCA0RC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error type for response-generation failures, shared by the response
|
|
3
|
-
* coordinator and its collaborators.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Error details for response generation failures
|
|
7
|
-
*/
|
|
8
|
-
interface ResponseGenerationErrorDetails {
|
|
9
|
-
originalError?: unknown;
|
|
10
|
-
params?: Record<string, unknown>;
|
|
11
|
-
phase?: string;
|
|
12
|
-
context?: Record<string, unknown>;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Error class for response generation failures
|
|
16
|
-
*/
|
|
17
|
-
export declare class ResponseGenerationError extends Error {
|
|
18
|
-
readonly details?: ResponseGenerationErrorDetails | undefined;
|
|
19
|
-
constructor(message: string, details?: ResponseGenerationErrorDetails | undefined);
|
|
20
|
-
/**
|
|
21
|
-
* Create a ResponseGenerationError from an unknown error
|
|
22
|
-
*/
|
|
23
|
-
static fromError(error: unknown, phase: string, params?: Record<string, unknown>, context?: Record<string, unknown>): ResponseGenerationError;
|
|
24
|
-
/**
|
|
25
|
-
* Check if an error is a ResponseGenerationError
|
|
26
|
-
*/
|
|
27
|
-
static isResponseGenerationError(error: unknown): error is ResponseGenerationError;
|
|
28
|
-
}
|
|
29
|
-
export {};
|
|
30
|
-
//# sourceMappingURL=ResponseGenerationError.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseGenerationError.d.ts","sourceRoot":"","sources":["../../../src/core/ResponseGenerationError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,UAAU,8BAA8B;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;aAG1B,OAAO,CAAC,EAAE,8BAA8B;gBADxD,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,8BAA8B,YAAA;IAQ5D;;OAEG;IACH,MAAM,CAAC,SAAS,CACZ,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,uBAAuB;IAS1B;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB;CAGrF"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Error type for response-generation failures, shared by the response
|
|
4
|
-
* coordinator and its collaborators.
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.ResponseGenerationError = void 0;
|
|
8
|
-
/**
|
|
9
|
-
* Error class for response generation failures
|
|
10
|
-
*/
|
|
11
|
-
class ResponseGenerationError extends Error {
|
|
12
|
-
constructor(message, details) {
|
|
13
|
-
// Native `cause` chain: `err.cause` is the original error, so
|
|
14
|
-
// consumers can reach ProviderError.code etc. without string matching.
|
|
15
|
-
super(message, { cause: details?.originalError });
|
|
16
|
-
this.details = details;
|
|
17
|
-
this.name = 'ResponseGenerationError';
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Create a ResponseGenerationError from an unknown error
|
|
21
|
-
*/
|
|
22
|
-
static fromError(error, phase, params, context) {
|
|
23
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
24
|
-
return new ResponseGenerationError(`[ResponseGenerationError] Response generation failed in ${phase}: ${message}. ` +
|
|
25
|
-
`Check provider configuration and the ${phase} phase handler.`, { originalError: error, params, phase, context });
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Check if an error is a ResponseGenerationError
|
|
29
|
-
*/
|
|
30
|
-
static isResponseGenerationError(error) {
|
|
31
|
-
return error instanceof ResponseGenerationError;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.ResponseGenerationError = ResponseGenerationError;
|
|
35
|
-
//# sourceMappingURL=ResponseGenerationError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseGenerationError.js","sourceRoot":"","sources":["../../../src/core/ResponseGenerationError.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAYH;;GAEG;AACH,MAAa,uBAAwB,SAAQ,KAAK;IAC9C,YACI,OAAe,EACC,OAAwC;QAExD,8DAA8D;QAC9D,uEAAuE;QACvE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAJlC,YAAO,GAAP,OAAO,CAAiC;QAKxD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CACZ,KAAc,EACd,KAAa,EACb,MAAgC,EAChC,OAAiC;QAEjC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,IAAI,uBAAuB,CAC9B,2DAA2D,KAAK,KAAK,OAAO,IAAI;YAChF,wCAAwC,KAAK,iBAAiB,EAC9D,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CACnD,CAAC;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,KAAc;QAC3C,OAAO,KAAK,YAAY,uBAAuB,CAAC;IACpD,CAAC;CACJ;AAlCD,0DAkCC"}
|
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ResponseModal handles all response generation logic for the Agent
|
|
3
|
-
* Provides both streaming and non-streaming response generation with unified logic
|
|
4
|
-
*/
|
|
5
|
-
import type { AgentOptions, AgentResponse, AgentResponseStreamChunk, History, SessionState, StepRef, Instruction, Term, StructuredSchema, CompactionOptions } from "../types/index.js";
|
|
6
|
-
import type { SessionManager } from "./SessionManager.js";
|
|
7
|
-
import type { SignalProcessor } from "./SignalProcessor.js";
|
|
8
|
-
import type { PromptSectionCache } from "./PromptSectionCache.js";
|
|
9
|
-
import type { FlowRouter } from "./FlowRouter.js";
|
|
10
|
-
import type { PersistenceManager } from "./PersistenceManager.js";
|
|
11
|
-
import type { Flow } from "./Flow.js";
|
|
12
|
-
import { ResponseEngine } from "./ResponseEngine.js";
|
|
13
|
-
import { ResponsePipeline } from "./ResponsePipeline.js";
|
|
14
|
-
import type { ToolManager } from "./ToolManager.js";
|
|
15
|
-
/**
|
|
16
|
-
* The narrow surface ResponseModal (and its collaborators) need from the
|
|
17
|
-
* Agent. Agent implements this; the response layer is constructible and
|
|
18
|
-
* testable against this interface without a full Agent.
|
|
19
|
-
*/
|
|
20
|
-
export interface ResponseModalDeps<TContext = unknown, TData = unknown> {
|
|
21
|
-
/** Session manager (history, live session, sync). */
|
|
22
|
-
readonly session: SessionManager<TData>;
|
|
23
|
-
/** Tool registry/resolver and single-tool executor. */
|
|
24
|
-
readonly tool: ToolManager<TContext, TData>;
|
|
25
|
-
readonly signalProcessor: SignalProcessor<TContext, TData> | undefined;
|
|
26
|
-
readonly promptSectionCache: PromptSectionCache;
|
|
27
|
-
readonly instructions: Instruction<TContext, TData>[];
|
|
28
|
-
readonly schema: StructuredSchema | undefined;
|
|
29
|
-
readonly maxAutoStepsPerTurn: number;
|
|
30
|
-
/** The agent's live session reference (read and replaced at finalize). */
|
|
31
|
-
currentSession: SessionState<TData> | undefined;
|
|
32
|
-
getAgentOptions(): AgentOptions<TContext, TData>;
|
|
33
|
-
getFlows(): Flow<TContext, TData>[];
|
|
34
|
-
getTerms(): Term<TContext, TData>[];
|
|
35
|
-
getFlowRouter(): FlowRouter<TContext, TData>;
|
|
36
|
-
getContext(): Promise<TContext | undefined>;
|
|
37
|
-
getCompactionOptions(): CompactionOptions | undefined;
|
|
38
|
-
getPersistenceManager(): PersistenceManager<TData> | undefined;
|
|
39
|
-
getUpdateDataMethod(): (session: SessionState<TData>, dataUpdate: Partial<TData>) => Promise<SessionState<TData>>;
|
|
40
|
-
updateContext(updates: Partial<TContext>): Promise<void>;
|
|
41
|
-
updateCollectedData(updates: Partial<TData>): Promise<void>;
|
|
42
|
-
/** Drain data staged before any session existed. */
|
|
43
|
-
consumePendingData(): Partial<TData>;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Configuration options for ResponseModal
|
|
47
|
-
*/
|
|
48
|
-
export interface ResponseModalOptions {
|
|
49
|
-
/** Maximum number of tool loops allowed during response generation */
|
|
50
|
-
maxToolLoops?: number;
|
|
51
|
-
/** Enable automatic session saving after response generation */
|
|
52
|
-
enableAutoSave?: boolean;
|
|
53
|
-
/** Enable debug mode for detailed logging */
|
|
54
|
-
debugMode?: boolean;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Parameters for respond and respondStream methods
|
|
58
|
-
*/
|
|
59
|
-
export interface RespondParams<TContext = unknown, TData = unknown> extends Record<string, unknown> {
|
|
60
|
-
history: History;
|
|
61
|
-
/**
|
|
62
|
-
* The user's message for this turn. When set, the engine appends it to the
|
|
63
|
-
* generation history AND to the returned session's history, then appends
|
|
64
|
-
* the assistant reply on top — callers who hold sessions no longer need to
|
|
65
|
-
* maintain history arrays by hand.
|
|
66
|
-
*/
|
|
67
|
-
message?: string;
|
|
68
|
-
/**
|
|
69
|
-
* Restrict this turn's ROUTING candidates to these flow ids/titles.
|
|
70
|
-
* Directive targets (goTo etc.) still resolve against the full registry.
|
|
71
|
-
* Use for entry-pin funnels instead of cloning/filtering agents.
|
|
72
|
-
*/
|
|
73
|
-
allowedFlows?: string[];
|
|
74
|
-
step?: StepRef;
|
|
75
|
-
session?: SessionState<TData>;
|
|
76
|
-
contextOverride?: Partial<TContext>;
|
|
77
|
-
signal?: AbortSignal;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Options for the modern stream() method
|
|
81
|
-
*/
|
|
82
|
-
export interface StreamOptions<TContext = unknown> {
|
|
83
|
-
contextOverride?: Partial<TContext>;
|
|
84
|
-
signal?: AbortSignal;
|
|
85
|
-
history?: History;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Options for the modern generate() method
|
|
89
|
-
*/
|
|
90
|
-
export interface GenerateOptions<TContext = unknown> {
|
|
91
|
-
contextOverride?: Partial<TContext>;
|
|
92
|
-
signal?: AbortSignal;
|
|
93
|
-
history?: History;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* ResponseModal class that encapsulates all response generation logic
|
|
97
|
-
* Uses unified approach for both streaming and non-streaming responses
|
|
98
|
-
*/
|
|
99
|
-
export declare class ResponseModal<TContext = unknown, TData = unknown> {
|
|
100
|
-
private readonly agent;
|
|
101
|
-
private readonly options?;
|
|
102
|
-
private readonly responseEngine;
|
|
103
|
-
private readonly responsePipeline;
|
|
104
|
-
private readonly stepLifecycle;
|
|
105
|
-
private readonly sessionFinalizer;
|
|
106
|
-
private readonly toolLoopExecutor;
|
|
107
|
-
private readonly signalCoordinator;
|
|
108
|
-
constructor(agent: ResponseModalDeps<TContext, TData>, options?: ResponseModalOptions | undefined);
|
|
109
|
-
/**
|
|
110
|
-
* Generate a non-streaming response using unified logic
|
|
111
|
-
*/
|
|
112
|
-
respond(params: RespondParams<TContext, TData>): Promise<AgentResponse<TData>>;
|
|
113
|
-
/**
|
|
114
|
-
* Generate a streaming response using unified logic
|
|
115
|
-
*/
|
|
116
|
-
respondStream(params: RespondParams<TContext, TData>): AsyncGenerator<AgentResponseStreamChunk<TData>>;
|
|
117
|
-
/**
|
|
118
|
-
* Modern streaming API - simple interface like chat()
|
|
119
|
-
*/
|
|
120
|
-
stream(message?: string, options?: StreamOptions<TContext>): AsyncGenerator<AgentResponseStreamChunk<TData>>;
|
|
121
|
-
/**
|
|
122
|
-
* Modern non-streaming API - equivalent to chat() but more explicit
|
|
123
|
-
*/
|
|
124
|
-
generate(message?: string, options?: GenerateOptions<TContext>): Promise<AgentResponse<TData>>;
|
|
125
|
-
/**
|
|
126
|
-
* Get the response engine instance
|
|
127
|
-
* @internal
|
|
128
|
-
*/
|
|
129
|
-
getResponseEngine(): ResponseEngine<TContext, TData>;
|
|
130
|
-
/**
|
|
131
|
-
* Get the response pipeline instance
|
|
132
|
-
* @internal
|
|
133
|
-
*/
|
|
134
|
-
getResponsePipeline(): ResponsePipeline<TContext, TData>;
|
|
135
|
-
/**
|
|
136
|
-
* Get the ToolManager instance from the agent.
|
|
137
|
-
* @private
|
|
138
|
-
*/
|
|
139
|
-
private getToolManager;
|
|
140
|
-
/**
|
|
141
|
-
* Recover a structured payload from a schema-mandated response the provider
|
|
142
|
-
* could not parse. Raw protocol fragments must never surface as the
|
|
143
|
-
* user-visible reply. Three shapes arrive here:
|
|
144
|
-
* - a truncated or fence-wrapped envelope → one repair-parse;
|
|
145
|
-
* - conversational prose FOLLOWED BY the envelope (the model answered
|
|
146
|
-
* twice — the observed WhatsApp leak) → recover the embedded envelope,
|
|
147
|
-
* whose "message" field is the complete intended reply;
|
|
148
|
-
* - plain prose with nothing recoverable → `undefined`; the caller passes
|
|
149
|
-
* it through untouched. (An envelope truncated mid-stream after prose
|
|
150
|
-
* also lands here: the prose is user-worthy and the fragment carries
|
|
151
|
-
* nothing recoverable.)
|
|
152
|
-
* An unrecoverable JSON-SHAPED fragment throws so the turn fails LOUDLY
|
|
153
|
-
* and the caller's rollback/retry path engages instead of leaking
|
|
154
|
-
* `{"message": "…` to an end user.
|
|
155
|
-
*/
|
|
156
|
-
private salvageStructuredOutput;
|
|
157
|
-
/**
|
|
158
|
-
* Tool-emitted directives (ctx.dispatch / `{directive}` returns): state
|
|
159
|
-
* writes apply now; control flow queues for the next turn's
|
|
160
|
-
* pendingDirective applier (same deferred semantics as dispatch()).
|
|
161
|
-
*/
|
|
162
|
-
private applyToolEmittedDirectives;
|
|
163
|
-
/**
|
|
164
|
-
* Collect scoped instructions from agent, flow, and step into a ScopedInstructions value.
|
|
165
|
-
* @private
|
|
166
|
-
*/
|
|
167
|
-
private collectScopedInstructions;
|
|
168
|
-
/**
|
|
169
|
-
* Unified response preparation - handles context setup, session management, and routing
|
|
170
|
-
* This consolidates common logic between streaming and non-streaming responses
|
|
171
|
-
* @private
|
|
172
|
-
*/
|
|
173
|
-
private prepareUnifiedResponseContext;
|
|
174
|
-
/**
|
|
175
|
-
* Plan a turn: run signal-halt detection, the auto-chain walk, and flow/step
|
|
176
|
-
* selection, collapsing them into a single {@link TurnOutcome}. This is the
|
|
177
|
-
* shared decision spine for both the streaming and non-streaming paths — the
|
|
178
|
-
* only logic that genuinely differs between them is how each *renders* the
|
|
179
|
-
* outcome (await a value vs. yield chunks) and the leaf provider primitive it
|
|
180
|
-
* uses. Centralizing the decision here is what keeps the two paths from
|
|
181
|
-
* drifting (the class of bug behind the 2.4.x retry/empty fixes).
|
|
182
|
-
*
|
|
183
|
-
* The returned `session` reflects any auto-chain mutation; `signalFirings`
|
|
184
|
-
* is seeded with the pre-signal phase firings and is the live accumulator the
|
|
185
|
-
* post-phase tail appends to.
|
|
186
|
-
* @private
|
|
187
|
-
*/
|
|
188
|
-
private planTurn;
|
|
189
|
-
/**
|
|
190
|
-
* The shared post-signal phase tail (Requirement 9.1–9.4). Runs after the
|
|
191
|
-
* turn's message is known and before persistence, so post-phase signals see
|
|
192
|
-
* the complete turn result (assistant message, collected data, tool results)
|
|
193
|
-
* and can override the reply or wire a pendingDirective.
|
|
194
|
-
*
|
|
195
|
-
* `runPostPhase` is false only for the auto-chain halt short-circuit, which
|
|
196
|
-
* deliberately bypasses the post-phase in both paths; that branch still
|
|
197
|
-
* surfaces any pre-phase firings via `triggeredSignals`.
|
|
198
|
-
* @private
|
|
199
|
-
*/
|
|
200
|
-
private applyTurnPostPhase;
|
|
201
|
-
/**
|
|
202
|
-
* Unified response generation for non-streaming responses.
|
|
203
|
-
* Renders the shared {@link planTurn} outcome by awaiting the leaf primitive
|
|
204
|
-
* and running the shared post-phase tail; respond() owns the single finalize.
|
|
205
|
-
* @private
|
|
206
|
-
*/
|
|
207
|
-
private generateUnifiedResponse;
|
|
208
|
-
/**
|
|
209
|
-
* Process flow response with unified tool execution and data collection
|
|
210
|
-
* @private
|
|
211
|
-
*/
|
|
212
|
-
private processFlowResponse;
|
|
213
|
-
/**
|
|
214
|
-
* Unified streaming response generation.
|
|
215
|
-
* Renders the shared {@link planTurn} outcome as a chunk stream and runs the
|
|
216
|
-
* shared post-phase tail on the final chunk (finalizing exactly once).
|
|
217
|
-
* @private
|
|
218
|
-
*/
|
|
219
|
-
private generateUnifiedStreamingResponse;
|
|
220
|
-
/**
|
|
221
|
-
* Emit a framework-authored message (a halt reply) as a single terminal
|
|
222
|
-
* chunk, to flow through the shared post-phase tail like any other inner
|
|
223
|
-
* stream. No LLM call, no provider text — so nothing to extract or finalize
|
|
224
|
-
* here; the caller's tail owns post-phase + finalize.
|
|
225
|
-
* @private
|
|
226
|
-
*/
|
|
227
|
-
private streamTerminalMessage;
|
|
228
|
-
/**
|
|
229
|
-
* Wrap a provider message stream so each chunk's `delta`/`accumulated` carry
|
|
230
|
-
* clean message text instead of the raw structured-JSON wrapper. The single
|
|
231
|
-
* point where streamed JSON is unwrapped — every streaming response variant
|
|
232
|
-
* (flow step, fallback) consumes provider chunks through here, so consumers
|
|
233
|
-
* and stored history never see `{"message":...}` fragments. `structured`,
|
|
234
|
-
* `done`, and `metadata` pass through untouched.
|
|
235
|
-
* @private
|
|
236
|
-
*/
|
|
237
|
-
private decodeMessageStream;
|
|
238
|
-
/**
|
|
239
|
-
* Process flow streaming response with unified tool execution and data collection
|
|
240
|
-
* @private
|
|
241
|
-
*/
|
|
242
|
-
private processFlowStreamingResponse;
|
|
243
|
-
/**
|
|
244
|
-
* Unified data collection from AI response
|
|
245
|
-
* @private
|
|
246
|
-
*/
|
|
247
|
-
private collectDataFromResponse;
|
|
248
|
-
/**
|
|
249
|
-
* Apply flow completion: release the session to idle state.
|
|
250
|
-
*
|
|
251
|
-
* This is a pure state transition. The framework emits **no message of
|
|
252
|
-
* its own** at the completion boundary — every word delivered to the
|
|
253
|
-
* user comes from a developer-defined step prompt. If the dev wants a
|
|
254
|
-
* closing turn, they add a final interactive step with their own
|
|
255
|
-
* `prompt`; the framework respects that step's natural LLM output.
|
|
256
|
-
*
|
|
257
|
-
* Behavior:
|
|
258
|
-
* - Marks the active `flowHistory` entry as `completed: true` and
|
|
259
|
-
* stamps `exitedAt`.
|
|
260
|
-
* - Evaluates `flow.onComplete` for an explicit follow-up transition.
|
|
261
|
-
* When set, populates `session.pendingDirective` (the next turn's
|
|
262
|
-
* pipeline applies it). When absent, the session is fully idle.
|
|
263
|
-
* - Clears `currentFlow` and `currentStep` to `undefined`.
|
|
264
|
-
* - Clears owned fields when the flow is `reentrant` so subsequent
|
|
265
|
-
* re-selections start from a clean state.
|
|
266
|
-
*
|
|
267
|
-
* Returns the updated session. Callers compose any reply text from
|
|
268
|
-
* their own sources (an upstream LLM turn, a directive's `reply`, or
|
|
269
|
-
* an empty string for silent completion).
|
|
270
|
-
*
|
|
271
|
-
* @private
|
|
272
|
-
*/
|
|
273
|
-
private applyFlowCompletion;
|
|
274
|
-
/**
|
|
275
|
-
* Stream a flow completion as a single terminal chunk.
|
|
276
|
-
*
|
|
277
|
-
* No LLM call is made. The framework no longer authors a farewell — the
|
|
278
|
-
* completion path is a pure state transition. The chunk emits an empty
|
|
279
|
-
* `delta` and a `done: true` flag with the idle session attached so
|
|
280
|
-
* downstream consumers can finalize cleanly.
|
|
281
|
-
*
|
|
282
|
-
* If the developer wants closing copy in a streaming response, they
|
|
283
|
-
* should add a final interactive step whose own LLM turn delivers it.
|
|
284
|
-
*
|
|
285
|
-
* @private
|
|
286
|
-
*/
|
|
287
|
-
private streamFlowCompletion;
|
|
288
|
-
/**
|
|
289
|
-
* Generate fallback response when no flows are available
|
|
290
|
-
* @private
|
|
291
|
-
*/
|
|
292
|
-
private generateFallbackResponse;
|
|
293
|
-
/**
|
|
294
|
-
* Stream fallback response when no flows are available
|
|
295
|
-
* @private
|
|
296
|
-
*/
|
|
297
|
-
private streamFallbackResponse;
|
|
298
|
-
/**
|
|
299
|
-
* Collect all available tools for the given flow and step context.
|
|
300
|
-
* Delegates to ToolManager for unified tool resolution and deduplication.
|
|
301
|
-
* @private
|
|
302
|
-
*/
|
|
303
|
-
private collectAvailableTools;
|
|
304
|
-
}
|
|
305
|
-
//# sourceMappingURL=ResponseModal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseModal.d.ts","sourceRoot":"","sources":["../../../src/core/ResponseModal.ts"],"names":[],"mappings":"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"}
|