@lssm/lib.contracts 1.11.0 → 1.41.0
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 +1 -1
- package/dist/_virtual/rolldown_runtime.js +1 -0
- package/dist/app-config/app-config.feature.js +1 -0
- package/dist/app-config/contracts.js +1 -2
- package/dist/app-config/docs/app-config.docblock.js +220 -0
- package/dist/app-config/events.js +1 -2
- package/dist/app-config/index.js +1 -1
- package/dist/app-config/lifecycle-contracts.js +1 -2
- package/dist/app-config/runtime.js +1 -2
- package/dist/app-config/spec.js +1 -2
- package/dist/app-config/validation.js +1 -2
- package/dist/capabilities/docs/capabilities.docblock.js +1 -0
- package/dist/capabilities/openbanking.js +1 -2
- package/dist/capabilities.js +1 -2
- package/dist/client/react/drivers/rn-reusables.js +1 -2
- package/dist/client/react/drivers/shadcn.js +1 -2
- package/dist/client/react/feature-render.js +1 -2
- package/dist/client/react/form-render.js +1 -2
- package/dist/contract-registry/index.js +1 -0
- package/dist/contract-registry/schemas.js +1 -0
- package/dist/contract-registry/types.js +0 -0
- package/dist/contracts-adapter-hydration.js +1 -2
- package/dist/contracts-adapter-input.js +1 -2
- package/dist/data-views/docs/data-views.docblock.js +1 -0
- package/dist/data-views/query-generator.js +1 -2
- package/dist/data-views/runtime.js +1 -2
- package/dist/data-views.js +1 -2
- package/dist/docs/PUBLISHING.docblock.js +76 -0
- package/dist/docs/accessibility_wcag_compliance_specs.docblock.js +350 -0
- package/dist/docs/index.js +1 -0
- package/dist/docs/meta.docs.js +13 -0
- package/dist/docs/presentations.js +1 -0
- package/dist/docs/registry.js +1 -0
- package/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +383 -0
- package/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +68 -0
- package/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +140 -0
- package/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +86 -0
- package/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +1 -0
- package/dist/docs/tech/auth/better-auth-nextjs.docblock.js +58 -0
- package/dist/docs/tech/contracts/README.docblock.js +1 -0
- package/dist/docs/tech/contracts/create-subscription.docblock.js +1 -0
- package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.js +180 -0
- package/dist/docs/tech/contracts/migrations.docblock.js +1 -0
- package/dist/docs/tech/contracts/openapi-export.docblock.js +38 -0
- package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.js +62 -0
- package/dist/docs/tech/contracts/overlays.docblock.js +68 -0
- package/dist/docs/tech/contracts/tests.docblock.js +132 -0
- package/dist/docs/tech/contracts/themes.docblock.js +1 -0
- package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.js +106 -0
- package/dist/docs/tech/lifecycle-stage-system.docblock.js +213 -0
- package/dist/docs/tech/llm/llm-integration.docblock.js +289 -0
- package/dist/docs/tech/mcp-endpoints.docblock.js +1 -0
- package/dist/docs/tech/presentation-runtime.docblock.js +1 -0
- package/dist/docs/tech/schema/README.docblock.js +262 -0
- package/dist/docs/tech/studio/learning-events.docblock.js +1 -0
- package/dist/docs/tech/studio/learning-journeys.docblock.js +57 -0
- package/dist/docs/tech/studio/platform-admin-panel.docblock.js +63 -0
- package/dist/docs/tech/studio/project-access-teams.docblock.js +36 -0
- package/dist/docs/tech/studio/project-routing.docblock.js +1 -0
- package/dist/docs/tech/studio/sandbox-unlogged.docblock.js +20 -0
- package/dist/docs/tech/studio/team-invitations.docblock.js +65 -0
- package/dist/docs/tech/studio/workspace-ops.docblock.js +1 -0
- package/dist/docs/tech/studio/workspaces.docblock.js +41 -0
- package/dist/docs/tech/telemetry-ingest.docblock.js +122 -0
- package/dist/docs/tech/templates/runtime.docblock.js +1 -0
- package/dist/docs/tech/vscode-extension.docblock.js +68 -0
- package/dist/docs/tech/workflows/overview.docblock.js +1 -0
- package/dist/docs/tech-contracts.docs.js +76 -0
- package/dist/docs/types.js +0 -0
- package/dist/events.js +1 -2
- package/dist/experiments/docs/experiments.docblock.js +128 -0
- package/dist/experiments/evaluator.js +1 -2
- package/dist/experiments/spec.js +1 -2
- package/dist/features.js +1 -2
- package/dist/forms/docs/forms.docblock.js +1 -0
- package/dist/forms.js +1 -2
- package/dist/index.js +1 -1
- package/dist/install.js +1 -2
- package/dist/integrations/contracts.js +1 -2
- package/dist/integrations/docs/integrations.docblock.js +1 -0
- package/dist/integrations/health.js +1 -2
- package/dist/integrations/index.js +1 -1
- package/dist/integrations/openbanking/contracts/accounts.js +1 -2
- package/dist/integrations/openbanking/contracts/balances.js +1 -2
- package/dist/integrations/openbanking/contracts/index.js +1 -2
- package/dist/integrations/openbanking/contracts/transactions.js +1 -2
- package/dist/integrations/openbanking/guards.js +1 -2
- package/dist/integrations/openbanking/models.js +1 -2
- package/dist/integrations/openbanking/openbanking.feature.js +1 -0
- package/dist/integrations/openbanking/telemetry.js +1 -2
- package/dist/integrations/providers/elevenlabs.js +1 -2
- package/dist/integrations/providers/gcs-storage.js +1 -2
- package/dist/integrations/providers/gmail.js +1 -2
- package/dist/integrations/providers/google-calendar.js +1 -2
- package/dist/integrations/providers/impls/elevenlabs-voice.js +1 -2
- package/dist/integrations/providers/impls/gcs-storage.js +1 -2
- package/dist/integrations/providers/impls/gmail-inbound.js +1 -2
- package/dist/integrations/providers/impls/gmail-outbound.js +1 -2
- package/dist/integrations/providers/impls/google-calendar.js +1 -2
- package/dist/integrations/providers/impls/index.js +1 -1
- package/dist/integrations/providers/impls/mistral-embedding.js +1 -2
- package/dist/integrations/providers/impls/mistral-llm.js +1 -2
- package/dist/integrations/providers/impls/postmark-email.js +1 -2
- package/dist/integrations/providers/impls/powens-client.js +1 -2
- package/dist/integrations/providers/impls/powens-openbanking.js +1 -2
- package/dist/integrations/providers/impls/provider-factory.js +1 -2
- package/dist/integrations/providers/impls/qdrant-vector.js +1 -2
- package/dist/integrations/providers/impls/stripe-payments.js +1 -2
- package/dist/integrations/providers/impls/twilio-sms.js +1 -2
- package/dist/integrations/providers/index.js +1 -1
- package/dist/integrations/providers/mistral.js +1 -2
- package/dist/integrations/providers/postmark.js +1 -2
- package/dist/integrations/providers/powens.js +1 -2
- package/dist/integrations/providers/qdrant.js +1 -2
- package/dist/integrations/providers/registry.js +1 -0
- package/dist/integrations/providers/stripe.js +1 -2
- package/dist/integrations/providers/twilio-sms.js +1 -2
- package/dist/integrations/runtime.js +1 -2
- package/dist/integrations/secrets/aws-secret-manager.js +1 -0
- package/dist/integrations/secrets/env-secret-provider.js +1 -2
- package/dist/integrations/secrets/gcp-secret-manager.js +1 -2
- package/dist/integrations/secrets/index.js +1 -1
- package/dist/integrations/secrets/manager.js +1 -2
- package/dist/integrations/secrets/provider.js +1 -2
- package/dist/integrations/secrets/scaleway-secret-manager.js +1 -0
- package/dist/integrations/spec.js +1 -2
- package/dist/jobs/define-job.js +1 -0
- package/dist/jobs/gcp-cloud-tasks.js +1 -2
- package/dist/jobs/gcp-pubsub.js +1 -2
- package/dist/jobs/handlers/gmail-sync-handler.js +1 -2
- package/dist/jobs/handlers/index.js +1 -1
- package/dist/jobs/handlers/ping-handler.js +1 -0
- package/dist/jobs/handlers/storage-document-handler.js +1 -2
- package/dist/jobs/index.js +1 -1
- package/dist/jobs/memory-queue.js +1 -2
- package/dist/jobs/queue.js +1 -0
- package/dist/jobs/scaleway-sqs-queue.js +1 -0
- package/dist/jsonschema.js +1 -2
- package/dist/knowledge/contracts.js +1 -2
- package/dist/knowledge/docs/knowledge.docblock.js +138 -0
- package/dist/knowledge/ingestion/document-processor.js +1 -2
- package/dist/knowledge/ingestion/embedding-service.js +1 -2
- package/dist/knowledge/ingestion/gmail-adapter.js +1 -2
- package/dist/knowledge/ingestion/storage-adapter.js +1 -2
- package/dist/knowledge/ingestion/vector-indexer.js +1 -2
- package/dist/knowledge/query/service.js +1 -2
- package/dist/knowledge/runtime.js +1 -2
- package/dist/knowledge/spaces/email-threads.js +1 -2
- package/dist/knowledge/spaces/financial-docs.js +1 -2
- package/dist/knowledge/spaces/financial-overview.js +1 -2
- package/dist/knowledge/spaces/product-canon.js +1 -2
- package/dist/knowledge/spaces/support-faq.js +1 -2
- package/dist/knowledge/spaces/uploaded-docs.js +1 -2
- package/dist/knowledge/spec.js +1 -2
- package/dist/llm/exporters.js +8 -0
- package/dist/llm/index.js +1 -0
- package/dist/llm/prompts.js +220 -0
- package/dist/llm/types.js +0 -0
- package/dist/markdown.js +1 -2
- package/dist/migrations.js +1 -2
- package/dist/node_modules/@pothos/plugin-complexity/esm/calculate-complexity.js +1 -0
- package/dist/node_modules/@pothos/plugin-complexity/esm/defaults.js +1 -0
- package/dist/node_modules/@pothos/plugin-complexity/esm/index.js +1 -0
- package/dist/node_modules/@pothos/plugin-complexity/esm/types.js +1 -0
- package/dist/node_modules/@pothos/plugin-complexity/esm/util.js +1 -0
- package/dist/node_modules/@pothos/plugin-complexity/esm/validator.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/field-builder.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/index.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/index.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/interface.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/node.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/object.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/union.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/schema-builder.js +1 -0
- package/dist/node_modules/@pothos/plugin-dataloader/esm/util.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/connection-helpers.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/field-builder.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/index.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/interface-ref.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/model-loader.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/node-ref.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/object-ref.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/prisma-field-builder.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/schema-builder.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/types.js +0 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/cursors.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/datamodel.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/deep-equal.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/description.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/get-client.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/loader-map.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/map-query.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/relation-map.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/selections.js +1 -0
- package/dist/node_modules/@pothos/plugin-prisma/esm/util/usage.js +1 -0
- package/dist/node_modules/@pothos/plugin-tracing/esm/index.js +1 -0
- package/dist/node_modules/@pothos/plugin-tracing/esm/util.js +1 -0
- package/dist/node_modules/dataloader/index.js +7 -0
- package/dist/node_modules/graphql/error/GraphQLError.js +5 -0
- package/dist/node_modules/graphql/error/index.js +1 -0
- package/dist/node_modules/graphql/error/locatedError.js +1 -0
- package/dist/node_modules/graphql/error/syntaxError.js +1 -0
- package/dist/node_modules/graphql/execution/collectFields.js +1 -0
- package/dist/node_modules/graphql/execution/execute.js +1 -0
- package/dist/node_modules/graphql/execution/index.js +1 -0
- package/dist/node_modules/graphql/execution/mapAsyncIterator.js +1 -0
- package/dist/node_modules/graphql/execution/subscribe.js +1 -0
- package/dist/node_modules/graphql/execution/values.js +1 -0
- package/dist/node_modules/graphql/graphql.js +1 -0
- package/dist/node_modules/graphql/index.js +1 -0
- package/dist/node_modules/graphql/jsutils/Path.js +1 -0
- package/dist/node_modules/graphql/jsutils/devAssert.js +1 -0
- package/dist/node_modules/graphql/jsutils/didYouMean.js +1 -0
- package/dist/node_modules/graphql/jsutils/groupBy.js +1 -0
- package/dist/node_modules/graphql/jsutils/identityFunc.js +1 -0
- package/dist/node_modules/graphql/jsutils/inspect.js +1 -0
- package/dist/node_modules/graphql/jsutils/instanceOf.js +12 -0
- package/dist/node_modules/graphql/jsutils/invariant.js +1 -0
- package/dist/node_modules/graphql/jsutils/isAsyncIterable.js +1 -0
- package/dist/node_modules/graphql/jsutils/isIterableObject.js +1 -0
- package/dist/node_modules/graphql/jsutils/isObjectLike.js +1 -0
- package/dist/node_modules/graphql/jsutils/isPromise.js +1 -0
- package/dist/node_modules/graphql/jsutils/keyMap.js +1 -0
- package/dist/node_modules/graphql/jsutils/keyValMap.js +1 -0
- package/dist/node_modules/graphql/jsutils/mapValue.js +1 -0
- package/dist/node_modules/graphql/jsutils/memoize3.js +1 -0
- package/dist/node_modules/graphql/jsutils/naturalCompare.js +1 -0
- package/dist/node_modules/graphql/jsutils/printPathArray.js +1 -0
- package/dist/node_modules/graphql/jsutils/promiseForObject.js +1 -0
- package/dist/node_modules/graphql/jsutils/promiseReduce.js +1 -0
- package/dist/node_modules/graphql/jsutils/suggestionList.js +1 -0
- package/dist/node_modules/graphql/jsutils/toError.js +1 -0
- package/dist/node_modules/graphql/jsutils/toObjMap.js +1 -0
- package/dist/node_modules/graphql/language/ast.js +1 -0
- package/dist/node_modules/graphql/language/blockString.js +3 -0
- package/dist/node_modules/graphql/language/characterClasses.js +1 -0
- package/dist/node_modules/graphql/language/directiveLocation.js +1 -0
- package/dist/node_modules/graphql/language/index.js +1 -0
- package/dist/node_modules/graphql/language/kinds.js +1 -0
- package/dist/node_modules/graphql/language/lexer.js +3 -0
- package/dist/node_modules/graphql/language/location.js +1 -0
- package/dist/node_modules/graphql/language/parser.js +1 -0
- package/dist/node_modules/graphql/language/predicates.js +1 -0
- package/dist/node_modules/graphql/language/printLocation.js +2 -0
- package/dist/node_modules/graphql/language/printString.js +1 -0
- package/dist/node_modules/graphql/language/printer.js +34 -0
- package/dist/node_modules/graphql/language/schemaCoordinateLexer.js +1 -0
- package/dist/node_modules/graphql/language/source.js +1 -0
- package/dist/node_modules/graphql/language/tokenKind.js +1 -0
- package/dist/node_modules/graphql/language/visitor.js +1 -0
- package/dist/node_modules/graphql/type/assertName.js +1 -0
- package/dist/node_modules/graphql/type/definition.js +1 -0
- package/dist/node_modules/graphql/type/directives.js +1 -0
- package/dist/node_modules/graphql/type/index.js +1 -0
- package/dist/node_modules/graphql/type/introspection.js +3 -0
- package/dist/node_modules/graphql/type/scalars.js +1 -0
- package/dist/node_modules/graphql/type/schema.js +1 -0
- package/dist/node_modules/graphql/type/validate.js +3 -0
- package/dist/node_modules/graphql/utilities/TypeInfo.js +1 -0
- package/dist/node_modules/graphql/utilities/assertValidName.js +1 -0
- package/dist/node_modules/graphql/utilities/astFromValue.js +1 -0
- package/dist/node_modules/graphql/utilities/buildASTSchema.js +1 -0
- package/dist/node_modules/graphql/utilities/buildClientSchema.js +1 -0
- package/dist/node_modules/graphql/utilities/coerceInputValue.js +1 -0
- package/dist/node_modules/graphql/utilities/concatAST.js +1 -0
- package/dist/node_modules/graphql/utilities/extendSchema.js +1 -0
- package/dist/node_modules/graphql/utilities/findBreakingChanges.js +1 -0
- package/dist/node_modules/graphql/utilities/getIntrospectionQuery.js +107 -0
- package/dist/node_modules/graphql/utilities/getOperationAST.js +1 -0
- package/dist/node_modules/graphql/utilities/getOperationRootType.js +1 -0
- package/dist/node_modules/graphql/utilities/index.js +1 -0
- package/dist/node_modules/graphql/utilities/introspectionFromSchema.js +1 -0
- package/dist/node_modules/graphql/utilities/lexicographicSortSchema.js +1 -0
- package/dist/node_modules/graphql/utilities/printSchema.js +13 -0
- package/dist/node_modules/graphql/utilities/resolveSchemaCoordinate.js +1 -0
- package/dist/node_modules/graphql/utilities/separateOperations.js +1 -0
- package/dist/node_modules/graphql/utilities/sortValueNode.js +1 -0
- package/dist/node_modules/graphql/utilities/stripIgnoredCharacters.js +1 -0
- package/dist/node_modules/graphql/utilities/typeComparators.js +1 -0
- package/dist/node_modules/graphql/utilities/typeFromAST.js +1 -0
- package/dist/node_modules/graphql/utilities/valueFromAST.js +1 -0
- package/dist/node_modules/graphql/utilities/valueFromASTUntyped.js +1 -0
- package/dist/node_modules/graphql/validation/ValidationContext.js +1 -0
- package/dist/node_modules/graphql/validation/index.js +1 -0
- package/dist/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/KnownArgumentNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/KnownDirectivesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/KnownFragmentNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/KnownTypeNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/NoFragmentCyclesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/ScalarLeafsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueOperationNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueOperationTypesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueTypeNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/UniqueVariableNamesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.js +1 -0
- package/dist/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +1 -0
- package/dist/node_modules/graphql/validation/specifiedRules.js +1 -0
- package/dist/node_modules/graphql/validation/validate.js +5 -0
- package/dist/node_modules/graphql/version.js +1 -0
- package/dist/onboarding-base.js +1 -2
- package/dist/openapi.js +1 -0
- package/dist/openbanking/docs/openbanking.docblock.js +109 -0
- package/dist/ownership.js +1 -2
- package/dist/policy/docs/policy.docblock.js +1 -0
- package/dist/policy/engine.js +1 -2
- package/dist/policy/opa-adapter.js +1 -2
- package/dist/policy/spec.js +1 -2
- package/dist/presentations/docs/presentations-conventions.docblock.js +8 -0
- package/dist/presentations.backcompat.js +1 -2
- package/dist/presentations.js +1 -2
- package/dist/presentations.v2.js +7 -2
- package/dist/prompt.js +1 -2
- package/dist/promptRegistry.js +1 -2
- package/dist/regenerator/docs/regenerator.docblock.js +184 -0
- package/dist/regenerator/executor.js +1 -2
- package/dist/regenerator/service.js +1 -2
- package/dist/regenerator/sinks.js +1 -2
- package/dist/regenerator/utils.js +1 -2
- package/dist/registry.js +1 -2
- package/dist/resources.js +1 -2
- package/dist/schema-to-markdown.js +10 -0
- package/dist/server/graphql-pothos.js +1 -2
- package/dist/server/index.js +1 -1
- package/dist/server/mcp/createMcpServer.js +1 -0
- package/dist/server/mcp/mcpTypes.js +0 -0
- package/dist/server/mcp/registerPresentations.js +1 -0
- package/dist/server/mcp/registerPrompts.js +3 -0
- package/dist/server/mcp/registerResources.js +1 -0
- package/dist/server/mcp/registerTools.js +1 -0
- package/dist/server/provider-mcp.js +1 -2
- package/dist/server/rest-elysia.js +1 -2
- package/dist/server/rest-express.js +1 -2
- package/dist/server/rest-generic.js +1 -2
- package/dist/server/rest-next-app.js +1 -2
- package/dist/server/rest-next-mcp.js +1 -2
- package/dist/server/rest-next-pages.js +1 -2
- package/dist/spec.js +1 -2
- package/dist/telemetry/anomaly.js +1 -2
- package/dist/telemetry/docs/telemetry.docblock.js +139 -0
- package/dist/telemetry/spec.js +1 -2
- package/dist/telemetry/tracker.js +1 -2
- package/dist/tests/runner.js +1 -2
- package/dist/tests/spec.js +1 -2
- package/dist/themes.js +1 -2
- package/dist/workflow/adapters/db-adapter.js +1 -2
- package/dist/workflow/adapters/file-adapter.js +1 -2
- package/dist/workflow/adapters/memory-store.js +1 -2
- package/dist/workflow/expression.js +1 -2
- package/dist/workflow/runner.js +1 -2
- package/dist/workflow/sla-monitor.js +1 -2
- package/dist/workflow/spec.js +1 -2
- package/dist/workflow/validation.js +1 -2
- package/package.json +353 -193
- package/dist/app-config/branding.d.ts +0 -56
- package/dist/app-config/branding.d.ts.map +0 -1
- package/dist/app-config/contracts.d.ts +0 -245
- package/dist/app-config/contracts.d.ts.map +0 -1
- package/dist/app-config/contracts.js.map +0 -1
- package/dist/app-config/events.d.ts +0 -123
- package/dist/app-config/events.d.ts.map +0 -1
- package/dist/app-config/events.js.map +0 -1
- package/dist/app-config/index.d.ts +0 -8
- package/dist/app-config/lifecycle-contracts.d.ts +0 -383
- package/dist/app-config/lifecycle-contracts.d.ts.map +0 -1
- package/dist/app-config/lifecycle-contracts.js.map +0 -1
- package/dist/app-config/lifecycle.d.ts +0 -28
- package/dist/app-config/lifecycle.d.ts.map +0 -1
- package/dist/app-config/runtime.d.ts +0 -115
- package/dist/app-config/runtime.d.ts.map +0 -1
- package/dist/app-config/runtime.js.map +0 -1
- package/dist/app-config/spec.d.ts +0 -176
- package/dist/app-config/spec.d.ts.map +0 -1
- package/dist/app-config/spec.js.map +0 -1
- package/dist/app-config/validation.d.ts +0 -48
- package/dist/app-config/validation.d.ts.map +0 -1
- package/dist/app-config/validation.js.map +0 -1
- package/dist/capabilities/openbanking.d.ts +0 -10
- package/dist/capabilities/openbanking.d.ts.map +0 -1
- package/dist/capabilities/openbanking.js.map +0 -1
- package/dist/capabilities.d.ts +0 -46
- package/dist/capabilities.d.ts.map +0 -1
- package/dist/capabilities.js.map +0 -1
- package/dist/client/index.d.ts +0 -6
- package/dist/client/react/drivers/rn-reusables.d.ts +0 -23
- package/dist/client/react/drivers/rn-reusables.d.ts.map +0 -1
- package/dist/client/react/drivers/rn-reusables.js.map +0 -1
- package/dist/client/react/drivers/shadcn.d.ts +0 -13
- package/dist/client/react/drivers/shadcn.d.ts.map +0 -1
- package/dist/client/react/drivers/shadcn.js.map +0 -1
- package/dist/client/react/feature-render.d.ts +0 -21
- package/dist/client/react/feature-render.d.ts.map +0 -1
- package/dist/client/react/feature-render.js.map +0 -1
- package/dist/client/react/form-render.d.ts +0 -92
- package/dist/client/react/form-render.d.ts.map +0 -1
- package/dist/client/react/form-render.js.map +0 -1
- package/dist/client/react/index.d.ts +0 -5
- package/dist/contracts-adapter-hydration.d.ts +0 -16
- package/dist/contracts-adapter-hydration.d.ts.map +0 -1
- package/dist/contracts-adapter-hydration.js.map +0 -1
- package/dist/contracts-adapter-input.d.ts +0 -11
- package/dist/contracts-adapter-input.d.ts.map +0 -1
- package/dist/contracts-adapter-input.js.map +0 -1
- package/dist/data-views/query-generator.d.ts +0 -40
- package/dist/data-views/query-generator.d.ts.map +0 -1
- package/dist/data-views/query-generator.js.map +0 -1
- package/dist/data-views/runtime.d.ts +0 -27
- package/dist/data-views/runtime.d.ts.map +0 -1
- package/dist/data-views/runtime.js.map +0 -1
- package/dist/data-views.d.ts +0 -132
- package/dist/data-views.d.ts.map +0 -1
- package/dist/data-views.js.map +0 -1
- package/dist/events.d.ts +0 -45
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js.map +0 -1
- package/dist/experiments/evaluator.d.ts +0 -38
- package/dist/experiments/evaluator.d.ts.map +0 -1
- package/dist/experiments/evaluator.js.map +0 -1
- package/dist/experiments/spec-resolver.d.ts +0 -17
- package/dist/experiments/spec-resolver.d.ts.map +0 -1
- package/dist/experiments/spec.d.ts +0 -90
- package/dist/experiments/spec.d.ts.map +0 -1
- package/dist/experiments/spec.js.map +0 -1
- package/dist/features.d.ts +0 -88
- package/dist/features.d.ts.map +0 -1
- package/dist/features.js.map +0 -1
- package/dist/forms.d.ts +0 -259
- package/dist/forms.d.ts.map +0 -1
- package/dist/forms.js.map +0 -1
- package/dist/graphql-federation/dist/index.js +0 -2
- package/dist/graphql-federation/dist/index.js.map +0 -1
- package/dist/index.d.ts +0 -130
- package/dist/install.d.ts +0 -77
- package/dist/install.d.ts.map +0 -1
- package/dist/install.js.map +0 -1
- package/dist/integrations/binding.d.ts +0 -18
- package/dist/integrations/binding.d.ts.map +0 -1
- package/dist/integrations/connection.d.ts +0 -52
- package/dist/integrations/connection.d.ts.map +0 -1
- package/dist/integrations/contracts.d.ts +0 -436
- package/dist/integrations/contracts.d.ts.map +0 -1
- package/dist/integrations/contracts.js.map +0 -1
- package/dist/integrations/health.d.ts +0 -22
- package/dist/integrations/health.d.ts.map +0 -1
- package/dist/integrations/health.js.map +0 -1
- package/dist/integrations/index.d.ts +0 -53
- package/dist/integrations/openbanking/contracts/accounts.d.ts +0 -288
- package/dist/integrations/openbanking/contracts/accounts.d.ts.map +0 -1
- package/dist/integrations/openbanking/contracts/accounts.js.map +0 -1
- package/dist/integrations/openbanking/contracts/balances.d.ts +0 -164
- package/dist/integrations/openbanking/contracts/balances.d.ts.map +0 -1
- package/dist/integrations/openbanking/contracts/balances.js.map +0 -1
- package/dist/integrations/openbanking/contracts/index.d.ts +0 -10
- package/dist/integrations/openbanking/contracts/index.d.ts.map +0 -1
- package/dist/integrations/openbanking/contracts/index.js.map +0 -1
- package/dist/integrations/openbanking/contracts/transactions.d.ts +0 -212
- package/dist/integrations/openbanking/contracts/transactions.d.ts.map +0 -1
- package/dist/integrations/openbanking/contracts/transactions.js.map +0 -1
- package/dist/integrations/openbanking/guards.d.ts +0 -13
- package/dist/integrations/openbanking/guards.d.ts.map +0 -1
- package/dist/integrations/openbanking/guards.js.map +0 -1
- package/dist/integrations/openbanking/models.d.ts +0 -229
- package/dist/integrations/openbanking/models.d.ts.map +0 -1
- package/dist/integrations/openbanking/models.js.map +0 -1
- package/dist/integrations/openbanking/telemetry.d.ts +0 -16
- package/dist/integrations/openbanking/telemetry.d.ts.map +0 -1
- package/dist/integrations/openbanking/telemetry.js.map +0 -1
- package/dist/integrations/providers/calendar.d.ts +0 -79
- package/dist/integrations/providers/calendar.d.ts.map +0 -1
- package/dist/integrations/providers/elevenlabs.d.ts +0 -8
- package/dist/integrations/providers/elevenlabs.d.ts.map +0 -1
- package/dist/integrations/providers/elevenlabs.js.map +0 -1
- package/dist/integrations/providers/email.d.ts +0 -87
- package/dist/integrations/providers/email.d.ts.map +0 -1
- package/dist/integrations/providers/embedding.d.ts +0 -25
- package/dist/integrations/providers/embedding.d.ts.map +0 -1
- package/dist/integrations/providers/gcs-storage.d.ts +0 -8
- package/dist/integrations/providers/gcs-storage.d.ts.map +0 -1
- package/dist/integrations/providers/gcs-storage.js.map +0 -1
- package/dist/integrations/providers/gmail.d.ts +0 -8
- package/dist/integrations/providers/gmail.d.ts.map +0 -1
- package/dist/integrations/providers/gmail.js.map +0 -1
- package/dist/integrations/providers/google-calendar.d.ts +0 -8
- package/dist/integrations/providers/google-calendar.d.ts.map +0 -1
- package/dist/integrations/providers/google-calendar.js.map +0 -1
- package/dist/integrations/providers/impls/elevenlabs-voice.d.ts +0 -21
- package/dist/integrations/providers/impls/elevenlabs-voice.d.ts.map +0 -1
- package/dist/integrations/providers/impls/elevenlabs-voice.js.map +0 -1
- package/dist/integrations/providers/impls/gcs-storage.d.ts +0 -25
- package/dist/integrations/providers/impls/gcs-storage.d.ts.map +0 -1
- package/dist/integrations/providers/impls/gcs-storage.js.map +0 -1
- package/dist/integrations/providers/impls/gmail-inbound.d.ts +0 -27
- package/dist/integrations/providers/impls/gmail-inbound.d.ts.map +0 -1
- package/dist/integrations/providers/impls/gmail-inbound.js.map +0 -1
- package/dist/integrations/providers/impls/gmail-outbound.d.ts +0 -19
- package/dist/integrations/providers/impls/gmail-outbound.d.ts.map +0 -1
- package/dist/integrations/providers/impls/gmail-outbound.js.map +0 -1
- package/dist/integrations/providers/impls/google-calendar.d.ts +0 -24
- package/dist/integrations/providers/impls/google-calendar.d.ts.map +0 -1
- package/dist/integrations/providers/impls/google-calendar.js.map +0 -1
- package/dist/integrations/providers/impls/index.d.ts +0 -15
- package/dist/integrations/providers/impls/mistral-embedding.d.ts +0 -24
- package/dist/integrations/providers/impls/mistral-embedding.d.ts.map +0 -1
- package/dist/integrations/providers/impls/mistral-embedding.js.map +0 -1
- package/dist/integrations/providers/impls/mistral-llm.d.ts +0 -32
- package/dist/integrations/providers/impls/mistral-llm.d.ts.map +0 -1
- package/dist/integrations/providers/impls/mistral-llm.js.map +0 -1
- package/dist/integrations/providers/impls/postmark-email.d.ts +0 -20
- package/dist/integrations/providers/impls/postmark-email.d.ts.map +0 -1
- package/dist/integrations/providers/impls/postmark-email.js.map +0 -1
- package/dist/integrations/providers/impls/powens-client.d.ts +0 -125
- package/dist/integrations/providers/impls/powens-client.d.ts.map +0 -1
- package/dist/integrations/providers/impls/powens-client.js.map +0 -1
- package/dist/integrations/providers/impls/powens-openbanking.d.ts +0 -28
- package/dist/integrations/providers/impls/powens-openbanking.d.ts.map +0 -1
- package/dist/integrations/providers/impls/powens-openbanking.js.map +0 -1
- package/dist/integrations/providers/impls/provider-factory.d.ts +0 -27
- package/dist/integrations/providers/impls/provider-factory.d.ts.map +0 -1
- package/dist/integrations/providers/impls/provider-factory.js.map +0 -1
- package/dist/integrations/providers/impls/qdrant-vector.d.ts +0 -25
- package/dist/integrations/providers/impls/qdrant-vector.d.ts.map +0 -1
- package/dist/integrations/providers/impls/qdrant-vector.js.map +0 -1
- package/dist/integrations/providers/impls/stripe-payments.d.ts +0 -29
- package/dist/integrations/providers/impls/stripe-payments.d.ts.map +0 -1
- package/dist/integrations/providers/impls/stripe-payments.js.map +0 -1
- package/dist/integrations/providers/impls/twilio-sms.d.ts +0 -21
- package/dist/integrations/providers/impls/twilio-sms.d.ts.map +0 -1
- package/dist/integrations/providers/impls/twilio-sms.js.map +0 -1
- package/dist/integrations/providers/index.d.ts +0 -36
- package/dist/integrations/providers/llm.d.ts +0 -83
- package/dist/integrations/providers/llm.d.ts.map +0 -1
- package/dist/integrations/providers/mistral.d.ts +0 -8
- package/dist/integrations/providers/mistral.d.ts.map +0 -1
- package/dist/integrations/providers/mistral.js.map +0 -1
- package/dist/integrations/providers/openbanking.d.ts +0 -129
- package/dist/integrations/providers/openbanking.d.ts.map +0 -1
- package/dist/integrations/providers/payments.d.ts +0 -110
- package/dist/integrations/providers/payments.d.ts.map +0 -1
- package/dist/integrations/providers/postmark.d.ts +0 -8
- package/dist/integrations/providers/postmark.d.ts.map +0 -1
- package/dist/integrations/providers/postmark.js.map +0 -1
- package/dist/integrations/providers/powens.d.ts +0 -8
- package/dist/integrations/providers/powens.d.ts.map +0 -1
- package/dist/integrations/providers/powens.js.map +0 -1
- package/dist/integrations/providers/qdrant.d.ts +0 -8
- package/dist/integrations/providers/qdrant.d.ts.map +0 -1
- package/dist/integrations/providers/qdrant.js.map +0 -1
- package/dist/integrations/providers/sms.d.ts +0 -35
- package/dist/integrations/providers/sms.d.ts.map +0 -1
- package/dist/integrations/providers/storage.d.ts +0 -61
- package/dist/integrations/providers/storage.d.ts.map +0 -1
- package/dist/integrations/providers/stripe.d.ts +0 -8
- package/dist/integrations/providers/stripe.d.ts.map +0 -1
- package/dist/integrations/providers/stripe.js.map +0 -1
- package/dist/integrations/providers/twilio-sms.d.ts +0 -8
- package/dist/integrations/providers/twilio-sms.d.ts.map +0 -1
- package/dist/integrations/providers/twilio-sms.js.map +0 -1
- package/dist/integrations/providers/vector-store.d.ts +0 -44
- package/dist/integrations/providers/vector-store.d.ts.map +0 -1
- package/dist/integrations/providers/voice.d.ts +0 -35
- package/dist/integrations/providers/voice.d.ts.map +0 -1
- package/dist/integrations/runtime.d.ts +0 -100
- package/dist/integrations/runtime.d.ts.map +0 -1
- package/dist/integrations/runtime.js.map +0 -1
- package/dist/integrations/secrets/env-secret-provider.d.ts +0 -32
- package/dist/integrations/secrets/env-secret-provider.d.ts.map +0 -1
- package/dist/integrations/secrets/env-secret-provider.js.map +0 -1
- package/dist/integrations/secrets/gcp-secret-manager.d.ts +0 -33
- package/dist/integrations/secrets/gcp-secret-manager.d.ts.map +0 -1
- package/dist/integrations/secrets/gcp-secret-manager.js.map +0 -1
- package/dist/integrations/secrets/index.d.ts +0 -5
- package/dist/integrations/secrets/manager.d.ts +0 -48
- package/dist/integrations/secrets/manager.d.ts.map +0 -1
- package/dist/integrations/secrets/manager.js.map +0 -1
- package/dist/integrations/secrets/provider.d.ts +0 -53
- package/dist/integrations/secrets/provider.d.ts.map +0 -1
- package/dist/integrations/secrets/provider.js.map +0 -1
- package/dist/integrations/spec.d.ts +0 -80
- package/dist/integrations/spec.d.ts.map +0 -1
- package/dist/integrations/spec.js.map +0 -1
- package/dist/jobs/gcp-cloud-tasks.d.ts +0 -42
- package/dist/jobs/gcp-cloud-tasks.d.ts.map +0 -1
- package/dist/jobs/gcp-cloud-tasks.js.map +0 -1
- package/dist/jobs/gcp-pubsub.d.ts +0 -26
- package/dist/jobs/gcp-pubsub.d.ts.map +0 -1
- package/dist/jobs/gcp-pubsub.js.map +0 -1
- package/dist/jobs/handlers/gmail-sync-handler.d.ts +0 -10
- package/dist/jobs/handlers/gmail-sync-handler.d.ts.map +0 -1
- package/dist/jobs/handlers/gmail-sync-handler.js.map +0 -1
- package/dist/jobs/handlers/index.d.ts +0 -3
- package/dist/jobs/handlers/storage-document-handler.d.ts +0 -13
- package/dist/jobs/handlers/storage-document-handler.d.ts.map +0 -1
- package/dist/jobs/handlers/storage-document-handler.js.map +0 -1
- package/dist/jobs/index.d.ts +0 -7
- package/dist/jobs/memory-queue.d.ts +0 -19
- package/dist/jobs/memory-queue.d.ts.map +0 -1
- package/dist/jobs/memory-queue.js.map +0 -1
- package/dist/jobs/queue.d.ts +0 -27
- package/dist/jobs/queue.d.ts.map +0 -1
- package/dist/jsonschema.d.ts +0 -27
- package/dist/jsonschema.d.ts.map +0 -1
- package/dist/jsonschema.js.map +0 -1
- package/dist/knowledge/binding.d.ts +0 -26
- package/dist/knowledge/binding.d.ts.map +0 -1
- package/dist/knowledge/contracts.d.ts +0 -317
- package/dist/knowledge/contracts.d.ts.map +0 -1
- package/dist/knowledge/contracts.js.map +0 -1
- package/dist/knowledge/index.d.ts +0 -10
- package/dist/knowledge/ingestion/document-processor.d.ts +0 -25
- package/dist/knowledge/ingestion/document-processor.d.ts.map +0 -1
- package/dist/knowledge/ingestion/document-processor.js.map +0 -1
- package/dist/knowledge/ingestion/embedding-service.d.ts +0 -13
- package/dist/knowledge/ingestion/embedding-service.d.ts.map +0 -1
- package/dist/knowledge/ingestion/embedding-service.js.map +0 -1
- package/dist/knowledge/ingestion/gmail-adapter.d.ts +0 -19
- package/dist/knowledge/ingestion/gmail-adapter.d.ts.map +0 -1
- package/dist/knowledge/ingestion/gmail-adapter.js.map +0 -1
- package/dist/knowledge/ingestion/index.d.ts +0 -6
- package/dist/knowledge/ingestion/storage-adapter.d.ts +0 -16
- package/dist/knowledge/ingestion/storage-adapter.d.ts.map +0 -1
- package/dist/knowledge/ingestion/storage-adapter.js.map +0 -1
- package/dist/knowledge/ingestion/vector-indexer.d.ts +0 -19
- package/dist/knowledge/ingestion/vector-indexer.d.ts.map +0 -1
- package/dist/knowledge/ingestion/vector-indexer.js.map +0 -1
- package/dist/knowledge/query/index.d.ts +0 -2
- package/dist/knowledge/query/service.d.ts +0 -30
- package/dist/knowledge/query/service.d.ts.map +0 -1
- package/dist/knowledge/query/service.js.map +0 -1
- package/dist/knowledge/runtime.d.ts +0 -33
- package/dist/knowledge/runtime.d.ts.map +0 -1
- package/dist/knowledge/runtime.js.map +0 -1
- package/dist/knowledge/source.d.ts +0 -33
- package/dist/knowledge/source.d.ts.map +0 -1
- package/dist/knowledge/spaces/email-threads.d.ts +0 -8
- package/dist/knowledge/spaces/email-threads.d.ts.map +0 -1
- package/dist/knowledge/spaces/email-threads.js.map +0 -1
- package/dist/knowledge/spaces/financial-docs.d.ts +0 -8
- package/dist/knowledge/spaces/financial-docs.d.ts.map +0 -1
- package/dist/knowledge/spaces/financial-docs.js.map +0 -1
- package/dist/knowledge/spaces/financial-overview.d.ts +0 -8
- package/dist/knowledge/spaces/financial-overview.d.ts.map +0 -1
- package/dist/knowledge/spaces/financial-overview.js.map +0 -1
- package/dist/knowledge/spaces/index.d.ts +0 -7
- package/dist/knowledge/spaces/product-canon.d.ts +0 -8
- package/dist/knowledge/spaces/product-canon.d.ts.map +0 -1
- package/dist/knowledge/spaces/product-canon.js.map +0 -1
- package/dist/knowledge/spaces/support-faq.d.ts +0 -8
- package/dist/knowledge/spaces/support-faq.d.ts.map +0 -1
- package/dist/knowledge/spaces/support-faq.js.map +0 -1
- package/dist/knowledge/spaces/uploaded-docs.d.ts +0 -8
- package/dist/knowledge/spaces/uploaded-docs.d.ts.map +0 -1
- package/dist/knowledge/spaces/uploaded-docs.js.map +0 -1
- package/dist/knowledge/spec.d.ts +0 -53
- package/dist/knowledge/spec.d.ts.map +0 -1
- package/dist/knowledge/spec.js.map +0 -1
- package/dist/markdown.d.ts +0 -22
- package/dist/markdown.d.ts.map +0 -1
- package/dist/markdown.js.map +0 -1
- package/dist/migrations.d.ts +0 -53
- package/dist/migrations.d.ts.map +0 -1
- package/dist/migrations.js.map +0 -1
- package/dist/onboarding-base.d.ts +0 -138
- package/dist/onboarding-base.d.ts.map +0 -1
- package/dist/onboarding-base.js.map +0 -1
- package/dist/ownership.d.ts +0 -76
- package/dist/ownership.d.ts.map +0 -1
- package/dist/ownership.js.map +0 -1
- package/dist/policy/engine.d.ts +0 -40
- package/dist/policy/engine.d.ts.map +0 -1
- package/dist/policy/engine.js.map +0 -1
- package/dist/policy/opa-adapter.d.ts +0 -46
- package/dist/policy/opa-adapter.d.ts.map +0 -1
- package/dist/policy/opa-adapter.js.map +0 -1
- package/dist/policy/spec.d.ts +0 -115
- package/dist/policy/spec.d.ts.map +0 -1
- package/dist/policy/spec.js.map +0 -1
- package/dist/presentations.backcompat.d.ts +0 -8
- package/dist/presentations.backcompat.d.ts.map +0 -1
- package/dist/presentations.backcompat.js.map +0 -1
- package/dist/presentations.d.ts +0 -97
- package/dist/presentations.d.ts.map +0 -1
- package/dist/presentations.js.map +0 -1
- package/dist/presentations.v2.d.ts +0 -96
- package/dist/presentations.v2.d.ts.map +0 -1
- package/dist/presentations.v2.js.map +0 -1
- package/dist/prompt.d.ts +0 -61
- package/dist/prompt.d.ts.map +0 -1
- package/dist/prompt.js.map +0 -1
- package/dist/promptRegistry.d.ts +0 -16
- package/dist/promptRegistry.d.ts.map +0 -1
- package/dist/promptRegistry.js.map +0 -1
- package/dist/regenerator/adapters.d.ts +0 -20
- package/dist/regenerator/adapters.d.ts.map +0 -1
- package/dist/regenerator/executor.d.ts +0 -71
- package/dist/regenerator/executor.d.ts.map +0 -1
- package/dist/regenerator/executor.js.map +0 -1
- package/dist/regenerator/index.d.ts +0 -7
- package/dist/regenerator/service.d.ts +0 -34
- package/dist/regenerator/service.d.ts.map +0 -1
- package/dist/regenerator/service.js.map +0 -1
- package/dist/regenerator/sinks.d.ts +0 -27
- package/dist/regenerator/sinks.d.ts.map +0 -1
- package/dist/regenerator/sinks.js.map +0 -1
- package/dist/regenerator/types.d.ts +0 -108
- package/dist/regenerator/types.d.ts.map +0 -1
- package/dist/regenerator/utils.d.ts +0 -10
- package/dist/regenerator/utils.d.ts.map +0 -1
- package/dist/regenerator/utils.js.map +0 -1
- package/dist/registry.d.ts +0 -73
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js.map +0 -1
- package/dist/resources.d.ts +0 -65
- package/dist/resources.d.ts.map +0 -1
- package/dist/resources.js.map +0 -1
- package/dist/schema/dist/EnumType.js +0 -1
- package/dist/schema/dist/FieldType.js +0 -2
- package/dist/schema/dist/FieldType.js.map +0 -1
- package/dist/schema/dist/ScalarTypeEnum.js +0 -2
- package/dist/schema/dist/ScalarTypeEnum.js.map +0 -1
- package/dist/schema/dist/SchemaModel.js +0 -2
- package/dist/schema/dist/SchemaModel.js.map +0 -1
- package/dist/schema/dist/index.js +0 -1
- package/dist/server/graphql-pothos.d.ts +0 -32
- package/dist/server/graphql-pothos.d.ts.map +0 -1
- package/dist/server/graphql-pothos.js.map +0 -1
- package/dist/server/graphql-schema-export.d.ts +0 -7
- package/dist/server/graphql-schema-export.d.ts.map +0 -1
- package/dist/server/graphql-schema-export.js +0 -2
- package/dist/server/graphql-schema-export.js.map +0 -1
- package/dist/server/index.d.ts +0 -9
- package/dist/server/provider-mcp.d.ts +0 -52
- package/dist/server/provider-mcp.d.ts.map +0 -1
- package/dist/server/provider-mcp.js.map +0 -1
- package/dist/server/rest-elysia.d.ts +0 -41
- package/dist/server/rest-elysia.d.ts.map +0 -1
- package/dist/server/rest-elysia.js.map +0 -1
- package/dist/server/rest-express.d.ts +0 -17
- package/dist/server/rest-express.d.ts.map +0 -1
- package/dist/server/rest-express.js.map +0 -1
- package/dist/server/rest-generic.d.ts +0 -33
- package/dist/server/rest-generic.d.ts.map +0 -1
- package/dist/server/rest-generic.js.map +0 -1
- package/dist/server/rest-next-app.d.ts +0 -36
- package/dist/server/rest-next-app.d.ts.map +0 -1
- package/dist/server/rest-next-app.js.map +0 -1
- package/dist/server/rest-next-mcp.d.ts +0 -12
- package/dist/server/rest-next-mcp.d.ts.map +0 -1
- package/dist/server/rest-next-mcp.js.map +0 -1
- package/dist/server/rest-next-pages.d.ts +0 -10
- package/dist/server/rest-next-pages.d.ts.map +0 -1
- package/dist/server/rest-next-pages.js.map +0 -1
- package/dist/spec.d.ts +0 -172
- package/dist/spec.d.ts.map +0 -1
- package/dist/spec.js.map +0 -1
- package/dist/telemetry/anomaly.d.ts +0 -28
- package/dist/telemetry/anomaly.d.ts.map +0 -1
- package/dist/telemetry/anomaly.js.map +0 -1
- package/dist/telemetry/index.d.ts +0 -4
- package/dist/telemetry/spec.d.ts +0 -99
- package/dist/telemetry/spec.d.ts.map +0 -1
- package/dist/telemetry/spec.js.map +0 -1
- package/dist/telemetry/tracker.d.ts +0 -52
- package/dist/telemetry/tracker.d.ts.map +0 -1
- package/dist/telemetry/tracker.js.map +0 -1
- package/dist/tests/index.d.ts +0 -3
- package/dist/tests/runner.d.ts +0 -44
- package/dist/tests/runner.d.ts.map +0 -1
- package/dist/tests/runner.js.map +0 -1
- package/dist/tests/spec.d.ts +0 -90
- package/dist/tests/spec.d.ts.map +0 -1
- package/dist/tests/spec.js.map +0 -1
- package/dist/themes.d.ts +0 -56
- package/dist/themes.d.ts.map +0 -1
- package/dist/themes.js.map +0 -1
- package/dist/translations/catalog.d.ts +0 -29
- package/dist/translations/catalog.d.ts.map +0 -1
- package/dist/translations/tenant.d.ts +0 -16
- package/dist/translations/tenant.d.ts.map +0 -1
- package/dist/types/all.d.ts +0 -60
- package/dist/types.d.ts +0 -89
- package/dist/types.d.ts.map +0 -1
- package/dist/workflow/adapters/db-adapter.d.ts +0 -35
- package/dist/workflow/adapters/db-adapter.d.ts.map +0 -1
- package/dist/workflow/adapters/db-adapter.js.map +0 -1
- package/dist/workflow/adapters/file-adapter.d.ts +0 -15
- package/dist/workflow/adapters/file-adapter.d.ts.map +0 -1
- package/dist/workflow/adapters/file-adapter.js.map +0 -1
- package/dist/workflow/adapters/index.d.ts +0 -4
- package/dist/workflow/adapters/memory-store.d.ts +0 -19
- package/dist/workflow/adapters/memory-store.d.ts.map +0 -1
- package/dist/workflow/adapters/memory-store.js.map +0 -1
- package/dist/workflow/expression.d.ts +0 -10
- package/dist/workflow/expression.d.ts.map +0 -1
- package/dist/workflow/expression.js.map +0 -1
- package/dist/workflow/index.d.ts +0 -10
- package/dist/workflow/runner.d.ts +0 -75
- package/dist/workflow/runner.d.ts.map +0 -1
- package/dist/workflow/runner.js.map +0 -1
- package/dist/workflow/sla-monitor.d.ts +0 -21
- package/dist/workflow/sla-monitor.d.ts.map +0 -1
- package/dist/workflow/sla-monitor.js.map +0 -1
- package/dist/workflow/spec.d.ts +0 -100
- package/dist/workflow/spec.d.ts.map +0 -1
- package/dist/workflow/spec.js.map +0 -1
- package/dist/workflow/state.d.ts +0 -36
- package/dist/workflow/state.d.ts.map +0 -1
- package/dist/workflow/validation.d.ts +0 -29
- package/dist/workflow/validation.d.ts.map +0 -1
- package/dist/workflow/validation.js.map +0 -1
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { EmailOutboundMessage, EmailOutboundProvider, EmailOutboundResult } from "../email.js";
|
|
2
|
-
import { ServerClient } from "postmark";
|
|
3
|
-
|
|
4
|
-
//#region src/integrations/providers/impls/postmark-email.d.ts
|
|
5
|
-
interface PostmarkEmailProviderOptions {
|
|
6
|
-
serverToken: string;
|
|
7
|
-
defaultFromEmail?: string;
|
|
8
|
-
messageStream?: string;
|
|
9
|
-
client?: ServerClient;
|
|
10
|
-
}
|
|
11
|
-
declare class PostmarkEmailProvider implements EmailOutboundProvider {
|
|
12
|
-
private readonly client;
|
|
13
|
-
private readonly defaultFromEmail?;
|
|
14
|
-
private readonly messageStream?;
|
|
15
|
-
constructor(options: PostmarkEmailProviderOptions);
|
|
16
|
-
sendEmail(message: EmailOutboundMessage): Promise<EmailOutboundResult>;
|
|
17
|
-
}
|
|
18
|
-
//#endregion
|
|
19
|
-
export { PostmarkEmailProvider, PostmarkEmailProviderOptions };
|
|
20
|
-
//# sourceMappingURL=postmark-email.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"postmark-email.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/postmark-email.ts"],"sourcesContent":[],"mappings":";;;;UAQiB,4BAAA;;EAAA,gBAAA,CAAA,EAAA,MAAA;EAOJ,aAAA,CAAA,EAAA,MAAA;EAKU,MAAA,CAAA,EARZ,YAQY;;AAUmC,cAf7C,qBAAA,YAAiC,qBAeY,CAAA;EAAR,iBAAA,MAAA;EAfJ,iBAAA,gBAAA;EAAqB,iBAAA,aAAA;uBAK5C;qBAUI,uBAAuB,QAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"postmark-email.js","names":["request: PostmarkModels.Message"],"sources":["../../../../src/integrations/providers/impls/postmark-email.ts"],"sourcesContent":["import { ServerClient, type Models as PostmarkModels } from 'postmark';\n\nimport type {\n EmailOutboundMessage,\n EmailOutboundProvider,\n EmailOutboundResult,\n} from '../email';\n\nexport interface PostmarkEmailProviderOptions {\n serverToken: string;\n defaultFromEmail?: string;\n messageStream?: string;\n client?: ServerClient;\n}\n\nexport class PostmarkEmailProvider implements EmailOutboundProvider {\n private readonly client: ServerClient;\n private readonly defaultFromEmail?: string;\n private readonly messageStream?: string;\n\n constructor(options: PostmarkEmailProviderOptions) {\n this.client =\n options.client ??\n new ServerClient(options.serverToken, {\n useHttps: true,\n });\n this.defaultFromEmail = options.defaultFromEmail;\n this.messageStream = options.messageStream;\n }\n\n async sendEmail(message: EmailOutboundMessage): Promise<EmailOutboundResult> {\n const request: PostmarkModels.Message = {\n From: formatAddress(message.from) ?? this.defaultFromEmail,\n To: message.to.map((addr) => formatAddress(addr)).join(', '),\n Cc:\n message.cc?.map((addr) => formatAddress(addr)).join(', ') || undefined,\n Bcc:\n message.bcc?.map((addr) => formatAddress(addr)).join(', ') || undefined,\n ReplyTo: message.replyTo ? formatAddress(message.replyTo) : undefined,\n Subject: message.subject,\n TextBody: message.textBody,\n HtmlBody: message.htmlBody,\n Headers: message.headers\n ? Object.entries(message.headers).map(([name, value]) => ({\n Name: name,\n Value: value,\n }))\n : undefined,\n MessageStream: this.messageStream,\n Attachments: buildAttachments(message),\n };\n\n const response = await this.client.sendEmail(request);\n return {\n id: response.MessageID,\n providerMessageId: response.MessageID,\n queuedAt: new Date(response.SubmittedAt ?? new Date().toISOString()),\n };\n }\n}\n\nfunction formatAddress(address: { email: string; name?: string }): string {\n if (address.name) {\n return `\"${address.name}\" <${address.email}>`;\n }\n return address.email;\n}\n\nfunction buildAttachments(\n message: EmailOutboundMessage\n): PostmarkModels.Attachment[] | undefined {\n if (!message.attachments?.length) return undefined;\n return message.attachments\n .filter((attachment) => attachment.data)\n .map((attachment) => ({\n Name: attachment.filename,\n Content: Buffer.from(attachment.data ?? new Uint8Array()).toString(\n 'base64'\n ),\n ContentType: attachment.contentType,\n ContentID: null,\n ContentLength: attachment.sizeBytes,\n Disposition: 'attachment',\n }));\n}\n"],"mappings":"wCAeA,IAAa,EAAb,KAAoE,CAClE,OACA,iBACA,cAEA,YAAY,EAAuC,CACjD,KAAK,OACH,EAAQ,QACR,IAAI,EAAa,EAAQ,YAAa,CACpC,SAAU,GACX,CAAC,CACJ,KAAK,iBAAmB,EAAQ,iBAChC,KAAK,cAAgB,EAAQ,cAG/B,MAAM,UAAU,EAA6D,CAC3E,IAAMA,EAAkC,CACtC,KAAM,EAAc,EAAQ,KAAK,EAAI,KAAK,iBAC1C,GAAI,EAAQ,GAAG,IAAK,GAAS,EAAc,EAAK,CAAC,CAAC,KAAK,KAAK,CAC5D,GACE,EAAQ,IAAI,IAAK,GAAS,EAAc,EAAK,CAAC,CAAC,KAAK,KAAK,EAAI,IAAA,GAC/D,IACE,EAAQ,KAAK,IAAK,GAAS,EAAc,EAAK,CAAC,CAAC,KAAK,KAAK,EAAI,IAAA,GAChE,QAAS,EAAQ,QAAU,EAAc,EAAQ,QAAQ,CAAG,IAAA,GAC5D,QAAS,EAAQ,QACjB,SAAU,EAAQ,SAClB,SAAU,EAAQ,SAClB,QAAS,EAAQ,QACb,OAAO,QAAQ,EAAQ,QAAQ,CAAC,KAAK,CAAC,EAAM,MAAY,CACtD,KAAM,EACN,MAAO,EACR,EAAE,CACH,IAAA,GACJ,cAAe,KAAK,cACpB,YAAa,EAAiB,EAAQ,CACvC,CAEK,EAAW,MAAM,KAAK,OAAO,UAAU,EAAQ,CACrD,MAAO,CACL,GAAI,EAAS,UACb,kBAAmB,EAAS,UAC5B,SAAU,IAAI,KAAK,EAAS,aAAe,IAAI,MAAM,CAAC,aAAa,CAAC,CACrE,GAIL,SAAS,EAAc,EAAmD,CAIxE,OAHI,EAAQ,KACH,IAAI,EAAQ,KAAK,KAAK,EAAQ,MAAM,GAEtC,EAAQ,MAGjB,SAAS,EACP,EACyC,CACpC,KAAQ,aAAa,OAC1B,OAAO,EAAQ,YACZ,OAAQ,GAAe,EAAW,KAAK,CACvC,IAAK,IAAgB,CACpB,KAAM,EAAW,SACjB,QAAS,OAAO,KAAK,EAAW,MAAQ,IAAI,WAAa,CAAC,SACxD,SACD,CACD,YAAa,EAAW,YACxB,UAAW,KACX,cAAe,EAAW,UAC1B,YAAa,aACd,EAAE"}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
//#region src/integrations/providers/impls/powens-client.d.ts
|
|
2
|
-
type PowensEnvironment = 'sandbox' | 'production';
|
|
3
|
-
interface PowensClientOptions {
|
|
4
|
-
clientId: string;
|
|
5
|
-
clientSecret: string;
|
|
6
|
-
apiKey?: string;
|
|
7
|
-
environment: PowensEnvironment;
|
|
8
|
-
baseUrl?: string;
|
|
9
|
-
fetchImpl?: typeof fetch;
|
|
10
|
-
defaultTimeoutMs?: number;
|
|
11
|
-
logger?: {
|
|
12
|
-
debug?: (...args: unknown[]) => void;
|
|
13
|
-
warn?: (...args: unknown[]) => void;
|
|
14
|
-
error?: (...args: unknown[]) => void;
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
interface PowensAccount {
|
|
18
|
-
uuid: string;
|
|
19
|
-
reference: string;
|
|
20
|
-
userUuid: string;
|
|
21
|
-
institution: {
|
|
22
|
-
id: string;
|
|
23
|
-
name: string;
|
|
24
|
-
logoUrl?: string;
|
|
25
|
-
};
|
|
26
|
-
name: string;
|
|
27
|
-
iban?: string;
|
|
28
|
-
bic?: string;
|
|
29
|
-
currency?: string;
|
|
30
|
-
balance?: number;
|
|
31
|
-
availableBalance?: number;
|
|
32
|
-
type?: string;
|
|
33
|
-
status?: string;
|
|
34
|
-
metadata?: Record<string, unknown>;
|
|
35
|
-
}
|
|
36
|
-
interface PowensAccountListResponse {
|
|
37
|
-
accounts: PowensAccount[];
|
|
38
|
-
pagination?: {
|
|
39
|
-
nextCursor?: string;
|
|
40
|
-
hasMore?: boolean;
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
interface PowensTransaction {
|
|
44
|
-
uuid: string;
|
|
45
|
-
accountUuid: string;
|
|
46
|
-
amount: number;
|
|
47
|
-
currency: string;
|
|
48
|
-
direction: 'credit' | 'debit';
|
|
49
|
-
description?: string;
|
|
50
|
-
category?: string;
|
|
51
|
-
rawLabel?: string;
|
|
52
|
-
bookingDate?: string;
|
|
53
|
-
valueDate?: string;
|
|
54
|
-
status?: string;
|
|
55
|
-
merchantName?: string;
|
|
56
|
-
merchantCategoryCode?: string;
|
|
57
|
-
counterpartyName?: string;
|
|
58
|
-
counterpartyAccount?: string;
|
|
59
|
-
metadata?: Record<string, unknown>;
|
|
60
|
-
}
|
|
61
|
-
interface PowensTransactionListResponse {
|
|
62
|
-
transactions: PowensTransaction[];
|
|
63
|
-
pagination?: {
|
|
64
|
-
nextCursor?: string;
|
|
65
|
-
hasMore?: boolean;
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
interface PowensBalance {
|
|
69
|
-
accountUuid: string;
|
|
70
|
-
type: string;
|
|
71
|
-
amount: number;
|
|
72
|
-
currency: string;
|
|
73
|
-
updatedAt: string;
|
|
74
|
-
metadata?: Record<string, unknown>;
|
|
75
|
-
}
|
|
76
|
-
interface PowensConnectionStatusResponse {
|
|
77
|
-
connectionUuid: string;
|
|
78
|
-
status: 'healthy' | 'error' | 'revoked' | 'pending';
|
|
79
|
-
lastAttemptAt?: string;
|
|
80
|
-
errorCode?: string;
|
|
81
|
-
errorMessage?: string;
|
|
82
|
-
metadata?: Record<string, unknown>;
|
|
83
|
-
}
|
|
84
|
-
declare class PowensClientError extends Error {
|
|
85
|
-
readonly status: number;
|
|
86
|
-
readonly code?: string;
|
|
87
|
-
readonly requestId?: string;
|
|
88
|
-
readonly response?: unknown;
|
|
89
|
-
constructor(message: string, status: number, code?: string, requestId?: string, response?: unknown);
|
|
90
|
-
}
|
|
91
|
-
declare class PowensClient {
|
|
92
|
-
private readonly clientId;
|
|
93
|
-
private readonly clientSecret;
|
|
94
|
-
private readonly apiKey?;
|
|
95
|
-
private readonly fetchImpl;
|
|
96
|
-
private readonly logger?;
|
|
97
|
-
private readonly defaultTimeoutMs;
|
|
98
|
-
private token?;
|
|
99
|
-
private readonly baseUrl;
|
|
100
|
-
constructor(options: PowensClientOptions);
|
|
101
|
-
listAccounts(params: {
|
|
102
|
-
userUuid: string;
|
|
103
|
-
cursor?: string;
|
|
104
|
-
limit?: number;
|
|
105
|
-
includeBalances?: boolean;
|
|
106
|
-
institutionUuid?: string;
|
|
107
|
-
}): Promise<PowensAccountListResponse>;
|
|
108
|
-
getAccount(accountUuid: string): Promise<PowensAccount>;
|
|
109
|
-
listTransactions(params: {
|
|
110
|
-
accountUuid: string;
|
|
111
|
-
cursor?: string;
|
|
112
|
-
limit?: number;
|
|
113
|
-
from?: string;
|
|
114
|
-
to?: string;
|
|
115
|
-
includePending?: boolean;
|
|
116
|
-
}): Promise<PowensTransactionListResponse>;
|
|
117
|
-
getBalances(accountUuid: string): Promise<PowensBalance[]>;
|
|
118
|
-
getConnectionStatus(connectionUuid: string): Promise<PowensConnectionStatusResponse>;
|
|
119
|
-
private request;
|
|
120
|
-
private ensureAccessToken;
|
|
121
|
-
private fetchAccessToken;
|
|
122
|
-
}
|
|
123
|
-
//#endregion
|
|
124
|
-
export { PowensAccount, PowensAccountListResponse, PowensBalance, PowensClient, PowensClientError, PowensClientOptions, PowensConnectionStatusResponse, PowensEnvironment, PowensTransaction, PowensTransactionListResponse };
|
|
125
|
-
//# sourceMappingURL=powens-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"powens-client.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/powens-client.ts"],"sourcesContent":[],"mappings":";KAEY,iBAAA;AAAA,UAOK,mBAAA,CAPY;EAOZ,QAAA,EAAA,MAAA;EA4BA,YAAA,EAAA,MAAa;EAoBb,MAAA,CAAA,EAAA,MAAA;EAQA,WAAA,EApDF,iBAoDmB;EAmBjB,OAAA,CAAA,EAAA,MAAA;EAQA,SAAA,CAAA,EAAA,OA7EI,KA6ES;EASb,gBAAA,CAAA,EAAA,MAAA;EASJ,MAAA,CAAA,EAAA;IAgCA,KAAA,CAAA,EAAA,CAAA,GAAY,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IAUF,IAAA,CAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IAmBT,KAAA,CAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;EAAR,CAAA;;AAgBmC,UAtJxB,aAAA,CAsJwB;EAc3B,IAAA,EAAA,MAAA;EAAR,SAAA,EAAA,MAAA;EAgB4C,QAAA,EAAA,MAAA;EAAR,WAAA,EAAA;IAS7B,EAAA,EAAA,MAAA;IAAR,IAAA,EAAA,MAAA;IAAO,OAAA,CAAA,EAAA,MAAA;;;;;;;;;;aA5KC;;UAGI,yBAAA;YACL;;;;;;UAOK,iBAAA;;;;;;;;;;;;;;;;aAgBJ;;UAGI,6BAAA;gBACD;;;;;;UAOC,aAAA;;;;;;aAMJ;;UAGI,8BAAA;;;;;;aAMJ;;cAGA,iBAAA,SAA0B,KAAA;;;;;;;cAgC1B,YAAA;;;;;;;;;uBAUU;;;;;;;MAmBjB,QAAQ;mCAgB2B,QAAQ;;;;;;;;MAc3C,QAAQ;oCAgB4B,QAAQ;+CAS7C,QAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"powens-client.js","names":["POWENS_BASE_URL: Record<PowensEnvironment, string>","searchParams: Record<string, string | number | boolean | undefined>","headers: Record<string, string>","requestId: string | undefined","errorBody: unknown","message: string"],"sources":["../../../../src/integrations/providers/impls/powens-client.ts"],"sourcesContent":["import { URL } from 'node:url';\n\nexport type PowensEnvironment = 'sandbox' | 'production';\n\nconst POWENS_BASE_URL: Record<PowensEnvironment, string> = {\n sandbox: 'https://api-sandbox.powens.com/v2',\n production: 'https://api.powens.com/v2',\n};\n\nexport interface PowensClientOptions {\n clientId: string;\n clientSecret: string;\n apiKey?: string;\n environment: PowensEnvironment;\n baseUrl?: string;\n fetchImpl?: typeof fetch;\n defaultTimeoutMs?: number;\n logger?: {\n debug?: (...args: unknown[]) => void;\n warn?: (...args: unknown[]) => void;\n error?: (...args: unknown[]) => void;\n };\n}\n\ninterface PowensOAuthTokenResponse {\n access_token: string;\n expires_in: number;\n scope?: string;\n token_type: string;\n}\n\ninterface PowensOAuthToken {\n accessToken: string;\n expiresAt: number;\n scope?: string;\n}\n\nexport interface PowensAccount {\n uuid: string;\n reference: string;\n userUuid: string;\n institution: {\n id: string;\n name: string;\n logoUrl?: string;\n };\n name: string;\n iban?: string;\n bic?: string;\n currency?: string;\n balance?: number;\n availableBalance?: number;\n type?: string;\n status?: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface PowensAccountListResponse {\n accounts: PowensAccount[];\n pagination?: {\n nextCursor?: string;\n hasMore?: boolean;\n };\n}\n\nexport interface PowensTransaction {\n uuid: string;\n accountUuid: string;\n amount: number;\n currency: string;\n direction: 'credit' | 'debit';\n description?: string;\n category?: string;\n rawLabel?: string;\n bookingDate?: string;\n valueDate?: string;\n status?: string;\n merchantName?: string;\n merchantCategoryCode?: string;\n counterpartyName?: string;\n counterpartyAccount?: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface PowensTransactionListResponse {\n transactions: PowensTransaction[];\n pagination?: {\n nextCursor?: string;\n hasMore?: boolean;\n };\n}\n\nexport interface PowensBalance {\n accountUuid: string;\n type: string;\n amount: number;\n currency: string;\n updatedAt: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface PowensConnectionStatusResponse {\n connectionUuid: string;\n status: 'healthy' | 'error' | 'revoked' | 'pending';\n lastAttemptAt?: string;\n errorCode?: string;\n errorMessage?: string;\n metadata?: Record<string, unknown>;\n}\n\nexport class PowensClientError extends Error {\n readonly status: number;\n readonly code?: string;\n readonly requestId?: string;\n readonly response?: unknown;\n\n constructor(\n message: string,\n status: number,\n code?: string,\n requestId?: string,\n response?: unknown\n ) {\n super(message);\n this.name = 'PowensClientError';\n this.status = status;\n this.code = code;\n this.requestId = requestId;\n this.response = response;\n }\n}\n\ninterface RequestOptions {\n method: string;\n path: string;\n searchParams?: Record<string, string | number | boolean | undefined>;\n body?: Record<string, unknown> | undefined;\n headers?: Record<string, string | undefined>;\n timeoutMs?: number;\n skipAuth?: boolean;\n}\n\nexport class PowensClient {\n private readonly clientId: string;\n private readonly clientSecret: string;\n private readonly apiKey?: string;\n private readonly fetchImpl: typeof fetch;\n private readonly logger?: PowensClientOptions['logger'];\n private readonly defaultTimeoutMs: number;\n private token?: PowensOAuthToken;\n private readonly baseUrl: string;\n\n constructor(options: PowensClientOptions) {\n this.clientId = options.clientId;\n this.clientSecret = options.clientSecret;\n this.apiKey = options.apiKey;\n this.fetchImpl = options.fetchImpl ?? fetch;\n this.logger = options.logger;\n this.defaultTimeoutMs = options.defaultTimeoutMs ?? 15000;\n this.baseUrl =\n options.baseUrl ??\n POWENS_BASE_URL[options.environment] ??\n POWENS_BASE_URL.production;\n }\n\n async listAccounts(params: {\n userUuid: string;\n cursor?: string;\n limit?: number;\n includeBalances?: boolean;\n institutionUuid?: string;\n }): Promise<PowensAccountListResponse> {\n const searchParams: Record<string, string | number | boolean | undefined> =\n {\n cursor: params.cursor,\n limit: params.limit,\n include_balances: params.includeBalances,\n institution_uuid: params.institutionUuid,\n };\n const response = await this.request<PowensAccountListResponse>({\n method: 'GET',\n path: `/users/${encodeURIComponent(params.userUuid)}/accounts`,\n searchParams,\n });\n return response;\n }\n\n async getAccount(accountUuid: string): Promise<PowensAccount> {\n return this.request<PowensAccount>({\n method: 'GET',\n path: `/accounts/${encodeURIComponent(accountUuid)}`,\n });\n }\n\n async listTransactions(params: {\n accountUuid: string;\n cursor?: string;\n limit?: number;\n from?: string;\n to?: string;\n includePending?: boolean;\n }): Promise<PowensTransactionListResponse> {\n const searchParams: Record<string, string | number | boolean | undefined> =\n {\n cursor: params.cursor,\n limit: params.limit,\n from: params.from,\n to: params.to,\n include_pending: params.includePending,\n };\n return this.request<PowensTransactionListResponse>({\n method: 'GET',\n path: `/accounts/${encodeURIComponent(params.accountUuid)}/transactions`,\n searchParams,\n });\n }\n\n async getBalances(accountUuid: string): Promise<PowensBalance[]> {\n return this.request<PowensBalance[]>({\n method: 'GET',\n path: `/accounts/${encodeURIComponent(accountUuid)}/balances`,\n });\n }\n\n async getConnectionStatus(\n connectionUuid: string\n ): Promise<PowensConnectionStatusResponse> {\n return this.request<PowensConnectionStatusResponse>({\n method: 'GET',\n path: `/connections/${encodeURIComponent(connectionUuid)}`,\n });\n }\n\n private async request<T>(options: RequestOptions): Promise<T> {\n const url = new URL(options.path, this.baseUrl);\n if (options.searchParams) {\n for (const [key, value] of Object.entries(options.searchParams)) {\n if (value === undefined || value === null) continue;\n url.searchParams.set(key, String(value));\n }\n }\n\n const headers: Record<string, string> = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n ...options.headers,\n };\n\n if (this.apiKey) {\n headers['x-api-key'] = this.apiKey;\n }\n\n if (!options.skipAuth) {\n const token = await this.ensureAccessToken();\n headers.Authorization = `Bearer ${token}`;\n }\n\n const controller = new AbortController();\n const timeout = setTimeout(\n () => controller.abort(),\n options.timeoutMs ?? this.defaultTimeoutMs\n );\n\n try {\n const response = await this.fetchImpl(url, {\n method: options.method,\n headers,\n body: options.body ? JSON.stringify(options.body) : undefined,\n signal: controller.signal,\n });\n\n const requestId: string | undefined =\n response.headers.get('x-request-id') ?? undefined;\n\n if (!response.ok) {\n let errorBody: unknown;\n try {\n errorBody = await response.json();\n } catch {\n // ignore parsing errors\n }\n const errorObject =\n typeof errorBody === 'object' && errorBody !== null\n ? (errorBody as Record<string, unknown>)\n : undefined;\n const message: string =\n typeof errorObject?.message === 'string'\n ? errorObject.message\n : `Powens API request failed with status ${response.status}`;\n const code =\n typeof errorObject?.code === 'string' ? errorObject.code : undefined;\n throw new PowensClientError(\n message,\n response.status,\n code,\n requestId,\n errorBody\n );\n }\n\n if (response.status === 204) {\n return undefined as T;\n }\n\n try {\n return (await response.json()) as T;\n } catch (error) {\n this.logger?.error?.(\n '[PowensClient] Failed to parse JSON response',\n error\n );\n throw new PowensClientError(\n 'Failed to parse Powens response payload as JSON',\n response.status,\n undefined,\n requestId\n );\n }\n } catch (error) {\n if (error instanceof PowensClientError) {\n throw error;\n }\n if ((error as Error).name === 'AbortError') {\n throw new PowensClientError(\n `Powens API request timed out after ${options.timeoutMs ?? this.defaultTimeoutMs}ms`,\n 408\n );\n }\n this.logger?.error?.('[PowensClient] Request failed', error);\n throw new PowensClientError(\n (error as Error).message ?? 'Powens API request failed',\n 500\n );\n } finally {\n clearTimeout(timeout);\n }\n }\n\n private async ensureAccessToken(): Promise<string> {\n if (this.token && Date.now() < this.token.expiresAt - 5000) {\n return this.token.accessToken;\n }\n this.token = await this.fetchAccessToken();\n return this.token.accessToken;\n }\n\n private async fetchAccessToken(): Promise<PowensOAuthToken> {\n const url = new URL('/oauth/token', this.baseUrl);\n const basicAuth = Buffer.from(\n `${this.clientId}:${this.clientSecret}`,\n 'utf-8'\n ).toString('base64');\n\n const response = await this.fetchImpl(url, {\n method: 'POST',\n headers: {\n Authorization: `Basic ${basicAuth}`,\n 'Content-Type': 'application/x-www-form-urlencoded',\n Accept: 'application/json',\n },\n body: new URLSearchParams({\n grant_type: 'client_credentials',\n }).toString(),\n });\n\n if (!response.ok) {\n let errorBody: unknown;\n try {\n errorBody = await response.json();\n } catch {\n // ignore\n }\n const errorObject =\n typeof errorBody === 'object' && errorBody !== null\n ? (errorBody as Record<string, unknown>)\n : undefined;\n const message: string =\n typeof errorObject?.error_description === 'string'\n ? errorObject.error_description\n : 'Failed to obtain Powens access token';\n throw new PowensClientError(\n message,\n response.status,\n undefined,\n undefined,\n errorBody\n );\n }\n\n const payload = (await response.json()) as PowensOAuthTokenResponse;\n const expiresAt = Date.now() + payload.expires_in * 1000;\n this.logger?.debug?.('[PowensClient] Received access token', {\n expiresIn: payload.expires_in,\n });\n return {\n accessToken: payload.access_token,\n expiresAt,\n scope: payload.scope,\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { PowensClientOptions } from "./powens-client.js";
|
|
2
|
-
import { OpenBankingAccountBalance, OpenBankingAccountDetails, OpenBankingConnectionStatus, OpenBankingGetAccountDetailsParams, OpenBankingGetBalancesParams, OpenBankingGetConnectionStatusParams, OpenBankingListAccountsParams, OpenBankingListAccountsResult, OpenBankingListTransactionsParams, OpenBankingListTransactionsResult, OpenBankingProvider } from "../openbanking.js";
|
|
3
|
-
|
|
4
|
-
//#region src/integrations/providers/impls/powens-openbanking.d.ts
|
|
5
|
-
interface PowensOpenBankingProviderOptions extends PowensClientOptions {}
|
|
6
|
-
declare class PowensOpenBankingProvider implements OpenBankingProvider {
|
|
7
|
-
private readonly client;
|
|
8
|
-
private readonly logger?;
|
|
9
|
-
constructor(options: PowensOpenBankingProviderOptions);
|
|
10
|
-
listAccounts(params: OpenBankingListAccountsParams): Promise<OpenBankingListAccountsResult>;
|
|
11
|
-
getAccountDetails(params: OpenBankingGetAccountDetailsParams): Promise<OpenBankingAccountDetails>;
|
|
12
|
-
listTransactions(params: OpenBankingListTransactionsParams): Promise<OpenBankingListTransactionsResult>;
|
|
13
|
-
getBalances(params: OpenBankingGetBalancesParams): Promise<OpenBankingAccountBalance[]>;
|
|
14
|
-
getConnectionStatus(params: OpenBankingGetConnectionStatusParams): Promise<OpenBankingConnectionStatus>;
|
|
15
|
-
private mapAccount;
|
|
16
|
-
private mapAccountDetails;
|
|
17
|
-
private mapTransaction;
|
|
18
|
-
private mapBalance;
|
|
19
|
-
private toContext;
|
|
20
|
-
private mapOwnership;
|
|
21
|
-
private mapAccountStatus;
|
|
22
|
-
private mapTransactionStatus;
|
|
23
|
-
private mapConnectionStatus;
|
|
24
|
-
private handleError;
|
|
25
|
-
}
|
|
26
|
-
//#endregion
|
|
27
|
-
export { PowensOpenBankingProvider, PowensOpenBankingProviderOptions };
|
|
28
|
-
//# sourceMappingURL=powens-openbanking.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"powens-openbanking.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/powens-openbanking.ts"],"sourcesContent":[],"mappings":";;;;UAyBiB,gCAAA,SAAyC;AAAzC,cAOJ,yBAAA,YAAqC,mBAP2B,CAAA;EAOhE,iBAAA,MAAA;EAIU,iBAAA,MAAA;EAMX,WAAA,CAAA,OAAA,EANW,gCAMX;EACC,YAAA,CAAA,MAAA,EADD,6BACC,CAAA,EAAR,OAAQ,CAAA,6BAAA,CAAA;EAAR,iBAAA,CAAA,MAAA,EA6BO,kCA7BP,CAAA,EA8BA,OA9BA,CA8BQ,yBA9BR,CAAA;EA6BO,gBAAA,CAAA,MAAA,EAYA,iCAZA,CAAA,EAaP,OAbO,CAaC,iCAbD,CAAA;EACC,WAAA,CAAA,MAAA,EAoCD,4BApCC,CAAA,EAqCR,OArCQ,CAqCA,yBArCA,EAAA,CAAA;EAAR,mBAAA,CAAA,MAAA,EAsDO,oCAtDP,CAAA,EAuDA,OAvDA,CAuDQ,2BAvDR,CAAA;EAWO,QAAA,UAAA;EACC,QAAA,iBAAA;EAAR,QAAA,cAAA;EAwBO,QAAA,UAAA;EACC,QAAA,SAAA;EAAR,QAAA,YAAA;EAiBO,QAAA,gBAAA;EACC,QAAA,oBAAA;EAAR,QAAA,mBAAA;EAhG6C,QAAA,WAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"powens-openbanking.js","names":[],"sources":["../../../../src/integrations/providers/impls/powens-openbanking.ts"],"sourcesContent":["import type {\n OpenBankingAccountBalance,\n OpenBankingAccountDetails,\n OpenBankingAccountSummary,\n OpenBankingConnectionStatus,\n OpenBankingGetAccountDetailsParams,\n OpenBankingGetBalancesParams,\n OpenBankingGetConnectionStatusParams,\n OpenBankingListAccountsParams,\n OpenBankingListAccountsResult,\n OpenBankingListTransactionsParams,\n OpenBankingListTransactionsResult,\n OpenBankingProvider,\n OpenBankingTransaction,\n} from '../openbanking';\nimport {\n PowensClient,\n PowensClientError,\n type PowensClientOptions,\n type PowensAccount,\n type PowensTransaction,\n type PowensBalance,\n type PowensConnectionStatusResponse,\n} from './powens-client';\n\nexport interface PowensOpenBankingProviderOptions extends PowensClientOptions {}\n\ninterface ProviderContext {\n tenantId: string;\n connectionId: string;\n}\n\nexport class PowensOpenBankingProvider implements OpenBankingProvider {\n private readonly client: PowensClient;\n private readonly logger?: PowensClientOptions['logger'];\n\n constructor(options: PowensOpenBankingProviderOptions) {\n this.client = new PowensClient(options);\n this.logger = options.logger;\n }\n\n async listAccounts(\n params: OpenBankingListAccountsParams\n ): Promise<OpenBankingListAccountsResult> {\n if (!params.userId) {\n throw new PowensClientError(\n 'Powens account listing requires the upstream userId mapped to Powens user UUID.',\n 400\n );\n }\n const context = this.toContext(params.tenantId, params.connectionId);\n try {\n const response = await this.client.listAccounts({\n userUuid: params.userId,\n cursor: params.cursor,\n limit: params.pageSize,\n includeBalances: params.includeBalances,\n institutionUuid: params.institutionId,\n });\n return {\n accounts: response.accounts.map((account) =>\n this.mapAccount(account, context)\n ),\n nextCursor: response.pagination?.nextCursor,\n hasMore: response.pagination?.hasMore,\n };\n } catch (error) {\n this.handleError('listAccounts', error);\n }\n }\n\n async getAccountDetails(\n params: OpenBankingGetAccountDetailsParams\n ): Promise<OpenBankingAccountDetails> {\n const context = this.toContext(params.tenantId, params.connectionId);\n try {\n const account = await this.client.getAccount(params.accountId);\n return this.mapAccountDetails(account, context);\n } catch (error) {\n this.handleError('getAccountDetails', error);\n }\n }\n\n async listTransactions(\n params: OpenBankingListTransactionsParams\n ): Promise<OpenBankingListTransactionsResult> {\n const context = this.toContext(params.tenantId, params.connectionId);\n try {\n const response = await this.client.listTransactions({\n accountUuid: params.accountId,\n cursor: params.cursor,\n limit: params.pageSize,\n from: params.from,\n to: params.to,\n includePending: params.includePending,\n });\n return {\n transactions: response.transactions.map((transaction) =>\n this.mapTransaction(transaction, context)\n ),\n nextCursor: response.pagination?.nextCursor,\n hasMore: response.pagination?.hasMore,\n };\n } catch (error) {\n this.handleError('listTransactions', error);\n }\n }\n\n async getBalances(\n params: OpenBankingGetBalancesParams\n ): Promise<OpenBankingAccountBalance[]> {\n const context = this.toContext(params.tenantId, params.connectionId);\n try {\n const balances = await this.client.getBalances(params.accountId);\n return balances\n .filter((balance) =>\n params.balanceTypes?.length\n ? params.balanceTypes.includes(balance.type as any)\n : true\n )\n .map((balance) => this.mapBalance(balance, context));\n } catch (error) {\n this.handleError('getBalances', error);\n }\n }\n\n async getConnectionStatus(\n params: OpenBankingGetConnectionStatusParams\n ): Promise<OpenBankingConnectionStatus> {\n try {\n const status = await this.client.getConnectionStatus(params.connectionId);\n return {\n connectionId: params.connectionId,\n tenantId: params.tenantId,\n status: this.mapConnectionStatus(status.status),\n lastCheckedAt: status.lastAttemptAt,\n errorCode: status.errorCode,\n errorMessage: status.errorMessage,\n details: status.metadata,\n };\n } catch (error) {\n this.handleError('getConnectionStatus', error);\n }\n }\n\n private mapAccount(\n account: PowensAccount,\n context: ProviderContext\n ): OpenBankingAccountSummary {\n return {\n id: account.uuid,\n externalId: account.reference ?? account.uuid,\n tenantId: context.tenantId,\n connectionId: context.connectionId,\n userId: account.userUuid,\n displayName: account.name,\n institutionId: account.institution.id,\n institutionName: account.institution.name,\n institutionLogoUrl: account.institution.logoUrl,\n accountType: account.type ?? 'unknown',\n iban: account.iban,\n bic: account.bic,\n currency: account.currency ?? 'EUR',\n accountNumberMasked: account.metadata?.account_number_masked as\n | string\n | undefined,\n ownership: this.mapOwnership(\n account.metadata?.ownership as string | undefined\n ),\n status: this.mapAccountStatus(account.status),\n lastSyncedAt: account.metadata?.last_sync_at as string | undefined,\n metadata: account.metadata,\n };\n }\n\n private mapAccountDetails(\n account: PowensAccount,\n context: ProviderContext\n ): OpenBankingAccountDetails {\n return {\n ...this.mapAccount(account, context),\n productCode: account.metadata?.product_code as string | undefined,\n openedAt: account.metadata?.opened_at as string | undefined,\n closedAt: account.metadata?.closed_at as string | undefined,\n availableBalance: account.availableBalance ?? undefined,\n currentBalance: account.balance ?? undefined,\n creditLimit: account.metadata?.credit_limit as number | undefined,\n customFields: account.metadata,\n };\n }\n\n private mapTransaction(\n transaction: PowensTransaction,\n context: ProviderContext\n ): OpenBankingTransaction {\n return {\n id: transaction.uuid,\n externalId: transaction.uuid,\n tenantId: context.tenantId,\n accountId: transaction.accountUuid,\n connectionId: context.connectionId,\n amount: transaction.amount,\n currency: transaction.currency,\n direction: transaction.direction === 'credit' ? 'credit' : 'debit',\n description: transaction.description ?? transaction.rawLabel,\n bookingDate: transaction.bookingDate,\n valueDate: transaction.valueDate,\n postedAt: transaction.bookingDate,\n category: transaction.category,\n rawCategory: transaction.rawLabel,\n merchantName: transaction.merchantName,\n merchantCategoryCode: transaction.merchantCategoryCode,\n counterpartyName: transaction.counterpartyName,\n counterpartyAccount: transaction.counterpartyAccount,\n reference: transaction.metadata?.reference as string | undefined,\n status: this.mapTransactionStatus(transaction.status),\n metadata: transaction.metadata,\n };\n }\n\n private mapBalance(\n balance: PowensBalance,\n context: ProviderContext\n ): OpenBankingAccountBalance {\n return {\n accountId: balance.accountUuid,\n connectionId: context.connectionId,\n tenantId: context.tenantId,\n type: (balance.type ?? 'current') as OpenBankingAccountBalance['type'],\n currency: balance.currency ?? 'EUR',\n amount: balance.amount,\n lastUpdatedAt: balance.updatedAt,\n metadata: balance.metadata,\n };\n }\n\n private toContext(tenantId: string, connectionId: string): ProviderContext {\n return { tenantId, connectionId };\n }\n\n private mapOwnership(value: string | undefined) {\n switch (value?.toLowerCase()) {\n case 'individual':\n case 'personal':\n return 'individual';\n case 'joint':\n return 'joint';\n case 'business':\n case 'corporate':\n return 'business';\n default:\n return 'unknown';\n }\n }\n\n private mapAccountStatus(status?: string) {\n switch (status?.toLowerCase()) {\n case 'active':\n case 'enabled':\n return 'active';\n case 'disabled':\n case 'inactive':\n return 'inactive';\n case 'closed':\n return 'closed';\n case 'suspended':\n return 'suspended';\n default:\n return 'active';\n }\n }\n\n private mapTransactionStatus(status?: string) {\n switch (status?.toLowerCase()) {\n case 'pending':\n case 'authorised':\n return 'pending';\n case 'booked':\n case 'posted':\n return 'booked';\n case 'cancelled':\n case 'rejected':\n return 'cancelled';\n default:\n return 'booked';\n }\n }\n\n private mapConnectionStatus(\n status: PowensConnectionStatusResponse['status']\n ): OpenBankingConnectionStatus['status'] {\n switch (status) {\n case 'healthy':\n return 'healthy';\n case 'pending':\n return 'degraded';\n case 'error':\n return 'error';\n case 'revoked':\n return 'disconnected';\n default:\n return 'degraded';\n }\n }\n\n private handleError(operation: string, error: unknown): never {\n if (error instanceof PowensClientError) {\n this.logger?.error?.(`[PowensOpenBankingProvider] ${operation} failed`, {\n status: error.status,\n code: error.code,\n requestId: error.requestId,\n message: error.message,\n });\n throw error;\n }\n this.logger?.error?.(\n `[PowensOpenBankingProvider] ${operation} failed with unexpected error`,\n error\n );\n throw error instanceof Error\n ? error\n : new Error(`Powens operation \"${operation}\" failed`);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { PaymentsProvider } from "../payments.js";
|
|
2
|
-
import { LLMProvider } from "../llm.js";
|
|
3
|
-
import { EmbeddingProvider } from "../embedding.js";
|
|
4
|
-
import { VectorStoreProvider } from "../vector-store.js";
|
|
5
|
-
import { EmailOutboundProvider } from "../email.js";
|
|
6
|
-
import { SmsProvider } from "../sms.js";
|
|
7
|
-
import { VoiceProvider } from "../voice.js";
|
|
8
|
-
import { ObjectStorageProvider } from "../storage.js";
|
|
9
|
-
import { OpenBankingProvider } from "../openbanking.js";
|
|
10
|
-
import { IntegrationContext } from "../../runtime.js";
|
|
11
|
-
|
|
12
|
-
//#region src/integrations/providers/impls/provider-factory.d.ts
|
|
13
|
-
declare class IntegrationProviderFactory {
|
|
14
|
-
createPaymentsProvider(context: IntegrationContext): Promise<PaymentsProvider>;
|
|
15
|
-
createEmailOutboundProvider(context: IntegrationContext): Promise<EmailOutboundProvider>;
|
|
16
|
-
createSmsProvider(context: IntegrationContext): Promise<SmsProvider>;
|
|
17
|
-
createVectorStoreProvider(context: IntegrationContext): Promise<VectorStoreProvider>;
|
|
18
|
-
createObjectStorageProvider(context: IntegrationContext): Promise<ObjectStorageProvider>;
|
|
19
|
-
createVoiceProvider(context: IntegrationContext): Promise<VoiceProvider>;
|
|
20
|
-
createLlmProvider(context: IntegrationContext): Promise<LLMProvider>;
|
|
21
|
-
createEmbeddingProvider(context: IntegrationContext): Promise<EmbeddingProvider>;
|
|
22
|
-
createOpenBankingProvider(context: IntegrationContext): Promise<OpenBankingProvider>;
|
|
23
|
-
private loadSecrets;
|
|
24
|
-
}
|
|
25
|
-
//#endregion
|
|
26
|
-
export { IntegrationProviderFactory };
|
|
27
|
-
//# sourceMappingURL=provider-factory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-factory.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/provider-factory.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;cA0Ba,0BAAA;kCAEA,qBACR,QAAQ;EAHA,2BAAA,CAAA,OAA0B,EAsB1B,kBAtB0B,CAAA,EAuBlC,OAvBkC,CAuB1B,qBAvB0B,CAAA;EAE1B,iBAAA,CAAA,OAAA,EA2CsB,kBA3CtB,CAAA,EA2C2C,OA3C3C,CA2CmD,WA3CnD,CAAA;EACA,yBAAA,CAAA,OAAA,EAmEA,kBAnEA,CAAA,EAoER,OApEQ,CAoEA,mBApEA,CAAA;EAAR,2BAAA,CAAA,OAAA,EAwFQ,kBAxFR,CAAA,EAyFA,OAzFA,CAyFQ,qBAzFR,CAAA;EAmBQ,mBAAA,CAAA,OAAA,EA8FA,kBA9FA,CAAA,EA+FR,OA/FQ,CA+FA,aA/FA,CAAA;EACA,iBAAA,CAAA,OAAA,EAkHsB,kBAlHtB,CAAA,EAkH2C,OAlH3C,CAkHmD,WAlHnD,CAAA;EAAR,uBAAA,CAAA,OAAA,EAsIQ,kBAtIR,CAAA,EAuIA,OAvIA,CAuIQ,iBAvIR,CAAA;EAsB8B,yBAAA,CAAA,OAAA,EAsItB,kBAtIsB,CAAA,EAuI9B,OAvI8B,CAuItB,mBAvIsB,CAAA;EAA6B,QAAA,WAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-factory.js","names":[],"sources":["../../../../src/integrations/providers/impls/provider-factory.ts"],"sourcesContent":["import { Buffer } from 'node:buffer';\n\nimport type { IntegrationContext } from '../../runtime';\nimport type { SecretValue } from '../../secrets/provider';\nimport { MistralLLMProvider } from './mistral-llm';\nimport { MistralEmbeddingProvider } from './mistral-embedding';\nimport { QdrantVectorProvider } from './qdrant-vector';\nimport { GoogleCloudStorageProvider } from './gcs-storage';\nimport { StripePaymentsProvider } from './stripe-payments';\nimport { PostmarkEmailProvider } from './postmark-email';\nimport { TwilioSmsProvider } from './twilio-sms';\nimport { ElevenLabsVoiceProvider } from './elevenlabs-voice';\nimport type { PaymentsProvider } from '../payments';\nimport type { EmailOutboundProvider } from '../email';\nimport type { SmsProvider } from '../sms';\nimport type { VectorStoreProvider } from '../vector-store';\nimport type { ObjectStorageProvider } from '../storage';\nimport type { VoiceProvider } from '../voice';\nimport type { LLMProvider } from '../llm';\nimport type { EmbeddingProvider } from '../embedding';\nimport type { OpenBankingProvider } from '../openbanking';\nimport { PowensOpenBankingProvider } from './powens-openbanking';\nimport type { PowensEnvironment } from './powens-client';\n\nconst SECRET_CACHE = new Map<string, Record<string, unknown>>();\n\nexport class IntegrationProviderFactory {\n async createPaymentsProvider(\n context: IntegrationContext\n ): Promise<PaymentsProvider> {\n const secrets = await this.loadSecrets(context);\n switch (context.spec.meta.key) {\n case 'payments.stripe':\n return new StripePaymentsProvider({\n apiKey: requireSecret<string>(\n secrets,\n 'apiKey',\n 'Stripe API key is required'\n ),\n });\n default:\n throw new Error(\n `Unsupported payments integration: ${context.spec.meta.key}`\n );\n }\n }\n\n async createEmailOutboundProvider(\n context: IntegrationContext\n ): Promise<EmailOutboundProvider> {\n const secrets = await this.loadSecrets(context);\n switch (context.spec.meta.key) {\n case 'email.postmark':\n return new PostmarkEmailProvider({\n serverToken: requireSecret<string>(\n secrets,\n 'serverToken',\n 'Postmark server token is required'\n ),\n defaultFromEmail: (context.config as { fromEmail?: string })\n .fromEmail,\n messageStream: (context.config as { messageStream?: string })\n .messageStream,\n });\n default:\n throw new Error(\n `Unsupported email integration: ${context.spec.meta.key}`\n );\n }\n }\n\n async createSmsProvider(context: IntegrationContext): Promise<SmsProvider> {\n const secrets = await this.loadSecrets(context);\n switch (context.spec.meta.key) {\n case 'sms.twilio':\n return new TwilioSmsProvider({\n accountSid: requireSecret<string>(\n secrets,\n 'accountSid',\n 'Twilio account SID is required'\n ),\n authToken: requireSecret<string>(\n secrets,\n 'authToken',\n 'Twilio auth token is required'\n ),\n fromNumber: (context.config as { fromNumber?: string }).fromNumber,\n });\n default:\n throw new Error(\n `Unsupported SMS integration: ${context.spec.meta.key}`\n );\n }\n }\n\n async createVectorStoreProvider(\n context: IntegrationContext\n ): Promise<VectorStoreProvider> {\n const secrets = await this.loadSecrets(context);\n switch (context.spec.meta.key) {\n case 'vectordb.qdrant':\n return new QdrantVectorProvider({\n url: requireConfig<string>(\n context,\n 'apiUrl',\n 'Qdrant apiUrl config is required'\n ),\n apiKey: secrets.apiKey as string | undefined,\n });\n default:\n throw new Error(\n `Unsupported vector store integration: ${context.spec.meta.key}`\n );\n }\n }\n\n async createObjectStorageProvider(\n context: IntegrationContext\n ): Promise<ObjectStorageProvider> {\n const secrets = await this.loadSecrets(context);\n switch (context.spec.meta.key) {\n case 'storage.s3':\n case 'storage.gcs':\n return new GoogleCloudStorageProvider({\n bucket: requireConfig<string>(\n context,\n 'bucket',\n 'Storage bucket is required'\n ),\n clientOptions:\n secrets.type === 'service_account'\n ? { credentials: secrets as any }\n : undefined,\n });\n default:\n throw new Error(\n `Unsupported storage integration: ${context.spec.meta.key}`\n );\n }\n }\n\n async createVoiceProvider(\n context: IntegrationContext\n ): Promise<VoiceProvider> {\n const secrets = await this.loadSecrets(context);\n switch (context.spec.meta.key) {\n case 'ai-voice.elevenlabs':\n return new ElevenLabsVoiceProvider({\n apiKey: requireSecret<string>(\n secrets,\n 'apiKey',\n 'ElevenLabs API key is required'\n ),\n defaultVoiceId: (context.config as { defaultVoiceId?: string })\n .defaultVoiceId,\n });\n default:\n throw new Error(\n `Unsupported voice integration: ${context.spec.meta.key}`\n );\n }\n }\n\n async createLlmProvider(context: IntegrationContext): Promise<LLMProvider> {\n const secrets = await this.loadSecrets(context);\n switch (context.spec.meta.key) {\n case 'ai-llm.mistral':\n return new MistralLLMProvider({\n apiKey: requireSecret<string>(\n secrets,\n 'apiKey',\n 'Mistral API key is required'\n ),\n defaultModel: (context.config as { model?: string }).model,\n });\n default:\n throw new Error(\n `Unsupported LLM integration: ${context.spec.meta.key}`\n );\n }\n }\n\n async createEmbeddingProvider(\n context: IntegrationContext\n ): Promise<EmbeddingProvider> {\n const secrets = await this.loadSecrets(context);\n switch (context.spec.meta.key) {\n case 'ai-llm.mistral':\n return new MistralEmbeddingProvider({\n apiKey: requireSecret<string>(\n secrets,\n 'apiKey',\n 'Mistral API key is required'\n ),\n defaultModel: (context.config as { embeddingModel?: string })\n .embeddingModel,\n });\n default:\n throw new Error(\n `Unsupported embeddings integration: ${context.spec.meta.key}`\n );\n }\n }\n\n async createOpenBankingProvider(\n context: IntegrationContext\n ): Promise<OpenBankingProvider> {\n const secrets = await this.loadSecrets(context);\n const config = context.config as {\n environment?: string;\n baseUrl?: string;\n region?: string;\n pollingIntervalMs?: number;\n };\n\n switch (context.spec.meta.key) {\n case 'openbanking.powens': {\n const environmentValue = requireConfig<string>(\n context,\n 'environment',\n 'Powens environment (sandbox | production) must be specified in integration config.'\n );\n if (\n environmentValue !== 'sandbox' &&\n environmentValue !== 'production'\n ) {\n throw new Error(\n `Powens environment \"${environmentValue}\" is invalid. Expected \"sandbox\" or \"production\".`\n );\n }\n\n return new PowensOpenBankingProvider({\n clientId: requireSecret<string>(\n secrets,\n 'clientId',\n 'Powens clientId is required'\n ),\n clientSecret: requireSecret<string>(\n secrets,\n 'clientSecret',\n 'Powens clientSecret is required'\n ),\n apiKey: secrets.apiKey as string | undefined,\n environment: environmentValue as PowensEnvironment,\n baseUrl: config?.baseUrl as string | undefined,\n });\n }\n default:\n throw new Error(\n `Unsupported open banking integration: ${context.spec.meta.key}`\n );\n }\n }\n\n private async loadSecrets(\n context: IntegrationContext\n ): Promise<Record<string, unknown>> {\n const cacheKey = context.connection.meta.id;\n if (SECRET_CACHE.has(cacheKey)) {\n return SECRET_CACHE.get(cacheKey)!;\n }\n const secret = await context.secretProvider.getSecret(\n context.secretReference\n );\n const value = parseSecret(secret);\n SECRET_CACHE.set(cacheKey, value);\n return value;\n }\n}\n\nfunction parseSecret(secret: SecretValue): Record<string, unknown> {\n const text = Buffer.from(secret.data).toString('utf-8').trim();\n if (!text) return {};\n try {\n return JSON.parse(text);\n } catch {\n return { apiKey: text };\n }\n}\n\nfunction requireSecret<T>(\n secrets: Record<string, unknown>,\n key: string,\n message: string\n): T {\n const value = secrets[key];\n if (value == null || value === '') {\n throw new Error(message);\n }\n return value as T;\n}\n\nfunction requireConfig<T>(\n context: IntegrationContext,\n key: string,\n message: string\n): T {\n const config = context.config as Record<string, unknown>;\n const value = config?.[key];\n if (value == null) {\n throw new Error(message);\n }\n return value as T;\n}\n"],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { VectorDeleteRequest, VectorSearchQuery, VectorSearchResult, VectorStoreProvider, VectorUpsertRequest } from "../vector-store.js";
|
|
2
|
-
import { QdrantClient, QdrantClientParams } from "@qdrant/js-client-rest";
|
|
3
|
-
|
|
4
|
-
//#region src/integrations/providers/impls/qdrant-vector.d.ts
|
|
5
|
-
interface QdrantVectorProviderOptions {
|
|
6
|
-
url: string;
|
|
7
|
-
apiKey?: string;
|
|
8
|
-
client?: QdrantClient;
|
|
9
|
-
createCollectionIfMissing?: boolean;
|
|
10
|
-
distance?: 'Cosine' | 'Euclid' | 'Dot' | 'Manhattan';
|
|
11
|
-
clientParams?: Omit<QdrantClientParams, 'url' | 'apiKey'>;
|
|
12
|
-
}
|
|
13
|
-
declare class QdrantVectorProvider implements VectorStoreProvider {
|
|
14
|
-
private readonly client;
|
|
15
|
-
private readonly createCollectionIfMissing;
|
|
16
|
-
private readonly distance;
|
|
17
|
-
constructor(options: QdrantVectorProviderOptions);
|
|
18
|
-
upsert(request: VectorUpsertRequest): Promise<void>;
|
|
19
|
-
search(query: VectorSearchQuery): Promise<VectorSearchResult[]>;
|
|
20
|
-
delete(request: VectorDeleteRequest): Promise<void>;
|
|
21
|
-
private ensureCollection;
|
|
22
|
-
}
|
|
23
|
-
//#endregion
|
|
24
|
-
export { QdrantVectorProvider, QdrantVectorProviderOptions };
|
|
25
|
-
//# sourceMappingURL=qdrant-vector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qdrant-vector.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/qdrant-vector.ts"],"sourcesContent":[],"mappings":";;;;UAUiB,2BAAA;;EAAA,MAAA,CAAA,EAAA,MAAA;EAGN,MAAA,CAAA,EAAA,YAAA;EAGW,yBAAA,CAAA,EAAA,OAAA;EAAL,QAAA,CAAA,EAAA,QAAA,GAAA,QAAA,GAAA,KAAA,GAAA,WAAA;EAAI,YAAA,CAAA,EAAJ,IAAI,CAAC,kBAAD,EAAA,KAAA,GAAA,QAAA,CAAA;AAGrB;AAKuB,cALV,oBAAA,YAAgC,mBAKtB,CAAA;EAYC,iBAAA,MAAA;EAAsB,iBAAA,yBAAA;EA0BxB,iBAAA,QAAA;EAA4B,WAAA,CAAA,OAAA,EAtC3B,2BAsC2B;EAAR,MAAA,CAAA,OAAA,EA1BlB,mBA0BkB,CAAA,EA1BI,OA0BJ,CAAA,IAAA,CAAA;EAqBlB,MAAA,CAAA,KAAA,EArBF,iBAqBE,CAAA,EArBkB,OAqBlB,CArB0B,kBAqB1B,EAAA,CAAA;EAAsB,MAAA,CAAA,OAAA,EAAtB,mBAAsB,CAAA,EAAA,OAAA,CAAA,IAAA,CAAA;EAhED,QAAA,gBAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qdrant-vector.js","names":[],"sources":["../../../../src/integrations/providers/impls/qdrant-vector.ts"],"sourcesContent":["import { QdrantClient, type QdrantClientParams } from '@qdrant/js-client-rest';\n\nimport type {\n VectorDeleteRequest,\n VectorSearchQuery,\n VectorSearchResult,\n VectorStoreProvider,\n VectorUpsertRequest,\n} from '../vector-store';\n\nexport interface QdrantVectorProviderOptions {\n url: string;\n apiKey?: string;\n client?: QdrantClient;\n createCollectionIfMissing?: boolean;\n distance?: 'Cosine' | 'Euclid' | 'Dot' | 'Manhattan';\n clientParams?: Omit<QdrantClientParams, 'url' | 'apiKey'>;\n}\n\nexport class QdrantVectorProvider implements VectorStoreProvider {\n private readonly client: QdrantClient;\n private readonly createCollectionIfMissing: boolean;\n private readonly distance: 'Cosine' | 'Euclid' | 'Dot' | 'Manhattan';\n\n constructor(options: QdrantVectorProviderOptions) {\n this.client =\n options.client ??\n new QdrantClient({\n url: options.url,\n apiKey: options.apiKey,\n ...options.clientParams,\n });\n this.createCollectionIfMissing = options.createCollectionIfMissing ?? true;\n this.distance = options.distance ?? 'Cosine';\n }\n\n async upsert(request: VectorUpsertRequest): Promise<void> {\n if (request.documents.length === 0) return;\n const vectorSize = request.documents[0]!.vector.length;\n\n if (this.createCollectionIfMissing) {\n await this.ensureCollection(request.collection, vectorSize);\n }\n\n const points = request.documents.map((document) => ({\n id: document.id,\n vector: document.vector,\n payload: {\n ...document.payload,\n ...(document.namespace ? { namespace: document.namespace } : {}),\n ...(document.expiresAt\n ? { expiresAt: document.expiresAt.toISOString() }\n : {}),\n },\n }));\n\n await this.client.upsert(request.collection, {\n wait: true,\n points,\n });\n }\n\n async search(query: VectorSearchQuery): Promise<VectorSearchResult[]> {\n const results = await this.client.search(query.collection, {\n vector: query.vector,\n limit: query.topK,\n filter: query.filter as any,\n score_threshold: query.scoreThreshold,\n with_payload: true,\n with_vector: false,\n });\n\n return results.map((item) => ({\n id: String(item.id),\n score: item.score,\n payload: item.payload ?? undefined,\n namespace:\n typeof item.payload === 'object' && item.payload !== null\n ? (item.payload.namespace as string | undefined)\n : undefined,\n }));\n }\n\n async delete(request: VectorDeleteRequest): Promise<void> {\n await this.client.delete(request.collection, {\n wait: true,\n points: request.ids,\n });\n }\n\n private async ensureCollection(\n collectionName: string,\n vectorSize: number\n ): Promise<void> {\n try {\n await this.client.getCollection(collectionName);\n } catch (error) {\n await this.client.createCollection(collectionName, {\n vectors: {\n size: vectorSize,\n distance: this.distance,\n },\n });\n }\n }\n}\n"],"mappings":"sDAmBA,IAAa,EAAb,KAAiE,CAC/D,OACA,0BACA,SAEA,YAAY,EAAsC,CAChD,KAAK,OACH,EAAQ,QACR,IAAI,EAAa,CACf,IAAK,EAAQ,IACb,OAAQ,EAAQ,OAChB,GAAG,EAAQ,aACZ,CAAC,CACJ,KAAK,0BAA4B,EAAQ,2BAA6B,GACtE,KAAK,SAAW,EAAQ,UAAY,SAGtC,MAAM,OAAO,EAA6C,CACxD,GAAI,EAAQ,UAAU,SAAW,EAAG,OACpC,IAAM,EAAa,EAAQ,UAAU,GAAI,OAAO,OAE5C,KAAK,2BACP,MAAM,KAAK,iBAAiB,EAAQ,WAAY,EAAW,CAG7D,IAAM,EAAS,EAAQ,UAAU,IAAK,IAAc,CAClD,GAAI,EAAS,GACb,OAAQ,EAAS,OACjB,QAAS,CACP,GAAG,EAAS,QACZ,GAAI,EAAS,UAAY,CAAE,UAAW,EAAS,UAAW,CAAG,EAAE,CAC/D,GAAI,EAAS,UACT,CAAE,UAAW,EAAS,UAAU,aAAa,CAAE,CAC/C,EAAE,CACP,CACF,EAAE,CAEH,MAAM,KAAK,OAAO,OAAO,EAAQ,WAAY,CAC3C,KAAM,GACN,SACD,CAAC,CAGJ,MAAM,OAAO,EAAyD,CAUpE,OATgB,MAAM,KAAK,OAAO,OAAO,EAAM,WAAY,CACzD,OAAQ,EAAM,OACd,MAAO,EAAM,KACb,OAAQ,EAAM,OACd,gBAAiB,EAAM,eACvB,aAAc,GACd,YAAa,GACd,CAAC,EAEa,IAAK,IAAU,CAC5B,GAAI,OAAO,EAAK,GAAG,CACnB,MAAO,EAAK,MACZ,QAAS,EAAK,SAAW,IAAA,GACzB,UACE,OAAO,EAAK,SAAY,UAAY,EAAK,UAAY,KAChD,EAAK,QAAQ,UACd,IAAA,GACP,EAAE,CAGL,MAAM,OAAO,EAA6C,CACxD,MAAM,KAAK,OAAO,OAAO,EAAQ,WAAY,CAC3C,KAAM,GACN,OAAQ,EAAQ,IACjB,CAAC,CAGJ,MAAc,iBACZ,EACA,EACe,CACf,GAAI,CACF,MAAM,KAAK,OAAO,cAAc,EAAe,MACjC,CACd,MAAM,KAAK,OAAO,iBAAiB,EAAgB,CACjD,QAAS,CACP,KAAM,EACN,SAAU,KAAK,SAChB,CACF,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { CapturePaymentInput, CreateCustomerInput, CreatePaymentIntentInput, ListInvoicesQuery, ListTransactionsQuery, PaymentCustomer, PaymentIntent, PaymentInvoice, PaymentRefund, PaymentTransaction, PaymentsProvider, RefundPaymentInput } from "../payments.js";
|
|
2
|
-
import Stripe from "stripe";
|
|
3
|
-
|
|
4
|
-
//#region src/integrations/providers/impls/stripe-payments.d.ts
|
|
5
|
-
interface StripePaymentsProviderOptions {
|
|
6
|
-
apiKey: string;
|
|
7
|
-
stripe?: Stripe;
|
|
8
|
-
}
|
|
9
|
-
declare class StripePaymentsProvider implements PaymentsProvider {
|
|
10
|
-
private readonly stripe;
|
|
11
|
-
constructor(options: StripePaymentsProviderOptions);
|
|
12
|
-
createCustomer(input: CreateCustomerInput): Promise<PaymentCustomer>;
|
|
13
|
-
getCustomer(customerId: string): Promise<PaymentCustomer | null>;
|
|
14
|
-
createPaymentIntent(input: CreatePaymentIntentInput): Promise<PaymentIntent>;
|
|
15
|
-
capturePayment(paymentIntentId: string, input?: CapturePaymentInput): Promise<PaymentIntent>;
|
|
16
|
-
cancelPaymentIntent(paymentIntentId: string): Promise<PaymentIntent>;
|
|
17
|
-
refundPayment(input: RefundPaymentInput): Promise<PaymentRefund>;
|
|
18
|
-
listInvoices(query?: ListInvoicesQuery): Promise<PaymentInvoice[]>;
|
|
19
|
-
listTransactions(query?: ListTransactionsQuery): Promise<PaymentTransaction[]>;
|
|
20
|
-
private toCustomer;
|
|
21
|
-
private toPaymentIntent;
|
|
22
|
-
private toInvoice;
|
|
23
|
-
private toMoney;
|
|
24
|
-
private toMetadata;
|
|
25
|
-
private mergeMetadata;
|
|
26
|
-
}
|
|
27
|
-
//#endregion
|
|
28
|
-
export { StripePaymentsProvider, StripePaymentsProviderOptions };
|
|
29
|
-
//# sourceMappingURL=stripe-payments.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stripe-payments.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/stripe-payments.ts"],"sourcesContent":[],"mappings":";;;;UAkBiB,6BAAA;;EAAA,MAAA,CAAA,EAEN,MAFM;AAOjB;AAGuB,cAHV,sBAAA,YAAkC,gBAGxB,CAAA;EAQO,iBAAA,MAAA;EAA8B,WAAA,CAAA,OAAA,EARrC,6BAQqC;EAAR,cAAA,CAAA,KAAA,EAAtB,mBAAsB,CAAA,EAAA,OAAA,CAAQ,eAAR,CAAA;EAUH,WAAA,CAAA,UAAA,EAAA,MAAA,CAAA,EAAR,OAAQ,CAAA,eAAA,GAAA,IAAA,CAAA;EAAR,mBAAA,CAAA,KAAA,EAO9B,wBAP8B,CAAA,EAQpC,OARoC,CAQ5B,aAR4B,CAAA;EAO9B,cAAA,CAAA,eAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAmBC,mBAnBD,CAAA,EAoBN,OApBM,CAoBE,aApBF,CAAA;EACE,mBAAA,CAAA,eAAA,EAAA,MAAA,CAAA,EA2ByC,OA3BzC,CA2BiD,aA3BjD,CAAA;EAAR,aAAA,CAAA,KAAA,EAgCwB,kBAhCxB,CAAA,EAgC6C,OAhC7C,CAgCqD,aAhCrD,CAAA;EAkBO,YAAA,CAAA,KAAA,CAAA,EAuCiB,iBAvCjB,CAAA,EAuCqC,OAvCrC,CAuC6C,cAvC7C,EAAA,CAAA;EACC,gBAAA,CAAA,KAAA,CAAA,EAsDD,qBAtDC,CAAA,EAuDR,OAvDQ,CAuDA,kBAvDA,EAAA,CAAA;EAAR,QAAA,UAAA;EAQyD,QAAA,eAAA;EAAR,QAAA,SAAA;EAKzB,QAAA,OAAA;EAA6B,QAAA,UAAA;EAAR,QAAA,aAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stripe-payments.js","names":["API_VERSION: Stripe.LatestApiVersion"],"sources":["../../../../src/integrations/providers/impls/stripe-payments.ts"],"sourcesContent":["import Stripe from 'stripe';\n\nimport type {\n CapturePaymentInput,\n CreateCustomerInput,\n CreatePaymentIntentInput,\n ListInvoicesQuery,\n ListTransactionsQuery,\n Money,\n PaymentCustomer,\n PaymentIntent,\n PaymentInvoice,\n PaymentRefund,\n PaymentTransaction,\n PaymentsProvider,\n RefundPaymentInput,\n} from '../payments';\n\nexport interface StripePaymentsProviderOptions {\n apiKey: string;\n stripe?: Stripe;\n}\n\nconst API_VERSION: Stripe.LatestApiVersion = '2025-10-29.clover';\n\nexport class StripePaymentsProvider implements PaymentsProvider {\n private readonly stripe: Stripe;\n\n constructor(options: StripePaymentsProviderOptions) {\n this.stripe =\n options.stripe ??\n new Stripe(options.apiKey, {\n apiVersion: API_VERSION,\n });\n }\n\n async createCustomer(input: CreateCustomerInput): Promise<PaymentCustomer> {\n const customer = await this.stripe.customers.create({\n email: input.email,\n name: input.name,\n description: input.description,\n metadata: input.metadata,\n });\n return this.toCustomer(customer);\n }\n\n async getCustomer(customerId: string): Promise<PaymentCustomer | null> {\n const customer = await this.stripe.customers.retrieve(customerId);\n if (customer.deleted) return null;\n return this.toCustomer(customer);\n }\n\n async createPaymentIntent(\n input: CreatePaymentIntentInput\n ): Promise<PaymentIntent> {\n const intent = await this.stripe.paymentIntents.create({\n amount: input.amount.amount,\n currency: input.amount.currency,\n customer: input.customerId,\n description: input.description,\n capture_method: input.captureMethod ?? 'automatic',\n confirmation_method: input.confirmationMethod ?? 'automatic',\n automatic_payment_methods: { enabled: true },\n metadata: input.metadata,\n return_url: input.returnUrl,\n statement_descriptor: input.statementDescriptor,\n });\n return this.toPaymentIntent(intent);\n }\n\n async capturePayment(\n paymentIntentId: string,\n input?: CapturePaymentInput\n ): Promise<PaymentIntent> {\n const intent = await this.stripe.paymentIntents.capture(\n paymentIntentId,\n input?.amount ? { amount_to_capture: input.amount.amount } : undefined\n );\n return this.toPaymentIntent(intent);\n }\n\n async cancelPaymentIntent(paymentIntentId: string): Promise<PaymentIntent> {\n const intent = await this.stripe.paymentIntents.cancel(paymentIntentId);\n return this.toPaymentIntent(intent);\n }\n\n async refundPayment(input: RefundPaymentInput): Promise<PaymentRefund> {\n const refund = await this.stripe.refunds.create({\n payment_intent: input.paymentIntentId,\n amount: input.amount?.amount,\n reason: mapRefundReason(input.reason),\n metadata: input.metadata,\n });\n const paymentIntentId =\n typeof refund.payment_intent === 'string'\n ? refund.payment_intent\n : (refund.payment_intent?.id ?? '');\n return {\n id: refund.id,\n paymentIntentId,\n amount: {\n amount: refund.amount ?? 0,\n currency: refund.currency?.toUpperCase() ?? 'USD',\n },\n status: mapRefundStatus(refund.status),\n reason: refund.reason ?? undefined,\n metadata: this.toMetadata(refund.metadata),\n createdAt: refund.created ? new Date(refund.created * 1000) : undefined,\n };\n }\n\n async listInvoices(query?: ListInvoicesQuery): Promise<PaymentInvoice[]> {\n const requestedStatus = query?.status?.[0];\n const stripeStatus =\n requestedStatus && requestedStatus !== 'deleted'\n ? requestedStatus\n : undefined;\n const response = await this.stripe.invoices.list({\n customer: query?.customerId,\n status: stripeStatus,\n limit: query?.limit,\n starting_after: query?.startingAfter,\n });\n return response.data.map((invoice) => this.toInvoice(invoice));\n }\n\n async listTransactions(\n query?: ListTransactionsQuery\n ): Promise<PaymentTransaction[]> {\n const response = await this.stripe.charges.list({\n customer: query?.customerId,\n payment_intent: query?.paymentIntentId,\n limit: query?.limit,\n starting_after: query?.startingAfter,\n });\n return response.data.map((charge) => ({\n id: charge.id,\n paymentIntentId:\n typeof charge.payment_intent === 'string'\n ? charge.payment_intent\n : charge.payment_intent?.id,\n amount: {\n amount: charge.amount,\n currency: charge.currency?.toUpperCase() ?? 'USD',\n },\n type: 'capture',\n status: mapChargeStatus(charge.status),\n description: charge.description ?? undefined,\n createdAt: new Date(charge.created * 1000),\n metadata: this.mergeMetadata(this.toMetadata(charge.metadata), {\n balanceTransaction:\n typeof charge.balance_transaction === 'string'\n ? charge.balance_transaction\n : undefined,\n }),\n }));\n }\n\n private toCustomer(customer: Stripe.Customer): PaymentCustomer {\n const metadata = this.toMetadata(customer.metadata);\n const updatedAtValue = metadata?.updatedAt;\n return {\n id: customer.id,\n email: customer.email ?? undefined,\n name: customer.name ?? undefined,\n metadata,\n createdAt: customer.created\n ? new Date(customer.created * 1000)\n : undefined,\n updatedAt: updatedAtValue ? new Date(updatedAtValue) : undefined,\n };\n }\n\n private toPaymentIntent(intent: Stripe.PaymentIntent): PaymentIntent {\n const metadata = this.toMetadata(intent.metadata);\n return {\n id: intent.id,\n amount: this.toMoney(\n intent.amount_received ?? intent.amount ?? 0,\n intent.currency\n ),\n status: mapPaymentIntentStatus(intent.status),\n customerId:\n typeof intent.customer === 'string'\n ? intent.customer\n : intent.customer?.id,\n description: intent.description ?? undefined,\n clientSecret: intent.client_secret ?? undefined,\n metadata,\n createdAt: new Date(intent.created * 1000),\n updatedAt:\n intent.canceled_at != null\n ? new Date(intent.canceled_at * 1000)\n : new Date(intent.created * 1000),\n };\n }\n\n private toInvoice(invoice: Stripe.Invoice): PaymentInvoice {\n const metadata = this.toMetadata(invoice.metadata);\n return {\n id: invoice.id,\n number: invoice.number ?? undefined,\n status: (invoice.status as PaymentInvoice['status']) ?? 'draft',\n amountDue: this.toMoney(invoice.amount_due ?? 0, invoice.currency),\n amountPaid: this.toMoney(invoice.amount_paid ?? 0, invoice.currency),\n customerId:\n typeof invoice.customer === 'string'\n ? invoice.customer\n : invoice.customer?.id,\n dueDate: invoice.due_date ? new Date(invoice.due_date * 1000) : undefined,\n hostedInvoiceUrl: invoice.hosted_invoice_url ?? undefined,\n metadata,\n createdAt: invoice.created ? new Date(invoice.created * 1000) : undefined,\n updatedAt: invoice.status_transitions?.finalized_at\n ? new Date(invoice.status_transitions.finalized_at * 1000)\n : undefined,\n };\n }\n\n private toMoney(amount: number, currency?: string | null): Money {\n return {\n amount,\n currency: currency?.toUpperCase() ?? 'USD',\n };\n }\n\n private toMetadata(\n metadata: Stripe.Metadata | Stripe.Metadata | null | undefined\n ): Record<string, string> | undefined {\n if (!metadata) return undefined;\n const entries = Object.entries(metadata).filter(\n (entry): entry is [string, string] => typeof entry[1] === 'string'\n );\n if (entries.length === 0) return undefined;\n return Object.fromEntries(entries);\n }\n\n private mergeMetadata(\n base: Record<string, string> | undefined,\n extras: Record<string, string | undefined>\n ): Record<string, string> | undefined {\n const filteredExtras = Object.entries(extras).filter(\n (entry): entry is [string, string] => typeof entry[1] === 'string'\n );\n if (!base && filteredExtras.length === 0) {\n return undefined;\n }\n return {\n ...(base ?? {}),\n ...Object.fromEntries(filteredExtras),\n };\n }\n}\n\nfunction mapRefundReason(\n reason?: string\n): Stripe.RefundCreateParams.Reason | undefined {\n if (!reason) return undefined;\n const allowed: Stripe.RefundCreateParams.Reason[] = [\n 'duplicate',\n 'fraudulent',\n 'requested_by_customer',\n ];\n return allowed.includes(reason as Stripe.RefundCreateParams.Reason)\n ? (reason as Stripe.RefundCreateParams.Reason)\n : undefined;\n}\n\nfunction mapPaymentIntentStatus(\n status: string | null | undefined\n): PaymentIntent['status'] {\n switch (status) {\n case 'requires_payment_method':\n return 'requires_payment_method';\n case 'requires_confirmation':\n return 'requires_confirmation';\n case 'requires_action':\n case 'requires_capture':\n return 'requires_action';\n case 'processing':\n return 'processing';\n case 'succeeded':\n return 'succeeded';\n case 'canceled':\n return 'canceled';\n default:\n return 'requires_payment_method';\n }\n}\n\nfunction mapRefundStatus(\n status: string | null | undefined\n): PaymentRefund['status'] {\n switch (status) {\n case 'pending':\n case 'succeeded':\n case 'failed':\n case 'canceled':\n return status;\n default:\n return 'pending';\n }\n}\n\nfunction mapChargeStatus(\n status: string | null | undefined\n): PaymentTransaction['status'] {\n switch (status) {\n case 'pending':\n case 'processing':\n return 'pending';\n case 'succeeded':\n return 'succeeded';\n case 'failed':\n case 'canceled':\n return 'failed';\n default:\n return 'pending';\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { SendSmsInput, SmsDeliveryStatus, SmsMessage, SmsProvider } from "../sms.js";
|
|
2
|
-
import Twilio from "twilio";
|
|
3
|
-
|
|
4
|
-
//#region src/integrations/providers/impls/twilio-sms.d.ts
|
|
5
|
-
type TwilioClient = ReturnType<typeof Twilio>;
|
|
6
|
-
interface TwilioSmsProviderOptions {
|
|
7
|
-
accountSid: string;
|
|
8
|
-
authToken: string;
|
|
9
|
-
fromNumber?: string;
|
|
10
|
-
client?: TwilioClient;
|
|
11
|
-
}
|
|
12
|
-
declare class TwilioSmsProvider implements SmsProvider {
|
|
13
|
-
private readonly client;
|
|
14
|
-
private readonly fromNumber?;
|
|
15
|
-
constructor(options: TwilioSmsProviderOptions);
|
|
16
|
-
sendSms(input: SendSmsInput): Promise<SmsMessage>;
|
|
17
|
-
getDeliveryStatus(messageId: string): Promise<SmsDeliveryStatus>;
|
|
18
|
-
}
|
|
19
|
-
//#endregion
|
|
20
|
-
export { TwilioSmsProvider, TwilioSmsProviderOptions };
|
|
21
|
-
//# sourceMappingURL=twilio-sms.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"twilio-sms.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/twilio-sms.ts"],"sourcesContent":[],"mappings":";;;;KASK,YAAA,GAAe,kBAAkB;UAErB,wBAAA;EAFZ,UAAA,EAAA,MAAY;EAEA,SAAA,EAAA,MAAA;EAOJ,UAAA,CAAA,EAAA,MAAA;EAIU,MAAA,CAAA,EAPZ,YAOY;;AAMuB,cAVjC,iBAAA,YAA6B,WAUI,CAAA;EAAR,iBAAA,MAAA;EAyBgB,iBAAA,UAAA;EAAR,WAAA,CAAA,OAAA,EA/BvB,wBA+BuB;EAnCJ,OAAA,CAAA,KAAA,EAUnB,YAVmB,CAAA,EAUJ,OAVI,CAUI,UAVJ,CAAA;EAAW,iBAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAmCP,OAnCO,CAmCC,iBAnCD,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"twilio-sms.js","names":[],"sources":["../../../../src/integrations/providers/impls/twilio-sms.ts"],"sourcesContent":["import Twilio from 'twilio';\n\nimport type {\n SendSmsInput,\n SmsDeliveryStatus,\n SmsMessage,\n SmsProvider,\n} from '../sms';\n\ntype TwilioClient = ReturnType<typeof Twilio>;\n\nexport interface TwilioSmsProviderOptions {\n accountSid: string;\n authToken: string;\n fromNumber?: string;\n client?: TwilioClient;\n}\n\nexport class TwilioSmsProvider implements SmsProvider {\n private readonly client: TwilioClient;\n private readonly fromNumber?: string;\n\n constructor(options: TwilioSmsProviderOptions) {\n this.client =\n options.client ?? Twilio(options.accountSid, options.authToken);\n this.fromNumber = options.fromNumber;\n }\n\n async sendSms(input: SendSmsInput): Promise<SmsMessage> {\n const message = await this.client.messages.create({\n to: input.to,\n from: input.from ?? this.fromNumber,\n body: input.body,\n });\n\n return {\n id: message.sid,\n to: message.to ?? input.to,\n from: message.from ?? input.from ?? this.fromNumber ?? '',\n body: message.body ?? input.body,\n status: mapStatus(message.status),\n sentAt: message.dateCreated ? new Date(message.dateCreated) : undefined,\n deliveredAt:\n message.status === 'delivered' && message.dateUpdated\n ? new Date(message.dateUpdated)\n : undefined,\n price: message.price ? Number(message.price) : undefined,\n priceCurrency: message.priceUnit ?? undefined,\n errorCode: message.errorCode ? String(message.errorCode) : undefined,\n errorMessage: message.errorMessage ?? undefined,\n };\n }\n\n async getDeliveryStatus(messageId: string): Promise<SmsDeliveryStatus> {\n const message = await this.client.messages(messageId).fetch();\n return {\n status: mapStatus(message.status),\n errorCode: message.errorCode ? String(message.errorCode) : undefined,\n errorMessage: message.errorMessage ?? undefined,\n updatedAt: message.dateUpdated\n ? new Date(message.dateUpdated)\n : new Date(),\n };\n }\n}\n\nfunction mapStatus(status: string | null): SmsMessage['status'] {\n switch (status) {\n case 'queued':\n case 'accepted':\n case 'scheduled':\n return 'queued';\n case 'sending':\n case 'processing':\n return 'sending';\n case 'sent':\n return 'sent';\n case 'delivered':\n return 'delivered';\n case 'undelivered':\n return 'undelivered';\n case 'failed':\n case 'canceled':\n return 'failed';\n default:\n return 'queued';\n }\n}\n"],"mappings":"sBAkBA,IAAa,EAAb,KAAsD,CACpD,OACA,WAEA,YAAY,EAAmC,CAC7C,KAAK,OACH,EAAQ,QAAU,EAAO,EAAQ,WAAY,EAAQ,UAAU,CACjE,KAAK,WAAa,EAAQ,WAG5B,MAAM,QAAQ,EAA0C,CACtD,IAAM,EAAU,MAAM,KAAK,OAAO,SAAS,OAAO,CAChD,GAAI,EAAM,GACV,KAAM,EAAM,MAAQ,KAAK,WACzB,KAAM,EAAM,KACb,CAAC,CAEF,MAAO,CACL,GAAI,EAAQ,IACZ,GAAI,EAAQ,IAAM,EAAM,GACxB,KAAM,EAAQ,MAAQ,EAAM,MAAQ,KAAK,YAAc,GACvD,KAAM,EAAQ,MAAQ,EAAM,KAC5B,OAAQ,EAAU,EAAQ,OAAO,CACjC,OAAQ,EAAQ,YAAc,IAAI,KAAK,EAAQ,YAAY,CAAG,IAAA,GAC9D,YACE,EAAQ,SAAW,aAAe,EAAQ,YACtC,IAAI,KAAK,EAAQ,YAAY,CAC7B,IAAA,GACN,MAAO,EAAQ,MAAQ,OAAO,EAAQ,MAAM,CAAG,IAAA,GAC/C,cAAe,EAAQ,WAAa,IAAA,GACpC,UAAW,EAAQ,UAAY,OAAO,EAAQ,UAAU,CAAG,IAAA,GAC3D,aAAc,EAAQ,cAAgB,IAAA,GACvC,CAGH,MAAM,kBAAkB,EAA+C,CACrE,IAAM,EAAU,MAAM,KAAK,OAAO,SAAS,EAAU,CAAC,OAAO,CAC7D,MAAO,CACL,OAAQ,EAAU,EAAQ,OAAO,CACjC,UAAW,EAAQ,UAAY,OAAO,EAAQ,UAAU,CAAG,IAAA,GAC3D,aAAc,EAAQ,cAAgB,IAAA,GACtC,UAAW,EAAQ,YACf,IAAI,KAAK,EAAQ,YAAY,CAC7B,IAAI,KACT,GAIL,SAAS,EAAU,EAA6C,CAC9D,OAAQ,EAAR,CACE,IAAK,SACL,IAAK,WACL,IAAK,YACH,MAAO,SACT,IAAK,UACL,IAAK,aACH,MAAO,UACT,IAAK,OACH,MAAO,OACT,IAAK,YACH,MAAO,YACT,IAAK,cACH,MAAO,cACT,IAAK,SACL,IAAK,WACH,MAAO,SACT,QACE,MAAO"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { CapturePaymentInput, CreateCustomerInput, CreatePaymentIntentInput, ListInvoicesQuery, ListTransactionsQuery, Money, PaymentCustomer, PaymentIntent, PaymentIntentStatus, PaymentInvoice, PaymentRefund, PaymentTransaction, PaymentsProvider, RefundPaymentInput } from "./payments.js";
|
|
2
|
-
import { LLMChatOptions, LLMContentPart, LLMMessage, LLMProvider, LLMResponse, LLMRole, LLMStreamChunk, LLMTextPart, LLMTokenUsage, LLMToolCallPart, LLMToolDefinition, LLMToolResultPart, TokenCountResult } from "./llm.js";
|
|
3
|
-
import { EmbeddingDocument, EmbeddingProvider, EmbeddingResult, EmbeddingVector } from "./embedding.js";
|
|
4
|
-
import { VectorDeleteRequest, VectorDocument, VectorSearchQuery, VectorSearchResult, VectorStoreProvider, VectorUpsertRequest } from "./vector-store.js";
|
|
5
|
-
import { EmailAddress, EmailAttachment, EmailInboundProvider, EmailMessage, EmailMessagesSinceQuery, EmailOutboundMessage, EmailOutboundProvider, EmailOutboundResult, EmailThread, EmailThreadListQuery } from "./email.js";
|
|
6
|
-
import { CalendarAttendee, CalendarEvent, CalendarEventInput, CalendarEventUpdateInput, CalendarListEventsQuery, CalendarListEventsResult, CalendarProvider, CalendarReminder } from "./calendar.js";
|
|
7
|
-
import { SendSmsInput, SmsDeliveryStatus, SmsMessage, SmsProvider } from "./sms.js";
|
|
8
|
-
import { Voice, VoiceProvider, VoiceSynthesisInput, VoiceSynthesisResult } from "./voice.js";
|
|
9
|
-
import { DeleteObjectInput, GetObjectResult, ListObjectsQuery, ListObjectsResult, ObjectStorageProvider, PutObjectInput, SignedUrlOptions, StorageObjectBody, StorageObjectMetadata } from "./storage.js";
|
|
10
|
-
import { registerStripeIntegration, stripeIntegrationSpec } from "./stripe.js";
|
|
11
|
-
import { postmarkIntegrationSpec, registerPostmarkIntegration } from "./postmark.js";
|
|
12
|
-
import { qdrantIntegrationSpec, registerQdrantIntegration } from "./qdrant.js";
|
|
13
|
-
import { mistralIntegrationSpec, registerMistralIntegration } from "./mistral.js";
|
|
14
|
-
import { elevenLabsIntegrationSpec, registerElevenLabsIntegration } from "./elevenlabs.js";
|
|
15
|
-
import { gmailIntegrationSpec, registerGmailIntegration } from "./gmail.js";
|
|
16
|
-
import { googleCalendarIntegrationSpec, registerGoogleCalendarIntegration } from "./google-calendar.js";
|
|
17
|
-
import { registerTwilioSmsIntegration, twilioSmsIntegrationSpec } from "./twilio-sms.js";
|
|
18
|
-
import { gcsStorageIntegrationSpec, registerGcsStorageIntegration } from "./gcs-storage.js";
|
|
19
|
-
import { powensIntegrationSpec, registerPowensIntegration } from "./powens.js";
|
|
20
|
-
import { MistralLLMProvider, MistralLLMProviderOptions } from "./impls/mistral-llm.js";
|
|
21
|
-
import { MistralEmbeddingProvider, MistralEmbeddingProviderOptions } from "./impls/mistral-embedding.js";
|
|
22
|
-
import { QdrantVectorProvider, QdrantVectorProviderOptions } from "./impls/qdrant-vector.js";
|
|
23
|
-
import { GmailInboundProvider, GmailInboundProviderOptions } from "./impls/gmail-inbound.js";
|
|
24
|
-
import { GmailOutboundProvider, GmailOutboundProviderOptions } from "./impls/gmail-outbound.js";
|
|
25
|
-
import { GoogleCalendarProvider, GoogleCalendarProviderOptions } from "./impls/google-calendar.js";
|
|
26
|
-
import { ElevenLabsVoiceProvider, ElevenLabsVoiceProviderOptions } from "./impls/elevenlabs-voice.js";
|
|
27
|
-
import { GoogleCloudStorageProvider, GoogleCloudStorageProviderOptions } from "./impls/gcs-storage.js";
|
|
28
|
-
import { StripePaymentsProvider, StripePaymentsProviderOptions } from "./impls/stripe-payments.js";
|
|
29
|
-
import { PostmarkEmailProvider, PostmarkEmailProviderOptions } from "./impls/postmark-email.js";
|
|
30
|
-
import { TwilioSmsProvider, TwilioSmsProviderOptions } from "./impls/twilio-sms.js";
|
|
31
|
-
import { PowensAccount, PowensAccountListResponse, PowensBalance, PowensClient, PowensClientError, PowensClientOptions, PowensConnectionStatusResponse, PowensEnvironment, PowensTransaction, PowensTransactionListResponse } from "./impls/powens-client.js";
|
|
32
|
-
import { OpenBankingAccountBalance, OpenBankingAccountDetails, OpenBankingAccountOwnership, OpenBankingAccountSummary, OpenBankingBalanceType, OpenBankingConnectionStatus, OpenBankingGetAccountDetailsParams, OpenBankingGetBalancesParams, OpenBankingGetConnectionStatusParams, OpenBankingListAccountsParams, OpenBankingListAccountsResult, OpenBankingListTransactionsParams, OpenBankingListTransactionsResult, OpenBankingProvider, OpenBankingTransaction } from "./openbanking.js";
|
|
33
|
-
import { PowensOpenBankingProvider, PowensOpenBankingProviderOptions } from "./impls/powens-openbanking.js";
|
|
34
|
-
import { IntegrationProviderFactory } from "./impls/provider-factory.js";
|
|
35
|
-
import "./impls/index.js";
|
|
36
|
-
export { CalendarAttendee, CalendarEvent, CalendarEventInput, CalendarEventUpdateInput, CalendarListEventsQuery, CalendarListEventsResult, CalendarProvider, CalendarReminder, CapturePaymentInput, CreateCustomerInput, CreatePaymentIntentInput, DeleteObjectInput, ElevenLabsVoiceProvider, ElevenLabsVoiceProviderOptions, EmailAddress, EmailAttachment, EmailInboundProvider, EmailMessage, EmailMessagesSinceQuery, EmailOutboundMessage, EmailOutboundProvider, EmailOutboundResult, EmailThread, EmailThreadListQuery, EmbeddingDocument, EmbeddingProvider, EmbeddingResult, EmbeddingVector, GetObjectResult, GmailInboundProvider, GmailInboundProviderOptions, GmailOutboundProvider, GmailOutboundProviderOptions, GoogleCalendarProvider, GoogleCalendarProviderOptions, GoogleCloudStorageProvider, GoogleCloudStorageProviderOptions, IntegrationProviderFactory, LLMChatOptions, LLMContentPart, LLMMessage, LLMProvider, LLMResponse, LLMRole, LLMStreamChunk, LLMTextPart, LLMTokenUsage, LLMToolCallPart, LLMToolDefinition, LLMToolResultPart, ListInvoicesQuery, ListObjectsQuery, ListObjectsResult, ListTransactionsQuery, MistralEmbeddingProvider, MistralEmbeddingProviderOptions, MistralLLMProvider, MistralLLMProviderOptions, Money, ObjectStorageProvider, OpenBankingAccountBalance, OpenBankingAccountDetails, OpenBankingAccountOwnership, OpenBankingAccountSummary, OpenBankingBalanceType, OpenBankingConnectionStatus, OpenBankingGetAccountDetailsParams, OpenBankingGetBalancesParams, OpenBankingGetConnectionStatusParams, OpenBankingListAccountsParams, OpenBankingListAccountsResult, OpenBankingListTransactionsParams, OpenBankingListTransactionsResult, OpenBankingProvider, OpenBankingTransaction, PaymentCustomer, PaymentIntent, PaymentIntentStatus, PaymentInvoice, PaymentRefund, PaymentTransaction, PaymentsProvider, PostmarkEmailProvider, PostmarkEmailProviderOptions, PowensAccount, PowensAccountListResponse, PowensBalance, PowensClient, PowensClientError, PowensClientOptions, PowensConnectionStatusResponse, PowensEnvironment, PowensOpenBankingProvider, PowensOpenBankingProviderOptions, PowensTransaction, PowensTransactionListResponse, PutObjectInput, QdrantVectorProvider, QdrantVectorProviderOptions, RefundPaymentInput, SendSmsInput, SignedUrlOptions, SmsDeliveryStatus, SmsMessage, SmsProvider, StorageObjectBody, StorageObjectMetadata, StripePaymentsProvider, StripePaymentsProviderOptions, TokenCountResult, TwilioSmsProvider, TwilioSmsProviderOptions, VectorDeleteRequest, VectorDocument, VectorSearchQuery, VectorSearchResult, VectorStoreProvider, VectorUpsertRequest, Voice, VoiceProvider, VoiceSynthesisInput, VoiceSynthesisResult, elevenLabsIntegrationSpec, gcsStorageIntegrationSpec, gmailIntegrationSpec, googleCalendarIntegrationSpec, mistralIntegrationSpec, postmarkIntegrationSpec, powensIntegrationSpec, qdrantIntegrationSpec, registerElevenLabsIntegration, registerGcsStorageIntegration, registerGmailIntegration, registerGoogleCalendarIntegration, registerMistralIntegration, registerPostmarkIntegration, registerPowensIntegration, registerQdrantIntegration, registerStripeIntegration, registerTwilioSmsIntegration, stripeIntegrationSpec, twilioSmsIntegrationSpec };
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
//#region src/integrations/providers/llm.d.ts
|
|
2
|
-
type LLMRole = 'system' | 'user' | 'assistant' | 'tool';
|
|
3
|
-
interface LLMTextPart {
|
|
4
|
-
type: 'text';
|
|
5
|
-
text: string;
|
|
6
|
-
}
|
|
7
|
-
interface LLMToolCallPart {
|
|
8
|
-
type: 'tool-call';
|
|
9
|
-
id: string;
|
|
10
|
-
name: string;
|
|
11
|
-
arguments: string;
|
|
12
|
-
}
|
|
13
|
-
interface LLMToolResultPart {
|
|
14
|
-
type: 'tool-result';
|
|
15
|
-
toolCallId: string;
|
|
16
|
-
output: string;
|
|
17
|
-
}
|
|
18
|
-
type LLMContentPart = LLMTextPart | LLMToolCallPart | LLMToolResultPart;
|
|
19
|
-
interface LLMMessage {
|
|
20
|
-
role: LLMRole;
|
|
21
|
-
content: LLMContentPart[];
|
|
22
|
-
name?: string;
|
|
23
|
-
toolCallId?: string;
|
|
24
|
-
metadata?: Record<string, string>;
|
|
25
|
-
}
|
|
26
|
-
interface LLMToolDefinition {
|
|
27
|
-
name: string;
|
|
28
|
-
description?: string;
|
|
29
|
-
inputSchema: unknown;
|
|
30
|
-
}
|
|
31
|
-
interface LLMTokenUsage {
|
|
32
|
-
promptTokens: number;
|
|
33
|
-
completionTokens: number;
|
|
34
|
-
totalTokens: number;
|
|
35
|
-
}
|
|
36
|
-
interface LLMChatOptions {
|
|
37
|
-
model?: string;
|
|
38
|
-
temperature?: number;
|
|
39
|
-
topP?: number;
|
|
40
|
-
maxOutputTokens?: number;
|
|
41
|
-
stopSequences?: string[];
|
|
42
|
-
responseFormat?: 'text' | 'json';
|
|
43
|
-
tools?: LLMToolDefinition[];
|
|
44
|
-
userId?: string;
|
|
45
|
-
metadata?: Record<string, string>;
|
|
46
|
-
timeoutMs?: number;
|
|
47
|
-
signal?: AbortSignal;
|
|
48
|
-
}
|
|
49
|
-
interface LLMResponse {
|
|
50
|
-
message: LLMMessage;
|
|
51
|
-
usage?: LLMTokenUsage;
|
|
52
|
-
finishReason?: 'stop' | 'length' | 'tool_call' | 'content_filter';
|
|
53
|
-
raw?: unknown;
|
|
54
|
-
}
|
|
55
|
-
type LLMStreamChunk = {
|
|
56
|
-
type: 'message_delta';
|
|
57
|
-
delta: LLMContentPart;
|
|
58
|
-
index: number;
|
|
59
|
-
} | {
|
|
60
|
-
type: 'tool_call';
|
|
61
|
-
call: LLMToolCallPart;
|
|
62
|
-
index: number;
|
|
63
|
-
} | {
|
|
64
|
-
type: 'usage';
|
|
65
|
-
usage: LLMTokenUsage;
|
|
66
|
-
} | {
|
|
67
|
-
type: 'error';
|
|
68
|
-
error: Error;
|
|
69
|
-
} | {
|
|
70
|
-
type: 'end';
|
|
71
|
-
response: LLMResponse;
|
|
72
|
-
};
|
|
73
|
-
interface TokenCountResult {
|
|
74
|
-
promptTokens: number;
|
|
75
|
-
}
|
|
76
|
-
interface LLMProvider {
|
|
77
|
-
chat(messages: LLMMessage[], options?: LLMChatOptions): Promise<LLMResponse>;
|
|
78
|
-
stream(messages: LLMMessage[], options?: LLMChatOptions): AsyncIterable<LLMStreamChunk>;
|
|
79
|
-
countTokens(messages: LLMMessage[]): Promise<TokenCountResult>;
|
|
80
|
-
}
|
|
81
|
-
//#endregion
|
|
82
|
-
export { LLMChatOptions, LLMContentPart, LLMMessage, LLMProvider, LLMResponse, LLMRole, LLMStreamChunk, LLMTextPart, LLMTokenUsage, LLMToolCallPart, LLMToolDefinition, LLMToolResultPart, TokenCountResult };
|
|
83
|
-
//# sourceMappingURL=llm.d.ts.map
|