@falai/agent 3.4.5 → 4.0.0-alpha.10
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 +29 -378
- package/dist/cjs/core/Agent.d.ts.map +1 -1
- package/dist/cjs/core/Agent.js +113 -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 +573 -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 +149 -0
- package/dist/cjs/core/Prompt.js.map +1 -0
- package/dist/cjs/core/Runner.d.ts +171 -0
- package/dist/cjs/core/Runner.d.ts.map +1 -0
- package/dist/cjs/core/Runner.js +1158 -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 +373 -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 +357 -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 +163 -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/phrases.d.ts +25 -0
- package/dist/cjs/utils/phrases.d.ts.map +1 -0
- package/dist/cjs/utils/phrases.js +38 -0
- package/dist/cjs/utils/phrases.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 +22 -150
- package/dist/cjs/utils/template.d.ts.map +1 -1
- package/dist/cjs/utils/template.js +64 -359
- 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 +29 -378
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +116 -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 +567 -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 +139 -0
- package/dist/core/Prompt.js.map +1 -0
- package/dist/core/Runner.d.ts +171 -0
- package/dist/core/Runner.d.ts.map +1 -0
- package/dist/core/Runner.js +1154 -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 +369 -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 +353 -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 +163 -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/phrases.d.ts +25 -0
- package/dist/utils/phrases.d.ts.map +1 -0
- package/dist/utils/phrases.js +35 -0
- package/dist/utils/phrases.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 +22 -150
- package/dist/utils/template.d.ts.map +1 -1
- package/dist/utils/template.js +61 -351
- 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 +170 -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 +457 -0
- package/docs/reference/actions-events-conditions.md +396 -0
- package/docs/reference/agent.md +248 -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 +200 -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 +181 -163
- 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 +149 -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 +11 -6
- package/src/core/Agent.ts +126 -1512
- package/src/core/CompactionEngine.ts +7 -4
- package/src/core/FlowSpec.ts +778 -0
- package/src/core/Migrate.ts +256 -0
- package/src/core/Prompt.ts +162 -0
- package/src/core/Runner.ts +1214 -0
- package/src/core/Speak.ts +460 -0
- package/src/core/Understand.ts +423 -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 +120 -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 +135 -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 +88 -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/phrases.ts +40 -0
- package/src/utils/schema.ts +145 -0
- package/src/utils/streamingMessage.ts +34 -4
- package/src/utils/template.ts +63 -418
- 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,84 +0,0 @@
|
|
|
1
|
-
import type { SessionState } from "./session.js";
|
|
2
|
-
import type { Event, MessageRole } from "./history.js";
|
|
3
|
-
/**
|
|
4
|
-
* Context object passed to template functions for dynamic rendering.
|
|
5
|
-
*/
|
|
6
|
-
export interface TemplateContext<TContext = unknown, TData = unknown> {
|
|
7
|
-
/**
|
|
8
|
-
* The agent's static or dynamically-provided context.
|
|
9
|
-
*/
|
|
10
|
-
context?: TContext;
|
|
11
|
-
/**
|
|
12
|
-
* The current session state, including collected data.
|
|
13
|
-
*/
|
|
14
|
-
session?: SessionState<TData>;
|
|
15
|
-
/**
|
|
16
|
-
* The recent interaction history.
|
|
17
|
-
*/
|
|
18
|
-
history?: Event[];
|
|
19
|
-
/**
|
|
20
|
-
* The data collected in the current flow.
|
|
21
|
-
* A convenience alias for `session.data`.
|
|
22
|
-
*/
|
|
23
|
-
data: Partial<TData>;
|
|
24
|
-
/**
|
|
25
|
-
* Helper methods for working with history and context.
|
|
26
|
-
*/
|
|
27
|
-
helpers?: {
|
|
28
|
-
/**
|
|
29
|
-
* Get the last message from history, optionally filtered by role.
|
|
30
|
-
* @param role - Optional role to filter by (user, assistant, etc.)
|
|
31
|
-
* @returns The message content or undefined if not found
|
|
32
|
-
*/
|
|
33
|
-
getLastMessage(role?: MessageRole): string | undefined;
|
|
34
|
-
/**
|
|
35
|
-
* Get the last user message from history.
|
|
36
|
-
* @returns The user message content or undefined if not found
|
|
37
|
-
*/
|
|
38
|
-
getLastUserMessage(): string | undefined;
|
|
39
|
-
/**
|
|
40
|
-
* Get the last assistant message from history.
|
|
41
|
-
* @returns The assistant message content or undefined if not found
|
|
42
|
-
*/
|
|
43
|
-
getLastAssistantMessage(): string | undefined;
|
|
44
|
-
/**
|
|
45
|
-
* Get all messages from history, optionally filtered by role.
|
|
46
|
-
* @param role - Optional role to filter by
|
|
47
|
-
* @returns Array of message contents
|
|
48
|
-
*/
|
|
49
|
-
getMessages(role?: MessageRole): string[];
|
|
50
|
-
/**
|
|
51
|
-
* Check if the last message contains any of the given keywords.
|
|
52
|
-
* @param keywords - Keywords to search for
|
|
53
|
-
* @param caseSensitive - Whether to perform case-sensitive search (default: false)
|
|
54
|
-
* @returns True if any keyword is found
|
|
55
|
-
*/
|
|
56
|
-
lastMessageContains(keywords: string | string[], caseSensitive?: boolean): boolean;
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Represents a string that can be either a literal or a function
|
|
61
|
-
* that dynamically generates a string from context.
|
|
62
|
-
*/
|
|
63
|
-
export type Template<TContext = unknown, TData = unknown> = string | ((params: TemplateContext<TContext, TData>) => string | Promise<string>);
|
|
64
|
-
/**
|
|
65
|
-
* Result of condition evaluation containing both programmatic results
|
|
66
|
-
* and AI context strings.
|
|
67
|
-
*/
|
|
68
|
-
export interface ConditionEvaluationResult {
|
|
69
|
-
/** Result of function evaluations only */
|
|
70
|
-
programmaticResult: boolean;
|
|
71
|
-
/** Positive string values for AI context. Any one may satisfy the condition. */
|
|
72
|
-
aiContextStrings: string[];
|
|
73
|
-
/** Negative string values for AI context. Any one inhibits the condition. */
|
|
74
|
-
aiExclusionStrings?: string[];
|
|
75
|
-
/** Whether any functions were evaluated */
|
|
76
|
-
hasProgrammaticConditions: boolean;
|
|
77
|
-
/** Detailed evaluation information for debugging */
|
|
78
|
-
evaluationDetails?: {
|
|
79
|
-
condition: string;
|
|
80
|
-
result?: boolean;
|
|
81
|
-
type: 'string' | 'function' | 'array';
|
|
82
|
-
}[];
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=template.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../src/types/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAClE;;OAEG;IACH,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;IAElB;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE;QACR;;;;WAIG;QACH,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;QAEvD;;;WAGG;QACH,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAAC;QAEzC;;;WAGG;QACH,uBAAuB,IAAI,MAAM,GAAG,SAAS,CAAC;QAE9C;;;;WAIG;QACH,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC;QAE1C;;;;;WAKG;QACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;KACpF,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,IACpD,MAAM,GACN,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAI7E;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,0CAA0C;IAC1C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gFAAgF;IAChF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,2CAA2C;IAC3C,yBAAyB,EAAE,OAAO,CAAC;IACnC,oDAAoD;IACpD,iBAAiB,CAAC,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;KACvC,EAAE,CAAC;CACL"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/types/template.ts"],"names":[],"mappings":""}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import type { TemplateContext, ConditionEvaluationResult } from "../types/template.js";
|
|
2
|
-
/**
|
|
3
|
-
* Condition template — kept as a private type for internal use by the evaluator.
|
|
4
|
-
* Removed from the public surface in v2.
|
|
5
|
-
*/
|
|
6
|
-
type ConditionTemplate<TContext = unknown, TData = unknown> = string | ((params: TemplateContext<TContext, TData>) => boolean | Promise<boolean>) | ConditionTemplate<TContext, TData>[];
|
|
7
|
-
export interface WhenConditionGroups {
|
|
8
|
-
positive: string[];
|
|
9
|
-
negative: string[];
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Evaluate code (`if`) predicates with AND semantics and short-circuit.
|
|
13
|
-
*
|
|
14
|
-
* Shared by branch and signal evaluation — both define `if` as one predicate
|
|
15
|
-
* or an array of predicates over their respective contexts. A predicate that
|
|
16
|
-
* throws is logged at ERROR (with `label` and index) and treated as false,
|
|
17
|
-
* so a failing predicate only inhibits its own entry.
|
|
18
|
-
*/
|
|
19
|
-
export declare function evaluateIfPredicates<TCtx>(predicates: ((ctx: TCtx) => boolean | Promise<boolean>) | Array<(ctx: TCtx) => boolean | Promise<boolean>>, ctx: TCtx, label: string): Promise<boolean>;
|
|
20
|
-
/**
|
|
21
|
-
* Split AI-evaluated `when` strings into positive alternatives and negative
|
|
22
|
-
* exclusions. Positive entries are OR alternatives. `!`-prefixed entries are
|
|
23
|
-
* stripped and treated as OR exclusions, where any match inhibits the condition.
|
|
24
|
-
*/
|
|
25
|
-
export declare function splitWhenConditions(when: string | string[] | undefined | null): WhenConditionGroups;
|
|
26
|
-
/**
|
|
27
|
-
* Utility class for evaluating ConditionTemplate instances.
|
|
28
|
-
* Handles mixed string/function conditions and separates programmatic
|
|
29
|
-
* evaluation from AI context collection.
|
|
30
|
-
*/
|
|
31
|
-
export declare class ConditionEvaluator<TContext = unknown, TData = unknown> {
|
|
32
|
-
private templateContext;
|
|
33
|
-
constructor(templateContext: TemplateContext<TContext, TData>);
|
|
34
|
-
/**
|
|
35
|
-
* Evaluates a condition template and returns both programmatic results
|
|
36
|
-
* and AI context strings.
|
|
37
|
-
*
|
|
38
|
-
* @param condition The condition to evaluate
|
|
39
|
-
* @param logic Logic to apply for arrays ('AND' for when conditions, 'OR' for skipIf)
|
|
40
|
-
* @returns Evaluation result with programmatic result and AI context
|
|
41
|
-
*/
|
|
42
|
-
evaluateCondition(condition: ConditionTemplate<TContext, TData>, logic?: 'AND' | 'OR'): Promise<ConditionEvaluationResult>;
|
|
43
|
-
/**
|
|
44
|
-
* Evaluates an array of conditions with the specified logic.
|
|
45
|
-
*/
|
|
46
|
-
private evaluateArrayCondition;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Utility function to create a ConditionEvaluator instance.
|
|
50
|
-
* Ensures the template context has helpers included.
|
|
51
|
-
*/
|
|
52
|
-
export declare function createConditionEvaluator<TContext = unknown, TData = unknown>(templateContext: Omit<Partial<TemplateContext<TContext, TData>>, 'helpers'>): ConditionEvaluator<TContext, TData>;
|
|
53
|
-
/**
|
|
54
|
-
* Utility function to extract AI context strings from a condition without evaluation.
|
|
55
|
-
* Useful for collecting context strings for prompt generation.
|
|
56
|
-
*/
|
|
57
|
-
export declare function extractAIContextStrings<TContext = unknown, TData = unknown>(condition: ConditionTemplate<TContext, TData>): string[];
|
|
58
|
-
/**
|
|
59
|
-
* Utility function to check if a condition has any programmatic components.
|
|
60
|
-
*/
|
|
61
|
-
export declare function hasProgrammaticConditions<TContext = unknown, TData = unknown>(condition: ConditionTemplate<TContext, TData>): boolean;
|
|
62
|
-
export {};
|
|
63
|
-
//# sourceMappingURL=condition.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"condition.d.ts","sourceRoot":"","sources":["../../../src/utils/condition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAIvF;;;GAGG;AACH,KAAK,iBAAiB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,IACtD,MAAM,GACN,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAC1E,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;AAEzC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAuBD;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAC7C,UAAU,EACN,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAC3C,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,EACpD,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI,GACzC,mBAAmB,CAcrB;AA0BD;;;;GAIG;AACH,qBAAa,kBAAkB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IACrD,OAAO,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC;IAErE;;;;;;;OAOG;IACG,iBAAiB,CACrB,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC7C,KAAK,GAAE,KAAK,GAAG,IAAY,GAC1B,OAAO,CAAC,yBAAyB,CAAC;IA+DrC;;OAEG;YACW,sBAAsB;CAoDrC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAC1E,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAC1E,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAGrC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EACzE,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,GAC5C,MAAM,EAAE,CAEV;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAC3E,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,GAC5C,OAAO,CAUT"}
|
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConditionEvaluator = void 0;
|
|
4
|
-
exports.evaluateIfPredicates = evaluateIfPredicates;
|
|
5
|
-
exports.splitWhenConditions = splitWhenConditions;
|
|
6
|
-
exports.createConditionEvaluator = createConditionEvaluator;
|
|
7
|
-
exports.extractAIContextStrings = extractAIContextStrings;
|
|
8
|
-
exports.hasProgrammaticConditions = hasProgrammaticConditions;
|
|
9
|
-
const template_js_1 = require("./template.js");
|
|
10
|
-
const logger_js_1 = require("./logger.js");
|
|
11
|
-
function emptyWhenConditionGroups() {
|
|
12
|
-
return { positive: [], negative: [] };
|
|
13
|
-
}
|
|
14
|
-
function pushWhenCondition(groups, value) {
|
|
15
|
-
const condition = value.trim();
|
|
16
|
-
if (!condition) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
if (condition.startsWith("!")) {
|
|
20
|
-
const negative = condition.slice(1).trim();
|
|
21
|
-
if (negative) {
|
|
22
|
-
groups.negative.push(negative);
|
|
23
|
-
}
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
groups.positive.push(condition);
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Evaluate code (`if`) predicates with AND semantics and short-circuit.
|
|
30
|
-
*
|
|
31
|
-
* Shared by branch and signal evaluation — both define `if` as one predicate
|
|
32
|
-
* or an array of predicates over their respective contexts. A predicate that
|
|
33
|
-
* throws is logged at ERROR (with `label` and index) and treated as false,
|
|
34
|
-
* so a failing predicate only inhibits its own entry.
|
|
35
|
-
*/
|
|
36
|
-
async function evaluateIfPredicates(predicates, ctx, label) {
|
|
37
|
-
const predicateArray = Array.isArray(predicates) ? predicates : [predicates];
|
|
38
|
-
for (let i = 0; i < predicateArray.length; i++) {
|
|
39
|
-
try {
|
|
40
|
-
const result = await predicateArray[i](ctx);
|
|
41
|
-
if (!result) {
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
catch (error) {
|
|
46
|
-
logger_js_1.logger.error(`[${label}] Predicate at index ${i} threw: ${error instanceof Error ? error.message : String(error)}`);
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Split AI-evaluated `when` strings into positive alternatives and negative
|
|
54
|
-
* exclusions. Positive entries are OR alternatives. `!`-prefixed entries are
|
|
55
|
-
* stripped and treated as OR exclusions, where any match inhibits the condition.
|
|
56
|
-
*/
|
|
57
|
-
function splitWhenConditions(when) {
|
|
58
|
-
const groups = emptyWhenConditionGroups();
|
|
59
|
-
if (when == null) {
|
|
60
|
-
return groups;
|
|
61
|
-
}
|
|
62
|
-
const entries = Array.isArray(when) ? when : [when];
|
|
63
|
-
for (const entry of entries) {
|
|
64
|
-
if (typeof entry === "string") {
|
|
65
|
-
pushWhenCondition(groups, entry);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return groups;
|
|
69
|
-
}
|
|
70
|
-
function splitConditionTemplate(condition) {
|
|
71
|
-
const groups = emptyWhenConditionGroups();
|
|
72
|
-
if (condition == null) {
|
|
73
|
-
return groups;
|
|
74
|
-
}
|
|
75
|
-
if (Array.isArray(condition)) {
|
|
76
|
-
for (const subCondition of condition) {
|
|
77
|
-
const subGroups = splitConditionTemplate(subCondition);
|
|
78
|
-
groups.positive.push(...subGroups.positive);
|
|
79
|
-
groups.negative.push(...subGroups.negative);
|
|
80
|
-
}
|
|
81
|
-
return groups;
|
|
82
|
-
}
|
|
83
|
-
if (typeof condition === "string") {
|
|
84
|
-
pushWhenCondition(groups, condition);
|
|
85
|
-
}
|
|
86
|
-
return groups;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Utility class for evaluating ConditionTemplate instances.
|
|
90
|
-
* Handles mixed string/function conditions and separates programmatic
|
|
91
|
-
* evaluation from AI context collection.
|
|
92
|
-
*/
|
|
93
|
-
class ConditionEvaluator {
|
|
94
|
-
constructor(templateContext) {
|
|
95
|
-
this.templateContext = templateContext;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Evaluates a condition template and returns both programmatic results
|
|
99
|
-
* and AI context strings.
|
|
100
|
-
*
|
|
101
|
-
* @param condition The condition to evaluate
|
|
102
|
-
* @param logic Logic to apply for arrays ('AND' for when conditions, 'OR' for skipIf)
|
|
103
|
-
* @returns Evaluation result with programmatic result and AI context
|
|
104
|
-
*/
|
|
105
|
-
async evaluateCondition(condition, logic = 'AND') {
|
|
106
|
-
const result = {
|
|
107
|
-
programmaticResult: logic === 'AND' ? true : false,
|
|
108
|
-
aiContextStrings: [],
|
|
109
|
-
aiExclusionStrings: [],
|
|
110
|
-
hasProgrammaticConditions: false,
|
|
111
|
-
evaluationDetails: []
|
|
112
|
-
};
|
|
113
|
-
if (!condition) {
|
|
114
|
-
return result;
|
|
115
|
-
}
|
|
116
|
-
// Handle array conditions
|
|
117
|
-
if (Array.isArray(condition)) {
|
|
118
|
-
return this.evaluateArrayCondition(condition, logic);
|
|
119
|
-
}
|
|
120
|
-
// Handle string conditions (AI context only)
|
|
121
|
-
if (typeof condition === 'string') {
|
|
122
|
-
const groups = splitWhenConditions(condition);
|
|
123
|
-
result.aiContextStrings.push(...groups.positive);
|
|
124
|
-
result.aiExclusionStrings?.push(...groups.negative);
|
|
125
|
-
result.evaluationDetails?.push({
|
|
126
|
-
condition: condition,
|
|
127
|
-
type: 'string'
|
|
128
|
-
});
|
|
129
|
-
// For string conditions, programmatic result depends on logic:
|
|
130
|
-
// AND logic: true (doesn't affect result)
|
|
131
|
-
// OR logic: false (doesn't trigger skip)
|
|
132
|
-
result.programmaticResult = logic === 'AND' ? true : false;
|
|
133
|
-
return result;
|
|
134
|
-
}
|
|
135
|
-
// Handle function conditions (programmatic evaluation)
|
|
136
|
-
if (typeof condition === 'function') {
|
|
137
|
-
result.hasProgrammaticConditions = true;
|
|
138
|
-
try {
|
|
139
|
-
const functionResult = await condition(this.templateContext);
|
|
140
|
-
result.programmaticResult = Boolean(functionResult);
|
|
141
|
-
result.evaluationDetails?.push({
|
|
142
|
-
condition: condition.toString(),
|
|
143
|
-
result: result.programmaticResult,
|
|
144
|
-
type: 'function'
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
catch (error) {
|
|
148
|
-
// Log error and default to false for safety
|
|
149
|
-
logger_js_1.logger.warn('Condition function evaluation failed:', error);
|
|
150
|
-
result.programmaticResult = false;
|
|
151
|
-
result.evaluationDetails?.push({
|
|
152
|
-
condition: condition.toString(),
|
|
153
|
-
result: false,
|
|
154
|
-
type: 'function'
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
return result;
|
|
158
|
-
}
|
|
159
|
-
// Fallback for unexpected types
|
|
160
|
-
logger_js_1.logger.warn('Unexpected condition type:', typeof condition);
|
|
161
|
-
return result;
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Evaluates an array of conditions with the specified logic.
|
|
165
|
-
*/
|
|
166
|
-
async evaluateArrayCondition(conditions, logic) {
|
|
167
|
-
const result = {
|
|
168
|
-
programmaticResult: logic === 'AND' ? true : false,
|
|
169
|
-
aiContextStrings: [],
|
|
170
|
-
aiExclusionStrings: [],
|
|
171
|
-
hasProgrammaticConditions: false,
|
|
172
|
-
evaluationDetails: [{
|
|
173
|
-
condition: `Array[${conditions.length}]`,
|
|
174
|
-
type: 'array'
|
|
175
|
-
}]
|
|
176
|
-
};
|
|
177
|
-
const functionResults = [];
|
|
178
|
-
for (const condition of conditions) {
|
|
179
|
-
const conditionResult = await this.evaluateCondition(condition, logic);
|
|
180
|
-
// Collect AI context strings
|
|
181
|
-
result.aiContextStrings.push(...conditionResult.aiContextStrings);
|
|
182
|
-
result.aiExclusionStrings?.push(...(conditionResult.aiExclusionStrings ?? []));
|
|
183
|
-
// Track if we have programmatic conditions
|
|
184
|
-
if (conditionResult.hasProgrammaticConditions) {
|
|
185
|
-
result.hasProgrammaticConditions = true;
|
|
186
|
-
functionResults.push(conditionResult.programmaticResult);
|
|
187
|
-
}
|
|
188
|
-
// Merge evaluation details
|
|
189
|
-
if (conditionResult.evaluationDetails) {
|
|
190
|
-
result.evaluationDetails?.push(...conditionResult.evaluationDetails);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
// Apply logic to function results only
|
|
194
|
-
if (functionResults.length > 0) {
|
|
195
|
-
if (logic === 'AND') {
|
|
196
|
-
result.programmaticResult = functionResults.every(r => r);
|
|
197
|
-
}
|
|
198
|
-
else { // OR
|
|
199
|
-
result.programmaticResult = functionResults.some(r => r);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
// No programmatic conditions, result depends on logic:
|
|
204
|
-
// AND: true (no functions to fail)
|
|
205
|
-
// OR: false (no functions to succeed)
|
|
206
|
-
result.programmaticResult = logic === 'AND' ? true : false;
|
|
207
|
-
}
|
|
208
|
-
return result;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
exports.ConditionEvaluator = ConditionEvaluator;
|
|
212
|
-
/**
|
|
213
|
-
* Utility function to create a ConditionEvaluator instance.
|
|
214
|
-
* Ensures the template context has helpers included.
|
|
215
|
-
*/
|
|
216
|
-
function createConditionEvaluator(templateContext) {
|
|
217
|
-
const contextWithHelpers = (0, template_js_1.createTemplateContext)(templateContext);
|
|
218
|
-
return new ConditionEvaluator(contextWithHelpers);
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Utility function to extract AI context strings from a condition without evaluation.
|
|
222
|
-
* Useful for collecting context strings for prompt generation.
|
|
223
|
-
*/
|
|
224
|
-
function extractAIContextStrings(condition) {
|
|
225
|
-
return splitConditionTemplate(condition).positive;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Utility function to check if a condition has any programmatic components.
|
|
229
|
-
*/
|
|
230
|
-
function hasProgrammaticConditions(condition) {
|
|
231
|
-
if (!condition) {
|
|
232
|
-
return false;
|
|
233
|
-
}
|
|
234
|
-
if (Array.isArray(condition)) {
|
|
235
|
-
return condition.some(subCondition => hasProgrammaticConditions(subCondition));
|
|
236
|
-
}
|
|
237
|
-
return typeof condition === 'function';
|
|
238
|
-
}
|
|
239
|
-
//# sourceMappingURL=condition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/utils/condition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/utils/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,mBAAmB,CAAC;AAC1D;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAWlE"}
|
package/dist/cjs/utils/event.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLastMessageFromHistory = getLastMessageFromHistory;
|
|
4
|
-
const index_js_1 = require("../types/index.js");
|
|
5
|
-
/**
|
|
6
|
-
* Helper to extract last message from history
|
|
7
|
-
*/
|
|
8
|
-
function getLastMessageFromHistory(history) {
|
|
9
|
-
for (let i = history.length - 1; i >= 0; i--) {
|
|
10
|
-
const event = history[i];
|
|
11
|
-
if (event.kind === index_js_1.EventKind.MESSAGE) {
|
|
12
|
-
if (!event.data || !("message" in event.data)) {
|
|
13
|
-
continue;
|
|
14
|
-
}
|
|
15
|
-
return event.data.message;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
return "";
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=event.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/utils/event.ts"],"names":[],"mappings":";;AAIA,8DAWC;AAfD,gDAA0D;AAC1D;;GAEG;AACH,SAAgB,yBAAyB,CAAC,OAAgB;IACxD,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAS,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9C,SAAS;YACX,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
package/dist/cjs/utils/id.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ID generation utilities
|
|
3
|
-
* Provides deterministic ID generation to ensure consistency across server restarts
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Generate a deterministic flow ID
|
|
7
|
-
* Format: flow_{sanitized_title}_{hash}
|
|
8
|
-
*/
|
|
9
|
-
export declare function generateFlowId(title: string): string;
|
|
10
|
-
/**
|
|
11
|
-
* Generate a deterministic step ID
|
|
12
|
-
* Format: step_{sanitized_description}_{hash} or step_{flowId}_{index}
|
|
13
|
-
*/
|
|
14
|
-
export declare function generateStepId(flowId: string, description?: string, index?: number): string;
|
|
15
|
-
/**
|
|
16
|
-
* Generate a deterministic tool ID
|
|
17
|
-
* Format: tool_{sanitized_name}_{hash}
|
|
18
|
-
*/
|
|
19
|
-
export declare function generateToolId(name: string): string;
|
|
20
|
-
/**
|
|
21
|
-
* Generate a deterministic tool ID for inline tool handlers
|
|
22
|
-
* Format: tool_inline_{stepId}_{hash}
|
|
23
|
-
*/
|
|
24
|
-
export declare function generateInlineToolId(stepId: string): string;
|
|
25
|
-
/**
|
|
26
|
-
* Generate a deterministic signal ID.
|
|
27
|
-
* Format: signal_{sanitized}_{hash}
|
|
28
|
-
*
|
|
29
|
-
* Uses a combination of the signal's title/description/index to produce
|
|
30
|
-
* a stable id that is deterministic within a session (same inputs → same id).
|
|
31
|
-
*/
|
|
32
|
-
export declare function generateSignalId(title?: string, description?: string, index?: number): string;
|
|
33
|
-
//# sourceMappingURL=id.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CASR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAInD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAKR"}
|
package/dist/cjs/utils/id.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* ID generation utilities
|
|
4
|
-
* Provides deterministic ID generation to ensure consistency across server restarts
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.generateFlowId = generateFlowId;
|
|
8
|
-
exports.generateStepId = generateStepId;
|
|
9
|
-
exports.generateToolId = generateToolId;
|
|
10
|
-
exports.generateInlineToolId = generateInlineToolId;
|
|
11
|
-
exports.generateSignalId = generateSignalId;
|
|
12
|
-
/**
|
|
13
|
-
* Generate a deterministic ID from a string by creating a simple hash
|
|
14
|
-
* This ensures the same input always produces the same ID
|
|
15
|
-
*/
|
|
16
|
-
function simpleHash(str) {
|
|
17
|
-
let hash = 0;
|
|
18
|
-
for (let i = 0; i < str.length; i++) {
|
|
19
|
-
const char = str.charCodeAt(i);
|
|
20
|
-
hash = (hash << 5) - hash + char;
|
|
21
|
-
hash = hash & hash; // Convert to 32-bit integer
|
|
22
|
-
}
|
|
23
|
-
return Math.abs(hash).toString(36);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Sanitize a string for use in an ID
|
|
27
|
-
*/
|
|
28
|
-
function sanitize(str) {
|
|
29
|
-
return str.toLowerCase().replace(/[^a-z0-9]+/g, "_");
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Generate a deterministic flow ID
|
|
33
|
-
* Format: flow_{sanitized_title}_{hash}
|
|
34
|
-
*/
|
|
35
|
-
function generateFlowId(title) {
|
|
36
|
-
const sanitized = sanitize(title);
|
|
37
|
-
const hash = simpleHash(title);
|
|
38
|
-
return `flow_${sanitized}_${hash}`;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Generate a deterministic step ID
|
|
42
|
-
* Format: step_{sanitized_description}_{hash} or step_{flowId}_{index}
|
|
43
|
-
*/
|
|
44
|
-
function generateStepId(flowId, description, index) {
|
|
45
|
-
if (description) {
|
|
46
|
-
const sanitized = sanitize(description);
|
|
47
|
-
const hash = simpleHash(`${flowId}_${description}`);
|
|
48
|
-
return `step_${sanitized}_${hash}`;
|
|
49
|
-
}
|
|
50
|
-
// Fallback for steps without descriptions
|
|
51
|
-
const suffix = index !== undefined ? index : simpleHash(flowId);
|
|
52
|
-
return `step_${flowId}_${suffix}`;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Generate a deterministic tool ID
|
|
56
|
-
* Format: tool_{sanitized_name}_{hash}
|
|
57
|
-
*/
|
|
58
|
-
function generateToolId(name) {
|
|
59
|
-
const sanitized = sanitize(name);
|
|
60
|
-
const hash = simpleHash(name);
|
|
61
|
-
return `tool_${sanitized}_${hash}`;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Generate a deterministic tool ID for inline tool handlers
|
|
65
|
-
* Format: tool_inline_{stepId}_{hash}
|
|
66
|
-
*/
|
|
67
|
-
function generateInlineToolId(stepId) {
|
|
68
|
-
const hash = simpleHash(`${stepId}_inline_tool`);
|
|
69
|
-
return `tool_inline_${stepId}_${hash}`;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Generate a deterministic signal ID.
|
|
73
|
-
* Format: signal_{sanitized}_{hash}
|
|
74
|
-
*
|
|
75
|
-
* Uses a combination of the signal's title/description/index to produce
|
|
76
|
-
* a stable id that is deterministic within a session (same inputs → same id).
|
|
77
|
-
*/
|
|
78
|
-
function generateSignalId(title, description, index) {
|
|
79
|
-
const seed = title || description || `signal_${index ?? 0}`;
|
|
80
|
-
const sanitized = sanitize(seed);
|
|
81
|
-
const hash = simpleHash(`signal_${seed}_${index ?? 0}`);
|
|
82
|
-
return `signal_${sanitized}_${hash}`;
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=id.js.map
|
package/dist/cjs/utils/id.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../../src/utils/id.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA2BH,wCAIC;AAMD,wCAaC;AAMD,wCAIC;AAMD,oDAGC;AASD,4CASC;AArFD;;;GAGG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QACjC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,4BAA4B;IAClD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAa;IAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,QAAQ,SAAS,IAAI,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAC5B,MAAc,EACd,WAAoB,EACpB,KAAc;IAEd,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC;QACpD,OAAO,QAAQ,SAAS,IAAI,IAAI,EAAE,CAAC;IACrC,CAAC;IACD,0CAA0C;IAC1C,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,QAAQ,MAAM,IAAI,MAAM,EAAE,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAAY;IACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,QAAQ,SAAS,IAAI,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,MAAc;IACjD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,MAAM,cAAc,CAAC,CAAC;IACjD,OAAO,eAAe,MAAM,IAAI,IAAI,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC9B,KAAc,EACd,WAAoB,EACpB,KAAc;IAEd,MAAM,IAAI,GAAG,KAAK,IAAI,WAAW,IAAI,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;IACxD,OAAO,UAAU,SAAS,IAAI,IAAI,EAAE,CAAC;AACvC,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Serialization utilities for tool results and other data
|
|
3
|
-
*/
|
|
4
|
-
import type { Directive } from "../types/flow.js";
|
|
5
|
-
import type { ToolResult } from "../types/tool.js";
|
|
6
|
-
/**
|
|
7
|
-
* Decide whether a tool handler's return value is a ToolResult-shaped object.
|
|
8
|
-
* Only SEMANTIC markers identify one — bare `{data}` / `{error}` shapes are
|
|
9
|
-
* indistinguishable from ordinary business payloads (e.g. upstream API
|
|
10
|
-
* envelopes) and must be wrapped as raw results instead. Shared by the
|
|
11
|
-
* sequential (ToolManager) and concurrent (StreamingToolExecutor) paths so the
|
|
12
|
-
* definition of "is a ToolResult" can't drift between them.
|
|
13
|
-
*/
|
|
14
|
-
export declare function isToolResultLike(result: unknown): result is ToolResult;
|
|
15
|
-
/**
|
|
16
|
-
* Collect a ToolResult's directives — `{directive}` (singular shorthand) and
|
|
17
|
-
* `{directives}` both count. Singular merges FIRST so plural entries win reply
|
|
18
|
-
* ties (last-wins merge), identical on both executor paths.
|
|
19
|
-
*/
|
|
20
|
-
export declare function extractResultDirectives<TContext = unknown, TData = unknown>(result: ToolResult<unknown, TContext, TData>): Directive<TContext, TData>[];
|
|
21
|
-
/**
|
|
22
|
-
* Serialize a tool execution result into a string suitable for conversation history.
|
|
23
|
-
*
|
|
24
|
-
* Priority:
|
|
25
|
-
* 1. Failed result → error message
|
|
26
|
-
* 2. String data → returned as-is
|
|
27
|
-
* 3. Object data → JSON.stringify (with circular-reference safety)
|
|
28
|
-
* 4. Primitive data → String()
|
|
29
|
-
* 5. No data → "Tool executed successfully"
|
|
30
|
-
*/
|
|
31
|
-
export declare function serializeToolResult(result: {
|
|
32
|
-
success: boolean;
|
|
33
|
-
data?: unknown;
|
|
34
|
-
error?: string;
|
|
35
|
-
}): string;
|
|
36
|
-
//# sourceMappingURL=serialize.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/utils/serialize.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,UAAU,CAWtE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EACzE,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,GAC3C,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAK9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CA6BT"}
|