@contractspec/module.examples 1.44.0 → 1.45.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 (233) hide show
  1. package/dist/builtins.js.map +1 -1
  2. package/dist/index.d.ts +2 -5
  3. package/dist/index.js +3 -4
  4. package/dist/libs/contracts/dist/_virtual/rolldown_runtime.js +6 -0
  5. package/dist/libs/contracts/dist/_virtual/rolldown_runtime.js.map +1 -0
  6. package/dist/libs/contracts/dist/app-config/spec.js +1 -0
  7. package/dist/libs/contracts/dist/capabilities/capabilities.js +1 -0
  8. package/dist/libs/contracts/dist/capabilities/index.js +2 -0
  9. package/dist/libs/contracts/dist/capabilities/openbanking.js +89 -0
  10. package/dist/libs/contracts/dist/capabilities/openbanking.js.map +1 -0
  11. package/dist/libs/contracts/dist/client/index.js +5 -0
  12. package/dist/libs/contracts/dist/client/react/feature-render.js +3 -0
  13. package/dist/libs/contracts/dist/client/react/form-render.js +6 -0
  14. package/dist/libs/contracts/dist/client/react/index.js +4 -0
  15. package/dist/libs/contracts/dist/contract-registry/index.js +1 -0
  16. package/dist/libs/contracts/dist/contract-registry/schemas.js +61 -0
  17. package/dist/libs/contracts/dist/contract-registry/schemas.js.map +1 -0
  18. package/dist/libs/contracts/dist/data-views/index.js +1 -0
  19. package/dist/libs/contracts/dist/data-views/registry.js +1 -0
  20. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +17 -0
  21. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +1 -0
  22. package/dist/libs/contracts/dist/docs/index.js +27 -0
  23. package/dist/libs/contracts/dist/docs/meta.docs.js +30 -0
  24. package/dist/libs/contracts/dist/docs/meta.docs.js.map +1 -0
  25. package/dist/libs/contracts/dist/docs/presentations.js +57 -0
  26. package/dist/libs/contracts/dist/docs/presentations.js.map +1 -0
  27. package/dist/libs/contracts/dist/docs/registry.js +45 -0
  28. package/dist/libs/contracts/dist/docs/registry.js.map +1 -0
  29. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +81 -0
  30. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +1 -0
  31. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +58 -0
  32. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -0
  33. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-import.docblock.js +65 -0
  34. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-import.docblock.js.map +1 -0
  35. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +17 -0
  36. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js.map +1 -0
  37. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +358 -0
  38. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js.map +1 -0
  39. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +38 -0
  40. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js.map +1 -0
  41. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +17 -0
  42. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js.map +1 -0
  43. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +21 -0
  44. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js.map +1 -0
  45. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +49 -0
  46. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js.map +1 -0
  47. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +80 -0
  48. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js.map +1 -0
  49. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +85 -0
  50. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +1 -0
  51. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +46 -0
  52. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js.map +1 -0
  53. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +68 -0
  54. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js.map +1 -0
  55. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +41 -0
  56. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +1 -0
  57. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +70 -0
  58. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js.map +1 -0
  59. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +48 -0
  60. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js.map +1 -0
  61. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +63 -0
  62. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js.map +1 -0
  63. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +156 -0
  64. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js.map +1 -0
  65. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +21 -0
  66. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js.map +1 -0
  67. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +102 -0
  68. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js.map +1 -0
  69. package/dist/libs/contracts/dist/docs/tech-contracts.docs.js +97 -0
  70. package/dist/libs/contracts/dist/docs/tech-contracts.docs.js.map +1 -0
  71. package/dist/libs/contracts/dist/events.js +2 -0
  72. package/dist/libs/contracts/dist/examples/index.js +3 -0
  73. package/dist/libs/contracts/dist/examples/registry.js +145 -0
  74. package/dist/libs/contracts/dist/examples/registry.js.map +1 -0
  75. package/dist/libs/contracts/dist/examples/schema.js +102 -0
  76. package/dist/libs/contracts/dist/examples/schema.js.map +1 -0
  77. package/dist/libs/contracts/dist/examples/validation.js +1 -0
  78. package/dist/libs/contracts/dist/experiments/evaluator.js +1 -0
  79. package/dist/libs/contracts/dist/experiments/spec.js +1 -0
  80. package/dist/libs/contracts/dist/features/index.js +1 -0
  81. package/dist/libs/contracts/dist/features/registry.js +7 -0
  82. package/dist/libs/contracts/dist/features/registry.js.map +1 -0
  83. package/dist/libs/contracts/dist/forms/forms.js +2 -0
  84. package/dist/libs/contracts/dist/forms/index.js +1 -0
  85. package/dist/libs/contracts/dist/index.js +109 -0
  86. package/dist/libs/contracts/dist/index.js.map +1 -0
  87. package/dist/libs/contracts/dist/install.js +2 -0
  88. package/dist/libs/contracts/dist/integrations/index.js +19 -0
  89. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +230 -0
  90. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -0
  91. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +161 -0
  92. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -0
  93. package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +3 -0
  94. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +212 -0
  95. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -0
  96. package/dist/libs/contracts/dist/integrations/openbanking/models.js +243 -0
  97. package/dist/libs/contracts/dist/integrations/openbanking/models.js.map +1 -0
  98. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +14 -0
  99. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js.map +1 -0
  100. package/dist/libs/contracts/dist/integrations/operations.js +384 -0
  101. package/dist/libs/contracts/dist/integrations/operations.js.map +1 -0
  102. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +52 -0
  103. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js.map +1 -0
  104. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +75 -0
  105. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js.map +1 -0
  106. package/dist/libs/contracts/dist/integrations/providers/gmail.js +87 -0
  107. package/dist/libs/contracts/dist/integrations/providers/gmail.js.map +1 -0
  108. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +66 -0
  109. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js.map +1 -0
  110. package/dist/libs/contracts/dist/integrations/providers/index.js +11 -0
  111. package/dist/libs/contracts/dist/integrations/providers/mistral.js +68 -0
  112. package/dist/libs/contracts/dist/integrations/providers/mistral.js.map +1 -0
  113. package/dist/libs/contracts/dist/integrations/providers/postmark.js +68 -0
  114. package/dist/libs/contracts/dist/integrations/providers/postmark.js.map +1 -0
  115. package/dist/libs/contracts/dist/integrations/providers/powens.js +116 -0
  116. package/dist/libs/contracts/dist/integrations/providers/powens.js.map +1 -0
  117. package/dist/libs/contracts/dist/integrations/providers/qdrant.js +73 -0
  118. package/dist/libs/contracts/dist/integrations/providers/qdrant.js.map +1 -0
  119. package/dist/libs/contracts/dist/integrations/providers/registry.js +11 -0
  120. package/dist/libs/contracts/dist/integrations/providers/stripe.js +83 -0
  121. package/dist/libs/contracts/dist/integrations/providers/stripe.js.map +1 -0
  122. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +61 -0
  123. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js.map +1 -0
  124. package/dist/libs/contracts/dist/integrations/spec.js +1 -0
  125. package/dist/libs/contracts/dist/jsonschema.js +1 -0
  126. package/dist/libs/contracts/dist/knowledge/index.js +8 -0
  127. package/dist/libs/contracts/dist/knowledge/operations.js +313 -0
  128. package/dist/libs/contracts/dist/knowledge/operations.js.map +1 -0
  129. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +34 -0
  130. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js.map +1 -0
  131. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +34 -0
  132. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js.map +1 -0
  133. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +38 -0
  134. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js.map +1 -0
  135. package/dist/libs/contracts/dist/knowledge/spaces/index.js +6 -0
  136. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +34 -0
  137. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js.map +1 -0
  138. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +37 -0
  139. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js.map +1 -0
  140. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +34 -0
  141. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js.map +1 -0
  142. package/dist/libs/contracts/dist/knowledge/spec.js +1 -0
  143. package/dist/libs/contracts/dist/llm/exporters.js +21 -0
  144. package/dist/libs/contracts/dist/llm/exporters.js.map +1 -0
  145. package/dist/libs/contracts/dist/llm/index.js +2 -0
  146. package/dist/libs/contracts/dist/llm/prompts.js +1 -0
  147. package/dist/libs/contracts/dist/migrations.js +1 -0
  148. package/dist/libs/contracts/dist/model-registry.js +1 -0
  149. package/dist/libs/contracts/dist/onboarding-base.js +198 -0
  150. package/dist/libs/contracts/dist/onboarding-base.js.map +1 -0
  151. package/dist/libs/contracts/dist/openapi.js +2 -0
  152. package/dist/libs/contracts/dist/operations/index.js +2 -0
  153. package/dist/libs/contracts/dist/operations/operation.js +35 -0
  154. package/dist/libs/contracts/dist/operations/operation.js.map +1 -0
  155. package/dist/libs/contracts/dist/operations/registry.js +2 -0
  156. package/dist/libs/contracts/dist/ownership.js +22 -0
  157. package/dist/libs/contracts/dist/ownership.js.map +1 -0
  158. package/dist/libs/contracts/dist/policy/engine.js +1 -0
  159. package/dist/libs/contracts/dist/policy/index.js +2 -0
  160. package/dist/libs/contracts/dist/policy/registry.js +1 -0
  161. package/dist/libs/contracts/dist/presentations/index.js +2 -0
  162. package/dist/libs/contracts/dist/presentations/registry.js +1 -0
  163. package/dist/libs/contracts/dist/presentations/transform-engine.js +13 -0
  164. package/dist/libs/contracts/dist/presentations/transform-engine.js.map +1 -0
  165. package/dist/libs/contracts/dist/prompt.js +1 -0
  166. package/dist/libs/contracts/dist/promptRegistry.js +2 -0
  167. package/dist/libs/contracts/dist/regenerator/index.js +1 -0
  168. package/dist/libs/contracts/dist/regenerator/service.js +5 -0
  169. package/dist/libs/contracts/dist/regenerator/service.js.map +1 -0
  170. package/dist/libs/contracts/dist/registry-utils.js +71 -0
  171. package/dist/libs/contracts/dist/registry-utils.js.map +1 -0
  172. package/dist/libs/contracts/dist/registry.js +8 -0
  173. package/dist/libs/contracts/dist/registry.js.map +1 -0
  174. package/dist/libs/contracts/dist/resources.js +1 -0
  175. package/dist/libs/contracts/dist/schema-to-markdown.js +1 -0
  176. package/dist/libs/contracts/dist/server/contracts-adapter-input.js +1 -0
  177. package/dist/libs/contracts/dist/server/graphql-pothos.js +8 -0
  178. package/dist/libs/contracts/dist/server/index.js +8 -0
  179. package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +4 -0
  180. package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +2 -0
  181. package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +1 -0
  182. package/dist/libs/contracts/dist/server/mcp/registerResources.js +2 -0
  183. package/dist/libs/contracts/dist/server/mcp/registerTools.js +1 -0
  184. package/dist/libs/contracts/dist/server/provider-mcp.js +1 -0
  185. package/dist/libs/contracts/dist/server/rest-elysia.js +1 -0
  186. package/dist/libs/contracts/dist/server/rest-express.js +1 -0
  187. package/dist/libs/contracts/dist/server/rest-generic.js +1 -0
  188. package/dist/libs/contracts/dist/server/rest-next-app.js +1 -0
  189. package/dist/libs/contracts/dist/server/rest-next-pages.js +1 -0
  190. package/dist/libs/contracts/dist/telemetry/index.js +2 -0
  191. package/dist/libs/contracts/dist/telemetry/spec.js +2 -0
  192. package/dist/libs/contracts/dist/telemetry/tracker.js +1 -0
  193. package/dist/libs/contracts/dist/tests/index.js +2 -0
  194. package/dist/libs/contracts/dist/tests/runner.js +2 -0
  195. package/dist/libs/contracts/dist/tests/spec.js +1 -0
  196. package/dist/libs/contracts/dist/themes.js +1 -0
  197. package/dist/libs/contracts/dist/workflow/index.js +2 -0
  198. package/dist/libs/contracts/dist/workflow/overview.docblock.js +21 -0
  199. package/dist/libs/contracts/dist/workflow/overview.docblock.js.map +1 -0
  200. package/dist/libs/contracts/dist/workflow/runner.js +1 -0
  201. package/dist/libs/contracts/dist/workflow/spec.js +1 -0
  202. package/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js +263 -0
  203. package/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js.map +1 -0
  204. package/dist/libs/contracts/dist/workspace-config/index.js +1 -0
  205. package/dist/libs/contracts/dist/workspace-config/workspace-config.docblock.js +45 -0
  206. package/dist/libs/contracts/dist/workspace-config/workspace-config.docblock.js.map +1 -0
  207. package/dist/libs/schema/dist/EnumType.js +2 -0
  208. package/dist/libs/schema/dist/FieldType.js +50 -0
  209. package/dist/libs/schema/dist/FieldType.js.map +1 -0
  210. package/dist/libs/schema/dist/GraphQLSchemaType.js +1 -0
  211. package/dist/libs/schema/dist/JsonSchemaType.js +1 -0
  212. package/dist/libs/schema/dist/ScalarTypeEnum.js +237 -0
  213. package/dist/libs/schema/dist/ScalarTypeEnum.js.map +1 -0
  214. package/dist/libs/schema/dist/SchemaModel.js +35 -0
  215. package/dist/libs/schema/dist/SchemaModel.js.map +1 -0
  216. package/dist/libs/schema/dist/ZodSchemaType.js +1 -0
  217. package/dist/libs/schema/dist/entity/defineEntity.js +1 -0
  218. package/dist/libs/schema/dist/entity/index.js +2 -0
  219. package/dist/libs/schema/dist/entity/types.js +1 -0
  220. package/dist/libs/schema/dist/index.js +9 -0
  221. package/dist/registry.d.ts +20 -6
  222. package/dist/registry.d.ts.map +1 -1
  223. package/dist/registry.js +24 -10
  224. package/dist/registry.js.map +1 -1
  225. package/package.json +45 -37
  226. package/dist/builtins.d.ts +0 -7
  227. package/dist/builtins.d.ts.map +0 -1
  228. package/dist/types.d.ts +0 -53
  229. package/dist/types.d.ts.map +0 -1
  230. package/dist/validate.d.ts +0 -19
  231. package/dist/validate.d.ts.map +0 -1
  232. package/dist/validate.js +0 -90
  233. package/dist/validate.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","names":[],"sources":["../../../../../../../libs/contracts/dist/integrations/operations.js"],"sourcesContent":["import { defineCommand, defineQuery } from \"../operations/operation.js\";\nimport \"../operations/index.js\";\nimport { ScalarTypeEnum, SchemaModel } from \"@contractspec/lib.schema\";\n\n//#region src/integrations/operations.ts\nconst IntegrationConnectionRecord = new SchemaModel({\n\tname: \"IntegrationConnectionRecord\",\n\tfields: {\n\t\tid: {\n\t\t\ttype: ScalarTypeEnum.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\ttenantId: {\n\t\t\ttype: ScalarTypeEnum.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationKey: {\n\t\t\ttype: ScalarTypeEnum.NonEmptyString(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationVersion: {\n\t\t\ttype: ScalarTypeEnum.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tlabel: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\townershipMode: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\texternalAccountId: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretProvider: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tsecretRef: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tstatus: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tenvironment: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthStatus: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthCheckedAt: {\n\t\t\ttype: ScalarTypeEnum.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthLatencyMs: {\n\t\t\ttype: ScalarTypeEnum.Float_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthErrorCode: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthErrorMessage: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageRequestCount: {\n\t\t\ttype: ScalarTypeEnum.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageSuccessCount: {\n\t\t\ttype: ScalarTypeEnum.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageErrorCount: {\n\t\t\ttype: ScalarTypeEnum.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageLastUsedAt: {\n\t\t\ttype: ScalarTypeEnum.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageLastErrorAt: {\n\t\t\ttype: ScalarTypeEnum.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageLastErrorCode: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tcreatedAt: {\n\t\t\ttype: ScalarTypeEnum.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tupdatedAt: {\n\t\t\ttype: ScalarTypeEnum.DateTime(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst CreateIntegrationConnectionInput = new SchemaModel({\n\tname: \"CreateIntegrationConnectionInput\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: ScalarTypeEnum.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationKey: {\n\t\t\ttype: ScalarTypeEnum.NonEmptyString(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationVersion: {\n\t\t\ttype: ScalarTypeEnum.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tlabel: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\townershipMode: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\texternalAccountId: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretProvider: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tsecretRef: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tenvironment: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tconfig: {\n\t\t\ttype: ScalarTypeEnum.JSONObject(),\n\t\t\tisOptional: false\n\t\t}\n\t}\n});\nconst UpdateIntegrationConnectionInput = new SchemaModel({\n\tname: \"UpdateIntegrationConnectionInput\",\n\tfields: {\n\t\tconnectionId: {\n\t\t\ttype: ScalarTypeEnum.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tlabel: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tstatus: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\townershipMode: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\texternalAccountId: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretProvider: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretRef: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tconfig: {\n\t\t\ttype: ScalarTypeEnum.JSONObject(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst DeleteIntegrationConnectionInput = new SchemaModel({\n\tname: \"DeleteIntegrationConnectionInput\",\n\tfields: { connectionId: {\n\t\ttype: ScalarTypeEnum.ID(),\n\t\tisOptional: false\n\t} }\n});\nconst ListIntegrationConnectionsInput = new SchemaModel({\n\tname: \"ListIntegrationConnectionsInput\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: ScalarTypeEnum.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tcategory: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tstatus: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst ListIntegrationConnectionsOutput = new SchemaModel({\n\tname: \"ListIntegrationConnectionsOutput\",\n\tfields: { connections: {\n\t\ttype: IntegrationConnectionRecord,\n\t\tisOptional: false,\n\t\tisArray: true\n\t} }\n});\nconst TestIntegrationConnectionInput = new SchemaModel({\n\tname: \"TestIntegrationConnectionInput\",\n\tfields: { connectionId: {\n\t\ttype: ScalarTypeEnum.ID(),\n\t\tisOptional: false\n\t} }\n});\nconst TestIntegrationConnectionOutput = new SchemaModel({\n\tname: \"TestIntegrationConnectionOutput\",\n\tfields: {\n\t\tsuccess: {\n\t\t\ttype: ScalarTypeEnum.Boolean(),\n\t\t\tisOptional: false\n\t\t},\n\t\tstatus: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tlatencyMs: {\n\t\t\ttype: ScalarTypeEnum.Float_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\terror: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\terrorCode: {\n\t\t\ttype: ScalarTypeEnum.String_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst DeleteIntegrationConnectionOutput = new SchemaModel({\n\tname: \"DeleteIntegrationConnectionOutput\",\n\tfields: { success: {\n\t\ttype: ScalarTypeEnum.Boolean(),\n\t\tisOptional: false\n\t} }\n});\nconst CreateIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tkey: \"integrations.connection.create\",\n\t\ttitle: \"Create Integration Connection\",\n\t\tversion: \"1.0.0\",\n\t\tdescription: \"Create a new integration connection for a tenant.\",\n\t\tgoal: \"Provision a tenant-scoped connection to an external provider.\",\n\t\tcontext: \"Used by Ops or the App Studio to configure external integrations such as Stripe or Qdrant.\",\n\t\towners: [\"@platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: CreateIntegrationConnectionInput,\n\t\toutput: IntegrationConnectionRecord\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tkey: \"platform.integration.manage\",\n\t\t\tversion: \"1.0.0\"\n\t\t}]\n\t}\n});\nconst UpdateIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tkey: \"integrations.connection.update\",\n\t\ttitle: \"Update Integration Connection\",\n\t\tversion: \"1.0.0\",\n\t\tdescription: \"Update metadata or credentials for an integration connection.\",\n\t\tgoal: \"Allow secure rotation of credentials and metadata adjustments.\",\n\t\tcontext: \"Supports rotating API keys, toggling status, or updating labels for tenant integrations.\",\n\t\towners: [\"@platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: UpdateIntegrationConnectionInput,\n\t\toutput: IntegrationConnectionRecord\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tkey: \"platform.integration.manage\",\n\t\t\tversion: \"1.0.0\"\n\t\t}]\n\t}\n});\nconst DeleteIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tkey: \"integrations.connection.delete\",\n\t\ttitle: \"Delete Integration Connection\",\n\t\tversion: \"1.0.0\",\n\t\tdescription: \"Delete an integration connection for a tenant.\",\n\t\tgoal: \"Safely remove credentials and disable connector usage.\",\n\t\tcontext: \"Ensures connections are de-provisioned when no longer needed or breached.\",\n\t\towners: [\"@platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: DeleteIntegrationConnectionInput,\n\t\toutput: DeleteIntegrationConnectionOutput\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tkey: \"platform.integration.manage\",\n\t\t\tversion: \"1.0.0\"\n\t\t}]\n\t}\n});\nconst ListIntegrationConnections = defineQuery({\n\tmeta: {\n\t\tkey: \"integrations.connection.list\",\n\t\ttitle: \"List Integration Connections\",\n\t\tversion: \"1.0.0\",\n\t\tdescription: \"List integration connections for a tenant.\",\n\t\tgoal: \"Provide visibility into configured integrations and their status.\",\n\t\tcontext: \"Used by the App Studio and Ops flows to show bindings and health.\",\n\t\towners: [\"@platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: ListIntegrationConnectionsInput,\n\t\toutput: ListIntegrationConnectionsOutput\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tkey: \"platform.integration.read\",\n\t\t\tversion: \"1.0.0\"\n\t\t}]\n\t}\n});\nconst TestIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tkey: \"integrations.connection.test\",\n\t\ttitle: \"Test Integration Connection\",\n\t\tversion: \"1.0.0\",\n\t\tdescription: \"Run a health check against a configured integration connection.\",\n\t\tgoal: \"Validate credentials and connectivity for external providers.\",\n\t\tcontext: \"Triggered manually or by background monitors to confirm provider availability.\",\n\t\towners: [\"@platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: TestIntegrationConnectionInput,\n\t\toutput: TestIntegrationConnectionOutput\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tkey: \"platform.integration.manage\",\n\t\t\tversion: \"1.0.0\"\n\t\t}]\n\t}\n});\nconst integrationContracts = {\n\tCreateIntegrationConnection,\n\tUpdateIntegrationConnection,\n\tDeleteIntegrationConnection,\n\tListIntegrationConnections,\n\tTestIntegrationConnection\n};\nfunction registerIntegrationContracts(registry) {\n\treturn registry.register(CreateIntegrationConnection).register(UpdateIntegrationConnection).register(DeleteIntegrationConnection).register(ListIntegrationConnections).register(TestIntegrationConnection);\n}\n\n//#endregion\nexport { CreateIntegrationConnection, DeleteIntegrationConnection, ListIntegrationConnections, TestIntegrationConnection, UpdateIntegrationConnection, integrationContracts, registerIntegrationContracts };"],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { StabilityEnum } from "../../ownership.js";
2
+
3
+ //#region ../../libs/contracts/dist/integrations/providers/elevenlabs.js
4
+ const elevenLabsIntegrationSpec = {
5
+ meta: {
6
+ key: "ai-voice.elevenlabs",
7
+ version: "1.0.0",
8
+ category: "ai-voice",
9
+ title: "ElevenLabs Text-to-Speech",
10
+ description: "ElevenLabs integration for neural voice synthesis and voice catalog access.",
11
+ domain: "ai",
12
+ owners: ["platform.ai"],
13
+ tags: ["voice", "tts"],
14
+ stability: StabilityEnum.Beta
15
+ },
16
+ supportedModes: ["managed", "byok"],
17
+ capabilities: { provides: [{
18
+ key: "ai.voice.synthesis",
19
+ version: "1.0.0"
20
+ }] },
21
+ configSchema: {
22
+ schema: {
23
+ type: "object",
24
+ properties: { defaultVoiceId: {
25
+ type: "string",
26
+ description: "Optional default voice identifier for synthesis requests."
27
+ } }
28
+ },
29
+ example: { defaultVoiceId: "pNInz6obpgDQGcFmaJgB" }
30
+ },
31
+ secretSchema: {
32
+ schema: {
33
+ type: "object",
34
+ required: ["apiKey"],
35
+ properties: { apiKey: {
36
+ type: "string",
37
+ description: "ElevenLabs API key with text-to-speech permissions."
38
+ } }
39
+ },
40
+ example: { apiKey: "eleven-***" }
41
+ },
42
+ healthCheck: {
43
+ method: "custom",
44
+ timeoutMs: 4e3
45
+ },
46
+ docsUrl: "https://elevenlabs.io/docs/api-reference/text-to-speech",
47
+ constraints: { rateLimit: { rpm: 120 } },
48
+ byokSetup: { setupInstructions: "Create an ElevenLabs API key and ensure the desired voices are accessible to the key scope." }
49
+ };
50
+
51
+ //#endregion
52
+ //# sourceMappingURL=elevenlabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elevenlabs.js","names":[],"sources":["../../../../../../../../libs/contracts/dist/integrations/providers/elevenlabs.js"],"sourcesContent":["import { StabilityEnum } from \"../../ownership.js\";\n\n//#region src/integrations/providers/elevenlabs.ts\nconst elevenLabsIntegrationSpec = {\n\tmeta: {\n\t\tkey: \"ai-voice.elevenlabs\",\n\t\tversion: \"1.0.0\",\n\t\tcategory: \"ai-voice\",\n\t\ttitle: \"ElevenLabs Text-to-Speech\",\n\t\tdescription: \"ElevenLabs integration for neural voice synthesis and voice catalog access.\",\n\t\tdomain: \"ai\",\n\t\towners: [\"platform.ai\"],\n\t\ttags: [\"voice\", \"tts\"],\n\t\tstability: StabilityEnum.Beta\n\t},\n\tsupportedModes: [\"managed\", \"byok\"],\n\tcapabilities: { provides: [{\n\t\tkey: \"ai.voice.synthesis\",\n\t\tversion: \"1.0.0\"\n\t}] },\n\tconfigSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\tproperties: { defaultVoiceId: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Optional default voice identifier for synthesis requests.\"\n\t\t\t} }\n\t\t},\n\t\texample: { defaultVoiceId: \"pNInz6obpgDQGcFmaJgB\" }\n\t},\n\tsecretSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\trequired: [\"apiKey\"],\n\t\t\tproperties: { apiKey: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"ElevenLabs API key with text-to-speech permissions.\"\n\t\t\t} }\n\t\t},\n\t\texample: { apiKey: \"eleven-***\" }\n\t},\n\thealthCheck: {\n\t\tmethod: \"custom\",\n\t\ttimeoutMs: 4e3\n\t},\n\tdocsUrl: \"https://elevenlabs.io/docs/api-reference/text-to-speech\",\n\tconstraints: { rateLimit: { rpm: 120 } },\n\tbyokSetup: { setupInstructions: \"Create an ElevenLabs API key and ensure the desired voices are accessible to the key scope.\" }\n};\nfunction registerElevenLabsIntegration(registry) {\n\treturn registry.register(elevenLabsIntegrationSpec);\n}\n\n//#endregion\nexport { elevenLabsIntegrationSpec, registerElevenLabsIntegration };"],"mappings":";;;AAGA,MAAM,4BAA4B;CACjC,MAAM;EACL,KAAK;EACL,SAAS;EACT,UAAU;EACV,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,cAAc;EACvB,MAAM,CAAC,SAAS,MAAM;EACtB,WAAW,cAAc;EACzB;CACD,gBAAgB,CAAC,WAAW,OAAO;CACnC,cAAc,EAAE,UAAU,CAAC;EAC1B,KAAK;EACL,SAAS;EACT,CAAC,EAAE;CACJ,cAAc;EACb,QAAQ;GACP,MAAM;GACN,YAAY,EAAE,gBAAgB;IAC7B,MAAM;IACN,aAAa;IACb,EAAE;GACH;EACD,SAAS,EAAE,gBAAgB,wBAAwB;EACnD;CACD,cAAc;EACb,QAAQ;GACP,MAAM;GACN,UAAU,CAAC,SAAS;GACpB,YAAY,EAAE,QAAQ;IACrB,MAAM;IACN,aAAa;IACb,EAAE;GACH;EACD,SAAS,EAAE,QAAQ,cAAc;EACjC;CACD,aAAa;EACZ,QAAQ;EACR,WAAW;EACX;CACD,SAAS;CACT,aAAa,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE;CACxC,WAAW,EAAE,mBAAmB,+FAA+F;CAC/H"}
@@ -0,0 +1,75 @@
1
+ import { StabilityEnum } from "../../ownership.js";
2
+
3
+ //#region ../../libs/contracts/dist/integrations/providers/gcs-storage.js
4
+ const gcsStorageIntegrationSpec = {
5
+ meta: {
6
+ key: "storage.gcs",
7
+ version: "1.0.0",
8
+ category: "storage",
9
+ title: "Google Cloud Storage Buckets",
10
+ description: "Google Cloud Storage integration for object storage and retrieval.",
11
+ domain: "infrastructure",
12
+ owners: ["platform.infrastructure"],
13
+ tags: [
14
+ "storage",
15
+ "gcs",
16
+ "google-cloud"
17
+ ],
18
+ stability: StabilityEnum.Beta
19
+ },
20
+ supportedModes: ["managed", "byok"],
21
+ capabilities: { provides: [{
22
+ key: "storage.objects",
23
+ version: "1.0.0"
24
+ }] },
25
+ configSchema: {
26
+ schema: {
27
+ type: "object",
28
+ required: ["bucket"],
29
+ properties: {
30
+ bucket: {
31
+ type: "string",
32
+ description: "Primary bucket name used for storing objects."
33
+ },
34
+ prefix: {
35
+ type: "string",
36
+ description: "Optional prefix applied to object keys."
37
+ }
38
+ }
39
+ },
40
+ example: {
41
+ bucket: "pfo-tenant-assets",
42
+ prefix: "documents/"
43
+ }
44
+ },
45
+ secretSchema: {
46
+ schema: {
47
+ type: "object",
48
+ properties: {
49
+ type: {
50
+ type: "string",
51
+ description: "Service account type field from Google credentials JSON (if provided)."
52
+ },
53
+ client_email: { type: "string" },
54
+ private_key: { type: "string" },
55
+ project_id: { type: "string" }
56
+ }
57
+ },
58
+ example: {
59
+ type: "service_account",
60
+ client_email: "svc-account@example.iam.gserviceaccount.com",
61
+ private_key: "-----BEGIN PRIVATE KEY-----...",
62
+ project_id: "example-project"
63
+ }
64
+ },
65
+ healthCheck: {
66
+ method: "ping",
67
+ timeoutMs: 4e3
68
+ },
69
+ docsUrl: "https://cloud.google.com/storage/docs/apis",
70
+ constraints: { quotas: { storageGb: 5120 } },
71
+ byokSetup: { setupInstructions: "Create a Google Cloud service account with Storage Object Admin role and upload the JSON credentials to the secret store." }
72
+ };
73
+
74
+ //#endregion
75
+ //# sourceMappingURL=gcs-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gcs-storage.js","names":[],"sources":["../../../../../../../../libs/contracts/dist/integrations/providers/gcs-storage.js"],"sourcesContent":["import { StabilityEnum } from \"../../ownership.js\";\n\n//#region src/integrations/providers/gcs-storage.ts\nconst gcsStorageIntegrationSpec = {\n\tmeta: {\n\t\tkey: \"storage.gcs\",\n\t\tversion: \"1.0.0\",\n\t\tcategory: \"storage\",\n\t\ttitle: \"Google Cloud Storage Buckets\",\n\t\tdescription: \"Google Cloud Storage integration for object storage and retrieval.\",\n\t\tdomain: \"infrastructure\",\n\t\towners: [\"platform.infrastructure\"],\n\t\ttags: [\n\t\t\t\"storage\",\n\t\t\t\"gcs\",\n\t\t\t\"google-cloud\"\n\t\t],\n\t\tstability: StabilityEnum.Beta\n\t},\n\tsupportedModes: [\"managed\", \"byok\"],\n\tcapabilities: { provides: [{\n\t\tkey: \"storage.objects\",\n\t\tversion: \"1.0.0\"\n\t}] },\n\tconfigSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\trequired: [\"bucket\"],\n\t\t\tproperties: {\n\t\t\t\tbucket: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Primary bucket name used for storing objects.\"\n\t\t\t\t},\n\t\t\t\tprefix: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Optional prefix applied to object keys.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tbucket: \"pfo-tenant-assets\",\n\t\t\tprefix: \"documents/\"\n\t\t}\n\t},\n\tsecretSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\tproperties: {\n\t\t\t\ttype: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Service account type field from Google credentials JSON (if provided).\"\n\t\t\t\t},\n\t\t\t\tclient_email: { type: \"string\" },\n\t\t\t\tprivate_key: { type: \"string\" },\n\t\t\t\tproject_id: { type: \"string\" }\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\ttype: \"service_account\",\n\t\t\tclient_email: \"svc-account@example.iam.gserviceaccount.com\",\n\t\t\tprivate_key: \"-----BEGIN PRIVATE KEY-----...\",\n\t\t\tproject_id: \"example-project\"\n\t\t}\n\t},\n\thealthCheck: {\n\t\tmethod: \"ping\",\n\t\ttimeoutMs: 4e3\n\t},\n\tdocsUrl: \"https://cloud.google.com/storage/docs/apis\",\n\tconstraints: { quotas: { storageGb: 5120 } },\n\tbyokSetup: { setupInstructions: \"Create a Google Cloud service account with Storage Object Admin role and upload the JSON credentials to the secret store.\" }\n};\nfunction registerGcsStorageIntegration(registry) {\n\treturn registry.register(gcsStorageIntegrationSpec);\n}\n\n//#endregion\nexport { gcsStorageIntegrationSpec, registerGcsStorageIntegration };"],"mappings":";;;AAGA,MAAM,4BAA4B;CACjC,MAAM;EACL,KAAK;EACL,SAAS;EACT,UAAU;EACV,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,0BAA0B;EACnC,MAAM;GACL;GACA;GACA;GACA;EACD,WAAW,cAAc;EACzB;CACD,gBAAgB,CAAC,WAAW,OAAO;CACnC,cAAc,EAAE,UAAU,CAAC;EAC1B,KAAK;EACL,SAAS;EACT,CAAC,EAAE;CACJ,cAAc;EACb,QAAQ;GACP,MAAM;GACN,UAAU,CAAC,SAAS;GACpB,YAAY;IACX,QAAQ;KACP,MAAM;KACN,aAAa;KACb;IACD,QAAQ;KACP,MAAM;KACN,aAAa;KACb;IACD;GACD;EACD,SAAS;GACR,QAAQ;GACR,QAAQ;GACR;EACD;CACD,cAAc;EACb,QAAQ;GACP,MAAM;GACN,YAAY;IACX,MAAM;KACL,MAAM;KACN,aAAa;KACb;IACD,cAAc,EAAE,MAAM,UAAU;IAChC,aAAa,EAAE,MAAM,UAAU;IAC/B,YAAY,EAAE,MAAM,UAAU;IAC9B;GACD;EACD,SAAS;GACR,MAAM;GACN,cAAc;GACd,aAAa;GACb,YAAY;GACZ;EACD;CACD,aAAa;EACZ,QAAQ;EACR,WAAW;EACX;CACD,SAAS;CACT,aAAa,EAAE,QAAQ,EAAE,WAAW,MAAM,EAAE;CAC5C,WAAW,EAAE,mBAAmB,6HAA6H;CAC7J"}
@@ -0,0 +1,87 @@
1
+ import { StabilityEnum } from "../../ownership.js";
2
+
3
+ //#region ../../libs/contracts/dist/integrations/providers/gmail.js
4
+ const gmailIntegrationSpec = {
5
+ meta: {
6
+ key: "email.gmail",
7
+ version: "1.0.0",
8
+ category: "email",
9
+ title: "Google Gmail API",
10
+ description: "Gmail integration supporting inbound thread ingestion and outbound transactional email.",
11
+ domain: "communications",
12
+ owners: ["platform.messaging"],
13
+ tags: ["email", "gmail"],
14
+ stability: StabilityEnum.Beta
15
+ },
16
+ supportedModes: ["managed", "byok"],
17
+ capabilities: { provides: [{
18
+ key: "email.inbound",
19
+ version: "1.0.0"
20
+ }, {
21
+ key: "email.outbound",
22
+ version: "1.0.0"
23
+ }] },
24
+ configSchema: {
25
+ schema: {
26
+ type: "object",
27
+ properties: {
28
+ labelIds: {
29
+ type: "array",
30
+ items: { type: "string" },
31
+ description: "Optional list of label IDs to scope inbound sync."
32
+ },
33
+ includeSpamTrash: {
34
+ type: "boolean",
35
+ description: "Whether to include spam or trash messages during sync."
36
+ }
37
+ }
38
+ },
39
+ example: {
40
+ labelIds: ["INBOX"],
41
+ includeSpamTrash: false
42
+ }
43
+ },
44
+ secretSchema: {
45
+ schema: {
46
+ type: "object",
47
+ required: [
48
+ "clientId",
49
+ "clientSecret",
50
+ "refreshToken"
51
+ ],
52
+ properties: {
53
+ clientId: {
54
+ type: "string",
55
+ description: "OAuth client ID for the Google Cloud project."
56
+ },
57
+ clientSecret: {
58
+ type: "string",
59
+ description: "OAuth client secret for the Google Cloud project."
60
+ },
61
+ refreshToken: {
62
+ type: "string",
63
+ description: "OAuth refresh token for delegated Gmail access."
64
+ },
65
+ redirectUri: {
66
+ type: "string",
67
+ description: "Optional redirect URI used when issuing the refresh token."
68
+ }
69
+ }
70
+ },
71
+ example: {
72
+ clientId: "xxx.apps.googleusercontent.com",
73
+ clientSecret: "secret",
74
+ refreshToken: "refresh-token"
75
+ }
76
+ },
77
+ healthCheck: {
78
+ method: "custom",
79
+ timeoutMs: 4e3
80
+ },
81
+ docsUrl: "https://developers.google.com/gmail/api",
82
+ constraints: { rateLimit: { rpm: 600 } },
83
+ byokSetup: { setupInstructions: "Create an OAuth consent screen and credentials within Google Cloud Console, then authorize the Gmail scopes and store the resulting refresh token." }
84
+ };
85
+
86
+ //#endregion
87
+ //# sourceMappingURL=gmail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmail.js","names":[],"sources":["../../../../../../../../libs/contracts/dist/integrations/providers/gmail.js"],"sourcesContent":["import { StabilityEnum } from \"../../ownership.js\";\n\n//#region src/integrations/providers/gmail.ts\nconst gmailIntegrationSpec = {\n\tmeta: {\n\t\tkey: \"email.gmail\",\n\t\tversion: \"1.0.0\",\n\t\tcategory: \"email\",\n\t\ttitle: \"Google Gmail API\",\n\t\tdescription: \"Gmail integration supporting inbound thread ingestion and outbound transactional email.\",\n\t\tdomain: \"communications\",\n\t\towners: [\"platform.messaging\"],\n\t\ttags: [\"email\", \"gmail\"],\n\t\tstability: StabilityEnum.Beta\n\t},\n\tsupportedModes: [\"managed\", \"byok\"],\n\tcapabilities: { provides: [{\n\t\tkey: \"email.inbound\",\n\t\tversion: \"1.0.0\"\n\t}, {\n\t\tkey: \"email.outbound\",\n\t\tversion: \"1.0.0\"\n\t}] },\n\tconfigSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\tproperties: {\n\t\t\t\tlabelIds: {\n\t\t\t\t\ttype: \"array\",\n\t\t\t\t\titems: { type: \"string\" },\n\t\t\t\t\tdescription: \"Optional list of label IDs to scope inbound sync.\"\n\t\t\t\t},\n\t\t\t\tincludeSpamTrash: {\n\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\tdescription: \"Whether to include spam or trash messages during sync.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tlabelIds: [\"INBOX\"],\n\t\t\tincludeSpamTrash: false\n\t\t}\n\t},\n\tsecretSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\trequired: [\n\t\t\t\t\"clientId\",\n\t\t\t\t\"clientSecret\",\n\t\t\t\t\"refreshToken\"\n\t\t\t],\n\t\t\tproperties: {\n\t\t\t\tclientId: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"OAuth client ID for the Google Cloud project.\"\n\t\t\t\t},\n\t\t\t\tclientSecret: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"OAuth client secret for the Google Cloud project.\"\n\t\t\t\t},\n\t\t\t\trefreshToken: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"OAuth refresh token for delegated Gmail access.\"\n\t\t\t\t},\n\t\t\t\tredirectUri: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Optional redirect URI used when issuing the refresh token.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tclientId: \"xxx.apps.googleusercontent.com\",\n\t\t\tclientSecret: \"secret\",\n\t\t\trefreshToken: \"refresh-token\"\n\t\t}\n\t},\n\thealthCheck: {\n\t\tmethod: \"custom\",\n\t\ttimeoutMs: 4e3\n\t},\n\tdocsUrl: \"https://developers.google.com/gmail/api\",\n\tconstraints: { rateLimit: { rpm: 600 } },\n\tbyokSetup: { setupInstructions: \"Create an OAuth consent screen and credentials within Google Cloud Console, then authorize the Gmail scopes and store the resulting refresh token.\" }\n};\nfunction registerGmailIntegration(registry) {\n\treturn registry.register(gmailIntegrationSpec);\n}\n\n//#endregion\nexport { gmailIntegrationSpec, registerGmailIntegration };"],"mappings":";;;AAGA,MAAM,uBAAuB;CAC5B,MAAM;EACL,KAAK;EACL,SAAS;EACT,UAAU;EACV,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,qBAAqB;EAC9B,MAAM,CAAC,SAAS,QAAQ;EACxB,WAAW,cAAc;EACzB;CACD,gBAAgB,CAAC,WAAW,OAAO;CACnC,cAAc,EAAE,UAAU,CAAC;EAC1B,KAAK;EACL,SAAS;EACT,EAAE;EACF,KAAK;EACL,SAAS;EACT,CAAC,EAAE;CACJ,cAAc;EACb,QAAQ;GACP,MAAM;GACN,YAAY;IACX,UAAU;KACT,MAAM;KACN,OAAO,EAAE,MAAM,UAAU;KACzB,aAAa;KACb;IACD,kBAAkB;KACjB,MAAM;KACN,aAAa;KACb;IACD;GACD;EACD,SAAS;GACR,UAAU,CAAC,QAAQ;GACnB,kBAAkB;GAClB;EACD;CACD,cAAc;EACb,QAAQ;GACP,MAAM;GACN,UAAU;IACT;IACA;IACA;IACA;GACD,YAAY;IACX,UAAU;KACT,MAAM;KACN,aAAa;KACb;IACD,cAAc;KACb,MAAM;KACN,aAAa;KACb;IACD,cAAc;KACb,MAAM;KACN,aAAa;KACb;IACD,aAAa;KACZ,MAAM;KACN,aAAa;KACb;IACD;GACD;EACD,SAAS;GACR,UAAU;GACV,cAAc;GACd,cAAc;GACd;EACD;CACD,aAAa;EACZ,QAAQ;EACR,WAAW;EACX;CACD,SAAS;CACT,aAAa,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE;CACxC,WAAW,EAAE,mBAAmB,sJAAsJ;CACtL"}
@@ -0,0 +1,66 @@
1
+ import { StabilityEnum } from "../../ownership.js";
2
+
3
+ //#region ../../libs/contracts/dist/integrations/providers/google-calendar.js
4
+ const googleCalendarIntegrationSpec = {
5
+ meta: {
6
+ key: "calendar.google",
7
+ version: "1.0.0",
8
+ category: "calendar",
9
+ title: "Google Calendar API",
10
+ description: "Google Calendar integration for event creation, updates, and scheduling automations.",
11
+ domain: "productivity",
12
+ owners: ["platform.messaging"],
13
+ tags: ["calendar", "google"],
14
+ stability: StabilityEnum.Beta
15
+ },
16
+ supportedModes: ["managed", "byok"],
17
+ capabilities: { provides: [{
18
+ key: "calendar.events",
19
+ version: "1.0.0"
20
+ }] },
21
+ configSchema: {
22
+ schema: {
23
+ type: "object",
24
+ properties: { calendarId: {
25
+ type: "string",
26
+ description: "Default calendar identifier (defaults to primary)."
27
+ } }
28
+ },
29
+ example: { calendarId: "primary" }
30
+ },
31
+ secretSchema: {
32
+ schema: {
33
+ type: "object",
34
+ required: ["clientEmail", "privateKey"],
35
+ properties: {
36
+ clientEmail: {
37
+ type: "string",
38
+ description: "Service account client email."
39
+ },
40
+ privateKey: {
41
+ type: "string",
42
+ description: "Service account private key."
43
+ },
44
+ projectId: {
45
+ type: "string",
46
+ description: "Google Cloud project ID."
47
+ }
48
+ }
49
+ },
50
+ example: {
51
+ clientEmail: "svc-calendar@example.iam.gserviceaccount.com",
52
+ privateKey: "-----BEGIN PRIVATE KEY-----...",
53
+ projectId: "calendar-project"
54
+ }
55
+ },
56
+ healthCheck: {
57
+ method: "custom",
58
+ timeoutMs: 4e3
59
+ },
60
+ docsUrl: "https://developers.google.com/calendar/api",
61
+ constraints: {},
62
+ byokSetup: { setupInstructions: "Create a Google service account with Calendar access and share the target calendars with the service account email." }
63
+ };
64
+
65
+ //#endregion
66
+ //# sourceMappingURL=google-calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-calendar.js","names":[],"sources":["../../../../../../../../libs/contracts/dist/integrations/providers/google-calendar.js"],"sourcesContent":["import { StabilityEnum } from \"../../ownership.js\";\n\n//#region src/integrations/providers/google-calendar.ts\nconst googleCalendarIntegrationSpec = {\n\tmeta: {\n\t\tkey: \"calendar.google\",\n\t\tversion: \"1.0.0\",\n\t\tcategory: \"calendar\",\n\t\ttitle: \"Google Calendar API\",\n\t\tdescription: \"Google Calendar integration for event creation, updates, and scheduling automations.\",\n\t\tdomain: \"productivity\",\n\t\towners: [\"platform.messaging\"],\n\t\ttags: [\"calendar\", \"google\"],\n\t\tstability: StabilityEnum.Beta\n\t},\n\tsupportedModes: [\"managed\", \"byok\"],\n\tcapabilities: { provides: [{\n\t\tkey: \"calendar.events\",\n\t\tversion: \"1.0.0\"\n\t}] },\n\tconfigSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\tproperties: { calendarId: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Default calendar identifier (defaults to primary).\"\n\t\t\t} }\n\t\t},\n\t\texample: { calendarId: \"primary\" }\n\t},\n\tsecretSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\trequired: [\"clientEmail\", \"privateKey\"],\n\t\t\tproperties: {\n\t\t\t\tclientEmail: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Service account client email.\"\n\t\t\t\t},\n\t\t\t\tprivateKey: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Service account private key.\"\n\t\t\t\t},\n\t\t\t\tprojectId: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Google Cloud project ID.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tclientEmail: \"svc-calendar@example.iam.gserviceaccount.com\",\n\t\t\tprivateKey: \"-----BEGIN PRIVATE KEY-----...\",\n\t\t\tprojectId: \"calendar-project\"\n\t\t}\n\t},\n\thealthCheck: {\n\t\tmethod: \"custom\",\n\t\ttimeoutMs: 4e3\n\t},\n\tdocsUrl: \"https://developers.google.com/calendar/api\",\n\tconstraints: {},\n\tbyokSetup: { setupInstructions: \"Create a Google service account with Calendar access and share the target calendars with the service account email.\" }\n};\nfunction registerGoogleCalendarIntegration(registry) {\n\treturn registry.register(googleCalendarIntegrationSpec);\n}\n\n//#endregion\nexport { googleCalendarIntegrationSpec, registerGoogleCalendarIntegration };"],"mappings":";;;AAGA,MAAM,gCAAgC;CACrC,MAAM;EACL,KAAK;EACL,SAAS;EACT,UAAU;EACV,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,qBAAqB;EAC9B,MAAM,CAAC,YAAY,SAAS;EAC5B,WAAW,cAAc;EACzB;CACD,gBAAgB,CAAC,WAAW,OAAO;CACnC,cAAc,EAAE,UAAU,CAAC;EAC1B,KAAK;EACL,SAAS;EACT,CAAC,EAAE;CACJ,cAAc;EACb,QAAQ;GACP,MAAM;GACN,YAAY,EAAE,YAAY;IACzB,MAAM;IACN,aAAa;IACb,EAAE;GACH;EACD,SAAS,EAAE,YAAY,WAAW;EAClC;CACD,cAAc;EACb,QAAQ;GACP,MAAM;GACN,UAAU,CAAC,eAAe,aAAa;GACvC,YAAY;IACX,aAAa;KACZ,MAAM;KACN,aAAa;KACb;IACD,YAAY;KACX,MAAM;KACN,aAAa;KACb;IACD,WAAW;KACV,MAAM;KACN,aAAa;KACb;IACD;GACD;EACD,SAAS;GACR,aAAa;GACb,YAAY;GACZ,WAAW;GACX;EACD;CACD,aAAa;EACZ,QAAQ;EACR,WAAW;EACX;CACD,SAAS;CACT,aAAa,EAAE;CACf,WAAW,EAAE,mBAAmB,uHAAuH;CACvJ"}
@@ -0,0 +1,11 @@
1
+ import "./stripe.js";
2
+ import "./postmark.js";
3
+ import "./qdrant.js";
4
+ import "./mistral.js";
5
+ import "./elevenlabs.js";
6
+ import "./gmail.js";
7
+ import "./google-calendar.js";
8
+ import "./twilio-sms.js";
9
+ import "./gcs-storage.js";
10
+ import "./powens.js";
11
+ import "./registry.js";
@@ -0,0 +1,68 @@
1
+ import { StabilityEnum } from "../../ownership.js";
2
+
3
+ //#region ../../libs/contracts/dist/integrations/providers/mistral.js
4
+ const mistralIntegrationSpec = {
5
+ meta: {
6
+ key: "ai-llm.mistral",
7
+ version: "1.0.0",
8
+ category: "ai-llm",
9
+ title: "Mistral Large Language Model",
10
+ description: "Mistral integration providing chat completions and embedding generation.",
11
+ domain: "ai",
12
+ owners: ["platform.ai"],
13
+ tags: [
14
+ "ai",
15
+ "llm",
16
+ "embeddings"
17
+ ],
18
+ stability: StabilityEnum.Experimental
19
+ },
20
+ supportedModes: ["managed", "byok"],
21
+ capabilities: { provides: [{
22
+ key: "ai.chat",
23
+ version: "1.0.0"
24
+ }, {
25
+ key: "ai.embeddings",
26
+ version: "1.0.0"
27
+ }] },
28
+ configSchema: {
29
+ schema: {
30
+ type: "object",
31
+ properties: {
32
+ model: {
33
+ type: "string",
34
+ description: "Default chat completion model (e.g., mistral-large-latest)."
35
+ },
36
+ embeddingModel: {
37
+ type: "string",
38
+ description: "Embedding model identifier."
39
+ }
40
+ }
41
+ },
42
+ example: {
43
+ model: "mistral-large-latest",
44
+ embeddingModel: "mistral-embed"
45
+ }
46
+ },
47
+ secretSchema: {
48
+ schema: {
49
+ type: "object",
50
+ required: ["apiKey"],
51
+ properties: { apiKey: {
52
+ type: "string",
53
+ description: "Mistral API key with access to chat and embeddings endpoints."
54
+ } }
55
+ },
56
+ example: { apiKey: "mistral-***" }
57
+ },
58
+ healthCheck: {
59
+ method: "custom",
60
+ timeoutMs: 5e3
61
+ },
62
+ docsUrl: "https://docs.mistral.ai/platform/endpoints",
63
+ constraints: { rateLimit: { rpm: 600 } },
64
+ byokSetup: { setupInstructions: "Generate an API key within the Mistral console and ensure the selected models are enabled for the account." }
65
+ };
66
+
67
+ //#endregion
68
+ //# sourceMappingURL=mistral.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mistral.js","names":[],"sources":["../../../../../../../../libs/contracts/dist/integrations/providers/mistral.js"],"sourcesContent":["import { StabilityEnum } from \"../../ownership.js\";\n\n//#region src/integrations/providers/mistral.ts\nconst mistralIntegrationSpec = {\n\tmeta: {\n\t\tkey: \"ai-llm.mistral\",\n\t\tversion: \"1.0.0\",\n\t\tcategory: \"ai-llm\",\n\t\ttitle: \"Mistral Large Language Model\",\n\t\tdescription: \"Mistral integration providing chat completions and embedding generation.\",\n\t\tdomain: \"ai\",\n\t\towners: [\"platform.ai\"],\n\t\ttags: [\n\t\t\t\"ai\",\n\t\t\t\"llm\",\n\t\t\t\"embeddings\"\n\t\t],\n\t\tstability: StabilityEnum.Experimental\n\t},\n\tsupportedModes: [\"managed\", \"byok\"],\n\tcapabilities: { provides: [{\n\t\tkey: \"ai.chat\",\n\t\tversion: \"1.0.0\"\n\t}, {\n\t\tkey: \"ai.embeddings\",\n\t\tversion: \"1.0.0\"\n\t}] },\n\tconfigSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\tproperties: {\n\t\t\t\tmodel: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Default chat completion model (e.g., mistral-large-latest).\"\n\t\t\t\t},\n\t\t\t\tembeddingModel: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Embedding model identifier.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tmodel: \"mistral-large-latest\",\n\t\t\tembeddingModel: \"mistral-embed\"\n\t\t}\n\t},\n\tsecretSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\trequired: [\"apiKey\"],\n\t\t\tproperties: { apiKey: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Mistral API key with access to chat and embeddings endpoints.\"\n\t\t\t} }\n\t\t},\n\t\texample: { apiKey: \"mistral-***\" }\n\t},\n\thealthCheck: {\n\t\tmethod: \"custom\",\n\t\ttimeoutMs: 5e3\n\t},\n\tdocsUrl: \"https://docs.mistral.ai/platform/endpoints\",\n\tconstraints: { rateLimit: { rpm: 600 } },\n\tbyokSetup: { setupInstructions: \"Generate an API key within the Mistral console and ensure the selected models are enabled for the account.\" }\n};\nfunction registerMistralIntegration(registry) {\n\treturn registry.register(mistralIntegrationSpec);\n}\n\n//#endregion\nexport { mistralIntegrationSpec, registerMistralIntegration };"],"mappings":";;;AAGA,MAAM,yBAAyB;CAC9B,MAAM;EACL,KAAK;EACL,SAAS;EACT,UAAU;EACV,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,cAAc;EACvB,MAAM;GACL;GACA;GACA;GACA;EACD,WAAW,cAAc;EACzB;CACD,gBAAgB,CAAC,WAAW,OAAO;CACnC,cAAc,EAAE,UAAU,CAAC;EAC1B,KAAK;EACL,SAAS;EACT,EAAE;EACF,KAAK;EACL,SAAS;EACT,CAAC,EAAE;CACJ,cAAc;EACb,QAAQ;GACP,MAAM;GACN,YAAY;IACX,OAAO;KACN,MAAM;KACN,aAAa;KACb;IACD,gBAAgB;KACf,MAAM;KACN,aAAa;KACb;IACD;GACD;EACD,SAAS;GACR,OAAO;GACP,gBAAgB;GAChB;EACD;CACD,cAAc;EACb,QAAQ;GACP,MAAM;GACN,UAAU,CAAC,SAAS;GACpB,YAAY,EAAE,QAAQ;IACrB,MAAM;IACN,aAAa;IACb,EAAE;GACH;EACD,SAAS,EAAE,QAAQ,eAAe;EAClC;CACD,aAAa;EACZ,QAAQ;EACR,WAAW;EACX;CACD,SAAS;CACT,aAAa,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE;CACxC,WAAW,EAAE,mBAAmB,8GAA8G;CAC9I"}
@@ -0,0 +1,68 @@
1
+ import { StabilityEnum } from "../../ownership.js";
2
+
3
+ //#region ../../libs/contracts/dist/integrations/providers/postmark.js
4
+ const postmarkIntegrationSpec = {
5
+ meta: {
6
+ key: "email.postmark",
7
+ version: "1.0.0",
8
+ category: "email",
9
+ title: "Postmark Transactional Email",
10
+ description: "Postmark integration for transactional email delivery.",
11
+ domain: "communications",
12
+ owners: ["platform.messaging"],
13
+ tags: ["email", "transactional"],
14
+ stability: StabilityEnum.Stable
15
+ },
16
+ supportedModes: ["managed", "byok"],
17
+ capabilities: {
18
+ provides: [{
19
+ key: "email.transactional",
20
+ version: "1.0.0"
21
+ }],
22
+ requires: [{
23
+ key: "platform.webhooks",
24
+ optional: true,
25
+ reason: "Optional for inbound bounce handling"
26
+ }]
27
+ },
28
+ configSchema: {
29
+ schema: {
30
+ type: "object",
31
+ properties: {
32
+ messageStream: {
33
+ type: "string",
34
+ description: "Optional message stream identifier (e.g., transactional)."
35
+ },
36
+ fromEmail: {
37
+ type: "string",
38
+ description: "Default From address used for outbound messages."
39
+ }
40
+ }
41
+ },
42
+ example: {
43
+ messageStream: "outbound",
44
+ fromEmail: "notifications@example.com"
45
+ }
46
+ },
47
+ secretSchema: {
48
+ schema: {
49
+ type: "object",
50
+ required: ["serverToken"],
51
+ properties: { serverToken: {
52
+ type: "string",
53
+ description: "Server token for the Postmark account."
54
+ } }
55
+ },
56
+ example: { serverToken: "server-***" }
57
+ },
58
+ healthCheck: {
59
+ method: "ping",
60
+ timeoutMs: 3e3
61
+ },
62
+ docsUrl: "https://postmarkapp.com/developer",
63
+ constraints: { rateLimit: { rpm: 500 } },
64
+ byokSetup: { setupInstructions: "Create a Postmark server token with outbound send permissions and configure allowed from addresses." }
65
+ };
66
+
67
+ //#endregion
68
+ //# sourceMappingURL=postmark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postmark.js","names":[],"sources":["../../../../../../../../libs/contracts/dist/integrations/providers/postmark.js"],"sourcesContent":["import { StabilityEnum } from \"../../ownership.js\";\n\n//#region src/integrations/providers/postmark.ts\nconst postmarkIntegrationSpec = {\n\tmeta: {\n\t\tkey: \"email.postmark\",\n\t\tversion: \"1.0.0\",\n\t\tcategory: \"email\",\n\t\ttitle: \"Postmark Transactional Email\",\n\t\tdescription: \"Postmark integration for transactional email delivery.\",\n\t\tdomain: \"communications\",\n\t\towners: [\"platform.messaging\"],\n\t\ttags: [\"email\", \"transactional\"],\n\t\tstability: StabilityEnum.Stable\n\t},\n\tsupportedModes: [\"managed\", \"byok\"],\n\tcapabilities: {\n\t\tprovides: [{\n\t\t\tkey: \"email.transactional\",\n\t\t\tversion: \"1.0.0\"\n\t\t}],\n\t\trequires: [{\n\t\t\tkey: \"platform.webhooks\",\n\t\t\toptional: true,\n\t\t\treason: \"Optional for inbound bounce handling\"\n\t\t}]\n\t},\n\tconfigSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\tproperties: {\n\t\t\t\tmessageStream: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Optional message stream identifier (e.g., transactional).\"\n\t\t\t\t},\n\t\t\t\tfromEmail: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Default From address used for outbound messages.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tmessageStream: \"outbound\",\n\t\t\tfromEmail: \"notifications@example.com\"\n\t\t}\n\t},\n\tsecretSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\trequired: [\"serverToken\"],\n\t\t\tproperties: { serverToken: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Server token for the Postmark account.\"\n\t\t\t} }\n\t\t},\n\t\texample: { serverToken: \"server-***\" }\n\t},\n\thealthCheck: {\n\t\tmethod: \"ping\",\n\t\ttimeoutMs: 3e3\n\t},\n\tdocsUrl: \"https://postmarkapp.com/developer\",\n\tconstraints: { rateLimit: { rpm: 500 } },\n\tbyokSetup: { setupInstructions: \"Create a Postmark server token with outbound send permissions and configure allowed from addresses.\" }\n};\nfunction registerPostmarkIntegration(registry) {\n\treturn registry.register(postmarkIntegrationSpec);\n}\n\n//#endregion\nexport { postmarkIntegrationSpec, registerPostmarkIntegration };"],"mappings":";;;AAGA,MAAM,0BAA0B;CAC/B,MAAM;EACL,KAAK;EACL,SAAS;EACT,UAAU;EACV,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,qBAAqB;EAC9B,MAAM,CAAC,SAAS,gBAAgB;EAChC,WAAW,cAAc;EACzB;CACD,gBAAgB,CAAC,WAAW,OAAO;CACnC,cAAc;EACb,UAAU,CAAC;GACV,KAAK;GACL,SAAS;GACT,CAAC;EACF,UAAU,CAAC;GACV,KAAK;GACL,UAAU;GACV,QAAQ;GACR,CAAC;EACF;CACD,cAAc;EACb,QAAQ;GACP,MAAM;GACN,YAAY;IACX,eAAe;KACd,MAAM;KACN,aAAa;KACb;IACD,WAAW;KACV,MAAM;KACN,aAAa;KACb;IACD;GACD;EACD,SAAS;GACR,eAAe;GACf,WAAW;GACX;EACD;CACD,cAAc;EACb,QAAQ;GACP,MAAM;GACN,UAAU,CAAC,cAAc;GACzB,YAAY,EAAE,aAAa;IAC1B,MAAM;IACN,aAAa;IACb,EAAE;GACH;EACD,SAAS,EAAE,aAAa,cAAc;EACtC;CACD,aAAa;EACZ,QAAQ;EACR,WAAW;EACX;CACD,SAAS;CACT,aAAa,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE;CACxC,WAAW,EAAE,mBAAmB,uGAAuG;CACvI"}
@@ -0,0 +1,116 @@
1
+ import { StabilityEnum } from "../../ownership.js";
2
+
3
+ //#region ../../libs/contracts/dist/integrations/providers/powens.js
4
+ const powensIntegrationSpec = {
5
+ meta: {
6
+ key: "openbanking.powens",
7
+ version: "1.0.0",
8
+ category: "open-banking",
9
+ title: "Powens Open Banking (Read)",
10
+ description: "Read-only Open Banking integration powered by Powens, exposing accounts, transactions, and balances.",
11
+ domain: "finance",
12
+ owners: ["platform.finance"],
13
+ tags: [
14
+ "open-banking",
15
+ "powens",
16
+ "finance"
17
+ ],
18
+ stability: StabilityEnum.Experimental
19
+ },
20
+ supportedModes: ["byok"],
21
+ capabilities: { provides: [
22
+ {
23
+ key: "openbanking.accounts.read",
24
+ version: "1.0.0"
25
+ },
26
+ {
27
+ key: "openbanking.transactions.read",
28
+ version: "1.0.0"
29
+ },
30
+ {
31
+ key: "openbanking.balances.read",
32
+ version: "1.0.0"
33
+ }
34
+ ] },
35
+ configSchema: {
36
+ schema: {
37
+ type: "object",
38
+ required: ["environment"],
39
+ properties: {
40
+ environment: {
41
+ type: "string",
42
+ enum: ["sandbox", "production"],
43
+ description: "Powens environment to target. Sandbox uses Powens test API base URL, production uses live endpoints."
44
+ },
45
+ baseUrl: {
46
+ type: "string",
47
+ description: "Optional override for the Powens API base URL. Defaults to Powens environment defaults."
48
+ },
49
+ region: {
50
+ type: "string",
51
+ description: "Optional Powens region identifier when targeting a specific data residency cluster."
52
+ },
53
+ pollingIntervalMs: {
54
+ type: "number",
55
+ description: "Optional custom polling interval in milliseconds for background sync jobs (defaults to platform standard)."
56
+ }
57
+ }
58
+ },
59
+ example: {
60
+ environment: "sandbox",
61
+ baseUrl: "https://api-sandbox.powens.com/v2",
62
+ region: "eu-west-1",
63
+ pollingIntervalMs: 3e5
64
+ }
65
+ },
66
+ secretSchema: {
67
+ schema: {
68
+ type: "object",
69
+ required: ["clientId", "clientSecret"],
70
+ properties: {
71
+ clientId: {
72
+ type: "string",
73
+ description: "Powens OAuth client identifier obtained from the Powens Console (BYOK project)."
74
+ },
75
+ clientSecret: {
76
+ type: "string",
77
+ description: "Powens OAuth client secret used to exchange for access tokens."
78
+ },
79
+ apiKey: {
80
+ type: "string",
81
+ description: "Optional Powens API key (if the tenant project exposes a dedicated API token)."
82
+ },
83
+ webhookSecret: {
84
+ type: "string",
85
+ description: "Optional webhook signing secret used to verify Powens webhook payloads."
86
+ }
87
+ }
88
+ },
89
+ example: {
90
+ clientId: "powens-client-id",
91
+ clientSecret: "powens-client-secret",
92
+ apiKey: "powens-api-key",
93
+ webhookSecret: "powens-webhook-secret"
94
+ }
95
+ },
96
+ healthCheck: {
97
+ method: "ping",
98
+ timeoutMs: 8e3
99
+ },
100
+ docsUrl: "https://docs.powens.com/",
101
+ constraints: { rateLimit: {
102
+ rph: 1e4,
103
+ rpm: 600
104
+ } },
105
+ byokSetup: {
106
+ setupInstructions: "Create a Powens BYOK project, generate OAuth credentials, and optionally configure webhook delivery for account/transaction updates.",
107
+ requiredScopes: [
108
+ "accounts:read",
109
+ "transactions:read",
110
+ "balances:read"
111
+ ]
112
+ }
113
+ };
114
+
115
+ //#endregion
116
+ //# sourceMappingURL=powens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"powens.js","names":[],"sources":["../../../../../../../../libs/contracts/dist/integrations/providers/powens.js"],"sourcesContent":["import { StabilityEnum } from \"../../ownership.js\";\n\n//#region src/integrations/providers/powens.ts\nconst powensIntegrationSpec = {\n\tmeta: {\n\t\tkey: \"openbanking.powens\",\n\t\tversion: \"1.0.0\",\n\t\tcategory: \"open-banking\",\n\t\ttitle: \"Powens Open Banking (Read)\",\n\t\tdescription: \"Read-only Open Banking integration powered by Powens, exposing accounts, transactions, and balances.\",\n\t\tdomain: \"finance\",\n\t\towners: [\"platform.finance\"],\n\t\ttags: [\n\t\t\t\"open-banking\",\n\t\t\t\"powens\",\n\t\t\t\"finance\"\n\t\t],\n\t\tstability: StabilityEnum.Experimental\n\t},\n\tsupportedModes: [\"byok\"],\n\tcapabilities: { provides: [\n\t\t{\n\t\t\tkey: \"openbanking.accounts.read\",\n\t\t\tversion: \"1.0.0\"\n\t\t},\n\t\t{\n\t\t\tkey: \"openbanking.transactions.read\",\n\t\t\tversion: \"1.0.0\"\n\t\t},\n\t\t{\n\t\t\tkey: \"openbanking.balances.read\",\n\t\t\tversion: \"1.0.0\"\n\t\t}\n\t] },\n\tconfigSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\trequired: [\"environment\"],\n\t\t\tproperties: {\n\t\t\t\tenvironment: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tenum: [\"sandbox\", \"production\"],\n\t\t\t\t\tdescription: \"Powens environment to target. Sandbox uses Powens test API base URL, production uses live endpoints.\"\n\t\t\t\t},\n\t\t\t\tbaseUrl: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Optional override for the Powens API base URL. Defaults to Powens environment defaults.\"\n\t\t\t\t},\n\t\t\t\tregion: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Optional Powens region identifier when targeting a specific data residency cluster.\"\n\t\t\t\t},\n\t\t\t\tpollingIntervalMs: {\n\t\t\t\t\ttype: \"number\",\n\t\t\t\t\tdescription: \"Optional custom polling interval in milliseconds for background sync jobs (defaults to platform standard).\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tenvironment: \"sandbox\",\n\t\t\tbaseUrl: \"https://api-sandbox.powens.com/v2\",\n\t\t\tregion: \"eu-west-1\",\n\t\t\tpollingIntervalMs: 3e5\n\t\t}\n\t},\n\tsecretSchema: {\n\t\tschema: {\n\t\t\ttype: \"object\",\n\t\t\trequired: [\"clientId\", \"clientSecret\"],\n\t\t\tproperties: {\n\t\t\t\tclientId: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Powens OAuth client identifier obtained from the Powens Console (BYOK project).\"\n\t\t\t\t},\n\t\t\t\tclientSecret: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Powens OAuth client secret used to exchange for access tokens.\"\n\t\t\t\t},\n\t\t\t\tapiKey: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Optional Powens API key (if the tenant project exposes a dedicated API token).\"\n\t\t\t\t},\n\t\t\t\twebhookSecret: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Optional webhook signing secret used to verify Powens webhook payloads.\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tclientId: \"powens-client-id\",\n\t\t\tclientSecret: \"powens-client-secret\",\n\t\t\tapiKey: \"powens-api-key\",\n\t\t\twebhookSecret: \"powens-webhook-secret\"\n\t\t}\n\t},\n\thealthCheck: {\n\t\tmethod: \"ping\",\n\t\ttimeoutMs: 8e3\n\t},\n\tdocsUrl: \"https://docs.powens.com/\",\n\tconstraints: { rateLimit: {\n\t\trph: 1e4,\n\t\trpm: 600\n\t} },\n\tbyokSetup: {\n\t\tsetupInstructions: \"Create a Powens BYOK project, generate OAuth credentials, and optionally configure webhook delivery for account/transaction updates.\",\n\t\trequiredScopes: [\n\t\t\t\"accounts:read\",\n\t\t\t\"transactions:read\",\n\t\t\t\"balances:read\"\n\t\t]\n\t}\n};\nfunction registerPowensIntegration(registry) {\n\treturn registry.register(powensIntegrationSpec);\n}\n\n//#endregion\nexport { powensIntegrationSpec, registerPowensIntegration };"],"mappings":";;;AAGA,MAAM,wBAAwB;CAC7B,MAAM;EACL,KAAK;EACL,SAAS;EACT,UAAU;EACV,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GACL;GACA;GACA;GACA;EACD,WAAW,cAAc;EACzB;CACD,gBAAgB,CAAC,OAAO;CACxB,cAAc,EAAE,UAAU;EACzB;GACC,KAAK;GACL,SAAS;GACT;EACD;GACC,KAAK;GACL,SAAS;GACT;EACD;GACC,KAAK;GACL,SAAS;GACT;EACD,EAAE;CACH,cAAc;EACb,QAAQ;GACP,MAAM;GACN,UAAU,CAAC,cAAc;GACzB,YAAY;IACX,aAAa;KACZ,MAAM;KACN,MAAM,CAAC,WAAW,aAAa;KAC/B,aAAa;KACb;IACD,SAAS;KACR,MAAM;KACN,aAAa;KACb;IACD,QAAQ;KACP,MAAM;KACN,aAAa;KACb;IACD,mBAAmB;KAClB,MAAM;KACN,aAAa;KACb;IACD;GACD;EACD,SAAS;GACR,aAAa;GACb,SAAS;GACT,QAAQ;GACR,mBAAmB;GACnB;EACD;CACD,cAAc;EACb,QAAQ;GACP,MAAM;GACN,UAAU,CAAC,YAAY,eAAe;GACtC,YAAY;IACX,UAAU;KACT,MAAM;KACN,aAAa;KACb;IACD,cAAc;KACb,MAAM;KACN,aAAa;KACb;IACD,QAAQ;KACP,MAAM;KACN,aAAa;KACb;IACD,eAAe;KACd,MAAM;KACN,aAAa;KACb;IACD;GACD;EACD,SAAS;GACR,UAAU;GACV,cAAc;GACd,QAAQ;GACR,eAAe;GACf;EACD;CACD,aAAa;EACZ,QAAQ;EACR,WAAW;EACX;CACD,SAAS;CACT,aAAa,EAAE,WAAW;EACzB,KAAK;EACL,KAAK;EACL,EAAE;CACH,WAAW;EACV,mBAAmB;EACnB,gBAAgB;GACf;GACA;GACA;GACA;EACD;CACD"}