@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.
Files changed (833) hide show
  1. package/README.md +1 -1
  2. package/dist/_virtual/rolldown_runtime.js +1 -0
  3. package/dist/app-config/app-config.feature.js +1 -0
  4. package/dist/app-config/contracts.js +1 -2
  5. package/dist/app-config/docs/app-config.docblock.js +220 -0
  6. package/dist/app-config/events.js +1 -2
  7. package/dist/app-config/index.js +1 -1
  8. package/dist/app-config/lifecycle-contracts.js +1 -2
  9. package/dist/app-config/runtime.js +1 -2
  10. package/dist/app-config/spec.js +1 -2
  11. package/dist/app-config/validation.js +1 -2
  12. package/dist/capabilities/docs/capabilities.docblock.js +1 -0
  13. package/dist/capabilities/openbanking.js +1 -2
  14. package/dist/capabilities.js +1 -2
  15. package/dist/client/react/drivers/rn-reusables.js +1 -2
  16. package/dist/client/react/drivers/shadcn.js +1 -2
  17. package/dist/client/react/feature-render.js +1 -2
  18. package/dist/client/react/form-render.js +1 -2
  19. package/dist/contract-registry/index.js +1 -0
  20. package/dist/contract-registry/schemas.js +1 -0
  21. package/dist/contract-registry/types.js +0 -0
  22. package/dist/contracts-adapter-hydration.js +1 -2
  23. package/dist/contracts-adapter-input.js +1 -2
  24. package/dist/data-views/docs/data-views.docblock.js +1 -0
  25. package/dist/data-views/query-generator.js +1 -2
  26. package/dist/data-views/runtime.js +1 -2
  27. package/dist/data-views.js +1 -2
  28. package/dist/docs/PUBLISHING.docblock.js +76 -0
  29. package/dist/docs/accessibility_wcag_compliance_specs.docblock.js +350 -0
  30. package/dist/docs/index.js +1 -0
  31. package/dist/docs/meta.docs.js +13 -0
  32. package/dist/docs/presentations.js +1 -0
  33. package/dist/docs/registry.js +1 -0
  34. package/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +383 -0
  35. package/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +68 -0
  36. package/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +140 -0
  37. package/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +86 -0
  38. package/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +1 -0
  39. package/dist/docs/tech/auth/better-auth-nextjs.docblock.js +58 -0
  40. package/dist/docs/tech/contracts/README.docblock.js +1 -0
  41. package/dist/docs/tech/contracts/create-subscription.docblock.js +1 -0
  42. package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.js +180 -0
  43. package/dist/docs/tech/contracts/migrations.docblock.js +1 -0
  44. package/dist/docs/tech/contracts/openapi-export.docblock.js +38 -0
  45. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.js +62 -0
  46. package/dist/docs/tech/contracts/overlays.docblock.js +68 -0
  47. package/dist/docs/tech/contracts/tests.docblock.js +132 -0
  48. package/dist/docs/tech/contracts/themes.docblock.js +1 -0
  49. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.js +106 -0
  50. package/dist/docs/tech/lifecycle-stage-system.docblock.js +213 -0
  51. package/dist/docs/tech/llm/llm-integration.docblock.js +289 -0
  52. package/dist/docs/tech/mcp-endpoints.docblock.js +1 -0
  53. package/dist/docs/tech/presentation-runtime.docblock.js +1 -0
  54. package/dist/docs/tech/schema/README.docblock.js +262 -0
  55. package/dist/docs/tech/studio/learning-events.docblock.js +1 -0
  56. package/dist/docs/tech/studio/learning-journeys.docblock.js +57 -0
  57. package/dist/docs/tech/studio/platform-admin-panel.docblock.js +63 -0
  58. package/dist/docs/tech/studio/project-access-teams.docblock.js +36 -0
  59. package/dist/docs/tech/studio/project-routing.docblock.js +1 -0
  60. package/dist/docs/tech/studio/sandbox-unlogged.docblock.js +20 -0
  61. package/dist/docs/tech/studio/team-invitations.docblock.js +65 -0
  62. package/dist/docs/tech/studio/workspace-ops.docblock.js +1 -0
  63. package/dist/docs/tech/studio/workspaces.docblock.js +41 -0
  64. package/dist/docs/tech/telemetry-ingest.docblock.js +122 -0
  65. package/dist/docs/tech/templates/runtime.docblock.js +1 -0
  66. package/dist/docs/tech/vscode-extension.docblock.js +68 -0
  67. package/dist/docs/tech/workflows/overview.docblock.js +1 -0
  68. package/dist/docs/tech-contracts.docs.js +76 -0
  69. package/dist/docs/types.js +0 -0
  70. package/dist/events.js +1 -2
  71. package/dist/experiments/docs/experiments.docblock.js +128 -0
  72. package/dist/experiments/evaluator.js +1 -2
  73. package/dist/experiments/spec.js +1 -2
  74. package/dist/features.js +1 -2
  75. package/dist/forms/docs/forms.docblock.js +1 -0
  76. package/dist/forms.js +1 -2
  77. package/dist/index.js +1 -1
  78. package/dist/install.js +1 -2
  79. package/dist/integrations/contracts.js +1 -2
  80. package/dist/integrations/docs/integrations.docblock.js +1 -0
  81. package/dist/integrations/health.js +1 -2
  82. package/dist/integrations/index.js +1 -1
  83. package/dist/integrations/openbanking/contracts/accounts.js +1 -2
  84. package/dist/integrations/openbanking/contracts/balances.js +1 -2
  85. package/dist/integrations/openbanking/contracts/index.js +1 -2
  86. package/dist/integrations/openbanking/contracts/transactions.js +1 -2
  87. package/dist/integrations/openbanking/guards.js +1 -2
  88. package/dist/integrations/openbanking/models.js +1 -2
  89. package/dist/integrations/openbanking/openbanking.feature.js +1 -0
  90. package/dist/integrations/openbanking/telemetry.js +1 -2
  91. package/dist/integrations/providers/elevenlabs.js +1 -2
  92. package/dist/integrations/providers/gcs-storage.js +1 -2
  93. package/dist/integrations/providers/gmail.js +1 -2
  94. package/dist/integrations/providers/google-calendar.js +1 -2
  95. package/dist/integrations/providers/impls/elevenlabs-voice.js +1 -2
  96. package/dist/integrations/providers/impls/gcs-storage.js +1 -2
  97. package/dist/integrations/providers/impls/gmail-inbound.js +1 -2
  98. package/dist/integrations/providers/impls/gmail-outbound.js +1 -2
  99. package/dist/integrations/providers/impls/google-calendar.js +1 -2
  100. package/dist/integrations/providers/impls/index.js +1 -1
  101. package/dist/integrations/providers/impls/mistral-embedding.js +1 -2
  102. package/dist/integrations/providers/impls/mistral-llm.js +1 -2
  103. package/dist/integrations/providers/impls/postmark-email.js +1 -2
  104. package/dist/integrations/providers/impls/powens-client.js +1 -2
  105. package/dist/integrations/providers/impls/powens-openbanking.js +1 -2
  106. package/dist/integrations/providers/impls/provider-factory.js +1 -2
  107. package/dist/integrations/providers/impls/qdrant-vector.js +1 -2
  108. package/dist/integrations/providers/impls/stripe-payments.js +1 -2
  109. package/dist/integrations/providers/impls/twilio-sms.js +1 -2
  110. package/dist/integrations/providers/index.js +1 -1
  111. package/dist/integrations/providers/mistral.js +1 -2
  112. package/dist/integrations/providers/postmark.js +1 -2
  113. package/dist/integrations/providers/powens.js +1 -2
  114. package/dist/integrations/providers/qdrant.js +1 -2
  115. package/dist/integrations/providers/registry.js +1 -0
  116. package/dist/integrations/providers/stripe.js +1 -2
  117. package/dist/integrations/providers/twilio-sms.js +1 -2
  118. package/dist/integrations/runtime.js +1 -2
  119. package/dist/integrations/secrets/aws-secret-manager.js +1 -0
  120. package/dist/integrations/secrets/env-secret-provider.js +1 -2
  121. package/dist/integrations/secrets/gcp-secret-manager.js +1 -2
  122. package/dist/integrations/secrets/index.js +1 -1
  123. package/dist/integrations/secrets/manager.js +1 -2
  124. package/dist/integrations/secrets/provider.js +1 -2
  125. package/dist/integrations/secrets/scaleway-secret-manager.js +1 -0
  126. package/dist/integrations/spec.js +1 -2
  127. package/dist/jobs/define-job.js +1 -0
  128. package/dist/jobs/gcp-cloud-tasks.js +1 -2
  129. package/dist/jobs/gcp-pubsub.js +1 -2
  130. package/dist/jobs/handlers/gmail-sync-handler.js +1 -2
  131. package/dist/jobs/handlers/index.js +1 -1
  132. package/dist/jobs/handlers/ping-handler.js +1 -0
  133. package/dist/jobs/handlers/storage-document-handler.js +1 -2
  134. package/dist/jobs/index.js +1 -1
  135. package/dist/jobs/memory-queue.js +1 -2
  136. package/dist/jobs/queue.js +1 -0
  137. package/dist/jobs/scaleway-sqs-queue.js +1 -0
  138. package/dist/jsonschema.js +1 -2
  139. package/dist/knowledge/contracts.js +1 -2
  140. package/dist/knowledge/docs/knowledge.docblock.js +138 -0
  141. package/dist/knowledge/ingestion/document-processor.js +1 -2
  142. package/dist/knowledge/ingestion/embedding-service.js +1 -2
  143. package/dist/knowledge/ingestion/gmail-adapter.js +1 -2
  144. package/dist/knowledge/ingestion/storage-adapter.js +1 -2
  145. package/dist/knowledge/ingestion/vector-indexer.js +1 -2
  146. package/dist/knowledge/query/service.js +1 -2
  147. package/dist/knowledge/runtime.js +1 -2
  148. package/dist/knowledge/spaces/email-threads.js +1 -2
  149. package/dist/knowledge/spaces/financial-docs.js +1 -2
  150. package/dist/knowledge/spaces/financial-overview.js +1 -2
  151. package/dist/knowledge/spaces/product-canon.js +1 -2
  152. package/dist/knowledge/spaces/support-faq.js +1 -2
  153. package/dist/knowledge/spaces/uploaded-docs.js +1 -2
  154. package/dist/knowledge/spec.js +1 -2
  155. package/dist/llm/exporters.js +8 -0
  156. package/dist/llm/index.js +1 -0
  157. package/dist/llm/prompts.js +220 -0
  158. package/dist/llm/types.js +0 -0
  159. package/dist/markdown.js +1 -2
  160. package/dist/migrations.js +1 -2
  161. package/dist/node_modules/@pothos/plugin-complexity/esm/calculate-complexity.js +1 -0
  162. package/dist/node_modules/@pothos/plugin-complexity/esm/defaults.js +1 -0
  163. package/dist/node_modules/@pothos/plugin-complexity/esm/index.js +1 -0
  164. package/dist/node_modules/@pothos/plugin-complexity/esm/types.js +1 -0
  165. package/dist/node_modules/@pothos/plugin-complexity/esm/util.js +1 -0
  166. package/dist/node_modules/@pothos/plugin-complexity/esm/validator.js +1 -0
  167. package/dist/node_modules/@pothos/plugin-dataloader/esm/field-builder.js +1 -0
  168. package/dist/node_modules/@pothos/plugin-dataloader/esm/index.js +1 -0
  169. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/index.js +1 -0
  170. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/interface.js +1 -0
  171. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/node.js +1 -0
  172. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/object.js +1 -0
  173. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/union.js +1 -0
  174. package/dist/node_modules/@pothos/plugin-dataloader/esm/schema-builder.js +1 -0
  175. package/dist/node_modules/@pothos/plugin-dataloader/esm/util.js +1 -0
  176. package/dist/node_modules/@pothos/plugin-prisma/esm/connection-helpers.js +1 -0
  177. package/dist/node_modules/@pothos/plugin-prisma/esm/field-builder.js +1 -0
  178. package/dist/node_modules/@pothos/plugin-prisma/esm/index.js +1 -0
  179. package/dist/node_modules/@pothos/plugin-prisma/esm/interface-ref.js +1 -0
  180. package/dist/node_modules/@pothos/plugin-prisma/esm/model-loader.js +1 -0
  181. package/dist/node_modules/@pothos/plugin-prisma/esm/node-ref.js +1 -0
  182. package/dist/node_modules/@pothos/plugin-prisma/esm/object-ref.js +1 -0
  183. package/dist/node_modules/@pothos/plugin-prisma/esm/prisma-field-builder.js +1 -0
  184. package/dist/node_modules/@pothos/plugin-prisma/esm/schema-builder.js +1 -0
  185. package/dist/node_modules/@pothos/plugin-prisma/esm/types.js +0 -0
  186. package/dist/node_modules/@pothos/plugin-prisma/esm/util/cursors.js +1 -0
  187. package/dist/node_modules/@pothos/plugin-prisma/esm/util/datamodel.js +1 -0
  188. package/dist/node_modules/@pothos/plugin-prisma/esm/util/deep-equal.js +1 -0
  189. package/dist/node_modules/@pothos/plugin-prisma/esm/util/description.js +1 -0
  190. package/dist/node_modules/@pothos/plugin-prisma/esm/util/get-client.js +1 -0
  191. package/dist/node_modules/@pothos/plugin-prisma/esm/util/loader-map.js +1 -0
  192. package/dist/node_modules/@pothos/plugin-prisma/esm/util/map-query.js +1 -0
  193. package/dist/node_modules/@pothos/plugin-prisma/esm/util/relation-map.js +1 -0
  194. package/dist/node_modules/@pothos/plugin-prisma/esm/util/selections.js +1 -0
  195. package/dist/node_modules/@pothos/plugin-prisma/esm/util/usage.js +1 -0
  196. package/dist/node_modules/@pothos/plugin-tracing/esm/index.js +1 -0
  197. package/dist/node_modules/@pothos/plugin-tracing/esm/util.js +1 -0
  198. package/dist/node_modules/dataloader/index.js +7 -0
  199. package/dist/node_modules/graphql/error/GraphQLError.js +5 -0
  200. package/dist/node_modules/graphql/error/index.js +1 -0
  201. package/dist/node_modules/graphql/error/locatedError.js +1 -0
  202. package/dist/node_modules/graphql/error/syntaxError.js +1 -0
  203. package/dist/node_modules/graphql/execution/collectFields.js +1 -0
  204. package/dist/node_modules/graphql/execution/execute.js +1 -0
  205. package/dist/node_modules/graphql/execution/index.js +1 -0
  206. package/dist/node_modules/graphql/execution/mapAsyncIterator.js +1 -0
  207. package/dist/node_modules/graphql/execution/subscribe.js +1 -0
  208. package/dist/node_modules/graphql/execution/values.js +1 -0
  209. package/dist/node_modules/graphql/graphql.js +1 -0
  210. package/dist/node_modules/graphql/index.js +1 -0
  211. package/dist/node_modules/graphql/jsutils/Path.js +1 -0
  212. package/dist/node_modules/graphql/jsutils/devAssert.js +1 -0
  213. package/dist/node_modules/graphql/jsutils/didYouMean.js +1 -0
  214. package/dist/node_modules/graphql/jsutils/groupBy.js +1 -0
  215. package/dist/node_modules/graphql/jsutils/identityFunc.js +1 -0
  216. package/dist/node_modules/graphql/jsutils/inspect.js +1 -0
  217. package/dist/node_modules/graphql/jsutils/instanceOf.js +12 -0
  218. package/dist/node_modules/graphql/jsutils/invariant.js +1 -0
  219. package/dist/node_modules/graphql/jsutils/isAsyncIterable.js +1 -0
  220. package/dist/node_modules/graphql/jsutils/isIterableObject.js +1 -0
  221. package/dist/node_modules/graphql/jsutils/isObjectLike.js +1 -0
  222. package/dist/node_modules/graphql/jsutils/isPromise.js +1 -0
  223. package/dist/node_modules/graphql/jsutils/keyMap.js +1 -0
  224. package/dist/node_modules/graphql/jsutils/keyValMap.js +1 -0
  225. package/dist/node_modules/graphql/jsutils/mapValue.js +1 -0
  226. package/dist/node_modules/graphql/jsutils/memoize3.js +1 -0
  227. package/dist/node_modules/graphql/jsutils/naturalCompare.js +1 -0
  228. package/dist/node_modules/graphql/jsutils/printPathArray.js +1 -0
  229. package/dist/node_modules/graphql/jsutils/promiseForObject.js +1 -0
  230. package/dist/node_modules/graphql/jsutils/promiseReduce.js +1 -0
  231. package/dist/node_modules/graphql/jsutils/suggestionList.js +1 -0
  232. package/dist/node_modules/graphql/jsutils/toError.js +1 -0
  233. package/dist/node_modules/graphql/jsutils/toObjMap.js +1 -0
  234. package/dist/node_modules/graphql/language/ast.js +1 -0
  235. package/dist/node_modules/graphql/language/blockString.js +3 -0
  236. package/dist/node_modules/graphql/language/characterClasses.js +1 -0
  237. package/dist/node_modules/graphql/language/directiveLocation.js +1 -0
  238. package/dist/node_modules/graphql/language/index.js +1 -0
  239. package/dist/node_modules/graphql/language/kinds.js +1 -0
  240. package/dist/node_modules/graphql/language/lexer.js +3 -0
  241. package/dist/node_modules/graphql/language/location.js +1 -0
  242. package/dist/node_modules/graphql/language/parser.js +1 -0
  243. package/dist/node_modules/graphql/language/predicates.js +1 -0
  244. package/dist/node_modules/graphql/language/printLocation.js +2 -0
  245. package/dist/node_modules/graphql/language/printString.js +1 -0
  246. package/dist/node_modules/graphql/language/printer.js +34 -0
  247. package/dist/node_modules/graphql/language/schemaCoordinateLexer.js +1 -0
  248. package/dist/node_modules/graphql/language/source.js +1 -0
  249. package/dist/node_modules/graphql/language/tokenKind.js +1 -0
  250. package/dist/node_modules/graphql/language/visitor.js +1 -0
  251. package/dist/node_modules/graphql/type/assertName.js +1 -0
  252. package/dist/node_modules/graphql/type/definition.js +1 -0
  253. package/dist/node_modules/graphql/type/directives.js +1 -0
  254. package/dist/node_modules/graphql/type/index.js +1 -0
  255. package/dist/node_modules/graphql/type/introspection.js +3 -0
  256. package/dist/node_modules/graphql/type/scalars.js +1 -0
  257. package/dist/node_modules/graphql/type/schema.js +1 -0
  258. package/dist/node_modules/graphql/type/validate.js +3 -0
  259. package/dist/node_modules/graphql/utilities/TypeInfo.js +1 -0
  260. package/dist/node_modules/graphql/utilities/assertValidName.js +1 -0
  261. package/dist/node_modules/graphql/utilities/astFromValue.js +1 -0
  262. package/dist/node_modules/graphql/utilities/buildASTSchema.js +1 -0
  263. package/dist/node_modules/graphql/utilities/buildClientSchema.js +1 -0
  264. package/dist/node_modules/graphql/utilities/coerceInputValue.js +1 -0
  265. package/dist/node_modules/graphql/utilities/concatAST.js +1 -0
  266. package/dist/node_modules/graphql/utilities/extendSchema.js +1 -0
  267. package/dist/node_modules/graphql/utilities/findBreakingChanges.js +1 -0
  268. package/dist/node_modules/graphql/utilities/getIntrospectionQuery.js +107 -0
  269. package/dist/node_modules/graphql/utilities/getOperationAST.js +1 -0
  270. package/dist/node_modules/graphql/utilities/getOperationRootType.js +1 -0
  271. package/dist/node_modules/graphql/utilities/index.js +1 -0
  272. package/dist/node_modules/graphql/utilities/introspectionFromSchema.js +1 -0
  273. package/dist/node_modules/graphql/utilities/lexicographicSortSchema.js +1 -0
  274. package/dist/node_modules/graphql/utilities/printSchema.js +13 -0
  275. package/dist/node_modules/graphql/utilities/resolveSchemaCoordinate.js +1 -0
  276. package/dist/node_modules/graphql/utilities/separateOperations.js +1 -0
  277. package/dist/node_modules/graphql/utilities/sortValueNode.js +1 -0
  278. package/dist/node_modules/graphql/utilities/stripIgnoredCharacters.js +1 -0
  279. package/dist/node_modules/graphql/utilities/typeComparators.js +1 -0
  280. package/dist/node_modules/graphql/utilities/typeFromAST.js +1 -0
  281. package/dist/node_modules/graphql/utilities/valueFromAST.js +1 -0
  282. package/dist/node_modules/graphql/utilities/valueFromASTUntyped.js +1 -0
  283. package/dist/node_modules/graphql/validation/ValidationContext.js +1 -0
  284. package/dist/node_modules/graphql/validation/index.js +1 -0
  285. package/dist/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js +1 -0
  286. package/dist/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.js +1 -0
  287. package/dist/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.js +1 -0
  288. package/dist/node_modules/graphql/validation/rules/KnownArgumentNamesRule.js +1 -0
  289. package/dist/node_modules/graphql/validation/rules/KnownDirectivesRule.js +1 -0
  290. package/dist/node_modules/graphql/validation/rules/KnownFragmentNamesRule.js +1 -0
  291. package/dist/node_modules/graphql/validation/rules/KnownTypeNamesRule.js +1 -0
  292. package/dist/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.js +1 -0
  293. package/dist/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.js +1 -0
  294. package/dist/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.js +1 -0
  295. package/dist/node_modules/graphql/validation/rules/NoFragmentCyclesRule.js +1 -0
  296. package/dist/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js +1 -0
  297. package/dist/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.js +1 -0
  298. package/dist/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js +1 -0
  299. package/dist/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.js +1 -0
  300. package/dist/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js +1 -0
  301. package/dist/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.js +1 -0
  302. package/dist/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.js +1 -0
  303. package/dist/node_modules/graphql/validation/rules/ScalarLeafsRule.js +1 -0
  304. package/dist/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.js +1 -0
  305. package/dist/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.js +1 -0
  306. package/dist/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js +1 -0
  307. package/dist/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js +1 -0
  308. package/dist/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.js +1 -0
  309. package/dist/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.js +1 -0
  310. package/dist/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.js +1 -0
  311. package/dist/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.js +1 -0
  312. package/dist/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js +1 -0
  313. package/dist/node_modules/graphql/validation/rules/UniqueOperationNamesRule.js +1 -0
  314. package/dist/node_modules/graphql/validation/rules/UniqueOperationTypesRule.js +1 -0
  315. package/dist/node_modules/graphql/validation/rules/UniqueTypeNamesRule.js +1 -0
  316. package/dist/node_modules/graphql/validation/rules/UniqueVariableNamesRule.js +1 -0
  317. package/dist/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.js +1 -0
  318. package/dist/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.js +1 -0
  319. package/dist/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.js +1 -0
  320. package/dist/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.js +1 -0
  321. package/dist/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +1 -0
  322. package/dist/node_modules/graphql/validation/specifiedRules.js +1 -0
  323. package/dist/node_modules/graphql/validation/validate.js +5 -0
  324. package/dist/node_modules/graphql/version.js +1 -0
  325. package/dist/onboarding-base.js +1 -2
  326. package/dist/openapi.js +1 -0
  327. package/dist/openbanking/docs/openbanking.docblock.js +109 -0
  328. package/dist/ownership.js +1 -2
  329. package/dist/policy/docs/policy.docblock.js +1 -0
  330. package/dist/policy/engine.js +1 -2
  331. package/dist/policy/opa-adapter.js +1 -2
  332. package/dist/policy/spec.js +1 -2
  333. package/dist/presentations/docs/presentations-conventions.docblock.js +8 -0
  334. package/dist/presentations.backcompat.js +1 -2
  335. package/dist/presentations.js +1 -2
  336. package/dist/presentations.v2.js +7 -2
  337. package/dist/prompt.js +1 -2
  338. package/dist/promptRegistry.js +1 -2
  339. package/dist/regenerator/docs/regenerator.docblock.js +184 -0
  340. package/dist/regenerator/executor.js +1 -2
  341. package/dist/regenerator/service.js +1 -2
  342. package/dist/regenerator/sinks.js +1 -2
  343. package/dist/regenerator/utils.js +1 -2
  344. package/dist/registry.js +1 -2
  345. package/dist/resources.js +1 -2
  346. package/dist/schema-to-markdown.js +10 -0
  347. package/dist/server/graphql-pothos.js +1 -2
  348. package/dist/server/index.js +1 -1
  349. package/dist/server/mcp/createMcpServer.js +1 -0
  350. package/dist/server/mcp/mcpTypes.js +0 -0
  351. package/dist/server/mcp/registerPresentations.js +1 -0
  352. package/dist/server/mcp/registerPrompts.js +3 -0
  353. package/dist/server/mcp/registerResources.js +1 -0
  354. package/dist/server/mcp/registerTools.js +1 -0
  355. package/dist/server/provider-mcp.js +1 -2
  356. package/dist/server/rest-elysia.js +1 -2
  357. package/dist/server/rest-express.js +1 -2
  358. package/dist/server/rest-generic.js +1 -2
  359. package/dist/server/rest-next-app.js +1 -2
  360. package/dist/server/rest-next-mcp.js +1 -2
  361. package/dist/server/rest-next-pages.js +1 -2
  362. package/dist/spec.js +1 -2
  363. package/dist/telemetry/anomaly.js +1 -2
  364. package/dist/telemetry/docs/telemetry.docblock.js +139 -0
  365. package/dist/telemetry/spec.js +1 -2
  366. package/dist/telemetry/tracker.js +1 -2
  367. package/dist/tests/runner.js +1 -2
  368. package/dist/tests/spec.js +1 -2
  369. package/dist/themes.js +1 -2
  370. package/dist/workflow/adapters/db-adapter.js +1 -2
  371. package/dist/workflow/adapters/file-adapter.js +1 -2
  372. package/dist/workflow/adapters/memory-store.js +1 -2
  373. package/dist/workflow/expression.js +1 -2
  374. package/dist/workflow/runner.js +1 -2
  375. package/dist/workflow/sla-monitor.js +1 -2
  376. package/dist/workflow/spec.js +1 -2
  377. package/dist/workflow/validation.js +1 -2
  378. package/package.json +353 -193
  379. package/dist/app-config/branding.d.ts +0 -56
  380. package/dist/app-config/branding.d.ts.map +0 -1
  381. package/dist/app-config/contracts.d.ts +0 -245
  382. package/dist/app-config/contracts.d.ts.map +0 -1
  383. package/dist/app-config/contracts.js.map +0 -1
  384. package/dist/app-config/events.d.ts +0 -123
  385. package/dist/app-config/events.d.ts.map +0 -1
  386. package/dist/app-config/events.js.map +0 -1
  387. package/dist/app-config/index.d.ts +0 -8
  388. package/dist/app-config/lifecycle-contracts.d.ts +0 -383
  389. package/dist/app-config/lifecycle-contracts.d.ts.map +0 -1
  390. package/dist/app-config/lifecycle-contracts.js.map +0 -1
  391. package/dist/app-config/lifecycle.d.ts +0 -28
  392. package/dist/app-config/lifecycle.d.ts.map +0 -1
  393. package/dist/app-config/runtime.d.ts +0 -115
  394. package/dist/app-config/runtime.d.ts.map +0 -1
  395. package/dist/app-config/runtime.js.map +0 -1
  396. package/dist/app-config/spec.d.ts +0 -176
  397. package/dist/app-config/spec.d.ts.map +0 -1
  398. package/dist/app-config/spec.js.map +0 -1
  399. package/dist/app-config/validation.d.ts +0 -48
  400. package/dist/app-config/validation.d.ts.map +0 -1
  401. package/dist/app-config/validation.js.map +0 -1
  402. package/dist/capabilities/openbanking.d.ts +0 -10
  403. package/dist/capabilities/openbanking.d.ts.map +0 -1
  404. package/dist/capabilities/openbanking.js.map +0 -1
  405. package/dist/capabilities.d.ts +0 -46
  406. package/dist/capabilities.d.ts.map +0 -1
  407. package/dist/capabilities.js.map +0 -1
  408. package/dist/client/index.d.ts +0 -6
  409. package/dist/client/react/drivers/rn-reusables.d.ts +0 -23
  410. package/dist/client/react/drivers/rn-reusables.d.ts.map +0 -1
  411. package/dist/client/react/drivers/rn-reusables.js.map +0 -1
  412. package/dist/client/react/drivers/shadcn.d.ts +0 -13
  413. package/dist/client/react/drivers/shadcn.d.ts.map +0 -1
  414. package/dist/client/react/drivers/shadcn.js.map +0 -1
  415. package/dist/client/react/feature-render.d.ts +0 -21
  416. package/dist/client/react/feature-render.d.ts.map +0 -1
  417. package/dist/client/react/feature-render.js.map +0 -1
  418. package/dist/client/react/form-render.d.ts +0 -92
  419. package/dist/client/react/form-render.d.ts.map +0 -1
  420. package/dist/client/react/form-render.js.map +0 -1
  421. package/dist/client/react/index.d.ts +0 -5
  422. package/dist/contracts-adapter-hydration.d.ts +0 -16
  423. package/dist/contracts-adapter-hydration.d.ts.map +0 -1
  424. package/dist/contracts-adapter-hydration.js.map +0 -1
  425. package/dist/contracts-adapter-input.d.ts +0 -11
  426. package/dist/contracts-adapter-input.d.ts.map +0 -1
  427. package/dist/contracts-adapter-input.js.map +0 -1
  428. package/dist/data-views/query-generator.d.ts +0 -40
  429. package/dist/data-views/query-generator.d.ts.map +0 -1
  430. package/dist/data-views/query-generator.js.map +0 -1
  431. package/dist/data-views/runtime.d.ts +0 -27
  432. package/dist/data-views/runtime.d.ts.map +0 -1
  433. package/dist/data-views/runtime.js.map +0 -1
  434. package/dist/data-views.d.ts +0 -132
  435. package/dist/data-views.d.ts.map +0 -1
  436. package/dist/data-views.js.map +0 -1
  437. package/dist/events.d.ts +0 -45
  438. package/dist/events.d.ts.map +0 -1
  439. package/dist/events.js.map +0 -1
  440. package/dist/experiments/evaluator.d.ts +0 -38
  441. package/dist/experiments/evaluator.d.ts.map +0 -1
  442. package/dist/experiments/evaluator.js.map +0 -1
  443. package/dist/experiments/spec-resolver.d.ts +0 -17
  444. package/dist/experiments/spec-resolver.d.ts.map +0 -1
  445. package/dist/experiments/spec.d.ts +0 -90
  446. package/dist/experiments/spec.d.ts.map +0 -1
  447. package/dist/experiments/spec.js.map +0 -1
  448. package/dist/features.d.ts +0 -88
  449. package/dist/features.d.ts.map +0 -1
  450. package/dist/features.js.map +0 -1
  451. package/dist/forms.d.ts +0 -259
  452. package/dist/forms.d.ts.map +0 -1
  453. package/dist/forms.js.map +0 -1
  454. package/dist/graphql-federation/dist/index.js +0 -2
  455. package/dist/graphql-federation/dist/index.js.map +0 -1
  456. package/dist/index.d.ts +0 -130
  457. package/dist/install.d.ts +0 -77
  458. package/dist/install.d.ts.map +0 -1
  459. package/dist/install.js.map +0 -1
  460. package/dist/integrations/binding.d.ts +0 -18
  461. package/dist/integrations/binding.d.ts.map +0 -1
  462. package/dist/integrations/connection.d.ts +0 -52
  463. package/dist/integrations/connection.d.ts.map +0 -1
  464. package/dist/integrations/contracts.d.ts +0 -436
  465. package/dist/integrations/contracts.d.ts.map +0 -1
  466. package/dist/integrations/contracts.js.map +0 -1
  467. package/dist/integrations/health.d.ts +0 -22
  468. package/dist/integrations/health.d.ts.map +0 -1
  469. package/dist/integrations/health.js.map +0 -1
  470. package/dist/integrations/index.d.ts +0 -53
  471. package/dist/integrations/openbanking/contracts/accounts.d.ts +0 -288
  472. package/dist/integrations/openbanking/contracts/accounts.d.ts.map +0 -1
  473. package/dist/integrations/openbanking/contracts/accounts.js.map +0 -1
  474. package/dist/integrations/openbanking/contracts/balances.d.ts +0 -164
  475. package/dist/integrations/openbanking/contracts/balances.d.ts.map +0 -1
  476. package/dist/integrations/openbanking/contracts/balances.js.map +0 -1
  477. package/dist/integrations/openbanking/contracts/index.d.ts +0 -10
  478. package/dist/integrations/openbanking/contracts/index.d.ts.map +0 -1
  479. package/dist/integrations/openbanking/contracts/index.js.map +0 -1
  480. package/dist/integrations/openbanking/contracts/transactions.d.ts +0 -212
  481. package/dist/integrations/openbanking/contracts/transactions.d.ts.map +0 -1
  482. package/dist/integrations/openbanking/contracts/transactions.js.map +0 -1
  483. package/dist/integrations/openbanking/guards.d.ts +0 -13
  484. package/dist/integrations/openbanking/guards.d.ts.map +0 -1
  485. package/dist/integrations/openbanking/guards.js.map +0 -1
  486. package/dist/integrations/openbanking/models.d.ts +0 -229
  487. package/dist/integrations/openbanking/models.d.ts.map +0 -1
  488. package/dist/integrations/openbanking/models.js.map +0 -1
  489. package/dist/integrations/openbanking/telemetry.d.ts +0 -16
  490. package/dist/integrations/openbanking/telemetry.d.ts.map +0 -1
  491. package/dist/integrations/openbanking/telemetry.js.map +0 -1
  492. package/dist/integrations/providers/calendar.d.ts +0 -79
  493. package/dist/integrations/providers/calendar.d.ts.map +0 -1
  494. package/dist/integrations/providers/elevenlabs.d.ts +0 -8
  495. package/dist/integrations/providers/elevenlabs.d.ts.map +0 -1
  496. package/dist/integrations/providers/elevenlabs.js.map +0 -1
  497. package/dist/integrations/providers/email.d.ts +0 -87
  498. package/dist/integrations/providers/email.d.ts.map +0 -1
  499. package/dist/integrations/providers/embedding.d.ts +0 -25
  500. package/dist/integrations/providers/embedding.d.ts.map +0 -1
  501. package/dist/integrations/providers/gcs-storage.d.ts +0 -8
  502. package/dist/integrations/providers/gcs-storage.d.ts.map +0 -1
  503. package/dist/integrations/providers/gcs-storage.js.map +0 -1
  504. package/dist/integrations/providers/gmail.d.ts +0 -8
  505. package/dist/integrations/providers/gmail.d.ts.map +0 -1
  506. package/dist/integrations/providers/gmail.js.map +0 -1
  507. package/dist/integrations/providers/google-calendar.d.ts +0 -8
  508. package/dist/integrations/providers/google-calendar.d.ts.map +0 -1
  509. package/dist/integrations/providers/google-calendar.js.map +0 -1
  510. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts +0 -21
  511. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts.map +0 -1
  512. package/dist/integrations/providers/impls/elevenlabs-voice.js.map +0 -1
  513. package/dist/integrations/providers/impls/gcs-storage.d.ts +0 -25
  514. package/dist/integrations/providers/impls/gcs-storage.d.ts.map +0 -1
  515. package/dist/integrations/providers/impls/gcs-storage.js.map +0 -1
  516. package/dist/integrations/providers/impls/gmail-inbound.d.ts +0 -27
  517. package/dist/integrations/providers/impls/gmail-inbound.d.ts.map +0 -1
  518. package/dist/integrations/providers/impls/gmail-inbound.js.map +0 -1
  519. package/dist/integrations/providers/impls/gmail-outbound.d.ts +0 -19
  520. package/dist/integrations/providers/impls/gmail-outbound.d.ts.map +0 -1
  521. package/dist/integrations/providers/impls/gmail-outbound.js.map +0 -1
  522. package/dist/integrations/providers/impls/google-calendar.d.ts +0 -24
  523. package/dist/integrations/providers/impls/google-calendar.d.ts.map +0 -1
  524. package/dist/integrations/providers/impls/google-calendar.js.map +0 -1
  525. package/dist/integrations/providers/impls/index.d.ts +0 -15
  526. package/dist/integrations/providers/impls/mistral-embedding.d.ts +0 -24
  527. package/dist/integrations/providers/impls/mistral-embedding.d.ts.map +0 -1
  528. package/dist/integrations/providers/impls/mistral-embedding.js.map +0 -1
  529. package/dist/integrations/providers/impls/mistral-llm.d.ts +0 -32
  530. package/dist/integrations/providers/impls/mistral-llm.d.ts.map +0 -1
  531. package/dist/integrations/providers/impls/mistral-llm.js.map +0 -1
  532. package/dist/integrations/providers/impls/postmark-email.d.ts +0 -20
  533. package/dist/integrations/providers/impls/postmark-email.d.ts.map +0 -1
  534. package/dist/integrations/providers/impls/postmark-email.js.map +0 -1
  535. package/dist/integrations/providers/impls/powens-client.d.ts +0 -125
  536. package/dist/integrations/providers/impls/powens-client.d.ts.map +0 -1
  537. package/dist/integrations/providers/impls/powens-client.js.map +0 -1
  538. package/dist/integrations/providers/impls/powens-openbanking.d.ts +0 -28
  539. package/dist/integrations/providers/impls/powens-openbanking.d.ts.map +0 -1
  540. package/dist/integrations/providers/impls/powens-openbanking.js.map +0 -1
  541. package/dist/integrations/providers/impls/provider-factory.d.ts +0 -27
  542. package/dist/integrations/providers/impls/provider-factory.d.ts.map +0 -1
  543. package/dist/integrations/providers/impls/provider-factory.js.map +0 -1
  544. package/dist/integrations/providers/impls/qdrant-vector.d.ts +0 -25
  545. package/dist/integrations/providers/impls/qdrant-vector.d.ts.map +0 -1
  546. package/dist/integrations/providers/impls/qdrant-vector.js.map +0 -1
  547. package/dist/integrations/providers/impls/stripe-payments.d.ts +0 -29
  548. package/dist/integrations/providers/impls/stripe-payments.d.ts.map +0 -1
  549. package/dist/integrations/providers/impls/stripe-payments.js.map +0 -1
  550. package/dist/integrations/providers/impls/twilio-sms.d.ts +0 -21
  551. package/dist/integrations/providers/impls/twilio-sms.d.ts.map +0 -1
  552. package/dist/integrations/providers/impls/twilio-sms.js.map +0 -1
  553. package/dist/integrations/providers/index.d.ts +0 -36
  554. package/dist/integrations/providers/llm.d.ts +0 -83
  555. package/dist/integrations/providers/llm.d.ts.map +0 -1
  556. package/dist/integrations/providers/mistral.d.ts +0 -8
  557. package/dist/integrations/providers/mistral.d.ts.map +0 -1
  558. package/dist/integrations/providers/mistral.js.map +0 -1
  559. package/dist/integrations/providers/openbanking.d.ts +0 -129
  560. package/dist/integrations/providers/openbanking.d.ts.map +0 -1
  561. package/dist/integrations/providers/payments.d.ts +0 -110
  562. package/dist/integrations/providers/payments.d.ts.map +0 -1
  563. package/dist/integrations/providers/postmark.d.ts +0 -8
  564. package/dist/integrations/providers/postmark.d.ts.map +0 -1
  565. package/dist/integrations/providers/postmark.js.map +0 -1
  566. package/dist/integrations/providers/powens.d.ts +0 -8
  567. package/dist/integrations/providers/powens.d.ts.map +0 -1
  568. package/dist/integrations/providers/powens.js.map +0 -1
  569. package/dist/integrations/providers/qdrant.d.ts +0 -8
  570. package/dist/integrations/providers/qdrant.d.ts.map +0 -1
  571. package/dist/integrations/providers/qdrant.js.map +0 -1
  572. package/dist/integrations/providers/sms.d.ts +0 -35
  573. package/dist/integrations/providers/sms.d.ts.map +0 -1
  574. package/dist/integrations/providers/storage.d.ts +0 -61
  575. package/dist/integrations/providers/storage.d.ts.map +0 -1
  576. package/dist/integrations/providers/stripe.d.ts +0 -8
  577. package/dist/integrations/providers/stripe.d.ts.map +0 -1
  578. package/dist/integrations/providers/stripe.js.map +0 -1
  579. package/dist/integrations/providers/twilio-sms.d.ts +0 -8
  580. package/dist/integrations/providers/twilio-sms.d.ts.map +0 -1
  581. package/dist/integrations/providers/twilio-sms.js.map +0 -1
  582. package/dist/integrations/providers/vector-store.d.ts +0 -44
  583. package/dist/integrations/providers/vector-store.d.ts.map +0 -1
  584. package/dist/integrations/providers/voice.d.ts +0 -35
  585. package/dist/integrations/providers/voice.d.ts.map +0 -1
  586. package/dist/integrations/runtime.d.ts +0 -100
  587. package/dist/integrations/runtime.d.ts.map +0 -1
  588. package/dist/integrations/runtime.js.map +0 -1
  589. package/dist/integrations/secrets/env-secret-provider.d.ts +0 -32
  590. package/dist/integrations/secrets/env-secret-provider.d.ts.map +0 -1
  591. package/dist/integrations/secrets/env-secret-provider.js.map +0 -1
  592. package/dist/integrations/secrets/gcp-secret-manager.d.ts +0 -33
  593. package/dist/integrations/secrets/gcp-secret-manager.d.ts.map +0 -1
  594. package/dist/integrations/secrets/gcp-secret-manager.js.map +0 -1
  595. package/dist/integrations/secrets/index.d.ts +0 -5
  596. package/dist/integrations/secrets/manager.d.ts +0 -48
  597. package/dist/integrations/secrets/manager.d.ts.map +0 -1
  598. package/dist/integrations/secrets/manager.js.map +0 -1
  599. package/dist/integrations/secrets/provider.d.ts +0 -53
  600. package/dist/integrations/secrets/provider.d.ts.map +0 -1
  601. package/dist/integrations/secrets/provider.js.map +0 -1
  602. package/dist/integrations/spec.d.ts +0 -80
  603. package/dist/integrations/spec.d.ts.map +0 -1
  604. package/dist/integrations/spec.js.map +0 -1
  605. package/dist/jobs/gcp-cloud-tasks.d.ts +0 -42
  606. package/dist/jobs/gcp-cloud-tasks.d.ts.map +0 -1
  607. package/dist/jobs/gcp-cloud-tasks.js.map +0 -1
  608. package/dist/jobs/gcp-pubsub.d.ts +0 -26
  609. package/dist/jobs/gcp-pubsub.d.ts.map +0 -1
  610. package/dist/jobs/gcp-pubsub.js.map +0 -1
  611. package/dist/jobs/handlers/gmail-sync-handler.d.ts +0 -10
  612. package/dist/jobs/handlers/gmail-sync-handler.d.ts.map +0 -1
  613. package/dist/jobs/handlers/gmail-sync-handler.js.map +0 -1
  614. package/dist/jobs/handlers/index.d.ts +0 -3
  615. package/dist/jobs/handlers/storage-document-handler.d.ts +0 -13
  616. package/dist/jobs/handlers/storage-document-handler.d.ts.map +0 -1
  617. package/dist/jobs/handlers/storage-document-handler.js.map +0 -1
  618. package/dist/jobs/index.d.ts +0 -7
  619. package/dist/jobs/memory-queue.d.ts +0 -19
  620. package/dist/jobs/memory-queue.d.ts.map +0 -1
  621. package/dist/jobs/memory-queue.js.map +0 -1
  622. package/dist/jobs/queue.d.ts +0 -27
  623. package/dist/jobs/queue.d.ts.map +0 -1
  624. package/dist/jsonschema.d.ts +0 -27
  625. package/dist/jsonschema.d.ts.map +0 -1
  626. package/dist/jsonschema.js.map +0 -1
  627. package/dist/knowledge/binding.d.ts +0 -26
  628. package/dist/knowledge/binding.d.ts.map +0 -1
  629. package/dist/knowledge/contracts.d.ts +0 -317
  630. package/dist/knowledge/contracts.d.ts.map +0 -1
  631. package/dist/knowledge/contracts.js.map +0 -1
  632. package/dist/knowledge/index.d.ts +0 -10
  633. package/dist/knowledge/ingestion/document-processor.d.ts +0 -25
  634. package/dist/knowledge/ingestion/document-processor.d.ts.map +0 -1
  635. package/dist/knowledge/ingestion/document-processor.js.map +0 -1
  636. package/dist/knowledge/ingestion/embedding-service.d.ts +0 -13
  637. package/dist/knowledge/ingestion/embedding-service.d.ts.map +0 -1
  638. package/dist/knowledge/ingestion/embedding-service.js.map +0 -1
  639. package/dist/knowledge/ingestion/gmail-adapter.d.ts +0 -19
  640. package/dist/knowledge/ingestion/gmail-adapter.d.ts.map +0 -1
  641. package/dist/knowledge/ingestion/gmail-adapter.js.map +0 -1
  642. package/dist/knowledge/ingestion/index.d.ts +0 -6
  643. package/dist/knowledge/ingestion/storage-adapter.d.ts +0 -16
  644. package/dist/knowledge/ingestion/storage-adapter.d.ts.map +0 -1
  645. package/dist/knowledge/ingestion/storage-adapter.js.map +0 -1
  646. package/dist/knowledge/ingestion/vector-indexer.d.ts +0 -19
  647. package/dist/knowledge/ingestion/vector-indexer.d.ts.map +0 -1
  648. package/dist/knowledge/ingestion/vector-indexer.js.map +0 -1
  649. package/dist/knowledge/query/index.d.ts +0 -2
  650. package/dist/knowledge/query/service.d.ts +0 -30
  651. package/dist/knowledge/query/service.d.ts.map +0 -1
  652. package/dist/knowledge/query/service.js.map +0 -1
  653. package/dist/knowledge/runtime.d.ts +0 -33
  654. package/dist/knowledge/runtime.d.ts.map +0 -1
  655. package/dist/knowledge/runtime.js.map +0 -1
  656. package/dist/knowledge/source.d.ts +0 -33
  657. package/dist/knowledge/source.d.ts.map +0 -1
  658. package/dist/knowledge/spaces/email-threads.d.ts +0 -8
  659. package/dist/knowledge/spaces/email-threads.d.ts.map +0 -1
  660. package/dist/knowledge/spaces/email-threads.js.map +0 -1
  661. package/dist/knowledge/spaces/financial-docs.d.ts +0 -8
  662. package/dist/knowledge/spaces/financial-docs.d.ts.map +0 -1
  663. package/dist/knowledge/spaces/financial-docs.js.map +0 -1
  664. package/dist/knowledge/spaces/financial-overview.d.ts +0 -8
  665. package/dist/knowledge/spaces/financial-overview.d.ts.map +0 -1
  666. package/dist/knowledge/spaces/financial-overview.js.map +0 -1
  667. package/dist/knowledge/spaces/index.d.ts +0 -7
  668. package/dist/knowledge/spaces/product-canon.d.ts +0 -8
  669. package/dist/knowledge/spaces/product-canon.d.ts.map +0 -1
  670. package/dist/knowledge/spaces/product-canon.js.map +0 -1
  671. package/dist/knowledge/spaces/support-faq.d.ts +0 -8
  672. package/dist/knowledge/spaces/support-faq.d.ts.map +0 -1
  673. package/dist/knowledge/spaces/support-faq.js.map +0 -1
  674. package/dist/knowledge/spaces/uploaded-docs.d.ts +0 -8
  675. package/dist/knowledge/spaces/uploaded-docs.d.ts.map +0 -1
  676. package/dist/knowledge/spaces/uploaded-docs.js.map +0 -1
  677. package/dist/knowledge/spec.d.ts +0 -53
  678. package/dist/knowledge/spec.d.ts.map +0 -1
  679. package/dist/knowledge/spec.js.map +0 -1
  680. package/dist/markdown.d.ts +0 -22
  681. package/dist/markdown.d.ts.map +0 -1
  682. package/dist/markdown.js.map +0 -1
  683. package/dist/migrations.d.ts +0 -53
  684. package/dist/migrations.d.ts.map +0 -1
  685. package/dist/migrations.js.map +0 -1
  686. package/dist/onboarding-base.d.ts +0 -138
  687. package/dist/onboarding-base.d.ts.map +0 -1
  688. package/dist/onboarding-base.js.map +0 -1
  689. package/dist/ownership.d.ts +0 -76
  690. package/dist/ownership.d.ts.map +0 -1
  691. package/dist/ownership.js.map +0 -1
  692. package/dist/policy/engine.d.ts +0 -40
  693. package/dist/policy/engine.d.ts.map +0 -1
  694. package/dist/policy/engine.js.map +0 -1
  695. package/dist/policy/opa-adapter.d.ts +0 -46
  696. package/dist/policy/opa-adapter.d.ts.map +0 -1
  697. package/dist/policy/opa-adapter.js.map +0 -1
  698. package/dist/policy/spec.d.ts +0 -115
  699. package/dist/policy/spec.d.ts.map +0 -1
  700. package/dist/policy/spec.js.map +0 -1
  701. package/dist/presentations.backcompat.d.ts +0 -8
  702. package/dist/presentations.backcompat.d.ts.map +0 -1
  703. package/dist/presentations.backcompat.js.map +0 -1
  704. package/dist/presentations.d.ts +0 -97
  705. package/dist/presentations.d.ts.map +0 -1
  706. package/dist/presentations.js.map +0 -1
  707. package/dist/presentations.v2.d.ts +0 -96
  708. package/dist/presentations.v2.d.ts.map +0 -1
  709. package/dist/presentations.v2.js.map +0 -1
  710. package/dist/prompt.d.ts +0 -61
  711. package/dist/prompt.d.ts.map +0 -1
  712. package/dist/prompt.js.map +0 -1
  713. package/dist/promptRegistry.d.ts +0 -16
  714. package/dist/promptRegistry.d.ts.map +0 -1
  715. package/dist/promptRegistry.js.map +0 -1
  716. package/dist/regenerator/adapters.d.ts +0 -20
  717. package/dist/regenerator/adapters.d.ts.map +0 -1
  718. package/dist/regenerator/executor.d.ts +0 -71
  719. package/dist/regenerator/executor.d.ts.map +0 -1
  720. package/dist/regenerator/executor.js.map +0 -1
  721. package/dist/regenerator/index.d.ts +0 -7
  722. package/dist/regenerator/service.d.ts +0 -34
  723. package/dist/regenerator/service.d.ts.map +0 -1
  724. package/dist/regenerator/service.js.map +0 -1
  725. package/dist/regenerator/sinks.d.ts +0 -27
  726. package/dist/regenerator/sinks.d.ts.map +0 -1
  727. package/dist/regenerator/sinks.js.map +0 -1
  728. package/dist/regenerator/types.d.ts +0 -108
  729. package/dist/regenerator/types.d.ts.map +0 -1
  730. package/dist/regenerator/utils.d.ts +0 -10
  731. package/dist/regenerator/utils.d.ts.map +0 -1
  732. package/dist/regenerator/utils.js.map +0 -1
  733. package/dist/registry.d.ts +0 -73
  734. package/dist/registry.d.ts.map +0 -1
  735. package/dist/registry.js.map +0 -1
  736. package/dist/resources.d.ts +0 -65
  737. package/dist/resources.d.ts.map +0 -1
  738. package/dist/resources.js.map +0 -1
  739. package/dist/schema/dist/EnumType.js +0 -1
  740. package/dist/schema/dist/FieldType.js +0 -2
  741. package/dist/schema/dist/FieldType.js.map +0 -1
  742. package/dist/schema/dist/ScalarTypeEnum.js +0 -2
  743. package/dist/schema/dist/ScalarTypeEnum.js.map +0 -1
  744. package/dist/schema/dist/SchemaModel.js +0 -2
  745. package/dist/schema/dist/SchemaModel.js.map +0 -1
  746. package/dist/schema/dist/index.js +0 -1
  747. package/dist/server/graphql-pothos.d.ts +0 -32
  748. package/dist/server/graphql-pothos.d.ts.map +0 -1
  749. package/dist/server/graphql-pothos.js.map +0 -1
  750. package/dist/server/graphql-schema-export.d.ts +0 -7
  751. package/dist/server/graphql-schema-export.d.ts.map +0 -1
  752. package/dist/server/graphql-schema-export.js +0 -2
  753. package/dist/server/graphql-schema-export.js.map +0 -1
  754. package/dist/server/index.d.ts +0 -9
  755. package/dist/server/provider-mcp.d.ts +0 -52
  756. package/dist/server/provider-mcp.d.ts.map +0 -1
  757. package/dist/server/provider-mcp.js.map +0 -1
  758. package/dist/server/rest-elysia.d.ts +0 -41
  759. package/dist/server/rest-elysia.d.ts.map +0 -1
  760. package/dist/server/rest-elysia.js.map +0 -1
  761. package/dist/server/rest-express.d.ts +0 -17
  762. package/dist/server/rest-express.d.ts.map +0 -1
  763. package/dist/server/rest-express.js.map +0 -1
  764. package/dist/server/rest-generic.d.ts +0 -33
  765. package/dist/server/rest-generic.d.ts.map +0 -1
  766. package/dist/server/rest-generic.js.map +0 -1
  767. package/dist/server/rest-next-app.d.ts +0 -36
  768. package/dist/server/rest-next-app.d.ts.map +0 -1
  769. package/dist/server/rest-next-app.js.map +0 -1
  770. package/dist/server/rest-next-mcp.d.ts +0 -12
  771. package/dist/server/rest-next-mcp.d.ts.map +0 -1
  772. package/dist/server/rest-next-mcp.js.map +0 -1
  773. package/dist/server/rest-next-pages.d.ts +0 -10
  774. package/dist/server/rest-next-pages.d.ts.map +0 -1
  775. package/dist/server/rest-next-pages.js.map +0 -1
  776. package/dist/spec.d.ts +0 -172
  777. package/dist/spec.d.ts.map +0 -1
  778. package/dist/spec.js.map +0 -1
  779. package/dist/telemetry/anomaly.d.ts +0 -28
  780. package/dist/telemetry/anomaly.d.ts.map +0 -1
  781. package/dist/telemetry/anomaly.js.map +0 -1
  782. package/dist/telemetry/index.d.ts +0 -4
  783. package/dist/telemetry/spec.d.ts +0 -99
  784. package/dist/telemetry/spec.d.ts.map +0 -1
  785. package/dist/telemetry/spec.js.map +0 -1
  786. package/dist/telemetry/tracker.d.ts +0 -52
  787. package/dist/telemetry/tracker.d.ts.map +0 -1
  788. package/dist/telemetry/tracker.js.map +0 -1
  789. package/dist/tests/index.d.ts +0 -3
  790. package/dist/tests/runner.d.ts +0 -44
  791. package/dist/tests/runner.d.ts.map +0 -1
  792. package/dist/tests/runner.js.map +0 -1
  793. package/dist/tests/spec.d.ts +0 -90
  794. package/dist/tests/spec.d.ts.map +0 -1
  795. package/dist/tests/spec.js.map +0 -1
  796. package/dist/themes.d.ts +0 -56
  797. package/dist/themes.d.ts.map +0 -1
  798. package/dist/themes.js.map +0 -1
  799. package/dist/translations/catalog.d.ts +0 -29
  800. package/dist/translations/catalog.d.ts.map +0 -1
  801. package/dist/translations/tenant.d.ts +0 -16
  802. package/dist/translations/tenant.d.ts.map +0 -1
  803. package/dist/types/all.d.ts +0 -60
  804. package/dist/types.d.ts +0 -89
  805. package/dist/types.d.ts.map +0 -1
  806. package/dist/workflow/adapters/db-adapter.d.ts +0 -35
  807. package/dist/workflow/adapters/db-adapter.d.ts.map +0 -1
  808. package/dist/workflow/adapters/db-adapter.js.map +0 -1
  809. package/dist/workflow/adapters/file-adapter.d.ts +0 -15
  810. package/dist/workflow/adapters/file-adapter.d.ts.map +0 -1
  811. package/dist/workflow/adapters/file-adapter.js.map +0 -1
  812. package/dist/workflow/adapters/index.d.ts +0 -4
  813. package/dist/workflow/adapters/memory-store.d.ts +0 -19
  814. package/dist/workflow/adapters/memory-store.d.ts.map +0 -1
  815. package/dist/workflow/adapters/memory-store.js.map +0 -1
  816. package/dist/workflow/expression.d.ts +0 -10
  817. package/dist/workflow/expression.d.ts.map +0 -1
  818. package/dist/workflow/expression.js.map +0 -1
  819. package/dist/workflow/index.d.ts +0 -10
  820. package/dist/workflow/runner.d.ts +0 -75
  821. package/dist/workflow/runner.d.ts.map +0 -1
  822. package/dist/workflow/runner.js.map +0 -1
  823. package/dist/workflow/sla-monitor.d.ts +0 -21
  824. package/dist/workflow/sla-monitor.d.ts.map +0 -1
  825. package/dist/workflow/sla-monitor.js.map +0 -1
  826. package/dist/workflow/spec.d.ts +0 -100
  827. package/dist/workflow/spec.d.ts.map +0 -1
  828. package/dist/workflow/spec.js.map +0 -1
  829. package/dist/workflow/state.d.ts +0 -36
  830. package/dist/workflow/state.d.ts.map +0 -1
  831. package/dist/workflow/validation.d.ts +0 -29
  832. package/dist/workflow/validation.d.ts.map +0 -1
  833. package/dist/workflow/validation.js.map +0 -1
@@ -1,87 +0,0 @@
1
- //#region src/integrations/providers/email.d.ts
2
- interface EmailAddress {
3
- email: string;
4
- name?: string;
5
- }
6
- interface EmailAttachment {
7
- id: string;
8
- filename: string;
9
- contentType: string;
10
- sizeBytes?: number;
11
- data?: Uint8Array;
12
- downloadUrl?: string;
13
- }
14
- interface EmailOutboundMessage {
15
- from: EmailAddress;
16
- to: EmailAddress[];
17
- cc?: EmailAddress[];
18
- bcc?: EmailAddress[];
19
- replyTo?: EmailAddress;
20
- subject: string;
21
- textBody?: string;
22
- htmlBody?: string;
23
- headers?: Record<string, string>;
24
- attachments?: EmailAttachment[];
25
- metadata?: Record<string, string>;
26
- }
27
- interface EmailOutboundResult {
28
- id: string;
29
- providerMessageId?: string;
30
- queuedAt?: Date;
31
- deliveredAt?: Date;
32
- }
33
- interface EmailThread {
34
- id: string;
35
- subject?: string;
36
- snippet?: string;
37
- participants: EmailAddress[];
38
- messages: EmailMessage[];
39
- updatedAt: Date;
40
- labels?: string[];
41
- metadata?: Record<string, string>;
42
- }
43
- interface EmailMessage {
44
- id: string;
45
- threadId: string;
46
- subject?: string;
47
- from: EmailAddress;
48
- to: EmailAddress[];
49
- cc?: EmailAddress[];
50
- bcc?: EmailAddress[];
51
- replyTo?: EmailAddress;
52
- sentAt: Date;
53
- receivedAt?: Date;
54
- textBody?: string;
55
- htmlBody?: string;
56
- attachments?: EmailAttachment[];
57
- headers?: Record<string, string>;
58
- metadata?: Record<string, string>;
59
- }
60
- interface EmailThreadListQuery {
61
- label?: string;
62
- query?: string;
63
- pageSize?: number;
64
- pageToken?: string;
65
- includeArchived?: boolean;
66
- updatedSince?: Date;
67
- }
68
- interface EmailMessagesSinceQuery {
69
- label?: string;
70
- since?: Date;
71
- pageSize?: number;
72
- pageToken?: string;
73
- }
74
- interface EmailOutboundProvider {
75
- sendEmail(message: EmailOutboundMessage): Promise<EmailOutboundResult>;
76
- }
77
- interface EmailInboundProvider {
78
- listThreads(query?: EmailThreadListQuery): Promise<EmailThread[]>;
79
- getThread(threadId: string): Promise<EmailThread | null>;
80
- listMessagesSince(query: EmailMessagesSinceQuery): Promise<{
81
- messages: EmailMessage[];
82
- nextPageToken?: string;
83
- }>;
84
- }
85
- //#endregion
86
- export { EmailAddress, EmailAttachment, EmailInboundProvider, EmailMessage, EmailMessagesSinceQuery, EmailOutboundMessage, EmailOutboundProvider, EmailOutboundResult, EmailThread, EmailThreadListQuery };
87
- //# sourceMappingURL=email.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email.d.ts","names":[],"sources":["../../../src/integrations/providers/email.ts"],"sourcesContent":[],"mappings":";UAAiB,YAAA;EAAA,KAAA,EAAA,MAAA;EAKA,IAAA,CAAA,EAAA,MAAA;AASjB;AACQ,UAVS,eAAA,CAUT;EACF,EAAA,EAAA,MAAA;EACC,QAAA,EAAA,MAAA;EACC,WAAA,EAAA,MAAA;EACI,SAAA,CAAA,EAAA,MAAA;EAIA,IAAA,CAAA,EAbH,UAaG;EACI,WAAA,CAAA,EAAA,MAAA;;AACG,UAXF,oBAAA,CAWE;EAGF,IAAA,EAbT,YAaS;EAOA,EAAA,EAnBX,YAmBsB,EAAA;EAIZ,EAAA,CAAA,EAtBT,YAsBS,EAAA;EACJ,GAAA,CAAA,EAtBJ,YAsBI,EAAA;EACC,OAAA,CAAA,EAtBD,YAsBC;EAEA,OAAA,EAAA,MAAA;EAAM,QAAA,CAAA,EAAA,MAAA;EAGF,QAAA,CAAA,EAAA,MAAY;EAIrB,OAAA,CAAA,EA3BI,MA2BJ,CAAA,MAAA,EAAA,MAAA,CAAA;EACF,WAAA,CAAA,EA3BU,eA2BV,EAAA;EACC,QAAA,CAAA,EA3BM,MA2BN,CAAA,MAAA,EAAA,MAAA,CAAA;;AAEK,UA1BK,mBAAA,CA0BL;EACF,EAAA,EAAA,MAAA;EACK,iBAAA,CAAA,EAAA,MAAA;EAGC,QAAA,CAAA,EA5BH,IA4BG;EACJ,WAAA,CAAA,EA5BI,IA4BJ;;AACO,UA1BF,WAAA,CA0BE;EAGF,EAAA,EAAA,MAAA;EASA,OAAA,CAAA,EAAA,MAAA;EAOA,OAAA,CAAA,EAAA,MAAA;EACI,YAAA,EA1CL,YA0CK,EAAA;EAA+B,QAAA,EAzCxC,YAyCwC,EAAA;EAAR,SAAA,EAxC/B,IAwC+B;EAAO,MAAA,CAAA,EAAA,MAAA,EAAA;EAGlC,QAAA,CAAA,EAzCJ,MAyCI,CAAA,MAAoB,EAAA,MAAA,CAAA;;AACgB,UAvCpC,YAAA,CAuCoC;EAAR,EAAA,EAAA,MAAA;EACN,QAAA,EAAA,MAAA;EAAR,OAAA,CAAA,EAAA,MAAA;EAEpB,IAAA,EAtCH,YAsCG;EACc,EAAA,EAtCnB,YAsCmB,EAAA;EAApB,EAAA,CAAA,EArCE,YAqCF,EAAA;EAAO,GAAA,CAAA,EApCJ,YAoCI,EAAA;YAnCA;UACF;eACK;;;gBAGC;YACJ;aACC;;UAGI,oBAAA;;;;;;iBAMA;;UAGA,uBAAA;;UAEP;;;;UAKO,qBAAA;qBACI,uBAAuB,QAAQ;;UAGnC,oBAAA;sBACK,uBAAuB,QAAQ;+BACtB,QAAQ;2BAE5B,0BACN;cAAoB"}
@@ -1,25 +0,0 @@
1
- //#region src/integrations/providers/embedding.d.ts
2
- type EmbeddingVector = number[];
3
- interface EmbeddingDocument {
4
- id: string;
5
- text: string;
6
- metadata?: Record<string, string | number | boolean>;
7
- }
8
- interface EmbeddingResult {
9
- id: string;
10
- vector: EmbeddingVector;
11
- dimensions: number;
12
- model: string;
13
- metadata?: Record<string, string>;
14
- }
15
- interface EmbeddingProvider {
16
- embedDocuments(documents: EmbeddingDocument[], options?: {
17
- model?: string;
18
- }): Promise<EmbeddingResult[]>;
19
- embedQuery(query: string, options?: {
20
- model?: string;
21
- }): Promise<EmbeddingResult>;
22
- }
23
- //#endregion
24
- export { EmbeddingDocument, EmbeddingProvider, EmbeddingResult, EmbeddingVector };
25
- //# sourceMappingURL=embedding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"embedding.d.ts","names":[],"sources":["../../../src/integrations/providers/embedding.ts"],"sourcesContent":[],"mappings":";KAAY,eAAA;AAAA,UAEK,iBAAA,CAFU;EAEV,EAAA,EAAA,MAAA;EAMA,IAAA,EAAA,MAAA;EAQA,QAAA,CAAA,EAXJ,MAWI,CAAA,MAAiB,EAAA,MAAA,GAAA,MAAA,GAAA,OAAA,CAAA;;AAIrB,UAZI,eAAA,CAYJ;EAAR,EAAA,EAAA,MAAA;EAIQ,MAAA,EAdH,eAcG;EAAR,UAAA,EAAA,MAAA;EAAO,KAAA,EAAA,MAAA;aAXC;;UAGI,iBAAA;4BAEF;;MAEV,QAAQ;;;MAIR,QAAQ"}
@@ -1,8 +0,0 @@
1
- import { IntegrationSpec, IntegrationSpecRegistry } from "../spec.js";
2
-
3
- //#region src/integrations/providers/gcs-storage.d.ts
4
- declare const gcsStorageIntegrationSpec: IntegrationSpec;
5
- declare function registerGcsStorageIntegration(registry: IntegrationSpecRegistry): IntegrationSpecRegistry;
6
- //#endregion
7
- export { gcsStorageIntegrationSpec, registerGcsStorageIntegration };
8
- //# sourceMappingURL=gcs-storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gcs-storage.d.ts","names":[],"sources":["../../../src/integrations/providers/gcs-storage.ts"],"sourcesContent":[],"mappings":";;;cAGa,2BAA2B;iBA2ExB,6BAAA,WACJ,0BACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gcs-storage.js","names":["gcsStorageIntegrationSpec: IntegrationSpec"],"sources":["../../../src/integrations/providers/gcs-storage.ts"],"sourcesContent":["import { StabilityEnum } from '../../ownership';\nimport type { IntegrationSpec, IntegrationSpecRegistry } from '../spec';\n\nexport const gcsStorageIntegrationSpec: IntegrationSpec = {\n meta: {\n key: 'storage.gcs',\n version: 1,\n category: 'storage',\n displayName: 'Google Cloud Storage',\n title: 'Google Cloud Storage Buckets',\n description:\n 'Google Cloud Storage integration for object storage and retrieval.',\n domain: 'infrastructure',\n owners: ['platform.infrastructure'],\n tags: ['storage', 'gcs', 'google-cloud'],\n stability: StabilityEnum.Beta,\n },\n supportedModes: ['managed', 'byok'],\n capabilities: {\n provides: [{ key: 'storage.objects', version: 1 }],\n },\n configSchema: {\n schema: {\n type: 'object',\n required: ['bucket'],\n properties: {\n bucket: {\n type: 'string',\n description: 'Primary bucket name used for storing objects.',\n },\n prefix: {\n type: 'string',\n description: 'Optional prefix applied to object keys.',\n },\n },\n },\n example: {\n bucket: 'pfo-tenant-assets',\n prefix: 'documents/',\n },\n },\n secretSchema: {\n schema: {\n type: 'object',\n properties: {\n type: {\n type: 'string',\n description:\n 'Service account type field from Google credentials JSON (if provided).',\n },\n client_email: { type: 'string' },\n private_key: { type: 'string' },\n project_id: { type: 'string' },\n },\n },\n example: {\n type: 'service_account',\n client_email: 'svc-account@example.iam.gserviceaccount.com',\n private_key: '-----BEGIN PRIVATE KEY-----...',\n project_id: 'example-project',\n },\n },\n healthCheck: {\n method: 'ping',\n timeoutMs: 4000,\n },\n docsUrl: 'https://cloud.google.com/storage/docs/apis',\n constraints: {\n quotas: {\n storageGb: 5120,\n },\n },\n byokSetup: {\n setupInstructions:\n 'Create a Google Cloud service account with Storage Object Admin role and upload the JSON credentials to the secret store.',\n },\n};\n\nexport function registerGcsStorageIntegration(\n registry: IntegrationSpecRegistry\n): IntegrationSpecRegistry {\n return registry.register(gcsStorageIntegrationSpec);\n}\n"],"mappings":"mDAGA,MAAaA,EAA6C,CACxD,KAAM,CACJ,IAAK,cACL,QAAS,EACT,SAAU,UACV,YAAa,uBACb,MAAO,+BACP,YACE,qEACF,OAAQ,iBACR,OAAQ,CAAC,0BAA0B,CACnC,KAAM,CAAC,UAAW,MAAO,eAAe,CACxC,UAAW,EAAc,KAC1B,CACD,eAAgB,CAAC,UAAW,OAAO,CACnC,aAAc,CACZ,SAAU,CAAC,CAAE,IAAK,kBAAmB,QAAS,EAAG,CAAC,CACnD,CACD,aAAc,CACZ,OAAQ,CACN,KAAM,SACN,SAAU,CAAC,SAAS,CACpB,WAAY,CACV,OAAQ,CACN,KAAM,SACN,YAAa,gDACd,CACD,OAAQ,CACN,KAAM,SACN,YAAa,0CACd,CACF,CACF,CACD,QAAS,CACP,OAAQ,oBACR,OAAQ,aACT,CACF,CACD,aAAc,CACZ,OAAQ,CACN,KAAM,SACN,WAAY,CACV,KAAM,CACJ,KAAM,SACN,YACE,yEACH,CACD,aAAc,CAAE,KAAM,SAAU,CAChC,YAAa,CAAE,KAAM,SAAU,CAC/B,WAAY,CAAE,KAAM,SAAU,CAC/B,CACF,CACD,QAAS,CACP,KAAM,kBACN,aAAc,8CACd,YAAa,iCACb,WAAY,kBACb,CACF,CACD,YAAa,CACX,OAAQ,OACR,UAAW,IACZ,CACD,QAAS,6CACT,YAAa,CACX,OAAQ,CACN,UAAW,KACZ,CACF,CACD,UAAW,CACT,kBACE,4HACH,CACF,CAED,SAAgB,EACd,EACyB,CACzB,OAAO,EAAS,SAAS,EAA0B"}
@@ -1,8 +0,0 @@
1
- import { IntegrationSpec, IntegrationSpecRegistry } from "../spec.js";
2
-
3
- //#region src/integrations/providers/gmail.d.ts
4
- declare const gmailIntegrationSpec: IntegrationSpec;
5
- declare function registerGmailIntegration(registry: IntegrationSpecRegistry): IntegrationSpecRegistry;
6
- //#endregion
7
- export { gmailIntegrationSpec, registerGmailIntegration };
8
- //# sourceMappingURL=gmail.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gmail.d.ts","names":[],"sources":["../../../src/integrations/providers/gmail.ts"],"sourcesContent":[],"mappings":";;;cAGa,sBAAsB;iBAuFnB,wBAAA,WACJ,0BACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gmail.js","names":["gmailIntegrationSpec: IntegrationSpec"],"sources":["../../../src/integrations/providers/gmail.ts"],"sourcesContent":["import { StabilityEnum } from '../../ownership';\nimport type { IntegrationSpec, IntegrationSpecRegistry } from '../spec';\n\nexport const gmailIntegrationSpec: IntegrationSpec = {\n meta: {\n key: 'email.gmail',\n version: 1,\n category: 'email',\n displayName: 'Gmail API',\n title: 'Google Gmail API',\n description:\n 'Gmail integration supporting inbound thread ingestion and outbound transactional email.',\n domain: 'communications',\n owners: ['platform.messaging'],\n tags: ['email', 'gmail'],\n stability: StabilityEnum.Beta,\n },\n supportedModes: ['managed', 'byok'],\n capabilities: {\n provides: [\n { key: 'email.inbound', version: 1 },\n { key: 'email.outbound', version: 1 },\n ],\n },\n configSchema: {\n schema: {\n type: 'object',\n properties: {\n labelIds: {\n type: 'array',\n items: { type: 'string' },\n description: 'Optional list of label IDs to scope inbound sync.',\n },\n includeSpamTrash: {\n type: 'boolean',\n description: 'Whether to include spam or trash messages during sync.',\n },\n },\n },\n example: {\n labelIds: ['INBOX'],\n includeSpamTrash: false,\n },\n },\n secretSchema: {\n schema: {\n type: 'object',\n required: ['clientId', 'clientSecret', 'refreshToken'],\n properties: {\n clientId: {\n type: 'string',\n description: 'OAuth client ID for the Google Cloud project.',\n },\n clientSecret: {\n type: 'string',\n description: 'OAuth client secret for the Google Cloud project.',\n },\n refreshToken: {\n type: 'string',\n description: 'OAuth refresh token for delegated Gmail access.',\n },\n redirectUri: {\n type: 'string',\n description:\n 'Optional redirect URI used when issuing the refresh token.',\n },\n },\n },\n example: {\n clientId: 'xxx.apps.googleusercontent.com',\n clientSecret: 'secret',\n refreshToken: 'refresh-token',\n },\n },\n healthCheck: {\n method: 'custom',\n timeoutMs: 4000,\n },\n docsUrl: 'https://developers.google.com/gmail/api',\n constraints: {\n rateLimit: {\n rpm: 600,\n },\n },\n byokSetup: {\n setupInstructions:\n 'Create an OAuth consent screen and credentials within Google Cloud Console, then authorize the Gmail scopes and store the resulting refresh token.',\n },\n};\n\nexport function registerGmailIntegration(\n registry: IntegrationSpecRegistry\n): IntegrationSpecRegistry {\n return registry.register(gmailIntegrationSpec);\n}\n"],"mappings":"mDAGA,MAAaA,EAAwC,CACnD,KAAM,CACJ,IAAK,cACL,QAAS,EACT,SAAU,QACV,YAAa,YACb,MAAO,mBACP,YACE,0FACF,OAAQ,iBACR,OAAQ,CAAC,qBAAqB,CAC9B,KAAM,CAAC,QAAS,QAAQ,CACxB,UAAW,EAAc,KAC1B,CACD,eAAgB,CAAC,UAAW,OAAO,CACnC,aAAc,CACZ,SAAU,CACR,CAAE,IAAK,gBAAiB,QAAS,EAAG,CACpC,CAAE,IAAK,iBAAkB,QAAS,EAAG,CACtC,CACF,CACD,aAAc,CACZ,OAAQ,CACN,KAAM,SACN,WAAY,CACV,SAAU,CACR,KAAM,QACN,MAAO,CAAE,KAAM,SAAU,CACzB,YAAa,oDACd,CACD,iBAAkB,CAChB,KAAM,UACN,YAAa,yDACd,CACF,CACF,CACD,QAAS,CACP,SAAU,CAAC,QAAQ,CACnB,iBAAkB,GACnB,CACF,CACD,aAAc,CACZ,OAAQ,CACN,KAAM,SACN,SAAU,CAAC,WAAY,eAAgB,eAAe,CACtD,WAAY,CACV,SAAU,CACR,KAAM,SACN,YAAa,gDACd,CACD,aAAc,CACZ,KAAM,SACN,YAAa,oDACd,CACD,aAAc,CACZ,KAAM,SACN,YAAa,kDACd,CACD,YAAa,CACX,KAAM,SACN,YACE,6DACH,CACF,CACF,CACD,QAAS,CACP,SAAU,iCACV,aAAc,SACd,aAAc,gBACf,CACF,CACD,YAAa,CACX,OAAQ,SACR,UAAW,IACZ,CACD,QAAS,0CACT,YAAa,CACX,UAAW,CACT,IAAK,IACN,CACF,CACD,UAAW,CACT,kBACE,qJACH,CACF,CAED,SAAgB,EACd,EACyB,CACzB,OAAO,EAAS,SAAS,EAAqB"}
@@ -1,8 +0,0 @@
1
- import { IntegrationSpec, IntegrationSpecRegistry } from "../spec.js";
2
-
3
- //#region src/integrations/providers/google-calendar.d.ts
4
- declare const googleCalendarIntegrationSpec: IntegrationSpec;
5
- declare function registerGoogleCalendarIntegration(registry: IntegrationSpecRegistry): IntegrationSpecRegistry;
6
- //#endregion
7
- export { googleCalendarIntegrationSpec, registerGoogleCalendarIntegration };
8
- //# sourceMappingURL=google-calendar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-calendar.d.ts","names":[],"sources":["../../../src/integrations/providers/google-calendar.ts"],"sourcesContent":[],"mappings":";;;cAGa,+BAA+B;iBAqE5B,iCAAA,WACJ,0BACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-calendar.js","names":["googleCalendarIntegrationSpec: IntegrationSpec"],"sources":["../../../src/integrations/providers/google-calendar.ts"],"sourcesContent":["import { StabilityEnum } from '../../ownership';\nimport type { IntegrationSpec, IntegrationSpecRegistry } from '../spec';\n\nexport const googleCalendarIntegrationSpec: IntegrationSpec = {\n meta: {\n key: 'calendar.google',\n version: 1,\n category: 'calendar',\n displayName: 'Google Calendar',\n title: 'Google Calendar API',\n description:\n 'Google Calendar integration for event creation, updates, and scheduling automations.',\n domain: 'productivity',\n owners: ['platform.messaging'],\n tags: ['calendar', 'google'],\n stability: StabilityEnum.Beta,\n },\n supportedModes: ['managed', 'byok'],\n capabilities: {\n provides: [{ key: 'calendar.events', version: 1 }],\n },\n configSchema: {\n schema: {\n type: 'object',\n properties: {\n calendarId: {\n type: 'string',\n description: 'Default calendar identifier (defaults to primary).',\n },\n },\n },\n example: {\n calendarId: 'primary',\n },\n },\n secretSchema: {\n schema: {\n type: 'object',\n required: ['clientEmail', 'privateKey'],\n properties: {\n clientEmail: {\n type: 'string',\n description: 'Service account client email.',\n },\n privateKey: {\n type: 'string',\n description: 'Service account private key.',\n },\n projectId: {\n type: 'string',\n description: 'Google Cloud project ID.',\n },\n },\n },\n example: {\n clientEmail: 'svc-calendar@example.iam.gserviceaccount.com',\n privateKey: '-----BEGIN PRIVATE KEY-----...',\n projectId: 'calendar-project',\n },\n },\n healthCheck: {\n method: 'custom',\n timeoutMs: 4000,\n },\n docsUrl: 'https://developers.google.com/calendar/api',\n constraints: {},\n byokSetup: {\n setupInstructions:\n 'Create a Google service account with Calendar access and share the target calendars with the service account email.',\n },\n};\n\nexport function registerGoogleCalendarIntegration(\n registry: IntegrationSpecRegistry\n): IntegrationSpecRegistry {\n return registry.register(googleCalendarIntegrationSpec);\n}\n"],"mappings":"mDAGA,MAAaA,EAAiD,CAC5D,KAAM,CACJ,IAAK,kBACL,QAAS,EACT,SAAU,WACV,YAAa,kBACb,MAAO,sBACP,YACE,uFACF,OAAQ,eACR,OAAQ,CAAC,qBAAqB,CAC9B,KAAM,CAAC,WAAY,SAAS,CAC5B,UAAW,EAAc,KAC1B,CACD,eAAgB,CAAC,UAAW,OAAO,CACnC,aAAc,CACZ,SAAU,CAAC,CAAE,IAAK,kBAAmB,QAAS,EAAG,CAAC,CACnD,CACD,aAAc,CACZ,OAAQ,CACN,KAAM,SACN,WAAY,CACV,WAAY,CACV,KAAM,SACN,YAAa,qDACd,CACF,CACF,CACD,QAAS,CACP,WAAY,UACb,CACF,CACD,aAAc,CACZ,OAAQ,CACN,KAAM,SACN,SAAU,CAAC,cAAe,aAAa,CACvC,WAAY,CACV,YAAa,CACX,KAAM,SACN,YAAa,gCACd,CACD,WAAY,CACV,KAAM,SACN,YAAa,+BACd,CACD,UAAW,CACT,KAAM,SACN,YAAa,2BACd,CACF,CACF,CACD,QAAS,CACP,YAAa,+CACb,WAAY,iCACZ,UAAW,mBACZ,CACF,CACD,YAAa,CACX,OAAQ,SACR,UAAW,IACZ,CACD,QAAS,6CACT,YAAa,EAAE,CACf,UAAW,CACT,kBACE,sHACH,CACF,CAED,SAAgB,EACd,EACyB,CACzB,OAAO,EAAS,SAAS,EAA8B"}
@@ -1,21 +0,0 @@
1
- import { Voice, VoiceProvider, VoiceSynthesisInput, VoiceSynthesisResult } from "../voice.js";
2
- import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
3
-
4
- //#region src/integrations/providers/impls/elevenlabs-voice.d.ts
5
- interface ElevenLabsVoiceProviderOptions {
6
- apiKey: string;
7
- defaultVoiceId?: string;
8
- modelId?: string;
9
- client?: ElevenLabsClient;
10
- }
11
- declare class ElevenLabsVoiceProvider implements VoiceProvider {
12
- private readonly client;
13
- private readonly defaultVoiceId?;
14
- private readonly modelId?;
15
- constructor(options: ElevenLabsVoiceProviderOptions);
16
- listVoices(): Promise<Voice[]>;
17
- synthesize(input: VoiceSynthesisInput): Promise<VoiceSynthesisResult>;
18
- }
19
- //#endregion
20
- export { ElevenLabsVoiceProvider, ElevenLabsVoiceProviderOptions };
21
- //# sourceMappingURL=elevenlabs-voice.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"elevenlabs-voice.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/elevenlabs-voice.ts"],"sourcesContent":[],"mappings":";;;;UAUiB,8BAAA;;EAAA,cAAA,CAAA,EAAA,MAAA;EAiCJ,OAAA,CAAA,EAAA,MAAA;EAKU,MAAA,CAAA,EAlCZ,gBAkCY;;AAUD,cAfT,uBAAA,YAAmC,aAe1B,CAAA;EAgBI,iBAAA,MAAA;EAA8B,iBAAA,cAAA;EAAR,iBAAA,OAAA;EA/BA,WAAA,CAAA,OAAA,EAKzB,8BALyB;EAAa,UAAA,CAAA,CAAA,EAevC,OAfuC,CAe/B,KAf+B,EAAA,CAAA;oBA+BnC,sBAAsB,QAAQ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"elevenlabs-voice.js","names":["FORMAT_MAP: Record<\n NonNullable<VoiceSynthesisInput['format']>,\n ElevenLabs.TextToSpeechConvertRequestOutputFormat\n>","SAMPLE_RATE: Partial<\n Record<ElevenLabs.TextToSpeechConvertRequestOutputFormat, number>\n>","chunks: Uint8Array[]"],"sources":["../../../../src/integrations/providers/impls/elevenlabs-voice.ts"],"sourcesContent":["import { ElevenLabsClient } from '@elevenlabs/elevenlabs-js';\nimport type { ElevenLabs } from '@elevenlabs/elevenlabs-js';\n\nimport type {\n Voice,\n VoiceProvider,\n VoiceSynthesisInput,\n VoiceSynthesisResult,\n} from '../voice';\n\nexport interface ElevenLabsVoiceProviderOptions {\n apiKey: string;\n defaultVoiceId?: string;\n modelId?: string;\n client?: ElevenLabsClient;\n}\n\nconst FORMAT_MAP: Record<\n NonNullable<VoiceSynthesisInput['format']>,\n ElevenLabs.TextToSpeechConvertRequestOutputFormat\n> = {\n mp3: 'mp3_44100_128',\n wav: 'pcm_44100',\n ogg: 'mp3_44100_128',\n pcm: 'pcm_16000',\n};\n\nconst SAMPLE_RATE: Partial<\n Record<ElevenLabs.TextToSpeechConvertRequestOutputFormat, number>\n> = {\n mp3_22050_32: 22050,\n mp3_44100_32: 44100,\n mp3_44100_64: 44100,\n mp3_44100_96: 44100,\n mp3_44100_128: 44100,\n mp3_44100_192: 44100,\n pcm_16000: 16000,\n pcm_22050: 22050,\n pcm_24000: 24000,\n pcm_44100: 44100,\n ulaw_8000: 8000,\n};\n\nexport class ElevenLabsVoiceProvider implements VoiceProvider {\n private readonly client: ElevenLabsClient;\n private readonly defaultVoiceId?: string;\n private readonly modelId?: string;\n\n constructor(options: ElevenLabsVoiceProviderOptions) {\n this.client =\n options.client ??\n new ElevenLabsClient({\n apiKey: options.apiKey,\n });\n this.defaultVoiceId = options.defaultVoiceId;\n this.modelId = options.modelId;\n }\n\n async listVoices(): Promise<Voice[]> {\n const response = await this.client.voices.getAll();\n return (response.voices ?? []).map((voice) => ({\n id: voice.voiceId ?? '',\n name: voice.name ?? voice.voiceId ?? '',\n description: voice.description ?? undefined,\n language: voice.labels?.language ?? undefined,\n gender: normalizeGender(voice.labels?.gender),\n previewUrl: voice.previewUrl ?? undefined,\n metadata: {\n category: voice.category ?? '',\n ...voice.labels,\n },\n }));\n }\n\n async synthesize(input: VoiceSynthesisInput): Promise<VoiceSynthesisResult> {\n const voiceId = input.voiceId ?? this.defaultVoiceId;\n if (!voiceId) {\n throw new Error('Voice ID is required for ElevenLabs synthesis.');\n }\n\n const formatKey = input.format ?? 'mp3';\n const outputFormat = FORMAT_MAP[formatKey] ?? FORMAT_MAP.mp3;\n const sampleRate =\n input.sampleRateHz ??\n SAMPLE_RATE[outputFormat] ??\n SAMPLE_RATE.mp3_44100_128 ??\n 44100;\n\n const voiceSettings =\n input.stability != null ||\n input.similarityBoost != null ||\n input.style != null\n ? {\n ...(input.stability != null ? { stability: input.stability } : {}),\n ...(input.similarityBoost != null\n ? { similarityBoost: input.similarityBoost }\n : {}),\n ...(input.style != null ? { style: input.style } : {}),\n }\n : undefined;\n\n const stream = await this.client.textToSpeech.convert(voiceId, {\n text: input.text,\n modelId: this.modelId,\n outputFormat,\n voiceSettings,\n });\n\n const audio = await readWebStream(stream);\n\n return {\n audio,\n format: formatKey,\n sampleRateHz: sampleRate,\n durationSeconds: undefined,\n url: undefined,\n };\n }\n}\n\nfunction normalizeGender(\n value: string | undefined\n): 'male' | 'female' | 'neutral' | undefined {\n if (!value) return undefined;\n const normalized = value.toLowerCase();\n if (\n normalized === 'male' ||\n normalized === 'female' ||\n normalized === 'neutral'\n ) {\n return normalized;\n }\n return undefined;\n}\n\nasync function readWebStream(\n stream: ReadableStream<Uint8Array>\n): Promise<Uint8Array> {\n const reader = stream.getReader();\n const chunks: Uint8Array[] = [];\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n if (value) {\n chunks.push(value);\n }\n }\n\n const length = chunks.reduce((total, chunk) => total + chunk.length, 0);\n const result = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n result.set(chunk, offset);\n offset += chunk.length;\n }\n return result;\n}\n"],"mappings":"6DAiBA,MAAMA,EAGF,CACF,IAAK,gBACL,IAAK,YACL,IAAK,gBACL,IAAK,YACN,CAEKC,EAEF,CACF,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,cAAe,MACf,cAAe,MACf,UAAW,KACX,UAAW,MACX,UAAW,KACX,UAAW,MACX,UAAW,IACZ,CAED,IAAa,EAAb,KAA8D,CAC5D,OACA,eACA,QAEA,YAAY,EAAyC,CACnD,KAAK,OACH,EAAQ,QACR,IAAI,EAAiB,CACnB,OAAQ,EAAQ,OACjB,CAAC,CACJ,KAAK,eAAiB,EAAQ,eAC9B,KAAK,QAAU,EAAQ,QAGzB,MAAM,YAA+B,CAEnC,QADiB,MAAM,KAAK,OAAO,OAAO,QAAQ,EACjC,QAAU,EAAE,EAAE,IAAK,IAAW,CAC7C,GAAI,EAAM,SAAW,GACrB,KAAM,EAAM,MAAQ,EAAM,SAAW,GACrC,YAAa,EAAM,aAAe,IAAA,GAClC,SAAU,EAAM,QAAQ,UAAY,IAAA,GACpC,OAAQ,EAAgB,EAAM,QAAQ,OAAO,CAC7C,WAAY,EAAM,YAAc,IAAA,GAChC,SAAU,CACR,SAAU,EAAM,UAAY,GAC5B,GAAG,EAAM,OACV,CACF,EAAE,CAGL,MAAM,WAAW,EAA2D,CAC1E,IAAM,EAAU,EAAM,SAAW,KAAK,eACtC,GAAI,CAAC,EACH,MAAU,MAAM,iDAAiD,CAGnE,IAAM,EAAY,EAAM,QAAU,MAC5B,EAAe,EAAW,IAAc,EAAW,IACnD,EACJ,EAAM,cACN,EAAY,IACZ,EAAY,eACZ,MAEI,EACJ,EAAM,WAAa,MACnB,EAAM,iBAAmB,MACzB,EAAM,OAAS,KACX,CACE,GAAI,EAAM,WAAa,KAAwC,EAAE,CAAnC,CAAE,UAAW,EAAM,UAAW,CAC5D,GAAI,EAAM,iBAAmB,KAEzB,EAAE,CADF,CAAE,gBAAiB,EAAM,gBAAiB,CAE9C,GAAI,EAAM,OAAS,KAAgC,EAAE,CAA3B,CAAE,MAAO,EAAM,MAAO,CACjD,CACD,IAAA,GAWN,MAAO,CACL,MAHY,MAAM,EAPL,MAAM,KAAK,OAAO,aAAa,QAAQ,EAAS,CAC7D,KAAM,EAAM,KACZ,QAAS,KAAK,QACd,eACA,gBACD,CAAC,CAEuC,CAIvC,OAAQ,EACR,aAAc,EACd,gBAAiB,IAAA,GACjB,IAAK,IAAA,GACN,GAIL,SAAS,EACP,EAC2C,CAC3C,GAAI,CAAC,EAAO,OACZ,IAAM,EAAa,EAAM,aAAa,CACtC,GACE,IAAe,QACf,IAAe,UACf,IAAe,UAEf,OAAO,EAKX,eAAe,EACb,EACqB,CACrB,IAAM,EAAS,EAAO,WAAW,CAC3BC,EAAuB,EAAE,CAE/B,OAAa,CACX,GAAM,CAAE,OAAM,SAAU,MAAM,EAAO,MAAM,CAC3C,GAAI,EAAM,MACN,GACF,EAAO,KAAK,EAAM,CAItB,IAAM,EAAS,EAAO,QAAQ,EAAO,IAAU,EAAQ,EAAM,OAAQ,EAAE,CACjE,EAAS,IAAI,WAAW,EAAO,CACjC,EAAS,EACb,IAAK,IAAM,KAAS,EAClB,EAAO,IAAI,EAAO,EAAO,CACzB,GAAU,EAAM,OAElB,OAAO"}
@@ -1,25 +0,0 @@
1
- import { DeleteObjectInput, GetObjectResult, ListObjectsQuery, ListObjectsResult, ObjectStorageProvider, PutObjectInput, SignedUrlOptions, StorageObjectMetadata } from "../storage.js";
2
- import { Storage, StorageOptions } from "@google-cloud/storage";
3
-
4
- //#region src/integrations/providers/impls/gcs-storage.d.ts
5
- interface GoogleCloudStorageProviderOptions {
6
- bucket: string;
7
- storage?: Storage;
8
- clientOptions?: StorageOptions;
9
- }
10
- declare class GoogleCloudStorageProvider implements ObjectStorageProvider {
11
- private readonly storage;
12
- private readonly bucketName;
13
- constructor(options: GoogleCloudStorageProviderOptions);
14
- putObject(input: PutObjectInput): Promise<StorageObjectMetadata>;
15
- getObject(input: DeleteObjectInput): Promise<GetObjectResult | null>;
16
- deleteObject(input: DeleteObjectInput): Promise<void>;
17
- generateSignedUrl(options: SignedUrlOptions): Promise<{
18
- url: string;
19
- expiresAt: Date;
20
- }>;
21
- listObjects(query: ListObjectsQuery): Promise<ListObjectsResult>;
22
- }
23
- //#endregion
24
- export { GoogleCloudStorageProvider, GoogleCloudStorageProviderOptions };
25
- //# sourceMappingURL=gcs-storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gcs-storage.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/gcs-storage.ts"],"sourcesContent":[],"mappings":";;;;UAaiB,iCAAA;;EAAA,OAAA,CAAA,EAEL,OAFK;EAMJ,aAAA,CAAA,EAHK,cAGsB;;AAUf,cAVZ,0BAAA,YAAsC,qBAU1B,CAAA;EAAyB,iBAAA,OAAA;EAAR,iBAAA,UAAA;EAiBjB,WAAA,CAAA,OAAA,EAvBF,iCAuBE;EAA4B,SAAA,CAAA,KAAA,EAjB5B,cAiB4B,CAAA,EAjBX,OAiBW,CAjBH,qBAiBG,CAAA;EAAR,SAAA,CAAA,KAAA,EAApB,iBAAoB,CAAA,EAAA,OAAA,CAAQ,eAAR,GAAA,IAAA,CAAA;EAcjB,YAAA,CAAA,KAAA,EAAA,iBAAA,CAAA,EAAoB,OAApB,CAAA,IAAA,CAAA;EAAoB,iBAAA,CAAA,OAAA,EAOb,gBAPa,CAAA,EAOM,OAPN,CAAA;IAOb,GAAA,EAAA,MAAA;IAEpB,SAAA,EAAA,IAAA;EAFuC,CAAA,CAAA;EAiB3B,WAAA,CAAA,KAAA,EAAA,gBAAA,CAAA,EAAmB,OAAnB,CAA2B,iBAA3B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gcs-storage.js","names":[],"sources":["../../../../src/integrations/providers/impls/gcs-storage.ts"],"sourcesContent":["import { Storage, type StorageOptions } from '@google-cloud/storage';\n\nimport type {\n ObjectStorageProvider,\n PutObjectInput,\n GetObjectResult,\n StorageObjectMetadata,\n ListObjectsQuery,\n ListObjectsResult,\n SignedUrlOptions,\n DeleteObjectInput,\n} from '../storage';\n\nexport interface GoogleCloudStorageProviderOptions {\n bucket: string;\n storage?: Storage;\n clientOptions?: StorageOptions;\n}\n\nexport class GoogleCloudStorageProvider implements ObjectStorageProvider {\n private readonly storage: Storage;\n private readonly bucketName: string;\n\n constructor(options: GoogleCloudStorageProviderOptions) {\n this.storage =\n options.storage ?? new Storage(options.clientOptions ?? undefined);\n this.bucketName = options.bucket;\n }\n\n async putObject(input: PutObjectInput): Promise<StorageObjectMetadata> {\n const bucketName = input.bucket ?? this.bucketName;\n const bucket = this.storage.bucket(bucketName);\n const file = bucket.file(input.key);\n const buffer = toBuffer(input.data);\n await file.save(buffer, {\n resumable: false,\n contentType: input.contentType,\n metadata: input.metadata,\n });\n if (input.makePublic) {\n await file.makePublic();\n }\n const [metadata] = await file.getMetadata();\n return toMetadata(metadata);\n }\n\n async getObject(input: DeleteObjectInput): Promise<GetObjectResult | null> {\n const bucketName = input.bucket ?? this.bucketName;\n const bucket = this.storage.bucket(bucketName);\n const file = bucket.file(input.key);\n const [exists] = await file.exists();\n if (!exists) return null;\n const [contents] = await file.download();\n const [metadata] = await file.getMetadata();\n return {\n ...toMetadata(metadata),\n data: new Uint8Array(contents),\n };\n }\n\n async deleteObject(input: DeleteObjectInput): Promise<void> {\n const bucketName = input.bucket ?? this.bucketName;\n const bucket = this.storage.bucket(bucketName);\n const file = bucket.file(input.key);\n await file.delete({ ignoreNotFound: true });\n }\n\n async generateSignedUrl(options: SignedUrlOptions): Promise<{\n url: string;\n expiresAt: Date;\n }> {\n const bucketName = options.bucket ?? this.bucketName;\n const bucket = this.storage.bucket(bucketName);\n const file = bucket.file(options.key);\n const action = options.method === 'PUT' ? 'write' : 'read';\n const expires = Date.now() + options.expiresInSeconds * 1000;\n const [url] = await file.getSignedUrl({\n action,\n expires,\n contentType: options.contentType,\n });\n return { url, expiresAt: new Date(expires) };\n }\n\n async listObjects(query: ListObjectsQuery): Promise<ListObjectsResult> {\n const bucketName = query.bucket ?? this.bucketName;\n const bucket = this.storage.bucket(bucketName);\n const [files, nextQuery, response] = await bucket.getFiles({\n prefix: query.prefix,\n maxResults: query.maxResults,\n pageToken: query.pageToken,\n });\n const nextTokenFromQuery =\n typeof nextQuery === 'object' &&\n nextQuery !== null &&\n 'pageToken' in nextQuery\n ? (nextQuery as { pageToken?: string }).pageToken\n : undefined;\n const nextTokenFromResponse =\n response && typeof response === 'object' && 'nextPageToken' in response\n ? (response as { nextPageToken?: string }).nextPageToken\n : undefined;\n return {\n objects: files.map((file) => toMetadata(file.metadata)),\n nextPageToken: nextTokenFromQuery ?? nextTokenFromResponse ?? undefined,\n };\n }\n}\n\nfunction toBuffer(data: Uint8Array | ArrayBuffer): Buffer {\n if (data instanceof Uint8Array) {\n return Buffer.from(data);\n }\n return Buffer.from(data);\n}\n\nfunction toMetadata(metadata: any): StorageObjectMetadata {\n return {\n bucket: metadata.bucket ?? '',\n key: metadata.name ?? '',\n sizeBytes: metadata.size ? Number(metadata.size) : undefined,\n contentType: metadata.contentType ?? undefined,\n etag: metadata.etag ?? undefined,\n checksum: metadata.md5Hash ?? undefined,\n lastModified: metadata.updated ? new Date(metadata.updated) : undefined,\n metadata: metadata.metadata,\n };\n}\n"],"mappings":"gDAmBA,IAAa,EAAb,KAAyE,CACvE,QACA,WAEA,YAAY,EAA4C,CACtD,KAAK,QACH,EAAQ,SAAW,IAAI,EAAQ,EAAQ,eAAiB,IAAA,GAAU,CACpE,KAAK,WAAa,EAAQ,OAG5B,MAAM,UAAU,EAAuD,CACrE,IAAM,EAAa,EAAM,QAAU,KAAK,WAElC,EADS,KAAK,QAAQ,OAAO,EAAW,CAC1B,KAAK,EAAM,IAAI,CAC7B,EAAS,EAAS,EAAM,KAAK,CACnC,MAAM,EAAK,KAAK,EAAQ,CACtB,UAAW,GACX,YAAa,EAAM,YACnB,SAAU,EAAM,SACjB,CAAC,CACE,EAAM,YACR,MAAM,EAAK,YAAY,CAEzB,GAAM,CAAC,GAAY,MAAM,EAAK,aAAa,CAC3C,OAAO,EAAW,EAAS,CAG7B,MAAM,UAAU,EAA2D,CACzE,IAAM,EAAa,EAAM,QAAU,KAAK,WAElC,EADS,KAAK,QAAQ,OAAO,EAAW,CAC1B,KAAK,EAAM,IAAI,CAC7B,CAAC,GAAU,MAAM,EAAK,QAAQ,CACpC,GAAI,CAAC,EAAQ,OAAO,KACpB,GAAM,CAAC,GAAY,MAAM,EAAK,UAAU,CAClC,CAAC,GAAY,MAAM,EAAK,aAAa,CAC3C,MAAO,CACL,GAAG,EAAW,EAAS,CACvB,KAAM,IAAI,WAAW,EAAS,CAC/B,CAGH,MAAM,aAAa,EAAyC,CAC1D,IAAM,EAAa,EAAM,QAAU,KAAK,WAGxC,MAFe,KAAK,QAAQ,OAAO,EAAW,CAC1B,KAAK,EAAM,IAAI,CACxB,OAAO,CAAE,eAAgB,GAAM,CAAC,CAG7C,MAAM,kBAAkB,EAGrB,CACD,IAAM,EAAa,EAAQ,QAAU,KAAK,WAEpC,EADS,KAAK,QAAQ,OAAO,EAAW,CAC1B,KAAK,EAAQ,IAAI,CAC/B,EAAS,EAAQ,SAAW,MAAQ,QAAU,OAC9C,EAAU,KAAK,KAAK,CAAG,EAAQ,iBAAmB,IAClD,CAAC,GAAO,MAAM,EAAK,aAAa,CACpC,SACA,UACA,YAAa,EAAQ,YACtB,CAAC,CACF,MAAO,CAAE,MAAK,UAAW,IAAI,KAAK,EAAQ,CAAE,CAG9C,MAAM,YAAY,EAAqD,CACrE,IAAM,EAAa,EAAM,QAAU,KAAK,WAElC,CAAC,EAAO,EAAW,GAAY,MADtB,KAAK,QAAQ,OAAO,EAAW,CACI,SAAS,CACzD,OAAQ,EAAM,OACd,WAAY,EAAM,WAClB,UAAW,EAAM,UAClB,CAAC,CACI,EACJ,OAAO,GAAc,UACrB,GACA,cAAe,EACV,EAAqC,UACtC,IAAA,GACA,EACJ,GAAY,OAAO,GAAa,UAAY,kBAAmB,EAC1D,EAAwC,cACzC,IAAA,GACN,MAAO,CACL,QAAS,EAAM,IAAK,GAAS,EAAW,EAAK,SAAS,CAAC,CACvD,cAAe,GAAsB,GAAyB,IAAA,GAC/D,GAIL,SAAS,EAAS,EAAwC,CAIxD,OAHI,aAAgB,WACX,OAAO,KAAK,EAAK,CAK5B,SAAS,EAAW,EAAsC,CACxD,MAAO,CACL,OAAQ,EAAS,QAAU,GAC3B,IAAK,EAAS,MAAQ,GACtB,UAAW,EAAS,KAAO,OAAO,EAAS,KAAK,CAAG,IAAA,GACnD,YAAa,EAAS,aAAe,IAAA,GACrC,KAAM,EAAS,MAAQ,IAAA,GACvB,SAAU,EAAS,SAAW,IAAA,GAC9B,aAAc,EAAS,QAAU,IAAI,KAAK,EAAS,QAAQ,CAAG,IAAA,GAC9D,SAAU,EAAS,SACpB"}
@@ -1,27 +0,0 @@
1
- import { EmailInboundProvider, EmailMessage, EmailMessagesSinceQuery, EmailThread, EmailThreadListQuery } from "../email.js";
2
- import { gmail_v1 } from "googleapis";
3
-
4
- //#region src/integrations/providers/impls/gmail-inbound.d.ts
5
- interface GmailInboundProviderOptions {
6
- auth: gmail_v1.Options['auth'];
7
- userId?: string;
8
- gmail?: gmail_v1.Gmail;
9
- includeSpamTrash?: boolean;
10
- }
11
- declare class GmailInboundProvider implements EmailInboundProvider {
12
- private readonly gmail;
13
- private readonly userId;
14
- private readonly includeSpamTrash;
15
- private readonly auth;
16
- constructor(options: GmailInboundProviderOptions);
17
- listThreads(query?: EmailThreadListQuery): Promise<EmailThread[]>;
18
- getThread(threadId: string): Promise<EmailThread | null>;
19
- listMessagesSince(query: EmailMessagesSinceQuery): Promise<{
20
- messages: EmailMessage[];
21
- nextPageToken: string | undefined;
22
- }>;
23
- private transformMessage;
24
- }
25
- //#endregion
26
- export { GmailInboundProvider, GmailInboundProviderOptions };
27
- //# sourceMappingURL=gmail-inbound.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gmail-inbound.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/gmail-inbound.ts"],"sourcesContent":[],"mappings":";;;;UAUiB,2BAAA;QACT,QAAA,CAAS;EADA,MAAA,CAAA,EAAA,MAAA;EAOJ,KAAA,CAAA,EAJH,QAAA,CAAS,KAIN;EAMU,gBAAA,CAAA,EAAA,OAAA;;AAYoC,cAlB9C,oBAAA,YAAgC,oBAkBc,CAAA;EAAR,iBAAA,KAAA;EAqBN,iBAAA,MAAA;EAAR,iBAAA,gBAAA;EAsDJ,iBAAA,IAAA;uBAvFV;EAuFiC,WAAA,CAAA,KAAA,CAAA,EA3E5B,oBA2E4B,CAAA,EA3EL,OA2EK,CA3EG,WA2EH,EAAA,CAAA;EA7FX,SAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAuCR,OAvCQ,CAuCA,WAvCA,GAAA,IAAA,CAAA;EAAoB,iBAAA,CAAA,KAAA,EA6FhC,uBA7FgC,CAAA,EA6FT,OA7FS,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gmail-inbound.js","names":["q: string[]","metadata: Record<string, string>","attachments: NonNullable<EmailMessage['attachments']>"],"sources":["../../../../src/integrations/providers/impls/gmail-inbound.ts"],"sourcesContent":["import { google, type gmail_v1 } from 'googleapis';\n\nimport type {\n EmailInboundProvider,\n EmailMessagesSinceQuery,\n EmailMessage,\n EmailThread,\n EmailThreadListQuery,\n} from '../email';\n\nexport interface GmailInboundProviderOptions {\n auth: gmail_v1.Options['auth'];\n userId?: string;\n gmail?: gmail_v1.Gmail;\n includeSpamTrash?: boolean;\n}\n\nexport class GmailInboundProvider implements EmailInboundProvider {\n private readonly gmail: gmail_v1.Gmail;\n private readonly userId: string;\n private readonly includeSpamTrash: boolean;\n private readonly auth: gmail_v1.Options['auth'];\n\n constructor(options: GmailInboundProviderOptions) {\n this.auth = options.auth;\n this.gmail =\n options.gmail ??\n google.gmail({\n version: 'v1',\n auth: options.auth,\n });\n this.userId = options.userId ?? 'me';\n this.includeSpamTrash = options.includeSpamTrash ?? false;\n }\n\n async listThreads(query?: EmailThreadListQuery): Promise<EmailThread[]> {\n const response = await this.gmail.users.threads.list({\n userId: this.userId,\n maxResults: query?.pageSize,\n pageToken: query?.pageToken,\n q: query?.query,\n labelIds: query?.label ? [query.label] : undefined,\n includeSpamTrash: this.includeSpamTrash,\n auth: this.auth,\n });\n\n const threads = await Promise.all(\n (response.data.threads ?? []).map(async (thread) => {\n if (!thread.id) return null;\n return this.getThread(thread.id);\n })\n );\n\n return threads.filter((thread): thread is EmailThread => thread !== null);\n }\n\n async getThread(threadId: string): Promise<EmailThread | null> {\n const response = await this.gmail.users.threads.get({\n id: threadId,\n userId: this.userId,\n format: 'full',\n auth: this.auth,\n });\n const thread = response.data;\n if (!thread) return null;\n\n const messages =\n thread.messages?.map((message) => this.transformMessage(message)) ?? [];\n\n const participants = dedupeAddresses(\n messages.flatMap((message) => [\n message.from,\n ...message.to,\n ...(message.cc ?? []),\n ])\n );\n\n const firstMessage = messages[0];\n const lastMessage = messages[messages.length - 1];\n const updatedAt =\n lastMessage?.receivedAt ??\n lastMessage?.sentAt ??\n firstMessage?.receivedAt ??\n firstMessage?.sentAt ??\n new Date();\n\n const labels = Array.from(\n new Set(\n messages\n .flatMap((message) => {\n const labelField = message.metadata?.labelIds;\n if (!labelField) return [];\n return labelField.split(',').map((label) => label.trim());\n })\n .filter((label): label is string => Boolean(label))\n )\n );\n\n return {\n id: thread.id ?? threadId,\n subject: messages[0]?.subject,\n snippet: thread.snippet ?? '',\n participants,\n messages,\n updatedAt,\n labels,\n metadata: thread.historyId ? { historyId: thread.historyId } : undefined,\n };\n }\n\n async listMessagesSince(query: EmailMessagesSinceQuery) {\n const after = query.since\n ? Math.floor(query.since.getTime() / 1000)\n : undefined;\n const q: string[] = [];\n if (after) {\n q.push(`after:${after}`);\n }\n const response = await this.gmail.users.messages.list({\n userId: this.userId,\n maxResults: query.pageSize,\n pageToken: query.pageToken,\n labelIds: query.label ? [query.label] : undefined,\n q: q.join(' '),\n includeSpamTrash: this.includeSpamTrash,\n auth: this.auth,\n });\n\n const messages = await Promise.all(\n (response.data.messages ?? []).map(async (item) => {\n if (!item.id) return null;\n const full = await this.gmail.users.messages.get({\n userId: this.userId,\n id: item.id,\n format: 'full',\n auth: this.auth,\n });\n if (!full.data) return null;\n return this.transformMessage(full.data);\n })\n );\n\n return {\n messages: messages.filter(\n (message): message is EmailMessage => message !== null\n ),\n nextPageToken: response.data.nextPageToken ?? undefined,\n };\n }\n\n private transformMessage(message: gmail_v1.Schema$Message): EmailMessage {\n const headers = message.payload?.headers ?? [];\n const subject = headerValue(headers, 'Subject') ?? '';\n const from =\n parseAddress(headerValue(headers, 'From')) ??\n inferFallbackAddress('from', message.id);\n const to = parseAddressList(headerValue(headers, 'To'));\n const cc = parseAddressList(headerValue(headers, 'Cc'));\n const bcc = parseAddressList(headerValue(headers, 'Bcc'));\n const replyTo = parseAddress(headerValue(headers, 'Reply-To'));\n\n const { text, html, attachments } = extractContent(message.payload);\n const timestamp = message.internalDate\n ? new Date(Number(message.internalDate))\n : new Date();\n\n const metadata: Record<string, string> = {\n ...(message.labelIds?.length\n ? { labelIds: message.labelIds.join(',') }\n : {}),\n ...(message.historyId ? { historyId: message.historyId } : {}),\n };\n\n return {\n id: message.id ?? '',\n threadId: message.threadId ?? '',\n subject,\n from,\n to,\n cc,\n bcc,\n replyTo: replyTo ?? undefined,\n sentAt: timestamp,\n receivedAt: timestamp,\n textBody: text ?? undefined,\n htmlBody: html ?? undefined,\n attachments,\n headers: Object.fromEntries(\n headers.map((header) => [header.name ?? '', header.value ?? ''])\n ),\n metadata: Object.keys(metadata).length > 0 ? metadata : undefined,\n };\n }\n}\n\nfunction headerValue(\n headers: gmail_v1.Schema$MessagePartHeader[],\n name: string\n): string | undefined {\n const header = headers.find(\n (candidate) => candidate.name?.toLowerCase() === name.toLowerCase()\n );\n const value = header?.value;\n return typeof value === 'string' ? value : undefined;\n}\n\nfunction parseAddress(\n header?: string\n): { email: string; name?: string } | null {\n const addresses = parseAddressList(header);\n if (addresses.length === 0) {\n return null;\n }\n return addresses[0]!;\n}\n\nfunction inferFallbackAddress(\n field: string,\n messageId?: string | null\n): { email: string; name?: string } {\n const suffix = messageId\n ? messageId.replace(/[^\\w]/g, '').slice(-8) || 'unknown'\n : 'unknown';\n return {\n email: `${field}-${suffix}@mail.local`,\n };\n}\n\nfunction parseAddressList(header?: string): { email: string; name?: string }[] {\n if (!header) return [];\n return header\n .split(',')\n .map((part) => part.trim())\n .filter(Boolean)\n .map((value) => {\n const match = value.match(/^(?:\"?([^\"]*)\"?\\s)?<?([^<>]+)>?$/);\n if (!match) {\n return { email: value };\n }\n const name = match[1]?.trim();\n const email = match[2]?.trim();\n if (!email) {\n return { email: value };\n }\n return name ? { email, name } : { email };\n });\n}\n\nfunction dedupeAddresses(\n addresses: (\n | ReturnType<typeof parseAddress>\n | { email: string; name?: string }\n )[]\n) {\n const map = new Map<string, { email: string; name?: string }>();\n for (const address of addresses) {\n if (!address) continue;\n map.set(address.email.toLowerCase(), address);\n }\n return Array.from(map.values());\n}\n\nfunction extractContent(payload?: gmail_v1.Schema$MessagePart): {\n text?: string;\n html?: string;\n attachments: EmailMessage['attachments'];\n} {\n if (!payload) {\n return { attachments: [] };\n }\n const attachments: NonNullable<EmailMessage['attachments']> = [];\n const visit = (\n part?: gmail_v1.Schema$MessagePart\n ): {\n text?: string;\n html?: string;\n } => {\n if (!part) return {};\n if (part.filename && part.body?.attachmentId) {\n attachments.push({\n id: part.body.attachmentId,\n filename: part.filename,\n contentType: part.mimeType ?? 'application/octet-stream',\n sizeBytes: part.body.size ?? undefined,\n });\n }\n const mimeType = part.mimeType ?? '';\n const data = part.body?.data;\n if (mimeType === 'text/plain' && data) {\n return { text: decodeBase64Url(data) };\n }\n if (mimeType === 'text/html' && data) {\n return { html: decodeBase64Url(data) };\n }\n if (part.parts?.length) {\n return part.parts.reduce<{ text?: string; html?: string }>(\n (acc, nested) => {\n const value = visit(nested);\n return {\n text: value.text ?? acc.text,\n html: value.html ?? acc.html,\n };\n },\n {}\n );\n }\n return {};\n };\n\n const { text, html } = visit(payload);\n return { text, html, attachments };\n}\n\nfunction decodeBase64Url(data: string): string {\n const normalized = data.replace(/-/g, '+').replace(/_/g, '/');\n const padding = normalized.length % 4;\n const padded =\n padding === 0 ? normalized : normalized + '='.repeat(4 - padding);\n return Buffer.from(padded, 'base64').toString('utf-8');\n}\n"],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import { EmailOutboundMessage, EmailOutboundProvider, EmailOutboundResult } from "../email.js";
2
- import { gmail_v1 } from "googleapis";
3
-
4
- //#region src/integrations/providers/impls/gmail-outbound.d.ts
5
- interface GmailOutboundProviderOptions {
6
- auth: gmail_v1.Options['auth'];
7
- userId?: string;
8
- gmail?: gmail_v1.Gmail;
9
- }
10
- declare class GmailOutboundProvider implements EmailOutboundProvider {
11
- private readonly gmail;
12
- private readonly userId;
13
- private readonly auth;
14
- constructor(options: GmailOutboundProviderOptions);
15
- sendEmail(message: EmailOutboundMessage): Promise<EmailOutboundResult>;
16
- }
17
- //#endregion
18
- export { GmailOutboundProvider, GmailOutboundProviderOptions };
19
- //# sourceMappingURL=gmail-outbound.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gmail-outbound.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/gmail-outbound.ts"],"sourcesContent":[],"mappings":";;;;UASiB,4BAAA;QACT,QAAA,CAAS;EADA,MAAA,CAAA,EAAA,MAAA;EAMJ,KAAA,CAAA,EAHH,QAAA,CAAS,KAGN;;AAgBc,cAhBd,qBAAA,YAAiC,qBAgBnB,CAAA;EAA+B,iBAAA,KAAA;EAAR,iBAAA,MAAA;EAhBJ,iBAAA,IAAA;EAAqB,WAAA,CAAA,OAAA,EAK5C,4BAL4C;qBAgBxC,uBAAuB,QAAQ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gmail-outbound.js","names":["headers: string[]"],"sources":["../../../../src/integrations/providers/impls/gmail-outbound.ts"],"sourcesContent":["import { google, type gmail_v1 } from 'googleapis';\n\nimport type {\n EmailAttachment,\n EmailOutboundMessage,\n EmailOutboundProvider,\n EmailOutboundResult,\n} from '../email';\n\nexport interface GmailOutboundProviderOptions {\n auth: gmail_v1.Options['auth'];\n userId?: string;\n gmail?: gmail_v1.Gmail;\n}\n\nexport class GmailOutboundProvider implements EmailOutboundProvider {\n private readonly gmail: gmail_v1.Gmail;\n private readonly userId: string;\n private readonly auth: gmail_v1.Options['auth'];\n\n constructor(options: GmailOutboundProviderOptions) {\n this.auth = options.auth;\n this.gmail =\n options.gmail ??\n google.gmail({\n version: 'v1',\n auth: options.auth,\n });\n this.userId = options.userId ?? 'me';\n }\n\n async sendEmail(message: EmailOutboundMessage): Promise<EmailOutboundResult> {\n const raw = encodeMessage(message);\n const response = await this.gmail.users.messages.send({\n userId: this.userId,\n requestBody: {\n raw,\n },\n auth: this.auth,\n });\n\n const id = response.data.id ?? '';\n return {\n id,\n providerMessageId: response.data.id ?? undefined,\n queuedAt: new Date(),\n };\n }\n}\n\nfunction encodeMessage(message: EmailOutboundMessage): string {\n const headers: string[] = [\n `From: ${formatAddress(message.from)}`,\n `To: ${message.to.map(formatAddress).join(', ')}`,\n `Subject: ${message.subject}`,\n 'MIME-Version: 1.0',\n ];\n if (message.cc?.length) {\n headers.push(`Cc: ${message.cc.map(formatAddress).join(', ')}`);\n }\n if (message.replyTo) {\n headers.push(`Reply-To: ${formatAddress(message.replyTo)}`);\n }\n Object.entries(message.headers ?? {}).forEach(([key, value]) => {\n headers.push(`${key}: ${value}`);\n });\n\n const attachments = message.attachments ?? [];\n const hasHtml = Boolean(message.htmlBody);\n const hasText = Boolean(message.textBody);\n const boundaryMain = `mixed_${Date.now()}`;\n const boundaryAlt = `alt_${Date.now()}`;\n\n let body = '';\n if (attachments.length > 0) {\n headers.push(`Content-Type: multipart/mixed; boundary=\"${boundaryMain}\"`);\n body += `\\r\\n--${boundaryMain}\\r\\n`;\n body += buildAlternativePart(hasText, hasHtml, boundaryAlt, message);\n attachments.forEach((attachment) => {\n body += buildAttachmentPart(boundaryMain, attachment);\n });\n body += `\\r\\n--${boundaryMain}--`;\n } else if (hasText && hasHtml) {\n headers.push(\n `Content-Type: multipart/alternative; boundary=\"${boundaryAlt}\"`\n );\n body += `\\r\\n--${boundaryAlt}\\r\\n`;\n body += buildTextPart('text/plain; charset=\"utf-8\"', message.textBody!);\n body += `\\r\\n--${boundaryAlt}\\r\\n`;\n body += buildTextPart('text/html; charset=\"utf-8\"', message.htmlBody!);\n body += `\\r\\n--${boundaryAlt}--`;\n } else if (hasHtml) {\n headers.push('Content-Type: text/html; charset=\"utf-8\"');\n body += `\\r\\n\\r\\n${message.htmlBody}`;\n } else {\n headers.push('Content-Type: text/plain; charset=\"utf-8\"');\n body += `\\r\\n\\r\\n${message.textBody ?? ''}`;\n }\n\n const mime = `${headers.join('\\r\\n')}${body}`;\n return Buffer.from(mime)\n .toString('base64')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '');\n}\n\nfunction buildAlternativePart(\n hasText: boolean,\n hasHtml: boolean,\n boundary: string,\n message: EmailOutboundMessage\n) {\n let content = '';\n content += `Content-Type: multipart/alternative; boundary=\"${boundary}\"\\r\\n`;\n content += '\\r\\n';\n if (hasText) {\n content += `--${boundary}\\r\\n`;\n content += buildTextPart('text/plain; charset=\"utf-8\"', message.textBody!);\n }\n if (hasHtml) {\n content += `\\r\\n--${boundary}\\r\\n`;\n content += buildTextPart('text/html; charset=\"utf-8\"', message.htmlBody!);\n }\n content += `\\r\\n--${boundary}--`;\n return content;\n}\n\nfunction buildTextPart(contentType: string, content: string) {\n return (\n `Content-Type: ${contentType}\\r\\n` +\n 'Content-Transfer-Encoding: 7bit\\r\\n\\r\\n' +\n content\n );\n}\n\nfunction buildAttachmentPart(\n boundary: string,\n attachment: EmailAttachment\n): string {\n const data = attachment.data ?? new Uint8Array();\n const encoded =\n data.byteLength > 0 ? Buffer.from(data).toString('base64') : '';\n return (\n `\\r\\n--${boundary}\\r\\n` +\n `Content-Type: ${attachment.contentType}; name=\"${attachment.filename}\"\\r\\n` +\n 'Content-Transfer-Encoding: base64\\r\\n' +\n `Content-Disposition: attachment; filename=\"${attachment.filename}\"\\r\\n\\r\\n` +\n encoded\n );\n}\n\nfunction formatAddress(address: { email: string; name?: string }) {\n if (address.name) {\n return `\"${address.name}\" <${address.email}>`;\n }\n return address.email;\n}\n"],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { CalendarEvent, CalendarEventInput, CalendarEventUpdateInput, CalendarListEventsQuery, CalendarListEventsResult, CalendarProvider } from "../calendar.js";
2
- import { calendar_v3 } from "googleapis";
3
-
4
- //#region src/integrations/providers/impls/google-calendar.d.ts
5
- interface GoogleCalendarProviderOptions {
6
- auth: calendar_v3.Options['auth'];
7
- calendar?: calendar_v3.Calendar;
8
- calendarId?: string;
9
- }
10
- declare class GoogleCalendarProvider implements CalendarProvider {
11
- private readonly calendar;
12
- private readonly defaultCalendarId;
13
- private readonly auth;
14
- constructor(options: GoogleCalendarProviderOptions);
15
- listEvents(query: CalendarListEventsQuery): Promise<CalendarListEventsResult>;
16
- createEvent(input: CalendarEventInput): Promise<CalendarEvent>;
17
- updateEvent(calendarId: string, eventId: string, input: CalendarEventUpdateInput): Promise<CalendarEvent>;
18
- deleteEvent(calendarId: string, eventId: string): Promise<void>;
19
- private fromGoogleEvent;
20
- private toGoogleEvent;
21
- }
22
- //#endregion
23
- export { GoogleCalendarProvider, GoogleCalendarProviderOptions };
24
- //# sourceMappingURL=google-calendar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-calendar.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/google-calendar.ts"],"sourcesContent":[],"mappings":";;;;UAWiB,6BAAA;QACT,WAAA,CAAY;EADH,QAAA,CAAA,EAEJ,WAAA,CAAY,QAFR;EAMJ,UAAA,CAAA,EAAA,MAAA;;AAiBF,cAjBE,sBAAA,YAAkC,gBAiBpC,CAAA;EACE,iBAAA,QAAA;EAAR,iBAAA,iBAAA;EAuBsB,iBAAA,IAAA;EAA6B,WAAA,CAAA,OAAA,EApCjC,6BAoCiC;EAAR,UAAA,CAAA,KAAA,EAxBrC,uBAwBqC,CAAA,EAvB3C,OAuB2C,CAvBnC,wBAuBmC,CAAA;EAcrC,WAAA,CAAA,KAAA,EAdgB,kBAchB,CAAA,EAdqC,OAcrC,CAd6C,aAc7C,CAAA;EACE,WAAA,CAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EADF,wBACE,CAAA,EAAR,OAAQ,CAAA,aAAA,CAAA;EAAR,WAAA,CAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAWqD,OAXrD,CAAA,IAAA,CAAA;EAWqD,QAAA,eAAA;EAnEX,QAAA,aAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-calendar.js","names":["event: calendar_v3.Schema$Event","metadata: Record<string, string>"],"sources":["../../../../src/integrations/providers/impls/google-calendar.ts"],"sourcesContent":["import { google, type calendar_v3 } from 'googleapis';\n\nimport type {\n CalendarEvent,\n CalendarEventInput,\n CalendarEventUpdateInput,\n CalendarListEventsQuery,\n CalendarListEventsResult,\n CalendarProvider,\n} from '../calendar';\n\nexport interface GoogleCalendarProviderOptions {\n auth: calendar_v3.Options['auth'];\n calendar?: calendar_v3.Calendar;\n calendarId?: string;\n}\n\nexport class GoogleCalendarProvider implements CalendarProvider {\n private readonly calendar: calendar_v3.Calendar;\n private readonly defaultCalendarId: string;\n private readonly auth: calendar_v3.Options['auth'];\n\n constructor(options: GoogleCalendarProviderOptions) {\n this.auth = options.auth;\n this.calendar =\n options.calendar ??\n google.calendar({\n version: 'v3',\n auth: options.auth,\n });\n this.defaultCalendarId = options.calendarId ?? 'primary';\n }\n\n async listEvents(\n query: CalendarListEventsQuery\n ): Promise<CalendarListEventsResult> {\n const response = await this.calendar.events.list({\n calendarId: query.calendarId ?? this.defaultCalendarId,\n timeMin: query.timeMin?.toISOString(),\n timeMax: query.timeMax?.toISOString(),\n maxResults: query.maxResults,\n pageToken: query.pageToken,\n singleEvents: true,\n orderBy: 'startTime',\n auth: this.auth,\n });\n\n const events =\n response.data.items?.map((item) =>\n this.fromGoogleEvent(query.calendarId ?? this.defaultCalendarId, item)\n ) ?? [];\n\n return {\n events,\n nextPageToken: response.data.nextPageToken ?? undefined,\n };\n }\n\n async createEvent(input: CalendarEventInput): Promise<CalendarEvent> {\n const calendarId = input.calendarId ?? this.defaultCalendarId;\n const response = await this.calendar.events.insert({\n calendarId,\n requestBody: this.toGoogleEvent(input),\n conferenceDataVersion: input.conference?.create ? 1 : undefined,\n auth: this.auth,\n });\n return this.fromGoogleEvent(calendarId, response.data);\n }\n\n async updateEvent(\n calendarId: string,\n eventId: string,\n input: CalendarEventUpdateInput\n ): Promise<CalendarEvent> {\n const response = await this.calendar.events.patch({\n calendarId: calendarId ?? this.defaultCalendarId,\n eventId,\n requestBody: this.toGoogleEvent(input),\n conferenceDataVersion: input.conference?.create ? 1 : undefined,\n auth: this.auth,\n });\n return this.fromGoogleEvent(calendarId, response.data);\n }\n\n async deleteEvent(calendarId: string, eventId: string): Promise<void> {\n await this.calendar.events.delete({\n calendarId: calendarId ?? this.defaultCalendarId,\n eventId,\n auth: this.auth,\n });\n }\n\n private fromGoogleEvent(\n calendarId: string,\n event: calendar_v3.Schema$Event\n ): CalendarEvent {\n const start = parseDateTime(event.start);\n const end = parseDateTime(event.end);\n const attendees =\n event.attendees?.map((attendee) => ({\n email: attendee.email ?? '',\n name: attendee.displayName ?? undefined,\n optional: attendee.optional ?? undefined,\n responseStatus: normalizeResponseStatus(attendee.responseStatus),\n })) ?? [];\n const reminders =\n event.reminders?.overrides?.map((reminder) => ({\n method: (reminder.method as 'email' | 'popup') ?? 'popup',\n minutesBeforeStart: reminder.minutes ?? 0,\n })) ?? [];\n const metadata = buildMetadata(event);\n return {\n id: event.id ?? '',\n calendarId,\n title: event.summary ?? '',\n description: event.description ?? undefined,\n location: event.location ?? undefined,\n start,\n end,\n allDay: event.start?.date ? true : undefined,\n attendees,\n reminders,\n conferenceLink:\n event.hangoutLink ??\n event.conferenceData?.entryPoints?.find((entry) => entry.uri)?.uri ??\n undefined,\n metadata,\n createdAt: event.created ? new Date(event.created) : undefined,\n updatedAt: event.updated ? new Date(event.updated) : undefined,\n };\n }\n\n private toGoogleEvent(\n input: CalendarEventInput | CalendarEventUpdateInput\n ): calendar_v3.Schema$Event {\n const event: calendar_v3.Schema$Event = {};\n if ('title' in input && input.title) event.summary = input.title;\n if (input.description !== undefined) event.description = input.description;\n if (input.location !== undefined) event.location = input.location;\n if (input.start) {\n event.start = formatDateTime(input.start, input.allDay);\n }\n if (input.end) {\n event.end = formatDateTime(input.end, input.allDay);\n }\n if (input.attendees) {\n event.attendees = input.attendees.map((attendee) => ({\n email: attendee.email,\n displayName: attendee.name,\n optional: attendee.optional,\n responseStatus: attendee.responseStatus,\n }));\n }\n if (input.reminders) {\n event.reminders = {\n useDefault: false,\n overrides: input.reminders.map((reminder) => ({\n method: reminder.method,\n minutes: reminder.minutesBeforeStart,\n })),\n };\n }\n if (input.conference?.create) {\n event.conferenceData = {\n createRequest: {\n requestId: `conf-${Date.now()}`,\n },\n };\n }\n if (input.metadata) {\n event.extendedProperties = {\n ...(event.extendedProperties ?? {}),\n private: {\n ...(event.extendedProperties?.private ?? {}),\n ...input.metadata,\n },\n };\n }\n return event;\n }\n}\n\nfunction parseDateTime(time?: calendar_v3.Schema$EventDateTime | null): Date {\n if (!time) return new Date();\n if (time.dateTime) return new Date(time.dateTime);\n if (time.date) return new Date(`${time.date}T00:00:00`);\n return new Date();\n}\n\nfunction formatDateTime(\n date: Date,\n allDay?: boolean\n): calendar_v3.Schema$EventDateTime {\n if (allDay) {\n return { date: date.toISOString().slice(0, 10) };\n }\n return { dateTime: date.toISOString() };\n}\n\ntype CalendarResponseStatus =\n | 'needsAction'\n | 'declined'\n | 'tentative'\n | 'accepted';\n\nfunction normalizeResponseStatus(\n status?: string | null\n): CalendarResponseStatus | undefined {\n if (!status) return undefined;\n const allowed: CalendarResponseStatus[] = [\n 'needsAction',\n 'declined',\n 'tentative',\n 'accepted',\n ];\n return allowed.includes(status as CalendarResponseStatus)\n ? (status as CalendarResponseStatus)\n : undefined;\n}\n\nfunction buildMetadata(\n event: calendar_v3.Schema$Event\n): Record<string, string> | undefined {\n const metadata: Record<string, string> = {};\n if (event.status) metadata.status = event.status;\n if (event.htmlLink) metadata.htmlLink = event.htmlLink;\n if (event.iCalUID) metadata.iCalUID = event.iCalUID;\n if (event.etag) metadata.etag = event.etag;\n if (event.conferenceData?.conferenceSolution?.name) {\n metadata.conferenceSolution = event.conferenceData.conferenceSolution.name;\n }\n if (event.extendedProperties?.private) {\n Object.entries(event.extendedProperties.private).forEach(([key, value]) => {\n if (typeof value === 'string') {\n metadata[`extended.${key}`] = value;\n }\n });\n }\n return Object.keys(metadata).length > 0 ? metadata : undefined;\n}\n"],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { MistralLLMProvider, MistralLLMProviderOptions } from "./mistral-llm.js";
2
- import { MistralEmbeddingProvider, MistralEmbeddingProviderOptions } from "./mistral-embedding.js";
3
- import { QdrantVectorProvider, QdrantVectorProviderOptions } from "./qdrant-vector.js";
4
- import { GmailInboundProvider, GmailInboundProviderOptions } from "./gmail-inbound.js";
5
- import { GmailOutboundProvider, GmailOutboundProviderOptions } from "./gmail-outbound.js";
6
- import { GoogleCalendarProvider, GoogleCalendarProviderOptions } from "./google-calendar.js";
7
- import { ElevenLabsVoiceProvider, ElevenLabsVoiceProviderOptions } from "./elevenlabs-voice.js";
8
- import { GoogleCloudStorageProvider, GoogleCloudStorageProviderOptions } from "./gcs-storage.js";
9
- import { StripePaymentsProvider, StripePaymentsProviderOptions } from "./stripe-payments.js";
10
- import { PostmarkEmailProvider, PostmarkEmailProviderOptions } from "./postmark-email.js";
11
- import { TwilioSmsProvider, TwilioSmsProviderOptions } from "./twilio-sms.js";
12
- import { PowensAccount, PowensAccountListResponse, PowensBalance, PowensClient, PowensClientError, PowensClientOptions, PowensConnectionStatusResponse, PowensEnvironment, PowensTransaction, PowensTransactionListResponse } from "./powens-client.js";
13
- import { PowensOpenBankingProvider, PowensOpenBankingProviderOptions } from "./powens-openbanking.js";
14
- import { IntegrationProviderFactory } from "./provider-factory.js";
15
- export { ElevenLabsVoiceProvider, ElevenLabsVoiceProviderOptions, GmailInboundProvider, GmailInboundProviderOptions, GmailOutboundProvider, GmailOutboundProviderOptions, GoogleCalendarProvider, GoogleCalendarProviderOptions, GoogleCloudStorageProvider, GoogleCloudStorageProviderOptions, IntegrationProviderFactory, MistralEmbeddingProvider, MistralEmbeddingProviderOptions, MistralLLMProvider, MistralLLMProviderOptions, PostmarkEmailProvider, PostmarkEmailProviderOptions, PowensAccount, PowensAccountListResponse, PowensBalance, PowensClient, PowensClientError, PowensClientOptions, PowensConnectionStatusResponse, PowensEnvironment, PowensOpenBankingProvider, PowensOpenBankingProviderOptions, PowensTransaction, PowensTransactionListResponse, QdrantVectorProvider, QdrantVectorProviderOptions, StripePaymentsProvider, StripePaymentsProviderOptions, TwilioSmsProvider, TwilioSmsProviderOptions };
@@ -1,24 +0,0 @@
1
- import { EmbeddingDocument, EmbeddingProvider, EmbeddingResult } from "../embedding.js";
2
- import { Mistral } from "@mistralai/mistralai";
3
-
4
- //#region src/integrations/providers/impls/mistral-embedding.d.ts
5
- interface MistralEmbeddingProviderOptions {
6
- apiKey: string;
7
- defaultModel?: string;
8
- serverURL?: string;
9
- client?: Mistral;
10
- }
11
- declare class MistralEmbeddingProvider implements EmbeddingProvider {
12
- private readonly client;
13
- private readonly defaultModel;
14
- constructor(options: MistralEmbeddingProviderOptions);
15
- embedDocuments(documents: EmbeddingDocument[], options?: {
16
- model?: string;
17
- }): Promise<EmbeddingResult[]>;
18
- embedQuery(query: string, options?: {
19
- model?: string;
20
- }): Promise<EmbeddingResult>;
21
- }
22
- //#endregion
23
- export { MistralEmbeddingProvider, MistralEmbeddingProviderOptions };
24
- //# sourceMappingURL=mistral-embedding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mistral-embedding.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/mistral-embedding.ts"],"sourcesContent":[],"mappings":";;;;UAQiB,+BAAA;;EAAA,YAAA,CAAA,EAAA,MAAA;EAOJ,SAAA,CAAA,EAAA,MAAA;EAIU,MAAA,CAAA,EAPZ,OAOY;;AAiBV,cArBA,wBAAA,YAAoC,iBAqBpC,CAAA;EAAR,iBAAA,MAAA;EA4BQ,iBAAA,YAAA;EAAR,WAAA,CAAA,OAAA,EA7CkB,+BA6ClB;EAjD4C,cAAA,CAAA,SAAA,EAmBlC,iBAnBkC,EAAA,EAAA,QAAA,EAAA;IAAiB,KAAA,CAAA,EAAA,MAAA;MAqB7D,QAAQ;;;MA4BR,QAAQ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mistral-embedding.js","names":[],"sources":["../../../../src/integrations/providers/impls/mistral-embedding.ts"],"sourcesContent":["import { Mistral } from '@mistralai/mistralai';\n\nimport type {\n EmbeddingDocument,\n EmbeddingProvider,\n EmbeddingResult,\n} from '../embedding';\n\nexport interface MistralEmbeddingProviderOptions {\n apiKey: string;\n defaultModel?: string;\n serverURL?: string;\n client?: Mistral;\n}\n\nexport class MistralEmbeddingProvider implements EmbeddingProvider {\n private readonly client: Mistral;\n private readonly defaultModel: string;\n\n constructor(options: MistralEmbeddingProviderOptions) {\n if (!options.apiKey) {\n throw new Error('MistralEmbeddingProvider requires an apiKey');\n }\n\n this.client =\n options.client ??\n new Mistral({\n apiKey: options.apiKey,\n serverURL: options.serverURL,\n });\n this.defaultModel = options.defaultModel ?? 'mistral-embed';\n }\n\n async embedDocuments(\n documents: EmbeddingDocument[],\n options?: { model?: string }\n ): Promise<EmbeddingResult[]> {\n if (documents.length === 0) return [];\n const model = options?.model ?? this.defaultModel;\n const response = await this.client.embeddings.create({\n model,\n inputs: documents.map((doc) => doc.text),\n });\n\n return response.data.map((item, index) => ({\n id:\n documents[index]?.id ??\n (item.index != null ? `embedding-${item.index}` : `embedding-${index}`),\n vector: item.embedding ?? [],\n dimensions: item.embedding?.length ?? 0,\n model: response.model,\n metadata: documents[index]?.metadata\n ? Object.fromEntries(\n Object.entries(documents[index]?.metadata ?? {}).map(\n ([key, value]) => [key, String(value)]\n )\n )\n : undefined,\n }));\n }\n\n async embedQuery(\n query: string,\n options?: { model?: string }\n ): Promise<EmbeddingResult> {\n const [result] = await this.embedDocuments(\n [{ id: 'query', text: query }],\n options\n );\n if (!result) {\n throw new Error('Failed to compute embedding for query');\n }\n return result;\n }\n}\n"],"mappings":"+CAeA,IAAa,EAAb,KAAmE,CACjE,OACA,aAEA,YAAY,EAA0C,CACpD,GAAI,CAAC,EAAQ,OACX,MAAU,MAAM,8CAA8C,CAGhE,KAAK,OACH,EAAQ,QACR,IAAI,EAAQ,CACV,OAAQ,EAAQ,OAChB,UAAW,EAAQ,UACpB,CAAC,CACJ,KAAK,aAAe,EAAQ,cAAgB,gBAG9C,MAAM,eACJ,EACA,EAC4B,CAC5B,GAAI,EAAU,SAAW,EAAG,MAAO,EAAE,CACrC,IAAM,EAAQ,GAAS,OAAS,KAAK,aAC/B,EAAW,MAAM,KAAK,OAAO,WAAW,OAAO,CACnD,QACA,OAAQ,EAAU,IAAK,GAAQ,EAAI,KAAK,CACzC,CAAC,CAEF,OAAO,EAAS,KAAK,KAAK,EAAM,KAAW,CACzC,GACE,EAAU,IAAQ,KACjB,EAAK,OAAS,KAAmC,aAAa,IAAzC,aAAa,EAAK,SAC1C,OAAQ,EAAK,WAAa,EAAE,CAC5B,WAAY,EAAK,WAAW,QAAU,EACtC,MAAO,EAAS,MAChB,SAAU,EAAU,IAAQ,SACxB,OAAO,YACL,OAAO,QAAQ,EAAU,IAAQ,UAAY,EAAE,CAAC,CAAC,KAC9C,CAAC,EAAK,KAAW,CAAC,EAAK,OAAO,EAAM,CAAC,CACvC,CACF,CACD,IAAA,GACL,EAAE,CAGL,MAAM,WACJ,EACA,EAC0B,CAC1B,GAAM,CAAC,GAAU,MAAM,KAAK,eAC1B,CAAC,CAAE,GAAI,QAAS,KAAM,EAAO,CAAC,CAC9B,EACD,CACD,GAAI,CAAC,EACH,MAAU,MAAM,wCAAwC,CAE1D,OAAO"}
@@ -1,32 +0,0 @@
1
- import { LLMChatOptions, LLMMessage, LLMProvider, LLMResponse, LLMStreamChunk } from "../llm.js";
2
- import { Mistral } from "@mistralai/mistralai";
3
-
4
- //#region src/integrations/providers/impls/mistral-llm.d.ts
5
- interface MistralLLMProviderOptions {
6
- apiKey: string;
7
- defaultModel?: string;
8
- serverURL?: string;
9
- client?: Mistral;
10
- userAgentSuffix?: string;
11
- }
12
- declare class MistralLLMProvider implements LLMProvider {
13
- private readonly client;
14
- private readonly defaultModel;
15
- constructor(options: MistralLLMProviderOptions);
16
- chat(messages: LLMMessage[], options?: LLMChatOptions): Promise<LLMResponse>;
17
- stream(messages: LLMMessage[], options?: LLMChatOptions): AsyncIterable<LLMStreamChunk>;
18
- countTokens(messages: LLMMessage[]): Promise<{
19
- promptTokens: number;
20
- }>;
21
- private buildChatRequest;
22
- private buildLLMResponse;
23
- private fromUsage;
24
- private fromAssistantMessage;
25
- private fromMistralToolCall;
26
- private toMistralMessage;
27
- private extractText;
28
- private extractToolCalls;
29
- }
30
- //#endregion
31
- export { MistralLLMProvider, MistralLLMProviderOptions };
32
- //# sourceMappingURL=mistral-llm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mistral-llm.d.ts","names":[],"sources":["../../../../src/integrations/providers/impls/mistral-llm.ts"],"sourcesContent":[],"mappings":";;;;UAciB,yBAAA;;EAAA,YAAA,CAAA,EAAA,MAAA;EAQJ,SAAA,CAAA,EAAA,MAAA;EAIU,MAAA,CAAA,EARZ,OAQY;EAkBT,eAAA,CAAA,EAAA,MAAA;;AAED,cAxBA,kBAAA,YAA8B,WAwB9B,CAAA;EAAR,iBAAA,MAAA;EAOS,iBAAA,YAAA;EACD,WAAA,CAAA,OAAA,EA5BU,yBA4BV;EACM,IAAA,CAAA,QAAA,EAXL,UAWK,EAAA,EAAA,OAAA,CAAA,EAVN,cAUM,CAAA,EATd,OASc,CATN,WASM,CAAA;EAAd,MAAA,CAAA,QAAA,EAFS,UAET,EAAA,EAAA,OAAA,CAAA,EADQ,cACR,CAAA,EAAA,aAAA,CAAc,cAAd,CAAA;EAsFyB,WAAA,CAAA,QAAA,EAAA,UAAA,EAAA,CAAA,EAAe,OAAf,CAAA;IAAe,YAAA,EAAA,MAAA;EAvHF,CAAA,CAAA;EAAW,QAAA,gBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mistral-llm.js","names":["aggregatedParts: LLMContentPart[]","aggregatedToolCalls: LLMToolCallPart[]","usage: LLMTokenUsage | undefined","finishReason: string | undefined","message: LLMMessage","request: components.ChatCompletionRequest","parts: LLMContentPart[]"],"sources":["../../../../src/integrations/providers/impls/mistral-llm.ts"],"sourcesContent":["import { Mistral } from '@mistralai/mistralai';\nimport type * as components from '@mistralai/mistralai/models/components/index.js';\n\nimport type {\n LLMChatOptions,\n LLMContentPart,\n LLMMessage,\n LLMProvider,\n LLMResponse,\n LLMStreamChunk,\n LLMToolCallPart,\n LLMTokenUsage,\n} from '../llm';\n\nexport interface MistralLLMProviderOptions {\n apiKey: string;\n defaultModel?: string;\n serverURL?: string;\n client?: Mistral;\n userAgentSuffix?: string;\n}\n\nexport class MistralLLMProvider implements LLMProvider {\n private readonly client: Mistral;\n private readonly defaultModel: string;\n\n constructor(options: MistralLLMProviderOptions) {\n if (!options.apiKey) {\n throw new Error('MistralLLMProvider requires an apiKey');\n }\n\n this.client =\n options.client ??\n new Mistral({\n apiKey: options.apiKey,\n serverURL: options.serverURL,\n userAgent: options.userAgentSuffix\n ? `${options.userAgentSuffix}`\n : undefined,\n });\n this.defaultModel = options.defaultModel ?? 'mistral-large-latest';\n }\n\n async chat(\n messages: LLMMessage[],\n options: LLMChatOptions = {}\n ): Promise<LLMResponse> {\n const request = this.buildChatRequest(messages, options);\n const response = await this.client.chat.complete(request);\n return this.buildLLMResponse(response);\n }\n\n async *stream(\n messages: LLMMessage[],\n options: LLMChatOptions = {}\n ): AsyncIterable<LLMStreamChunk> {\n const request = this.buildChatRequest(messages, options);\n request.stream = true;\n const stream = await this.client.chat.stream(request);\n\n const aggregatedParts: LLMContentPart[] = [];\n const aggregatedToolCalls: LLMToolCallPart[] = [];\n let usage: LLMTokenUsage | undefined;\n let finishReason: string | undefined;\n\n for await (const event of stream) {\n for (const choice of event.data.choices) {\n const delta = choice.delta;\n if (typeof delta.content === 'string') {\n if (delta.content.length > 0) {\n aggregatedParts.push({ type: 'text', text: delta.content });\n yield {\n type: 'message_delta',\n delta: { type: 'text', text: delta.content },\n index: choice.index,\n };\n }\n } else if (Array.isArray(delta.content)) {\n for (const chunk of delta.content) {\n if (chunk.type === 'text' && 'text' in chunk) {\n aggregatedParts.push({ type: 'text', text: chunk.text });\n yield {\n type: 'message_delta',\n delta: { type: 'text', text: chunk.text },\n index: choice.index,\n };\n }\n }\n }\n\n if (delta.toolCalls) {\n let localIndex = 0;\n for (const call of delta.toolCalls) {\n const toolCall = this.fromMistralToolCall(call, localIndex);\n aggregatedToolCalls.push(toolCall);\n yield {\n type: 'tool_call',\n call: toolCall,\n index: choice.index,\n };\n localIndex += 1;\n }\n }\n\n if (choice.finishReason && choice.finishReason !== 'null') {\n finishReason = choice.finishReason;\n }\n }\n\n if (event.data.usage) {\n const usageEntry = this.fromUsage(event.data.usage);\n if (usageEntry) {\n usage = usageEntry;\n yield { type: 'usage', usage: usageEntry };\n }\n }\n }\n\n const message: LLMMessage = {\n role: 'assistant',\n content: aggregatedParts.length\n ? aggregatedParts\n : [{ type: 'text', text: '' }],\n };\n if (aggregatedToolCalls.length > 0) {\n message.content = [\n ...aggregatedToolCalls,\n ...(aggregatedParts.length ? aggregatedParts : []),\n ];\n }\n\n yield {\n type: 'end',\n response: {\n message,\n usage,\n finishReason: mapFinishReason(finishReason),\n },\n };\n }\n\n async countTokens(messages: LLMMessage[]): Promise<{ promptTokens: number }> {\n throw new Error('Mistral API does not currently support token counting');\n }\n\n private buildChatRequest(\n messages: LLMMessage[],\n options: LLMChatOptions\n ): components.ChatCompletionRequest {\n const model = options.model ?? this.defaultModel;\n const mappedMessages = messages.map((message) =>\n this.toMistralMessage(message)\n );\n\n const request: components.ChatCompletionRequest = {\n model,\n messages: mappedMessages,\n };\n\n if (options.temperature != null) {\n request.temperature = options.temperature;\n }\n if (options.topP != null) {\n request.topP = options.topP;\n }\n if (options.maxOutputTokens != null) {\n request.maxTokens = options.maxOutputTokens;\n }\n if (options.stopSequences?.length) {\n request.stop =\n options.stopSequences.length === 1\n ? options.stopSequences[0]\n : options.stopSequences;\n }\n if (options.tools?.length) {\n request.tools = options.tools.map((tool) => ({\n type: 'function',\n function: {\n name: tool.name,\n description: tool.description,\n parameters:\n typeof tool.inputSchema === 'object' && tool.inputSchema !== null\n ? tool.inputSchema\n : {},\n },\n }));\n }\n if (options.responseFormat === 'json') {\n request.responseFormat = { type: 'json_object' };\n }\n\n return request;\n }\n\n private buildLLMResponse(\n response: components.ChatCompletionResponse\n ): LLMResponse {\n const firstChoice = response.choices[0];\n if (!firstChoice) {\n return {\n message: {\n role: 'assistant',\n content: [{ type: 'text', text: '' }],\n },\n usage: this.fromUsage(response.usage),\n raw: response,\n };\n }\n const message = this.fromAssistantMessage(firstChoice.message);\n return {\n message,\n usage: this.fromUsage(response.usage),\n finishReason: mapFinishReason(firstChoice.finishReason),\n raw: response,\n };\n }\n\n private fromUsage(\n usage: components.UsageInfo | undefined\n ): LLMTokenUsage | undefined {\n if (!usage) return undefined;\n return {\n promptTokens: usage.promptTokens ?? 0,\n completionTokens: usage.completionTokens ?? 0,\n totalTokens: usage.totalTokens ?? 0,\n };\n }\n\n private fromAssistantMessage(\n message: components.AssistantMessage\n ): LLMMessage {\n const parts: LLMContentPart[] = [];\n if (typeof message.content === 'string') {\n parts.push({ type: 'text', text: message.content });\n } else if (Array.isArray(message.content)) {\n message.content.forEach((chunk) => {\n if (chunk.type === 'text' && 'text' in chunk) {\n parts.push({ type: 'text', text: chunk.text });\n }\n });\n }\n\n const toolCalls =\n message.toolCalls?.map((call, index) =>\n this.fromMistralToolCall(call, index)\n ) ?? [];\n\n if (toolCalls.length > 0) {\n parts.splice(0, 0, ...toolCalls);\n }\n\n if (parts.length === 0) {\n parts.push({ type: 'text', text: '' });\n }\n\n return {\n role: 'assistant',\n content: parts,\n };\n }\n\n private fromMistralToolCall(\n call: components.ToolCall,\n index: number\n ): LLMToolCallPart {\n const args =\n typeof call.function.arguments === 'string'\n ? call.function.arguments\n : JSON.stringify(call.function.arguments);\n return {\n type: 'tool-call',\n id: call.id ?? `tool-call-${index}`,\n name: call.function.name,\n arguments: args,\n };\n }\n\n private toMistralMessage(message: LLMMessage): components.Messages {\n const textContent = this.extractText(message.content);\n const toolCalls = this.extractToolCalls(message);\n\n switch (message.role) {\n case 'system':\n return {\n role: 'system',\n content: textContent ?? '',\n };\n case 'user':\n return {\n role: 'user',\n content: textContent ?? '',\n };\n case 'assistant':\n return {\n role: 'assistant',\n content: toolCalls.length > 0 ? null : (textContent ?? ''),\n toolCalls: toolCalls.length > 0 ? toolCalls : undefined,\n };\n case 'tool':\n return {\n role: 'tool',\n content: textContent ?? '',\n toolCallId: message.toolCallId ?? toolCalls[0]?.id,\n };\n default:\n return {\n role: 'user',\n content: textContent ?? '',\n };\n }\n }\n\n private extractText(parts: LLMContentPart[]): string | null {\n const textParts = parts\n .filter((part) => part.type === 'text')\n .map((part) => (part as Extract<LLMContentPart, { type: 'text' }>).text);\n if (textParts.length === 0) return null;\n return textParts.join('');\n }\n\n private extractToolCalls(message: LLMMessage): components.ToolCall[] {\n const toolCallParts = message.content.filter(\n (part): part is LLMToolCallPart => part.type === 'tool-call'\n );\n return toolCallParts.map((call, index) => ({\n id: call.id ?? `call_${index}`,\n type: 'function',\n index,\n function: {\n name: call.name,\n arguments: call.arguments,\n },\n }));\n }\n}\n\nfunction mapFinishReason(\n reason?: string | null\n): LLMResponse['finishReason'] | undefined {\n if (!reason) return undefined;\n const normalized = reason.toLowerCase();\n switch (normalized) {\n case 'stop':\n return 'stop';\n case 'length':\n return 'length';\n case 'tool_call':\n case 'tool_calls':\n return 'tool_call';\n case 'content_filter':\n return 'content_filter';\n default:\n return undefined;\n }\n}\n"],"mappings":"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"}