@falai/agent 3.4.4 → 4.0.0-alpha.1
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 +1 -1
- 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/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 +1 -1
- 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/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 +36 -8
- 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,103 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SignalCoordinator owns the signal pre/post phase orchestration for a turn:
|
|
3
|
-
*
|
|
4
|
-
* - `runPrePhase()` / `runPostPhase()` — delegation to the SignalProcessor,
|
|
5
|
-
* returning a stable empty shape when no processor is configured.
|
|
6
|
-
* - `applyPositionDirective()` — applies a pre-phase directive's position
|
|
7
|
-
* field (goTo, goToStep, complete, abort, reset) as the turn's routing
|
|
8
|
-
* decision, discarding the router's result.
|
|
9
|
-
* - `applyPostPhase()` — runs the post phase and applies its directive to
|
|
10
|
-
* the turn result in one step: session updates, pendingDirective for
|
|
11
|
-
* position fields (no mid-turn re-entry per D6), and the reply override
|
|
12
|
-
* of the user-visible message.
|
|
13
|
-
*/
|
|
14
|
-
import type { Directive, Event, SessionState } from "../types/index.js";
|
|
15
|
-
import type { SignalFiring } from "../types/signals.js";
|
|
16
|
-
import type { SignalProcessor } from "./SignalProcessor.js";
|
|
17
|
-
import type { Flow } from "./Flow.js";
|
|
18
|
-
import type { Step } from "./Step.js";
|
|
19
|
-
/** Result of a signal phase run (pre or post). */
|
|
20
|
-
export interface SignalPhaseResult<TContext = unknown, TData = unknown> {
|
|
21
|
-
firings: SignalFiring<TContext, TData>[];
|
|
22
|
-
updatedSession: SessionState<TData>;
|
|
23
|
-
mergedDirective: Directive<TContext, TData> | undefined;
|
|
24
|
-
}
|
|
25
|
-
export declare class SignalCoordinator<TContext = unknown, TData = unknown> {
|
|
26
|
-
private readonly deps;
|
|
27
|
-
constructor(deps: {
|
|
28
|
-
getFlows: () => Flow<TContext, TData>[];
|
|
29
|
-
signalProcessor?: SignalProcessor<TContext, TData>;
|
|
30
|
-
});
|
|
31
|
-
/** Whether a signal processor is configured (zero-cost path when absent). */
|
|
32
|
-
get enabled(): boolean;
|
|
33
|
-
/**
|
|
34
|
-
* PRE-SIGNAL PHASE — Evaluates pre/both signals in parallel with routing.
|
|
35
|
-
*
|
|
36
|
-
* Delegates to `signalProcessor.runPreSignalPhase(...)` when configured.
|
|
37
|
-
* When no signal processor is present (zero-cost path), returns a stable
|
|
38
|
-
* empty shape so callers don't need to branch.
|
|
39
|
-
*
|
|
40
|
-
* @requirements 2.1, 2.3, 8.6, 13.3
|
|
41
|
-
*/
|
|
42
|
-
runPrePhase(session: SessionState<TData>, context: TContext, history: Event[]): Promise<SignalPhaseResult<TContext, TData>>;
|
|
43
|
-
/**
|
|
44
|
-
* POST-SIGNAL PHASE — Evaluates post/both signals after finalize/onComplete.
|
|
45
|
-
*
|
|
46
|
-
* Delegates to `signalProcessor.runPostSignalPhase(...)` when configured.
|
|
47
|
-
* When no signal processor is present, returns a stable empty shape.
|
|
48
|
-
*
|
|
49
|
-
* Post-phase signals see the complete turn result: assistant message in history,
|
|
50
|
-
* collected data, tool results. Position directives from this phase set
|
|
51
|
-
* `session.pendingDirective` (no mid-turn re-entry per D6 decision).
|
|
52
|
-
*
|
|
53
|
-
* Pre-LLM-only fields (`appendPrompt`, `injectTools`, `halt`) are already
|
|
54
|
-
* dropped inside `runPostSignalPhase` per Phase 4.5 — this seam does NOT
|
|
55
|
-
* re-introduce them.
|
|
56
|
-
*
|
|
57
|
-
* @requirements 9.1, 9.2, 9.3, 9.4
|
|
58
|
-
*/
|
|
59
|
-
runPostPhase(session: SessionState<TData>, context: TContext, history: Event[]): Promise<SignalPhaseResult<TContext, TData>>;
|
|
60
|
-
/**
|
|
61
|
-
* Run the post phase and apply its merged directive to the turn result:
|
|
62
|
-
* session updates from the phase, `pendingDirective` for position fields
|
|
63
|
-
* (Requirement 9.3, no mid-turn re-entry per D6), and the reply override
|
|
64
|
-
* of the user-visible message (undefined means "leave it unchanged"; an
|
|
65
|
-
* empty string is an explicit replacement).
|
|
66
|
-
*
|
|
67
|
-
* @requirements 9.1, 9.2, 9.3, 9.4
|
|
68
|
-
*/
|
|
69
|
-
applyPostPhase(params: {
|
|
70
|
-
session: SessionState<TData>;
|
|
71
|
-
context: TContext;
|
|
72
|
-
historyEvents: Event[];
|
|
73
|
-
message: string;
|
|
74
|
-
}): Promise<{
|
|
75
|
-
session: SessionState<TData>;
|
|
76
|
-
message: string;
|
|
77
|
-
firings: SignalFiring<TContext, TData>[];
|
|
78
|
-
/** True when the directive's `reply` replaced the message. */
|
|
79
|
-
replyOverridden: boolean;
|
|
80
|
-
}>;
|
|
81
|
-
/**
|
|
82
|
-
* Apply a signal's position directive (goTo, goToStep, complete, abort, reset).
|
|
83
|
-
* Discards routing result and uses the signal's position decision.
|
|
84
|
-
*
|
|
85
|
-
* @requirements 8.3
|
|
86
|
-
*/
|
|
87
|
-
applyPositionDirective(signalResult: {
|
|
88
|
-
firings: SignalFiring<TContext, TData>[];
|
|
89
|
-
updatedSession: SessionState<TData>;
|
|
90
|
-
mergedDirective: Directive<TContext, TData> | undefined;
|
|
91
|
-
}): {
|
|
92
|
-
selectedFlow?: Flow<TContext, TData>;
|
|
93
|
-
selectedStep?: Step<TContext, TData>;
|
|
94
|
-
responseDirectives?: string[];
|
|
95
|
-
session: SessionState<TData>;
|
|
96
|
-
isFlowComplete: boolean;
|
|
97
|
-
signalFirings?: SignalFiring<TContext, TData>[];
|
|
98
|
-
signalPreDirective?: Directive<TContext, TData>;
|
|
99
|
-
signalHalted?: boolean;
|
|
100
|
-
signalHaltReply?: string;
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=SignalCoordinator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SignalCoordinator.d.ts","sourceRoot":"","sources":["../../src/core/SignalCoordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SignalCoordinator owns the signal pre/post phase orchestration for a turn:
|
|
3
|
-
*
|
|
4
|
-
* - `runPrePhase()` / `runPostPhase()` — delegation to the SignalProcessor,
|
|
5
|
-
* returning a stable empty shape when no processor is configured.
|
|
6
|
-
* - `applyPositionDirective()` — applies a pre-phase directive's position
|
|
7
|
-
* field (goTo, goToStep, complete, abort, reset) as the turn's routing
|
|
8
|
-
* decision, discarding the router's result.
|
|
9
|
-
* - `applyPostPhase()` — runs the post phase and applies its directive to
|
|
10
|
-
* the turn result in one step: session updates, pendingDirective for
|
|
11
|
-
* position fields (no mid-turn re-entry per D6), and the reply override
|
|
12
|
-
* of the user-visible message.
|
|
13
|
-
*/
|
|
14
|
-
import { hasDirectivePositionField } from "./ResponsePipeline.js";
|
|
15
|
-
import { enterFlow, enterStep, mergeCollected, logger } from "../utils/index.js";
|
|
16
|
-
export class SignalCoordinator {
|
|
17
|
-
constructor(deps) {
|
|
18
|
-
this.deps = deps;
|
|
19
|
-
}
|
|
20
|
-
/** Whether a signal processor is configured (zero-cost path when absent). */
|
|
21
|
-
get enabled() {
|
|
22
|
-
return this.deps.signalProcessor !== undefined;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* PRE-SIGNAL PHASE — Evaluates pre/both signals in parallel with routing.
|
|
26
|
-
*
|
|
27
|
-
* Delegates to `signalProcessor.runPreSignalPhase(...)` when configured.
|
|
28
|
-
* When no signal processor is present (zero-cost path), returns a stable
|
|
29
|
-
* empty shape so callers don't need to branch.
|
|
30
|
-
*
|
|
31
|
-
* @requirements 2.1, 2.3, 8.6, 13.3
|
|
32
|
-
*/
|
|
33
|
-
async runPrePhase(session, context, history) {
|
|
34
|
-
if (!this.deps.signalProcessor) {
|
|
35
|
-
return { firings: [], updatedSession: session, mergedDirective: undefined };
|
|
36
|
-
}
|
|
37
|
-
const result = await this.deps.signalProcessor.runPreSignalPhase({ session, history, context });
|
|
38
|
-
return {
|
|
39
|
-
firings: result.firings,
|
|
40
|
-
updatedSession: result.updatedSession,
|
|
41
|
-
mergedDirective: result.mergedDirective,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* POST-SIGNAL PHASE — Evaluates post/both signals after finalize/onComplete.
|
|
46
|
-
*
|
|
47
|
-
* Delegates to `signalProcessor.runPostSignalPhase(...)` when configured.
|
|
48
|
-
* When no signal processor is present, returns a stable empty shape.
|
|
49
|
-
*
|
|
50
|
-
* Post-phase signals see the complete turn result: assistant message in history,
|
|
51
|
-
* collected data, tool results. Position directives from this phase set
|
|
52
|
-
* `session.pendingDirective` (no mid-turn re-entry per D6 decision).
|
|
53
|
-
*
|
|
54
|
-
* Pre-LLM-only fields (`appendPrompt`, `injectTools`, `halt`) are already
|
|
55
|
-
* dropped inside `runPostSignalPhase` per Phase 4.5 — this seam does NOT
|
|
56
|
-
* re-introduce them.
|
|
57
|
-
*
|
|
58
|
-
* @requirements 9.1, 9.2, 9.3, 9.4
|
|
59
|
-
*/
|
|
60
|
-
async runPostPhase(session, context, history) {
|
|
61
|
-
if (!this.deps.signalProcessor) {
|
|
62
|
-
return { firings: [], updatedSession: session, mergedDirective: undefined };
|
|
63
|
-
}
|
|
64
|
-
const result = await this.deps.signalProcessor.runPostSignalPhase({ session, history, context });
|
|
65
|
-
return {
|
|
66
|
-
firings: result.firings,
|
|
67
|
-
updatedSession: result.updatedSession,
|
|
68
|
-
mergedDirective: result.mergedDirective,
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Run the post phase and apply its merged directive to the turn result:
|
|
73
|
-
* session updates from the phase, `pendingDirective` for position fields
|
|
74
|
-
* (Requirement 9.3, no mid-turn re-entry per D6), and the reply override
|
|
75
|
-
* of the user-visible message (undefined means "leave it unchanged"; an
|
|
76
|
-
* empty string is an explicit replacement).
|
|
77
|
-
*
|
|
78
|
-
* @requirements 9.1, 9.2, 9.3, 9.4
|
|
79
|
-
*/
|
|
80
|
-
async applyPostPhase(params) {
|
|
81
|
-
const postResult = await this.runPostPhase(params.session, params.context, params.historyEvents);
|
|
82
|
-
let session = postResult.updatedSession;
|
|
83
|
-
// Requirement 9.3: Post-phase position directive sets session.pendingDirective
|
|
84
|
-
if (postResult.mergedDirective && hasDirectivePositionField(postResult.mergedDirective)) {
|
|
85
|
-
session = { ...session, pendingDirective: postResult.mergedDirective };
|
|
86
|
-
}
|
|
87
|
-
const replyOverridden = postResult.mergedDirective?.reply !== undefined;
|
|
88
|
-
const message = replyOverridden
|
|
89
|
-
? postResult.mergedDirective.reply
|
|
90
|
-
: params.message;
|
|
91
|
-
return { session, message, firings: postResult.firings, replyOverridden };
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Apply a signal's position directive (goTo, goToStep, complete, abort, reset).
|
|
95
|
-
* Discards routing result and uses the signal's position decision.
|
|
96
|
-
*
|
|
97
|
-
* @requirements 8.3
|
|
98
|
-
*/
|
|
99
|
-
applyPositionDirective(signalResult) {
|
|
100
|
-
const directive = signalResult.mergedDirective;
|
|
101
|
-
let session = signalResult.updatedSession;
|
|
102
|
-
const flows = this.deps.getFlows();
|
|
103
|
-
let selectedFlow;
|
|
104
|
-
let selectedStep;
|
|
105
|
-
let isFlowComplete = false;
|
|
106
|
-
// Apply data updates if present alongside position
|
|
107
|
-
if (directive.dataUpdate) {
|
|
108
|
-
session = mergeCollected(session, directive.dataUpdate);
|
|
109
|
-
}
|
|
110
|
-
if (directive.goTo) {
|
|
111
|
-
const flowTarget = typeof directive.goTo === 'string'
|
|
112
|
-
? directive.goTo
|
|
113
|
-
: directive.goTo.flow ?? directive.goTo.step;
|
|
114
|
-
if (flowTarget) {
|
|
115
|
-
const targetFlow = flows.find(f => f.id === flowTarget || f.title === flowTarget);
|
|
116
|
-
if (targetFlow) {
|
|
117
|
-
session = enterFlow(session, targetFlow.id, targetFlow.title);
|
|
118
|
-
selectedFlow = targetFlow;
|
|
119
|
-
if (typeof directive.goTo === 'object' && directive.goTo.step) {
|
|
120
|
-
const targetStep = targetFlow.getStep(directive.goTo.step);
|
|
121
|
-
if (targetStep) {
|
|
122
|
-
session = enterStep(session, targetStep.id, targetStep.description);
|
|
123
|
-
selectedStep = targetStep;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
logger.warn(`[Signals] Pre-phase goTo target not found: "${flowTarget}". Falling back to no flow.`);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
else if (directive.goToStep) {
|
|
133
|
-
const stepTarget = typeof directive.goToStep === 'string'
|
|
134
|
-
? directive.goToStep
|
|
135
|
-
: directive.goToStep.step;
|
|
136
|
-
const flowTarget = typeof directive.goToStep === 'object'
|
|
137
|
-
? directive.goToStep.flow
|
|
138
|
-
: undefined;
|
|
139
|
-
if (flowTarget) {
|
|
140
|
-
const targetFlow = flows.find(f => f.id === flowTarget || f.title === flowTarget);
|
|
141
|
-
if (targetFlow) {
|
|
142
|
-
session = enterFlow(session, targetFlow.id, targetFlow.title);
|
|
143
|
-
selectedFlow = targetFlow;
|
|
144
|
-
const targetStep = targetFlow.getStep(stepTarget);
|
|
145
|
-
if (targetStep) {
|
|
146
|
-
session = enterStep(session, targetStep.id, targetStep.description);
|
|
147
|
-
selectedStep = targetStep;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
else if (session.currentFlow) {
|
|
152
|
-
const currentFlow = flows.find(f => f.id === session.currentFlow?.id);
|
|
153
|
-
if (currentFlow) {
|
|
154
|
-
selectedFlow = currentFlow;
|
|
155
|
-
const targetStep = currentFlow.getStep(stepTarget);
|
|
156
|
-
if (targetStep) {
|
|
157
|
-
session = enterStep(session, targetStep.id, targetStep.description);
|
|
158
|
-
selectedStep = targetStep;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
else if (directive.complete) {
|
|
164
|
-
isFlowComplete = true;
|
|
165
|
-
}
|
|
166
|
-
else if (directive.abort) {
|
|
167
|
-
// Abort — no flow, session cleared or marked
|
|
168
|
-
isFlowComplete = true;
|
|
169
|
-
}
|
|
170
|
-
else if (directive.reset) {
|
|
171
|
-
if (session.currentFlow) {
|
|
172
|
-
const currentFlow = flows.find(f => f.id === session.currentFlow?.id);
|
|
173
|
-
if (currentFlow) {
|
|
174
|
-
selectedFlow = currentFlow;
|
|
175
|
-
const resetStep = typeof directive.reset === 'object' && directive.reset.step
|
|
176
|
-
? directive.reset.step
|
|
177
|
-
: undefined;
|
|
178
|
-
if (resetStep) {
|
|
179
|
-
const targetStep = currentFlow.getStep(resetStep);
|
|
180
|
-
if (targetStep) {
|
|
181
|
-
session = enterStep(session, targetStep.id, targetStep.description);
|
|
182
|
-
selectedStep = targetStep;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
else {
|
|
186
|
-
const initialStep = currentFlow.initialStep;
|
|
187
|
-
session = enterStep(session, initialStep.id, initialStep.description);
|
|
188
|
-
selectedStep = initialStep;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
return {
|
|
194
|
-
selectedFlow,
|
|
195
|
-
selectedStep,
|
|
196
|
-
session,
|
|
197
|
-
isFlowComplete,
|
|
198
|
-
signalFirings: signalResult.firings,
|
|
199
|
-
signalPreDirective: signalResult.mergedDirective || undefined,
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
//# sourceMappingURL=SignalCoordinator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SignalCoordinator.js","sourceRoot":"","sources":["../../src/core/SignalCoordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SignalEvaluator — Batched AI classifier + extraction for signals.
|
|
3
|
-
*
|
|
4
|
-
* Handles:
|
|
5
|
-
* - `evaluateIf`: code-first predicate evaluation (AND semantics, short-circuit)
|
|
6
|
-
* - `evaluateSignals`: single batched provider call for detection + extraction
|
|
7
|
-
* - `buildSignalClassifierPrompt` / `buildMergedSchema`: prompt & schema construction
|
|
8
|
-
*
|
|
9
|
-
* @module SignalEvaluator
|
|
10
|
-
*/
|
|
11
|
-
import type { AiProvider } from "../types/ai.js";
|
|
12
|
-
import type { Event } from "../types/history.js";
|
|
13
|
-
import type { SessionState } from "../types/session.js";
|
|
14
|
-
import type { Signal, SignalPredicate, SignalPredicateContext } from "../types/signals.js";
|
|
15
|
-
export interface SignalEvaluationResult {
|
|
16
|
-
matched: boolean;
|
|
17
|
-
reason?: string;
|
|
18
|
-
extracted?: unknown;
|
|
19
|
-
}
|
|
20
|
-
export interface EvaluateSignalsParams<TContext = unknown, TData = unknown> {
|
|
21
|
-
signals: Signal<TContext, TData, any>[];
|
|
22
|
-
session: SessionState<TData>;
|
|
23
|
-
history: Event[];
|
|
24
|
-
context: TContext;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Builds the classifier prompt for a batch of signals.
|
|
28
|
-
*
|
|
29
|
-
* Splits `when` entries with the shared ConditionWhen parser:
|
|
30
|
-
* - Positive entries → "TRIGGER WHEN (ANY matches)"
|
|
31
|
-
* - `!` entries → prefix stripped, "DO NOT TRIGGER WHEN (ANY inhibits)"
|
|
32
|
-
*
|
|
33
|
-
* Extraction schemas render under "WHEN MATCHED, EXTRACT".
|
|
34
|
-
* Unconditional + extract signals render under "ALWAYS EXTRACT".
|
|
35
|
-
*/
|
|
36
|
-
export declare function buildSignalClassifierPrompt<TContext = unknown, TData = unknown>(signals: Signal<TContext, TData, any>[], history: Event[], _context: TContext): string;
|
|
37
|
-
/**
|
|
38
|
-
* Builds the merged JSON schema for the classifier response.
|
|
39
|
-
*
|
|
40
|
-
* Shape: `{ signals: [{ id, matched, reason?, extracted? }, ...] }`
|
|
41
|
-
* where `extracted` is only present for signals with `extract` set.
|
|
42
|
-
*/
|
|
43
|
-
export declare function buildMergedSchema<TContext = unknown, TData = unknown>(signals: Signal<TContext, TData, any>[]): Record<string, unknown>;
|
|
44
|
-
export declare class SignalEvaluator<TContext = unknown, TData = unknown> {
|
|
45
|
-
private readonly provider;
|
|
46
|
-
constructor(provider: AiProvider);
|
|
47
|
-
/**
|
|
48
|
-
* Code-first predicate evaluation with AND semantics and short-circuit.
|
|
49
|
-
*
|
|
50
|
-
* Normalizes predicates to an array. Awaits each; returns false on first
|
|
51
|
-
* falsy result. Catches throws/rejections, logs at ERROR with predicate
|
|
52
|
-
* index, and returns false (signal treated as non-match).
|
|
53
|
-
*/
|
|
54
|
-
evaluateIf(predicates: SignalPredicate<TContext, TData> | SignalPredicate<TContext, TData>[], ctx: SignalPredicateContext<TContext, TData>): Promise<boolean>;
|
|
55
|
-
/**
|
|
56
|
-
* Batched AI classifier + extraction call (Algorithm 3).
|
|
57
|
-
*
|
|
58
|
-
* Builds the classifier prompt and merged schema, makes a single provider
|
|
59
|
-
* call, and parses the response into an id → result map. Any signal absent
|
|
60
|
-
* from the response defaults to `{ matched: false }`. Provider errors are
|
|
61
|
-
* caught and logged; all signals default to non-match.
|
|
62
|
-
*/
|
|
63
|
-
evaluateSignals(params: EvaluateSignalsParams<TContext, TData>): Promise<Record<string, SignalEvaluationResult>>;
|
|
64
|
-
/**
|
|
65
|
-
* Parallel batched evaluation. Splits signals into batches of `batchSize`,
|
|
66
|
-
* evaluates each batch via `evaluateSignals` in parallel using `Promise.all`,
|
|
67
|
-
* and merges all result maps into a single record.
|
|
68
|
-
*
|
|
69
|
-
* No key collisions because signal ids are unique within a phase.
|
|
70
|
-
*/
|
|
71
|
-
evaluateSignalsBatched(params: {
|
|
72
|
-
signals: Signal<TContext, TData, any>[];
|
|
73
|
-
batchSize?: number;
|
|
74
|
-
session: SessionState<TData>;
|
|
75
|
-
history: Event[];
|
|
76
|
-
context: TContext;
|
|
77
|
-
}): Promise<Record<string, SignalEvaluationResult>>;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Splits an array into fixed-size chunks.
|
|
81
|
-
*
|
|
82
|
-
* Returns an array of sub-arrays, each of at most `batchSize` elements.
|
|
83
|
-
* The last chunk may be shorter. Returns an empty array when `items` is empty.
|
|
84
|
-
*/
|
|
85
|
-
export declare function splitIntoBatches<T>(items: T[], batchSize: number): T[][];
|
|
86
|
-
//# sourceMappingURL=SignalEvaluator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SignalEvaluator.d.ts","sourceRoot":"","sources":["../../src/core/SignalEvaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACR,MAAM,EACN,eAAe,EACf,sBAAsB,EACzB,MAAM,qBAAqB,CAAC;AAQ7B,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAEtE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;IACxC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,OAAO,EAAE,QAAQ,CAAC;CACrB;AAMD;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAE3E,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EACvC,OAAO,EAAE,KAAK,EAAE,EAChB,QAAQ,EAAE,QAAQ,GACnB,MAAM,CAkFR;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAEjE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,GACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoCzB;AAMD,qBAAa,eAAe,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,UAAU;IAEjD;;;;;;OAMG;IACG,UAAU,CACZ,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EACjF,GAAG,EAAE,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,GAC7C,OAAO,CAAC,OAAO,CAAC;IAMnB;;;;;;;OAOG;IACG,eAAe,CACjB,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,GAC/C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAsDlD;;;;;;OAMG;IACG,sBAAsB,CAAC,MAAM,EAAE;QAEjC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QACxC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,CAAC;QACjB,OAAO,EAAE,QAAQ,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CAoBtD;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CAQxE"}
|