@vibesdotdev/integrations 0.0.0-stage → 1.0.0-rc.2

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 (242) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +100 -2
  3. package/dist/ai/ai.cloud.plugin.d.ts +5 -0
  4. package/dist/ai/ai.cloud.plugin.d.ts.map +1 -0
  5. package/dist/ai/ai.cloud.plugin.js +67 -0
  6. package/dist/ai/ai.cloud.plugin.js.map +1 -0
  7. package/dist/ai/ai.plugin.d.ts +5 -0
  8. package/dist/ai/ai.plugin.d.ts.map +1 -0
  9. package/dist/ai/ai.plugin.js +97 -0
  10. package/dist/ai/ai.plugin.js.map +1 -0
  11. package/dist/base/base.plugin.d.ts +10 -0
  12. package/dist/base/base.plugin.d.ts.map +1 -0
  13. package/dist/base/base.plugin.js +23 -0
  14. package/dist/base/base.plugin.js.map +1 -0
  15. package/dist/base/index.d.ts +13 -0
  16. package/dist/base/index.d.ts.map +1 -0
  17. package/dist/base/index.js +15 -0
  18. package/dist/base/index.js.map +1 -0
  19. package/dist/base/resolver.d.ts +13 -0
  20. package/dist/base/resolver.d.ts.map +1 -0
  21. package/dist/base/resolver.js +30 -0
  22. package/dist/base/resolver.js.map +1 -0
  23. package/dist/base/schemas.d.ts +167 -0
  24. package/dist/base/schemas.d.ts.map +1 -0
  25. package/dist/base/schemas.js +48 -0
  26. package/dist/base/schemas.js.map +1 -0
  27. package/dist/catalog/index.d.ts +6 -0
  28. package/dist/catalog/index.d.ts.map +1 -0
  29. package/dist/catalog/index.js +6 -0
  30. package/dist/catalog/index.js.map +1 -0
  31. package/dist/catalog/integration-catalog.capability.d.ts +14 -0
  32. package/dist/catalog/integration-catalog.capability.d.ts.map +1 -0
  33. package/dist/catalog/integration-catalog.capability.js +23 -0
  34. package/dist/catalog/integration-catalog.capability.js.map +1 -0
  35. package/dist/catalog/integration-catalog.descriptor.d.ts +6 -0
  36. package/dist/catalog/integration-catalog.descriptor.d.ts.map +1 -0
  37. package/dist/catalog/integration-catalog.descriptor.js +11 -0
  38. package/dist/catalog/integration-catalog.descriptor.js.map +1 -0
  39. package/dist/catalog/integration-catalog.exposure.d.ts +62 -0
  40. package/dist/catalog/integration-catalog.exposure.d.ts.map +1 -0
  41. package/dist/catalog/integration-catalog.exposure.js +101 -0
  42. package/dist/catalog/integration-catalog.exposure.js.map +1 -0
  43. package/dist/catalog/integration-catalog.http.d.ts +9 -0
  44. package/dist/catalog/integration-catalog.http.d.ts.map +1 -0
  45. package/dist/catalog/integration-catalog.http.js +58 -0
  46. package/dist/catalog/integration-catalog.http.js.map +1 -0
  47. package/dist/catalog/integration-catalog.kind.d.ts +36 -0
  48. package/dist/catalog/integration-catalog.kind.d.ts.map +1 -0
  49. package/dist/catalog/integration-catalog.kind.js +14 -0
  50. package/dist/catalog/integration-catalog.kind.js.map +1 -0
  51. package/dist/catalog/queries.d.ts +6 -0
  52. package/dist/catalog/queries.d.ts.map +1 -0
  53. package/dist/catalog/queries.js +29 -0
  54. package/dist/catalog/queries.js.map +1 -0
  55. package/dist/client/helper.d.ts +5 -0
  56. package/dist/client/helper.d.ts.map +1 -0
  57. package/dist/client/helper.js +6 -0
  58. package/dist/client/helper.js.map +1 -0
  59. package/dist/client/index.d.ts +4 -0
  60. package/dist/client/index.d.ts.map +1 -0
  61. package/dist/client/index.js +3 -0
  62. package/dist/client/index.js.map +1 -0
  63. package/dist/client/integrations.runtime-client.browser.d.ts +10 -0
  64. package/dist/client/integrations.runtime-client.browser.d.ts.map +1 -0
  65. package/dist/client/integrations.runtime-client.browser.js +13 -0
  66. package/dist/client/integrations.runtime-client.browser.js.map +1 -0
  67. package/dist/client/integrations.runtime-client.d.ts +25 -0
  68. package/dist/client/integrations.runtime-client.d.ts.map +1 -0
  69. package/dist/client/integrations.runtime-client.descriptor.d.ts +4 -0
  70. package/dist/client/integrations.runtime-client.descriptor.d.ts.map +1 -0
  71. package/dist/client/integrations.runtime-client.descriptor.js +13 -0
  72. package/dist/client/integrations.runtime-client.descriptor.js.map +1 -0
  73. package/dist/client/integrations.runtime-client.js +41 -0
  74. package/dist/client/integrations.runtime-client.js.map +1 -0
  75. package/dist/docs/integrations.docs.descriptor.d.ts +4 -0
  76. package/dist/docs/integrations.docs.descriptor.d.ts.map +1 -0
  77. package/dist/docs/integrations.docs.descriptor.js +43 -0
  78. package/dist/docs/integrations.docs.descriptor.js.map +1 -0
  79. package/dist/docs/integrations.providers.docs.descriptor.d.ts +4 -0
  80. package/dist/docs/integrations.providers.docs.descriptor.d.ts.map +1 -0
  81. package/dist/docs/integrations.providers.docs.descriptor.js +32 -0
  82. package/dist/docs/integrations.providers.docs.descriptor.js.map +1 -0
  83. package/dist/http/fetch-with-retry.d.ts +27 -0
  84. package/dist/http/fetch-with-retry.d.ts.map +1 -0
  85. package/dist/http/fetch-with-retry.js +76 -0
  86. package/dist/http/fetch-with-retry.js.map +1 -0
  87. package/dist/index.d.ts +24 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.js +16 -0
  90. package/dist/index.js.map +1 -0
  91. package/dist/integrations.browser.plugin.d.ts +11 -0
  92. package/dist/integrations.browser.plugin.d.ts.map +1 -0
  93. package/dist/integrations.browser.plugin.js +26 -0
  94. package/dist/integrations.browser.plugin.js.map +1 -0
  95. package/dist/integrations.consumer.plugin.d.ts +3 -0
  96. package/dist/integrations.consumer.plugin.d.ts.map +1 -0
  97. package/dist/integrations.consumer.plugin.js +12 -0
  98. package/dist/integrations.consumer.plugin.js.map +1 -0
  99. package/dist/integrations.plugin.d.ts +10 -0
  100. package/dist/integrations.plugin.d.ts.map +1 -0
  101. package/dist/integrations.plugin.js +67 -0
  102. package/dist/integrations.plugin.js.map +1 -0
  103. package/dist/kinds/integration-store.context.descriptor.d.ts +31 -0
  104. package/dist/kinds/integration-store.context.descriptor.d.ts.map +1 -0
  105. package/dist/kinds/integration-store.context.descriptor.js +8 -0
  106. package/dist/kinds/integration-store.context.descriptor.js.map +1 -0
  107. package/dist/kinds/integration.kind.d.ts +74 -0
  108. package/dist/kinds/integration.kind.d.ts.map +1 -0
  109. package/dist/kinds/integration.kind.js +542 -0
  110. package/dist/kinds/integration.kind.js.map +1 -0
  111. package/dist/kinds/integration.store.d.ts +30 -0
  112. package/dist/kinds/integration.store.d.ts.map +1 -0
  113. package/dist/kinds/integration.store.js +295 -0
  114. package/dist/kinds/integration.store.js.map +1 -0
  115. package/dist/schemas/boundary.d.ts +7 -0
  116. package/dist/schemas/boundary.d.ts.map +1 -0
  117. package/dist/schemas/boundary.js +16 -0
  118. package/dist/schemas/boundary.js.map +1 -0
  119. package/dist/schemas/catalog.d.ts +135 -0
  120. package/dist/schemas/catalog.d.ts.map +1 -0
  121. package/dist/schemas/catalog.js +13 -0
  122. package/dist/schemas/catalog.js.map +1 -0
  123. package/dist/schemas/credential-resolution.d.ts +35 -0
  124. package/dist/schemas/credential-resolution.d.ts.map +1 -0
  125. package/dist/schemas/credential-resolution.js +14 -0
  126. package/dist/schemas/credential-resolution.js.map +1 -0
  127. package/dist/schemas/http-retry.d.ts +9 -0
  128. package/dist/schemas/http-retry.d.ts.map +1 -0
  129. package/dist/schemas/http-retry.js +8 -0
  130. package/dist/schemas/http-retry.js.map +1 -0
  131. package/dist/schemas/integration-connection.d.ts +79 -0
  132. package/dist/schemas/integration-connection.d.ts.map +1 -0
  133. package/dist/schemas/integration-connection.js +55 -0
  134. package/dist/schemas/integration-connection.js.map +1 -0
  135. package/dist/schemas/integration-descriptor.d.ts +358 -0
  136. package/dist/schemas/integration-descriptor.d.ts.map +1 -0
  137. package/dist/schemas/integration-descriptor.js +153 -0
  138. package/dist/schemas/integration-descriptor.js.map +1 -0
  139. package/dist/schemas/oauth-state.d.ts +30 -0
  140. package/dist/schemas/oauth-state.d.ts.map +1 -0
  141. package/dist/schemas/oauth-state.js +26 -0
  142. package/dist/schemas/oauth-state.js.map +1 -0
  143. package/dist/schemas/settings.d.ts +9 -0
  144. package/dist/schemas/settings.d.ts.map +1 -0
  145. package/dist/schemas/settings.js +8 -0
  146. package/dist/schemas/settings.js.map +1 -0
  147. package/dist/schemas/store.d.ts +68 -0
  148. package/dist/schemas/store.d.ts.map +1 -0
  149. package/dist/schemas/store.js +31 -0
  150. package/dist/schemas/store.js.map +1 -0
  151. package/dist/server/defaults/system-defaults.kind.d.ts +8 -0
  152. package/dist/server/defaults/system-defaults.kind.d.ts.map +1 -0
  153. package/dist/server/defaults/system-defaults.kind.js +13 -0
  154. package/dist/server/defaults/system-defaults.kind.js.map +1 -0
  155. package/dist/server/integration-oauth.d.ts +44 -0
  156. package/dist/server/integration-oauth.d.ts.map +1 -0
  157. package/dist/server/integration-oauth.js +56 -0
  158. package/dist/server/integration-oauth.js.map +1 -0
  159. package/dist/server/integration-secrets.d.ts +11 -0
  160. package/dist/server/integration-secrets.d.ts.map +1 -0
  161. package/dist/server/integration-secrets.js +98 -0
  162. package/dist/server/integration-secrets.js.map +1 -0
  163. package/dist/server/oauth-state.d.ts +74 -0
  164. package/dist/server/oauth-state.d.ts.map +1 -0
  165. package/dist/server/oauth-state.js +208 -0
  166. package/dist/server/oauth-state.js.map +1 -0
  167. package/dist/server/schemas/integration-oauth.d.ts +32 -0
  168. package/dist/server/schemas/integration-oauth.d.ts.map +1 -0
  169. package/dist/server/schemas/integration-oauth.js +20 -0
  170. package/dist/server/schemas/integration-oauth.js.map +1 -0
  171. package/dist/server/schemas/integration-secrets.d.ts +165 -0
  172. package/dist/server/schemas/integration-secrets.d.ts.map +1 -0
  173. package/dist/server/schemas/integration-secrets.js +72 -0
  174. package/dist/server/schemas/integration-secrets.js.map +1 -0
  175. package/dist/server/schemas/system-defaults.d.ts +124 -0
  176. package/dist/server/schemas/system-defaults.d.ts.map +1 -0
  177. package/dist/server/schemas/system-defaults.js +48 -0
  178. package/dist/server/schemas/system-defaults.js.map +1 -0
  179. package/dist/server/system-defaults.d.ts +20 -0
  180. package/dist/server/system-defaults.d.ts.map +1 -0
  181. package/dist/server/system-defaults.js +58 -0
  182. package/dist/server/system-defaults.js.map +1 -0
  183. package/dist/settings/context.d.ts +11 -0
  184. package/dist/settings/context.d.ts.map +1 -0
  185. package/dist/settings/context.js +19 -0
  186. package/dist/settings/context.js.map +1 -0
  187. package/dist/settings/system-settings-reader.context.descriptor.d.ts +43 -0
  188. package/dist/settings/system-settings-reader.context.descriptor.d.ts.map +1 -0
  189. package/dist/settings/system-settings-reader.context.descriptor.js +23 -0
  190. package/dist/settings/system-settings-reader.context.descriptor.js.map +1 -0
  191. package/dist/status/integration-connect.availability.d.ts +16 -0
  192. package/dist/status/integration-connect.availability.d.ts.map +1 -0
  193. package/dist/status/integration-connect.availability.js +14 -0
  194. package/dist/status/integration-connect.availability.js.map +1 -0
  195. package/dist/status/integration-connection-status.d.ts +18 -0
  196. package/dist/status/integration-connection-status.d.ts.map +1 -0
  197. package/dist/status/integration-connection-status.js +17 -0
  198. package/dist/status/integration-connection-status.js.map +1 -0
  199. package/dist/status/integration-connection.capability.d.ts +19 -0
  200. package/dist/status/integration-connection.capability.d.ts.map +1 -0
  201. package/dist/status/integration-connection.capability.js +15 -0
  202. package/dist/status/integration-connection.capability.js.map +1 -0
  203. package/dist/status/integration-connection.kind.d.ts +55 -0
  204. package/dist/status/integration-connection.kind.d.ts.map +1 -0
  205. package/dist/status/integration-connection.kind.js +31 -0
  206. package/dist/status/integration-connection.kind.js.map +1 -0
  207. package/dist/status/integration-connection.queries.d.ts +25 -0
  208. package/dist/status/integration-connection.queries.d.ts.map +1 -0
  209. package/dist/status/integration-connection.queries.js +65 -0
  210. package/dist/status/integration-connection.queries.js.map +1 -0
  211. package/dist/svelte/components/IntegrationsCatalog.svelte +201 -0
  212. package/dist/svelte/components/IntegrationsCatalog.svelte.d.ts +5 -0
  213. package/dist/svelte/components/IntegrationsCatalog.svelte.d.ts.map +1 -0
  214. package/dist/svelte/components/IntegrationsLoader.svelte +46 -0
  215. package/dist/svelte/components/IntegrationsLoader.svelte.d.ts +12 -0
  216. package/dist/svelte/components/IntegrationsLoader.svelte.d.ts.map +1 -0
  217. package/dist/svelte/connect-action.d.ts +20 -0
  218. package/dist/svelte/connect-action.d.ts.map +1 -0
  219. package/dist/svelte/connect-action.js +40 -0
  220. package/dist/svelte/docs/integrations-svelte.catalog.docs.descriptor.d.ts +4 -0
  221. package/dist/svelte/docs/integrations-svelte.catalog.docs.descriptor.d.ts.map +1 -0
  222. package/dist/svelte/docs/integrations-svelte.catalog.docs.descriptor.js +30 -0
  223. package/dist/svelte/index.d.ts +12 -0
  224. package/dist/svelte/index.d.ts.map +1 -0
  225. package/dist/svelte/index.js +7 -0
  226. package/dist/svelte/integrations-svelte.plugin.d.ts +10 -0
  227. package/dist/svelte/integrations-svelte.plugin.d.ts.map +1 -0
  228. package/dist/svelte/integrations-svelte.plugin.js +16 -0
  229. package/dist/svelte/loaders.d.ts +17 -0
  230. package/dist/svelte/loaders.d.ts.map +1 -0
  231. package/dist/svelte/loaders.js +17 -0
  232. package/dist/svelte/runtime.d.ts +12 -0
  233. package/dist/svelte/runtime.d.ts.map +1 -0
  234. package/dist/svelte/runtime.js +11 -0
  235. package/dist/svelte/state.svelte.d.ts +30 -0
  236. package/dist/svelte/state.svelte.d.ts.map +1 -0
  237. package/dist/svelte/state.svelte.js +133 -0
  238. package/dist/svelte/styles.css +2 -0
  239. package/dist/svelte/types.d.ts +13 -0
  240. package/dist/svelte/types.d.ts.map +1 -0
  241. package/dist/svelte/types.js +1 -0
  242. package/package.json +223 -4
@@ -0,0 +1,17 @@
1
+ import type { VibesRuntime } from '@vibesdotdev/kernel';
2
+ import type { IntegrationProviderDescriptor } from '../schemas/integration-descriptor.ts';
3
+ import { type IntegrationsCatalogOptions } from './runtime.ts';
4
+ export interface IntegrationsCatalogData {
5
+ integrations: {
6
+ providers: IntegrationProviderDescriptor[];
7
+ };
8
+ }
9
+ /**
10
+ * SvelteKit-load-shaped catalog projection.
11
+ *
12
+ * Consumers may call this from a page or layout load and pass the serializable
13
+ * providers into IntegrationsLoader. The caller hands its runtime
14
+ * (`event.locals.runtime`); scope and transport are owned by that runtime.
15
+ */
16
+ export declare function loadIntegrationsCatalogData(runtime: VibesRuntime, options?: IntegrationsCatalogOptions): Promise<IntegrationsCatalogData>;
17
+ //# sourceMappingURL=loaders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loaders.d.ts","sourceRoot":"","sources":["../../src/svelte/loaders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAEN,KAAK,0BAA0B,EAC/B,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,uBAAuB;IACvC,YAAY,EAAE;QACb,SAAS,EAAE,6BAA6B,EAAE,CAAC;KAC3C,CAAC;CACF;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAChD,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE,0BAA+B,GACtC,OAAO,CAAC,uBAAuB,CAAC,CAQlC"}
@@ -0,0 +1,17 @@
1
+ import { projectIntegrationCatalogProvider } from "../catalog/integration-catalog.exposure.js";
2
+ import { loadIntegrationsCatalog } from "./runtime.js";
3
+ /**
4
+ * SvelteKit-load-shaped catalog projection.
5
+ *
6
+ * Consumers may call this from a page or layout load and pass the serializable
7
+ * providers into IntegrationsLoader. The caller hands its runtime
8
+ * (`event.locals.runtime`); scope and transport are owned by that runtime.
9
+ */
10
+ export async function loadIntegrationsCatalogData(runtime, options = {}) {
11
+ const providers = await loadIntegrationsCatalog(runtime, options);
12
+ return {
13
+ integrations: {
14
+ providers: providers.map(projectIntegrationCatalogProvider)
15
+ }
16
+ };
17
+ }
@@ -0,0 +1,12 @@
1
+ import type { VibesRuntime } from '@vibesdotdev/kernel';
2
+ import { type IntegrationProviderCatalogListOptions } from '../client/index.ts';
3
+ import type { IntegrationProviderDescriptor } from '../schemas/integration-descriptor.ts';
4
+ export type IntegrationsCatalogOptions = IntegrationProviderCatalogListOptions;
5
+ /**
6
+ * Load the integration provider descriptors visible to the handed runtime.
7
+ *
8
+ * This is the package's only runtime-data seam. It deliberately delegates to
9
+ * the owning feature client and never resolves provider implementations.
10
+ */
11
+ export declare function loadIntegrationsCatalog(runtime: VibesRuntime, options?: IntegrationsCatalogOptions): Promise<IntegrationProviderDescriptor[]>;
12
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/svelte/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAEN,KAAK,qCAAqC,EAC1C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAE1F,MAAM,MAAM,0BAA0B,GAAG,qCAAqC,CAAC;AAE/E;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC5C,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE,0BAA+B,GACtC,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAG1C"}
@@ -0,0 +1,11 @@
1
+ import { getVibesIntegrationsClient } from "../client/index.js";
2
+ /**
3
+ * Load the integration provider descriptors visible to the handed runtime.
4
+ *
5
+ * This is the package's only runtime-data seam. It deliberately delegates to
6
+ * the owning feature client and never resolves provider implementations.
7
+ */
8
+ export async function loadIntegrationsCatalog(runtime, options = {}) {
9
+ const integrations = await getVibesIntegrationsClient(runtime);
10
+ return integrations.providers.list(options);
11
+ }
@@ -0,0 +1,30 @@
1
+ import { type RuntimeClient } from '@vibesdotdev/kernel/client';
2
+ import { CapabilityError, type VibesRuntime } from '@vibesdotdev/kernel';
3
+ import type { IntegrationConnectRequestResult } from '../schemas/integration-connection.ts';
4
+ import type { IntegrationProviderDescriptor } from '../schemas/integration-descriptor.ts';
5
+ import type { IntegrationConnectionProvider } from './types.ts';
6
+ import { type IntegrationsCatalogOptions } from './runtime.ts';
7
+ export interface IntegrationsCatalogStateInitOptions extends IntegrationsCatalogOptions {
8
+ /** Runtime the catalog queries; captured from the Svelte runtime context. */
9
+ runtime: VibesRuntime;
10
+ /** Serializable descriptor seed from loadIntegrationsCatalogData(). */
11
+ initialProviders?: IntegrationProviderDescriptor[];
12
+ /** Refresh through the runtime even when initialProviders were supplied. */
13
+ refresh?: boolean;
14
+ }
15
+ export interface IntegrationsCatalogState extends RuntimeClient {
16
+ readonly providers: IntegrationProviderDescriptor[];
17
+ readonly initialized: boolean;
18
+ readonly loading: boolean;
19
+ readonly error: string | null;
20
+ readonly failure: CapabilityError | null;
21
+ init(options: IntegrationsCatalogStateInitOptions): Promise<void>;
22
+ refresh(options?: IntegrationsCatalogOptions): Promise<IntegrationProviderDescriptor[]>;
23
+ seedInitial(providers: IntegrationProviderDescriptor[]): void;
24
+ canRequestConnection(provider: IntegrationConnectionProvider): Promise<boolean>;
25
+ requestConnection(provider: IntegrationConnectionProvider): Promise<IntegrationConnectRequestResult>;
26
+ dispose(): void;
27
+ }
28
+ /** Resolve view state on the handed runtime; distinct runtime roots never share it. */
29
+ export declare function integrationsCatalogState(runtime: VibesRuntime): Promise<IntegrationsCatalogState>;
30
+ //# sourceMappingURL=state.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/state.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0D,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACxH,OAAO,EAAE,eAAe,EAAuC,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAC5F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAK1F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAEN,KAAK,0BAA0B,EAC/B,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,mCAAoC,SAAQ,0BAA0B;IACtF,6EAA6E;IAC7E,OAAO,EAAE,YAAY,CAAC;IACtB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,6BAA6B,EAAE,CAAC;IACnD,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAyB,SAAQ,aAAa;IAC9D,QAAQ,CAAC,SAAS,EAAE,6BAA6B,EAAE,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,mCAAmC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAAC;IACxF,WAAW,CAAC,SAAS,EAAE,6BAA6B,EAAE,GAAG,IAAI,CAAC;IAC9D,oBAAoB,CAAC,QAAQ,EAAE,6BAA6B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,iBAAiB,CAAC,QAAQ,EAAE,6BAA6B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACrG,OAAO,IAAI,IAAI,CAAC;CAChB;AA4ID,uFAAuF;AACvF,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAIvG"}
@@ -0,0 +1,133 @@
1
+ import { BaseRuntimeClient, getVibesClient, runtimeClientPlugin } from '@vibesdotdev/kernel/client';
2
+ import { CapabilityError, settle, createRuntimePlugin, loader } from '@vibesdotdev/kernel';
3
+ import { canRequestIntegrationConnection, requestIntegrationConnection } from "./connect-action.js";
4
+ import { loadIntegrationsCatalog } from "./runtime.js";
5
+ class RuntimeIntegrationsCatalogState extends BaseRuntimeClient {
6
+ providers = $state([]);
7
+ initialized = $state(false);
8
+ loading = $state(false);
9
+ error = $state(null);
10
+ failure = $state(null);
11
+ closed = false;
12
+ generation = 0;
13
+ inflight = null;
14
+ options = {};
15
+ /**
16
+ * Idempotent initialization driven by IntegrationsLoader.
17
+ *
18
+ * Concurrent callers share one runtime query. A server-provided descriptor
19
+ * seed is complete catalog data, so it avoids a duplicate query unless the
20
+ * caller explicitly requests refresh.
21
+ */
22
+ async init(options) {
23
+ if (options.runtime !== this.runtime)
24
+ throw new CapabilityError('Catalog state belongs to another runtime.', 'INVALID_INPUT', { reason: 'integration-catalog-runtime-mismatch' });
25
+ this.options = catalogOptions(options);
26
+ if (options.initialProviders !== undefined) {
27
+ this.seedInitial(options.initialProviders);
28
+ if (!options.refresh) {
29
+ this.initialized = true;
30
+ this.error = null;
31
+ this.failure = null;
32
+ return;
33
+ }
34
+ }
35
+ if (this.initialized && !options.refresh)
36
+ return;
37
+ const result = await settle(() => this.loadCatalog(this.options));
38
+ if (!result.ok && !this.closed && !this.failure) {
39
+ this.failure = new CapabilityError('The integration catalog could not be loaded.', 'UNAVAILABLE', {
40
+ reason: 'integration-catalog-load-failed', cause: result.cause
41
+ });
42
+ this.error = this.failure.message;
43
+ }
44
+ }
45
+ async refresh(options = this.options) {
46
+ this.options = options;
47
+ return this.loadCatalog(options);
48
+ }
49
+ seedInitial(providers) {
50
+ this.providers = [...providers];
51
+ }
52
+ canRequestConnection(provider) {
53
+ return canRequestIntegrationConnection(this.runtime, provider);
54
+ }
55
+ requestConnection(provider) {
56
+ return requestIntegrationConnection(this.runtime, provider);
57
+ }
58
+ onDispose() {
59
+ this.closed = true;
60
+ this.generation++;
61
+ this.inflight = null;
62
+ this.options = {};
63
+ this.providers = [];
64
+ this.initialized = false;
65
+ this.loading = false;
66
+ this.error = null;
67
+ this.failure = null;
68
+ }
69
+ async loadCatalog(options) {
70
+ if (this.inflight)
71
+ return this.inflight;
72
+ const runtime = this.runtime;
73
+ if (this.closed) {
74
+ throw new CapabilityError('The integration catalog state is disposed.', 'INVALID_INPUT', {
75
+ reason: 'integration-catalog-state-disposed',
76
+ retryable: false
77
+ });
78
+ }
79
+ const generation = this.generation;
80
+ this.loading = true;
81
+ this.error = null;
82
+ this.failure = null;
83
+ this.inflight = (async () => {
84
+ try {
85
+ const providers = await loadIntegrationsCatalog(runtime, options);
86
+ if (generation !== this.generation)
87
+ throw new CapabilityError('Catalog loading was cancelled.', 'CANCELLED', { reason: 'integration-catalog-load-cancelled' });
88
+ this.providers = providers;
89
+ this.initialized = true;
90
+ return providers;
91
+ }
92
+ catch (error) {
93
+ if (generation !== this.generation)
94
+ throw error;
95
+ this.failure = new CapabilityError('The integration catalog could not be loaded.', 'UNAVAILABLE', { reason: 'integration-catalog-load-failed', cause: error });
96
+ this.error = this.failure.message;
97
+ this.initialized = true;
98
+ throw error;
99
+ }
100
+ finally {
101
+ if (generation === this.generation) {
102
+ this.loading = false;
103
+ this.inflight = null;
104
+ }
105
+ }
106
+ })();
107
+ return this.inflight;
108
+ }
109
+ }
110
+ function catalogOptions(options) {
111
+ return {
112
+ includeDisabled: options.includeDisabled,
113
+ category: options.category,
114
+ provider: options.provider
115
+ };
116
+ }
117
+ const catalogStatePlugin = createRuntimePlugin({
118
+ id: 'integrations/svelte-state',
119
+ descriptors: [{
120
+ id: 'integrations-catalog-state',
121
+ kind: 'runtime/client',
122
+ name: 'Integrations catalog view state'
123
+ }],
124
+ loaders: [loader('integrations-catalog-state', { kind: 'runtime/client' }, async () => ({
125
+ default: RuntimeIntegrationsCatalogState
126
+ }))]
127
+ });
128
+ /** Resolve view state on the handed runtime; distinct runtime roots never share it. */
129
+ export async function integrationsCatalogState(runtime) {
130
+ await runtime.registerPlugin(runtimeClientPlugin);
131
+ await runtime.registerPlugin(catalogStatePlugin);
132
+ return getVibesClient('integrations-catalog-state', runtime);
133
+ }
@@ -0,0 +1,2 @@
1
+ /* Tailwind v4 source declaration for consuming applications. */
2
+ @source "./";
@@ -0,0 +1,13 @@
1
+ import type { IntegrationProviderDescriptor } from '../schemas/integration-descriptor.ts';
2
+ /** Provider fields needed to resolve the runtime connection capability. */
3
+ export type IntegrationConnectionProvider = Pick<IntegrationProviderDescriptor, 'id' | 'enabled' | 'connection'>;
4
+ export interface IntegrationsCatalogProps {
5
+ /** Optional server-loaded descriptors; defaults to integrationsCatalogState. */
6
+ providers?: IntegrationProviderDescriptor[];
7
+ title?: string;
8
+ description?: string;
9
+ emptyTitle?: string;
10
+ emptyDescription?: string;
11
+ connectLabel?: string;
12
+ }
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/svelte/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAE1F,2EAA2E;AAC3E,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC/C,6BAA6B,EAC7B,IAAI,GAAG,SAAS,GAAG,YAAY,CAC/B,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACxC,gFAAgF;IAChF,SAAS,CAAC,EAAE,6BAA6B,EAAE,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,225 @@
1
1
  {
2
2
  "name": "@vibesdotdev/integrations",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "1.0.0-rc.2",
4
+ "dependencies": {
5
+ "@vibesdotdev/docs-contracts": "^1.0.0-rc.4",
6
+ "@vibesdotdev/logging": "^1.0.0-rc.3",
7
+ "@vibesdotdev/kernel": "^1.0.0-rc.5",
8
+ "@vibesdotdev/secrets": "^1.0.0-rc.2",
9
+ "@vibesdotdev/security": "^1.0.0-rc.2",
10
+ "@vibesdotdev/storage": "^1.0.0-rc.2",
11
+ "zod": "^4.6.7",
12
+ "@vibesdotdev/surface-sveltekit": "^1.0.0-rc.2"
13
+ },
14
+ "peerDependencies": {
15
+ "@vibesdotdev/kit": "^1.0.0-rc.2",
16
+ "svelte": "^5.57.2"
17
+ },
18
+ "main": "./dist/index.js",
19
+ "exports": {
20
+ ".": {
21
+ "bun": "./dist/index.js",
22
+ "types": "./dist/index.d.ts",
23
+ "import": "./dist/index.js",
24
+ "default": "./dist/index.js"
25
+ },
26
+ "./browser.plugin": {
27
+ "bun": "./dist/integrations.browser.plugin.js",
28
+ "types": "./dist/integrations.browser.plugin.d.ts",
29
+ "import": "./dist/integrations.browser.plugin.js",
30
+ "default": "./dist/integrations.browser.plugin.js"
31
+ },
32
+ "./catalog": {
33
+ "bun": "./dist/catalog/index.js",
34
+ "types": "./dist/catalog/index.d.ts",
35
+ "import": "./dist/catalog/index.js",
36
+ "default": "./dist/catalog/index.js"
37
+ },
38
+ "./client": {
39
+ "bun": "./dist/client/index.js",
40
+ "types": "./dist/client/index.d.ts",
41
+ "import": "./dist/client/index.js",
42
+ "default": "./dist/client/index.js"
43
+ },
44
+ "./base": {
45
+ "bun": "./dist/base/index.js",
46
+ "types": "./dist/base/index.d.ts",
47
+ "import": "./dist/base/index.js",
48
+ "default": "./dist/base/index.js"
49
+ },
50
+ "./base/*": {
51
+ "bun": "./dist/base/*.js",
52
+ "types": "./dist/base/*.d.ts",
53
+ "import": "./dist/base/*.js",
54
+ "default": "./dist/base/*.js"
55
+ },
56
+ "./base/plugin": {
57
+ "bun": "./dist/base/base.plugin.js",
58
+ "types": "./dist/base/base.plugin.d.ts",
59
+ "import": "./dist/base/base.plugin.js",
60
+ "default": "./dist/base/base.plugin.js"
61
+ },
62
+ "./http": {
63
+ "bun": "./dist/http/fetch-with-retry.js",
64
+ "types": "./dist/http/fetch-with-retry.d.ts",
65
+ "import": "./dist/http/fetch-with-retry.js",
66
+ "default": "./dist/http/fetch-with-retry.js"
67
+ },
68
+ "./kinds/integration": {
69
+ "bun": "./dist/kinds/integration.kind.js",
70
+ "types": "./dist/kinds/integration.kind.d.ts",
71
+ "import": "./dist/kinds/integration.kind.js",
72
+ "default": "./dist/kinds/integration.kind.js"
73
+ },
74
+ "./kinds/store": {
75
+ "bun": "./dist/kinds/integration.store.js",
76
+ "types": "./dist/kinds/integration.store.d.ts",
77
+ "import": "./dist/kinds/integration.store.js",
78
+ "default": "./dist/kinds/integration.store.js"
79
+ },
80
+ "./plugin": {
81
+ "bun": "./dist/integrations.plugin.js",
82
+ "types": "./dist/integrations.plugin.d.ts",
83
+ "import": "./dist/integrations.plugin.js",
84
+ "default": "./dist/integrations.plugin.js"
85
+ },
86
+ "./schemas/*": {
87
+ "bun": "./dist/schemas/*.js",
88
+ "types": "./dist/schemas/*.d.ts",
89
+ "import": "./dist/schemas/*.js",
90
+ "default": "./dist/schemas/*.js"
91
+ },
92
+ "./server/defaults": {
93
+ "bun": "./dist/server/system-defaults.js",
94
+ "types": "./dist/server/system-defaults.d.ts",
95
+ "import": "./dist/server/system-defaults.js",
96
+ "default": "./dist/server/system-defaults.js"
97
+ },
98
+ "./server/oauth": {
99
+ "bun": "./dist/server/integration-oauth.js",
100
+ "types": "./dist/server/integration-oauth.d.ts",
101
+ "import": "./dist/server/integration-oauth.js",
102
+ "default": "./dist/server/integration-oauth.js"
103
+ },
104
+ "./server/oauth-state": {
105
+ "bun": "./dist/server/oauth-state.js",
106
+ "types": "./dist/server/oauth-state.d.ts",
107
+ "import": "./dist/server/oauth-state.js",
108
+ "default": "./dist/server/oauth-state.js"
109
+ },
110
+ "./server/secrets": {
111
+ "bun": "./dist/server/integration-secrets.js",
112
+ "types": "./dist/server/integration-secrets.d.ts",
113
+ "import": "./dist/server/integration-secrets.js",
114
+ "default": "./dist/server/integration-secrets.js"
115
+ },
116
+ "./svelte": {
117
+ "bun": "./dist/svelte/index.js",
118
+ "types": "./dist/svelte/index.d.ts",
119
+ "svelte": "./dist/svelte/index.js",
120
+ "import": "./dist/svelte/index.js",
121
+ "default": "./dist/svelte/index.js"
122
+ },
123
+ "./svelte/IntegrationsCatalog.svelte": {
124
+ "bun": "./dist/svelte/components/IntegrationsCatalog.svelte",
125
+ "types": "./dist/svelte/components/IntegrationsCatalog.svelte.d.ts",
126
+ "svelte": "./dist/svelte/components/IntegrationsCatalog.svelte",
127
+ "default": "./dist/svelte/components/IntegrationsCatalog.svelte"
128
+ },
129
+ "./svelte/IntegrationsLoader.svelte": {
130
+ "bun": "./dist/svelte/components/IntegrationsLoader.svelte",
131
+ "types": "./dist/svelte/components/IntegrationsLoader.svelte.d.ts",
132
+ "svelte": "./dist/svelte/components/IntegrationsLoader.svelte",
133
+ "default": "./dist/svelte/components/IntegrationsLoader.svelte"
134
+ },
135
+ "./svelte/loaders": {
136
+ "bun": "./dist/svelte/loaders.js",
137
+ "types": "./dist/svelte/loaders.d.ts",
138
+ "import": "./dist/svelte/loaders.js",
139
+ "default": "./dist/svelte/loaders.js"
140
+ },
141
+ "./svelte/plugin": {
142
+ "bun": "./dist/svelte/integrations-svelte.plugin.js",
143
+ "types": "./dist/svelte/integrations-svelte.plugin.d.ts",
144
+ "import": "./dist/svelte/integrations-svelte.plugin.js",
145
+ "default": "./dist/svelte/integrations-svelte.plugin.js"
146
+ },
147
+ "./svelte/runtime": {
148
+ "bun": "./dist/svelte/runtime.js",
149
+ "types": "./dist/svelte/runtime.d.ts",
150
+ "import": "./dist/svelte/runtime.js",
151
+ "default": "./dist/svelte/runtime.js"
152
+ },
153
+ "./svelte/state": {
154
+ "bun": "./dist/svelte/state.svelte.js",
155
+ "types": "./dist/svelte/state.svelte.d.ts",
156
+ "svelte": "./dist/svelte/state.svelte.js",
157
+ "import": "./dist/svelte/state.svelte.js",
158
+ "default": "./dist/svelte/state.svelte.js"
159
+ },
160
+ "./svelte/styles.css": {
161
+ "style": "./dist/svelte/styles.css",
162
+ "bun": "./dist/svelte/styles.css",
163
+ "default": "./dist/svelte/styles.css"
164
+ },
165
+ "./svelte/types": {
166
+ "bun": "./dist/svelte/types.js",
167
+ "types": "./dist/svelte/types.d.ts",
168
+ "import": "./dist/svelte/types.js",
169
+ "default": "./dist/svelte/types.js"
170
+ },
171
+ "./consumer.plugin": {
172
+ "bun": "./dist/integrations.consumer.plugin.js",
173
+ "types": "./dist/integrations.consumer.plugin.d.ts",
174
+ "import": "./dist/integrations.consumer.plugin.js",
175
+ "default": "./dist/integrations.consumer.plugin.js"
176
+ }
177
+ },
178
+ "files": [
179
+ "dist",
180
+ "README.md",
181
+ "LICENSE",
182
+ "!dist/**/*.tsbuildinfo"
183
+ ],
184
+ "scripts": {
185
+ "lint": "node ../../node_modules/@vibesdotdev/internal-oxlint-toolchain/ratchet.mjs .",
186
+ "test": "${BUN:-bun} test src",
187
+ "check": "${BUN:-bun} --bun tsc -p tsconfig.json && ${BUN:-bun} --bun svelte-check --tsconfig ./tsconfig.svelte.check.json",
188
+ "check:svelte": "${BUN:-bun} --bun svelte-check --tsconfig ./tsconfig.svelte.check.json",
189
+ "build": "tsc -p tsconfig.core.json && ${BUN:-bun} --bun svelte-package --input ./src/svelte --output ./dist/svelte --tsconfig ./tsconfig.svelte.json && rm -rf dist/svelte/__tests__ && find dist/svelte -name '*.test.*' -delete && find dist/svelte -name '*.spec.*' -delete"
190
+ },
191
+ "repository": {
192
+ "type": "git",
193
+ "url": "ssh://git@git.vibes.dev/vibesdotdev/integrations.git",
194
+ "directory": "integrations/core"
195
+ },
196
+ "publishConfig": {
197
+ "registry": "https://packages.vibes.dev",
198
+ "access": "public"
199
+ },
200
+ "vibes": {
201
+ "visibility": "public",
202
+ "handedRuntimeLogging": true,
203
+ "registry": {
204
+ "repositoryId": "70be51c9-5ab7-4d7e-9f47-801cb17720d8",
205
+ "directory": "integrations/core"
206
+ }
207
+ },
208
+ "type": "module",
209
+ "types": "./dist/index.d.ts",
210
+ "license": "MIT",
211
+ "peerDependenciesMeta": {
212
+ "@vibesdotdev/kit": {
213
+ "optional": true
214
+ },
215
+ "svelte": {
216
+ "optional": true
217
+ }
218
+ },
219
+ "gitHead": "494ddfcab4c073eef61acb182042223d7e4da2e5",
220
+ "_vibes_source": {
221
+ "repo": "ssh://git@git.vibes.dev/vibesdotdev/integrations.git",
222
+ "sha": "494ddfcab4c073eef61acb182042223d7e4da2e5",
223
+ "workspaceDigest": "sha256:fbeb73f8ba5ba9fbb1ffe6814b1dc7989a6e72cddc868b61020c2aaa7f7b1dbf"
224
+ }
225
+ }