@contractspec/lib.contracts-spec 2.0.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 (1058) hide show
  1. package/README.md +3 -0
  2. package/dist/app-config/app-config.capability.d.ts +1 -0
  3. package/dist/app-config/app-config.capability.js +730 -0
  4. package/dist/app-config/app-config.contracts.d.ts +239 -0
  5. package/dist/app-config/app-config.contracts.js +713 -0
  6. package/dist/app-config/app-config.contracts.test.d.ts +1 -0
  7. package/dist/app-config/app-config.feature.d.ts +5 -0
  8. package/dist/app-config/app-config.feature.js +255 -0
  9. package/dist/app-config/branding.d.ts +52 -0
  10. package/dist/app-config/branding.js +1 -0
  11. package/dist/app-config/branding.test.d.ts +1 -0
  12. package/dist/app-config/docs/app-config.docblock.d.ts +2 -0
  13. package/dist/app-config/docs/app-config.docblock.js +383 -0
  14. package/dist/app-config/events.d.ts +115 -0
  15. package/dist/app-config/events.js +386 -0
  16. package/dist/app-config/events.test.d.ts +1 -0
  17. package/dist/app-config/index.d.ts +9 -0
  18. package/dist/app-config/index.js +2899 -0
  19. package/dist/app-config/lifecycle-contracts.d.ts +265 -0
  20. package/dist/app-config/lifecycle-contracts.js +870 -0
  21. package/dist/app-config/lifecycle-contracts.test.d.ts +1 -0
  22. package/dist/app-config/lifecycle.d.ts +23 -0
  23. package/dist/app-config/lifecycle.js +1 -0
  24. package/dist/app-config/lifecycle.test.d.ts +1 -0
  25. package/dist/app-config/runtime.d.ts +111 -0
  26. package/dist/app-config/runtime.js +734 -0
  27. package/dist/app-config/runtime.test.d.ts +1 -0
  28. package/dist/app-config/spec.d.ts +169 -0
  29. package/dist/app-config/spec.js +229 -0
  30. package/dist/app-config/spec.test.d.ts +1 -0
  31. package/dist/app-config/validation.d.ts +43 -0
  32. package/dist/app-config/validation.js +650 -0
  33. package/dist/app-config/validation.test.d.ts +1 -0
  34. package/dist/capabilities/capabilities.d.ts +96 -0
  35. package/dist/capabilities/capabilities.js +217 -0
  36. package/dist/capabilities/capabilities.test.d.ts +1 -0
  37. package/dist/capabilities/context.d.ts +110 -0
  38. package/dist/capabilities/context.js +101 -0
  39. package/dist/capabilities/context.test.d.ts +1 -0
  40. package/dist/capabilities/docs/capabilities.docblock.d.ts +2 -0
  41. package/dist/capabilities/docs/capabilities.docblock.js +353 -0
  42. package/dist/capabilities/guards.d.ts +121 -0
  43. package/dist/capabilities/guards.js +177 -0
  44. package/dist/capabilities/index.d.ts +6 -0
  45. package/dist/capabilities/index.js +739 -0
  46. package/dist/capabilities/meeting-recorder.d.ts +5 -0
  47. package/dist/capabilities/meeting-recorder.js +154 -0
  48. package/dist/capabilities/openbanking.d.ts +5 -0
  49. package/dist/capabilities/openbanking.js +166 -0
  50. package/dist/capabilities/validation.d.ts +79 -0
  51. package/dist/capabilities/validation.js +185 -0
  52. package/dist/capabilities/validation.test.d.ts +1 -0
  53. package/dist/contract-registry/index.d.ts +3 -0
  54. package/dist/contract-registry/index.js +129 -0
  55. package/dist/contract-registry/schemas.d.ts +120 -0
  56. package/dist/contract-registry/schemas.js +129 -0
  57. package/dist/contract-registry/schemas.test.d.ts +1 -0
  58. package/dist/contract-registry/types.d.ts +42 -0
  59. package/dist/contract-registry/types.js +1 -0
  60. package/dist/data-views/data-views.d.ts +4 -0
  61. package/dist/data-views/data-views.js +232 -0
  62. package/dist/data-views/data-views.test.d.ts +1 -0
  63. package/dist/data-views/docs/data-views.docblock.d.ts +2 -0
  64. package/dist/data-views/docs/data-views.docblock.js +164 -0
  65. package/dist/data-views/index.d.ts +4 -0
  66. package/dist/data-views/index.js +232 -0
  67. package/dist/data-views/query-generator.d.ts +35 -0
  68. package/dist/data-views/query-generator.js +89 -0
  69. package/dist/data-views/registry.d.ts +12 -0
  70. package/dist/data-views/registry.js +226 -0
  71. package/dist/data-views/registry.test.d.ts +1 -0
  72. package/dist/data-views/report/contractVerificationTable.d.ts +4 -0
  73. package/dist/data-views/report/contractVerificationTable.js +240 -0
  74. package/dist/data-views/report/contractVerificationTable.test.d.ts +1 -0
  75. package/dist/data-views/runtime.d.ts +25 -0
  76. package/dist/data-views/runtime.js +108 -0
  77. package/dist/data-views/runtime.test.d.ts +1 -0
  78. package/dist/data-views/spec.d.ts +22 -0
  79. package/dist/data-views/spec.js +38 -0
  80. package/dist/data-views/spec.test.d.ts +1 -0
  81. package/dist/data-views/types.d.ts +152 -0
  82. package/dist/data-views/types.js +1 -0
  83. package/dist/data-views/types.test.d.ts +1 -0
  84. package/dist/docs/accessibility_wcag_compliance_specs.docblock.d.ts +2 -0
  85. package/dist/docs/accessibility_wcag_compliance_specs.docblock.js +513 -0
  86. package/dist/docs/capabilities/documentationSystem.capability.d.ts +1 -0
  87. package/dist/docs/capabilities/documentationSystem.capability.js +784 -0
  88. package/dist/docs/capabilities/index.d.ts +1 -0
  89. package/dist/docs/capabilities/index.js +784 -0
  90. package/dist/docs/commands/docsGenerate.command.d.ts +88 -0
  91. package/dist/docs/commands/docsGenerate.command.js +802 -0
  92. package/dist/docs/commands/docsPublish.command.d.ts +57 -0
  93. package/dist/docs/commands/docsPublish.command.js +781 -0
  94. package/dist/docs/commands/index.d.ts +2 -0
  95. package/dist/docs/commands/index.js +906 -0
  96. package/dist/docs/constants.d.ts +4 -0
  97. package/dist/docs/constants.js +78 -0
  98. package/dist/docs/contracts.d.ts +430 -0
  99. package/dist/docs/contracts.js +1611 -0
  100. package/dist/docs/ensure-docblocks.d.ts +1 -0
  101. package/dist/docs/ensure-docblocks.js +264 -0
  102. package/dist/docs/events/docsGenerated.event.d.ts +56 -0
  103. package/dist/docs/events/docsGenerated.event.js +533 -0
  104. package/dist/docs/events/docsPublished.event.d.ts +64 -0
  105. package/dist/docs/events/docsPublished.event.js +534 -0
  106. package/dist/docs/events/index.d.ts +2 -0
  107. package/dist/docs/events/index.js +567 -0
  108. package/dist/docs/forms/docsSearch.form.d.ts +16 -0
  109. package/dist/docs/forms/docsSearch.form.js +676 -0
  110. package/dist/docs/forms/index.d.ts +1 -0
  111. package/dist/docs/forms/index.js +676 -0
  112. package/dist/docs/index.d.ts +40 -0
  113. package/dist/docs/index.js +4719 -0
  114. package/dist/docs/meta.docs.d.ts +2 -0
  115. package/dist/docs/meta.docs.js +176 -0
  116. package/dist/docs/presentations/docsLayout.presentation.d.ts +2 -0
  117. package/dist/docs/presentations/docsLayout.presentation.js +527 -0
  118. package/dist/docs/presentations/docsReferencePage.presentation.d.ts +2 -0
  119. package/dist/docs/presentations/docsReferencePage.presentation.js +527 -0
  120. package/dist/docs/presentations/index.d.ts +2 -0
  121. package/dist/docs/presentations/index.js +555 -0
  122. package/dist/docs/presentations.d.ts +27 -0
  123. package/dist/docs/presentations.js +97 -0
  124. package/dist/docs/presentations.test.d.ts +1 -0
  125. package/dist/docs/queries/contractReference.query.d.ts +211 -0
  126. package/dist/docs/queries/contractReference.query.js +752 -0
  127. package/dist/docs/queries/docsIndex.query.d.ts +266 -0
  128. package/dist/docs/queries/docsIndex.query.js +752 -0
  129. package/dist/docs/queries/index.d.ts +2 -0
  130. package/dist/docs/queries/index.js +827 -0
  131. package/dist/docs/registry.d.ts +19 -0
  132. package/dist/docs/registry.js +153 -0
  133. package/dist/docs/registry.test.d.ts +1 -0
  134. package/dist/docs/tech/auth/better-auth-nextjs.docblock.d.ts +2 -0
  135. package/dist/docs/tech/auth/better-auth-nextjs.docblock.js +221 -0
  136. package/dist/docs/tech/cli.docblock.d.ts +2 -0
  137. package/dist/docs/tech/cli.docblock.js +291 -0
  138. package/dist/docs/tech/contracts/README.docblock.d.ts +2 -0
  139. package/dist/docs/tech/contracts/README.docblock.js +164 -0
  140. package/dist/docs/tech/contracts/migrations.docblock.d.ts +2 -0
  141. package/dist/docs/tech/contracts/migrations.docblock.js +164 -0
  142. package/dist/docs/tech/contracts/openapi-export.docblock.d.ts +2 -0
  143. package/dist/docs/tech/contracts/openapi-export.docblock.js +201 -0
  144. package/dist/docs/tech/contracts/openapi-import.docblock.d.ts +2 -0
  145. package/dist/docs/tech/contracts/openapi-import.docblock.js +207 -0
  146. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.d.ts +2 -0
  147. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.js +225 -0
  148. package/dist/docs/tech/contracts/overlays.docblock.d.ts +2 -0
  149. package/dist/docs/tech/contracts/overlays.docblock.js +231 -0
  150. package/dist/docs/tech/contracts/tests.docblock.d.ts +2 -0
  151. package/dist/docs/tech/contracts/tests.docblock.js +164 -0
  152. package/dist/docs/tech/contracts/themes.docblock.d.ts +2 -0
  153. package/dist/docs/tech/contracts/themes.docblock.js +257 -0
  154. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.d.ts +2 -0
  155. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.js +269 -0
  156. package/dist/docs/tech/docs-system.docblock.d.ts +1 -0
  157. package/dist/docs/tech/docs-system.docblock.js +264 -0
  158. package/dist/docs/tech/lifecycle-stage-system.docblock.d.ts +2 -0
  159. package/dist/docs/tech/lifecycle-stage-system.docblock.js +376 -0
  160. package/dist/docs/tech/llm/llm-integration.docblock.d.ts +7 -0
  161. package/dist/docs/tech/llm/llm-integration.docblock.js +482 -0
  162. package/dist/docs/tech/mcp-endpoints.docblock.d.ts +2 -0
  163. package/dist/docs/tech/mcp-endpoints.docblock.js +185 -0
  164. package/dist/docs/tech/presentation-runtime.docblock.d.ts +2 -0
  165. package/dist/docs/tech/presentation-runtime.docblock.js +221 -0
  166. package/dist/docs/tech/report-verification-table.docblock.d.ts +1 -0
  167. package/dist/docs/tech/report-verification-table.docblock.js +191 -0
  168. package/dist/docs/tech/report-verification-table.test.d.ts +1 -0
  169. package/dist/docs/tech/schema/README.docblock.d.ts +2 -0
  170. package/dist/docs/tech/schema/README.docblock.js +164 -0
  171. package/dist/docs/tech/studio/learning-events.docblock.d.ts +2 -0
  172. package/dist/docs/tech/studio/learning-events.docblock.js +190 -0
  173. package/dist/docs/tech/studio/learning-journeys.docblock.d.ts +2 -0
  174. package/dist/docs/tech/studio/learning-journeys.docblock.js +227 -0
  175. package/dist/docs/tech/studio/platform-admin-panel.docblock.d.ts +2 -0
  176. package/dist/docs/tech/studio/platform-admin-panel.docblock.js +226 -0
  177. package/dist/docs/tech/studio/project-access-teams.docblock.d.ts +2 -0
  178. package/dist/docs/tech/studio/project-access-teams.docblock.js +200 -0
  179. package/dist/docs/tech/studio/project-routing.docblock.d.ts +2 -0
  180. package/dist/docs/tech/studio/project-routing.docblock.js +209 -0
  181. package/dist/docs/tech/studio/sandbox-unlogged.docblock.d.ts +2 -0
  182. package/dist/docs/tech/studio/sandbox-unlogged.docblock.js +183 -0
  183. package/dist/docs/tech/studio/team-invitations.docblock.d.ts +2 -0
  184. package/dist/docs/tech/studio/team-invitations.docblock.js +228 -0
  185. package/dist/docs/tech/studio/workspace-ops.docblock.d.ts +2 -0
  186. package/dist/docs/tech/studio/workspace-ops.docblock.js +189 -0
  187. package/dist/docs/tech/studio/workspaces.docblock.d.ts +2 -0
  188. package/dist/docs/tech/studio/workspaces.docblock.js +204 -0
  189. package/dist/docs/tech/telemetry-ingest.docblock.d.ts +2 -0
  190. package/dist/docs/tech/telemetry-ingest.docblock.js +305 -0
  191. package/dist/docs/tech/vscode-extension.docblock.d.ts +2 -0
  192. package/dist/docs/tech/vscode-extension.docblock.js +241 -0
  193. package/dist/docs/tech-contracts.docs.d.ts +2 -0
  194. package/dist/docs/tech-contracts.docs.js +239 -0
  195. package/dist/docs/types.d.ts +37 -0
  196. package/dist/docs/types.js +1 -0
  197. package/dist/docs/views/contractReference.dataView.d.ts +2 -0
  198. package/dist/docs/views/contractReference.dataView.js +838 -0
  199. package/dist/docs/views/docsIndex.dataView.d.ts +2 -0
  200. package/dist/docs/views/docsIndex.dataView.js +832 -0
  201. package/dist/docs/views/exampleCatalog.dataView.d.ts +2 -0
  202. package/dist/docs/views/exampleCatalog.dataView.js +816 -0
  203. package/dist/docs/views/index.d.ts +3 -0
  204. package/dist/docs/views/index.js +1031 -0
  205. package/dist/events.d.ts +142 -0
  206. package/dist/events.js +228 -0
  207. package/dist/events.test.d.ts +1 -0
  208. package/dist/examples/define.d.ts +5 -0
  209. package/dist/examples/define.js +36 -0
  210. package/dist/examples/docs/examples.docblock.d.ts +2 -0
  211. package/dist/examples/docs/examples.docblock.js +307 -0
  212. package/dist/examples/index.d.ts +7 -0
  213. package/dist/examples/index.js +604 -0
  214. package/dist/examples/registry.d.ts +38 -0
  215. package/dist/examples/registry.js +286 -0
  216. package/dist/examples/registry.test.d.ts +1 -0
  217. package/dist/examples/schema.d.ts +278 -0
  218. package/dist/examples/schema.js +166 -0
  219. package/dist/examples/schema.test.d.ts +1 -0
  220. package/dist/examples/types.d.ts +162 -0
  221. package/dist/examples/types.js +77 -0
  222. package/dist/examples/types.test.d.ts +1 -0
  223. package/dist/examples/validation.d.ts +61 -0
  224. package/dist/examples/validation.js +287 -0
  225. package/dist/examples/validation.test.d.ts +1 -0
  226. package/dist/experiments/docs/experiments.docblock.d.ts +2 -0
  227. package/dist/experiments/docs/experiments.docblock.js +291 -0
  228. package/dist/experiments/evaluator.d.ts +33 -0
  229. package/dist/experiments/evaluator.js +155 -0
  230. package/dist/experiments/evaluator.test.d.ts +1 -0
  231. package/dist/experiments/spec-resolver.d.ts +12 -0
  232. package/dist/experiments/spec-resolver.js +1 -0
  233. package/dist/experiments/spec.d.ts +79 -0
  234. package/dist/experiments/spec.js +227 -0
  235. package/dist/experiments/spec.test.d.ts +1 -0
  236. package/dist/features/index.d.ts +5 -0
  237. package/dist/features/index.js +275 -0
  238. package/dist/features/install.d.ts +14 -0
  239. package/dist/features/install.js +95 -0
  240. package/dist/features/install.test.d.ts +1 -0
  241. package/dist/features/registry.d.ts +21 -0
  242. package/dist/features/registry.js +192 -0
  243. package/dist/features/registry.test.d.ts +1 -0
  244. package/dist/features/types.d.ts +82 -0
  245. package/dist/features/types.js +36 -0
  246. package/dist/features/types.test.d.ts +1 -0
  247. package/dist/features/validation.d.ts +4 -0
  248. package/dist/features/validation.js +48 -0
  249. package/dist/features/validation.test.d.ts +1 -0
  250. package/dist/features.capabilities.test.d.ts +1 -0
  251. package/dist/forms/docs/forms.docblock.d.ts +2 -0
  252. package/dist/forms/docs/forms.docblock.js +164 -0
  253. package/dist/forms/forms.d.ts +264 -0
  254. package/dist/forms/forms.js +332 -0
  255. package/dist/forms/index.d.ts +1 -0
  256. package/dist/forms/index.js +332 -0
  257. package/dist/index.d.ts +36 -0
  258. package/dist/index.js +2195 -0
  259. package/dist/install.d.ts +75 -0
  260. package/dist/install.js +60 -0
  261. package/dist/integrations/binding.d.ts +14 -0
  262. package/dist/integrations/binding.js +1 -0
  263. package/dist/integrations/connection.d.ts +47 -0
  264. package/dist/integrations/connection.js +1 -0
  265. package/dist/integrations/docs/integrations.docblock.d.ts +2 -0
  266. package/dist/integrations/docs/integrations.docblock.js +140 -0
  267. package/dist/integrations/health.d.ts +17 -0
  268. package/dist/integrations/health.js +103 -0
  269. package/dist/integrations/health.test.d.ts +1 -0
  270. package/dist/integrations/index.d.ts +11 -0
  271. package/dist/integrations/index.js +3293 -0
  272. package/dist/integrations/integrations.capability.d.ts +1 -0
  273. package/dist/integrations/integrations.capability.js +48 -0
  274. package/dist/integrations/integrations.feature.d.ts +5 -0
  275. package/dist/integrations/integrations.feature.js +63 -0
  276. package/dist/integrations/meeting-recorder/contracts/index.d.ts +7 -0
  277. package/dist/integrations/meeting-recorder/contracts/index.js +504 -0
  278. package/dist/integrations/meeting-recorder/contracts/meetings.d.ts +451 -0
  279. package/dist/integrations/meeting-recorder/contracts/meetings.js +249 -0
  280. package/dist/integrations/meeting-recorder/contracts/transcripts.d.ts +166 -0
  281. package/dist/integrations/meeting-recorder/contracts/transcripts.js +317 -0
  282. package/dist/integrations/meeting-recorder/contracts/webhooks.d.ts +85 -0
  283. package/dist/integrations/meeting-recorder/contracts/webhooks.js +202 -0
  284. package/dist/integrations/meeting-recorder/meeting-recorder.capability.d.ts +1 -0
  285. package/dist/integrations/meeting-recorder/meeting-recorder.capability.js +48 -0
  286. package/dist/integrations/meeting-recorder/meeting-recorder.feature.d.ts +5 -0
  287. package/dist/integrations/meeting-recorder/meeting-recorder.feature.js +63 -0
  288. package/dist/integrations/meeting-recorder/models.d.ts +402 -0
  289. package/dist/integrations/meeting-recorder/models.js +152 -0
  290. package/dist/integrations/meeting-recorder/telemetry.d.ts +13 -0
  291. package/dist/integrations/meeting-recorder/telemetry.js +84 -0
  292. package/dist/integrations/openbanking/contracts/accounts.d.ts +282 -0
  293. package/dist/integrations/openbanking/contracts/accounts.js +358 -0
  294. package/dist/integrations/openbanking/contracts/balances.d.ts +158 -0
  295. package/dist/integrations/openbanking/contracts/balances.js +322 -0
  296. package/dist/integrations/openbanking/contracts/index.d.ts +7 -0
  297. package/dist/integrations/openbanking/contracts/index.js +674 -0
  298. package/dist/integrations/openbanking/contracts/transactions.d.ts +206 -0
  299. package/dist/integrations/openbanking/contracts/transactions.js +328 -0
  300. package/dist/integrations/openbanking/guards.d.ts +8 -0
  301. package/dist/integrations/openbanking/guards.js +72 -0
  302. package/dist/integrations/openbanking/guards.test.d.ts +1 -0
  303. package/dist/integrations/openbanking/models.d.ts +223 -0
  304. package/dist/integrations/openbanking/models.js +140 -0
  305. package/dist/integrations/openbanking/openbanking.capability.d.ts +1 -0
  306. package/dist/integrations/openbanking/openbanking.capability.js +48 -0
  307. package/dist/integrations/openbanking/openbanking.feature.d.ts +5 -0
  308. package/dist/integrations/openbanking/openbanking.feature.js +65 -0
  309. package/dist/integrations/openbanking/telemetry.d.ts +12 -0
  310. package/dist/integrations/openbanking/telemetry.js +81 -0
  311. package/dist/integrations/operations.d.ts +430 -0
  312. package/dist/integrations/operations.js +327 -0
  313. package/dist/integrations/operations.test.d.ts +1 -0
  314. package/dist/integrations/providers/analytics-reader.d.ts +103 -0
  315. package/dist/integrations/providers/analytics-reader.js +1 -0
  316. package/dist/integrations/providers/analytics-writer.d.ts +6 -0
  317. package/dist/integrations/providers/analytics-writer.js +1 -0
  318. package/dist/integrations/providers/analytics.d.ts +47 -0
  319. package/dist/integrations/providers/analytics.js +1 -0
  320. package/dist/integrations/providers/calendar.d.ts +75 -0
  321. package/dist/integrations/providers/calendar.js +1 -0
  322. package/dist/integrations/providers/database.d.ts +12 -0
  323. package/dist/integrations/providers/database.js +1 -0
  324. package/dist/integrations/providers/elevenlabs.d.ts +3 -0
  325. package/dist/integrations/providers/elevenlabs.js +116 -0
  326. package/dist/integrations/providers/email.d.ts +83 -0
  327. package/dist/integrations/providers/email.js +1 -0
  328. package/dist/integrations/providers/embedding.d.ts +21 -0
  329. package/dist/integrations/providers/embedding.js +1 -0
  330. package/dist/integrations/providers/fal.d.ts +3 -0
  331. package/dist/integrations/providers/fal.js +142 -0
  332. package/dist/integrations/providers/fathom.d.ts +3 -0
  333. package/dist/integrations/providers/fathom.js +156 -0
  334. package/dist/integrations/providers/fireflies.d.ts +3 -0
  335. package/dist/integrations/providers/fireflies.js +136 -0
  336. package/dist/integrations/providers/gcs-storage.d.ts +3 -0
  337. package/dist/integrations/providers/gcs-storage.js +127 -0
  338. package/dist/integrations/providers/gmail.d.ts +3 -0
  339. package/dist/integrations/providers/gmail.js +139 -0
  340. package/dist/integrations/providers/google-calendar.d.ts +3 -0
  341. package/dist/integrations/providers/google-calendar.js +122 -0
  342. package/dist/integrations/providers/gradium.d.ts +3 -0
  343. package/dist/integrations/providers/gradium.js +140 -0
  344. package/dist/integrations/providers/granola.d.ts +3 -0
  345. package/dist/integrations/providers/granola.js +137 -0
  346. package/dist/integrations/providers/index.d.ts +38 -0
  347. package/dist/integrations/providers/index.js +2124 -0
  348. package/dist/integrations/providers/jira.d.ts +3 -0
  349. package/dist/integrations/providers/jira.js +138 -0
  350. package/dist/integrations/providers/linear.d.ts +3 -0
  351. package/dist/integrations/providers/linear.js +137 -0
  352. package/dist/integrations/providers/llm.d.ts +79 -0
  353. package/dist/integrations/providers/llm.js +1 -0
  354. package/dist/integrations/providers/meeting-recorder.d.ts +129 -0
  355. package/dist/integrations/providers/meeting-recorder.js +1 -0
  356. package/dist/integrations/providers/mistral.d.ts +3 -0
  357. package/dist/integrations/providers/mistral.js +124 -0
  358. package/dist/integrations/providers/notion.d.ts +3 -0
  359. package/dist/integrations/providers/notion.js +143 -0
  360. package/dist/integrations/providers/openbanking.d.ts +125 -0
  361. package/dist/integrations/providers/openbanking.js +1 -0
  362. package/dist/integrations/providers/payments.d.ts +106 -0
  363. package/dist/integrations/providers/payments.js +1 -0
  364. package/dist/integrations/providers/posthog-llm-telemetry.d.ts +51 -0
  365. package/dist/integrations/providers/posthog-llm-telemetry.js +206 -0
  366. package/dist/integrations/providers/posthog.d.ts +3 -0
  367. package/dist/integrations/providers/posthog.js +136 -0
  368. package/dist/integrations/providers/postmark.d.ts +3 -0
  369. package/dist/integrations/providers/postmark.js +128 -0
  370. package/dist/integrations/providers/powens.d.ts +3 -0
  371. package/dist/integrations/providers/powens.js +154 -0
  372. package/dist/integrations/providers/project-management.d.ts +32 -0
  373. package/dist/integrations/providers/project-management.js +1 -0
  374. package/dist/integrations/providers/providers.test.d.ts +1 -0
  375. package/dist/integrations/providers/qdrant.d.ts +3 -0
  376. package/dist/integrations/providers/qdrant.js +131 -0
  377. package/dist/integrations/providers/registry.d.ts +6 -0
  378. package/dist/integrations/providers/registry.js +1908 -0
  379. package/dist/integrations/providers/sms.d.ts +31 -0
  380. package/dist/integrations/providers/sms.js +1 -0
  381. package/dist/integrations/providers/storage.d.ts +57 -0
  382. package/dist/integrations/providers/storage.js +1 -0
  383. package/dist/integrations/providers/stripe.d.ts +3 -0
  384. package/dist/integrations/providers/stripe.js +135 -0
  385. package/dist/integrations/providers/supabase-postgres.d.ts +3 -0
  386. package/dist/integrations/providers/supabase-postgres.js +117 -0
  387. package/dist/integrations/providers/supabase-vector.d.ts +3 -0
  388. package/dist/integrations/providers/supabase-vector.js +137 -0
  389. package/dist/integrations/providers/tldv.d.ts +3 -0
  390. package/dist/integrations/providers/tldv.js +136 -0
  391. package/dist/integrations/providers/twilio-sms.d.ts +3 -0
  392. package/dist/integrations/providers/twilio-sms.js +121 -0
  393. package/dist/integrations/providers/vector-store.d.ts +39 -0
  394. package/dist/integrations/providers/vector-store.js +1 -0
  395. package/dist/integrations/providers/voice.d.ts +31 -0
  396. package/dist/integrations/providers/voice.js +1 -0
  397. package/dist/integrations/runtime.d.ts +95 -0
  398. package/dist/integrations/runtime.js +239 -0
  399. package/dist/integrations/runtime.test.d.ts +1 -0
  400. package/dist/integrations/secrets/aws-secret-manager.d.ts +28 -0
  401. package/dist/integrations/secrets/aws-secret-manager.js +376 -0
  402. package/dist/integrations/secrets/env-secret-provider.d.ts +28 -0
  403. package/dist/integrations/secrets/env-secret-provider.js +189 -0
  404. package/dist/integrations/secrets/gcp-secret-manager.d.ts +29 -0
  405. package/dist/integrations/secrets/gcp-secret-manager.js +377 -0
  406. package/dist/integrations/secrets/index.d.ts +6 -0
  407. package/dist/integrations/secrets/index.js +1159 -0
  408. package/dist/integrations/secrets/manager.d.ts +44 -0
  409. package/dist/integrations/secrets/manager.js +213 -0
  410. package/dist/integrations/secrets/provider.d.ts +49 -0
  411. package/dist/integrations/secrets/provider.js +104 -0
  412. package/dist/integrations/secrets/provider.test.d.ts +1 -0
  413. package/dist/integrations/secrets/scaleway-secret-manager.d.ts +35 -0
  414. package/dist/integrations/secrets/scaleway-secret-manager.js +405 -0
  415. package/dist/integrations/secrets-types.d.ts +14 -0
  416. package/dist/integrations/secrets-types.js +1 -0
  417. package/dist/integrations/spec.d.ts +72 -0
  418. package/dist/integrations/spec.js +52 -0
  419. package/dist/integrations/spec.test.d.ts +1 -0
  420. package/dist/jobs/define-job.d.ts +15 -0
  421. package/dist/jobs/define-job.js +41 -0
  422. package/dist/jobs/gcp-cloud-tasks.d.ts +38 -0
  423. package/dist/jobs/gcp-cloud-tasks.js +103 -0
  424. package/dist/jobs/gcp-pubsub.d.ts +22 -0
  425. package/dist/jobs/gcp-pubsub.js +91 -0
  426. package/dist/jobs/handlers/gmail-sync-handler.d.ts +5 -0
  427. package/dist/jobs/handlers/gmail-sync-handler.js +40 -0
  428. package/dist/jobs/handlers/handlers.test.d.ts +1 -0
  429. package/dist/jobs/handlers/index.d.ts +5 -0
  430. package/dist/jobs/handlers/index.js +83 -0
  431. package/dist/jobs/handlers/ping-handler.d.ts +6 -0
  432. package/dist/jobs/handlers/ping-handler.js +47 -0
  433. package/dist/jobs/handlers/storage-document-handler.d.ts +8 -0
  434. package/dist/jobs/handlers/storage-document-handler.js +47 -0
  435. package/dist/jobs/index.d.ts +2 -0
  436. package/dist/jobs/index.js +64 -0
  437. package/dist/jobs/memory-queue.d.ts +14 -0
  438. package/dist/jobs/memory-queue.js +129 -0
  439. package/dist/jobs/queue.d.ts +126 -0
  440. package/dist/jobs/queue.js +55 -0
  441. package/dist/jobs/queue.test.d.ts +1 -0
  442. package/dist/jobs/scaleway-sqs-queue.d.ts +27 -0
  443. package/dist/jobs/scaleway-sqs-queue.js +222 -0
  444. package/dist/jsonschema.d.ts +39 -0
  445. package/dist/jsonschema.js +73 -0
  446. package/dist/jsonschema.test.d.ts +1 -0
  447. package/dist/knowledge/binding.d.ts +22 -0
  448. package/dist/knowledge/binding.js +1 -0
  449. package/dist/knowledge/docs/knowledge.docblock.d.ts +2 -0
  450. package/dist/knowledge/docs/knowledge.docblock.js +301 -0
  451. package/dist/knowledge/index.d.ts +4 -0
  452. package/dist/knowledge/index.js +467 -0
  453. package/dist/knowledge/ingestion/document-processor.d.ts +22 -0
  454. package/dist/knowledge/ingestion/document-processor.js +95 -0
  455. package/dist/knowledge/ingestion/embedding-service.d.ts +8 -0
  456. package/dist/knowledge/ingestion/embedding-service.js +57 -0
  457. package/dist/knowledge/ingestion/gmail-adapter.d.ts +14 -0
  458. package/dist/knowledge/ingestion/gmail-adapter.js +103 -0
  459. package/dist/knowledge/ingestion/index.d.ts +5 -0
  460. package/dist/knowledge/ingestion/index.js +252 -0
  461. package/dist/knowledge/ingestion/ingestion.test.d.ts +1 -0
  462. package/dist/knowledge/ingestion/storage-adapter.d.ts +11 -0
  463. package/dist/knowledge/ingestion/storage-adapter.js +62 -0
  464. package/dist/knowledge/ingestion/vector-indexer.d.ts +14 -0
  465. package/dist/knowledge/ingestion/vector-indexer.js +63 -0
  466. package/dist/knowledge/knowledge.capability.d.ts +1 -0
  467. package/dist/knowledge/knowledge.capability.js +726 -0
  468. package/dist/knowledge/knowledge.feature.d.ts +5 -0
  469. package/dist/knowledge/knowledge.feature.js +300 -0
  470. package/dist/knowledge/operations.d.ts +311 -0
  471. package/dist/knowledge/operations.js +619 -0
  472. package/dist/knowledge/operations.test.d.ts +1 -0
  473. package/dist/knowledge/query/index.d.ts +1 -0
  474. package/dist/knowledge/query/index.js +110 -0
  475. package/dist/knowledge/query/service.d.ts +25 -0
  476. package/dist/knowledge/query/service.js +110 -0
  477. package/dist/knowledge/query/service.test.d.ts +1 -0
  478. package/dist/knowledge/runtime.d.ts +28 -0
  479. package/dist/knowledge/runtime.js +91 -0
  480. package/dist/knowledge/runtime.test.d.ts +1 -0
  481. package/dist/knowledge/source.d.ts +29 -0
  482. package/dist/knowledge/source.js +1 -0
  483. package/dist/knowledge/spaces/email-threads.d.ts +3 -0
  484. package/dist/knowledge/spaces/email-threads.js +102 -0
  485. package/dist/knowledge/spaces/financial-docs.d.ts +3 -0
  486. package/dist/knowledge/spaces/financial-docs.js +102 -0
  487. package/dist/knowledge/spaces/financial-overview.d.ts +3 -0
  488. package/dist/knowledge/spaces/financial-overview.js +102 -0
  489. package/dist/knowledge/spaces/index.d.ts +6 -0
  490. package/dist/knowledge/spaces/index.js +273 -0
  491. package/dist/knowledge/spaces/product-canon.d.ts +3 -0
  492. package/dist/knowledge/spaces/product-canon.js +102 -0
  493. package/dist/knowledge/spaces/spaces.test.d.ts +1 -0
  494. package/dist/knowledge/spaces/support-faq.d.ts +3 -0
  495. package/dist/knowledge/spaces/support-faq.js +103 -0
  496. package/dist/knowledge/spaces/uploaded-docs.d.ts +3 -0
  497. package/dist/knowledge/spaces/uploaded-docs.js +102 -0
  498. package/dist/knowledge/spec.d.ts +42 -0
  499. package/dist/knowledge/spec.js +228 -0
  500. package/dist/knowledge/spec.test.d.ts +1 -0
  501. package/dist/llm/exporters.d.ts +68 -0
  502. package/dist/llm/exporters.js +1011 -0
  503. package/dist/llm/index.d.ts +12 -0
  504. package/dist/llm/index.js +1465 -0
  505. package/dist/llm/prompts.d.ts +53 -0
  506. package/dist/llm/prompts.js +1456 -0
  507. package/dist/llm/types.d.ts +212 -0
  508. package/dist/llm/types.js +1 -0
  509. package/dist/markdown.d.ts +16 -0
  510. package/dist/markdown.js +529 -0
  511. package/dist/migrations.d.ts +48 -0
  512. package/dist/migrations.js +67 -0
  513. package/dist/migrations.test.d.ts +1 -0
  514. package/dist/model-registry.d.ts +9 -0
  515. package/dist/model-registry.js +64 -0
  516. package/dist/model-registry.test.d.ts +1 -0
  517. package/dist/node/app-config/app-config.capability.js +730 -0
  518. package/dist/node/app-config/app-config.contracts.js +713 -0
  519. package/dist/node/app-config/app-config.feature.js +255 -0
  520. package/dist/node/app-config/branding.js +0 -0
  521. package/dist/node/app-config/docs/app-config.docblock.js +383 -0
  522. package/dist/node/app-config/events.js +386 -0
  523. package/dist/node/app-config/index.js +2899 -0
  524. package/dist/node/app-config/lifecycle-contracts.js +870 -0
  525. package/dist/node/app-config/lifecycle.js +0 -0
  526. package/dist/node/app-config/runtime.js +734 -0
  527. package/dist/node/app-config/spec.js +229 -0
  528. package/dist/node/app-config/validation.js +650 -0
  529. package/dist/node/capabilities/capabilities.js +217 -0
  530. package/dist/node/capabilities/context.js +101 -0
  531. package/dist/node/capabilities/docs/capabilities.docblock.js +353 -0
  532. package/dist/node/capabilities/guards.js +177 -0
  533. package/dist/node/capabilities/index.js +739 -0
  534. package/dist/node/capabilities/meeting-recorder.js +154 -0
  535. package/dist/node/capabilities/openbanking.js +166 -0
  536. package/dist/node/capabilities/validation.js +185 -0
  537. package/dist/node/contract-registry/index.js +129 -0
  538. package/dist/node/contract-registry/schemas.js +129 -0
  539. package/dist/node/contract-registry/types.js +0 -0
  540. package/dist/node/data-views/data-views.js +232 -0
  541. package/dist/node/data-views/docs/data-views.docblock.js +164 -0
  542. package/dist/node/data-views/index.js +232 -0
  543. package/dist/node/data-views/query-generator.js +89 -0
  544. package/dist/node/data-views/registry.js +226 -0
  545. package/dist/node/data-views/report/contractVerificationTable.js +240 -0
  546. package/dist/node/data-views/runtime.js +108 -0
  547. package/dist/node/data-views/spec.js +38 -0
  548. package/dist/node/data-views/types.js +0 -0
  549. package/dist/node/docs/accessibility_wcag_compliance_specs.docblock.js +513 -0
  550. package/dist/node/docs/capabilities/documentationSystem.capability.js +784 -0
  551. package/dist/node/docs/capabilities/index.js +784 -0
  552. package/dist/node/docs/commands/docsGenerate.command.js +802 -0
  553. package/dist/node/docs/commands/docsPublish.command.js +781 -0
  554. package/dist/node/docs/commands/index.js +906 -0
  555. package/dist/node/docs/constants.js +78 -0
  556. package/dist/node/docs/contracts.js +1611 -0
  557. package/dist/node/docs/ensure-docblocks.js +264 -0
  558. package/dist/node/docs/events/docsGenerated.event.js +533 -0
  559. package/dist/node/docs/events/docsPublished.event.js +534 -0
  560. package/dist/node/docs/events/index.js +567 -0
  561. package/dist/node/docs/forms/docsSearch.form.js +676 -0
  562. package/dist/node/docs/forms/index.js +676 -0
  563. package/dist/node/docs/index.js +4719 -0
  564. package/dist/node/docs/meta.docs.js +176 -0
  565. package/dist/node/docs/presentations/docsLayout.presentation.js +527 -0
  566. package/dist/node/docs/presentations/docsReferencePage.presentation.js +527 -0
  567. package/dist/node/docs/presentations/index.js +555 -0
  568. package/dist/node/docs/presentations.js +97 -0
  569. package/dist/node/docs/queries/contractReference.query.js +752 -0
  570. package/dist/node/docs/queries/docsIndex.query.js +752 -0
  571. package/dist/node/docs/queries/index.js +827 -0
  572. package/dist/node/docs/registry.js +153 -0
  573. package/dist/node/docs/tech/auth/better-auth-nextjs.docblock.js +221 -0
  574. package/dist/node/docs/tech/cli.docblock.js +291 -0
  575. package/dist/node/docs/tech/contracts/README.docblock.js +164 -0
  576. package/dist/node/docs/tech/contracts/migrations.docblock.js +164 -0
  577. package/dist/node/docs/tech/contracts/openapi-export.docblock.js +201 -0
  578. package/dist/node/docs/tech/contracts/openapi-import.docblock.js +207 -0
  579. package/dist/node/docs/tech/contracts/ops-to-presentation-linking.docblock.js +225 -0
  580. package/dist/node/docs/tech/contracts/overlays.docblock.js +231 -0
  581. package/dist/node/docs/tech/contracts/tests.docblock.js +164 -0
  582. package/dist/node/docs/tech/contracts/themes.docblock.js +257 -0
  583. package/dist/node/docs/tech/contracts/vertical-pocket-family-office.docblock.js +269 -0
  584. package/dist/node/docs/tech/docs-system.docblock.js +264 -0
  585. package/dist/node/docs/tech/lifecycle-stage-system.docblock.js +376 -0
  586. package/dist/node/docs/tech/llm/llm-integration.docblock.js +482 -0
  587. package/dist/node/docs/tech/mcp-endpoints.docblock.js +185 -0
  588. package/dist/node/docs/tech/presentation-runtime.docblock.js +221 -0
  589. package/dist/node/docs/tech/report-verification-table.docblock.js +191 -0
  590. package/dist/node/docs/tech/schema/README.docblock.js +164 -0
  591. package/dist/node/docs/tech/studio/learning-events.docblock.js +190 -0
  592. package/dist/node/docs/tech/studio/learning-journeys.docblock.js +227 -0
  593. package/dist/node/docs/tech/studio/platform-admin-panel.docblock.js +226 -0
  594. package/dist/node/docs/tech/studio/project-access-teams.docblock.js +200 -0
  595. package/dist/node/docs/tech/studio/project-routing.docblock.js +209 -0
  596. package/dist/node/docs/tech/studio/sandbox-unlogged.docblock.js +183 -0
  597. package/dist/node/docs/tech/studio/team-invitations.docblock.js +228 -0
  598. package/dist/node/docs/tech/studio/workspace-ops.docblock.js +189 -0
  599. package/dist/node/docs/tech/studio/workspaces.docblock.js +204 -0
  600. package/dist/node/docs/tech/telemetry-ingest.docblock.js +305 -0
  601. package/dist/node/docs/tech/vscode-extension.docblock.js +241 -0
  602. package/dist/node/docs/tech-contracts.docs.js +239 -0
  603. package/dist/node/docs/types.js +0 -0
  604. package/dist/node/docs/views/contractReference.dataView.js +838 -0
  605. package/dist/node/docs/views/docsIndex.dataView.js +832 -0
  606. package/dist/node/docs/views/exampleCatalog.dataView.js +816 -0
  607. package/dist/node/docs/views/index.js +1031 -0
  608. package/dist/node/events.js +228 -0
  609. package/dist/node/examples/define.js +36 -0
  610. package/dist/node/examples/docs/examples.docblock.js +307 -0
  611. package/dist/node/examples/index.js +604 -0
  612. package/dist/node/examples/registry.js +286 -0
  613. package/dist/node/examples/schema.js +166 -0
  614. package/dist/node/examples/types.js +77 -0
  615. package/dist/node/examples/validation.js +287 -0
  616. package/dist/node/experiments/docs/experiments.docblock.js +291 -0
  617. package/dist/node/experiments/evaluator.js +155 -0
  618. package/dist/node/experiments/spec-resolver.js +0 -0
  619. package/dist/node/experiments/spec.js +227 -0
  620. package/dist/node/features/index.js +275 -0
  621. package/dist/node/features/install.js +95 -0
  622. package/dist/node/features/registry.js +192 -0
  623. package/dist/node/features/types.js +36 -0
  624. package/dist/node/features/validation.js +48 -0
  625. package/dist/node/forms/docs/forms.docblock.js +164 -0
  626. package/dist/node/forms/forms.js +332 -0
  627. package/dist/node/forms/index.js +332 -0
  628. package/dist/node/index.js +2195 -0
  629. package/dist/node/install.js +60 -0
  630. package/dist/node/integrations/binding.js +0 -0
  631. package/dist/node/integrations/connection.js +0 -0
  632. package/dist/node/integrations/docs/integrations.docblock.js +140 -0
  633. package/dist/node/integrations/health.js +103 -0
  634. package/dist/node/integrations/index.js +3293 -0
  635. package/dist/node/integrations/integrations.capability.js +48 -0
  636. package/dist/node/integrations/integrations.feature.js +63 -0
  637. package/dist/node/integrations/meeting-recorder/contracts/index.js +504 -0
  638. package/dist/node/integrations/meeting-recorder/contracts/meetings.js +249 -0
  639. package/dist/node/integrations/meeting-recorder/contracts/transcripts.js +317 -0
  640. package/dist/node/integrations/meeting-recorder/contracts/webhooks.js +202 -0
  641. package/dist/node/integrations/meeting-recorder/meeting-recorder.capability.js +48 -0
  642. package/dist/node/integrations/meeting-recorder/meeting-recorder.feature.js +63 -0
  643. package/dist/node/integrations/meeting-recorder/models.js +152 -0
  644. package/dist/node/integrations/meeting-recorder/telemetry.js +84 -0
  645. package/dist/node/integrations/openbanking/contracts/accounts.js +358 -0
  646. package/dist/node/integrations/openbanking/contracts/balances.js +322 -0
  647. package/dist/node/integrations/openbanking/contracts/index.js +674 -0
  648. package/dist/node/integrations/openbanking/contracts/transactions.js +328 -0
  649. package/dist/node/integrations/openbanking/guards.js +72 -0
  650. package/dist/node/integrations/openbanking/models.js +140 -0
  651. package/dist/node/integrations/openbanking/openbanking.capability.js +48 -0
  652. package/dist/node/integrations/openbanking/openbanking.feature.js +65 -0
  653. package/dist/node/integrations/openbanking/telemetry.js +81 -0
  654. package/dist/node/integrations/operations.js +327 -0
  655. package/dist/node/integrations/providers/analytics-reader.js +0 -0
  656. package/dist/node/integrations/providers/analytics-writer.js +0 -0
  657. package/dist/node/integrations/providers/analytics.js +0 -0
  658. package/dist/node/integrations/providers/calendar.js +0 -0
  659. package/dist/node/integrations/providers/database.js +0 -0
  660. package/dist/node/integrations/providers/elevenlabs.js +116 -0
  661. package/dist/node/integrations/providers/email.js +0 -0
  662. package/dist/node/integrations/providers/embedding.js +0 -0
  663. package/dist/node/integrations/providers/fal.js +142 -0
  664. package/dist/node/integrations/providers/fathom.js +156 -0
  665. package/dist/node/integrations/providers/fireflies.js +136 -0
  666. package/dist/node/integrations/providers/gcs-storage.js +127 -0
  667. package/dist/node/integrations/providers/gmail.js +139 -0
  668. package/dist/node/integrations/providers/google-calendar.js +122 -0
  669. package/dist/node/integrations/providers/gradium.js +140 -0
  670. package/dist/node/integrations/providers/granola.js +137 -0
  671. package/dist/node/integrations/providers/index.js +2124 -0
  672. package/dist/node/integrations/providers/jira.js +138 -0
  673. package/dist/node/integrations/providers/linear.js +137 -0
  674. package/dist/node/integrations/providers/llm.js +0 -0
  675. package/dist/node/integrations/providers/meeting-recorder.js +0 -0
  676. package/dist/node/integrations/providers/mistral.js +124 -0
  677. package/dist/node/integrations/providers/notion.js +143 -0
  678. package/dist/node/integrations/providers/openbanking.js +0 -0
  679. package/dist/node/integrations/providers/payments.js +0 -0
  680. package/dist/node/integrations/providers/posthog-llm-telemetry.js +206 -0
  681. package/dist/node/integrations/providers/posthog.js +136 -0
  682. package/dist/node/integrations/providers/postmark.js +128 -0
  683. package/dist/node/integrations/providers/powens.js +154 -0
  684. package/dist/node/integrations/providers/project-management.js +0 -0
  685. package/dist/node/integrations/providers/qdrant.js +131 -0
  686. package/dist/node/integrations/providers/registry.js +1908 -0
  687. package/dist/node/integrations/providers/sms.js +0 -0
  688. package/dist/node/integrations/providers/storage.js +0 -0
  689. package/dist/node/integrations/providers/stripe.js +135 -0
  690. package/dist/node/integrations/providers/supabase-postgres.js +117 -0
  691. package/dist/node/integrations/providers/supabase-vector.js +137 -0
  692. package/dist/node/integrations/providers/tldv.js +136 -0
  693. package/dist/node/integrations/providers/twilio-sms.js +121 -0
  694. package/dist/node/integrations/providers/vector-store.js +0 -0
  695. package/dist/node/integrations/providers/voice.js +0 -0
  696. package/dist/node/integrations/runtime.js +239 -0
  697. package/dist/node/integrations/secrets/aws-secret-manager.js +376 -0
  698. package/dist/node/integrations/secrets/env-secret-provider.js +189 -0
  699. package/dist/node/integrations/secrets/gcp-secret-manager.js +377 -0
  700. package/dist/node/integrations/secrets/index.js +1159 -0
  701. package/dist/node/integrations/secrets/manager.js +213 -0
  702. package/dist/node/integrations/secrets/provider.js +104 -0
  703. package/dist/node/integrations/secrets/scaleway-secret-manager.js +405 -0
  704. package/dist/node/integrations/secrets-types.js +0 -0
  705. package/dist/node/integrations/spec.js +52 -0
  706. package/dist/node/jobs/define-job.js +41 -0
  707. package/dist/node/jobs/gcp-cloud-tasks.js +103 -0
  708. package/dist/node/jobs/gcp-pubsub.js +91 -0
  709. package/dist/node/jobs/handlers/gmail-sync-handler.js +40 -0
  710. package/dist/node/jobs/handlers/index.js +83 -0
  711. package/dist/node/jobs/handlers/ping-handler.js +47 -0
  712. package/dist/node/jobs/handlers/storage-document-handler.js +47 -0
  713. package/dist/node/jobs/index.js +64 -0
  714. package/dist/node/jobs/memory-queue.js +129 -0
  715. package/dist/node/jobs/queue.js +55 -0
  716. package/dist/node/jobs/scaleway-sqs-queue.js +222 -0
  717. package/dist/node/jsonschema.js +73 -0
  718. package/dist/node/knowledge/binding.js +0 -0
  719. package/dist/node/knowledge/docs/knowledge.docblock.js +301 -0
  720. package/dist/node/knowledge/index.js +467 -0
  721. package/dist/node/knowledge/ingestion/document-processor.js +95 -0
  722. package/dist/node/knowledge/ingestion/embedding-service.js +57 -0
  723. package/dist/node/knowledge/ingestion/gmail-adapter.js +103 -0
  724. package/dist/node/knowledge/ingestion/index.js +252 -0
  725. package/dist/node/knowledge/ingestion/storage-adapter.js +62 -0
  726. package/dist/node/knowledge/ingestion/vector-indexer.js +63 -0
  727. package/dist/node/knowledge/knowledge.capability.js +726 -0
  728. package/dist/node/knowledge/knowledge.feature.js +300 -0
  729. package/dist/node/knowledge/operations.js +619 -0
  730. package/dist/node/knowledge/query/index.js +110 -0
  731. package/dist/node/knowledge/query/service.js +110 -0
  732. package/dist/node/knowledge/runtime.js +91 -0
  733. package/dist/node/knowledge/source.js +0 -0
  734. package/dist/node/knowledge/spaces/email-threads.js +102 -0
  735. package/dist/node/knowledge/spaces/financial-docs.js +102 -0
  736. package/dist/node/knowledge/spaces/financial-overview.js +102 -0
  737. package/dist/node/knowledge/spaces/index.js +273 -0
  738. package/dist/node/knowledge/spaces/product-canon.js +102 -0
  739. package/dist/node/knowledge/spaces/support-faq.js +103 -0
  740. package/dist/node/knowledge/spaces/uploaded-docs.js +102 -0
  741. package/dist/node/knowledge/spec.js +228 -0
  742. package/dist/node/llm/exporters.js +1011 -0
  743. package/dist/node/llm/index.js +1465 -0
  744. package/dist/node/llm/prompts.js +1456 -0
  745. package/dist/node/llm/types.js +0 -0
  746. package/dist/node/markdown.js +529 -0
  747. package/dist/node/migrations.js +67 -0
  748. package/dist/node/model-registry.js +64 -0
  749. package/dist/node/onboarding-base.js +597 -0
  750. package/dist/node/openapi.js +151 -0
  751. package/dist/node/operations/index.js +408 -0
  752. package/dist/node/operations/operation.js +51 -0
  753. package/dist/node/operations/registry.js +405 -0
  754. package/dist/node/operations/report/getContractVerificationStatus.js +170 -0
  755. package/dist/node/operations/report/index.js +305 -0
  756. package/dist/node/ownership.js +73 -0
  757. package/dist/node/policy/context.js +206 -0
  758. package/dist/node/policy/docs/policy.docblock.js +313 -0
  759. package/dist/node/policy/engine.js +325 -0
  760. package/dist/node/policy/guards.js +387 -0
  761. package/dist/node/policy/index.js +1313 -0
  762. package/dist/node/policy/opa-adapter.js +110 -0
  763. package/dist/node/policy/registry.js +221 -0
  764. package/dist/node/policy/spec.js +0 -0
  765. package/dist/node/policy/validation.js +391 -0
  766. package/dist/node/presentations/docs/presentations-conventions.docblock.js +171 -0
  767. package/dist/node/presentations/index.js +227 -0
  768. package/dist/node/presentations/presentations.js +38 -0
  769. package/dist/node/presentations/registry.js +221 -0
  770. package/dist/node/presentations/transform-engine.js +600 -0
  771. package/dist/node/product-intent/contract-patch-intent.js +68 -0
  772. package/dist/node/product-intent/contract-spec-patch.js +75 -0
  773. package/dist/node/product-intent/evidence.js +45 -0
  774. package/dist/node/product-intent/findings.js +81 -0
  775. package/dist/node/product-intent/impact-report.js +62 -0
  776. package/dist/node/product-intent/index.js +742 -0
  777. package/dist/node/product-intent/insights.js +63 -0
  778. package/dist/node/product-intent/opportunity-brief.js +106 -0
  779. package/dist/node/product-intent/problems.js +55 -0
  780. package/dist/node/product-intent/registry.js +242 -0
  781. package/dist/node/product-intent/runtime.js +320 -0
  782. package/dist/node/product-intent/spec.js +425 -0
  783. package/dist/node/product-intent/task-pack.js +69 -0
  784. package/dist/node/product-intent/tickets.js +57 -0
  785. package/dist/node/product-intent/types.js +378 -0
  786. package/dist/node/product-intent/ui-wireframe.js +73 -0
  787. package/dist/node/prompt.js +38 -0
  788. package/dist/node/promptRegistry.js +63 -0
  789. package/dist/node/regenerator/adapters.js +0 -0
  790. package/dist/node/regenerator/docs/regenerator.docblock.js +164 -0
  791. package/dist/node/regenerator/executor.js +157 -0
  792. package/dist/node/regenerator/index.js +341 -0
  793. package/dist/node/regenerator/service.js +183 -0
  794. package/dist/node/regenerator/sinks.js +64 -0
  795. package/dist/node/regenerator/types.js +0 -0
  796. package/dist/node/regenerator/utils.js +87 -0
  797. package/dist/node/registry-utils.js +163 -0
  798. package/dist/node/registry.js +215 -0
  799. package/dist/node/resources.js +83 -0
  800. package/dist/node/schema-to-markdown.js +278 -0
  801. package/dist/node/serialization/index.js +179 -0
  802. package/dist/node/serialization/serializers.js +180 -0
  803. package/dist/node/serialization/types.js +0 -0
  804. package/dist/node/telemetry/anomaly.js +91 -0
  805. package/dist/node/telemetry/docs/telemetry.docblock.js +164 -0
  806. package/dist/node/telemetry/index.js +417 -0
  807. package/dist/node/telemetry/spec.js +261 -0
  808. package/dist/node/telemetry/tracker.js +129 -0
  809. package/dist/node/tests/index.js +231 -0
  810. package/dist/node/tests/runner.js +189 -0
  811. package/dist/node/tests/spec.js +74 -0
  812. package/dist/node/themes.js +225 -0
  813. package/dist/node/translations/catalog.js +0 -0
  814. package/dist/node/translations/index.js +533 -0
  815. package/dist/node/translations/registry.js +170 -0
  816. package/dist/node/translations/spec.js +36 -0
  817. package/dist/node/translations/tenant.js +0 -0
  818. package/dist/node/translations/validation.js +392 -0
  819. package/dist/node/types.js +0 -0
  820. package/dist/node/versioning/index.js +274 -0
  821. package/dist/node/versioning/refs.js +99 -0
  822. package/dist/node/versioning/types.js +55 -0
  823. package/dist/node/versioning/utils.js +184 -0
  824. package/dist/node/workflow/adapters/db-adapter.js +127 -0
  825. package/dist/node/workflow/adapters/file-adapter.js +38 -0
  826. package/dist/node/workflow/adapters/index.js +194 -0
  827. package/dist/node/workflow/adapters/memory-store.js +93 -0
  828. package/dist/node/workflow/context.js +247 -0
  829. package/dist/node/workflow/expression.js +157 -0
  830. package/dist/node/workflow/index.js +1546 -0
  831. package/dist/node/workflow/overview.docblock.js +164 -0
  832. package/dist/node/workflow/runner.js +532 -0
  833. package/dist/node/workflow/sla-monitor.js +84 -0
  834. package/dist/node/workflow/spec.js +221 -0
  835. package/dist/node/workflow/state.js +0 -0
  836. package/dist/node/workflow/validation.js +425 -0
  837. package/dist/node/workspace-config/contractsrc-schema.js +344 -0
  838. package/dist/node/workspace-config/contractsrc-types.js +0 -0
  839. package/dist/node/workspace-config/index.js +325 -0
  840. package/dist/node/workspace-config/workspace-config.docblock.js +188 -0
  841. package/dist/onboarding-base.d.ts +131 -0
  842. package/dist/onboarding-base.js +597 -0
  843. package/dist/openapi.d.ts +33 -0
  844. package/dist/openapi.js +151 -0
  845. package/dist/operations/index.d.ts +2 -0
  846. package/dist/operations/index.js +408 -0
  847. package/dist/operations/operation.d.ts +191 -0
  848. package/dist/operations/operation.js +51 -0
  849. package/dist/operations/registry.d.ts +58 -0
  850. package/dist/operations/registry.js +405 -0
  851. package/dist/operations/report/getContractVerificationStatus.d.ts +68 -0
  852. package/dist/operations/report/getContractVerificationStatus.js +170 -0
  853. package/dist/operations/report/getContractVerificationStatus.test.d.ts +1 -0
  854. package/dist/operations/report/index.d.ts +10 -0
  855. package/dist/operations/report/index.js +305 -0
  856. package/dist/operations/report/index.test.d.ts +1 -0
  857. package/dist/ownership.d.ts +211 -0
  858. package/dist/ownership.js +73 -0
  859. package/dist/ownership.test.d.ts +1 -0
  860. package/dist/policy/context.d.ts +234 -0
  861. package/dist/policy/context.js +206 -0
  862. package/dist/policy/context.test.d.ts +1 -0
  863. package/dist/policy/docs/policy.docblock.d.ts +2 -0
  864. package/dist/policy/docs/policy.docblock.js +313 -0
  865. package/dist/policy/engine.d.ts +36 -0
  866. package/dist/policy/engine.js +325 -0
  867. package/dist/policy/engine.test.d.ts +1 -0
  868. package/dist/policy/guards.d.ts +156 -0
  869. package/dist/policy/guards.js +387 -0
  870. package/dist/policy/guards.test.d.ts +1 -0
  871. package/dist/policy/index.d.ts +12 -0
  872. package/dist/policy/index.js +1313 -0
  873. package/dist/policy/opa-adapter.d.ts +41 -0
  874. package/dist/policy/opa-adapter.js +110 -0
  875. package/dist/policy/opa-adapter.test.d.ts +1 -0
  876. package/dist/policy/registry.d.ts +5 -0
  877. package/dist/policy/registry.js +221 -0
  878. package/dist/policy/spec.d.ts +102 -0
  879. package/dist/policy/spec.js +1 -0
  880. package/dist/policy/validation.d.ts +84 -0
  881. package/dist/policy/validation.js +391 -0
  882. package/dist/policy/validation.test.d.ts +1 -0
  883. package/dist/presentations/docs/presentations-conventions.docblock.d.ts +2 -0
  884. package/dist/presentations/docs/presentations-conventions.docblock.js +171 -0
  885. package/dist/presentations/index.d.ts +2 -0
  886. package/dist/presentations/index.js +227 -0
  887. package/dist/presentations/presentations.d.ts +52 -0
  888. package/dist/presentations/presentations.js +38 -0
  889. package/dist/presentations/registry.d.ts +6 -0
  890. package/dist/presentations/registry.js +221 -0
  891. package/dist/presentations/transform-engine.d.ts +62 -0
  892. package/dist/presentations/transform-engine.js +600 -0
  893. package/dist/presentations/transform-engine.test.d.ts +1 -0
  894. package/dist/product-intent/contract-patch-intent.d.ts +100 -0
  895. package/dist/product-intent/contract-patch-intent.js +68 -0
  896. package/dist/product-intent/contract-spec-patch.d.ts +86 -0
  897. package/dist/product-intent/contract-spec-patch.js +75 -0
  898. package/dist/product-intent/evidence.d.ts +14 -0
  899. package/dist/product-intent/evidence.js +45 -0
  900. package/dist/product-intent/findings.d.ts +57 -0
  901. package/dist/product-intent/findings.js +81 -0
  902. package/dist/product-intent/impact-report.d.ts +57 -0
  903. package/dist/product-intent/impact-report.js +62 -0
  904. package/dist/product-intent/index.d.ts +13 -0
  905. package/dist/product-intent/index.js +742 -0
  906. package/dist/product-intent/insights.d.ts +62 -0
  907. package/dist/product-intent/insights.js +63 -0
  908. package/dist/product-intent/opportunity-brief.d.ts +192 -0
  909. package/dist/product-intent/opportunity-brief.js +106 -0
  910. package/dist/product-intent/problems.d.ts +59 -0
  911. package/dist/product-intent/problems.js +55 -0
  912. package/dist/product-intent/registry.d.ts +28 -0
  913. package/dist/product-intent/registry.js +242 -0
  914. package/dist/product-intent/registry.test.d.ts +1 -0
  915. package/dist/product-intent/runtime.d.ts +92 -0
  916. package/dist/product-intent/runtime.js +320 -0
  917. package/dist/product-intent/runtime.test.d.ts +1 -0
  918. package/dist/product-intent/spec.d.ts +664 -0
  919. package/dist/product-intent/spec.js +425 -0
  920. package/dist/product-intent/task-pack.d.ts +98 -0
  921. package/dist/product-intent/task-pack.js +69 -0
  922. package/dist/product-intent/tickets.d.ts +67 -0
  923. package/dist/product-intent/tickets.js +57 -0
  924. package/dist/product-intent/types.d.ts +11 -0
  925. package/dist/product-intent/types.js +378 -0
  926. package/dist/product-intent/ui-wireframe.d.ts +100 -0
  927. package/dist/product-intent/ui-wireframe.js +73 -0
  928. package/dist/prompt.d.ts +49 -0
  929. package/dist/prompt.js +38 -0
  930. package/dist/prompt.test.d.ts +1 -0
  931. package/dist/promptRegistry.d.ts +11 -0
  932. package/dist/promptRegistry.js +63 -0
  933. package/dist/promptRegistry.test.d.ts +1 -0
  934. package/dist/regenerator/adapters.d.ts +15 -0
  935. package/dist/regenerator/adapters.js +1 -0
  936. package/dist/regenerator/docs/regenerator.docblock.d.ts +2 -0
  937. package/dist/regenerator/docs/regenerator.docblock.js +164 -0
  938. package/dist/regenerator/executor.d.ts +66 -0
  939. package/dist/regenerator/executor.js +157 -0
  940. package/dist/regenerator/executor.test.d.ts +1 -0
  941. package/dist/regenerator/index.d.ts +6 -0
  942. package/dist/regenerator/index.js +341 -0
  943. package/dist/regenerator/service.d.ts +29 -0
  944. package/dist/regenerator/service.js +183 -0
  945. package/dist/regenerator/service.test.d.ts +1 -0
  946. package/dist/regenerator/sinks.d.ts +23 -0
  947. package/dist/regenerator/sinks.js +64 -0
  948. package/dist/regenerator/sinks.test.d.ts +1 -0
  949. package/dist/regenerator/types.d.ts +103 -0
  950. package/dist/regenerator/types.js +1 -0
  951. package/dist/regenerator/utils.d.ts +6 -0
  952. package/dist/regenerator/utils.js +87 -0
  953. package/dist/registry-utils.d.ts +105 -0
  954. package/dist/registry-utils.js +163 -0
  955. package/dist/registry-utils.test.d.ts +1 -0
  956. package/dist/registry.d.ts +27 -0
  957. package/dist/registry.js +215 -0
  958. package/dist/resources.d.ts +60 -0
  959. package/dist/resources.js +83 -0
  960. package/dist/schema-to-markdown.d.ts +56 -0
  961. package/dist/schema-to-markdown.js +278 -0
  962. package/dist/serialization/index.d.ts +10 -0
  963. package/dist/serialization/index.js +179 -0
  964. package/dist/serialization/serializers.d.ts +35 -0
  965. package/dist/serialization/serializers.js +180 -0
  966. package/dist/serialization/types.d.ts +100 -0
  967. package/dist/serialization/types.js +1 -0
  968. package/dist/telemetry/anomaly.d.ts +23 -0
  969. package/dist/telemetry/anomaly.js +91 -0
  970. package/dist/telemetry/anomaly.test.d.ts +1 -0
  971. package/dist/telemetry/docs/telemetry.docblock.d.ts +2 -0
  972. package/dist/telemetry/docs/telemetry.docblock.js +164 -0
  973. package/dist/telemetry/index.d.ts +3 -0
  974. package/dist/telemetry/index.js +417 -0
  975. package/dist/telemetry/spec.d.ts +87 -0
  976. package/dist/telemetry/spec.js +261 -0
  977. package/dist/telemetry/spec.test.d.ts +1 -0
  978. package/dist/telemetry/tracker.d.ts +48 -0
  979. package/dist/telemetry/tracker.js +129 -0
  980. package/dist/telemetry/tracker.test.d.ts +1 -0
  981. package/dist/tests/index.d.ts +2 -0
  982. package/dist/tests/index.js +231 -0
  983. package/dist/tests/runner.d.ts +38 -0
  984. package/dist/tests/runner.js +189 -0
  985. package/dist/tests/runner.test.d.ts +1 -0
  986. package/dist/tests/spec.d.ts +82 -0
  987. package/dist/tests/spec.js +74 -0
  988. package/dist/tests/spec.test.d.ts +1 -0
  989. package/dist/themes.d.ts +50 -0
  990. package/dist/themes.js +225 -0
  991. package/dist/themes.test.d.ts +1 -0
  992. package/dist/translations/catalog.d.ts +25 -0
  993. package/dist/translations/catalog.js +1 -0
  994. package/dist/translations/index.d.ts +44 -0
  995. package/dist/translations/index.js +533 -0
  996. package/dist/translations/registry.d.ts +172 -0
  997. package/dist/translations/registry.js +170 -0
  998. package/dist/translations/registry.test.d.ts +1 -0
  999. package/dist/translations/spec.d.ts +153 -0
  1000. package/dist/translations/spec.js +36 -0
  1001. package/dist/translations/spec.test.d.ts +1 -0
  1002. package/dist/translations/tenant.d.ts +11 -0
  1003. package/dist/translations/tenant.js +1 -0
  1004. package/dist/translations/validation.d.ts +106 -0
  1005. package/dist/translations/validation.js +392 -0
  1006. package/dist/translations/validation.test.d.ts +1 -0
  1007. package/dist/types.d.ts +212 -0
  1008. package/dist/types.js +1 -0
  1009. package/dist/versioning/index.d.ts +9 -0
  1010. package/dist/versioning/index.js +274 -0
  1011. package/dist/versioning/refs.d.ts +176 -0
  1012. package/dist/versioning/refs.js +99 -0
  1013. package/dist/versioning/refs.test.d.ts +4 -0
  1014. package/dist/versioning/types.d.ts +130 -0
  1015. package/dist/versioning/types.js +55 -0
  1016. package/dist/versioning/utils.d.ts +93 -0
  1017. package/dist/versioning/utils.js +184 -0
  1018. package/dist/versioning/utils.test.d.ts +4 -0
  1019. package/dist/workflow/adapters/db-adapter.d.ts +43 -0
  1020. package/dist/workflow/adapters/db-adapter.js +127 -0
  1021. package/dist/workflow/adapters/file-adapter.d.ts +10 -0
  1022. package/dist/workflow/adapters/file-adapter.js +38 -0
  1023. package/dist/workflow/adapters/index.d.ts +3 -0
  1024. package/dist/workflow/adapters/index.js +194 -0
  1025. package/dist/workflow/adapters/memory-store.d.ts +13 -0
  1026. package/dist/workflow/adapters/memory-store.js +93 -0
  1027. package/dist/workflow/context.d.ts +217 -0
  1028. package/dist/workflow/context.js +247 -0
  1029. package/dist/workflow/context.test.d.ts +1 -0
  1030. package/dist/workflow/expression.d.ts +6 -0
  1031. package/dist/workflow/expression.js +157 -0
  1032. package/dist/workflow/expression.test.d.ts +1 -0
  1033. package/dist/workflow/index.d.ts +13 -0
  1034. package/dist/workflow/index.js +1546 -0
  1035. package/dist/workflow/overview.docblock.d.ts +2 -0
  1036. package/dist/workflow/overview.docblock.js +164 -0
  1037. package/dist/workflow/runner.d.ts +71 -0
  1038. package/dist/workflow/runner.js +532 -0
  1039. package/dist/workflow/runner.test.d.ts +1 -0
  1040. package/dist/workflow/sla-monitor.d.ts +16 -0
  1041. package/dist/workflow/sla-monitor.js +84 -0
  1042. package/dist/workflow/spec.d.ts +81 -0
  1043. package/dist/workflow/spec.js +221 -0
  1044. package/dist/workflow/state.d.ts +31 -0
  1045. package/dist/workflow/state.js +1 -0
  1046. package/dist/workflow/validation.d.ts +87 -0
  1047. package/dist/workflow/validation.js +425 -0
  1048. package/dist/workflow/validation.test.d.ts +1 -0
  1049. package/dist/workspace-config/contractsrc-schema.d.ts +144 -0
  1050. package/dist/workspace-config/contractsrc-schema.js +344 -0
  1051. package/dist/workspace-config/contractsrc-schema.test.d.ts +1 -0
  1052. package/dist/workspace-config/contractsrc-types.d.ts +342 -0
  1053. package/dist/workspace-config/contractsrc-types.js +1 -0
  1054. package/dist/workspace-config/index.d.ts +5 -0
  1055. package/dist/workspace-config/index.js +325 -0
  1056. package/dist/workspace-config/workspace-config.docblock.d.ts +2 -0
  1057. package/dist/workspace-config/workspace-config.docblock.js +188 -0
  1058. package/package.json +4426 -0
@@ -0,0 +1,1908 @@
1
+ // @bun
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __moduleCache = /* @__PURE__ */ new WeakMap;
7
+ var __toCommonJS = (from) => {
8
+ var entry = __moduleCache.get(from), desc;
9
+ if (entry)
10
+ return entry;
11
+ entry = __defProp({}, "__esModule", { value: true });
12
+ if (from && typeof from === "object" || typeof from === "function")
13
+ __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ }));
17
+ __moduleCache.set(from, entry);
18
+ return entry;
19
+ };
20
+ var __export = (target, all) => {
21
+ for (var name in all)
22
+ __defProp(target, name, {
23
+ get: all[name],
24
+ enumerable: true,
25
+ configurable: true,
26
+ set: (newValue) => all[name] = () => newValue
27
+ });
28
+ };
29
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
30
+ var __require = import.meta.require;
31
+
32
+ // src/integrations/spec.ts
33
+ import { SpecContractRegistry } from "@contractspec/lib.contracts-spec/registry";
34
+ var integrationKey = (meta) => `${meta.key}.v${meta.version}`;
35
+
36
+ class IntegrationSpecRegistry extends SpecContractRegistry {
37
+ constructor(items) {
38
+ super("integration", items);
39
+ }
40
+ getByCategory(category) {
41
+ return this.list().filter((spec) => spec.meta.category === category);
42
+ }
43
+ }
44
+ function makeIntegrationSpecKey(meta) {
45
+ return integrationKey(meta);
46
+ }
47
+ var defineIntegration = (spec) => spec;
48
+
49
+ // src/integrations/providers/stripe.ts
50
+ import { StabilityEnum } from "@contractspec/lib.contracts-spec/ownership";
51
+ var stripeIntegrationSpec = defineIntegration({
52
+ meta: {
53
+ key: "payments.stripe",
54
+ version: "1.0.0",
55
+ category: "payments",
56
+ title: "Stripe Payments",
57
+ description: "Stripe integration for payment processing, charges, and payouts.",
58
+ domain: "payments",
59
+ owners: ["platform.payments"],
60
+ tags: ["payments", "psp"],
61
+ stability: StabilityEnum.Stable
62
+ },
63
+ supportedModes: ["managed", "byok"],
64
+ capabilities: {
65
+ provides: [{ key: "payments.psp", version: "1.0.0" }],
66
+ requires: [
67
+ {
68
+ key: "platform.webhooks",
69
+ optional: true,
70
+ reason: "Recommended for reliable event ingestion"
71
+ }
72
+ ]
73
+ },
74
+ configSchema: {
75
+ schema: {
76
+ type: "object",
77
+ properties: {
78
+ accountId: {
79
+ type: "string",
80
+ description: "Connected account ID when using Stripe Connect (BYOK)."
81
+ },
82
+ region: {
83
+ type: "string",
84
+ description: "Optional Stripe region or data residency hint."
85
+ }
86
+ }
87
+ },
88
+ example: {
89
+ accountId: "acct_123",
90
+ region: "us-east-1"
91
+ }
92
+ },
93
+ secretSchema: {
94
+ schema: {
95
+ type: "object",
96
+ required: ["apiKey", "webhookSecret"],
97
+ properties: {
98
+ apiKey: {
99
+ type: "string",
100
+ description: "Stripe secret API key (sk_live_... or sk_test_...)."
101
+ },
102
+ webhookSecret: {
103
+ type: "string",
104
+ description: "Signing secret for webhook verification."
105
+ }
106
+ }
107
+ },
108
+ example: {
109
+ apiKey: "sk_live_***",
110
+ webhookSecret: "whsec_***"
111
+ }
112
+ },
113
+ healthCheck: {
114
+ method: "ping",
115
+ timeoutMs: 5000
116
+ },
117
+ docsUrl: "https://stripe.com/docs/api",
118
+ constraints: {
119
+ rateLimit: {
120
+ rpm: 1000,
121
+ rph: 20000
122
+ }
123
+ },
124
+ byokSetup: {
125
+ setupInstructions: "Create a restricted Stripe API key with write access to Charges and provide a webhook signing secret.",
126
+ requiredScopes: ["charges:write", "customers:read"]
127
+ }
128
+ });
129
+ function registerStripeIntegration(registry) {
130
+ return registry.register(stripeIntegrationSpec);
131
+ }
132
+
133
+ // src/integrations/providers/postmark.ts
134
+ import { StabilityEnum as StabilityEnum2 } from "@contractspec/lib.contracts-spec/ownership";
135
+ var postmarkIntegrationSpec = defineIntegration({
136
+ meta: {
137
+ key: "email.postmark",
138
+ version: "1.0.0",
139
+ category: "email",
140
+ title: "Postmark Transactional Email",
141
+ description: "Postmark integration for transactional email delivery.",
142
+ domain: "communications",
143
+ owners: ["platform.messaging"],
144
+ tags: ["email", "transactional"],
145
+ stability: StabilityEnum2.Stable
146
+ },
147
+ supportedModes: ["managed", "byok"],
148
+ capabilities: {
149
+ provides: [{ key: "email.transactional", version: "1.0.0" }],
150
+ requires: [
151
+ {
152
+ key: "platform.webhooks",
153
+ optional: true,
154
+ reason: "Optional for inbound bounce handling"
155
+ }
156
+ ]
157
+ },
158
+ configSchema: {
159
+ schema: {
160
+ type: "object",
161
+ properties: {
162
+ messageStream: {
163
+ type: "string",
164
+ description: "Optional message stream identifier (e.g., transactional)."
165
+ },
166
+ fromEmail: {
167
+ type: "string",
168
+ description: "Default From address used for outbound messages."
169
+ }
170
+ }
171
+ },
172
+ example: {
173
+ messageStream: "outbound",
174
+ fromEmail: "notifications@example.com"
175
+ }
176
+ },
177
+ secretSchema: {
178
+ schema: {
179
+ type: "object",
180
+ required: ["serverToken"],
181
+ properties: {
182
+ serverToken: {
183
+ type: "string",
184
+ description: "Server token for the Postmark account."
185
+ }
186
+ }
187
+ },
188
+ example: {
189
+ serverToken: "server-***"
190
+ }
191
+ },
192
+ healthCheck: {
193
+ method: "ping",
194
+ timeoutMs: 3000
195
+ },
196
+ docsUrl: "https://postmarkapp.com/developer",
197
+ constraints: {
198
+ rateLimit: {
199
+ rpm: 500
200
+ }
201
+ },
202
+ byokSetup: {
203
+ setupInstructions: "Create a Postmark server token with outbound send permissions and configure allowed from addresses."
204
+ }
205
+ });
206
+ function registerPostmarkIntegration(registry) {
207
+ return registry.register(postmarkIntegrationSpec);
208
+ }
209
+
210
+ // src/integrations/providers/qdrant.ts
211
+ import { StabilityEnum as StabilityEnum3 } from "@contractspec/lib.contracts-spec/ownership";
212
+ var qdrantIntegrationSpec = defineIntegration({
213
+ meta: {
214
+ key: "vectordb.qdrant",
215
+ version: "1.0.0",
216
+ category: "vector-db",
217
+ title: "Qdrant Vector Database",
218
+ description: "Qdrant integration for vector search and embeddings storage.",
219
+ domain: "ai",
220
+ owners: ["platform.ai"],
221
+ tags: ["vector-db", "search"],
222
+ stability: StabilityEnum3.Experimental
223
+ },
224
+ supportedModes: ["managed", "byok"],
225
+ capabilities: {
226
+ provides: [
227
+ { key: "vector-db.search", version: "1.0.0" },
228
+ { key: "vector-db.storage", version: "1.0.0" }
229
+ ],
230
+ requires: [
231
+ {
232
+ key: "ai.embeddings",
233
+ optional: true,
234
+ reason: "Required if vectors are generated via hosted embedding services"
235
+ }
236
+ ]
237
+ },
238
+ configSchema: {
239
+ schema: {
240
+ type: "object",
241
+ properties: {
242
+ apiUrl: {
243
+ type: "string",
244
+ description: "Base URL for the Qdrant instance (e.g., https://qdrant.example.com)."
245
+ },
246
+ collectionPrefix: {
247
+ type: "string",
248
+ description: "Prefix applied to all collection names for this tenant."
249
+ }
250
+ }
251
+ },
252
+ example: {
253
+ apiUrl: "https://qdrant.example.com",
254
+ collectionPrefix: "tenant_"
255
+ }
256
+ },
257
+ secretSchema: {
258
+ schema: {
259
+ type: "object",
260
+ properties: {
261
+ apiKey: {
262
+ type: "string",
263
+ description: "API key or token when authentication is enabled."
264
+ }
265
+ }
266
+ },
267
+ example: {
268
+ apiKey: "qdrant-api-key"
269
+ }
270
+ },
271
+ healthCheck: {
272
+ method: "ping",
273
+ timeoutMs: 4000
274
+ },
275
+ docsUrl: "https://qdrant.tech/documentation/quick-start/",
276
+ constraints: {
277
+ quotas: {
278
+ collections: 100,
279
+ pointsPerCollection: 1e6
280
+ }
281
+ },
282
+ byokSetup: {
283
+ setupInstructions: "Provide the HTTPS endpoint of your Qdrant cluster and generate an API key with read/write access to the collections that will be managed."
284
+ }
285
+ });
286
+ function registerQdrantIntegration(registry) {
287
+ return registry.register(qdrantIntegrationSpec);
288
+ }
289
+
290
+ // src/integrations/providers/supabase-vector.ts
291
+ import { StabilityEnum as StabilityEnum4 } from "@contractspec/lib.contracts-spec/ownership";
292
+ var supabaseVectorIntegrationSpec = defineIntegration({
293
+ meta: {
294
+ key: "vectordb.supabase",
295
+ version: "1.0.0",
296
+ category: "vector-db",
297
+ title: "Supabase Vector Database (pgvector)",
298
+ description: "Supabase integration for embedding storage and vector similarity search using pgvector.",
299
+ domain: "ai",
300
+ owners: ["platform.ai"],
301
+ tags: ["vector-db", "supabase", "pgvector"],
302
+ stability: StabilityEnum4.Beta
303
+ },
304
+ supportedModes: ["managed", "byok"],
305
+ capabilities: {
306
+ provides: [
307
+ { key: "vector-db.search", version: "1.0.0" },
308
+ { key: "vector-db.storage", version: "1.0.0" }
309
+ ],
310
+ requires: [
311
+ {
312
+ key: "ai.embeddings",
313
+ optional: true,
314
+ reason: "Required when vectors are generated by a hosted embedding provider."
315
+ }
316
+ ]
317
+ },
318
+ configSchema: {
319
+ schema: {
320
+ type: "object",
321
+ properties: {
322
+ schema: {
323
+ type: "string",
324
+ description: "Schema name containing the pgvector table (default: public)."
325
+ },
326
+ table: {
327
+ type: "string",
328
+ description: "Table used to store vectors and metadata (default: contractspec_vectors)."
329
+ },
330
+ createTableIfMissing: {
331
+ type: "boolean",
332
+ description: "Automatically create pgvector extension and table when first writing vectors."
333
+ },
334
+ distanceMetric: {
335
+ type: "string",
336
+ enum: ["cosine", "l2", "inner_product"],
337
+ description: "Distance metric used for nearest-neighbor search."
338
+ }
339
+ }
340
+ },
341
+ example: {
342
+ schema: "public",
343
+ table: "contractspec_vectors",
344
+ createTableIfMissing: true,
345
+ distanceMetric: "cosine"
346
+ }
347
+ },
348
+ secretSchema: {
349
+ schema: {
350
+ type: "object",
351
+ required: ["databaseUrl"],
352
+ properties: {
353
+ databaseUrl: {
354
+ type: "string",
355
+ description: "Supabase Postgres connection string with privileges to read/write vector rows."
356
+ }
357
+ }
358
+ },
359
+ example: {
360
+ databaseUrl: "postgresql://postgres.[project-ref]:password@aws-0-region.pooler.supabase.com:6543/postgres"
361
+ }
362
+ },
363
+ healthCheck: {
364
+ method: "ping",
365
+ timeoutMs: 5000
366
+ },
367
+ docsUrl: "https://supabase.com/docs/guides/ai/vector-columns",
368
+ byokSetup: {
369
+ setupInstructions: "Create or reuse a Supabase project, enable pgvector, and provide a Postgres connection string with read/write access to the target vector table."
370
+ }
371
+ });
372
+ function registerSupabaseVectorIntegration(registry) {
373
+ return registry.register(supabaseVectorIntegrationSpec);
374
+ }
375
+
376
+ // src/integrations/providers/supabase-postgres.ts
377
+ import { StabilityEnum as StabilityEnum5 } from "@contractspec/lib.contracts-spec/ownership";
378
+ var supabasePostgresIntegrationSpec = defineIntegration({
379
+ meta: {
380
+ key: "database.supabase",
381
+ version: "1.0.0",
382
+ category: "database",
383
+ title: "Supabase Postgres",
384
+ description: "Supabase Postgres integration for SQL query execution and transactional workloads.",
385
+ domain: "infrastructure",
386
+ owners: ["platform.infrastructure"],
387
+ tags: ["database", "postgres", "supabase"],
388
+ stability: StabilityEnum5.Beta
389
+ },
390
+ supportedModes: ["managed", "byok"],
391
+ capabilities: {
392
+ provides: [{ key: "database.sql", version: "1.0.0" }]
393
+ },
394
+ configSchema: {
395
+ schema: {
396
+ type: "object",
397
+ properties: {
398
+ maxConnections: {
399
+ type: "number",
400
+ description: "Optional connection pool size when opening a Postgres client to Supabase."
401
+ },
402
+ sslMode: {
403
+ type: "string",
404
+ enum: ["require", "allow", "prefer"],
405
+ description: "TLS mode used by the Postgres client."
406
+ }
407
+ }
408
+ },
409
+ example: {
410
+ maxConnections: 10,
411
+ sslMode: "require"
412
+ }
413
+ },
414
+ secretSchema: {
415
+ schema: {
416
+ type: "object",
417
+ required: ["databaseUrl"],
418
+ properties: {
419
+ databaseUrl: {
420
+ type: "string",
421
+ description: "Supabase Postgres connection string (transaction or session pooler endpoint)."
422
+ }
423
+ }
424
+ },
425
+ example: {
426
+ databaseUrl: "postgresql://postgres.[project-ref]:password@aws-0-region.pooler.supabase.com:6543/postgres"
427
+ }
428
+ },
429
+ healthCheck: {
430
+ method: "ping",
431
+ timeoutMs: 5000
432
+ },
433
+ docsUrl: "https://supabase.com/docs/guides/database/connecting-to-postgres",
434
+ byokSetup: {
435
+ setupInstructions: "Create or reuse a Supabase project and provide a Postgres connection string with permissions aligned to your workload."
436
+ }
437
+ });
438
+ function registerSupabasePostgresIntegration(registry) {
439
+ return registry.register(supabasePostgresIntegrationSpec);
440
+ }
441
+
442
+ // src/integrations/providers/mistral.ts
443
+ import { StabilityEnum as StabilityEnum6 } from "@contractspec/lib.contracts-spec/ownership";
444
+ var mistralIntegrationSpec = defineIntegration({
445
+ meta: {
446
+ key: "ai-llm.mistral",
447
+ version: "1.0.0",
448
+ category: "ai-llm",
449
+ title: "Mistral Large Language Model",
450
+ description: "Mistral integration providing chat completions and embedding generation.",
451
+ domain: "ai",
452
+ owners: ["platform.ai"],
453
+ tags: ["ai", "llm", "embeddings"],
454
+ stability: StabilityEnum6.Experimental
455
+ },
456
+ supportedModes: ["managed", "byok"],
457
+ capabilities: {
458
+ provides: [
459
+ { key: "ai.chat", version: "1.0.0" },
460
+ { key: "ai.embeddings", version: "1.0.0" }
461
+ ]
462
+ },
463
+ configSchema: {
464
+ schema: {
465
+ type: "object",
466
+ properties: {
467
+ model: {
468
+ type: "string",
469
+ description: "Default chat completion model (e.g., mistral-large-latest)."
470
+ },
471
+ embeddingModel: {
472
+ type: "string",
473
+ description: "Embedding model identifier."
474
+ }
475
+ }
476
+ },
477
+ example: {
478
+ model: "mistral-large-latest",
479
+ embeddingModel: "mistral-embed"
480
+ }
481
+ },
482
+ secretSchema: {
483
+ schema: {
484
+ type: "object",
485
+ required: ["apiKey"],
486
+ properties: {
487
+ apiKey: {
488
+ type: "string",
489
+ description: "Mistral API key with access to chat and embeddings endpoints."
490
+ }
491
+ }
492
+ },
493
+ example: {
494
+ apiKey: "mistral-***"
495
+ }
496
+ },
497
+ healthCheck: {
498
+ method: "custom",
499
+ timeoutMs: 5000
500
+ },
501
+ docsUrl: "https://docs.mistral.ai/platform/endpoints",
502
+ constraints: {
503
+ rateLimit: {
504
+ rpm: 600
505
+ }
506
+ },
507
+ byokSetup: {
508
+ setupInstructions: "Generate an API key within the Mistral console and ensure the selected models are enabled for the account."
509
+ }
510
+ });
511
+ function registerMistralIntegration(registry) {
512
+ return registry.register(mistralIntegrationSpec);
513
+ }
514
+
515
+ // src/integrations/providers/elevenlabs.ts
516
+ import { StabilityEnum as StabilityEnum7 } from "@contractspec/lib.contracts-spec/ownership";
517
+ var elevenLabsIntegrationSpec = defineIntegration({
518
+ meta: {
519
+ key: "ai-voice.elevenlabs",
520
+ version: "1.0.0",
521
+ category: "ai-voice",
522
+ title: "ElevenLabs Text-to-Speech",
523
+ description: "ElevenLabs integration for neural voice synthesis and voice catalog access.",
524
+ domain: "ai",
525
+ owners: ["platform.ai"],
526
+ tags: ["voice", "tts"],
527
+ stability: StabilityEnum7.Beta
528
+ },
529
+ supportedModes: ["managed", "byok"],
530
+ capabilities: {
531
+ provides: [{ key: "ai.voice.synthesis", version: "1.0.0" }]
532
+ },
533
+ configSchema: {
534
+ schema: {
535
+ type: "object",
536
+ properties: {
537
+ defaultVoiceId: {
538
+ type: "string",
539
+ description: "Optional default voice identifier for synthesis requests."
540
+ }
541
+ }
542
+ },
543
+ example: {
544
+ defaultVoiceId: "pNInz6obpgDQGcFmaJgB"
545
+ }
546
+ },
547
+ secretSchema: {
548
+ schema: {
549
+ type: "object",
550
+ required: ["apiKey"],
551
+ properties: {
552
+ apiKey: {
553
+ type: "string",
554
+ description: "ElevenLabs API key with text-to-speech permissions."
555
+ }
556
+ }
557
+ },
558
+ example: {
559
+ apiKey: "eleven-***"
560
+ }
561
+ },
562
+ healthCheck: {
563
+ method: "custom",
564
+ timeoutMs: 4000
565
+ },
566
+ docsUrl: "https://elevenlabs.io/docs/api-reference/text-to-speech",
567
+ constraints: {
568
+ rateLimit: {
569
+ rpm: 120
570
+ }
571
+ },
572
+ byokSetup: {
573
+ setupInstructions: "Create an ElevenLabs API key and ensure the desired voices are accessible to the key scope."
574
+ }
575
+ });
576
+ function registerElevenLabsIntegration(registry) {
577
+ return registry.register(elevenLabsIntegrationSpec);
578
+ }
579
+
580
+ // src/integrations/providers/gradium.ts
581
+ import { StabilityEnum as StabilityEnum8 } from "@contractspec/lib.contracts-spec/ownership";
582
+ var gradiumIntegrationSpec = defineIntegration({
583
+ meta: {
584
+ key: "ai-voice.gradium",
585
+ version: "1.0.0",
586
+ category: "ai-voice",
587
+ title: "Gradium Text-to-Speech",
588
+ description: "Gradium integration for low-latency voice synthesis and voice catalog access.",
589
+ domain: "ai",
590
+ owners: ["platform.ai"],
591
+ tags: ["voice", "tts", "realtime"],
592
+ stability: StabilityEnum8.Experimental
593
+ },
594
+ supportedModes: ["byok"],
595
+ capabilities: {
596
+ provides: [{ key: "ai.voice.synthesis", version: "1.0.0" }]
597
+ },
598
+ configSchema: {
599
+ schema: {
600
+ type: "object",
601
+ properties: {
602
+ defaultVoiceId: {
603
+ type: "string",
604
+ description: "Optional default voice identifier used for synthesis."
605
+ },
606
+ region: {
607
+ type: "string",
608
+ enum: ["eu", "us"],
609
+ description: "Gradium region used by the SDK (eu or us)."
610
+ },
611
+ baseUrl: {
612
+ type: "string",
613
+ description: "Optional API base URL override for private routing or proxies."
614
+ },
615
+ timeoutMs: {
616
+ type: "number",
617
+ description: "Optional request timeout in milliseconds."
618
+ },
619
+ outputFormat: {
620
+ type: "string",
621
+ enum: [
622
+ "wav",
623
+ "pcm",
624
+ "opus",
625
+ "ulaw_8000",
626
+ "alaw_8000",
627
+ "pcm_16000",
628
+ "pcm_24000"
629
+ ],
630
+ description: "Optional default output format used when no format is specified."
631
+ }
632
+ }
633
+ },
634
+ example: {
635
+ defaultVoiceId: "YTpq7expH9539ERJ",
636
+ region: "eu",
637
+ timeoutMs: 15000,
638
+ outputFormat: "wav"
639
+ }
640
+ },
641
+ secretSchema: {
642
+ schema: {
643
+ type: "object",
644
+ required: ["apiKey"],
645
+ properties: {
646
+ apiKey: {
647
+ type: "string",
648
+ description: "Gradium API key with TTS access."
649
+ }
650
+ }
651
+ },
652
+ example: {
653
+ apiKey: "gd_***"
654
+ }
655
+ },
656
+ healthCheck: {
657
+ method: "custom",
658
+ timeoutMs: 5000
659
+ },
660
+ docsUrl: "https://gradium.ai/api_docs.html",
661
+ byokSetup: {
662
+ setupInstructions: "Create a Gradium API key, select the target region, and store credentials in your tenant secret provider."
663
+ }
664
+ });
665
+ function registerGradiumIntegration(registry) {
666
+ return registry.register(gradiumIntegrationSpec);
667
+ }
668
+
669
+ // src/integrations/providers/fal.ts
670
+ import { StabilityEnum as StabilityEnum9 } from "@contractspec/lib.contracts-spec/ownership";
671
+ var falIntegrationSpec = defineIntegration({
672
+ meta: {
673
+ key: "ai-voice.fal",
674
+ version: "1.0.0",
675
+ category: "ai-voice",
676
+ title: "Fal Chatterbox Text-to-Speech",
677
+ description: "Fal integration for voice synthesis using Chatterbox text-to-speech models.",
678
+ domain: "ai",
679
+ owners: ["platform.ai"],
680
+ tags: ["voice", "tts", "chatterbox"],
681
+ stability: StabilityEnum9.Experimental
682
+ },
683
+ supportedModes: ["byok"],
684
+ capabilities: {
685
+ provides: [{ key: "ai.voice.synthesis", version: "1.0.0" }]
686
+ },
687
+ configSchema: {
688
+ schema: {
689
+ type: "object",
690
+ properties: {
691
+ modelId: {
692
+ type: "string",
693
+ description: "Fal model endpoint identifier (e.g. fal-ai/chatterbox/text-to-speech)."
694
+ },
695
+ defaultVoiceUrl: {
696
+ type: "string",
697
+ description: "Optional reference audio URL used as default voice conditioning input."
698
+ },
699
+ defaultExaggeration: {
700
+ type: "number",
701
+ minimum: 0,
702
+ maximum: 1,
703
+ description: "Optional default exaggeration value for speech output."
704
+ },
705
+ defaultTemperature: {
706
+ type: "number",
707
+ minimum: 0.05,
708
+ maximum: 2,
709
+ description: "Optional default temperature for synthesis requests."
710
+ },
711
+ defaultCfg: {
712
+ type: "number",
713
+ minimum: 0.1,
714
+ maximum: 1,
715
+ description: "Optional default cfg value for synthesis requests."
716
+ },
717
+ pollIntervalMs: {
718
+ type: "number",
719
+ description: "Optional queue polling interval in milliseconds."
720
+ }
721
+ }
722
+ },
723
+ example: {
724
+ modelId: "fal-ai/chatterbox/text-to-speech",
725
+ defaultVoiceUrl: "https://storage.googleapis.com/chatterbox-demo-samples/prompts/male_rickmorty.mp3",
726
+ defaultExaggeration: 0.25,
727
+ defaultTemperature: 0.7,
728
+ defaultCfg: 0.5,
729
+ pollIntervalMs: 1000
730
+ }
731
+ },
732
+ secretSchema: {
733
+ schema: {
734
+ type: "object",
735
+ required: ["apiKey"],
736
+ properties: {
737
+ apiKey: {
738
+ type: "string",
739
+ description: "Fal API key (FAL_KEY)."
740
+ }
741
+ }
742
+ },
743
+ example: {
744
+ apiKey: "key-id:key-secret"
745
+ }
746
+ },
747
+ healthCheck: {
748
+ method: "custom",
749
+ timeoutMs: 7000
750
+ },
751
+ docsUrl: "https://fal.ai/models/fal-ai/chatterbox/text-to-speech/api",
752
+ byokSetup: {
753
+ setupInstructions: "Create a Fal API key and configure the desired voice model endpoint before connecting tenants."
754
+ }
755
+ });
756
+ function registerFalIntegration(registry) {
757
+ return registry.register(falIntegrationSpec);
758
+ }
759
+
760
+ // src/integrations/providers/gmail.ts
761
+ import { StabilityEnum as StabilityEnum10 } from "@contractspec/lib.contracts-spec/ownership";
762
+ var gmailIntegrationSpec = defineIntegration({
763
+ meta: {
764
+ key: "email.gmail",
765
+ version: "1.0.0",
766
+ category: "email",
767
+ title: "Google Gmail API",
768
+ description: "Gmail integration supporting inbound thread ingestion and outbound transactional email.",
769
+ domain: "communications",
770
+ owners: ["platform.messaging"],
771
+ tags: ["email", "gmail"],
772
+ stability: StabilityEnum10.Beta
773
+ },
774
+ supportedModes: ["managed", "byok"],
775
+ capabilities: {
776
+ provides: [
777
+ { key: "email.inbound", version: "1.0.0" },
778
+ { key: "email.outbound", version: "1.0.0" }
779
+ ]
780
+ },
781
+ configSchema: {
782
+ schema: {
783
+ type: "object",
784
+ properties: {
785
+ labelIds: {
786
+ type: "array",
787
+ items: { type: "string" },
788
+ description: "Optional list of label IDs to scope inbound sync."
789
+ },
790
+ includeSpamTrash: {
791
+ type: "boolean",
792
+ description: "Whether to include spam or trash messages during sync."
793
+ }
794
+ }
795
+ },
796
+ example: {
797
+ labelIds: ["INBOX"],
798
+ includeSpamTrash: false
799
+ }
800
+ },
801
+ secretSchema: {
802
+ schema: {
803
+ type: "object",
804
+ required: ["clientId", "clientSecret", "refreshToken"],
805
+ properties: {
806
+ clientId: {
807
+ type: "string",
808
+ description: "OAuth client ID for the Google Cloud project."
809
+ },
810
+ clientSecret: {
811
+ type: "string",
812
+ description: "OAuth client secret for the Google Cloud project."
813
+ },
814
+ refreshToken: {
815
+ type: "string",
816
+ description: "OAuth refresh token for delegated Gmail access."
817
+ },
818
+ redirectUri: {
819
+ type: "string",
820
+ description: "Optional redirect URI used when issuing the refresh token."
821
+ }
822
+ }
823
+ },
824
+ example: {
825
+ clientId: "xxx.apps.googleusercontent.com",
826
+ clientSecret: "secret",
827
+ refreshToken: "refresh-token"
828
+ }
829
+ },
830
+ healthCheck: {
831
+ method: "custom",
832
+ timeoutMs: 4000
833
+ },
834
+ docsUrl: "https://developers.google.com/gmail/api",
835
+ constraints: {
836
+ rateLimit: {
837
+ rpm: 600
838
+ }
839
+ },
840
+ byokSetup: {
841
+ setupInstructions: "Create an OAuth consent screen and credentials within Google Cloud Console, then authorize the Gmail scopes and store the resulting refresh token."
842
+ }
843
+ });
844
+ function registerGmailIntegration(registry) {
845
+ return registry.register(gmailIntegrationSpec);
846
+ }
847
+
848
+ // src/integrations/providers/google-calendar.ts
849
+ import { StabilityEnum as StabilityEnum11 } from "@contractspec/lib.contracts-spec/ownership";
850
+ var googleCalendarIntegrationSpec = defineIntegration({
851
+ meta: {
852
+ key: "calendar.google",
853
+ version: "1.0.0",
854
+ category: "calendar",
855
+ title: "Google Calendar API",
856
+ description: "Google Calendar integration for event creation, updates, and scheduling automations.",
857
+ domain: "productivity",
858
+ owners: ["platform.messaging"],
859
+ tags: ["calendar", "google"],
860
+ stability: StabilityEnum11.Beta
861
+ },
862
+ supportedModes: ["managed", "byok"],
863
+ capabilities: {
864
+ provides: [{ key: "calendar.events", version: "1.0.0" }]
865
+ },
866
+ configSchema: {
867
+ schema: {
868
+ type: "object",
869
+ properties: {
870
+ calendarId: {
871
+ type: "string",
872
+ description: "Default calendar identifier (defaults to primary)."
873
+ }
874
+ }
875
+ },
876
+ example: {
877
+ calendarId: "primary"
878
+ }
879
+ },
880
+ secretSchema: {
881
+ schema: {
882
+ type: "object",
883
+ required: ["clientEmail", "privateKey"],
884
+ properties: {
885
+ clientEmail: {
886
+ type: "string",
887
+ description: "Service account client email."
888
+ },
889
+ privateKey: {
890
+ type: "string",
891
+ description: "Service account private key."
892
+ },
893
+ projectId: {
894
+ type: "string",
895
+ description: "Google Cloud project ID."
896
+ }
897
+ }
898
+ },
899
+ example: {
900
+ clientEmail: "svc-calendar@example.iam.gserviceaccount.com",
901
+ privateKey: "-----BEGIN PRIVATE KEY-----...",
902
+ projectId: "calendar-project"
903
+ }
904
+ },
905
+ healthCheck: {
906
+ method: "custom",
907
+ timeoutMs: 4000
908
+ },
909
+ docsUrl: "https://developers.google.com/calendar/api",
910
+ constraints: {},
911
+ byokSetup: {
912
+ setupInstructions: "Create a Google service account with Calendar access and share the target calendars with the service account email."
913
+ }
914
+ });
915
+ function registerGoogleCalendarIntegration(registry) {
916
+ return registry.register(googleCalendarIntegrationSpec);
917
+ }
918
+
919
+ // src/integrations/providers/twilio-sms.ts
920
+ import { StabilityEnum as StabilityEnum12 } from "@contractspec/lib.contracts-spec/ownership";
921
+ var twilioSmsIntegrationSpec = defineIntegration({
922
+ meta: {
923
+ key: "sms.twilio",
924
+ version: "1.0.0",
925
+ category: "sms",
926
+ title: "Twilio Messaging",
927
+ description: "Twilio SMS integration for transactional and notification messaging.",
928
+ domain: "communications",
929
+ owners: ["platform.messaging"],
930
+ tags: ["sms", "messaging"],
931
+ stability: StabilityEnum12.Stable
932
+ },
933
+ supportedModes: ["managed", "byok"],
934
+ capabilities: {
935
+ provides: [{ key: "sms.outbound", version: "1.0.0" }]
936
+ },
937
+ configSchema: {
938
+ schema: {
939
+ type: "object",
940
+ properties: {
941
+ fromNumber: {
942
+ type: "string",
943
+ description: "Default Twilio phone number used as sender."
944
+ }
945
+ }
946
+ },
947
+ example: {
948
+ fromNumber: "+15551234567"
949
+ }
950
+ },
951
+ secretSchema: {
952
+ schema: {
953
+ type: "object",
954
+ required: ["accountSid", "authToken"],
955
+ properties: {
956
+ accountSid: {
957
+ type: "string",
958
+ description: "Twilio Account SID."
959
+ },
960
+ authToken: {
961
+ type: "string",
962
+ description: "Twilio Auth Token."
963
+ }
964
+ }
965
+ },
966
+ example: {
967
+ accountSid: "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
968
+ authToken: "auth-token"
969
+ }
970
+ },
971
+ healthCheck: {
972
+ method: "custom",
973
+ timeoutMs: 3000
974
+ },
975
+ docsUrl: "https://www.twilio.com/docs/sms/api",
976
+ constraints: {
977
+ rateLimit: {
978
+ rpm: 200
979
+ }
980
+ },
981
+ byokSetup: {
982
+ setupInstructions: "Provide a Twilio account SID, auth token, and verify the outbound sending numbers used by the integration."
983
+ }
984
+ });
985
+ function registerTwilioSmsIntegration(registry) {
986
+ return registry.register(twilioSmsIntegrationSpec);
987
+ }
988
+
989
+ // src/integrations/providers/gcs-storage.ts
990
+ import { StabilityEnum as StabilityEnum13 } from "@contractspec/lib.contracts-spec/ownership";
991
+ var gcsStorageIntegrationSpec = defineIntegration({
992
+ meta: {
993
+ key: "storage.gcs",
994
+ version: "1.0.0",
995
+ category: "storage",
996
+ title: "Google Cloud Storage Buckets",
997
+ description: "Google Cloud Storage integration for object storage and retrieval.",
998
+ domain: "infrastructure",
999
+ owners: ["platform.infrastructure"],
1000
+ tags: ["storage", "gcs", "google-cloud"],
1001
+ stability: StabilityEnum13.Beta
1002
+ },
1003
+ supportedModes: ["managed", "byok"],
1004
+ capabilities: {
1005
+ provides: [{ key: "storage.objects", version: "1.0.0" }]
1006
+ },
1007
+ configSchema: {
1008
+ schema: {
1009
+ type: "object",
1010
+ required: ["bucket"],
1011
+ properties: {
1012
+ bucket: {
1013
+ type: "string",
1014
+ description: "Primary bucket name used for storing objects."
1015
+ },
1016
+ prefix: {
1017
+ type: "string",
1018
+ description: "Optional prefix applied to object keys."
1019
+ }
1020
+ }
1021
+ },
1022
+ example: {
1023
+ bucket: "pfo-tenant-assets",
1024
+ prefix: "documents/"
1025
+ }
1026
+ },
1027
+ secretSchema: {
1028
+ schema: {
1029
+ type: "object",
1030
+ properties: {
1031
+ type: {
1032
+ type: "string",
1033
+ description: "Service account type field from Google credentials JSON (if provided)."
1034
+ },
1035
+ client_email: { type: "string" },
1036
+ private_key: { type: "string" },
1037
+ project_id: { type: "string" }
1038
+ }
1039
+ },
1040
+ example: {
1041
+ type: "service_account",
1042
+ client_email: "svc-account@example.iam.gserviceaccount.com",
1043
+ private_key: "-----BEGIN PRIVATE KEY-----...",
1044
+ project_id: "example-project"
1045
+ }
1046
+ },
1047
+ healthCheck: {
1048
+ method: "ping",
1049
+ timeoutMs: 4000
1050
+ },
1051
+ docsUrl: "https://cloud.google.com/storage/docs/apis",
1052
+ constraints: {
1053
+ quotas: {
1054
+ storageGb: 5120
1055
+ }
1056
+ },
1057
+ byokSetup: {
1058
+ setupInstructions: "Create a Google Cloud service account with Storage Object Admin role and upload the JSON credentials to the secret store."
1059
+ }
1060
+ });
1061
+ function registerGcsStorageIntegration(registry) {
1062
+ return registry.register(gcsStorageIntegrationSpec);
1063
+ }
1064
+
1065
+ // src/integrations/providers/powens.ts
1066
+ import { StabilityEnum as StabilityEnum14 } from "@contractspec/lib.contracts-spec/ownership";
1067
+ var powensIntegrationSpec = defineIntegration({
1068
+ meta: {
1069
+ key: "openbanking.powens",
1070
+ version: "1.0.0",
1071
+ category: "open-banking",
1072
+ title: "Powens Open Banking (Read)",
1073
+ description: "Read-only Open Banking integration powered by Powens, exposing accounts, transactions, and balances.",
1074
+ domain: "finance",
1075
+ owners: ["platform.finance"],
1076
+ tags: ["open-banking", "powens", "finance"],
1077
+ stability: StabilityEnum14.Experimental
1078
+ },
1079
+ supportedModes: ["byok"],
1080
+ capabilities: {
1081
+ provides: [
1082
+ { key: "openbanking.accounts.read", version: "1.0.0" },
1083
+ { key: "openbanking.transactions.read", version: "1.0.0" },
1084
+ { key: "openbanking.balances.read", version: "1.0.0" }
1085
+ ]
1086
+ },
1087
+ configSchema: {
1088
+ schema: {
1089
+ type: "object",
1090
+ required: ["environment"],
1091
+ properties: {
1092
+ environment: {
1093
+ type: "string",
1094
+ enum: ["sandbox", "production"],
1095
+ description: "Powens environment to target. Sandbox uses Powens test API base URL, production uses live endpoints."
1096
+ },
1097
+ baseUrl: {
1098
+ type: "string",
1099
+ description: "Optional override for the Powens API base URL. Defaults to Powens environment defaults."
1100
+ },
1101
+ region: {
1102
+ type: "string",
1103
+ description: "Optional Powens region identifier when targeting a specific data residency cluster."
1104
+ },
1105
+ pollingIntervalMs: {
1106
+ type: "number",
1107
+ description: "Optional custom polling interval in milliseconds for background sync jobs (defaults to platform standard)."
1108
+ }
1109
+ }
1110
+ },
1111
+ example: {
1112
+ environment: "sandbox",
1113
+ baseUrl: "https://api-sandbox.powens.com/v2",
1114
+ region: "eu-west-1",
1115
+ pollingIntervalMs: 300000
1116
+ }
1117
+ },
1118
+ secretSchema: {
1119
+ schema: {
1120
+ type: "object",
1121
+ required: ["clientId", "clientSecret"],
1122
+ properties: {
1123
+ clientId: {
1124
+ type: "string",
1125
+ description: "Powens OAuth client identifier obtained from the Powens Console (BYOK project)."
1126
+ },
1127
+ clientSecret: {
1128
+ type: "string",
1129
+ description: "Powens OAuth client secret used to exchange for access tokens."
1130
+ },
1131
+ apiKey: {
1132
+ type: "string",
1133
+ description: "Optional Powens API key (if the tenant project exposes a dedicated API token)."
1134
+ },
1135
+ webhookSecret: {
1136
+ type: "string",
1137
+ description: "Optional webhook signing secret used to verify Powens webhook payloads."
1138
+ }
1139
+ }
1140
+ },
1141
+ example: {
1142
+ clientId: "powens-client-id",
1143
+ clientSecret: "powens-client-secret",
1144
+ apiKey: "powens-api-key",
1145
+ webhookSecret: "powens-webhook-secret"
1146
+ }
1147
+ },
1148
+ healthCheck: {
1149
+ method: "ping",
1150
+ timeoutMs: 8000
1151
+ },
1152
+ docsUrl: "https://docs.powens.com/",
1153
+ constraints: {
1154
+ rateLimit: {
1155
+ rph: 1e4,
1156
+ rpm: 600
1157
+ }
1158
+ },
1159
+ byokSetup: {
1160
+ setupInstructions: "Create a Powens BYOK project, generate OAuth credentials, and optionally configure webhook delivery for account/transaction updates.",
1161
+ requiredScopes: ["accounts:read", "transactions:read", "balances:read"]
1162
+ }
1163
+ });
1164
+ function registerPowensIntegration(registry) {
1165
+ return registry.register(powensIntegrationSpec);
1166
+ }
1167
+
1168
+ // src/integrations/providers/posthog.ts
1169
+ import { StabilityEnum as StabilityEnum15 } from "@contractspec/lib.contracts-spec/ownership";
1170
+ var posthogIntegrationSpec = defineIntegration({
1171
+ meta: {
1172
+ key: "analytics.posthog",
1173
+ version: "1.1.0",
1174
+ category: "analytics",
1175
+ title: "PostHog",
1176
+ description: "PostHog integration for product analytics, feature flags, HogQL queries, and LLM analytics with evaluations.",
1177
+ domain: "analytics",
1178
+ owners: ["@platform.integrations"],
1179
+ tags: ["analytics", "posthog", "llm", "ai"],
1180
+ stability: StabilityEnum15.Beta
1181
+ },
1182
+ supportedModes: ["managed", "byok"],
1183
+ capabilities: {
1184
+ provides: [
1185
+ { key: "analytics.events", version: "1.0.0" },
1186
+ { key: "analytics.feature-flags", version: "1.0.0" },
1187
+ { key: "analytics.query", version: "1.0.0" },
1188
+ { key: "analytics.events.read", version: "1.0.0" },
1189
+ { key: "analytics.persons", version: "1.0.0" },
1190
+ { key: "analytics.insights", version: "1.0.0" },
1191
+ { key: "analytics.cohorts", version: "1.0.0" },
1192
+ { key: "analytics.annotations", version: "1.0.0" },
1193
+ { key: "analytics.llm-tracing", version: "1.0.0" },
1194
+ { key: "analytics.llm-evaluations", version: "1.0.0" }
1195
+ ]
1196
+ },
1197
+ configSchema: {
1198
+ schema: {
1199
+ type: "object",
1200
+ properties: {
1201
+ host: {
1202
+ type: "string",
1203
+ description: "PostHog host (e.g., https://app.posthog.com or self-hosted URL)."
1204
+ },
1205
+ projectId: {
1206
+ type: "string",
1207
+ description: "PostHog project ID for API queries."
1208
+ },
1209
+ mcpUrl: {
1210
+ type: "string",
1211
+ description: "Optional MCP endpoint URL for PostHog tools."
1212
+ }
1213
+ }
1214
+ },
1215
+ example: {
1216
+ host: "https://app.posthog.com",
1217
+ projectId: "12345"
1218
+ }
1219
+ },
1220
+ secretSchema: {
1221
+ schema: {
1222
+ type: "object",
1223
+ required: ["personalApiKey"],
1224
+ properties: {
1225
+ personalApiKey: {
1226
+ type: "string",
1227
+ description: "PostHog personal API key (required for API reads/writes)."
1228
+ },
1229
+ projectApiKey: {
1230
+ type: "string",
1231
+ description: "PostHog project API key (required for capture/ingest events)."
1232
+ }
1233
+ }
1234
+ },
1235
+ example: {
1236
+ personalApiKey: "phx_personal_api_key",
1237
+ projectApiKey: "phc_project_api_key"
1238
+ }
1239
+ },
1240
+ healthCheck: {
1241
+ method: "custom",
1242
+ timeoutMs: 5000
1243
+ },
1244
+ docsUrl: "https://posthog.com/docs",
1245
+ byokSetup: {
1246
+ setupInstructions: "Generate a PostHog personal API key for read/write operations and a project API key for event capture."
1247
+ }
1248
+ });
1249
+ function registerPosthogIntegration(registry) {
1250
+ return registry.register(posthogIntegrationSpec);
1251
+ }
1252
+
1253
+ // src/integrations/providers/linear.ts
1254
+ import { StabilityEnum as StabilityEnum16 } from "@contractspec/lib.contracts-spec/ownership";
1255
+ var linearIntegrationSpec = defineIntegration({
1256
+ meta: {
1257
+ key: "project-management.linear",
1258
+ version: "1.0.0",
1259
+ category: "project-management",
1260
+ title: "Linear",
1261
+ description: "Linear integration for issue tracking and project management workflows.",
1262
+ domain: "productivity",
1263
+ owners: ["@platform.integrations"],
1264
+ tags: ["project-management", "linear"],
1265
+ stability: StabilityEnum16.Beta
1266
+ },
1267
+ supportedModes: ["managed", "byok"],
1268
+ capabilities: {
1269
+ provides: [{ key: "project-management.work-items", version: "1.0.0" }]
1270
+ },
1271
+ configSchema: {
1272
+ schema: {
1273
+ type: "object",
1274
+ required: ["teamId"],
1275
+ properties: {
1276
+ teamId: {
1277
+ type: "string",
1278
+ description: "Linear team ID that owns created issues."
1279
+ },
1280
+ projectId: {
1281
+ type: "string",
1282
+ description: "Optional default project ID for new issues."
1283
+ },
1284
+ stateId: {
1285
+ type: "string",
1286
+ description: "Optional default workflow state ID."
1287
+ },
1288
+ assigneeId: {
1289
+ type: "string",
1290
+ description: "Optional default assignee ID."
1291
+ },
1292
+ labelIds: {
1293
+ type: "array",
1294
+ items: { type: "string" },
1295
+ description: "Optional label IDs applied to each issue."
1296
+ },
1297
+ tagLabelMap: {
1298
+ type: "object",
1299
+ additionalProperties: { type: "string" },
1300
+ description: "Optional mapping of tags to Linear label IDs (tag -> labelId)."
1301
+ }
1302
+ }
1303
+ },
1304
+ example: {
1305
+ teamId: "team_123",
1306
+ projectId: "proj_456",
1307
+ labelIds: ["label_1", "label_2"]
1308
+ }
1309
+ },
1310
+ secretSchema: {
1311
+ schema: {
1312
+ type: "object",
1313
+ required: ["apiKey"],
1314
+ properties: {
1315
+ apiKey: {
1316
+ type: "string",
1317
+ description: "Linear API key (personal or service token)."
1318
+ }
1319
+ }
1320
+ },
1321
+ example: {
1322
+ apiKey: "lin_api_key"
1323
+ }
1324
+ },
1325
+ healthCheck: {
1326
+ method: "custom",
1327
+ timeoutMs: 4000
1328
+ },
1329
+ docsUrl: "https://developers.linear.app",
1330
+ constraints: {},
1331
+ byokSetup: {
1332
+ setupInstructions: "Create a Linear API key with issue:write permission and store it as a secret."
1333
+ }
1334
+ });
1335
+ function registerLinearIntegration(registry) {
1336
+ return registry.register(linearIntegrationSpec);
1337
+ }
1338
+
1339
+ // src/integrations/providers/jira.ts
1340
+ import { StabilityEnum as StabilityEnum17 } from "@contractspec/lib.contracts-spec/ownership";
1341
+ var jiraIntegrationSpec = defineIntegration({
1342
+ meta: {
1343
+ key: "project-management.jira",
1344
+ version: "1.0.0",
1345
+ category: "project-management",
1346
+ title: "Jira Cloud",
1347
+ description: "Jira Cloud integration for creating and tracking work items.",
1348
+ domain: "productivity",
1349
+ owners: ["@platform.integrations"],
1350
+ tags: ["project-management", "jira"],
1351
+ stability: StabilityEnum17.Beta
1352
+ },
1353
+ supportedModes: ["managed", "byok"],
1354
+ capabilities: {
1355
+ provides: [{ key: "project-management.work-items", version: "1.0.0" }]
1356
+ },
1357
+ configSchema: {
1358
+ schema: {
1359
+ type: "object",
1360
+ required: ["siteUrl"],
1361
+ properties: {
1362
+ siteUrl: {
1363
+ type: "string",
1364
+ description: "Jira Cloud site URL (e.g., https://acme.atlassian.net)."
1365
+ },
1366
+ projectKey: {
1367
+ type: "string",
1368
+ description: "Default Jira project key for new issues."
1369
+ },
1370
+ issueType: {
1371
+ type: "string",
1372
+ description: "Default Jira issue type (e.g., Task, Story)."
1373
+ },
1374
+ defaultLabels: {
1375
+ type: "array",
1376
+ items: { type: "string" },
1377
+ description: "Labels applied to each issue by default."
1378
+ },
1379
+ issueTypeMap: {
1380
+ type: "object",
1381
+ additionalProperties: { type: "string" },
1382
+ description: "Optional mapping from work item types to Jira issue types."
1383
+ }
1384
+ }
1385
+ },
1386
+ example: {
1387
+ siteUrl: "https://acme.atlassian.net",
1388
+ projectKey: "PM",
1389
+ issueType: "Task"
1390
+ }
1391
+ },
1392
+ secretSchema: {
1393
+ schema: {
1394
+ type: "object",
1395
+ required: ["email", "apiToken"],
1396
+ properties: {
1397
+ email: {
1398
+ type: "string",
1399
+ description: "Jira account email used for API token auth."
1400
+ },
1401
+ apiToken: {
1402
+ type: "string",
1403
+ description: "Jira Cloud API token for the account."
1404
+ }
1405
+ }
1406
+ },
1407
+ example: {
1408
+ email: "user@acme.com",
1409
+ apiToken: "jira_api_token"
1410
+ }
1411
+ },
1412
+ healthCheck: {
1413
+ method: "custom",
1414
+ timeoutMs: 4000
1415
+ },
1416
+ docsUrl: "https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/",
1417
+ constraints: {},
1418
+ byokSetup: {
1419
+ setupInstructions: "Create a Jira API token and store it with the associated account email."
1420
+ }
1421
+ });
1422
+ function registerJiraIntegration(registry) {
1423
+ return registry.register(jiraIntegrationSpec);
1424
+ }
1425
+
1426
+ // src/integrations/providers/notion.ts
1427
+ import { StabilityEnum as StabilityEnum18 } from "@contractspec/lib.contracts-spec/ownership";
1428
+ var notionIntegrationSpec = defineIntegration({
1429
+ meta: {
1430
+ key: "project-management.notion",
1431
+ version: "1.0.0",
1432
+ category: "project-management",
1433
+ title: "Notion",
1434
+ description: "Notion integration for creating shared project summaries and task entries.",
1435
+ domain: "productivity",
1436
+ owners: ["@platform.integrations"],
1437
+ tags: ["project-management", "notion"],
1438
+ stability: StabilityEnum18.Beta
1439
+ },
1440
+ supportedModes: ["managed", "byok"],
1441
+ capabilities: {
1442
+ provides: [{ key: "project-management.work-items", version: "1.0.0" }]
1443
+ },
1444
+ configSchema: {
1445
+ schema: {
1446
+ type: "object",
1447
+ properties: {
1448
+ databaseId: {
1449
+ type: "string",
1450
+ description: "Optional Notion database ID to store tasks."
1451
+ },
1452
+ summaryParentPageId: {
1453
+ type: "string",
1454
+ description: "Optional parent page ID for summary pages."
1455
+ },
1456
+ titleProperty: {
1457
+ type: "string",
1458
+ description: 'Database title property name (defaults to "Name").'
1459
+ },
1460
+ statusProperty: {
1461
+ type: "string",
1462
+ description: "Database status/select property name."
1463
+ },
1464
+ priorityProperty: {
1465
+ type: "string",
1466
+ description: "Database priority/select property name."
1467
+ },
1468
+ tagsProperty: {
1469
+ type: "string",
1470
+ description: "Database multi-select tags property name."
1471
+ },
1472
+ dueDateProperty: {
1473
+ type: "string",
1474
+ description: "Database date property name for due dates."
1475
+ },
1476
+ descriptionProperty: {
1477
+ type: "string",
1478
+ description: "Database rich-text property for descriptions."
1479
+ }
1480
+ }
1481
+ },
1482
+ example: {
1483
+ databaseId: "xxxxxxxxxxxxxxxx",
1484
+ summaryParentPageId: "yyyyyyyyyyyyyyyy",
1485
+ titleProperty: "Name",
1486
+ statusProperty: "Status"
1487
+ }
1488
+ },
1489
+ secretSchema: {
1490
+ schema: {
1491
+ type: "object",
1492
+ required: ["apiKey"],
1493
+ properties: {
1494
+ apiKey: {
1495
+ type: "string",
1496
+ description: "Notion integration secret token."
1497
+ }
1498
+ }
1499
+ },
1500
+ example: {
1501
+ apiKey: "secret_notion_token"
1502
+ }
1503
+ },
1504
+ healthCheck: {
1505
+ method: "custom",
1506
+ timeoutMs: 4000
1507
+ },
1508
+ docsUrl: "https://developers.notion.com",
1509
+ constraints: {},
1510
+ byokSetup: {
1511
+ setupInstructions: "Create a Notion internal integration, share the target database/page with it, and store the secret token."
1512
+ }
1513
+ });
1514
+ function registerNotionIntegration(registry) {
1515
+ return registry.register(notionIntegrationSpec);
1516
+ }
1517
+
1518
+ // src/integrations/providers/granola.ts
1519
+ import { StabilityEnum as StabilityEnum19 } from "@contractspec/lib.contracts-spec/ownership";
1520
+ var granolaIntegrationSpec = defineIntegration({
1521
+ meta: {
1522
+ key: "meeting-recorder.granola",
1523
+ version: "1.0.0",
1524
+ category: "meeting-recorder",
1525
+ title: "Granola Meeting Notes",
1526
+ description: "Granola meeting notes and transcripts via Enterprise API or MCP transport.",
1527
+ domain: "productivity",
1528
+ owners: ["platform.integrations"],
1529
+ tags: ["meeting-recorder", "granola", "transcripts"],
1530
+ stability: StabilityEnum19.Experimental
1531
+ },
1532
+ supportedModes: ["byok"],
1533
+ capabilities: {
1534
+ provides: [
1535
+ { key: "meeting-recorder.meetings.read", version: "1.0.0" },
1536
+ { key: "meeting-recorder.transcripts.read", version: "1.0.0" }
1537
+ ]
1538
+ },
1539
+ configSchema: {
1540
+ schema: {
1541
+ type: "object",
1542
+ properties: {
1543
+ baseUrl: {
1544
+ type: "string",
1545
+ description: "Optional override for the Granola API base URL. Defaults to https://public-api.granola.ai for API transport."
1546
+ },
1547
+ transport: {
1548
+ type: "string",
1549
+ enum: ["api", "mcp"],
1550
+ description: "Transport mode for Granola integration. Use api for Enterprise API or mcp for broader MCP access."
1551
+ },
1552
+ mcpUrl: {
1553
+ type: "string",
1554
+ description: "Optional override for Granola MCP URL. Defaults to https://mcp.granola.ai/mcp."
1555
+ },
1556
+ mcpHeaders: {
1557
+ type: "object",
1558
+ additionalProperties: { type: "string" },
1559
+ description: "Optional static headers for MCP gateway/proxy setups."
1560
+ },
1561
+ pageSize: {
1562
+ type: "number",
1563
+ description: "Page size for listing notes (maximum 30 per Granola API)."
1564
+ }
1565
+ }
1566
+ },
1567
+ example: {
1568
+ transport: "mcp",
1569
+ mcpUrl: "https://mcp.granola.ai/mcp",
1570
+ pageSize: 10
1571
+ }
1572
+ },
1573
+ secretSchema: {
1574
+ schema: {
1575
+ type: "object",
1576
+ properties: {
1577
+ apiKey: {
1578
+ type: "string",
1579
+ description: "Granola API key used as a Bearer token for Enterprise API requests (transport=api)."
1580
+ },
1581
+ mcpAccessToken: {
1582
+ type: "string",
1583
+ description: "Optional bearer token for MCP proxy/gateway auth (transport=mcp)."
1584
+ }
1585
+ }
1586
+ },
1587
+ example: {
1588
+ mcpAccessToken: "granola-mcp-***"
1589
+ }
1590
+ },
1591
+ healthCheck: {
1592
+ method: "list",
1593
+ timeoutMs: 8000
1594
+ },
1595
+ docsUrl: "https://docs.granola.ai/help-center/sharing/integrations/mcp",
1596
+ byokSetup: {
1597
+ setupInstructions: "Use Granola MCP for browser OAuth access, or configure an Enterprise API key for REST transport."
1598
+ }
1599
+ });
1600
+ function registerGranolaIntegration(registry) {
1601
+ return registry.register(granolaIntegrationSpec);
1602
+ }
1603
+
1604
+ // src/integrations/providers/tldv.ts
1605
+ import { StabilityEnum as StabilityEnum20 } from "@contractspec/lib.contracts-spec/ownership";
1606
+ var tldvIntegrationSpec = defineIntegration({
1607
+ meta: {
1608
+ key: "meeting-recorder.tldv",
1609
+ version: "1.0.0",
1610
+ category: "meeting-recorder",
1611
+ title: "tl;dv Meeting Recorder",
1612
+ description: "tl;dv Public API for meeting recordings, transcripts, and webhook events.",
1613
+ domain: "productivity",
1614
+ owners: ["platform.integrations"],
1615
+ tags: ["meeting-recorder", "tldv", "transcripts"],
1616
+ stability: StabilityEnum20.Experimental
1617
+ },
1618
+ supportedModes: ["byok"],
1619
+ capabilities: {
1620
+ provides: [
1621
+ { key: "meeting-recorder.meetings.read", version: "1.0.0" },
1622
+ { key: "meeting-recorder.transcripts.read", version: "1.0.0" },
1623
+ { key: "meeting-recorder.webhooks", version: "1.0.0" }
1624
+ ]
1625
+ },
1626
+ configSchema: {
1627
+ schema: {
1628
+ type: "object",
1629
+ properties: {
1630
+ baseUrl: {
1631
+ type: "string",
1632
+ description: "Optional override for the tl;dv API base URL. Defaults to https://pasta.tldv.io/v1alpha1."
1633
+ },
1634
+ webhookUrl: {
1635
+ type: "string",
1636
+ description: "Webhook destination URL configured in tl;dv settings (MeetingReady/TranscriptReady)."
1637
+ },
1638
+ webhookEvents: {
1639
+ type: "array",
1640
+ items: { type: "string" },
1641
+ description: "Webhook triggers to enable (MeetingReady, TranscriptReady)."
1642
+ },
1643
+ webhookScope: {
1644
+ type: "string",
1645
+ description: "Webhook scope to configure (user, team, or organization)."
1646
+ }
1647
+ }
1648
+ },
1649
+ example: {
1650
+ baseUrl: "https://pasta.tldv.io/v1alpha1",
1651
+ webhookUrl: "https://example.com/webhooks/tldv",
1652
+ webhookEvents: ["MeetingReady", "TranscriptReady"],
1653
+ webhookScope: "team"
1654
+ }
1655
+ },
1656
+ secretSchema: {
1657
+ schema: {
1658
+ type: "object",
1659
+ required: ["apiKey"],
1660
+ properties: {
1661
+ apiKey: {
1662
+ type: "string",
1663
+ description: "tl;dv API key used in the x-api-key header for API requests."
1664
+ },
1665
+ webhookSecret: {
1666
+ type: "string",
1667
+ description: "Optional shared secret for webhook verification if configured in your environment."
1668
+ }
1669
+ }
1670
+ },
1671
+ example: {
1672
+ apiKey: "tldv-***",
1673
+ webhookSecret: "tldv-webhook-secret"
1674
+ }
1675
+ },
1676
+ healthCheck: {
1677
+ method: "ping",
1678
+ timeoutMs: 6000
1679
+ },
1680
+ docsUrl: "https://doc.tldv.io/index.html",
1681
+ byokSetup: {
1682
+ setupInstructions: "Generate a tl;dv API key and optionally configure MeetingReady/TranscriptReady webhooks."
1683
+ }
1684
+ });
1685
+ function registerTldvIntegration(registry) {
1686
+ return registry.register(tldvIntegrationSpec);
1687
+ }
1688
+
1689
+ // src/integrations/providers/fireflies.ts
1690
+ import { StabilityEnum as StabilityEnum21 } from "@contractspec/lib.contracts-spec/ownership";
1691
+ var firefliesIntegrationSpec = defineIntegration({
1692
+ meta: {
1693
+ key: "meeting-recorder.fireflies",
1694
+ version: "1.0.0",
1695
+ category: "meeting-recorder",
1696
+ title: "Fireflies.ai Meeting Recorder",
1697
+ description: "Fireflies GraphQL API for meeting transcripts, metadata, and webhook events.",
1698
+ domain: "productivity",
1699
+ owners: ["platform.integrations"],
1700
+ tags: ["meeting-recorder", "fireflies", "transcripts"],
1701
+ stability: StabilityEnum21.Experimental
1702
+ },
1703
+ supportedModes: ["byok"],
1704
+ capabilities: {
1705
+ provides: [
1706
+ { key: "meeting-recorder.meetings.read", version: "1.0.0" },
1707
+ { key: "meeting-recorder.transcripts.read", version: "1.0.0" },
1708
+ { key: "meeting-recorder.webhooks", version: "1.0.0" }
1709
+ ]
1710
+ },
1711
+ configSchema: {
1712
+ schema: {
1713
+ type: "object",
1714
+ properties: {
1715
+ baseUrl: {
1716
+ type: "string",
1717
+ description: "Optional override for the Fireflies GraphQL endpoint. Defaults to https://api.fireflies.ai/graphql."
1718
+ },
1719
+ webhookUrl: {
1720
+ type: "string",
1721
+ description: "Webhook destination URL configured in Fireflies developer settings."
1722
+ },
1723
+ webhookEvents: {
1724
+ type: "array",
1725
+ items: { type: "string" },
1726
+ description: "Webhook events to subscribe to (e.g., Transcription completed)."
1727
+ },
1728
+ transcriptsPageSize: {
1729
+ type: "number",
1730
+ description: "Number of transcripts to request per GraphQL query."
1731
+ }
1732
+ }
1733
+ },
1734
+ example: {
1735
+ baseUrl: "https://api.fireflies.ai/graphql",
1736
+ webhookUrl: "https://example.com/webhooks/fireflies",
1737
+ webhookEvents: ["Transcription completed"],
1738
+ transcriptsPageSize: 25
1739
+ }
1740
+ },
1741
+ secretSchema: {
1742
+ schema: {
1743
+ type: "object",
1744
+ required: ["apiKey"],
1745
+ properties: {
1746
+ apiKey: {
1747
+ type: "string",
1748
+ description: "Fireflies API key for GraphQL requests."
1749
+ },
1750
+ webhookSecret: {
1751
+ type: "string",
1752
+ description: "Optional webhook secret used to verify x-hub-signature HMAC payloads."
1753
+ }
1754
+ }
1755
+ },
1756
+ example: {
1757
+ apiKey: "fireflies-***",
1758
+ webhookSecret: "fireflies-webhook-secret"
1759
+ }
1760
+ },
1761
+ healthCheck: {
1762
+ method: "custom",
1763
+ timeoutMs: 6000
1764
+ },
1765
+ docsUrl: "https://docs.fireflies.ai/getting-started/introduction",
1766
+ byokSetup: {
1767
+ setupInstructions: "Create a Fireflies API key and optionally configure webhook settings in Developer Settings."
1768
+ }
1769
+ });
1770
+ function registerFirefliesIntegration(registry) {
1771
+ return registry.register(firefliesIntegrationSpec);
1772
+ }
1773
+
1774
+ // src/integrations/providers/fathom.ts
1775
+ import { StabilityEnum as StabilityEnum22 } from "@contractspec/lib.contracts-spec/ownership";
1776
+ var fathomIntegrationSpec = defineIntegration({
1777
+ meta: {
1778
+ key: "meeting-recorder.fathom",
1779
+ version: "1.0.0",
1780
+ category: "meeting-recorder",
1781
+ title: "Fathom Meeting Recorder",
1782
+ description: "Fathom External API for meetings, transcripts, and webhook events.",
1783
+ domain: "productivity",
1784
+ owners: ["platform.integrations"],
1785
+ tags: ["meeting-recorder", "fathom", "transcripts"],
1786
+ stability: StabilityEnum22.Experimental
1787
+ },
1788
+ supportedModes: ["byok"],
1789
+ capabilities: {
1790
+ provides: [
1791
+ { key: "meeting-recorder.meetings.read", version: "1.0.0" },
1792
+ { key: "meeting-recorder.transcripts.read", version: "1.0.0" },
1793
+ { key: "meeting-recorder.webhooks", version: "1.0.0" }
1794
+ ]
1795
+ },
1796
+ configSchema: {
1797
+ schema: {
1798
+ type: "object",
1799
+ properties: {
1800
+ baseUrl: {
1801
+ type: "string",
1802
+ description: "Optional override for the Fathom API base URL. Defaults to https://api.fathom.ai/external/v1."
1803
+ },
1804
+ webhookUrl: {
1805
+ type: "string",
1806
+ description: "Webhook destination URL used when registering Fathom webhooks."
1807
+ },
1808
+ includeTranscript: {
1809
+ type: "boolean",
1810
+ description: "Include transcript data in Fathom webhook payloads."
1811
+ },
1812
+ includeSummary: {
1813
+ type: "boolean",
1814
+ description: "Include summary data in Fathom webhook payloads."
1815
+ },
1816
+ includeActionItems: {
1817
+ type: "boolean",
1818
+ description: "Include action items in Fathom webhook payloads."
1819
+ },
1820
+ includeCrmMatches: {
1821
+ type: "boolean",
1822
+ description: "Include CRM matches in Fathom webhook payloads."
1823
+ },
1824
+ triggeredFor: {
1825
+ type: "array",
1826
+ items: { type: "string" },
1827
+ description: "Recording scopes to trigger webhooks for (e.g., my_recordings)."
1828
+ }
1829
+ }
1830
+ },
1831
+ example: {
1832
+ baseUrl: "https://api.fathom.ai/external/v1",
1833
+ webhookUrl: "https://example.com/webhooks/fathom",
1834
+ includeTranscript: true,
1835
+ includeSummary: true,
1836
+ includeActionItems: false,
1837
+ includeCrmMatches: false,
1838
+ triggeredFor: ["my_recordings"]
1839
+ }
1840
+ },
1841
+ secretSchema: {
1842
+ schema: {
1843
+ type: "object",
1844
+ required: ["apiKey"],
1845
+ properties: {
1846
+ apiKey: {
1847
+ type: "string",
1848
+ description: "Fathom API key used in the X-Api-Key header."
1849
+ },
1850
+ webhookSecret: {
1851
+ type: "string",
1852
+ description: "Optional webhook secret used to verify Fathom webhook signatures."
1853
+ }
1854
+ }
1855
+ },
1856
+ example: {
1857
+ apiKey: "fathom-***",
1858
+ webhookSecret: "whsec_***"
1859
+ }
1860
+ },
1861
+ healthCheck: {
1862
+ method: "list",
1863
+ timeoutMs: 8000
1864
+ },
1865
+ docsUrl: "https://developers.fathom.ai/",
1866
+ constraints: {
1867
+ rateLimit: {
1868
+ rpm: 60
1869
+ }
1870
+ },
1871
+ byokSetup: {
1872
+ setupInstructions: "Generate an API key in Fathom settings and optionally configure webhooks for meeting content readiness."
1873
+ }
1874
+ });
1875
+ function registerFathomIntegration(registry) {
1876
+ return registry.register(fathomIntegrationSpec);
1877
+ }
1878
+
1879
+ // src/integrations/providers/registry.ts
1880
+ function createDefaultIntegrationSpecRegistry() {
1881
+ const registry = new IntegrationSpecRegistry;
1882
+ registerStripeIntegration(registry);
1883
+ registerPostmarkIntegration(registry);
1884
+ registerQdrantIntegration(registry);
1885
+ registerSupabaseVectorIntegration(registry);
1886
+ registerSupabasePostgresIntegration(registry);
1887
+ registerMistralIntegration(registry);
1888
+ registerElevenLabsIntegration(registry);
1889
+ registerGradiumIntegration(registry);
1890
+ registerFalIntegration(registry);
1891
+ registerGmailIntegration(registry);
1892
+ registerGoogleCalendarIntegration(registry);
1893
+ registerPosthogIntegration(registry);
1894
+ registerTwilioSmsIntegration(registry);
1895
+ registerGcsStorageIntegration(registry);
1896
+ registerPowensIntegration(registry);
1897
+ registerLinearIntegration(registry);
1898
+ registerJiraIntegration(registry);
1899
+ registerNotionIntegration(registry);
1900
+ registerGranolaIntegration(registry);
1901
+ registerTldvIntegration(registry);
1902
+ registerFirefliesIntegration(registry);
1903
+ registerFathomIntegration(registry);
1904
+ return registry;
1905
+ }
1906
+ export {
1907
+ createDefaultIntegrationSpecRegistry
1908
+ };