@gethopp/figma-mcp-bridge 0.0.14 → 0.0.16

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.
package/dist/bridge.d.ts CHANGED
@@ -6,6 +6,7 @@ export declare class Bridge {
6
6
  private connections;
7
7
  private pending;
8
8
  private counter;
9
+ private pingTimer;
9
10
  constructor();
10
11
  handleUpgrade(request: IncomingMessage, socket: Duplex, head: Buffer): void;
11
12
  private handleConnection;
package/dist/bridge.js CHANGED
@@ -4,8 +4,21 @@ export class Bridge {
4
4
  connections = new Map();
5
5
  pending = new Map();
6
6
  counter = 0;
7
+ pingTimer = null;
7
8
  constructor() {
8
9
  this.wss = new WebSocketServer({ noServer: true });
10
+ this.pingTimer = setInterval(() => {
11
+ for (const [fileKey, entry] of this.connections) {
12
+ if (!entry.isAlive) {
13
+ entry.ws.terminate();
14
+ this.connections.delete(fileKey);
15
+ console.error(`Plugin dead (no pong): ${entry.fileName} (${fileKey})`);
16
+ continue;
17
+ }
18
+ entry.isAlive = false;
19
+ entry.ws.ping();
20
+ }
21
+ }, 30_000);
9
22
  }
10
23
  handleUpgrade(request, socket, head) {
11
24
  if (request.url == undefined) {
@@ -30,8 +43,18 @@ export class Bridge {
30
43
  if (existing) {
31
44
  existing.ws.close();
32
45
  }
33
- this.connections.set(fileKey, { ws, fileKey, fileName });
46
+ this.connections.set(fileKey, {
47
+ ws,
48
+ fileKey,
49
+ fileName,
50
+ isAlive: true,
51
+ });
34
52
  console.error(`Plugin connected: ${fileName} (${fileKey})`);
53
+ ws.on("pong", () => {
54
+ const entry = this.connections.get(fileKey);
55
+ if (entry && entry.ws === ws)
56
+ entry.isAlive = true;
57
+ });
35
58
  ws.on("message", (data) => {
36
59
  try {
37
60
  const resp = JSON.parse(data.toString());
@@ -157,6 +180,10 @@ export class Bridge {
157
180
  return `req-${hh}${mm}${ss}-${this.counter}`;
158
181
  }
159
182
  close() {
183
+ if (this.pingTimer) {
184
+ clearInterval(this.pingTimer);
185
+ this.pingTimer = null;
186
+ }
160
187
  // Reject all pending requests
161
188
  for (const [id, { reject, timeout }] of this.pending) {
162
189
  clearTimeout(timeout);
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAmBhD,MAAM,OAAO,MAAM;IACT,GAAG,CAAkB;IACrB,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IACjD,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC5C,OAAO,GAAG,CAAC,CAAC;IACZ,SAAS,GAA0C,IAAI,CAAC;IAEhE;QACE,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACnB,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;oBACrB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO,CAAC,KAAK,CACX,0BAA0B,KAAK,CAAC,QAAQ,KAAK,OAAO,GAAG,CACxD,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;gBACtB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC;IAED,aAAa,CAAC,OAAwB,EAAE,MAAc,EAAE,IAAY;QAClE,IAAI,OAAO,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACrD,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,WAAW,CAC1D,GAAG,CAAC,YAAY,CACjB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC7D,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;YACnD,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CACtB,EAAa,EACb,OAAe,EACf,QAAgB;QAEhB,gDAAgD;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE;YAC5B,EAAE;YACF,OAAO;YACP,QAAQ;YACR,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,qBAAqB,QAAQ,KAAK,OAAO,GAAG,CAAC,CAAC;QAE5D,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE;gBAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACzD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjD,IAAI,OAAO,EAAE,CAAC;oBACZ,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACpC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;gBACvB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACjC,OAAO,CAAC,KAAK,CAAC,wBAAwB,QAAQ,KAAK,OAAO,GAAG,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,CAAC,sBAAsB,CACzB,EAAE,EACF,wBAAwB,QAAQ,KAAK,OAAO,GAAG,CAChD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;gBACvB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,sBAAsB,CACzB,EAAE,EACF,4BAA4B,QAAQ,MAAM,GAAG,CAAC,OAAO,EAAE,CACxD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,EAAa,EAAE,MAAc;QAC1D,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBAChB,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CAAC,OAAgB;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5C,MAAM,IAAI,GACR,SAAS,CAAC,MAAM,GAAG,CAAC;oBAClB,CAAC,CAAC,qBAAqB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACnG,CAAC,CAAC,oCAAoC,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC;YACtD,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,+FAA+F,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,uDAAuD,CAC7N,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpD,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,CACF,WAAmB,EACnB,OAAkB,EAClB,OAAgB;QAEhB,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAED,cAAc,CACZ,WAAmB,EACnB,OAAkB,EAClB,MAAgC,EAChC,OAAgB;QAEhB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,IAAe,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,CAAC,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,OAAO,GAAkB;gBAC7B,IAAI,EAAE,WAAW;gBACjB,SAAS;aACV,CAAC;YACF,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC5B,CAAC;YACD,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YAC1B,CAAC;YAED,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC/B,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACzC,CAAC,EAAE,MAAM,CAAC,CAAC;YAEX,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAEpE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzC,IAAI,GAAG,EAAE,CAAC;oBACR,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrD,OAAO,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,8BAA8B;QAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACrD,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF"}
package/dist/schema.d.ts CHANGED
@@ -1,13 +1,4 @@
1
1
  import { z } from "zod";
2
- /**
3
- * Figma node IDs:
4
- * - top-level node: "4029:12345"
5
- * - child inside INSTANCE: "I12740:17806;12740:17793" (and deeper, semicolon-separated)
6
- *
7
- * Both forms are valid for figma.getNodeById and are returned as-is by the plugin
8
- * from get_selection / get_design_context.
9
- */
10
- export declare const figmaNodeId: z.ZodString;
11
2
  export declare const setGradientFillInput: z.ZodObject<{
12
3
  nodeId: z.ZodString;
13
4
  gradientType: z.ZodOptional<z.ZodEnum<["LINEAR", "RADIAL", "ANGULAR", "DIAMOND"]>>;
@@ -24,7 +15,7 @@ export declare const setGradientFillInput: z.ZodObject<{
24
15
  position: number;
25
16
  opacity?: number | undefined;
26
17
  }>, "many">;
27
- gradientTransform: z.ZodOptional<z.ZodTuple<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>], null>>;
18
+ gradientTransform: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">>;
28
19
  opacity: z.ZodOptional<z.ZodNumber>;
29
20
  target: z.ZodOptional<z.ZodEnum<["fill", "stroke"]>>;
30
21
  fileKey: z.ZodOptional<z.ZodString>;
@@ -38,7 +29,7 @@ export declare const setGradientFillInput: z.ZodObject<{
38
29
  fileKey?: string | undefined;
39
30
  opacity?: number | undefined;
40
31
  gradientType?: "LINEAR" | "RADIAL" | "ANGULAR" | "DIAMOND" | undefined;
41
- gradientTransform?: [[number, number, number], [number, number, number]] | undefined;
32
+ gradientTransform?: number[][] | undefined;
42
33
  target?: "fill" | "stroke" | undefined;
43
34
  }, {
44
35
  nodeId: string;
@@ -50,7 +41,7 @@ export declare const setGradientFillInput: z.ZodObject<{
50
41
  fileKey?: string | undefined;
51
42
  opacity?: number | undefined;
52
43
  gradientType?: "LINEAR" | "RADIAL" | "ANGULAR" | "DIAMOND" | undefined;
53
- gradientTransform?: [[number, number, number], [number, number, number]] | undefined;
44
+ gradientTransform?: number[][] | undefined;
54
45
  target?: "fill" | "stroke" | undefined;
55
46
  }>;
56
47
  export declare const setNodePropertiesInput: z.ZodObject<{
@@ -155,13 +146,13 @@ export declare const ungroupNodeInput: z.ZodObject<{
155
146
  nodeId: string;
156
147
  fileKey?: string | undefined;
157
148
  }>;
158
- export declare const setEffectsInput: z.ZodObject<{
149
+ export declare const setEffectsShape: z.ZodObject<{
159
150
  nodeId: z.ZodString;
160
- effects: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
161
- type: z.ZodEnum<["DROP_SHADOW", "INNER_SHADOW"]>;
162
- color: z.ZodString;
151
+ effects: z.ZodArray<z.ZodObject<{
152
+ type: z.ZodEnum<["DROP_SHADOW", "INNER_SHADOW", "LAYER_BLUR", "BACKGROUND_BLUR"]>;
153
+ color: z.ZodOptional<z.ZodString>;
163
154
  opacity: z.ZodOptional<z.ZodNumber>;
164
- offset: z.ZodObject<{
155
+ offset: z.ZodOptional<z.ZodObject<{
165
156
  x: z.ZodNumber;
166
157
  y: z.ZodNumber;
167
158
  }, "strip", z.ZodTypeAny, {
@@ -170,88 +161,179 @@ export declare const setEffectsInput: z.ZodObject<{
170
161
  }, {
171
162
  x: number;
172
163
  y: number;
173
- }>;
174
- radius: z.ZodNumber;
164
+ }>>;
165
+ radius: z.ZodOptional<z.ZodNumber>;
175
166
  spread: z.ZodOptional<z.ZodNumber>;
176
167
  blendMode: z.ZodOptional<z.ZodEnum<["PASS_THROUGH", "NORMAL", "DARKEN", "MULTIPLY", "LINEAR_BURN", "COLOR_BURN", "LIGHTEN", "SCREEN", "LINEAR_DODGE", "COLOR_DODGE", "OVERLAY", "SOFT_LIGHT", "HARD_LIGHT", "DIFFERENCE", "EXCLUSION", "HUE", "SATURATION", "COLOR", "LUMINOSITY"]>>;
177
168
  visible: z.ZodOptional<z.ZodBoolean>;
178
169
  }, "strip", z.ZodTypeAny, {
179
- type: "DROP_SHADOW" | "INNER_SHADOW";
180
- color: string;
181
- offset: {
170
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
171
+ opacity?: number | undefined;
172
+ visible?: boolean | undefined;
173
+ color?: string | undefined;
174
+ offset?: {
182
175
  x: number;
183
176
  y: number;
184
- };
185
- radius: number;
177
+ } | undefined;
178
+ radius?: number | undefined;
179
+ spread?: number | undefined;
180
+ blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
181
+ }, {
182
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
186
183
  opacity?: number | undefined;
187
184
  visible?: boolean | undefined;
185
+ color?: string | undefined;
186
+ offset?: {
187
+ x: number;
188
+ y: number;
189
+ } | undefined;
190
+ radius?: number | undefined;
188
191
  spread?: number | undefined;
189
192
  blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
190
- }, {
191
- type: "DROP_SHADOW" | "INNER_SHADOW";
192
- color: string;
193
- offset: {
193
+ }>, "many">;
194
+ fileKey: z.ZodOptional<z.ZodString>;
195
+ }, "strip", z.ZodTypeAny, {
196
+ nodeId: string;
197
+ effects: {
198
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
199
+ opacity?: number | undefined;
200
+ visible?: boolean | undefined;
201
+ color?: string | undefined;
202
+ offset?: {
194
203
  x: number;
195
204
  y: number;
196
- };
197
- radius: number;
205
+ } | undefined;
206
+ radius?: number | undefined;
207
+ spread?: number | undefined;
208
+ blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
209
+ }[];
210
+ fileKey?: string | undefined;
211
+ }, {
212
+ nodeId: string;
213
+ effects: {
214
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
198
215
  opacity?: number | undefined;
199
216
  visible?: boolean | undefined;
217
+ color?: string | undefined;
218
+ offset?: {
219
+ x: number;
220
+ y: number;
221
+ } | undefined;
222
+ radius?: number | undefined;
200
223
  spread?: number | undefined;
201
224
  blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
202
- }>, z.ZodObject<{
203
- type: z.ZodEnum<["LAYER_BLUR", "BACKGROUND_BLUR"]>;
204
- radius: z.ZodNumber;
225
+ }[];
226
+ fileKey?: string | undefined;
227
+ }>;
228
+ export declare const setEffectsInput: z.ZodEffects<z.ZodObject<{
229
+ nodeId: z.ZodString;
230
+ effects: z.ZodArray<z.ZodObject<{
231
+ type: z.ZodEnum<["DROP_SHADOW", "INNER_SHADOW", "LAYER_BLUR", "BACKGROUND_BLUR"]>;
232
+ color: z.ZodOptional<z.ZodString>;
233
+ opacity: z.ZodOptional<z.ZodNumber>;
234
+ offset: z.ZodOptional<z.ZodObject<{
235
+ x: z.ZodNumber;
236
+ y: z.ZodNumber;
237
+ }, "strip", z.ZodTypeAny, {
238
+ x: number;
239
+ y: number;
240
+ }, {
241
+ x: number;
242
+ y: number;
243
+ }>>;
244
+ radius: z.ZodOptional<z.ZodNumber>;
245
+ spread: z.ZodOptional<z.ZodNumber>;
246
+ blendMode: z.ZodOptional<z.ZodEnum<["PASS_THROUGH", "NORMAL", "DARKEN", "MULTIPLY", "LINEAR_BURN", "COLOR_BURN", "LIGHTEN", "SCREEN", "LINEAR_DODGE", "COLOR_DODGE", "OVERLAY", "SOFT_LIGHT", "HARD_LIGHT", "DIFFERENCE", "EXCLUSION", "HUE", "SATURATION", "COLOR", "LUMINOSITY"]>>;
205
247
  visible: z.ZodOptional<z.ZodBoolean>;
206
248
  }, "strip", z.ZodTypeAny, {
207
- type: "LAYER_BLUR" | "BACKGROUND_BLUR";
208
- radius: number;
249
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
250
+ opacity?: number | undefined;
209
251
  visible?: boolean | undefined;
252
+ color?: string | undefined;
253
+ offset?: {
254
+ x: number;
255
+ y: number;
256
+ } | undefined;
257
+ radius?: number | undefined;
258
+ spread?: number | undefined;
259
+ blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
210
260
  }, {
211
- type: "LAYER_BLUR" | "BACKGROUND_BLUR";
212
- radius: number;
261
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
262
+ opacity?: number | undefined;
213
263
  visible?: boolean | undefined;
214
- }>]>, "many">;
264
+ color?: string | undefined;
265
+ offset?: {
266
+ x: number;
267
+ y: number;
268
+ } | undefined;
269
+ radius?: number | undefined;
270
+ spread?: number | undefined;
271
+ blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
272
+ }>, "many">;
215
273
  fileKey: z.ZodOptional<z.ZodString>;
216
274
  }, "strip", z.ZodTypeAny, {
217
275
  nodeId: string;
218
- effects: ({
219
- type: "DROP_SHADOW" | "INNER_SHADOW";
220
- color: string;
221
- offset: {
222
- x: number;
223
- y: number;
224
- };
225
- radius: number;
276
+ effects: {
277
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
226
278
  opacity?: number | undefined;
227
279
  visible?: boolean | undefined;
280
+ color?: string | undefined;
281
+ offset?: {
282
+ x: number;
283
+ y: number;
284
+ } | undefined;
285
+ radius?: number | undefined;
228
286
  spread?: number | undefined;
229
287
  blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
230
- } | {
231
- type: "LAYER_BLUR" | "BACKGROUND_BLUR";
232
- radius: number;
233
- visible?: boolean | undefined;
234
- })[];
288
+ }[];
235
289
  fileKey?: string | undefined;
236
290
  }, {
237
291
  nodeId: string;
238
- effects: ({
239
- type: "DROP_SHADOW" | "INNER_SHADOW";
240
- color: string;
241
- offset: {
292
+ effects: {
293
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
294
+ opacity?: number | undefined;
295
+ visible?: boolean | undefined;
296
+ color?: string | undefined;
297
+ offset?: {
242
298
  x: number;
243
299
  y: number;
244
- };
245
- radius: number;
300
+ } | undefined;
301
+ radius?: number | undefined;
302
+ spread?: number | undefined;
303
+ blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
304
+ }[];
305
+ fileKey?: string | undefined;
306
+ }>, {
307
+ nodeId: string;
308
+ effects: {
309
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
246
310
  opacity?: number | undefined;
247
311
  visible?: boolean | undefined;
312
+ color?: string | undefined;
313
+ offset?: {
314
+ x: number;
315
+ y: number;
316
+ } | undefined;
317
+ radius?: number | undefined;
248
318
  spread?: number | undefined;
249
319
  blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
250
- } | {
251
- type: "LAYER_BLUR" | "BACKGROUND_BLUR";
252
- radius: number;
320
+ }[];
321
+ fileKey?: string | undefined;
322
+ }, {
323
+ nodeId: string;
324
+ effects: {
325
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
326
+ opacity?: number | undefined;
253
327
  visible?: boolean | undefined;
254
- })[];
328
+ color?: string | undefined;
329
+ offset?: {
330
+ x: number;
331
+ y: number;
332
+ } | undefined;
333
+ radius?: number | undefined;
334
+ spread?: number | undefined;
335
+ blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
336
+ }[];
255
337
  fileKey?: string | undefined;
256
338
  }>;
257
339
  export declare const setStrokePropertiesInput: z.ZodObject<{
@@ -1167,7 +1249,7 @@ export declare const toolInputSchemas: {
1167
1249
  position: number;
1168
1250
  opacity?: number | undefined;
1169
1251
  }>, "many">;
1170
- gradientTransform: z.ZodOptional<z.ZodTuple<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>], null>>;
1252
+ gradientTransform: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">>;
1171
1253
  opacity: z.ZodOptional<z.ZodNumber>;
1172
1254
  target: z.ZodOptional<z.ZodEnum<["fill", "stroke"]>>;
1173
1255
  fileKey: z.ZodOptional<z.ZodString>;
@@ -1181,7 +1263,7 @@ export declare const toolInputSchemas: {
1181
1263
  fileKey?: string | undefined;
1182
1264
  opacity?: number | undefined;
1183
1265
  gradientType?: "LINEAR" | "RADIAL" | "ANGULAR" | "DIAMOND" | undefined;
1184
- gradientTransform?: [[number, number, number], [number, number, number]] | undefined;
1266
+ gradientTransform?: number[][] | undefined;
1185
1267
  target?: "fill" | "stroke" | undefined;
1186
1268
  }, {
1187
1269
  nodeId: string;
@@ -1193,7 +1275,7 @@ export declare const toolInputSchemas: {
1193
1275
  fileKey?: string | undefined;
1194
1276
  opacity?: number | undefined;
1195
1277
  gradientType?: "LINEAR" | "RADIAL" | "ANGULAR" | "DIAMOND" | undefined;
1196
- gradientTransform?: [[number, number, number], [number, number, number]] | undefined;
1278
+ gradientTransform?: number[][] | undefined;
1197
1279
  target?: "fill" | "stroke" | undefined;
1198
1280
  }>;
1199
1281
  readonly set_solid_fill: z.ZodObject<{
@@ -1215,13 +1297,13 @@ export declare const toolInputSchemas: {
1215
1297
  opacity?: number | undefined;
1216
1298
  target?: "fill" | "stroke" | undefined;
1217
1299
  }>;
1218
- readonly set_effects: z.ZodObject<{
1300
+ readonly set_effects: z.ZodEffects<z.ZodObject<{
1219
1301
  nodeId: z.ZodString;
1220
- effects: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1221
- type: z.ZodEnum<["DROP_SHADOW", "INNER_SHADOW"]>;
1222
- color: z.ZodString;
1302
+ effects: z.ZodArray<z.ZodObject<{
1303
+ type: z.ZodEnum<["DROP_SHADOW", "INNER_SHADOW", "LAYER_BLUR", "BACKGROUND_BLUR"]>;
1304
+ color: z.ZodOptional<z.ZodString>;
1223
1305
  opacity: z.ZodOptional<z.ZodNumber>;
1224
- offset: z.ZodObject<{
1306
+ offset: z.ZodOptional<z.ZodObject<{
1225
1307
  x: z.ZodNumber;
1226
1308
  y: z.ZodNumber;
1227
1309
  }, "strip", z.ZodTypeAny, {
@@ -1230,88 +1312,100 @@ export declare const toolInputSchemas: {
1230
1312
  }, {
1231
1313
  x: number;
1232
1314
  y: number;
1233
- }>;
1234
- radius: z.ZodNumber;
1315
+ }>>;
1316
+ radius: z.ZodOptional<z.ZodNumber>;
1235
1317
  spread: z.ZodOptional<z.ZodNumber>;
1236
1318
  blendMode: z.ZodOptional<z.ZodEnum<["PASS_THROUGH", "NORMAL", "DARKEN", "MULTIPLY", "LINEAR_BURN", "COLOR_BURN", "LIGHTEN", "SCREEN", "LINEAR_DODGE", "COLOR_DODGE", "OVERLAY", "SOFT_LIGHT", "HARD_LIGHT", "DIFFERENCE", "EXCLUSION", "HUE", "SATURATION", "COLOR", "LUMINOSITY"]>>;
1237
1319
  visible: z.ZodOptional<z.ZodBoolean>;
1238
1320
  }, "strip", z.ZodTypeAny, {
1239
- type: "DROP_SHADOW" | "INNER_SHADOW";
1240
- color: string;
1241
- offset: {
1242
- x: number;
1243
- y: number;
1244
- };
1245
- radius: number;
1321
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
1246
1322
  opacity?: number | undefined;
1247
1323
  visible?: boolean | undefined;
1324
+ color?: string | undefined;
1325
+ offset?: {
1326
+ x: number;
1327
+ y: number;
1328
+ } | undefined;
1329
+ radius?: number | undefined;
1248
1330
  spread?: number | undefined;
1249
1331
  blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
1250
1332
  }, {
1251
- type: "DROP_SHADOW" | "INNER_SHADOW";
1252
- color: string;
1253
- offset: {
1254
- x: number;
1255
- y: number;
1256
- };
1257
- radius: number;
1333
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
1258
1334
  opacity?: number | undefined;
1259
1335
  visible?: boolean | undefined;
1336
+ color?: string | undefined;
1337
+ offset?: {
1338
+ x: number;
1339
+ y: number;
1340
+ } | undefined;
1341
+ radius?: number | undefined;
1260
1342
  spread?: number | undefined;
1261
1343
  blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
1262
- }>, z.ZodObject<{
1263
- type: z.ZodEnum<["LAYER_BLUR", "BACKGROUND_BLUR"]>;
1264
- radius: z.ZodNumber;
1265
- visible: z.ZodOptional<z.ZodBoolean>;
1266
- }, "strip", z.ZodTypeAny, {
1267
- type: "LAYER_BLUR" | "BACKGROUND_BLUR";
1268
- radius: number;
1269
- visible?: boolean | undefined;
1270
- }, {
1271
- type: "LAYER_BLUR" | "BACKGROUND_BLUR";
1272
- radius: number;
1273
- visible?: boolean | undefined;
1274
- }>]>, "many">;
1344
+ }>, "many">;
1275
1345
  fileKey: z.ZodOptional<z.ZodString>;
1276
1346
  }, "strip", z.ZodTypeAny, {
1277
1347
  nodeId: string;
1278
- effects: ({
1279
- type: "DROP_SHADOW" | "INNER_SHADOW";
1280
- color: string;
1281
- offset: {
1282
- x: number;
1283
- y: number;
1284
- };
1285
- radius: number;
1348
+ effects: {
1349
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
1286
1350
  opacity?: number | undefined;
1287
1351
  visible?: boolean | undefined;
1352
+ color?: string | undefined;
1353
+ offset?: {
1354
+ x: number;
1355
+ y: number;
1356
+ } | undefined;
1357
+ radius?: number | undefined;
1288
1358
  spread?: number | undefined;
1289
1359
  blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
1290
- } | {
1291
- type: "LAYER_BLUR" | "BACKGROUND_BLUR";
1292
- radius: number;
1293
- visible?: boolean | undefined;
1294
- })[];
1360
+ }[];
1295
1361
  fileKey?: string | undefined;
1296
1362
  }, {
1297
1363
  nodeId: string;
1298
- effects: ({
1299
- type: "DROP_SHADOW" | "INNER_SHADOW";
1300
- color: string;
1301
- offset: {
1364
+ effects: {
1365
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
1366
+ opacity?: number | undefined;
1367
+ visible?: boolean | undefined;
1368
+ color?: string | undefined;
1369
+ offset?: {
1302
1370
  x: number;
1303
1371
  y: number;
1304
- };
1305
- radius: number;
1372
+ } | undefined;
1373
+ radius?: number | undefined;
1374
+ spread?: number | undefined;
1375
+ blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
1376
+ }[];
1377
+ fileKey?: string | undefined;
1378
+ }>, {
1379
+ nodeId: string;
1380
+ effects: {
1381
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
1306
1382
  opacity?: number | undefined;
1307
1383
  visible?: boolean | undefined;
1384
+ color?: string | undefined;
1385
+ offset?: {
1386
+ x: number;
1387
+ y: number;
1388
+ } | undefined;
1389
+ radius?: number | undefined;
1308
1390
  spread?: number | undefined;
1309
1391
  blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
1310
- } | {
1311
- type: "LAYER_BLUR" | "BACKGROUND_BLUR";
1312
- radius: number;
1392
+ }[];
1393
+ fileKey?: string | undefined;
1394
+ }, {
1395
+ nodeId: string;
1396
+ effects: {
1397
+ type: "DROP_SHADOW" | "INNER_SHADOW" | "LAYER_BLUR" | "BACKGROUND_BLUR";
1398
+ opacity?: number | undefined;
1313
1399
  visible?: boolean | undefined;
1314
- })[];
1400
+ color?: string | undefined;
1401
+ offset?: {
1402
+ x: number;
1403
+ y: number;
1404
+ } | undefined;
1405
+ radius?: number | undefined;
1406
+ spread?: number | undefined;
1407
+ blendMode?: "PASS_THROUGH" | "NORMAL" | "DARKEN" | "MULTIPLY" | "LINEAR_BURN" | "COLOR_BURN" | "LIGHTEN" | "SCREEN" | "LINEAR_DODGE" | "COLOR_DODGE" | "OVERLAY" | "SOFT_LIGHT" | "HARD_LIGHT" | "DIFFERENCE" | "EXCLUSION" | "HUE" | "SATURATION" | "COLOR" | "LUMINOSITY" | undefined;
1408
+ }[];
1315
1409
  fileKey?: string | undefined;
1316
1410
  }>;
1317
1411
  readonly set_stroke_properties: z.ZodEffects<z.ZodObject<{