@anuragpal02/zcl-contracts 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -4,7 +4,7 @@ import { type CreditBalanceResponse } from './credits.js';
4
4
  import { type CreateWorkspaceRequest, type Workspace, type WorkspaceMembership } from './workspaces.js';
5
5
  import { type Asset, type AssetUpload, type CreateAssetUploadRequest, type CreateAssetUploadResponse, type FinalizeAssetUploadRequest, type ListAssetsResponse } from './assets.js';
6
6
  import { type CreateProjectRequest, type LedMapResponse, type Project, type UpdateLedMapRequest, type UpdateProjectRequest } from './projects.js';
7
- import { type CreateGenerationJobRequest, type CreatePanelSetRequest, type EditGenerationJobRequest, type GenerationJobResponse, type GenerationJobStatus, type ListGenerationJobsResponse } from './generation.js';
7
+ import { type CreateGenerationJobRequest, type CreatePanelSetRequest, type CreatePanelSetResponse, type EditGenerationJobRequest, type GenerationJobResponse, type GenerationJobStatus, type ListGenerationJobsResponse } from './generation.js';
8
8
  import { type DescribeImageRequest, type DescribeImageResponse } from './assistant.js';
9
9
  type FetchLike = (request: Request) => Promise<Response>;
10
10
  export type ZclApiClientOptions = {
@@ -79,7 +79,7 @@ export declare function createZclApiClient(options: ZclApiClientOptions): {
79
79
  generation: {
80
80
  create(workspaceId: string, projectId: string, input: CreateGenerationJobRequest): Promise<GenerationJobResponse>;
81
81
  edit(workspaceId: string, projectId: string, input: EditGenerationJobRequest): Promise<GenerationJobResponse>;
82
- createPanelSet(workspaceId: string, projectId: string, input: CreatePanelSetRequest): Promise<GenerationJobResponse>;
82
+ createPanelSet(workspaceId: string, projectId: string, input: CreatePanelSetRequest): Promise<CreatePanelSetResponse>;
83
83
  get(workspaceId: string, projectId: string, jobId: string): Promise<GenerationJobResponse>;
84
84
  list(workspaceId: string, projectId: string, options?: {
85
85
  status?: GenerationJobStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -5,7 +5,7 @@ import { creditBalanceResponseSchema } from './credits.js';
5
5
  import { createWorkspaceRequestSchema, workspaceMembershipSchema, workspaceSchema } from './workspaces.js';
6
6
  import { assetSchema, createAssetUploadRequestSchema, createAssetUploadResponseSchema, finalizeAssetUploadRequestSchema, listAssetsResponseSchema } from './assets.js';
7
7
  import { createProjectRequestSchema, ledMapResponseSchema, projectSchema, updateLedMapRequestSchema, updateProjectRequestSchema } from './projects.js';
8
- import { createGenerationJobRequestSchema, createPanelSetRequestSchema, editGenerationJobRequestSchema, generationJobResponseSchema, listGenerationJobsResponseSchema } from './generation.js';
8
+ import { createGenerationJobRequestSchema, createPanelSetRequestSchema, createPanelSetResponseSchema, editGenerationJobRequestSchema, generationJobResponseSchema, listGenerationJobsResponseSchema } from './generation.js';
9
9
  import { describeImageRequestSchema, describeImageResponseSchema } from './assistant.js';
10
10
  const workspaceListResponseSchema = listResponseSchema(workspaceSchema.extend({
11
11
  membership: workspaceMembershipSchema
@@ -206,7 +206,7 @@ export function createZclApiClient(options) {
206
206
  },
207
207
  createPanelSet(workspaceId, projectId, input) {
208
208
  const body = createPanelSetRequestSchema.parse(input);
209
- return request(`/workspaces/${workspaceId}/projects/${projectId}/generation-jobs/${body.masterJobId}/panel-set`, generationJobResponseSchema, {
209
+ return request(`/workspaces/${workspaceId}/projects/${projectId}/generation-jobs/${body.masterJobId}/panel-set`, createPanelSetResponseSchema, {
210
210
  method: 'POST',
211
211
  body
212
212
  });
@@ -103,6 +103,89 @@ export declare const generationJobResponseSchema: z.ZodObject<{
103
103
  variantGroupId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
104
104
  }, z.core.$strip>;
105
105
  }, z.core.$strip>;
106
+ export declare const panelDescriptorSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
107
+ jobId: z.ZodString;
108
+ panelId: z.ZodString;
109
+ x: z.ZodNumber;
110
+ y: z.ZodNumber;
111
+ width: z.ZodNumber;
112
+ height: z.ZodNumber;
113
+ mode: z.ZodLiteral<"generated">;
114
+ }, z.core.$strip>, z.ZodObject<{
115
+ assetId: z.ZodString;
116
+ panelId: z.ZodString;
117
+ x: z.ZodNumber;
118
+ y: z.ZodNumber;
119
+ width: z.ZodNumber;
120
+ height: z.ZodNumber;
121
+ mode: z.ZodLiteral<"reuse">;
122
+ }, z.core.$strip>, z.ZodObject<{
123
+ sourcePanelId: z.ZodString;
124
+ panelId: z.ZodString;
125
+ x: z.ZodNumber;
126
+ y: z.ZodNumber;
127
+ width: z.ZodNumber;
128
+ height: z.ZodNumber;
129
+ mode: z.ZodLiteral<"mirror">;
130
+ }, z.core.$strip>], "mode">;
131
+ export declare const createPanelSetResponseSchema: z.ZodObject<{
132
+ data: z.ZodObject<{
133
+ id: z.ZodString;
134
+ workspaceId: z.ZodString;
135
+ projectId: z.ZodString;
136
+ type: z.ZodEnum<{
137
+ "image.generate": "image.generate";
138
+ "prompt.enhance": "prompt.enhance";
139
+ "image.edit": "image.edit";
140
+ "image.mask": "image.mask";
141
+ "image.export": "image.export";
142
+ "image.panel": "image.panel";
143
+ }>;
144
+ status: z.ZodEnum<{
145
+ failed: "failed";
146
+ queued: "queued";
147
+ running: "running";
148
+ succeeded: "succeeded";
149
+ canceled: "canceled";
150
+ }>;
151
+ provider: z.ZodString;
152
+ params: z.ZodUnknown;
153
+ reservedCredits: z.ZodNumber;
154
+ createdByUserId: z.ZodString;
155
+ createdAt: z.ZodString;
156
+ updatedAt: z.ZodString;
157
+ resultAssetIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
158
+ ledMapVersion: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
159
+ sourceAssetIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
160
+ parentJobId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
161
+ variantGroupId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
162
+ }, z.core.$strip>;
163
+ panels: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
164
+ jobId: z.ZodString;
165
+ panelId: z.ZodString;
166
+ x: z.ZodNumber;
167
+ y: z.ZodNumber;
168
+ width: z.ZodNumber;
169
+ height: z.ZodNumber;
170
+ mode: z.ZodLiteral<"generated">;
171
+ }, z.core.$strip>, z.ZodObject<{
172
+ assetId: z.ZodString;
173
+ panelId: z.ZodString;
174
+ x: z.ZodNumber;
175
+ y: z.ZodNumber;
176
+ width: z.ZodNumber;
177
+ height: z.ZodNumber;
178
+ mode: z.ZodLiteral<"reuse">;
179
+ }, z.core.$strip>, z.ZodObject<{
180
+ sourcePanelId: z.ZodString;
181
+ panelId: z.ZodString;
182
+ x: z.ZodNumber;
183
+ y: z.ZodNumber;
184
+ width: z.ZodNumber;
185
+ height: z.ZodNumber;
186
+ mode: z.ZodLiteral<"mirror">;
187
+ }, z.core.$strip>], "mode">>;
188
+ }, z.core.$strip>;
106
189
  export declare const listGenerationJobsQuerySchema: z.ZodObject<{
107
190
  status: z.ZodOptional<z.ZodEnum<{
108
191
  failed: "failed";
@@ -156,4 +239,6 @@ export type CreateGenerationJobRequest = z.input<typeof createGenerationJobReque
156
239
  export type ListGenerationJobsQuery = z.input<typeof listGenerationJobsQuerySchema>;
157
240
  export type GenerationJobResponse = z.infer<typeof generationJobResponseSchema>;
158
241
  export type ListGenerationJobsResponse = z.infer<typeof listGenerationJobsResponseSchema>;
242
+ export type PanelDescriptor = z.infer<typeof panelDescriptorSchema>;
243
+ export type CreatePanelSetResponse = z.infer<typeof createPanelSetResponseSchema>;
159
244
  //# sourceMappingURL=generation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,yBAAyB;;;;;;EAAmE,CAAA;AAEzG,eAAO,MAAM,uBAAuB;;;;;;;EAOlC,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;;;;;iBAOpC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;iBAIzC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoB9B,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;iBAA4B,CAAA;AAEzE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAwC,CAAA;AAEhF,eAAO,MAAM,6BAA6B;;;;;;;;;iBAGxC,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE3C,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC3E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACvE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC3E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AACrF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAC/E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AACzF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AACnF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA"}
1
+ {"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,yBAAyB;;;;;;EAAmE,CAAA;AAEzG,eAAO,MAAM,uBAAuB;;;;;;;EAOlC,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;;;;;iBAOpC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;iBAIzC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoB9B,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;iBAA4B,CAAA;AAEzE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAwC,CAAA;AAehF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;2BAIhC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEvC,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;iBAGxC,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE3C,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC3E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACvE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC3E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AACrF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAC/E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AACzF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AACnF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AACzF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACnE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { apiSuccessSchema, idSchema, isoDateSchema } from './common.js';
3
+ import { ledPanelIdSchema } from './projects.js';
3
4
  export const generationJobStatusSchema = z.enum(['queued', 'running', 'succeeded', 'failed', 'canceled']);
4
5
  export const generationJobTypeSchema = z.enum([
5
6
  'image.generate',
@@ -49,6 +50,26 @@ export const generationJobSchema = z.object({
49
50
  });
50
51
  export const createGenerationJobRequestSchema = imageGenerateParamsSchema;
51
52
  export const generationJobResponseSchema = apiSuccessSchema(generationJobSchema);
53
+ // Geometry every panel carries regardless of mode (a snapshot of its pinned layout, so the
54
+ // web can place reuse/mirror panels that have no job to read params from).
55
+ const panelDescriptorBase = {
56
+ panelId: ledPanelIdSchema,
57
+ x: z.number().int().min(-1000000).max(1000000),
58
+ y: z.number().int().min(-1000000).max(1000000),
59
+ width: z.number().int().positive().max(100000),
60
+ height: z.number().int().positive().max(100000)
61
+ };
62
+ // Discriminated on `mode` so each variant narrows to exactly the id it carries
63
+ // (generated→jobId, reuse→assetId(master), mirror→sourcePanelId(twin)). Consumers branch on
64
+ // `mode` and get a non-optional field — no null-assertions in the compositor.
65
+ export const panelDescriptorSchema = z.discriminatedUnion('mode', [
66
+ z.object({ mode: z.literal('generated'), ...panelDescriptorBase, jobId: idSchema }),
67
+ z.object({ mode: z.literal('reuse'), ...panelDescriptorBase, assetId: idSchema }),
68
+ z.object({ mode: z.literal('mirror'), ...panelDescriptorBase, sourcePanelId: ledPanelIdSchema })
69
+ ]);
70
+ export const createPanelSetResponseSchema = generationJobResponseSchema.extend({
71
+ panels: z.array(panelDescriptorSchema)
72
+ });
52
73
  export const listGenerationJobsQuerySchema = z.object({
53
74
  status: generationJobStatusSchema.optional(),
54
75
  variantGroupId: idSchema.optional()
@@ -8,6 +8,7 @@ export declare const projectStatusSchema: z.ZodEnum<{
8
8
  active: "active";
9
9
  archived: "archived";
10
10
  }>;
11
+ export declare const ledPanelIdSchema: z.ZodString;
11
12
  export declare const ledPanelSchema: z.ZodObject<{
12
13
  id: z.ZodString;
13
14
  name: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../src/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,uBAAuB;;;EAAmC,CAAA;AACvE,eAAO,MAAM,mBAAmB;;;;EAA4C,CAAA;AAE5E,eAAO,MAAM,cAAc;;;;;;;;;iBASzB,CAAA;AAEF,eAAO,MAAM,eAAe;;;;;;;;iBAQ1B,CAAA;AAMF,eAAO,MAAM,eAAe;;;;;;;;;kBAGgC,CAAA;AAsB5D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;iBAiCrB,CAAA;AAEJ,eAAO,MAAM,yBAAyB;;;;;;;;;;;;iBAGpC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAiC,CAAA;AAElE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;iBASxB,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;iBAGrC,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;iBASpC,CAAA;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAC7E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAC7E,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AACvD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AACjD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AACrD,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC3E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AACnD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../src/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,uBAAuB;;;EAAmC,CAAA;AACvE,eAAO,MAAM,mBAAmB;;;;EAA4C,CAAA;AAE5E,eAAO,MAAM,gBAAgB,aAAmC,CAAA;AAEhE,eAAO,MAAM,cAAc;;;;;;;;;iBASzB,CAAA;AAEF,eAAO,MAAM,eAAe;;;;;;;;iBAQ1B,CAAA;AAMF,eAAO,MAAM,eAAe;;;;;;;;;kBAGgC,CAAA;AAsB5D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;iBAiCrB,CAAA;AAEJ,eAAO,MAAM,yBAAyB;;;;;;;;;;;;iBAGpC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAiC,CAAA;AAElE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;iBASxB,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;iBAGrC,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;iBASpC,CAAA;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAC7E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAC7E,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AACvD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AACjD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AACrD,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC3E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AACnD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
package/dist/projects.js CHANGED
@@ -2,8 +2,9 @@ import { z } from 'zod';
2
2
  import { apiSuccessSchema, idSchema, isoDateSchema } from './common.js';
3
3
  export const projectVisibilitySchema = z.enum(['private', 'workspace']);
4
4
  export const projectStatusSchema = z.enum(['active', 'archived', 'deleted']);
5
+ export const ledPanelIdSchema = z.string().trim().min(1).max(80);
5
6
  export const ledPanelSchema = z.object({
6
- id: z.string().trim().min(1).max(80),
7
+ id: ledPanelIdSchema,
7
8
  name: z.string().trim().min(1).max(120),
8
9
  width: z.number().int().positive().max(100000),
9
10
  height: z.number().int().positive().max(100000),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anuragpal02/zcl-contracts",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",