@vibesdotdev/integrations-miro 0.0.0-stage → 1.0.0-rc.1

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 (119) hide show
  1. package/LICENSE +126 -0
  2. package/README.md +52 -2
  3. package/dist/client/helper.d.ts +5 -0
  4. package/dist/client/helper.d.ts.map +1 -0
  5. package/dist/client/helper.js +6 -0
  6. package/dist/client/helper.js.map +1 -0
  7. package/dist/client/index.d.ts +3 -0
  8. package/dist/client/index.d.ts.map +1 -0
  9. package/dist/client/index.js +3 -0
  10. package/dist/client/index.js.map +1 -0
  11. package/dist/client/runtime-client.d.ts +36 -0
  12. package/dist/client/runtime-client.d.ts.map +1 -0
  13. package/dist/client/runtime-client.js +108 -0
  14. package/dist/client/runtime-client.js.map +1 -0
  15. package/dist/docs/integrations-miro.docs.descriptor.d.ts +19 -0
  16. package/dist/docs/integrations-miro.docs.descriptor.d.ts.map +1 -0
  17. package/dist/docs/integrations-miro.docs.descriptor.js +47 -0
  18. package/dist/docs/integrations-miro.docs.descriptor.js.map +1 -0
  19. package/dist/index.d.ts +12 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +10 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/integrations-miro.plugin.d.ts +4 -0
  24. package/dist/integrations-miro.plugin.d.ts.map +1 -0
  25. package/dist/integrations-miro.plugin.js +22 -0
  26. package/dist/integrations-miro.plugin.js.map +1 -0
  27. package/dist/miro/errors.d.ts +10 -0
  28. package/dist/miro/errors.d.ts.map +1 -0
  29. package/dist/miro/errors.js +23 -0
  30. package/dist/miro/errors.js.map +1 -0
  31. package/dist/miro/index.d.ts +7 -0
  32. package/dist/miro/index.d.ts.map +1 -0
  33. package/dist/miro/index.js +5 -0
  34. package/dist/miro/index.js.map +1 -0
  35. package/dist/miro/miro-client.d.ts +22 -0
  36. package/dist/miro/miro-client.d.ts.map +1 -0
  37. package/dist/miro/miro-client.js +225 -0
  38. package/dist/miro/miro-client.js.map +1 -0
  39. package/dist/miro/miro-implementation.d.ts +17 -0
  40. package/dist/miro/miro-implementation.d.ts.map +1 -0
  41. package/dist/miro/miro-implementation.js +108 -0
  42. package/dist/miro/miro-implementation.js.map +1 -0
  43. package/dist/miro/miro-schemas.d.ts +2 -0
  44. package/dist/miro/miro-schemas.d.ts.map +1 -0
  45. package/dist/miro/miro-schemas.js +2 -0
  46. package/dist/miro/miro-schemas.js.map +1 -0
  47. package/dist/miro/system.integration.miro.descriptor.d.ts +69 -0
  48. package/dist/miro/system.integration.miro.descriptor.d.ts.map +1 -0
  49. package/dist/miro/system.integration.miro.descriptor.js +109 -0
  50. package/dist/miro/system.integration.miro.descriptor.js.map +1 -0
  51. package/dist/miro.catalog.plugin.d.ts +78 -0
  52. package/dist/miro.catalog.plugin.d.ts.map +1 -0
  53. package/dist/miro.catalog.plugin.js +21 -0
  54. package/dist/miro.catalog.plugin.js.map +1 -0
  55. package/dist/miro.client.plugin.d.ts +9 -0
  56. package/dist/miro.client.plugin.d.ts.map +1 -0
  57. package/dist/miro.client.plugin.js +38 -0
  58. package/dist/miro.client.plugin.js.map +1 -0
  59. package/dist/schemas/http.d.ts +42 -0
  60. package/dist/schemas/http.d.ts.map +1 -0
  61. package/dist/schemas/http.js +33 -0
  62. package/dist/schemas/http.js.map +1 -0
  63. package/dist/schemas/miro.d.ts +445 -0
  64. package/dist/schemas/miro.d.ts.map +1 -0
  65. package/dist/schemas/miro.js +171 -0
  66. package/dist/schemas/miro.js.map +1 -0
  67. package/dist/schemas/oauth.d.ts +136 -0
  68. package/dist/schemas/oauth.d.ts.map +1 -0
  69. package/dist/schemas/oauth.js +42 -0
  70. package/dist/schemas/oauth.js.map +1 -0
  71. package/dist/schemas/operations.d.ts +540 -0
  72. package/dist/schemas/operations.d.ts.map +1 -0
  73. package/dist/schemas/operations.js +58 -0
  74. package/dist/schemas/operations.js.map +1 -0
  75. package/dist/schemas/sync.d.ts +340 -0
  76. package/dist/schemas/sync.d.ts.map +1 -0
  77. package/dist/schemas/sync.js +40 -0
  78. package/dist/schemas/sync.js.map +1 -0
  79. package/dist/schemas/tools.d.ts +533 -0
  80. package/dist/schemas/tools.d.ts.map +1 -0
  81. package/dist/schemas/tools.js +58 -0
  82. package/dist/schemas/tools.js.map +1 -0
  83. package/dist/server/oauth.d.ts +17 -0
  84. package/dist/server/oauth.d.ts.map +1 -0
  85. package/dist/server/oauth.js +74 -0
  86. package/dist/server/oauth.js.map +1 -0
  87. package/dist/sync/miro.sync-endpoint.descriptor.d.ts +14 -0
  88. package/dist/sync/miro.sync-endpoint.descriptor.d.ts.map +1 -0
  89. package/dist/sync/miro.sync-endpoint.descriptor.js +10 -0
  90. package/dist/sync/miro.sync-endpoint.descriptor.js.map +1 -0
  91. package/dist/sync/miro.sync-endpoint.impl.d.ts +31 -0
  92. package/dist/sync/miro.sync-endpoint.impl.d.ts.map +1 -0
  93. package/dist/sync/miro.sync-endpoint.impl.js +353 -0
  94. package/dist/sync/miro.sync-endpoint.impl.js.map +1 -0
  95. package/dist/sync/miro.title.sync-mapping.descriptor.d.ts +15 -0
  96. package/dist/sync/miro.title.sync-mapping.descriptor.d.ts.map +1 -0
  97. package/dist/sync/miro.title.sync-mapping.descriptor.js +15 -0
  98. package/dist/sync/miro.title.sync-mapping.descriptor.js.map +1 -0
  99. package/dist/sync/miro.title.sync-mapping.impl.d.ts +17 -0
  100. package/dist/sync/miro.title.sync-mapping.impl.d.ts.map +1 -0
  101. package/dist/sync/miro.title.sync-mapping.impl.js +20 -0
  102. package/dist/sync/miro.title.sync-mapping.impl.js.map +1 -0
  103. package/dist/tools/descriptors.d.ts +1049 -0
  104. package/dist/tools/descriptors.d.ts.map +1 -0
  105. package/dist/tools/descriptors.js +152 -0
  106. package/dist/tools/descriptors.js.map +1 -0
  107. package/dist/tools/impl.d.ts +13 -0
  108. package/dist/tools/impl.d.ts.map +1 -0
  109. package/dist/tools/impl.js +60 -0
  110. package/dist/tools/impl.js.map +1 -0
  111. package/dist/tools/index.d.ts +3 -0
  112. package/dist/tools/index.d.ts.map +1 -0
  113. package/dist/tools/index.js +3 -0
  114. package/dist/tools/index.js.map +1 -0
  115. package/dist/tools/schemas.d.ts +2 -0
  116. package/dist/tools/schemas.d.ts.map +1 -0
  117. package/dist/tools/schemas.js +2 -0
  118. package/dist/tools/schemas.js.map +1 -0
  119. package/package.json +104 -4
@@ -0,0 +1,78 @@
1
+ /** Renderer-safe Miro declaration. Operational authority stays with the host plugin. */
2
+ export declare const miroCatalogProviderDescriptor: {
3
+ id: string;
4
+ kind: "integration/provider";
5
+ requiredContext: string[];
6
+ optionalContext: string[];
7
+ provider: string;
8
+ category: "push" | "email" | "webhook" | "accounting" | "vcs" | "issue-tracker" | "productivity" | "ocr" | "messaging" | "sms" | "storage" | "analytics" | "observability" | "crm" | "calendar" | "other";
9
+ priority: number;
10
+ config: Record<string, import("@vibesdotdev/kernel/bootstrap").JsonValue>;
11
+ protectedConfigKeys: string[];
12
+ credentials: {
13
+ key: string;
14
+ source: "secret" | "setting";
15
+ required: boolean;
16
+ reference?: {
17
+ source: "secret";
18
+ key: string;
19
+ store?: string | undefined;
20
+ operation?: object | undefined;
21
+ } | undefined;
22
+ providerType?: string | undefined;
23
+ scope?: "project" | "user" | "platform" | "org" | undefined;
24
+ scopeId?: string | undefined;
25
+ settingKey?: string | undefined;
26
+ }[];
27
+ operations: {
28
+ id: string;
29
+ name: string;
30
+ requiresOrg: boolean;
31
+ description?: string | undefined;
32
+ }[];
33
+ name?: string | undefined;
34
+ description?: string | undefined;
35
+ tags?: string[] | undefined;
36
+ hardware?: string[] | undefined;
37
+ enabled?: boolean | undefined;
38
+ capabilityId?: string | undefined;
39
+ retention?: string | {
40
+ reason: string;
41
+ maxAgeDays?: number | undefined;
42
+ maxEntries?: number | undefined;
43
+ maxBytes?: number | undefined;
44
+ cascadeFrom?: string | undefined;
45
+ ageField?: string | undefined;
46
+ enforcedBy?: string | undefined;
47
+ } | undefined;
48
+ baseUrl?: string | undefined;
49
+ configurationSource?: "account" | "host" | undefined;
50
+ configSettingKey?: string | undefined;
51
+ oauth?: {
52
+ authorizationEndpoint: string;
53
+ tokenEndpoint: string;
54
+ scopes: string[];
55
+ configFromCallback: string[];
56
+ clientAuthentication: "form" | "basic";
57
+ bodyEncoding: "form" | "json";
58
+ headers: Record<string, string>;
59
+ authorizationParams?: Record<string, string> | undefined;
60
+ scopeIdCallbackParam?: string | undefined;
61
+ } | undefined;
62
+ connection?: {
63
+ connectable: boolean;
64
+ checkable: boolean;
65
+ requiresProviderAdmin: boolean;
66
+ authMode?: "oauth" | "webhook" | "delegated" | "system-config" | undefined;
67
+ } | undefined;
68
+ };
69
+ /**
70
+ * Descriptor-only catalog contribution for browser and consumer-daemon runtimes.
71
+ *
72
+ * This plugin deliberately owns no loader, implementation, credentials, or
73
+ * provider operations. Hosts compose the full Miro plugin where execution is
74
+ * authorized; consumer surfaces only receive the projected declaration.
75
+ */
76
+ export declare const integrationsMiroCatalogPlugin: import("@vibesdotdev/kernel").RuntimePlugin;
77
+ export default integrationsMiroCatalogPlugin;
78
+ //# sourceMappingURL=miro.catalog.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"miro.catalog.plugin.d.ts","sourceRoot":"","sources":["../src/miro.catalog.plugin.ts"],"names":[],"mappings":"AAIA,wFAAwF;AACxF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4D,CAAC;AAEvG;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,6CAMxC,CAAC;AAEH,eAAe,6BAA6B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { projectIntegrationCatalogProvider } from '@vibesdotdev/integrations/catalog';
2
+ import { createRuntimePlugin } from '@vibesdotdev/kernel/factory';
3
+ import miroProviderDescriptor from "./miro/system.integration.miro.descriptor.js";
4
+ /** Renderer-safe Miro declaration. Operational authority stays with the host plugin. */
5
+ export const miroCatalogProviderDescriptor = projectIntegrationCatalogProvider(miroProviderDescriptor);
6
+ /**
7
+ * Descriptor-only catalog contribution for browser and consumer-daemon runtimes.
8
+ *
9
+ * This plugin deliberately owns no loader, implementation, credentials, or
10
+ * provider operations. Hosts compose the full Miro plugin where execution is
11
+ * authorized; consumer surfaces only receive the projected declaration.
12
+ */
13
+ export const integrationsMiroCatalogPlugin = createRuntimePlugin({
14
+ id: 'integrations-miro/catalog',
15
+ name: 'Miro Integration Catalog',
16
+ description: 'Renderer-safe Miro integration catalog declaration.',
17
+ dependencies: ['integrations'],
18
+ descriptors: [miroCatalogProviderDescriptor]
19
+ });
20
+ export default integrationsMiroCatalogPlugin;
21
+ //# sourceMappingURL=miro.catalog.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"miro.catalog.plugin.js","sourceRoot":"","sources":["../src/miro.catalog.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,sBAAsB,MAAM,8CAA8C,CAAC;AAElF,wFAAwF;AACxF,MAAM,CAAC,MAAM,6BAA6B,GAAG,iCAAiC,CAAC,sBAAsB,CAAC,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,mBAAmB,CAAC;IAC/D,EAAE,EAAE,2BAA2B;IAC/B,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,qDAAqD;IAClE,YAAY,EAAE,CAAC,cAAc,CAAC;IAC9B,WAAW,EAAE,CAAC,6BAA6B,CAAC;CAC7C,CAAC,CAAC;AAEH,eAAe,6BAA6B,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const miroRuntimeClientDescriptor: {
2
+ readonly id: "miro";
3
+ readonly kind: "runtime/client";
4
+ readonly description: "Canonical Miro client with boards and items namespaces over platform integration dispatch.";
5
+ };
6
+ /** Client-only slice for workers that must never host provider credentials. */
7
+ export declare const integrationsMiroClientPlugin: import("@vibesdotdev/kernel").RuntimePlugin;
8
+ export default integrationsMiroClientPlugin;
9
+ //# sourceMappingURL=miro.client.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"miro.client.plugin.d.ts","sourceRoot":"","sources":["../src/miro.client.plugin.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,2BAA2B;;;;CAK9B,CAAC;AAEX,+EAA+E;AAC/E,eAAO,MAAM,4BAA4B,6CAkCvC,CAAC;AAEH,eAAe,4BAA4B,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { createRuntimePlugin, loader } from '@vibesdotdev/kernel/factory';
2
+ import integrationsMiroDocsDescriptor from "./docs/integrations-miro.docs.descriptor.js";
3
+ import miroSyncEndpoint from "./sync/miro.sync-endpoint.descriptor.js";
4
+ import miroTitleSyncMapping from "./sync/miro.title.sync-mapping.descriptor.js";
5
+ import { MIRO_TOOL_IDS, miroToolDescriptors } from "./tools/descriptors.js";
6
+ export const miroRuntimeClientDescriptor = {
7
+ id: 'miro',
8
+ kind: 'runtime/client',
9
+ description: 'Canonical Miro client with boards and items namespaces over platform integration dispatch.'
10
+ };
11
+ /** Client-only slice for workers that must never host provider credentials. */
12
+ export const integrationsMiroClientPlugin = createRuntimePlugin({
13
+ id: 'integrations-miro/client',
14
+ name: 'Integrations Miro Client Plugin',
15
+ description: 'Canonical Miro runtime client over platform internal dispatch',
16
+ dependencies: ['sync'],
17
+ descriptors: [
18
+ miroRuntimeClientDescriptor,
19
+ miroSyncEndpoint,
20
+ miroTitleSyncMapping,
21
+ integrationsMiroDocsDescriptor,
22
+ ...miroToolDescriptors
23
+ ],
24
+ loaders: [
25
+ loader('miro', { kind: 'runtime/client' }, async () => {
26
+ const { MiroClient } = await import("./client/runtime-client.js");
27
+ return { impl: MiroClient };
28
+ }),
29
+ loader(miroSyncEndpoint.id, { kind: 'sync/endpoint' }, () => import("./sync/miro.sync-endpoint.impl.js")),
30
+ loader(miroTitleSyncMapping.id, { kind: 'sync/mapping' }, () => import("./sync/miro.title.sync-mapping.impl.js")),
31
+ ...MIRO_TOOL_IDS.map((toolId) => loader(toolId, { kind: 'tools/tool' }, async () => {
32
+ const { createMiroTool } = await import("./tools/impl.js");
33
+ return createMiroTool(toolId);
34
+ }))
35
+ ]
36
+ });
37
+ export default integrationsMiroClientPlugin;
38
+ //# sourceMappingURL=miro.client.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"miro.client.plugin.js","sourceRoot":"","sources":["../src/miro.client.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,8BAA8B,MAAM,6CAA6C,CAAC;AACzF,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AACvE,OAAO,oBAAoB,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,MAAM,CAAC,MAAM,2BAA2B,GAAG;IAC1C,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACV,4FAA4F;CACpF,CAAC;AAEX,+EAA+E;AAC/E,MAAM,CAAC,MAAM,4BAA4B,GAAG,mBAAmB,CAAC;IAC/D,EAAE,EAAE,0BAA0B;IAC9B,IAAI,EAAE,iCAAiC;IACvC,WAAW,EAAE,+DAA+D;IAC5E,YAAY,EAAE,CAAC,MAAM,CAAC;IACtB,WAAW,EAAE;QACZ,2BAA2B;QAC3B,gBAAgB;QAChB,oBAAoB;QACpB,8BAA8B;QAC9B,GAAG,mBAAmB;KACtB;IACD,OAAO,EAAE;QACR,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC7B,CAAC,CAAC;QACF,MAAM,CACL,gBAAgB,CAAC,EAAE,EACnB,EAAE,IAAI,EAAE,eAAe,EAAE,EACzB,GAAG,EAAE,CAAC,MAAM,CAAC,mCAAmC,CAAC,CACjD;QACD,MAAM,CACL,oBAAoB,CAAC,EAAE,EACvB,EAAE,IAAI,EAAE,cAAc,EAAE,EACxB,GAAG,EAAE,CAAC,MAAM,CAAC,wCAAwC,CAAC,CACtD;QACD,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/B,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC3D,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CACF;KACD;CACD,CAAC,CAAC;AAEH,eAAe,4BAA4B,CAAC"}
@@ -0,0 +1,42 @@
1
+ import * as z from 'zod/v4';
2
+ export declare const RawMiroListSchema: z.ZodObject<{
3
+ data: z.ZodArray<z.ZodType<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/bootstrap").JsonValue, import("@vibesdotdev/kernel/bootstrap").JsonValue>>>;
4
+ size: z.ZodOptional<z.ZodNumber>;
5
+ limit: z.ZodOptional<z.ZodNumber>;
6
+ offset: z.ZodOptional<z.ZodNumber>;
7
+ total: z.ZodOptional<z.ZodNumber>;
8
+ cursor: z.ZodOptional<z.ZodString>;
9
+ }, z.core.$strip>;
10
+ export declare const MiroBoardLookupSchema: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
11
+ boardId: string;
12
+ }, string>>, z.ZodObject<{
13
+ boardId: z.ZodString;
14
+ }, z.core.$strip>]>;
15
+ export declare const MiroClientConfigSchema: z.ZodObject<{
16
+ apiToken: z.ZodOptional<z.ZodString>;
17
+ fetchFn: z.ZodOptional<z.ZodCustom<MiroFetch, MiroFetch>>;
18
+ }, z.core.$strip>;
19
+ export type MiroFetch = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
20
+ export type MiroClientConfig = z.infer<typeof MiroClientConfigSchema>;
21
+ export declare const MiroFailureOptionsSchema: z.ZodObject<{
22
+ status: z.ZodOptional<z.ZodNumber>;
23
+ failure: z.ZodOptional<z.ZodObject<{
24
+ name: z.ZodString;
25
+ code: z.ZodOptional<z.ZodString>;
26
+ reason: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strip>>;
28
+ reason: z.ZodDefault<z.ZodEnum<{
29
+ "miro-token-required": "miro-token-required";
30
+ "miro-http-failed": "miro-http-failed";
31
+ "miro-response-invalid": "miro-response-invalid";
32
+ "miro-transport-failed": "miro-transport-failed";
33
+ }>>;
34
+ rateLimit: z.ZodOptional<z.ZodObject<{
35
+ limitCredits: z.ZodOptional<z.ZodNumber>;
36
+ remainingCredits: z.ZodOptional<z.ZodNumber>;
37
+ resetAt: z.ZodOptional<z.ZodNumber>;
38
+ retryAfterSeconds: z.ZodOptional<z.ZodNumber>;
39
+ }, z.core.$strip>>;
40
+ }, z.core.$strip>;
41
+ export type MiroFailureOptions = z.input<typeof MiroFailureOptionsSchema>;
42
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/schemas/http.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,eAAO,MAAM,iBAAiB;;;;;;;iBAO5B,CAAC;AACH,eAAO,MAAM,qBAAqB;;;;mBAGhC,CAAC;AACH,eAAO,MAAM,sBAAsB;;;iBAKjC,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjG,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;iBAUnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { ValueFreeFailureSchema } from '@vibesdotdev/kernel';
2
+ import * as z from 'zod/v4';
3
+ import { MiroJsonValueSchema } from "./miro.js";
4
+ export const RawMiroListSchema = z.object({
5
+ data: z.array(MiroJsonValueSchema),
6
+ size: z.number().int().nonnegative().optional(),
7
+ limit: z.number().int().positive().optional(),
8
+ offset: z.number().int().nonnegative().optional(),
9
+ total: z.number().int().nonnegative().optional(),
10
+ cursor: z.string().optional()
11
+ });
12
+ export const MiroBoardLookupSchema = z.union([
13
+ z.string().trim().min(1).transform(boardId => ({ boardId })),
14
+ z.object({ boardId: z.string().trim().min(1) })
15
+ ]);
16
+ export const MiroClientConfigSchema = z.object({
17
+ apiToken: z.string().trim().min(1).optional(),
18
+ fetchFn: z.custom(value => value instanceof Function).optional()
19
+ }).refine(config => config.apiToken !== undefined || config.fetchFn !== undefined, {
20
+ message: 'Miro requires a token or an authenticated fetch implementation.'
21
+ });
22
+ export const MiroFailureOptionsSchema = z.object({
23
+ status: z.number().int().min(100).max(599).optional(),
24
+ failure: ValueFreeFailureSchema.optional(),
25
+ reason: z.enum(['miro-token-required', 'miro-http-failed', 'miro-response-invalid', 'miro-transport-failed']).default('miro-http-failed'),
26
+ rateLimit: z.object({
27
+ limitCredits: z.number().nonnegative().optional(),
28
+ remainingCredits: z.number().nonnegative().optional(),
29
+ resetAt: z.number().nonnegative().optional(),
30
+ retryAfterSeconds: z.number().nonnegative().optional()
31
+ }).optional()
32
+ });
33
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/schemas/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;CAC/C,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAY,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,QAAQ,CAAC,CAAC,QAAQ,EAAE;CAC3E,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;IAClF,OAAO,EAAE,iEAAiE;CAC1E,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACrD,OAAO,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC1C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACzI,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;QACjD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;QACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;QAC5C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;KACtD,CAAC,CAAC,QAAQ,EAAE;CACb,CAAC,CAAC"}