@mastra/core 1.0.0-beta.1 → 1.0.0-beta.11
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/CHANGELOG.md +1218 -0
- package/dist/agent/agent-legacy.d.ts +35 -30
- package/dist/agent/agent-legacy.d.ts.map +1 -1
- package/dist/agent/agent-types.test-d.d.ts +2 -0
- package/dist/agent/agent-types.test-d.d.ts.map +1 -0
- package/dist/agent/agent.d.ts +24 -9
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.types.d.ts +17 -9
- package/dist/agent/agent.types.d.ts.map +1 -1
- package/dist/agent/index.cjs +9 -9
- package/dist/agent/index.js +2 -2
- package/dist/agent/message-list/index.cjs +3 -3
- package/dist/agent/message-list/index.d.ts +61 -3
- package/dist/agent/message-list/index.d.ts.map +1 -1
- package/dist/agent/message-list/index.js +1 -1
- package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -1
- package/dist/agent/message-list/prompt/convert-file.d.ts +1 -1
- package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -1
- package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -1
- package/dist/agent/save-queue/index.d.ts +3 -1
- package/dist/agent/save-queue/index.d.ts.map +1 -1
- package/dist/agent/test-utils.d.ts +37 -0
- package/dist/agent/test-utils.d.ts.map +1 -1
- package/dist/agent/trip-wire.d.ts +38 -4
- package/dist/agent/trip-wire.d.ts.map +1 -1
- package/dist/agent/types.d.ts +46 -14
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/utils.d.ts +4 -5
- package/dist/agent/utils.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/index.d.ts +37 -13
- package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +3 -3
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +34 -11
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +2 -1
- package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/schema.d.ts +38 -15
- package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts +11 -1
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
- package/dist/base.cjs +2 -2
- package/dist/base.js +1 -1
- package/dist/bundler/index.cjs +2 -2
- package/dist/bundler/index.js +1 -1
- package/dist/cache/index.cjs +3 -3
- package/dist/cache/index.js +1 -1
- package/dist/{chunk-JUBFO5J3.js → chunk-2ULLRN4Y.js} +16333 -11839
- package/dist/chunk-2ULLRN4Y.js.map +1 -0
- package/dist/{chunk-OJNJA5ZI.js → chunk-3CKZSDTQ.js} +3 -3
- package/dist/{chunk-OJNJA5ZI.js.map → chunk-3CKZSDTQ.js.map} +1 -1
- package/dist/chunk-3E3ILV6T.cjs +518 -0
- package/dist/chunk-3E3ILV6T.cjs.map +1 -0
- package/dist/{chunk-TQTAMPSC.js → chunk-3N3QE4ZK.js} +3 -3
- package/dist/chunk-3N3QE4ZK.js.map +1 -0
- package/dist/{chunk-QUKUN6NR.cjs → chunk-4JKEUSCC.cjs} +107 -7
- package/dist/chunk-4JKEUSCC.cjs.map +1 -0
- package/dist/{chunk-MSWTA73A.cjs → chunk-52RSUALV.cjs} +16490 -11957
- package/dist/chunk-52RSUALV.cjs.map +1 -0
- package/dist/chunk-5PAEYE3Q.js +513 -0
- package/dist/chunk-5PAEYE3Q.js.map +1 -0
- package/dist/{chunk-ECFXGXWO.cjs → chunk-5Q6WAYEY.cjs} +695 -375
- package/dist/chunk-5Q6WAYEY.cjs.map +1 -0
- package/dist/{chunk-CBAB7GOD.cjs → chunk-6BJ7XHRH.cjs} +2 -2
- package/dist/{chunk-CBAB7GOD.cjs.map → chunk-6BJ7XHRH.cjs.map} +1 -1
- package/dist/{chunk-GRBGQ2GE.js → chunk-6TBWJV35.js} +5 -3
- package/dist/chunk-6TBWJV35.js.map +1 -0
- package/dist/chunk-6XCINXZ7.cjs +194 -0
- package/dist/chunk-6XCINXZ7.cjs.map +1 -0
- package/dist/{chunk-E7K4FTLN.cjs → chunk-72YCRTEX.cjs} +18 -2
- package/dist/chunk-72YCRTEX.cjs.map +1 -0
- package/dist/{chunk-W7UH2PWL.js → chunk-7P6BNIJH.js} +1142 -331
- package/dist/chunk-7P6BNIJH.js.map +1 -0
- package/dist/{chunk-76K3IYWM.js → chunk-ADADLFDR.js} +3 -3
- package/dist/{chunk-76K3IYWM.js.map → chunk-ADADLFDR.js.map} +1 -1
- package/dist/{chunk-DSNPWVIG.cjs → chunk-AF74UXR5.cjs} +4 -3
- package/dist/chunk-AF74UXR5.cjs.map +1 -0
- package/dist/{chunk-GGYKYORQ.cjs → chunk-BJXKH4LG.cjs} +407 -22
- package/dist/chunk-BJXKH4LG.cjs.map +1 -0
- package/dist/{chunk-2ZVKF4HP.cjs → chunk-BUKY6CTR.cjs} +1147 -334
- package/dist/chunk-BUKY6CTR.cjs.map +1 -0
- package/dist/chunk-BWYU7D33.js +192 -0
- package/dist/chunk-BWYU7D33.js.map +1 -0
- package/dist/{chunk-XEVG546F.js → chunk-C36YRTZ6.js} +178 -12
- package/dist/chunk-C36YRTZ6.js.map +1 -0
- package/dist/{chunk-CB575O6L.cjs → chunk-CZEJQSWB.cjs} +473 -124
- package/dist/chunk-CZEJQSWB.cjs.map +1 -0
- package/dist/chunk-DD2VNRQM.js +62 -0
- package/dist/chunk-DD2VNRQM.js.map +1 -0
- package/dist/{chunk-KEXGB7FK.cjs → chunk-DGV2FWB4.cjs} +7 -7
- package/dist/{chunk-KEXGB7FK.cjs.map → chunk-DGV2FWB4.cjs.map} +1 -1
- package/dist/{chunk-Y63IFHEZ.cjs → chunk-EOPEDKLG.cjs} +4 -4
- package/dist/chunk-EOPEDKLG.cjs.map +1 -0
- package/dist/{chunk-UIZSWUKP.js → chunk-F2GAJSBI.js} +105 -7
- package/dist/chunk-F2GAJSBI.js.map +1 -0
- package/dist/{chunk-4CDL2QJT.js → chunk-IVV5TOMD.js} +122 -37
- package/dist/chunk-IVV5TOMD.js.map +1 -0
- package/dist/{chunk-MV7KHWUT.js → chunk-JIGDJK2O.js} +391 -15
- package/dist/chunk-JIGDJK2O.js.map +1 -0
- package/dist/chunk-KJBMTK5B.cjs +64 -0
- package/dist/chunk-KJBMTK5B.cjs.map +1 -0
- package/dist/{chunk-S6URFGCZ.js → chunk-LSHPJWM5.js} +3 -3
- package/dist/{chunk-S6URFGCZ.js.map → chunk-LSHPJWM5.js.map} +1 -1
- package/dist/chunk-MGCGWPQJ.cjs +275 -0
- package/dist/chunk-MGCGWPQJ.cjs.map +1 -0
- package/dist/chunk-MRFUISXC.cjs +4981 -0
- package/dist/chunk-MRFUISXC.cjs.map +1 -0
- package/dist/{chunk-KJ2SW6VA.js → chunk-NRUZYMHE.js} +4 -3
- package/dist/chunk-NRUZYMHE.js.map +1 -0
- package/dist/{chunk-CINNK34N.js → chunk-O2BJW7YA.js} +26 -11
- package/dist/chunk-O2BJW7YA.js.map +1 -0
- package/dist/chunk-OEIVMCWX.js +4959 -0
- package/dist/chunk-OEIVMCWX.js.map +1 -0
- package/dist/{chunk-WM6CK2F3.cjs → chunk-PG5H6QIO.cjs} +131 -49
- package/dist/chunk-PG5H6QIO.cjs.map +1 -0
- package/dist/{chunk-JPGVRWWL.js → chunk-PK2A5WBG.js} +472 -125
- package/dist/chunk-PK2A5WBG.js.map +1 -0
- package/dist/{chunk-X7JMA3IY.js → chunk-PSCMWPLC.js} +2 -2
- package/dist/{chunk-X7JMA3IY.js.map → chunk-PSCMWPLC.js.map} +1 -1
- package/dist/{chunk-VOY2RXOC.cjs → chunk-S73Z3PBJ.cjs} +182 -15
- package/dist/chunk-S73Z3PBJ.cjs.map +1 -0
- package/dist/{chunk-MA7TEM62.cjs → chunk-SCUWP4II.cjs} +769 -27
- package/dist/chunk-SCUWP4II.cjs.map +1 -0
- package/dist/{chunk-JV2KH24V.js → chunk-SXNQRJQD.js} +695 -375
- package/dist/chunk-SXNQRJQD.js.map +1 -0
- package/dist/{chunk-BMAFVZ2D.cjs → chunk-T2VLUFGG.cjs} +4 -4
- package/dist/{chunk-BMAFVZ2D.cjs.map → chunk-T2VLUFGG.cjs.map} +1 -1
- package/dist/chunk-THZTRBFS.js +268 -0
- package/dist/chunk-THZTRBFS.js.map +1 -0
- package/dist/{chunk-VOQ3ULMT.js → chunk-U3XOLEPX.js} +759 -17
- package/dist/chunk-U3XOLEPX.js.map +1 -0
- package/dist/{chunk-Y6ROD72V.cjs → chunk-UIGRFDO6.cjs} +4 -4
- package/dist/{chunk-Y6ROD72V.cjs.map → chunk-UIGRFDO6.cjs.map} +1 -1
- package/dist/{chunk-H6CZGPZD.js → chunk-US2U7ECW.js} +179 -38
- package/dist/chunk-US2U7ECW.js.map +1 -0
- package/dist/{chunk-J7O6WENZ.cjs → chunk-UVHSM2GU.cjs} +6 -2
- package/dist/chunk-UVHSM2GU.cjs.map +1 -0
- package/dist/{chunk-CD56CXVE.cjs → chunk-WTSZBHIZ.cjs} +32 -17
- package/dist/chunk-WTSZBHIZ.cjs.map +1 -0
- package/dist/{chunk-KIZIOFZC.js → chunk-Y36Y5MTD.js} +17 -3
- package/dist/chunk-Y36Y5MTD.js.map +1 -0
- package/dist/{chunk-DNEURYF3.cjs → chunk-YC6PJEPH.cjs} +206 -65
- package/dist/chunk-YC6PJEPH.cjs.map +1 -0
- package/dist/{chunk-IQO7ANVS.cjs → chunk-YWMMBIOM.cjs} +21 -20
- package/dist/chunk-YWMMBIOM.cjs.map +1 -0
- package/dist/{chunk-I4CXL4SR.js → chunk-Z57R5WS4.js} +16 -15
- package/dist/chunk-Z57R5WS4.js.map +1 -0
- package/dist/deployer/index.cjs +2 -2
- package/dist/deployer/index.js +1 -1
- package/dist/di/index.cjs +10 -2
- package/dist/di/index.d.ts +1 -1
- package/dist/di/index.d.ts.map +1 -1
- package/dist/di/index.js +1 -1
- package/dist/evals/base.d.ts +10 -2
- package/dist/evals/base.d.ts.map +1 -1
- package/dist/evals/base.test-utils.d.ts +25 -25
- package/dist/evals/index.cjs +9 -9
- package/dist/evals/index.js +2 -2
- package/dist/evals/scoreTraces/index.cjs +7 -6
- package/dist/evals/scoreTraces/index.cjs.map +1 -1
- package/dist/evals/scoreTraces/index.js +4 -3
- package/dist/evals/scoreTraces/index.js.map +1 -1
- package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
- package/dist/evals/types.d.ts +25 -24
- package/dist/evals/types.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/integration/index.cjs +2 -2
- package/dist/integration/index.js +1 -1
- package/dist/llm/index.cjs +30 -10
- package/dist/llm/index.d.ts +2 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +5 -1
- package/dist/llm/model/aisdk/v5/model.d.ts +47 -0
- package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -0
- package/dist/llm/model/base.types.d.ts +2 -2
- package/dist/llm/model/base.types.d.ts.map +1 -1
- package/dist/llm/model/gateway-resolver.d.ts.map +1 -1
- package/dist/llm/model/gateways/azure.d.ts +36 -0
- package/dist/llm/model/gateways/azure.d.ts.map +1 -0
- package/dist/llm/model/gateways/base.d.ts +9 -4
- package/dist/llm/model/gateways/base.d.ts.map +1 -1
- package/dist/llm/model/gateways/constants.d.ts.map +1 -1
- package/dist/llm/model/gateways/index.d.ts +4 -1
- package/dist/llm/model/gateways/index.d.ts.map +1 -1
- package/dist/llm/model/gateways/models-dev.d.ts +3 -2
- package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
- package/dist/llm/model/gateways/netlify.d.ts +4 -3
- package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
- package/dist/llm/model/is-v2-model.d.ts +3 -0
- package/dist/llm/model/is-v2-model.d.ts.map +1 -0
- package/dist/llm/model/model-method-from-agent.d.ts +4 -0
- package/dist/llm/model/model-method-from-agent.d.ts.map +1 -0
- package/dist/llm/model/model.d.ts.map +1 -1
- package/dist/llm/model/model.loop.d.ts +2 -2
- package/dist/llm/model/model.loop.d.ts.map +1 -1
- package/dist/llm/model/model.loop.types.d.ts +4 -2
- package/dist/llm/model/model.loop.types.d.ts.map +1 -1
- package/dist/llm/model/provider-options.d.ts +4 -1
- package/dist/llm/model/provider-options.d.ts.map +1 -1
- package/dist/llm/model/provider-registry.d.ts +11 -1
- package/dist/llm/model/provider-registry.d.ts.map +1 -1
- package/dist/llm/model/provider-types.generated.d.ts +489 -27
- package/dist/llm/model/registry-generator.d.ts +12 -0
- package/dist/llm/model/registry-generator.d.ts.map +1 -1
- package/dist/llm/model/resolve-model.d.ts +1 -1
- package/dist/llm/model/resolve-model.d.ts.map +1 -1
- package/dist/llm/model/router.d.ts +12 -5
- package/dist/llm/model/router.d.ts.map +1 -1
- package/dist/llm/model/shared.types.d.ts +17 -6
- package/dist/llm/model/shared.types.d.ts.map +1 -1
- package/dist/logger/constants.d.ts +1 -0
- package/dist/logger/constants.d.ts.map +1 -1
- package/dist/logger/index.cjs +11 -11
- package/dist/logger/index.js +2 -2
- package/dist/logger/transport.d.ts +1 -1
- package/dist/logger/transport.d.ts.map +1 -1
- package/dist/loop/index.cjs +2 -2
- package/dist/loop/index.js +1 -1
- package/dist/loop/loop.d.ts.map +1 -1
- package/dist/loop/network/index.d.ts.map +1 -1
- package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts +37 -0
- package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts.map +1 -0
- package/dist/loop/test-utils/fullStream.d.ts.map +1 -1
- package/dist/loop/test-utils/generateText.d.ts.map +1 -1
- package/dist/loop/test-utils/options.d.ts.map +1 -1
- package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
- package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
- package/dist/loop/test-utils/textStream.d.ts.map +1 -1
- package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -1
- package/dist/loop/test-utils/tools.d.ts.map +1 -1
- package/dist/loop/test-utils/utils.d.ts +1 -1
- package/dist/loop/test-utils/utils.d.ts.map +1 -1
- package/dist/loop/types.d.ts +42 -20
- package/dist/loop/types.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/index.d.ts +60 -42
- package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +41 -29
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +20 -14
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +1 -1
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-loop/index.d.ts +62 -43
- package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
- package/dist/loop/workflows/run-state.d.ts +2 -2
- package/dist/loop/workflows/run-state.d.ts.map +1 -1
- package/dist/loop/workflows/schema.d.ts +32 -15
- package/dist/loop/workflows/schema.d.ts.map +1 -1
- package/dist/loop/workflows/stream.d.ts +1 -1
- package/dist/loop/workflows/stream.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.d.ts +377 -12
- package/dist/mastra/index.d.ts.map +1 -1
- package/dist/mastra/index.js +1 -1
- package/dist/mcp/index.cjs +4 -4
- package/dist/mcp/index.cjs.map +1 -1
- package/dist/mcp/index.d.ts +4 -4
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +2 -2
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/types.d.ts +2 -2
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/memory/index.cjs +21 -327
- package/dist/memory/index.cjs.map +1 -1
- package/dist/memory/index.js +1 -327
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/memory.d.ts +28 -18
- package/dist/memory/memory.d.ts.map +1 -1
- package/dist/memory/mock.d.ts +15 -14
- package/dist/memory/mock.d.ts.map +1 -1
- package/dist/memory/types.d.ts +69 -11
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/models-dev-23RN2WHG.js +3 -0
- package/dist/{models-dev-DNBKXHT4.js.map → models-dev-23RN2WHG.js.map} +1 -1
- package/dist/models-dev-EO3SUIY2.cjs +12 -0
- package/dist/{models-dev-YBEEQIX6.cjs.map → models-dev-EO3SUIY2.cjs.map} +1 -1
- package/dist/netlify-GXJ5D5DD.js +3 -0
- package/dist/{netlify-7G2L5VSH.js.map → netlify-GXJ5D5DD.js.map} +1 -1
- package/dist/netlify-KJLY3GFS.cjs +12 -0
- package/dist/{netlify-GWNGSIRZ.cjs.map → netlify-KJLY3GFS.cjs.map} +1 -1
- package/dist/observability/index.cjs +16 -8
- package/dist/observability/index.js +1 -1
- package/dist/observability/types/tracing.d.ts +236 -13
- package/dist/observability/types/tracing.d.ts.map +1 -1
- package/dist/observability/utils.d.ts +47 -1
- package/dist/observability/utils.d.ts.map +1 -1
- package/dist/processors/index.cjs +115 -11
- package/dist/processors/index.d.ts +246 -26
- package/dist/processors/index.d.ts.map +1 -1
- package/dist/processors/index.js +1 -1
- package/dist/processors/memory/index.d.ts +7 -0
- package/dist/processors/memory/index.d.ts.map +1 -0
- package/dist/processors/memory/message-history.d.ts +43 -0
- package/dist/processors/memory/message-history.d.ts.map +1 -0
- package/dist/processors/memory/semantic-recall.d.ts +152 -0
- package/dist/processors/memory/semantic-recall.d.ts.map +1 -0
- package/dist/processors/memory/working-memory.d.ts +65 -0
- package/dist/processors/memory/working-memory.d.ts.map +1 -0
- package/dist/processors/processors/batch-parts.d.ts +1 -1
- package/dist/processors/processors/batch-parts.d.ts.map +1 -1
- package/dist/processors/processors/index.d.ts +2 -1
- package/dist/processors/processors/index.d.ts.map +1 -1
- package/dist/processors/processors/language-detector.d.ts +15 -1
- package/dist/processors/processors/language-detector.d.ts.map +1 -1
- package/dist/processors/processors/moderation.d.ts +15 -1
- package/dist/processors/processors/moderation.d.ts.map +1 -1
- package/dist/processors/processors/pii-detector.d.ts +15 -1
- package/dist/processors/processors/pii-detector.d.ts.map +1 -1
- package/dist/processors/processors/prepare-step.d.ts +12 -0
- package/dist/processors/processors/prepare-step.d.ts.map +1 -0
- package/dist/processors/processors/prompt-injection-detector.d.ts +15 -1
- package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
- package/dist/processors/processors/structured-output.d.ts +7 -5
- package/dist/processors/processors/structured-output.d.ts.map +1 -1
- package/dist/processors/processors/system-prompt-scrubber.d.ts +1 -1
- package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -1
- package/dist/processors/processors/token-limiter.d.ts +22 -12
- package/dist/processors/processors/token-limiter.d.ts.map +1 -1
- package/dist/processors/processors/tool-call-filter.d.ts +28 -0
- package/dist/processors/processors/tool-call-filter.d.ts.map +1 -0
- package/dist/processors/processors/unicode-normalizer.d.ts +1 -1
- package/dist/processors/processors/unicode-normalizer.d.ts.map +1 -1
- package/dist/processors/runner.d.ts +83 -9
- package/dist/processors/runner.d.ts.map +1 -1
- package/dist/processors/step-schema.d.ts +49731 -0
- package/dist/processors/step-schema.d.ts.map +1 -0
- package/dist/provider-registry-3TG2KUD2.cjs +40 -0
- package/dist/provider-registry-3TG2KUD2.cjs.map +1 -0
- package/dist/provider-registry-F67Y6OF2.js +3 -0
- package/dist/provider-registry-F67Y6OF2.js.map +1 -0
- package/dist/provider-registry.json +1056 -61
- package/dist/{registry-generator-MK63POJO.cjs → registry-generator-34SC4TAU.cjs} +23 -6
- package/dist/registry-generator-34SC4TAU.cjs.map +1 -0
- package/dist/{registry-generator-H4YNODDH.js → registry-generator-UMTNPBJX.js} +23 -7
- package/dist/registry-generator-UMTNPBJX.js.map +1 -0
- package/dist/relevance/index.cjs +2 -2
- package/dist/relevance/index.js +1 -1
- package/dist/request-context/index.cjs +10 -2
- package/dist/request-context/index.d.ts +26 -0
- package/dist/request-context/index.d.ts.map +1 -1
- package/dist/request-context/index.js +1 -1
- package/dist/server/auth.d.ts +11 -0
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/base.d.ts +51 -0
- package/dist/server/base.d.ts.map +1 -0
- package/dist/server/composite-auth.d.ts +9 -0
- package/dist/server/composite-auth.d.ts.map +1 -0
- package/dist/server/index.cjs +124 -3
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.ts +8 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +121 -3
- package/dist/server/index.js.map +1 -1
- package/dist/server/simple-auth.d.ts +27 -0
- package/dist/server/simple-auth.d.ts.map +1 -0
- package/dist/server/types.d.ts +6 -0
- package/dist/server/types.d.ts.map +1 -1
- package/dist/storage/base.d.ts +76 -3
- package/dist/storage/base.d.ts.map +1 -1
- package/dist/storage/constants.d.ts +3 -1
- package/dist/storage/constants.d.ts.map +1 -1
- package/dist/storage/domains/agents/base.d.ts +49 -0
- package/dist/storage/domains/agents/base.d.ts.map +1 -0
- package/dist/storage/domains/agents/index.d.ts +3 -0
- package/dist/storage/domains/agents/index.d.ts.map +1 -0
- package/dist/storage/domains/agents/inmemory.d.ts +22 -0
- package/dist/storage/domains/agents/inmemory.d.ts.map +1 -0
- package/dist/storage/domains/index.d.ts +1 -0
- package/dist/storage/domains/index.d.ts.map +1 -1
- package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
- package/dist/storage/domains/operations/inmemory.d.ts.map +1 -1
- package/dist/storage/domains/scores/base.d.ts +2 -2
- package/dist/storage/domains/scores/base.d.ts.map +1 -1
- package/dist/storage/domains/scores/inmemory.d.ts +2 -2
- package/dist/storage/domains/scores/inmemory.d.ts.map +1 -1
- package/dist/storage/domains/workflows/base.d.ts +4 -0
- package/dist/storage/domains/workflows/base.d.ts.map +1 -1
- package/dist/storage/domains/workflows/inmemory.d.ts +5 -1
- package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
- package/dist/storage/index.cjs +65 -29
- package/dist/storage/index.js +1 -1
- package/dist/storage/mock.d.ts +7 -2
- package/dist/storage/mock.d.ts.map +1 -1
- package/dist/storage/storageWithInit.d.ts.map +1 -1
- package/dist/storage/types.d.ts +88 -5
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/utils.d.ts +82 -0
- package/dist/storage/utils.d.ts.map +1 -1
- package/dist/stream/MastraAgentNetworkStream.d.ts +2 -2
- package/dist/stream/MastraAgentNetworkStream.d.ts.map +1 -1
- package/dist/stream/MastraWorkflowStream.d.ts +2 -2
- package/dist/stream/MastraWorkflowStream.d.ts.map +1 -1
- package/dist/stream/RunOutput.d.ts +2 -2
- package/dist/stream/RunOutput.d.ts.map +1 -1
- package/dist/stream/aisdk/v4/transform.d.ts.map +1 -1
- package/dist/stream/aisdk/v4/usage.d.ts +19 -0
- package/dist/stream/aisdk/v4/usage.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/execute.d.ts +9 -5
- package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/input.d.ts +4 -1
- package/dist/stream/aisdk/v5/input.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/output-helpers.d.ts +5 -1
- package/dist/stream/aisdk/v5/output-helpers.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/output.d.ts +11 -13
- package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/transform.d.ts +2 -1
- package/dist/stream/aisdk/v5/transform.d.ts.map +1 -1
- package/dist/stream/base/base.d.ts +1 -1
- package/dist/stream/base/base.d.ts.map +1 -1
- package/dist/stream/base/input.d.ts +1 -1
- package/dist/stream/base/output-format-handlers.d.ts +14 -1
- package/dist/stream/base/output-format-handlers.d.ts.map +1 -1
- package/dist/stream/base/output.d.ts +9 -14
- package/dist/stream/base/output.d.ts.map +1 -1
- package/dist/stream/index.cjs +15 -11
- package/dist/stream/index.d.ts +2 -2
- package/dist/stream/index.d.ts.map +1 -1
- package/dist/stream/index.js +2 -2
- package/dist/stream/types.d.ts +97 -32
- package/dist/stream/types.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.cjs +101 -30
- package/dist/test-utils/llm-mock.cjs.map +1 -1
- package/dist/test-utils/llm-mock.d.ts +7 -2
- package/dist/test-utils/llm-mock.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.js +97 -30
- package/dist/test-utils/llm-mock.js.map +1 -1
- package/dist/tools/index.cjs +6 -6
- package/dist/tools/index.js +2 -2
- package/dist/tools/is-vercel-tool.cjs +2 -2
- package/dist/tools/is-vercel-tool.js +1 -1
- package/dist/tools/stream.d.ts +10 -4
- package/dist/tools/stream.d.ts.map +1 -1
- package/dist/tools/tool-builder/builder.d.ts +2 -0
- package/dist/tools/tool-builder/builder.d.ts.map +1 -1
- package/dist/tools/tool-stream-types.test-d.d.ts +2 -0
- package/dist/tools/tool-stream-types.test-d.d.ts.map +1 -0
- package/dist/tools/tool.d.ts +21 -8
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/tools/types.d.ts +33 -6
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/validation.d.ts +25 -1
- package/dist/tools/validation.d.ts.map +1 -1
- package/dist/tts/index.cjs +2 -2
- package/dist/tts/index.js +1 -1
- package/dist/types/zod-compat.d.ts +14 -1
- package/dist/types/zod-compat.d.ts.map +1 -1
- package/dist/utils.cjs +25 -21
- package/dist/utils.d.ts +9 -4
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/vector/filter/index.cjs +7 -189
- package/dist/vector/filter/index.cjs.map +1 -1
- package/dist/vector/filter/index.js +1 -190
- package/dist/vector/filter/index.js.map +1 -1
- package/dist/vector/index.cjs +7 -2
- package/dist/vector/index.cjs.map +1 -1
- package/dist/vector/index.d.ts +1 -0
- package/dist/vector/index.d.ts.map +1 -1
- package/dist/vector/index.js +2 -1
- package/dist/vector/index.js.map +1 -1
- package/dist/vector/types.d.ts +86 -3
- package/dist/vector/types.d.ts.map +1 -1
- package/dist/vector/vector.d.ts +39 -2
- package/dist/vector/vector.d.ts.map +1 -1
- package/dist/voice/aisdk/index.d.ts +3 -0
- package/dist/voice/aisdk/index.d.ts.map +1 -0
- package/dist/voice/aisdk/speech.d.ts +23 -0
- package/dist/voice/aisdk/speech.d.ts.map +1 -0
- package/dist/voice/aisdk/transcription.d.ts +22 -0
- package/dist/voice/aisdk/transcription.d.ts.map +1 -0
- package/dist/voice/composite-voice.d.ts +4 -3
- package/dist/voice/composite-voice.d.ts.map +1 -1
- package/dist/voice/index.cjs +12 -4
- package/dist/voice/index.d.ts +1 -0
- package/dist/voice/index.d.ts.map +1 -1
- package/dist/voice/index.js +1 -1
- package/dist/workflows/default.d.ts +180 -270
- package/dist/workflows/default.d.ts.map +1 -1
- package/dist/workflows/evented/execution-engine.d.ts +3 -1
- package/dist/workflows/evented/execution-engine.d.ts.map +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/evented/step-executor.d.ts +1 -1
- package/dist/workflows/evented/step-executor.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/index.d.ts +5 -4
- package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/loop.d.ts +1 -1
- package/dist/workflows/evented/workflow-event-processor/loop.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/parallel.d.ts +2 -2
- package/dist/workflows/evented/workflow-event-processor/parallel.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/sleep.d.ts +2 -2
- package/dist/workflows/evented/workflow-event-processor/sleep.d.ts.map +1 -1
- package/dist/workflows/evented/workflow.d.ts +2 -1
- package/dist/workflows/evented/workflow.d.ts.map +1 -1
- package/dist/workflows/execution-engine.d.ts +8 -6
- package/dist/workflows/execution-engine.d.ts.map +1 -1
- package/dist/workflows/handlers/control-flow.d.ts +133 -0
- package/dist/workflows/handlers/control-flow.d.ts.map +1 -0
- package/dist/workflows/handlers/entry.d.ts +43 -0
- package/dist/workflows/handlers/entry.d.ts.map +1 -0
- package/dist/workflows/handlers/sleep.d.ts +60 -0
- package/dist/workflows/handlers/sleep.d.ts.map +1 -0
- package/dist/workflows/handlers/step.d.ts +58 -0
- package/dist/workflows/handlers/step.d.ts.map +1 -0
- package/dist/workflows/index.cjs +40 -16
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/step.d.ts +8 -6
- package/dist/workflows/step.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +257 -10
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/utils.d.ts +36 -0
- package/dist/workflows/utils.d.ts.map +1 -1
- package/dist/workflows/workflow.d.ts +146 -55
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/package.json +26 -30
- package/src/llm/model/provider-types.generated.d.ts +489 -27
- package/dist/chunk-2ZVKF4HP.cjs.map +0 -1
- package/dist/chunk-436FFEF6.js +0 -34
- package/dist/chunk-436FFEF6.js.map +0 -1
- package/dist/chunk-4CDL2QJT.js.map +0 -1
- package/dist/chunk-7AHYOMHJ.js +0 -149
- package/dist/chunk-7AHYOMHJ.js.map +0 -1
- package/dist/chunk-CB575O6L.cjs.map +0 -1
- package/dist/chunk-CD56CXVE.cjs.map +0 -1
- package/dist/chunk-CINNK34N.js.map +0 -1
- package/dist/chunk-DNEURYF3.cjs.map +0 -1
- package/dist/chunk-DSNPWVIG.cjs.map +0 -1
- package/dist/chunk-E7K4FTLN.cjs.map +0 -1
- package/dist/chunk-ECFXGXWO.cjs.map +0 -1
- package/dist/chunk-ET6UOTTU.cjs +0 -154
- package/dist/chunk-ET6UOTTU.cjs.map +0 -1
- package/dist/chunk-GGYKYORQ.cjs.map +0 -1
- package/dist/chunk-GRBGQ2GE.js.map +0 -1
- package/dist/chunk-H6CZGPZD.js.map +0 -1
- package/dist/chunk-HDJFSJCK.js +0 -2237
- package/dist/chunk-HDJFSJCK.js.map +0 -1
- package/dist/chunk-HGNRQ3OG.js +0 -58
- package/dist/chunk-HGNRQ3OG.js.map +0 -1
- package/dist/chunk-I4CXL4SR.js.map +0 -1
- package/dist/chunk-IQO7ANVS.cjs.map +0 -1
- package/dist/chunk-J7O6WENZ.cjs.map +0 -1
- package/dist/chunk-JPGVRWWL.js.map +0 -1
- package/dist/chunk-JUBFO5J3.js.map +0 -1
- package/dist/chunk-JV2KH24V.js.map +0 -1
- package/dist/chunk-KIZIOFZC.js.map +0 -1
- package/dist/chunk-KJ2SW6VA.js.map +0 -1
- package/dist/chunk-LJFJTTZQ.cjs +0 -4
- package/dist/chunk-LJFJTTZQ.cjs.map +0 -1
- package/dist/chunk-LRSB62Z6.cjs +0 -60
- package/dist/chunk-LRSB62Z6.cjs.map +0 -1
- package/dist/chunk-LWBQ4P4N.cjs +0 -2240
- package/dist/chunk-LWBQ4P4N.cjs.map +0 -1
- package/dist/chunk-MA7TEM62.cjs.map +0 -1
- package/dist/chunk-MSWTA73A.cjs.map +0 -1
- package/dist/chunk-MV7KHWUT.js.map +0 -1
- package/dist/chunk-QUKUN6NR.cjs.map +0 -1
- package/dist/chunk-TQTAMPSC.js.map +0 -1
- package/dist/chunk-UIZSWUKP.js.map +0 -1
- package/dist/chunk-V3VLOOSW.cjs +0 -36
- package/dist/chunk-V3VLOOSW.cjs.map +0 -1
- package/dist/chunk-VOQ3ULMT.js.map +0 -1
- package/dist/chunk-VOY2RXOC.cjs.map +0 -1
- package/dist/chunk-W7UH2PWL.js.map +0 -1
- package/dist/chunk-WM6CK2F3.cjs.map +0 -1
- package/dist/chunk-XEVG546F.js.map +0 -1
- package/dist/chunk-Y63IFHEZ.cjs.map +0 -1
- package/dist/chunk-ZV5CC35D.js +0 -3
- package/dist/chunk-ZV5CC35D.js.map +0 -1
- package/dist/models-dev-DNBKXHT4.js +0 -3
- package/dist/models-dev-YBEEQIX6.cjs +0 -12
- package/dist/netlify-7G2L5VSH.js +0 -3
- package/dist/netlify-GWNGSIRZ.cjs +0 -12
- package/dist/registry-generator-H4YNODDH.js.map +0 -1
- package/dist/registry-generator-MK63POJO.cjs.map +0 -1
package/dist/tts/index.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkDGV2FWB4_cjs = require('../chunk-DGV2FWB4.cjs');
|
|
4
4
|
|
|
5
5
|
// src/tts/index.ts
|
|
6
|
-
var MastraTTS = class extends
|
|
6
|
+
var MastraTTS = class extends chunkDGV2FWB4_cjs.MastraBase {
|
|
7
7
|
model;
|
|
8
8
|
constructor({ model }) {
|
|
9
9
|
super({
|
package/dist/tts/index.js
CHANGED
|
@@ -15,9 +15,22 @@ export type ZodLikeSchema = {
|
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
|
-
* Helper type for extracting the inferred type from a Zod-like schema
|
|
18
|
+
* Helper type for extracting the inferred type from a Zod-like schema after parsing
|
|
19
19
|
*/
|
|
20
20
|
export type InferZodLikeSchema<T> = T extends {
|
|
21
21
|
parse: (data: unknown) => infer U;
|
|
22
22
|
} ? U : any;
|
|
23
|
+
/**
|
|
24
|
+
* Helper type for extracting the input type from a Zod-like schema.
|
|
25
|
+
* This is useful for schemas with transforms where the input type differs from the output type.
|
|
26
|
+
*
|
|
27
|
+
* For schemas with transforms:
|
|
28
|
+
* - InferZodLikeSchemaInput<T> gives the type before transformation
|
|
29
|
+
* - InferZodLikeSchema<T> gives the type after transformation
|
|
30
|
+
*/
|
|
31
|
+
export type InferZodLikeSchemaInput<T> = T extends {
|
|
32
|
+
_input: infer U;
|
|
33
|
+
} ? U : T extends {
|
|
34
|
+
parse: (data: unknown) => infer U;
|
|
35
|
+
} ? U : any;
|
|
23
36
|
//# sourceMappingURL=zod-compat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-compat.d.ts","sourceRoot":"","sources":["../../src/types/zod-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAG,CAAC;IAC9B,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CAC7E,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,GAAG,CAAC"}
|
|
1
|
+
{"version":3,"file":"zod-compat.d.ts","sourceRoot":"","sources":["../../src/types/zod-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAG,CAAC;IAC9B,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CAC7E,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,GAAG,CAAC;AAE9F;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAClE,CAAC,GACD,CAAC,SAAS;IAAE,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC,CAAA;CAAE,GAC7C,CAAC,GACD,GAAG,CAAC"}
|
package/dist/utils.cjs
CHANGED
|
@@ -1,88 +1,92 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkPG5H6QIO_cjs = require('./chunk-PG5H6QIO.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "checkEvalStorageFields", {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunkPG5H6QIO_cjs.checkEvalStorageFields; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, "createMastraProxy", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkPG5H6QIO_cjs.createMastraProxy; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "deepMerge", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkPG5H6QIO_cjs.deepMerge; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "delay", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkPG5H6QIO_cjs.delay; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "ensureToolProperties", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkPG5H6QIO_cjs.ensureToolProperties; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "fetchWithRetry", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkPG5H6QIO_cjs.fetchWithRetry; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "generateEmptyFromSchema", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunkPG5H6QIO_cjs.generateEmptyFromSchema; }
|
|
34
34
|
});
|
|
35
35
|
Object.defineProperty(exports, "getNestedValue", {
|
|
36
36
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunkPG5H6QIO_cjs.getNestedValue; }
|
|
38
38
|
});
|
|
39
39
|
Object.defineProperty(exports, "isCoreMessage", {
|
|
40
40
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkPG5H6QIO_cjs.isCoreMessage; }
|
|
42
42
|
});
|
|
43
43
|
Object.defineProperty(exports, "isUiMessage", {
|
|
44
44
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunkPG5H6QIO_cjs.isUiMessage; }
|
|
46
46
|
});
|
|
47
47
|
Object.defineProperty(exports, "isZodType", {
|
|
48
48
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunkPG5H6QIO_cjs.isZodType; }
|
|
50
50
|
});
|
|
51
51
|
Object.defineProperty(exports, "makeCoreTool", {
|
|
52
52
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunkPG5H6QIO_cjs.makeCoreTool; }
|
|
54
54
|
});
|
|
55
55
|
Object.defineProperty(exports, "makeCoreToolV5", {
|
|
56
56
|
enumerable: true,
|
|
57
|
-
get: function () { return
|
|
57
|
+
get: function () { return chunkPG5H6QIO_cjs.makeCoreToolV5; }
|
|
58
58
|
});
|
|
59
59
|
Object.defineProperty(exports, "maskStreamTags", {
|
|
60
60
|
enumerable: true,
|
|
61
|
-
get: function () { return
|
|
61
|
+
get: function () { return chunkPG5H6QIO_cjs.maskStreamTags; }
|
|
62
62
|
});
|
|
63
63
|
Object.defineProperty(exports, "omitKeys", {
|
|
64
64
|
enumerable: true,
|
|
65
|
-
get: function () { return
|
|
65
|
+
get: function () { return chunkPG5H6QIO_cjs.omitKeys; }
|
|
66
66
|
});
|
|
67
67
|
Object.defineProperty(exports, "parseFieldKey", {
|
|
68
68
|
enumerable: true,
|
|
69
|
-
get: function () { return
|
|
69
|
+
get: function () { return chunkPG5H6QIO_cjs.parseFieldKey; }
|
|
70
70
|
});
|
|
71
71
|
Object.defineProperty(exports, "parseSqlIdentifier", {
|
|
72
72
|
enumerable: true,
|
|
73
|
-
get: function () { return
|
|
73
|
+
get: function () { return chunkPG5H6QIO_cjs.parseSqlIdentifier; }
|
|
74
|
+
});
|
|
75
|
+
Object.defineProperty(exports, "removeUndefinedValues", {
|
|
76
|
+
enumerable: true,
|
|
77
|
+
get: function () { return chunkPG5H6QIO_cjs.removeUndefinedValues; }
|
|
74
78
|
});
|
|
75
79
|
Object.defineProperty(exports, "resolveSerializedZodOutput", {
|
|
76
80
|
enumerable: true,
|
|
77
|
-
get: function () { return
|
|
81
|
+
get: function () { return chunkPG5H6QIO_cjs.resolveSerializedZodOutput; }
|
|
78
82
|
});
|
|
79
83
|
Object.defineProperty(exports, "selectFields", {
|
|
80
84
|
enumerable: true,
|
|
81
|
-
get: function () { return
|
|
85
|
+
get: function () { return chunkPG5H6QIO_cjs.selectFields; }
|
|
82
86
|
});
|
|
83
87
|
Object.defineProperty(exports, "setNestedValue", {
|
|
84
88
|
enumerable: true,
|
|
85
|
-
get: function () { return
|
|
89
|
+
get: function () { return chunkPG5H6QIO_cjs.setNestedValue; }
|
|
86
90
|
});
|
|
87
91
|
//# sourceMappingURL=utils.cjs.map
|
|
88
92
|
//# sourceMappingURL=utils.cjs.map
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { WritableStream } from 'stream/web';
|
|
2
1
|
import type { CoreMessage } from 'ai-sdk.types.d.ts';
|
|
3
2
|
import { z } from 'zod';
|
|
4
3
|
import type { MastraPrimitives } from './action/index.js';
|
|
@@ -9,9 +8,9 @@ import type { Mastra } from './mastra/index.js';
|
|
|
9
8
|
import type { AiMessageType, MastraMemory } from './memory/index.js';
|
|
10
9
|
import type { TracingContext, TracingPolicy } from './observability/index.js';
|
|
11
10
|
import type { RequestContext } from './request-context/index.js';
|
|
12
|
-
import type { ChunkType } from './stream/types.js';
|
|
13
11
|
import type { CoreTool, VercelToolV5 } from './tools/index.js';
|
|
14
12
|
import type { ToolToConvert } from './tools/tool-builder/builder.js';
|
|
13
|
+
import type { OutputWriter } from './workflows/types.js';
|
|
15
14
|
export declare const delay: (ms: number) => Promise<unknown>;
|
|
16
15
|
/**
|
|
17
16
|
* Deep merges two objects, recursively merging nested objects and arrays
|
|
@@ -56,7 +55,10 @@ export interface ToolOptions {
|
|
|
56
55
|
memory?: MastraMemory;
|
|
57
56
|
agentName?: string;
|
|
58
57
|
model?: MastraLanguageModel;
|
|
59
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Optional async writer used to stream tool output chunks back to the caller. Tools should treat this as fire-and-forget I/O.
|
|
60
|
+
*/
|
|
61
|
+
outputWriter?: OutputWriter;
|
|
60
62
|
requireApproval?: boolean;
|
|
61
63
|
workflow?: any;
|
|
62
64
|
workflowId?: string;
|
|
@@ -93,7 +95,7 @@ export declare function makeCoreToolV5(originalTool: ToolToConvert, options: Too
|
|
|
93
95
|
export declare function createMastraProxy({ mastra, logger }: {
|
|
94
96
|
mastra: Mastra;
|
|
95
97
|
logger: IMastraLogger;
|
|
96
|
-
}): Mastra<Record<string, import("./agent").Agent<any, ToolsInput>>, Record<string, import("./workflows").Workflow<any, any, any, any, any, any, any>>, Record<string, import("./vector").MastraVector<
|
|
98
|
+
}): Mastra<Record<string, import("./agent").Agent<any, ToolsInput>>, Record<string, import("./workflows").Workflow<any, any, any, any, any, any, any>>, Record<string, import("./vector").MastraVector<any>>, Record<string, import("./tts").MastraTTS>, IMastraLogger, Record<string, import("./mcp").MCPServerBase<any>>, Record<string, import("./evals").MastraScorer<any, any, any, any>>, Record<string, import("./tools").ToolAction<any, any, any, any, any, any>>, Record<string, import("./processors").Processor<any, unknown>>, Record<string, MastraMemory>>;
|
|
97
99
|
export declare function checkEvalStorageFields(traceObject: any, logger?: IMastraLogger): boolean;
|
|
98
100
|
export declare function isUiMessage(message: CoreMessage | AiMessageType): message is AiMessageType;
|
|
99
101
|
export declare function isCoreMessage(message: CoreMessage | AiMessageType): message is CoreMessage;
|
|
@@ -177,5 +179,8 @@ export declare function getNestedValue(obj: any, path: string): any;
|
|
|
177
179
|
* @param value - Value to set
|
|
178
180
|
*/
|
|
179
181
|
export declare function setNestedValue(obj: any, path: string, value: any): void;
|
|
182
|
+
export declare const removeUndefinedValues: (obj: Record<string, any>) => {
|
|
183
|
+
[k: string]: any;
|
|
184
|
+
};
|
|
180
185
|
export {};
|
|
181
186
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { checkEvalStorageFields, createMastraProxy, deepMerge, delay, ensureToolProperties, fetchWithRetry, generateEmptyFromSchema, getNestedValue, isCoreMessage, isUiMessage, isZodType, makeCoreTool, makeCoreToolV5, maskStreamTags, omitKeys, parseFieldKey, parseSqlIdentifier, resolveSerializedZodOutput, selectFields, setNestedValue } from './chunk-
|
|
1
|
+
export { checkEvalStorageFields, createMastraProxy, deepMerge, delay, ensureToolProperties, fetchWithRetry, generateEmptyFromSchema, getNestedValue, isCoreMessage, isUiMessage, isZodType, makeCoreTool, makeCoreToolV5, maskStreamTags, omitKeys, parseFieldKey, parseSqlIdentifier, removeUndefinedValues, resolveSerializedZodOutput, selectFields, setNestedValue } from './chunk-IVV5TOMD.js';
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
3
3
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,194 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
var BaseFilterTranslator = class _BaseFilterTranslator {
|
|
5
|
-
/**
|
|
6
|
-
* Operator type checks
|
|
7
|
-
*/
|
|
8
|
-
isOperator(key) {
|
|
9
|
-
return key.startsWith("$");
|
|
10
|
-
}
|
|
11
|
-
static BASIC_OPERATORS = ["$eq", "$ne"];
|
|
12
|
-
static NUMERIC_OPERATORS = ["$gt", "$gte", "$lt", "$lte"];
|
|
13
|
-
static ARRAY_OPERATORS = ["$in", "$nin", "$all", "$elemMatch"];
|
|
14
|
-
static LOGICAL_OPERATORS = ["$and", "$or", "$not", "$nor"];
|
|
15
|
-
static ELEMENT_OPERATORS = ["$exists"];
|
|
16
|
-
static REGEX_OPERATORS = ["$regex", "$options"];
|
|
17
|
-
static DEFAULT_OPERATORS = {
|
|
18
|
-
logical: _BaseFilterTranslator.LOGICAL_OPERATORS,
|
|
19
|
-
basic: _BaseFilterTranslator.BASIC_OPERATORS,
|
|
20
|
-
numeric: _BaseFilterTranslator.NUMERIC_OPERATORS,
|
|
21
|
-
array: _BaseFilterTranslator.ARRAY_OPERATORS,
|
|
22
|
-
element: _BaseFilterTranslator.ELEMENT_OPERATORS,
|
|
23
|
-
regex: _BaseFilterTranslator.REGEX_OPERATORS
|
|
24
|
-
};
|
|
25
|
-
isLogicalOperator(key) {
|
|
26
|
-
return _BaseFilterTranslator.DEFAULT_OPERATORS.logical.includes(key);
|
|
27
|
-
}
|
|
28
|
-
isBasicOperator(key) {
|
|
29
|
-
return _BaseFilterTranslator.DEFAULT_OPERATORS.basic.includes(key);
|
|
30
|
-
}
|
|
31
|
-
isNumericOperator(key) {
|
|
32
|
-
return _BaseFilterTranslator.DEFAULT_OPERATORS.numeric.includes(key);
|
|
33
|
-
}
|
|
34
|
-
isArrayOperator(key) {
|
|
35
|
-
return _BaseFilterTranslator.DEFAULT_OPERATORS.array.includes(key);
|
|
36
|
-
}
|
|
37
|
-
isElementOperator(key) {
|
|
38
|
-
return _BaseFilterTranslator.DEFAULT_OPERATORS.element.includes(key);
|
|
39
|
-
}
|
|
40
|
-
isRegexOperator(key) {
|
|
41
|
-
return _BaseFilterTranslator.DEFAULT_OPERATORS.regex.includes(key);
|
|
42
|
-
}
|
|
43
|
-
isFieldOperator(key) {
|
|
44
|
-
return this.isOperator(key) && !this.isLogicalOperator(key);
|
|
45
|
-
}
|
|
46
|
-
isCustomOperator(key) {
|
|
47
|
-
const support = this.getSupportedOperators();
|
|
48
|
-
return support.custom?.includes(key) ?? false;
|
|
49
|
-
}
|
|
50
|
-
getSupportedOperators() {
|
|
51
|
-
return _BaseFilterTranslator.DEFAULT_OPERATORS;
|
|
52
|
-
}
|
|
53
|
-
isValidOperator(key) {
|
|
54
|
-
const support = this.getSupportedOperators();
|
|
55
|
-
const allSupported = Object.values(support).flat();
|
|
56
|
-
return allSupported.includes(key);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Value normalization for comparison operators
|
|
60
|
-
*/
|
|
61
|
-
normalizeComparisonValue(value) {
|
|
62
|
-
if (value instanceof Date) {
|
|
63
|
-
return value.toISOString();
|
|
64
|
-
}
|
|
65
|
-
if (typeof value === "number" && Object.is(value, -0)) {
|
|
66
|
-
return 0;
|
|
67
|
-
}
|
|
68
|
-
return value;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Helper method to simulate $all operator using $and + $eq when needed.
|
|
72
|
-
* Some vector stores don't support $all natively.
|
|
73
|
-
*/
|
|
74
|
-
simulateAllOperator(field, values) {
|
|
75
|
-
return {
|
|
76
|
-
$and: values.map((value) => ({
|
|
77
|
-
[field]: { $in: [this.normalizeComparisonValue(value)] }
|
|
78
|
-
}))
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Utility functions for type checking
|
|
83
|
-
*/
|
|
84
|
-
isPrimitive(value) {
|
|
85
|
-
return value === null || value === void 0 || typeof value === "string" || typeof value === "number" || typeof value === "boolean";
|
|
86
|
-
}
|
|
87
|
-
isRegex(value) {
|
|
88
|
-
return value instanceof RegExp;
|
|
89
|
-
}
|
|
90
|
-
isEmpty(obj) {
|
|
91
|
-
return obj === null || obj === void 0 || typeof obj === "object" && Object.keys(obj).length === 0;
|
|
92
|
-
}
|
|
93
|
-
static ErrorMessages = {
|
|
94
|
-
UNSUPPORTED_OPERATOR: (op) => `Unsupported operator: ${op}`,
|
|
95
|
-
INVALID_LOGICAL_OPERATOR_LOCATION: (op, path) => `Logical operator ${op} cannot be used at field level: ${path}`,
|
|
96
|
-
NOT_REQUIRES_OBJECT: `$not operator requires an object`,
|
|
97
|
-
NOT_CANNOT_BE_EMPTY: `$not operator cannot be empty`,
|
|
98
|
-
INVALID_LOGICAL_OPERATOR_CONTENT: (path) => `Logical operators must contain field conditions, not direct operators: ${path}`,
|
|
99
|
-
INVALID_TOP_LEVEL_OPERATOR: (op) => `Invalid top-level operator: ${op}`,
|
|
100
|
-
ELEM_MATCH_REQUIRES_OBJECT: `$elemMatch requires an object with conditions`
|
|
101
|
-
};
|
|
102
|
-
/**
|
|
103
|
-
* Helper to handle array value normalization consistently
|
|
104
|
-
*/
|
|
105
|
-
normalizeArrayValues(values) {
|
|
106
|
-
return values.map((value) => this.normalizeComparisonValue(value));
|
|
107
|
-
}
|
|
108
|
-
validateFilter(filter) {
|
|
109
|
-
const validation = this.validateFilterSupport(filter);
|
|
110
|
-
if (!validation.supported) {
|
|
111
|
-
throw new Error(validation.messages.join(", "));
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Validates if a filter structure is supported by the specific vector DB
|
|
116
|
-
* and returns detailed validation information.
|
|
117
|
-
*/
|
|
118
|
-
validateFilterSupport(node, path = "") {
|
|
119
|
-
const messages = [];
|
|
120
|
-
if (this.isPrimitive(node) || this.isEmpty(node)) {
|
|
121
|
-
return { supported: true, messages: [] };
|
|
122
|
-
}
|
|
123
|
-
if (Array.isArray(node)) {
|
|
124
|
-
const arrayResults = node.map((item) => this.validateFilterSupport(item, path));
|
|
125
|
-
const arrayMessages = arrayResults.flatMap((r) => r.messages);
|
|
126
|
-
return {
|
|
127
|
-
supported: arrayResults.every((r) => r.supported),
|
|
128
|
-
messages: arrayMessages
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
const nodeObj = node;
|
|
132
|
-
let isSupported = true;
|
|
133
|
-
for (const [key, value] of Object.entries(nodeObj)) {
|
|
134
|
-
const newPath = path ? `${path}.${key}` : key;
|
|
135
|
-
if (this.isOperator(key)) {
|
|
136
|
-
if (!this.isValidOperator(key)) {
|
|
137
|
-
isSupported = false;
|
|
138
|
-
messages.push(_BaseFilterTranslator.ErrorMessages.UNSUPPORTED_OPERATOR(key));
|
|
139
|
-
continue;
|
|
140
|
-
}
|
|
141
|
-
if (!path && !this.isLogicalOperator(key)) {
|
|
142
|
-
isSupported = false;
|
|
143
|
-
messages.push(_BaseFilterTranslator.ErrorMessages.INVALID_TOP_LEVEL_OPERATOR(key));
|
|
144
|
-
continue;
|
|
145
|
-
}
|
|
146
|
-
if (key === "$elemMatch" && (typeof value !== "object" || Array.isArray(value))) {
|
|
147
|
-
isSupported = false;
|
|
148
|
-
messages.push(_BaseFilterTranslator.ErrorMessages.ELEM_MATCH_REQUIRES_OBJECT);
|
|
149
|
-
continue;
|
|
150
|
-
}
|
|
151
|
-
if (this.isLogicalOperator(key)) {
|
|
152
|
-
if (key === "$not") {
|
|
153
|
-
if (Array.isArray(value) || typeof value !== "object") {
|
|
154
|
-
isSupported = false;
|
|
155
|
-
messages.push(_BaseFilterTranslator.ErrorMessages.NOT_REQUIRES_OBJECT);
|
|
156
|
-
continue;
|
|
157
|
-
}
|
|
158
|
-
if (this.isEmpty(value)) {
|
|
159
|
-
isSupported = false;
|
|
160
|
-
messages.push(_BaseFilterTranslator.ErrorMessages.NOT_CANNOT_BE_EMPTY);
|
|
161
|
-
continue;
|
|
162
|
-
}
|
|
163
|
-
continue;
|
|
164
|
-
}
|
|
165
|
-
if (path && !this.isLogicalOperator(path.split(".").pop())) {
|
|
166
|
-
isSupported = false;
|
|
167
|
-
messages.push(_BaseFilterTranslator.ErrorMessages.INVALID_LOGICAL_OPERATOR_LOCATION(key, newPath));
|
|
168
|
-
continue;
|
|
169
|
-
}
|
|
170
|
-
if (Array.isArray(value)) {
|
|
171
|
-
const hasDirectOperators = value.some(
|
|
172
|
-
(item) => typeof item === "object" && Object.keys(item).length === 1 && this.isFieldOperator(Object.keys(item)[0])
|
|
173
|
-
);
|
|
174
|
-
if (hasDirectOperators) {
|
|
175
|
-
isSupported = false;
|
|
176
|
-
messages.push(_BaseFilterTranslator.ErrorMessages.INVALID_LOGICAL_OPERATOR_CONTENT(newPath));
|
|
177
|
-
continue;
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
const nestedValidation = this.validateFilterSupport(value, newPath);
|
|
183
|
-
if (!nestedValidation.supported) {
|
|
184
|
-
isSupported = false;
|
|
185
|
-
messages.push(...nestedValidation.messages);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
return { supported: isSupported, messages };
|
|
189
|
-
}
|
|
190
|
-
};
|
|
3
|
+
var chunk6XCINXZ7_cjs = require('../../chunk-6XCINXZ7.cjs');
|
|
191
4
|
|
|
192
|
-
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "BaseFilterTranslator", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () { return chunk6XCINXZ7_cjs.BaseFilterTranslator; }
|
|
10
|
+
});
|
|
193
11
|
//# sourceMappingURL=index.cjs.map
|
|
194
12
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vector/filter/base.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["type BasicOperator =\n | '$eq' // Matches values equal to specified value\n | '$ne'; // Matches values not equal\n\ntype NumericOperator =\n | '$gt' // Greater than\n | '$gte' // Greater than or equal\n | '$lt' // Less than\n | '$lte'; // Less than or equal\n\ntype LogicalOperator =\n | '$and' // Joins query clauses with logical AND\n | '$not' // Inverts the effect of a query expression\n | '$nor' // Joins query clauses with logical NOR\n | '$or'; // Joins query clauses with logical OR\n\ntype ArrayOperator =\n | '$all' // Matches arrays containing all elements\n | '$in' // Matches any value in array\n | '$nin' // Matches none of the values in array\n | '$elemMatch'; // Matches documents that contain an array field with at least one element that matches all the specified query criteria\n\ntype ElementOperator = '$exists'; // Matches documents that have the specified field\n\ntype RegexOperator = '$regex' | '$options'; // Matches documents that have the specified field\n\n// Union of all supported operators\ntype QueryOperator =\n | BasicOperator\n | NumericOperator\n | LogicalOperator\n | ArrayOperator\n | ElementOperator\n | RegexOperator;\n\ntype EmptyObject = Record<string, never>;\n\ntype FilterValue = string | number | boolean | Date | null | undefined | EmptyObject;\n\n// Logical operators are handled at the top level as objects, not as values here\n// $and, $or, $nor, $not are handled in LogicalCondition\ntype OperatorValueMap<Op extends string = string, ValueMap extends Record<string, any> = any> = {\n $eq: FilterValue;\n $ne: FilterValue;\n $gt: number | string | Date;\n $gte: number | string | Date;\n $lt: number | string | Date;\n $lte: number | string | Date;\n $all: FilterValue[];\n $in: FilterValue[];\n $nin: FilterValue[];\n $elemMatch: Record<string, unknown>;\n $exists: boolean;\n $regex: string | RegExp;\n $options: string;\n $not: OperatorCondition<Op, ValueMap> | RegExp;\n};\n\ntype LogicalOperatorValueMap = {\n $and: 'array';\n $or: 'array';\n $nor: 'array';\n $not: 'object';\n};\n\ntype BlacklistedRootOperators =\n | '$eq'\n | '$ne'\n | '$gt'\n | '$gte'\n | '$lt'\n | '$lte'\n | '$in'\n | '$nin'\n | '$all'\n | '$exists'\n | '$regex'\n | '$options'\n | '$elemMatch';\n\ntype VectorFieldValue = FilterValue | FilterValue[];\n\n// Vector filter parameterized by operator set\ntype VectorFilter<\n Op extends keyof ValueMap = keyof OperatorValueMap,\n ValueMap extends Record<string, any> = OperatorValueMap,\n LogicalValueMap extends Record<string, any> = LogicalOperatorValueMap,\n Blacklisted extends string = BlacklistedRootOperators,\n FieldValue = VectorFieldValue,\n> = FilterCondition<Op, ValueMap, LogicalValueMap, Blacklisted, FieldValue> | null | undefined;\n\ntype FilterCondition<\n Op extends keyof ValueMap = keyof OperatorValueMap,\n ValueMap extends Record<string, any> = OperatorValueMap,\n LogicalValueMap extends Record<string, any> = LogicalOperatorValueMap,\n Blacklisted extends string = BlacklistedRootOperators,\n FieldValue = VectorFieldValue,\n> = (FieldCondition<Op, ValueMap, FieldValue> | LogicalCondition<Op, ValueMap, LogicalValueMap>) &\n ForbiddenRootOperators<Blacklisted>;\n\n// Field condition can be a value or an operator condition\ntype FieldCondition<\n Op extends keyof ValueMap = keyof OperatorValueMap,\n ValueMap extends Record<string, any> = OperatorValueMap,\n FieldValue = VectorFieldValue,\n> = {\n [field: string]: OperatorCondition<Op, ValueMap> | FieldValue;\n};\n\ntype ForbiddenRootOperators<Blacklisted extends string> = {\n [K in Blacklisted]?: never;\n};\n\n// Logical conditions\ntype LogicalCondition<\n Op extends keyof ValueMap = keyof OperatorValueMap,\n ValueMap extends Record<string, any> = OperatorValueMap,\n LogicalValueMap extends Record<string, any> = LogicalOperatorValueMap,\n> = {\n [K in keyof LogicalValueMap]: LogicalValueMap[K] extends 'array'\n ? {\n [P in K]: Array<LogicalBranch<Op, ValueMap, LogicalValueMap>>;\n }\n : {\n [P in K]: LogicalBranch<Op, ValueMap, LogicalValueMap>;\n };\n}[keyof LogicalValueMap];\n\ntype LogicalBranch<\n Op extends keyof ValueMap = keyof OperatorValueMap,\n ValueMap extends Record<string, any> = OperatorValueMap,\n LogicalValueMap extends Record<string, any> = LogicalOperatorValueMap,\n> = FieldCondition<Op, ValueMap> | LogicalCondition<Op, ValueMap, LogicalValueMap>;\n\n// Base operator condition, parameterized by operator set\ntype OperatorCondition<\n Op extends keyof ValueMap = keyof OperatorValueMap,\n ValueMap extends Record<string, any> = OperatorValueMap,\n> = {\n [K in Exclude<Op, '$and' | '$or' | '$nor'>]?: ValueMap[K];\n};\n\ntype OperatorSupport = {\n logical?: LogicalOperator[];\n array?: ArrayOperator[];\n basic?: BasicOperator[];\n numeric?: NumericOperator[];\n element?: ElementOperator[];\n regex?: RegexOperator[];\n custom?: string[];\n};\n\n// Base abstract class for filter translators\nabstract class BaseFilterTranslator<Filter = VectorFilter, Result = Filter> {\n abstract translate(filter: Filter): Result;\n\n /**\n * Operator type checks\n */\n protected isOperator(key: string): key is QueryOperator {\n return key.startsWith('$');\n }\n\n protected static readonly BASIC_OPERATORS: BasicOperator[] = ['$eq', '$ne'];\n protected static readonly NUMERIC_OPERATORS: NumericOperator[] = ['$gt', '$gte', '$lt', '$lte'];\n protected static readonly ARRAY_OPERATORS: ArrayOperator[] = ['$in', '$nin', '$all', '$elemMatch'];\n protected static readonly LOGICAL_OPERATORS: LogicalOperator[] = ['$and', '$or', '$not', '$nor'];\n protected static readonly ELEMENT_OPERATORS: ElementOperator[] = ['$exists'];\n protected static readonly REGEX_OPERATORS: RegexOperator[] = ['$regex', '$options'];\n\n public static readonly DEFAULT_OPERATORS = {\n logical: BaseFilterTranslator.LOGICAL_OPERATORS,\n basic: BaseFilterTranslator.BASIC_OPERATORS,\n numeric: BaseFilterTranslator.NUMERIC_OPERATORS,\n array: BaseFilterTranslator.ARRAY_OPERATORS,\n element: BaseFilterTranslator.ELEMENT_OPERATORS,\n regex: BaseFilterTranslator.REGEX_OPERATORS,\n };\n\n protected isLogicalOperator(key: string): key is LogicalOperator {\n return BaseFilterTranslator.DEFAULT_OPERATORS.logical.includes(key as LogicalOperator);\n }\n\n protected isBasicOperator(key: string): key is BasicOperator {\n return BaseFilterTranslator.DEFAULT_OPERATORS.basic.includes(key as BasicOperator);\n }\n\n protected isNumericOperator(key: string): key is NumericOperator {\n return BaseFilterTranslator.DEFAULT_OPERATORS.numeric.includes(key as NumericOperator);\n }\n\n protected isArrayOperator(key: string): key is ArrayOperator {\n return BaseFilterTranslator.DEFAULT_OPERATORS.array.includes(key as ArrayOperator);\n }\n\n protected isElementOperator(key: string): key is ElementOperator {\n return BaseFilterTranslator.DEFAULT_OPERATORS.element.includes(key as ElementOperator);\n }\n\n protected isRegexOperator(key: string): key is RegexOperator {\n return BaseFilterTranslator.DEFAULT_OPERATORS.regex.includes(key as RegexOperator);\n }\n\n protected isFieldOperator(key: string): key is QueryOperator {\n return this.isOperator(key) && !this.isLogicalOperator(key);\n }\n\n protected isCustomOperator(key: string): boolean {\n const support = this.getSupportedOperators();\n return support.custom?.includes(key) ?? false;\n }\n\n protected getSupportedOperators(): OperatorSupport {\n return BaseFilterTranslator.DEFAULT_OPERATORS;\n }\n\n protected isValidOperator(key: string): boolean {\n const support = this.getSupportedOperators();\n const allSupported = Object.values(support).flat();\n return allSupported.includes(key as QueryOperator);\n }\n\n /**\n * Value normalization for comparison operators\n */\n protected normalizeComparisonValue(value: any): any {\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n // Handle -0 case\n if (typeof value === 'number' && Object.is(value, -0)) {\n return 0;\n }\n return value;\n }\n\n /**\n * Helper method to simulate $all operator using $and + $eq when needed.\n * Some vector stores don't support $all natively.\n */\n protected simulateAllOperator(field: string, values: any[]): VectorFilter<keyof OperatorValueMap, OperatorValueMap> {\n return {\n $and: values.map(value => ({\n [field]: { $in: [this.normalizeComparisonValue(value)] },\n })),\n };\n }\n\n /**\n * Utility functions for type checking\n */\n protected isPrimitive(value: any): boolean {\n return (\n value === null ||\n value === undefined ||\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n );\n }\n\n protected isRegex(value: any): boolean {\n return value instanceof RegExp;\n }\n\n protected isEmpty(obj: any): boolean {\n return obj === null || obj === undefined || (typeof obj === 'object' && Object.keys(obj).length === 0);\n }\n\n protected static readonly ErrorMessages = {\n UNSUPPORTED_OPERATOR: (op: string) => `Unsupported operator: ${op}`,\n INVALID_LOGICAL_OPERATOR_LOCATION: (op: string, path: string) =>\n `Logical operator ${op} cannot be used at field level: ${path}`,\n NOT_REQUIRES_OBJECT: `$not operator requires an object`,\n NOT_CANNOT_BE_EMPTY: `$not operator cannot be empty`,\n INVALID_LOGICAL_OPERATOR_CONTENT: (path: string) =>\n `Logical operators must contain field conditions, not direct operators: ${path}`,\n INVALID_TOP_LEVEL_OPERATOR: (op: string) => `Invalid top-level operator: ${op}`,\n ELEM_MATCH_REQUIRES_OBJECT: `$elemMatch requires an object with conditions`,\n } as const;\n\n /**\n * Helper to handle array value normalization consistently\n */\n protected normalizeArrayValues(values: any[]): any[] {\n return values.map(value => this.normalizeComparisonValue(value));\n }\n\n protected validateFilter(filter: Filter): void {\n const validation = this.validateFilterSupport(filter);\n if (!validation.supported) {\n throw new Error(validation.messages.join(', '));\n }\n }\n\n /**\n * Validates if a filter structure is supported by the specific vector DB\n * and returns detailed validation information.\n */\n private validateFilterSupport(\n node: Filter,\n path: string = '',\n ): {\n supported: boolean;\n messages: string[];\n } {\n const messages: string[] = [];\n\n // Handle primitives and empty values\n if (this.isPrimitive(node) || this.isEmpty(node)) {\n return { supported: true, messages: [] };\n }\n\n // Handle arrays\n if (Array.isArray(node)) {\n const arrayResults = node.map(item => this.validateFilterSupport(item, path));\n const arrayMessages = arrayResults.flatMap(r => r.messages);\n return {\n supported: arrayResults.every(r => r.supported),\n messages: arrayMessages,\n };\n }\n\n // Process object entries\n const nodeObj = node as Record<string, any>;\n let isSupported = true;\n\n for (const [key, value] of Object.entries(nodeObj)) {\n const newPath = path ? `${path}.${key}` : key;\n // Check if the key is an operator\n if (this.isOperator(key)) {\n if (!this.isValidOperator(key)) {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.UNSUPPORTED_OPERATOR(key));\n continue;\n }\n\n // Add check for non-logical operators at top level\n if (!path && !this.isLogicalOperator(key)) {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.INVALID_TOP_LEVEL_OPERATOR(key));\n continue;\n }\n\n // In the translate method or wherever operators are handled\n if (key === '$elemMatch' && (typeof value !== 'object' || Array.isArray(value))) {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.ELEM_MATCH_REQUIRES_OBJECT);\n continue;\n }\n\n // Special validation for logical operators\n if (this.isLogicalOperator(key)) {\n if (key === '$not') {\n if (Array.isArray(value) || typeof value !== 'object') {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.NOT_REQUIRES_OBJECT);\n continue;\n }\n if (this.isEmpty(value)) {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.NOT_CANNOT_BE_EMPTY);\n continue;\n }\n // $not can be used at field level or top level\n continue;\n }\n // Other logical operators can only be at top level or nested in logical operators\n if (path && !this.isLogicalOperator(path.split('.').pop()!)) {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.INVALID_LOGICAL_OPERATOR_LOCATION(key, newPath));\n continue;\n }\n\n if (Array.isArray(value)) {\n const hasDirectOperators = value.some(\n item =>\n typeof item === 'object' &&\n Object.keys(item).length === 1 &&\n this.isFieldOperator(Object.keys(item)[0]!),\n );\n\n if (hasDirectOperators) {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.INVALID_LOGICAL_OPERATOR_CONTENT(newPath));\n continue;\n }\n }\n }\n }\n\n // Recursively validate nested value\n const nestedValidation = this.validateFilterSupport(value, newPath);\n if (!nestedValidation.supported) {\n isSupported = false;\n messages.push(...nestedValidation.messages);\n }\n }\n\n return { supported: isSupported, messages };\n }\n}\n\n// Export types and base class\nexport {\n type QueryOperator,\n type BasicOperator,\n type NumericOperator,\n type LogicalOperator,\n type ArrayOperator,\n type RegexOperator,\n type ElementOperator,\n type VectorFilter,\n type FilterValue,\n type VectorFieldValue,\n type FieldCondition,\n type OperatorCondition,\n type OperatorSupport,\n type OperatorValueMap,\n type LogicalOperatorValueMap,\n type BlacklistedRootOperators,\n BaseFilterTranslator,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs"}
|