@vibesdotdev/integrations-penpot 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 (63) hide show
  1. package/LICENSE +126 -0
  2. package/README.md +46 -2
  3. package/dist/client/index.d.ts +5 -0
  4. package/dist/client/index.d.ts.map +1 -0
  5. package/dist/client/index.js +5 -0
  6. package/dist/client/index.js.map +1 -0
  7. package/dist/client/penpot-api.d.ts +70 -0
  8. package/dist/client/penpot-api.d.ts.map +1 -0
  9. package/dist/client/penpot-api.js +241 -0
  10. package/dist/client/penpot-api.js.map +1 -0
  11. package/dist/client/penpot-client.d.ts +50 -0
  12. package/dist/client/penpot-client.d.ts.map +1 -0
  13. package/dist/client/penpot-client.descriptor.d.ts +4 -0
  14. package/dist/client/penpot-client.descriptor.d.ts.map +1 -0
  15. package/dist/client/penpot-client.descriptor.js +6 -0
  16. package/dist/client/penpot-client.descriptor.js.map +1 -0
  17. package/dist/client/penpot-client.js +52 -0
  18. package/dist/client/penpot-client.js.map +1 -0
  19. package/dist/config/penpot.config.descriptor.d.ts +50 -0
  20. package/dist/config/penpot.config.descriptor.d.ts.map +1 -0
  21. package/dist/config/penpot.config.descriptor.js +56 -0
  22. package/dist/config/penpot.config.descriptor.js.map +1 -0
  23. package/dist/index.d.ts +8 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +7 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/plugin.d.ts +4 -0
  28. package/dist/plugin.d.ts.map +1 -0
  29. package/dist/plugin.js +18 -0
  30. package/dist/plugin.js.map +1 -0
  31. package/dist/schemas/board.d.ts +37 -0
  32. package/dist/schemas/board.d.ts.map +1 -0
  33. package/dist/schemas/board.js +20 -0
  34. package/dist/schemas/board.js.map +1 -0
  35. package/dist/schemas/catalog.d.ts +129 -0
  36. package/dist/schemas/catalog.d.ts.map +1 -0
  37. package/dist/schemas/catalog.js +82 -0
  38. package/dist/schemas/catalog.js.map +1 -0
  39. package/dist/schemas/sync.d.ts +212 -0
  40. package/dist/schemas/sync.d.ts.map +1 -0
  41. package/dist/schemas/sync.js +23 -0
  42. package/dist/schemas/sync.js.map +1 -0
  43. package/dist/schemas/transport.d.ts +169 -0
  44. package/dist/schemas/transport.d.ts.map +1 -0
  45. package/dist/schemas/transport.js +93 -0
  46. package/dist/schemas/transport.js.map +1 -0
  47. package/dist/sync/penpot.sync-endpoint.descriptor.d.ts +14 -0
  48. package/dist/sync/penpot.sync-endpoint.descriptor.d.ts.map +1 -0
  49. package/dist/sync/penpot.sync-endpoint.descriptor.js +10 -0
  50. package/dist/sync/penpot.sync-endpoint.descriptor.js.map +1 -0
  51. package/dist/sync/penpot.sync-endpoint.impl.d.ts +31 -0
  52. package/dist/sync/penpot.sync-endpoint.impl.d.ts.map +1 -0
  53. package/dist/sync/penpot.sync-endpoint.impl.js +98 -0
  54. package/dist/sync/penpot.sync-endpoint.impl.js.map +1 -0
  55. package/dist/tokens/apply-penpot-catalog.d.ts +7 -0
  56. package/dist/tokens/apply-penpot-catalog.d.ts.map +1 -0
  57. package/dist/tokens/apply-penpot-catalog.js +40 -0
  58. package/dist/tokens/apply-penpot-catalog.js.map +1 -0
  59. package/dist/tokens/plugin.d.ts +4 -0
  60. package/dist/tokens/plugin.d.ts.map +1 -0
  61. package/dist/tokens/plugin.js +13 -0
  62. package/dist/tokens/plugin.js.map +1 -0
  63. package/package.json +73 -4
@@ -0,0 +1,212 @@
1
+ import * as z from 'zod/v4';
2
+ export declare const PenpotProjectionRecordSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ canonicalKey: z.ZodString;
5
+ revision: z.ZodString;
6
+ contentHash: z.ZodString;
7
+ updatedAt: z.ZodString;
8
+ deleted: z.ZodDefault<z.ZodBoolean>;
9
+ data: 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>>;
10
+ metadata: z.ZodRecord<z.ZodString, 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>>>;
11
+ }, z.core.$strip>;
12
+ export declare const PenpotProjectionDataSchema: z.ZodObject<{
13
+ dtcg: 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>>;
14
+ }, z.core.$strip>;
15
+ export declare const PenpotPresetMetadataSchema: z.ZodObject<{
16
+ presetId: z.ZodOptional<z.ZodString>;
17
+ }, z.core.$strip>;
18
+ export declare const PenpotSyncPullSchema: z.ZodObject<{
19
+ bindingId: z.ZodString;
20
+ containerId: z.ZodString;
21
+ actorScope: z.ZodObject<{
22
+ actor: z.ZodObject<{
23
+ kind: z.ZodEnum<{
24
+ user: "user";
25
+ agent: "agent";
26
+ service: "service";
27
+ }>;
28
+ id: z.ZodString;
29
+ }, z.core.$strip>;
30
+ scope: z.ZodObject<{
31
+ kind: z.ZodEnum<{
32
+ user: "user";
33
+ organization: "organization";
34
+ team: "team";
35
+ project: "project";
36
+ workspace: "workspace";
37
+ system: "system";
38
+ }>;
39
+ id: z.ZodString;
40
+ }, z.core.$strip>;
41
+ }, z.core.$strip>;
42
+ options: z.ZodRecord<z.ZodString, 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>>>;
43
+ mapping: z.ZodObject<{
44
+ profile: z.ZodString;
45
+ version: z.ZodString;
46
+ }, z.core.$strip>;
47
+ cursor: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
48
+ limit: z.ZodPipe<z.ZodNumber, z.ZodTransform<number, number>>;
49
+ }, z.core.$strip>;
50
+ export declare const PenpotSyncApplySchema: z.ZodObject<{
51
+ bindingId: z.ZodString;
52
+ containerId: z.ZodString;
53
+ actorScope: z.ZodObject<{
54
+ actor: z.ZodObject<{
55
+ kind: z.ZodEnum<{
56
+ user: "user";
57
+ agent: "agent";
58
+ service: "service";
59
+ }>;
60
+ id: z.ZodString;
61
+ }, z.core.$strip>;
62
+ scope: z.ZodObject<{
63
+ kind: z.ZodEnum<{
64
+ user: "user";
65
+ organization: "organization";
66
+ team: "team";
67
+ project: "project";
68
+ workspace: "workspace";
69
+ system: "system";
70
+ }>;
71
+ id: z.ZodString;
72
+ }, z.core.$strip>;
73
+ }, z.core.$strip>;
74
+ options: z.ZodRecord<z.ZodString, 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>>>;
75
+ mapping: z.ZodObject<{
76
+ profile: z.ZodString;
77
+ version: z.ZodString;
78
+ }, z.core.$strip>;
79
+ delivery: z.ZodObject<{
80
+ guarantee: z.ZodLiteral<"at-least-once">;
81
+ idempotencyKey: z.ZodLiteral<"operationId">;
82
+ }, z.core.$strip>;
83
+ operations: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
84
+ operationId: z.ZodOptional<z.ZodString>;
85
+ from: z.ZodEnum<{
86
+ target: "target";
87
+ source: "source";
88
+ }>;
89
+ to: z.ZodEnum<{
90
+ target: "target";
91
+ source: "source";
92
+ }>;
93
+ record: z.ZodObject<{
94
+ id: z.ZodString;
95
+ canonicalKey: z.ZodString;
96
+ revision: z.ZodString;
97
+ contentHash: z.ZodString;
98
+ updatedAt: z.ZodString;
99
+ deleted: z.ZodDefault<z.ZodBoolean>;
100
+ data: z.ZodUnknown;
101
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
102
+ }, z.core.$strip>;
103
+ destinationRecord: z.ZodOptional<z.ZodObject<{
104
+ id: z.ZodString;
105
+ canonicalKey: z.ZodString;
106
+ revision: z.ZodString;
107
+ contentHash: z.ZodString;
108
+ updatedAt: z.ZodString;
109
+ deleted: z.ZodDefault<z.ZodBoolean>;
110
+ data: z.ZodUnknown;
111
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
112
+ }, z.core.$strip>>;
113
+ canonicalKey: z.ZodString;
114
+ reason: z.ZodString;
115
+ type: z.ZodLiteral<"upsert">;
116
+ }, z.core.$strip>, z.ZodObject<{
117
+ operationId: z.ZodOptional<z.ZodString>;
118
+ from: z.ZodEnum<{
119
+ target: "target";
120
+ source: "source";
121
+ }>;
122
+ to: z.ZodEnum<{
123
+ target: "target";
124
+ source: "source";
125
+ }>;
126
+ record: z.ZodObject<{
127
+ id: z.ZodString;
128
+ canonicalKey: z.ZodString;
129
+ revision: z.ZodString;
130
+ contentHash: z.ZodString;
131
+ updatedAt: z.ZodString;
132
+ deleted: z.ZodDefault<z.ZodBoolean>;
133
+ data: z.ZodUnknown;
134
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
135
+ }, z.core.$strip>;
136
+ destinationRecord: z.ZodOptional<z.ZodObject<{
137
+ id: z.ZodString;
138
+ canonicalKey: z.ZodString;
139
+ revision: z.ZodString;
140
+ contentHash: z.ZodString;
141
+ updatedAt: z.ZodString;
142
+ deleted: z.ZodDefault<z.ZodBoolean>;
143
+ data: z.ZodUnknown;
144
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
145
+ }, z.core.$strip>>;
146
+ canonicalKey: z.ZodString;
147
+ reason: z.ZodString;
148
+ type: z.ZodLiteral<"archive">;
149
+ }, z.core.$strip>, z.ZodObject<{
150
+ operationId: z.ZodOptional<z.ZodString>;
151
+ from: z.ZodEnum<{
152
+ target: "target";
153
+ source: "source";
154
+ }>;
155
+ to: z.ZodEnum<{
156
+ target: "target";
157
+ source: "source";
158
+ }>;
159
+ record: z.ZodObject<{
160
+ id: z.ZodString;
161
+ canonicalKey: z.ZodString;
162
+ revision: z.ZodString;
163
+ contentHash: z.ZodString;
164
+ updatedAt: z.ZodString;
165
+ deleted: z.ZodDefault<z.ZodBoolean>;
166
+ data: z.ZodUnknown;
167
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
168
+ }, z.core.$strip>;
169
+ destinationRecord: z.ZodOptional<z.ZodObject<{
170
+ id: z.ZodString;
171
+ canonicalKey: z.ZodString;
172
+ revision: z.ZodString;
173
+ contentHash: z.ZodString;
174
+ updatedAt: z.ZodString;
175
+ deleted: z.ZodDefault<z.ZodBoolean>;
176
+ data: z.ZodUnknown;
177
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
178
+ }, z.core.$strip>>;
179
+ canonicalKey: z.ZodString;
180
+ reason: z.ZodString;
181
+ type: z.ZodLiteral<"delete">;
182
+ }, z.core.$strip>, z.ZodObject<{
183
+ source: z.ZodObject<{
184
+ id: z.ZodString;
185
+ canonicalKey: z.ZodString;
186
+ revision: z.ZodString;
187
+ contentHash: z.ZodString;
188
+ updatedAt: z.ZodString;
189
+ deleted: z.ZodDefault<z.ZodBoolean>;
190
+ data: z.ZodUnknown;
191
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
192
+ }, z.core.$strip>;
193
+ target: z.ZodObject<{
194
+ id: z.ZodString;
195
+ canonicalKey: z.ZodString;
196
+ revision: z.ZodString;
197
+ contentHash: z.ZodString;
198
+ updatedAt: z.ZodString;
199
+ deleted: z.ZodDefault<z.ZodBoolean>;
200
+ data: z.ZodUnknown;
201
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
202
+ }, z.core.$strip>;
203
+ canonicalKey: z.ZodString;
204
+ reason: z.ZodString;
205
+ type: z.ZodLiteral<"conflict">;
206
+ }, z.core.$strip>, z.ZodObject<{
207
+ canonicalKey: z.ZodString;
208
+ reason: z.ZodString;
209
+ type: z.ZodLiteral<"noop">;
210
+ }, z.core.$strip>], "type">>;
211
+ }, z.core.$strip>;
212
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/schemas/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAO5B,eAAO,MAAM,4BAA4B;;;;;;;;;iBAGvC,CAAC;AACH,eAAO,MAAM,0BAA0B;;iBAAiC,CAAC;AACzE,eAAO,MAAM,0BAA0B;;iBAAuD,CAAC;AAC/F,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM/B,CAAC;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKhC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import * as z from 'zod/v4';
2
+ import { syncActorScopeSchema, syncMappingSchema, syncProjectionOperationSchema, syncProjectionRecordSchema } from '@vibesdotdev/sync/projection';
3
+ import { JsonObjectSchema, JsonSchema } from "./transport.js";
4
+ export const PenpotProjectionRecordSchema = syncProjectionRecordSchema.extend({
5
+ data: JsonSchema,
6
+ metadata: JsonObjectSchema
7
+ });
8
+ export const PenpotProjectionDataSchema = z.object({ dtcg: JsonSchema });
9
+ export const PenpotPresetMetadataSchema = z.object({ presetId: z.string().min(1).optional() });
10
+ export const PenpotSyncPullSchema = z.object({
11
+ bindingId: z.string().min(1), containerId: z.string().min(1),
12
+ actorScope: syncActorScopeSchema, options: JsonObjectSchema, mapping: syncMappingSchema,
13
+ cursor: z.string().regex(/^(0|[1-9][0-9]*)$/).transform(Number)
14
+ .refine(Number.isSafeInteger).optional(),
15
+ limit: z.number().int().positive().transform(value => Math.min(value, 100))
16
+ });
17
+ export const PenpotSyncApplySchema = z.object({
18
+ bindingId: z.string().min(1), containerId: z.string().min(1),
19
+ actorScope: syncActorScopeSchema, options: JsonObjectSchema, mapping: syncMappingSchema,
20
+ delivery: z.object({ guarantee: z.literal('at-least-once'), idempotencyKey: z.literal('operationId') }),
21
+ operations: z.array(syncProjectionOperationSchema)
22
+ });
23
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/schemas/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EACN,oBAAoB,EAAE,iBAAiB,EAAE,6BAA6B,EACtE,0BAA0B,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE9D,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,CAAC,MAAM,CAAC;IAC7E,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,gBAAgB;CAC1B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,iBAAiB;IACvF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;SAC7D,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;CAC3E,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,iBAAiB;IACvF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;IACvG,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC;CAClD,CAAC,CAAC"}
@@ -0,0 +1,169 @@
1
+ import * as z from 'zod/v4';
2
+ import type { RuntimeRef } from '@vibesdotdev/kernel';
3
+ export declare const JsonSchema: 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
+ export type PenpotJson = z.infer<typeof JsonSchema>;
5
+ export declare const JsonObjectSchema: z.ZodRecord<z.ZodString, 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>>>;
6
+ export declare const PenpotSettingsSchema: z.ZodObject<{
7
+ baseUrl: z.ZodURL;
8
+ tokensPath: z.ZodString;
9
+ }, z.core.$strip>;
10
+ export type PenpotSettings = z.infer<typeof PenpotSettingsSchema>;
11
+ export declare const PenpotFetchSchema: z.ZodCustom<(input: RequestInfo | URL, init?: RequestInit) => Promise<Response>, (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>>;
12
+ export type PenpotFetch = z.infer<typeof PenpotFetchSchema>;
13
+ export declare const PenpotApiClientConfigSchema: z.ZodObject<{
14
+ baseUrl: z.ZodOptional<z.ZodURL>;
15
+ accessToken: z.ZodOptional<z.ZodString>;
16
+ sessionCookie: z.ZodOptional<z.ZodString>;
17
+ fetch: z.ZodOptional<z.ZodCustom<(input: RequestInfo | URL, init?: RequestInit) => Promise<Response>, (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>>>;
18
+ runtime: z.ZodOptional<z.ZodCustom<RuntimeRef, RuntimeRef>>;
19
+ }, z.core.$strip>;
20
+ export type PenpotApiClientConfig = z.infer<typeof PenpotApiClientConfigSchema>;
21
+ export declare const HttpPenpotTokensClientConfigSchema: z.ZodObject<{
22
+ baseUrl: z.ZodOptional<z.ZodURL>;
23
+ accessToken: z.ZodOptional<z.ZodString>;
24
+ sessionCookie: z.ZodOptional<z.ZodString>;
25
+ fetch: z.ZodOptional<z.ZodCustom<(input: RequestInfo | URL, init?: RequestInit) => Promise<Response>, (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>>>;
26
+ runtime: z.ZodOptional<z.ZodCustom<RuntimeRef, RuntimeRef>>;
27
+ tokensPath: z.ZodOptional<z.ZodString>;
28
+ }, z.core.$strip>;
29
+ export type HttpPenpotTokensClientConfig = z.infer<typeof HttpPenpotTokensClientConfigSchema>;
30
+ export declare const PenpotFileSchema: z.ZodObject<{
31
+ id: z.ZodString;
32
+ name: z.ZodOptional<z.ZodString>;
33
+ revn: z.ZodOptional<z.ZodNumber>;
34
+ vern: z.ZodOptional<z.ZodNumber>;
35
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
36
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, 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>>>>;
37
+ }, z.core.$catchall<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>>>>;
38
+ export type PenpotFileRef = z.infer<typeof PenpotFileSchema>;
39
+ export declare const PenpotCatalogSchema: z.ZodObject<{
40
+ presetId: z.ZodString;
41
+ updatedAt: z.ZodISODateTime;
42
+ dtcg: 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>>;
43
+ }, z.core.$strip>;
44
+ export type PenpotTokenCatalog = z.infer<typeof PenpotCatalogSchema>;
45
+ export declare const PullInputSchema: z.ZodObject<{
46
+ fileId: z.ZodString;
47
+ presetId: z.ZodOptional<z.ZodString>;
48
+ }, z.core.$strip>;
49
+ export declare const PushInputSchema: z.ZodObject<{
50
+ fileId: z.ZodString;
51
+ presetId: z.ZodString;
52
+ dtcg: 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>>;
53
+ updatedAt: z.ZodOptional<z.ZodISODateTime>;
54
+ }, z.core.$strip>;
55
+ export type PenpotTokensPullInput = z.infer<typeof PullInputSchema>;
56
+ export type PenpotTokensPushInput = z.infer<typeof PushInputSchema>;
57
+ export interface PenpotTokensTransport {
58
+ pullTokens(input: PenpotTokensPullInput): Promise<PenpotTokenCatalog[]>;
59
+ pushTokens(input: PenpotTokensPushInput): Promise<PenpotTokenCatalog>;
60
+ }
61
+ export type ResolvePenpotTokensTransport = () => Promise<PenpotTokensTransport> | PenpotTokensTransport;
62
+ export declare const CatalogPayloadSchema: z.ZodPipe<z.ZodObject<{
63
+ presetId: z.ZodOptional<z.ZodString>;
64
+ id: z.ZodOptional<z.ZodString>;
65
+ updatedAt: z.ZodDefault<z.ZodISODateTime>;
66
+ dtcg: z.ZodOptional<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>>>;
67
+ data: z.ZodOptional<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>>>;
68
+ }, z.core.$catchall<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>>>>, z.ZodTransform<{
69
+ presetId: string;
70
+ updatedAt: string;
71
+ dtcg: import("@vibesdotdev/kernel/bootstrap").JsonValue;
72
+ }, {
73
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
74
+ updatedAt: string;
75
+ presetId?: string | undefined;
76
+ id?: string | undefined;
77
+ dtcg?: import("@vibesdotdev/kernel/bootstrap").JsonValue | undefined;
78
+ data?: import("@vibesdotdev/kernel/bootstrap").JsonValue | undefined;
79
+ }>>;
80
+ export declare const PluginCatalogSchema: z.ZodPipe<z.ZodObject<{
81
+ presetId: z.ZodOptional<z.ZodString>;
82
+ id: z.ZodOptional<z.ZodString>;
83
+ updatedAt: z.ZodDefault<z.ZodISODateTime>;
84
+ data: z.ZodOptional<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>>>;
85
+ dtcg: 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>>;
86
+ }, z.core.$catchall<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>>>>, z.ZodTransform<{
87
+ presetId: string;
88
+ updatedAt: string;
89
+ dtcg: import("@vibesdotdev/kernel/bootstrap").JsonValue;
90
+ }, {
91
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
92
+ updatedAt: string;
93
+ dtcg: import("@vibesdotdev/kernel/bootstrap").JsonValue;
94
+ presetId?: string | undefined;
95
+ id?: string | undefined;
96
+ data?: import("@vibesdotdev/kernel/bootstrap").JsonValue | undefined;
97
+ }>>;
98
+ export declare const HttpPushAcknowledgementSchema: z.ZodObject<{
99
+ success: z.ZodLiteral<true>;
100
+ presetId: z.ZodOptional<z.ZodString>;
101
+ updatedAt: z.ZodOptional<z.ZodISODateTime>;
102
+ }, z.core.$strip>;
103
+ export declare const PluginDataSchema: z.ZodObject<{
104
+ pluginData: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, 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>>>>>;
105
+ }, z.core.$catchall<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>>>>;
106
+ export declare const CatalogEnvelopeSchema: z.ZodObject<{
107
+ catalogs: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodObject<{
108
+ presetId: z.ZodOptional<z.ZodString>;
109
+ id: z.ZodOptional<z.ZodString>;
110
+ updatedAt: z.ZodDefault<z.ZodISODateTime>;
111
+ dtcg: z.ZodOptional<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>>>;
112
+ data: z.ZodOptional<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>>>;
113
+ }, z.core.$catchall<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>>>>, z.ZodTransform<{
114
+ presetId: string;
115
+ updatedAt: string;
116
+ dtcg: import("@vibesdotdev/kernel/bootstrap").JsonValue;
117
+ }, {
118
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
119
+ updatedAt: string;
120
+ presetId?: string | undefined;
121
+ id?: string | undefined;
122
+ dtcg?: import("@vibesdotdev/kernel/bootstrap").JsonValue | undefined;
123
+ data?: import("@vibesdotdev/kernel/bootstrap").JsonValue | undefined;
124
+ }>>>>;
125
+ tokens: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodObject<{
126
+ presetId: z.ZodOptional<z.ZodString>;
127
+ id: z.ZodOptional<z.ZodString>;
128
+ updatedAt: z.ZodDefault<z.ZodISODateTime>;
129
+ dtcg: z.ZodOptional<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>>>;
130
+ data: z.ZodOptional<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>>>;
131
+ }, z.core.$catchall<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>>>>, z.ZodTransform<{
132
+ presetId: string;
133
+ updatedAt: string;
134
+ dtcg: import("@vibesdotdev/kernel/bootstrap").JsonValue;
135
+ }, {
136
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
137
+ updatedAt: string;
138
+ presetId?: string | undefined;
139
+ id?: string | undefined;
140
+ dtcg?: import("@vibesdotdev/kernel/bootstrap").JsonValue | undefined;
141
+ data?: import("@vibesdotdev/kernel/bootstrap").JsonValue | undefined;
142
+ }>>>>;
143
+ dtcg: z.ZodOptional<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>>>;
144
+ presetId: z.ZodOptional<z.ZodString>;
145
+ updatedAt: z.ZodOptional<z.ZodISODateTime>;
146
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, 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>>>>;
147
+ pluginData: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, 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>>>>>;
148
+ id: z.ZodOptional<z.ZodString>;
149
+ }, z.core.$catchall<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>>>>;
150
+ export declare const UpdateFileInputSchema: z.ZodObject<{
151
+ fileId: z.ZodString;
152
+ revn: z.ZodNumber;
153
+ vern: z.ZodDefault<z.ZodNumber>;
154
+ features: z.ZodDefault<z.ZodArray<z.ZodString>>;
155
+ changes: 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>>>;
156
+ sessionId: z.ZodDefault<z.ZodString>;
157
+ }, z.core.$strip>;
158
+ export type UpdateFileInput = z.input<typeof UpdateFileInputSchema>;
159
+ export declare const UpdateAcknowledgementSchema: z.ZodUnion<readonly [z.ZodObject<{
160
+ revn: z.ZodNumber;
161
+ }, z.core.$catchall<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>>>>, z.ZodObject<{
162
+ success: z.ZodLiteral<true>;
163
+ }, z.core.$catchall<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>>>>, z.ZodArray<z.ZodObject<{
164
+ revn: z.ZodNumber;
165
+ }, z.core.$catchall<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>>>>>]>;
166
+ export type UpdateAcknowledgement = z.infer<typeof UpdateAcknowledgementSchema>;
167
+ export declare function parseBoundary<T>(schema: z.ZodType<T>, value: unknown, reason?: string): T;
168
+ export declare function parseJsonText(text: string): PenpotJson;
169
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/schemas/transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ import * as z from 'zod/v4';
2
+ import { CapabilityError } from '@vibesdotdev/kernel';
3
+ import { JsonValueSchema } from '@vibesdotdev/kernel/schemas/json';
4
+ export const JsonSchema = JsonValueSchema;
5
+ export const JsonObjectSchema = z.record(z.string(), JsonSchema);
6
+ export const PenpotSettingsSchema = z.object({
7
+ baseUrl: z.url(),
8
+ tokensPath: z.string().startsWith('/')
9
+ });
10
+ export const PenpotFetchSchema = z.custom();
11
+ export const PenpotApiClientConfigSchema = z.object({
12
+ baseUrl: z.url().optional(),
13
+ accessToken: z.string().optional(),
14
+ sessionCookie: z.string().optional(),
15
+ fetch: PenpotFetchSchema.optional(),
16
+ runtime: z.custom().optional()
17
+ });
18
+ export const HttpPenpotTokensClientConfigSchema = PenpotApiClientConfigSchema.extend({
19
+ tokensPath: z.string().startsWith('/').optional()
20
+ });
21
+ export const PenpotFileSchema = z.object({
22
+ id: z.string().min(1), name: z.string().optional(),
23
+ revn: z.number().int().nonnegative().optional(), vern: z.number().int().nonnegative().optional(),
24
+ features: z.array(z.string()).optional(),
25
+ data: JsonObjectSchema.optional()
26
+ }).catchall(JsonSchema);
27
+ export const PenpotCatalogSchema = z.object({
28
+ presetId: z.string().min(1),
29
+ updatedAt: z.iso.datetime(),
30
+ dtcg: JsonSchema
31
+ });
32
+ export const PullInputSchema = z.object({ fileId: z.string().min(1), presetId: z.string().min(1).optional() });
33
+ export const PushInputSchema = PullInputSchema.extend({
34
+ presetId: z.string().min(1), dtcg: JsonSchema, updatedAt: z.iso.datetime().optional()
35
+ });
36
+ const CatalogWireSchema = z.object({
37
+ presetId: z.string().min(1).optional(), id: z.string().min(1).optional(),
38
+ updatedAt: z.iso.datetime().default(new Date(0).toISOString()),
39
+ dtcg: JsonSchema.optional(), data: JsonSchema.optional()
40
+ }).catchall(JsonSchema);
41
+ export const CatalogPayloadSchema = CatalogWireSchema.transform((value, ctx) => {
42
+ const presetId = value.presetId ?? value.id;
43
+ if (!presetId) {
44
+ ctx.addIssue({ code: 'custom', message: 'Catalog identity is required' });
45
+ return z.NEVER;
46
+ }
47
+ return { presetId, updatedAt: value.updatedAt, dtcg: value.dtcg !== undefined ? value.dtcg : value.data !== undefined ? value.data : value };
48
+ });
49
+ export const PluginCatalogSchema = CatalogWireSchema.extend({ dtcg: JsonSchema }).transform(value => CatalogPayloadSchema.parse(value));
50
+ export const HttpPushAcknowledgementSchema = z.object({
51
+ success: z.literal(true), presetId: z.string().min(1).optional(), updatedAt: z.iso.datetime().optional()
52
+ });
53
+ export const PluginDataSchema = z.object({
54
+ pluginData: z.record(z.string(), JsonObjectSchema).optional()
55
+ }).catchall(JsonSchema);
56
+ export const CatalogEnvelopeSchema = z.object({
57
+ catalogs: z.array(CatalogPayloadSchema).optional(),
58
+ tokens: z.array(CatalogPayloadSchema).optional(),
59
+ dtcg: JsonSchema.optional(),
60
+ presetId: z.string().min(1).optional(),
61
+ updatedAt: z.iso.datetime().optional(),
62
+ data: JsonObjectSchema.optional(),
63
+ pluginData: z.record(z.string(), JsonObjectSchema).optional(),
64
+ id: z.string().optional()
65
+ }).catchall(JsonSchema);
66
+ export const UpdateFileInputSchema = z.object({
67
+ fileId: z.string().min(1), revn: z.number().int().nonnegative(),
68
+ vern: z.number().int().nonnegative().default(0),
69
+ features: z.array(z.string()).default([]),
70
+ changes: z.array(JsonSchema), sessionId: z.string().default(() => crypto.randomUUID())
71
+ });
72
+ export const UpdateAcknowledgementSchema = z.union([
73
+ z.object({ revn: z.number().int().nonnegative() }).catchall(JsonSchema),
74
+ z.object({ success: z.literal(true) }).catchall(JsonSchema),
75
+ z.array(z.object({ revn: z.number().int().nonnegative() }).catchall(JsonSchema)).min(1)
76
+ ]);
77
+ export function parseBoundary(schema, value, reason = 'penpot-payload-invalid') {
78
+ try {
79
+ return schema.parse(value);
80
+ }
81
+ catch (cause) {
82
+ throw new CapabilityError('Penpot payload does not satisfy its contract.', 'INVALID_INPUT', { reason, cause });
83
+ }
84
+ }
85
+ export function parseJsonText(text) {
86
+ try {
87
+ return JsonSchema.parse(JSON.parse(text));
88
+ }
89
+ catch (cause) {
90
+ throw new CapabilityError('Penpot returned invalid JSON.', 'INVALID_INPUT', { reason: 'penpot-json-invalid', cause });
91
+ }
92
+ }
93
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/schemas/transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ declare const _default: {
2
+ id: string;
3
+ kind: "sync/endpoint";
4
+ resourceType: string;
5
+ provider: string;
6
+ capabilities: {
7
+ pull: boolean;
8
+ push: boolean;
9
+ delete: boolean;
10
+ };
11
+ enabled: boolean;
12
+ };
13
+ export default _default;
14
+ //# sourceMappingURL=penpot.sync-endpoint.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"penpot.sync-endpoint.descriptor.d.ts","sourceRoot":"","sources":["../../src/sync/penpot.sync-endpoint.descriptor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,wBAOG"}
@@ -0,0 +1,10 @@
1
+ import { createRuntimeAsset } from '@vibesdotdev/kernel/factory';
2
+ export default createRuntimeAsset({
3
+ id: 'sync.endpoint.vibes.design-tokens.penpot',
4
+ kind: 'sync/endpoint',
5
+ resourceType: 'vibes-design-tokens',
6
+ provider: 'penpot',
7
+ capabilities: { pull: true, push: true, delete: false },
8
+ enabled: true
9
+ });
10
+ //# sourceMappingURL=penpot.sync-endpoint.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"penpot.sync-endpoint.descriptor.js","sourceRoot":"","sources":["../../src/sync/penpot.sync-endpoint.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGjE,eAAe,kBAAkB,CAAyB;IACzD,EAAE,EAAE,0CAA0C;IAC9C,IAAI,EAAE,eAAe;IACrB,YAAY,EAAE,qBAAqB;IACnC,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IACvD,OAAO,EAAE,IAAI;CACb,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { KindContext } from '@vibesdotdev/kernel/schemas/kind';
2
+ import type { RuntimeDescriptor } from '@vibesdotdev/kernel/schemas/descriptor';
3
+ import type { SyncApplyResult, SyncEndpointApplyInput, SyncEndpointImplementation, SyncEndpointPullInput } from '@vibesdotdev/sync/projection';
4
+ import type { ResolvePenpotTokensTransport } from '../schemas/transport.ts';
5
+ export type { ResolvePenpotTokensTransport } from '../schemas/transport.ts';
6
+ /** Standalone compatibility entrypoint; hosts normally resolve sync/endpoint. */
7
+ export declare class PenpotDesignTokensSyncEndpoint implements SyncEndpointImplementation {
8
+ private readonly resolveTransport;
9
+ constructor(resolveTransport: ResolvePenpotTokensTransport);
10
+ pull(input: SyncEndpointPullInput): Promise<{
11
+ records: {
12
+ id: string;
13
+ canonicalKey: string;
14
+ revision: string;
15
+ contentHash: string;
16
+ updatedAt: string;
17
+ deleted: boolean;
18
+ data: unknown;
19
+ metadata: Record<string, unknown>;
20
+ }[];
21
+ cursor: string | undefined;
22
+ hasMore: boolean;
23
+ }>;
24
+ apply(input: SyncEndpointApplyInput): Promise<SyncApplyResult[]>;
25
+ }
26
+ declare class RuntimePenpotDesignTokensSyncEndpoint extends PenpotDesignTokensSyncEndpoint {
27
+ constructor(_descriptor: RuntimeDescriptor, context: KindContext);
28
+ }
29
+ declare const _default: import("@vibesdotdev/kernel").RuntimeImplementationWrapper<typeof RuntimePenpotDesignTokensSyncEndpoint>;
30
+ export default _default;
31
+ //# sourceMappingURL=penpot.sync-endpoint.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"penpot.sync-endpoint.impl.d.ts","sourceRoot":"","sources":["../../src/sync/penpot.sync-endpoint.impl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAIhF,OAAO,KAAK,EACX,eAAe,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,qBAAqB,EAE1F,MAAM,8BAA8B,CAAC;AAItC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAK5E,YAAY,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAK5E,iFAAiF;AACjF,qBAAa,8BAA+B,YAAW,0BAA0B;IACpE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,4BAA4B;IAErE,IAAI,CAAC,KAAK,EAAE,qBAAqB;;;;;;;;;;;;;;IA+BjC,KAAK,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAsCtE;AAED,cAAM,qCAAsC,SAAQ,8BAA8B;gBACrE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW;CAGhE;;AACD,wBAEG"}