@anuragpal02/zcl-contracts 0.26.0 → 0.27.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/admin.d.ts +3 -0
- package/dist/admin.d.ts.map +1 -1
- package/dist/admin.js +3 -0
- package/dist/client.d.ts +8 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +35 -1
- package/dist/generation.d.ts +18 -0
- package/dist/generation.d.ts.map +1 -1
- package/dist/generation.js +23 -6
- package/dist/guidelines.d.ts +81 -0
- package/dist/guidelines.d.ts.map +1 -0
- package/dist/guidelines.js +41 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/projects.d.ts +113 -0
- package/dist/projects.d.ts.map +1 -1
- package/dist/projects.js +107 -1
- package/package.json +1 -1
package/dist/admin.d.ts
CHANGED
|
@@ -262,6 +262,7 @@ export declare const adminJobSummarySchema: z.ZodObject<{
|
|
|
262
262
|
provider: z.ZodString;
|
|
263
263
|
reservedCredits: z.ZodNumber;
|
|
264
264
|
createdByUserId: z.ZodString;
|
|
265
|
+
runId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
265
266
|
createdAt: z.ZodString;
|
|
266
267
|
}, z.core.$strip>;
|
|
267
268
|
export declare const listAdminJobsResponseSchema: z.ZodObject<{
|
|
@@ -292,6 +293,7 @@ export declare const listAdminJobsResponseSchema: z.ZodObject<{
|
|
|
292
293
|
provider: z.ZodString;
|
|
293
294
|
reservedCredits: z.ZodNumber;
|
|
294
295
|
createdByUserId: z.ZodString;
|
|
296
|
+
runId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
295
297
|
createdAt: z.ZodString;
|
|
296
298
|
}, z.core.$strip>>;
|
|
297
299
|
nextCursor: z.ZodNullable<z.ZodString>;
|
|
@@ -341,6 +343,7 @@ export declare const adminJobDetailResponseSchema: z.ZodObject<{
|
|
|
341
343
|
provider: z.ZodString;
|
|
342
344
|
reservedCredits: z.ZodNumber;
|
|
343
345
|
createdByUserId: z.ZodString;
|
|
346
|
+
runId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
344
347
|
createdAt: z.ZodString;
|
|
345
348
|
}, z.core.$strip>;
|
|
346
349
|
steps: z.ZodArray<z.ZodObject<{
|
package/dist/admin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAOvB,eAAO,MAAM,sBAAsB;;;;;;;EAOjC,CAAA;AAGF,eAAO,MAAM,qBAAqB;;;;;;;iBAOjC,CAAA;AAED,eAAO,MAAM,2BAA2B;;;;;;;;;;;iBAQtC,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;iBAK7C,CAAA;AAED,eAAO,MAAM,sBAAsB;;;;;;;;iBAQjC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;iBAKxC,CAAA;AAGD,eAAO,MAAM,0BAA0B;;;;;;;;;;iBAKrC,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;iBAUzC,CAAA;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;iBAKjC,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiB9C,CAAA;AAGD,eAAO,MAAM,+BAA+B;;;iBAG1C,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;iBAK5C,CAAA;AAED,eAAO,MAAM,6BAA6B;;iBAExC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;iBAA2C,CAAA;AAItF,eAAO,MAAM,4BAA4B;;iBAEvC,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;iBAA2C,CAAA;AAIrF,eAAO,MAAM,qBAAqB;;;;;;;;;;iBAUhC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;iBAKxC,CAAA;AAED,eAAO,MAAM,oBAAoB;;;;;;EAAmE,CAAA;AAGpG,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
|
package/dist/admin.js
CHANGED
|
@@ -128,6 +128,9 @@ export const adminJobSummarySchema = z.object({
|
|
|
128
128
|
provider: z.string(),
|
|
129
129
|
reservedCredits: z.number().int(),
|
|
130
130
|
createdByUserId: idSchema,
|
|
131
|
+
// The creation (run) this job belongs to. Defaults to null for jobs that predate
|
|
132
|
+
// Project Folders / aren't attached to a run.
|
|
133
|
+
runId: idSchema.nullable().default(null),
|
|
131
134
|
createdAt: isoDateSchema
|
|
132
135
|
});
|
|
133
136
|
export const listAdminJobsResponseSchema = apiSuccessSchema(z.object({
|
package/dist/client.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { type ApiErrorCode } from './common.js';
|
|
|
4
4
|
import { type CreditBalanceResponse } from './credits.js';
|
|
5
5
|
import { workspaceMemberSchema, type CreateWorkspaceRequest, type InviteMemberRequest, type InviteMemberResponse, type ListMembersResponse, type UpdateMemberRoleRequest, type UpdateWorkspaceRequest, type Workspace, type WorkspaceMembership } from './workspaces.js';
|
|
6
6
|
import { type Asset, type AssetUpload, type CreateAssetUploadRequest, type CreateAssetUploadResponse, type FinalizeAssetUploadRequest, type ListAssetsResponse, type ListWorkspaceAssetsResponse, type WorkspaceAssetFilter } from './assets.js';
|
|
7
|
-
import { type CreateProjectRequest, type LedMapResponse, type ListProjectsQuery, type Project, type UpdateLedMapRequest, type UpdateProjectRequest } from './projects.js';
|
|
7
|
+
import { projectRunListResponseSchema, projectRunResponseSchema, type CreateProjectRequest, type CreateProjectRunRequest, type LedMapResponse, type ListProjectRunsQuery, type ListProjectsQuery, type Project, type UpdateLedMapRequest, type UpdateProjectRequest, type UpdateProjectRunRequest } from './projects.js';
|
|
8
8
|
import { type CreateGenerationJobRequest, type CreatePanelSetRequest, type CreatePanelSetResponse, type CreateSmartVideoRequest, type CreateSmartVideoResponse, type CreateVideoLoopRequest, type CreateVideoUpscaleRequest, type EditGenerationJobRequest, type GenerationJobResponse, type GenerationJobStatus, type GenerationJobType, type ListGenerationJobsResponse } from './generation.js';
|
|
9
9
|
import { type DescribeImageRequest, type DescribeImageResponse } from './assistant.js';
|
|
10
10
|
import { type AdminAdjustCreditsRequest, type AdminAdjustCreditsResponse, type AdminJobDetailResponse, type AdminJobStatus, type AdminMeResponse, type AdminUsageResponse, type AdminUserDetailResponse, type AdminWorkspaceDetailResponse, type ListAdminAuditResponse, type ListAdminJobsResponse, type ListAdminUsersResponse, type ListAdminWorkspacesResponse, type SetPlatformAdminRequest, type SetPlatformAdminResponse, type SetUserDisabledRequest, type SetUserDisabledResponse, type StepUpStartResponse, type StepUpVerifyResponse } from './admin.js';
|
|
@@ -83,6 +83,12 @@ export declare function createZclApiClient(options: ZclApiClientOptions): {
|
|
|
83
83
|
get(workspaceId: string, projectId: string): Promise<LedMapResponse>;
|
|
84
84
|
update(workspaceId: string, projectId: string, input: UpdateLedMapRequest): Promise<LedMapResponse>;
|
|
85
85
|
};
|
|
86
|
+
runs: {
|
|
87
|
+
list(workspaceId: string, projectId: string, query?: ListProjectRunsQuery): Promise<z.infer<typeof projectRunListResponseSchema>>;
|
|
88
|
+
get(workspaceId: string, projectId: string, runId: string): Promise<z.infer<typeof projectRunResponseSchema>>;
|
|
89
|
+
create(workspaceId: string, projectId: string, input: CreateProjectRunRequest): Promise<z.infer<typeof projectRunResponseSchema>>;
|
|
90
|
+
update(workspaceId: string, projectId: string, runId: string, input: UpdateProjectRunRequest): Promise<z.infer<typeof projectRunResponseSchema>>;
|
|
91
|
+
};
|
|
86
92
|
assets: {
|
|
87
93
|
createUpload(workspaceId: string, projectId: string, input: CreateAssetUploadRequest): Promise<CreateAssetUploadResponse>;
|
|
88
94
|
uploadObject(upload: AssetUpload, body: BodyInit): Promise<void>;
|
|
@@ -109,6 +115,7 @@ export declare function createZclApiClient(options: ZclApiClientOptions): {
|
|
|
109
115
|
list(workspaceId: string, projectId: string, options?: {
|
|
110
116
|
status?: GenerationJobStatus;
|
|
111
117
|
variantGroupId?: string;
|
|
118
|
+
runId?: string;
|
|
112
119
|
cursor?: string;
|
|
113
120
|
limit?: number;
|
|
114
121
|
}): Promise<ListGenerationJobsResponse>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EASL,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,WAAW,CAAA;AAClB,OAAO,EAA2C,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AACxF,OAAO,EAA+B,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,EAOL,qBAAqB,EAIrB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,SAAS,EACd,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAOL,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAA;AACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -4,7 +4,7 @@ import { errorResponseSchema, listResponseSchema } from './common.js';
|
|
|
4
4
|
import { creditBalanceResponseSchema } from './credits.js';
|
|
5
5
|
import { createWorkspaceRequestSchema, inviteMemberRequestSchema, inviteMemberResponseSchema, listMembersResponseSchema, updateMemberRoleRequestSchema, updateWorkspaceRequestSchema, workspaceMemberSchema, workspaceMembershipSchema, workspaceResponseSchema, workspaceSchema } from './workspaces.js';
|
|
6
6
|
import { assetSchema, createAssetUploadRequestSchema, createAssetUploadResponseSchema, finalizeAssetUploadRequestSchema, listAssetsResponseSchema, listWorkspaceAssetsResponseSchema } from './assets.js';
|
|
7
|
-
import { createProjectRequestSchema, ledMapResponseSchema, projectSchema, updateLedMapRequestSchema, updateProjectRequestSchema } from './projects.js';
|
|
7
|
+
import { createProjectRequestSchema, createProjectRunRequestSchema, ledMapResponseSchema, projectRunListResponseSchema, projectRunResponseSchema, projectSchema, updateLedMapRequestSchema, updateProjectRequestSchema, updateProjectRunRequestSchema } from './projects.js';
|
|
8
8
|
import { createGenerationJobRequestSchema, createPanelSetRequestSchema, createPanelSetResponseSchema, createSmartVideoRequestSchema, createSmartVideoResponseSchema, createVideoLoopRequestSchema, createVideoUpscaleRequestSchema, editGenerationJobRequestSchema, generationJobResponseSchema, listGenerationJobsResponseSchema } from './generation.js';
|
|
9
9
|
import { describeImageRequestSchema, describeImageResponseSchema } from './assistant.js';
|
|
10
10
|
import { adminAdjustCreditsRequestSchema, adminAdjustCreditsResponseSchema, adminJobDetailResponseSchema, adminMeResponseSchema, adminUsageResponseSchema, adminUserDetailResponseSchema, adminWorkspaceDetailResponseSchema, listAdminAuditResponseSchema, listAdminJobsResponseSchema, listAdminUsersResponseSchema, listAdminWorkspacesResponseSchema, setPlatformAdminRequestSchema, setPlatformAdminResponseSchema, setUserDisabledRequestSchema, setUserDisabledResponseSchema, stepUpStartResponseSchema, stepUpVerifyRequestSchema, stepUpVerifyResponseSchema } from './admin.js';
|
|
@@ -214,6 +214,37 @@ export function createZclApiClient(options) {
|
|
|
214
214
|
});
|
|
215
215
|
}
|
|
216
216
|
},
|
|
217
|
+
runs: {
|
|
218
|
+
list(workspaceId, projectId, query = {}) {
|
|
219
|
+
const params = new URLSearchParams();
|
|
220
|
+
if (query.cursor !== undefined) {
|
|
221
|
+
params.set('cursor', query.cursor);
|
|
222
|
+
}
|
|
223
|
+
if (query.limit !== undefined) {
|
|
224
|
+
params.set('limit', String(query.limit));
|
|
225
|
+
}
|
|
226
|
+
if (query.status) {
|
|
227
|
+
params.set('status', query.status);
|
|
228
|
+
}
|
|
229
|
+
const qs = params.toString() ? `?${params.toString()}` : '';
|
|
230
|
+
return request(`/workspaces/${workspaceId}/projects/${projectId}/runs${qs}`, projectRunListResponseSchema);
|
|
231
|
+
},
|
|
232
|
+
get(workspaceId, projectId, runId) {
|
|
233
|
+
return request(`/workspaces/${workspaceId}/projects/${projectId}/runs/${runId}`, projectRunResponseSchema);
|
|
234
|
+
},
|
|
235
|
+
create(workspaceId, projectId, input) {
|
|
236
|
+
return request(`/workspaces/${workspaceId}/projects/${projectId}/runs`, projectRunResponseSchema, {
|
|
237
|
+
method: 'POST',
|
|
238
|
+
body: createProjectRunRequestSchema.parse(input)
|
|
239
|
+
});
|
|
240
|
+
},
|
|
241
|
+
update(workspaceId, projectId, runId, input) {
|
|
242
|
+
return request(`/workspaces/${workspaceId}/projects/${projectId}/runs/${runId}`, projectRunResponseSchema, {
|
|
243
|
+
method: 'PATCH',
|
|
244
|
+
body: updateProjectRunRequestSchema.parse(input)
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
},
|
|
217
248
|
assets: {
|
|
218
249
|
createUpload(workspaceId, projectId, input) {
|
|
219
250
|
return request(`/workspaces/${workspaceId}/projects/${projectId}/assets/uploads`, createAssetUploadResponseSchema, {
|
|
@@ -309,6 +340,9 @@ export function createZclApiClient(options) {
|
|
|
309
340
|
if (options.variantGroupId) {
|
|
310
341
|
params.set('variantGroupId', options.variantGroupId);
|
|
311
342
|
}
|
|
343
|
+
if (options.runId) {
|
|
344
|
+
params.set('runId', options.runId);
|
|
345
|
+
}
|
|
312
346
|
if (options.limit !== undefined) {
|
|
313
347
|
params.set('limit', String(options.limit));
|
|
314
348
|
}
|
package/dist/generation.d.ts
CHANGED
|
@@ -34,15 +34,18 @@ export declare const imageGenerateParamsSchema: z.ZodObject<{
|
|
|
34
34
|
enhance: z.ZodOptional<z.ZodBoolean>;
|
|
35
35
|
count: z.ZodDefault<z.ZodNumber>;
|
|
36
36
|
panelBorders: z.ZodOptional<z.ZodBoolean>;
|
|
37
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
37
38
|
}, z.core.$strip>;
|
|
38
39
|
export declare const editGenerationJobRequestSchema: z.ZodObject<{
|
|
39
40
|
parentJobId: z.ZodString;
|
|
40
41
|
instruction: z.ZodString;
|
|
41
42
|
enhance: z.ZodOptional<z.ZodBoolean>;
|
|
43
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
42
44
|
}, z.core.$strip>;
|
|
43
45
|
export declare const createPanelSetRequestSchema: z.ZodObject<{
|
|
44
46
|
masterJobId: z.ZodString;
|
|
45
47
|
panelBorders: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
48
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
46
49
|
}, z.core.$strip>;
|
|
47
50
|
export declare const cropFractionsSchema: z.ZodObject<{
|
|
48
51
|
x: z.ZodNumber;
|
|
@@ -67,9 +70,11 @@ export declare const createVideoLoopRequestSchema: z.ZodObject<{
|
|
|
67
70
|
"1080p": "1080p";
|
|
68
71
|
"4k": "4k";
|
|
69
72
|
}>>;
|
|
73
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
70
74
|
}, z.core.$strip>;
|
|
71
75
|
export declare const createVideoUpscaleRequestSchema: z.ZodObject<{
|
|
72
76
|
sourceJobId: z.ZodString;
|
|
77
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
73
78
|
}, z.core.$strip>;
|
|
74
79
|
export declare const createSmartVideoRequestSchema: z.ZodObject<{
|
|
75
80
|
sourceMode: z.ZodEnum<{
|
|
@@ -88,6 +93,7 @@ export declare const createSmartVideoRequestSchema: z.ZodObject<{
|
|
|
88
93
|
"1080p": "1080p";
|
|
89
94
|
"4k": "4k";
|
|
90
95
|
}>>;
|
|
96
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
91
97
|
}, z.core.$strip>;
|
|
92
98
|
export declare const videoTierSchema: z.ZodEnum<{
|
|
93
99
|
"1080p": "1080p";
|
|
@@ -280,6 +286,8 @@ export declare const generationJobSchema: z.ZodObject<{
|
|
|
280
286
|
updatedAt: z.ZodString;
|
|
281
287
|
resultAssetIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
282
288
|
ledMapVersion: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
289
|
+
ledMapId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
290
|
+
runId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
283
291
|
sourceAssetIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
284
292
|
parentJobId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
285
293
|
variantGroupId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
@@ -296,6 +304,7 @@ export declare const createGenerationJobRequestSchema: z.ZodObject<{
|
|
|
296
304
|
enhance: z.ZodOptional<z.ZodBoolean>;
|
|
297
305
|
count: z.ZodDefault<z.ZodNumber>;
|
|
298
306
|
panelBorders: z.ZodOptional<z.ZodBoolean>;
|
|
307
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
299
308
|
}, z.core.$strip>;
|
|
300
309
|
export declare const generationJobResponseSchema: z.ZodObject<{
|
|
301
310
|
data: z.ZodObject<{
|
|
@@ -329,6 +338,8 @@ export declare const generationJobResponseSchema: z.ZodObject<{
|
|
|
329
338
|
updatedAt: z.ZodString;
|
|
330
339
|
resultAssetIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
331
340
|
ledMapVersion: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
341
|
+
ledMapId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
342
|
+
runId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
332
343
|
sourceAssetIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
333
344
|
parentJobId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
334
345
|
variantGroupId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
@@ -367,6 +378,8 @@ export declare const createSmartVideoResponseSchema: z.ZodObject<{
|
|
|
367
378
|
updatedAt: z.ZodString;
|
|
368
379
|
resultAssetIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
369
380
|
ledMapVersion: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
381
|
+
ledMapId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
382
|
+
runId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
370
383
|
sourceAssetIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
371
384
|
parentJobId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
372
385
|
variantGroupId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
@@ -484,6 +497,8 @@ export declare const createPanelSetResponseSchema: z.ZodObject<{
|
|
|
484
497
|
updatedAt: z.ZodString;
|
|
485
498
|
resultAssetIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
486
499
|
ledMapVersion: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
500
|
+
ledMapId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
501
|
+
runId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
487
502
|
sourceAssetIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
488
503
|
parentJobId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
489
504
|
variantGroupId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
@@ -523,6 +538,7 @@ export declare const listGenerationJobsQuerySchema: z.ZodObject<{
|
|
|
523
538
|
canceled: "canceled";
|
|
524
539
|
}>>;
|
|
525
540
|
variantGroupId: z.ZodOptional<z.ZodString>;
|
|
541
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
526
542
|
cursor: z.ZodOptional<z.ZodString>;
|
|
527
543
|
limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
528
544
|
}, z.core.$strip>;
|
|
@@ -558,6 +574,8 @@ export declare const listGenerationJobsResponseSchema: z.ZodObject<{
|
|
|
558
574
|
updatedAt: z.ZodString;
|
|
559
575
|
resultAssetIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
560
576
|
ledMapVersion: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
577
|
+
ledMapId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
578
|
+
runId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
561
579
|
sourceAssetIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
562
580
|
parentJobId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
563
581
|
variantGroupId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
package/dist/generation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;;;;;;;;;;;EAWlC,CAAA;AAKF,eAAO,MAAM,iBAAiB;;;EAA2B,CAAA;AAEzD,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"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"}
|
package/dist/generation.js
CHANGED
|
@@ -34,16 +34,21 @@ export const imageGenerateParamsSchema = z.object({
|
|
|
34
34
|
// frames each individual LED panel at the panel-set step. Left as plain optional (no
|
|
35
35
|
// default) so it stays absent from requests that don't set it; the server treats
|
|
36
36
|
// absent/false identically.
|
|
37
|
-
panelBorders: z.boolean().optional()
|
|
37
|
+
panelBorders: z.boolean().optional(),
|
|
38
|
+
// The creation this generation belongs to. Omitted = the server resolves the project's
|
|
39
|
+
// sole creation (pre-Project-Folders behavior); pinned older clients never send this.
|
|
40
|
+
runId: idSchema.optional()
|
|
38
41
|
});
|
|
39
42
|
export const editGenerationJobRequestSchema = z.object({
|
|
40
43
|
parentJobId: idSchema,
|
|
41
44
|
instruction: z.string().trim().min(1).max(4000),
|
|
42
|
-
enhance: z.boolean().optional()
|
|
45
|
+
enhance: z.boolean().optional(),
|
|
46
|
+
runId: idSchema.optional()
|
|
43
47
|
});
|
|
44
48
|
export const createPanelSetRequestSchema = z.object({
|
|
45
49
|
masterJobId: idSchema,
|
|
46
|
-
panelBorders: z.boolean().optional().default(false)
|
|
50
|
+
panelBorders: z.boolean().optional().default(false),
|
|
51
|
+
runId: idSchema.optional()
|
|
47
52
|
});
|
|
48
53
|
export const cropFractionsSchema = z.object({
|
|
49
54
|
x: z.number().min(0).max(1),
|
|
@@ -60,13 +65,15 @@ export const createVideoLoopRequestSchema = z.object({
|
|
|
60
65
|
// Native Veo output resolution (MVP parity). '4k' renders 4K straight from Veo —
|
|
61
66
|
// distinct from the separate Topaz post-upscale. Server clamps to '1080p' where
|
|
62
67
|
// the model/aspect combination does not support 4K.
|
|
63
|
-
resolution: z.enum(['1080p', '4k']).default('1080p')
|
|
68
|
+
resolution: z.enum(['1080p', '4k']).default('1080p'),
|
|
69
|
+
runId: idSchema.optional()
|
|
64
70
|
});
|
|
65
71
|
// 4K upscale (Topaz Video API) of a FINISHED video.loop. The user picks a succeeded loop;
|
|
66
72
|
// the server resolves its `video_final` + the LED-map width and targets the map width
|
|
67
73
|
// (4K floor, capped at Topaz's 8192px limit), preserving the clip's aspect.
|
|
68
74
|
export const createVideoUpscaleRequestSchema = z.object({
|
|
69
|
-
sourceJobId: idSchema
|
|
75
|
+
sourceJobId: idSchema,
|
|
76
|
+
runId: idSchema.optional()
|
|
70
77
|
});
|
|
71
78
|
// Smart video: orchestrates a full per-panel Veo generation pass for the wall.
|
|
72
79
|
// sourceMode='master' uses a finished image.generate job (masterJobId required);
|
|
@@ -79,7 +86,8 @@ export const createSmartVideoRequestSchema = z.object({
|
|
|
79
86
|
recomposeWall: z.boolean().optional().default(true),
|
|
80
87
|
// Native Veo output resolution for the per-group renders (same semantics as
|
|
81
88
|
// createVideoLoopRequestSchema.resolution).
|
|
82
|
-
resolution: z.enum(['1080p', '4k']).default('1080p')
|
|
89
|
+
resolution: z.enum(['1080p', '4k']).default('1080p'),
|
|
90
|
+
runId: idSchema.optional()
|
|
83
91
|
});
|
|
84
92
|
// ─── Video plan schemas ────────────────────────────────────────────────────────
|
|
85
93
|
// Mirrors the planner types from videoPlanner.ts; surfaced read-only on the job.
|
|
@@ -162,6 +170,14 @@ export const generationJobSchema = z.object({
|
|
|
162
170
|
resultAssetIds: z.array(idSchema).default([]),
|
|
163
171
|
// Lineage / mapping fields. All default so older payloads still parse.
|
|
164
172
|
ledMapVersion: z.number().int().nonnegative().nullable().default(null),
|
|
173
|
+
/**
|
|
174
|
+
* The map this job's geometry came from. Paired with ledMapVersion: a version
|
|
175
|
+
* integer alone is ambiguous once a project holds more than one map, and the
|
|
176
|
+
* centre-reuse gate compares them.
|
|
177
|
+
*/
|
|
178
|
+
ledMapId: idSchema.nullable().default(null),
|
|
179
|
+
/** The creation this job belongs to. Null on legacy rows. */
|
|
180
|
+
runId: idSchema.nullable().default(null),
|
|
165
181
|
sourceAssetIds: z.array(idSchema).default([]),
|
|
166
182
|
parentJobId: idSchema.nullable().default(null),
|
|
167
183
|
variantGroupId: idSchema.nullable().default(null)
|
|
@@ -196,6 +212,7 @@ export const createPanelSetResponseSchema = generationJobResponseSchema.extend({
|
|
|
196
212
|
export const listGenerationJobsQuerySchema = z.object({
|
|
197
213
|
status: generationJobStatusSchema.optional(),
|
|
198
214
|
variantGroupId: idSchema.optional(),
|
|
215
|
+
runId: idSchema.optional(),
|
|
199
216
|
cursor: z.string().min(1).optional(),
|
|
200
217
|
limit: z.coerce.number().int().min(1).max(100).optional()
|
|
201
218
|
});
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Hard cap on the free text that is appended to EVERY generation in a project.
|
|
4
|
+
* The user prompt is capped at 4000 chars, but guideline text is concatenated
|
|
5
|
+
* server-side AFTER validation and there is no rate limit on generation — so this
|
|
6
|
+
* cap is the only bound on prompt growth. Keep it small and deliberate.
|
|
7
|
+
*/
|
|
8
|
+
export declare const GENERATION_INSTRUCTIONS_MAX = 500;
|
|
9
|
+
export declare const guidelineSetSchema: z.ZodObject<{
|
|
10
|
+
id: z.ZodString;
|
|
11
|
+
workspaceId: z.ZodString;
|
|
12
|
+
projectId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
13
|
+
createdByUserId: z.ZodString;
|
|
14
|
+
name: z.ZodString;
|
|
15
|
+
colors: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
16
|
+
fonts: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
17
|
+
guidelinesText: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
18
|
+
generationInstructions: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
19
|
+
notes: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
20
|
+
revision: z.ZodNumber;
|
|
21
|
+
createdAt: z.ZodString;
|
|
22
|
+
updatedAt: z.ZodString;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export declare const createGuidelineSetRequestSchema: z.ZodObject<{
|
|
25
|
+
name: z.ZodString;
|
|
26
|
+
colors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
27
|
+
fonts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
28
|
+
guidelinesText: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
29
|
+
generationInstructions: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
30
|
+
notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
export declare const updateGuidelineSetRequestSchema: z.ZodObject<{
|
|
33
|
+
name: z.ZodOptional<z.ZodString>;
|
|
34
|
+
colors: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
35
|
+
fonts: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
36
|
+
guidelinesText: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
37
|
+
generationInstructions: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
38
|
+
notes: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
39
|
+
expectedRevision: z.ZodNumber;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
export declare const guidelineSetResponseSchema: z.ZodObject<{
|
|
42
|
+
data: z.ZodObject<{
|
|
43
|
+
id: z.ZodString;
|
|
44
|
+
workspaceId: z.ZodString;
|
|
45
|
+
projectId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
46
|
+
createdByUserId: z.ZodString;
|
|
47
|
+
name: z.ZodString;
|
|
48
|
+
colors: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
49
|
+
fonts: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
50
|
+
guidelinesText: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
51
|
+
generationInstructions: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
52
|
+
notes: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
53
|
+
revision: z.ZodNumber;
|
|
54
|
+
createdAt: z.ZodString;
|
|
55
|
+
updatedAt: z.ZodString;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
}, z.core.$strip>;
|
|
58
|
+
export declare const guidelineSetListResponseSchema: z.ZodObject<{
|
|
59
|
+
data: z.ZodArray<z.ZodObject<{
|
|
60
|
+
id: z.ZodString;
|
|
61
|
+
workspaceId: z.ZodString;
|
|
62
|
+
projectId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
63
|
+
createdByUserId: z.ZodString;
|
|
64
|
+
name: z.ZodString;
|
|
65
|
+
colors: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
66
|
+
fonts: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
67
|
+
guidelinesText: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
68
|
+
generationInstructions: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
69
|
+
notes: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
70
|
+
revision: z.ZodNumber;
|
|
71
|
+
createdAt: z.ZodString;
|
|
72
|
+
updatedAt: z.ZodString;
|
|
73
|
+
}, z.core.$strip>>;
|
|
74
|
+
pagination: z.ZodObject<{
|
|
75
|
+
nextCursor: z.ZodNullable<z.ZodString>;
|
|
76
|
+
}, z.core.$strip>;
|
|
77
|
+
}, z.core.$strip>;
|
|
78
|
+
export type GuidelineSet = z.infer<typeof guidelineSetSchema>;
|
|
79
|
+
export type CreateGuidelineSetRequest = z.input<typeof createGuidelineSetRequestSchema>;
|
|
80
|
+
export type UpdateGuidelineSetRequest = z.infer<typeof updateGuidelineSetRequestSchema>;
|
|
81
|
+
//# sourceMappingURL=guidelines.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guidelines.d.ts","sourceRoot":"","sources":["../src/guidelines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAA;AAI9C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;iBAgB7B,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;iBAO1C,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;iBAMzC,CAAA;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;iBAAuC,CAAA;AAC9E,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;iBAAyC,CAAA;AAEpF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AACvF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { apiSuccessSchema, idSchema, isoDateSchema, listResponseSchema } from './common.js';
|
|
3
|
+
/**
|
|
4
|
+
* Hard cap on the free text that is appended to EVERY generation in a project.
|
|
5
|
+
* The user prompt is capped at 4000 chars, but guideline text is concatenated
|
|
6
|
+
* server-side AFTER validation and there is no rate limit on generation — so this
|
|
7
|
+
* cap is the only bound on prompt growth. Keep it small and deliberate.
|
|
8
|
+
*/
|
|
9
|
+
export const GENERATION_INSTRUCTIONS_MAX = 500;
|
|
10
|
+
const hexColorSchema = z.string().regex(/^#[0-9a-fA-F]{6}$/, 'Colour must be a #RRGGBB hex value');
|
|
11
|
+
export const guidelineSetSchema = z.object({
|
|
12
|
+
id: idSchema,
|
|
13
|
+
workspaceId: idSchema,
|
|
14
|
+
/** Exactly one of projectId / workspace-level is set; workspace-level lands later. */
|
|
15
|
+
projectId: idSchema.nullable().default(null),
|
|
16
|
+
createdByUserId: idSchema,
|
|
17
|
+
name: z.string().min(1),
|
|
18
|
+
colors: z.array(hexColorSchema).max(24).default([]),
|
|
19
|
+
fonts: z.array(z.string().min(1)).max(12).default([]),
|
|
20
|
+
guidelinesText: z.string().max(4000).nullable().default(null),
|
|
21
|
+
generationInstructions: z.string().max(GENERATION_INSTRUCTIONS_MAX).nullable().default(null),
|
|
22
|
+
notes: z.string().max(4000).nullable().default(null),
|
|
23
|
+
/** Bumped on every edit. Recorded on each generation so output is reproducible. */
|
|
24
|
+
revision: z.number().int().nonnegative(),
|
|
25
|
+
createdAt: isoDateSchema,
|
|
26
|
+
updatedAt: isoDateSchema
|
|
27
|
+
});
|
|
28
|
+
export const createGuidelineSetRequestSchema = z.object({
|
|
29
|
+
name: z.string().trim().min(1).max(200),
|
|
30
|
+
colors: z.array(hexColorSchema).max(24).optional(),
|
|
31
|
+
fonts: z.array(z.string().min(1)).max(12).optional(),
|
|
32
|
+
guidelinesText: z.string().max(4000).nullable().optional(),
|
|
33
|
+
generationInstructions: z.string().max(GENERATION_INSTRUCTIONS_MAX).nullable().optional(),
|
|
34
|
+
notes: z.string().max(4000).nullable().optional()
|
|
35
|
+
});
|
|
36
|
+
export const updateGuidelineSetRequestSchema = createGuidelineSetRequestSchema
|
|
37
|
+
.partial()
|
|
38
|
+
.extend({ expectedRevision: z.number().int().nonnegative() })
|
|
39
|
+
.refine((patch) => Object.entries(patch).some(([key, value]) => key !== 'expectedRevision' && value !== undefined), { message: 'Patch must change at least one field' });
|
|
40
|
+
export const guidelineSetResponseSchema = apiSuccessSchema(guidelineSetSchema);
|
|
41
|
+
export const guidelineSetListResponseSchema = listResponseSchema(guidelineSetSchema);
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from './client.js';
|
|
|
6
6
|
export * from './common.js';
|
|
7
7
|
export * from './credits.js';
|
|
8
8
|
export * from './generation.js';
|
|
9
|
+
export * from './guidelines.js';
|
|
9
10
|
export * from './projects.js';
|
|
10
11
|
export * from './workspaces.js';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA"}
|
package/dist/index.js
CHANGED
package/dist/projects.d.ts
CHANGED
|
@@ -41,7 +41,14 @@ export declare const ledPanelsSchema: z.ZodArray<z.ZodObject<{
|
|
|
41
41
|
mirrorOf: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
|
|
42
42
|
}, z.core.$strip>>;
|
|
43
43
|
export declare const ledMapSchema: z.ZodObject<{
|
|
44
|
+
id: z.ZodString;
|
|
44
45
|
projectId: z.ZodString;
|
|
46
|
+
name: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
47
|
+
libraryStatus: z.ZodDefault<z.ZodEnum<{
|
|
48
|
+
draft: "draft";
|
|
49
|
+
library: "library";
|
|
50
|
+
}>>;
|
|
51
|
+
forkedFromLedMapId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
45
52
|
version: z.ZodNumber;
|
|
46
53
|
panels: z.ZodArray<z.ZodObject<{
|
|
47
54
|
id: z.ZodString;
|
|
@@ -82,7 +89,14 @@ export declare const updateLedMapRequestSchema: z.ZodObject<{
|
|
|
82
89
|
}, z.core.$strip>;
|
|
83
90
|
export declare const ledMapResponseSchema: z.ZodObject<{
|
|
84
91
|
data: z.ZodObject<{
|
|
92
|
+
id: z.ZodString;
|
|
85
93
|
projectId: z.ZodString;
|
|
94
|
+
name: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
95
|
+
libraryStatus: z.ZodDefault<z.ZodEnum<{
|
|
96
|
+
draft: "draft";
|
|
97
|
+
library: "library";
|
|
98
|
+
}>>;
|
|
99
|
+
forkedFromLedMapId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
86
100
|
version: z.ZodNumber;
|
|
87
101
|
panels: z.ZodArray<z.ZodObject<{
|
|
88
102
|
id: z.ZodString;
|
|
@@ -179,6 +193,101 @@ export declare const updateProjectRequestSchema: z.ZodObject<{
|
|
|
179
193
|
deleted: "deleted";
|
|
180
194
|
}>>;
|
|
181
195
|
}, z.core.$strip>;
|
|
196
|
+
/**
|
|
197
|
+
* Creation status. Deliberately has no 'deleted' member — unlike
|
|
198
|
+
* `projectStatusSchema` — because creations hard-delete rather than soft-delete.
|
|
199
|
+
*
|
|
200
|
+
* zcl-api parses its OUTBOUND responses through this schema. If creations ever
|
|
201
|
+
* gain a soft-delete state, any row with that status would fail the outbound
|
|
202
|
+
* parse and 500 the endpoint instead of just being filtered out. Add the new
|
|
203
|
+
* status to THIS enum first, before wiring up soft-delete anywhere else.
|
|
204
|
+
*/
|
|
205
|
+
export declare const projectRunStatusSchema: z.ZodEnum<{
|
|
206
|
+
active: "active";
|
|
207
|
+
archived: "archived";
|
|
208
|
+
}>;
|
|
209
|
+
/** A creation: one concept → LED map → loops run inside a project folder. */
|
|
210
|
+
export declare const projectRunSchema: z.ZodObject<{
|
|
211
|
+
id: z.ZodString;
|
|
212
|
+
workspaceId: z.ZodString;
|
|
213
|
+
projectId: z.ZodString;
|
|
214
|
+
createdByUserId: z.ZodString;
|
|
215
|
+
name: z.ZodString;
|
|
216
|
+
status: z.ZodEnum<{
|
|
217
|
+
active: "active";
|
|
218
|
+
archived: "archived";
|
|
219
|
+
}>;
|
|
220
|
+
masterJobId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
221
|
+
ledMapId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
222
|
+
panelSetVariantGroupId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
223
|
+
guidelineSetId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
224
|
+
createdAt: z.ZodString;
|
|
225
|
+
updatedAt: z.ZodString;
|
|
226
|
+
}, z.core.$strip>;
|
|
227
|
+
export declare const createProjectRunRequestSchema: z.ZodObject<{
|
|
228
|
+
name: z.ZodOptional<z.ZodString>;
|
|
229
|
+
copyFromLedMapId: z.ZodOptional<z.ZodString>;
|
|
230
|
+
}, z.core.$strip>;
|
|
231
|
+
export declare const updateProjectRunRequestSchema: z.ZodObject<{
|
|
232
|
+
name: z.ZodOptional<z.ZodString>;
|
|
233
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
234
|
+
active: "active";
|
|
235
|
+
archived: "archived";
|
|
236
|
+
}>>;
|
|
237
|
+
masterJobId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
238
|
+
ledMapId: z.ZodOptional<z.ZodString>;
|
|
239
|
+
panelSetVariantGroupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
240
|
+
guidelineSetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
241
|
+
}, z.core.$strip>;
|
|
242
|
+
export declare const listProjectRunsQuerySchema: z.ZodObject<{
|
|
243
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
244
|
+
limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
245
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
246
|
+
active: "active";
|
|
247
|
+
archived: "archived";
|
|
248
|
+
}>>;
|
|
249
|
+
}, z.core.$strip>;
|
|
250
|
+
export declare const projectRunResponseSchema: z.ZodObject<{
|
|
251
|
+
data: z.ZodObject<{
|
|
252
|
+
id: z.ZodString;
|
|
253
|
+
workspaceId: z.ZodString;
|
|
254
|
+
projectId: z.ZodString;
|
|
255
|
+
createdByUserId: z.ZodString;
|
|
256
|
+
name: z.ZodString;
|
|
257
|
+
status: z.ZodEnum<{
|
|
258
|
+
active: "active";
|
|
259
|
+
archived: "archived";
|
|
260
|
+
}>;
|
|
261
|
+
masterJobId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
262
|
+
ledMapId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
263
|
+
panelSetVariantGroupId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
264
|
+
guidelineSetId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
265
|
+
createdAt: z.ZodString;
|
|
266
|
+
updatedAt: z.ZodString;
|
|
267
|
+
}, z.core.$strip>;
|
|
268
|
+
}, z.core.$strip>;
|
|
269
|
+
export declare const projectRunListResponseSchema: z.ZodObject<{
|
|
270
|
+
data: z.ZodArray<z.ZodObject<{
|
|
271
|
+
id: z.ZodString;
|
|
272
|
+
workspaceId: z.ZodString;
|
|
273
|
+
projectId: z.ZodString;
|
|
274
|
+
createdByUserId: z.ZodString;
|
|
275
|
+
name: z.ZodString;
|
|
276
|
+
status: z.ZodEnum<{
|
|
277
|
+
active: "active";
|
|
278
|
+
archived: "archived";
|
|
279
|
+
}>;
|
|
280
|
+
masterJobId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
281
|
+
ledMapId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
282
|
+
panelSetVariantGroupId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
283
|
+
guidelineSetId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
284
|
+
createdAt: z.ZodString;
|
|
285
|
+
updatedAt: z.ZodString;
|
|
286
|
+
}, z.core.$strip>>;
|
|
287
|
+
pagination: z.ZodObject<{
|
|
288
|
+
nextCursor: z.ZodNullable<z.ZodString>;
|
|
289
|
+
}, z.core.$strip>;
|
|
290
|
+
}, z.core.$strip>;
|
|
182
291
|
export type CreateProjectRequest = z.input<typeof createProjectRequestSchema>;
|
|
183
292
|
export type UpdateProjectRequest = z.infer<typeof updateProjectRequestSchema>;
|
|
184
293
|
export type LedBounds = z.infer<typeof ledBoundsSchema>;
|
|
@@ -191,4 +300,8 @@ export type ProjectStatus = z.infer<typeof projectStatusSchema>;
|
|
|
191
300
|
export type ProjectVisibility = z.infer<typeof projectVisibilitySchema>;
|
|
192
301
|
export type ProjectSort = z.infer<typeof projectSortSchema>;
|
|
193
302
|
export type ListProjectsQuery = z.infer<typeof listProjectsQuerySchema>;
|
|
303
|
+
export type ProjectRun = z.infer<typeof projectRunSchema>;
|
|
304
|
+
export type CreateProjectRunRequest = z.input<typeof createProjectRunRequestSchema>;
|
|
305
|
+
export type UpdateProjectRunRequest = z.infer<typeof updateProjectRunRequestSchema>;
|
|
306
|
+
export type ListProjectRunsQuery = z.infer<typeof listProjectRunsQuerySchema>;
|
|
194
307
|
//# sourceMappingURL=projects.d.ts.map
|
package/dist/projects.d.ts.map
CHANGED
|
@@ -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,gBAAgB,aAAmC,CAAA;AAEhE,eAAO,MAAM,cAAc;;;;;;;;;;iBA0CvB,CAAA;AAEJ,eAAO,MAAM,eAAe;;;;;;;;iBAQ1B,CAAA;AAMF,eAAO,MAAM,eAAe;;;;;;;;;;kBAGgC,CAAA;AAsB5D,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../src/projects.ts"],"names":[],"mappings":"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"}
|
package/dist/projects.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { apiSuccessSchema, idSchema, isoDateSchema } from './common.js';
|
|
2
|
+
import { apiSuccessSchema, idSchema, isoDateSchema, listResponseSchema } from './common.js';
|
|
3
3
|
export const projectVisibilitySchema = z.enum(['private', 'workspace']);
|
|
4
4
|
export const projectStatusSchema = z.enum(['active', 'archived', 'deleted']);
|
|
5
5
|
export const ledPanelIdSchema = z.string().trim().min(1).max(80);
|
|
@@ -79,7 +79,48 @@ function boundsMatchPanels(bounds, panels) {
|
|
|
79
79
|
}
|
|
80
80
|
export const ledMapSchema = z
|
|
81
81
|
.object({
|
|
82
|
+
/**
|
|
83
|
+
* Identity (0.27.0). A project may hold many maps; `id` is how a creation
|
|
84
|
+
* references one. `id` is REQUIRED — the three fields below it all default,
|
|
85
|
+
* so `id` is the only one that carries the deploy-ordering constraint below.
|
|
86
|
+
*
|
|
87
|
+
* Breaking change on BOTH sides of the wire:
|
|
88
|
+
*
|
|
89
|
+
* - Producer (zcl-api): parses its own OUTBOUND led-map response through
|
|
90
|
+
* this schema (led-map.routes.ts). Its build uses `z.infer<typeof
|
|
91
|
+
* ledMapSchema>` as the `LedMap` type (services/postgres-services.ts
|
|
92
|
+
* `mapLedMap(row): LedMap`, services/test-fixtures.ts), so bumping to
|
|
93
|
+
* 0.27.0 before `led_maps.id` exists and is selected fails `tsc`
|
|
94
|
+
* FIRST — it's a compile error, not a 500.
|
|
95
|
+
*
|
|
96
|
+
* `z.infer` also turns every `.default()` field in this release's schemas
|
|
97
|
+
* into a REQUIRED output field, so it is not just `mapLedMap` — TWO MORE
|
|
98
|
+
* annotated mappers in zcl-api break at compile time the same way, for
|
|
99
|
+
* the same reason, and need the same fix pass:
|
|
100
|
+
* - services/generation-service.ts:274 `function mapJob(row): GenerationJob`
|
|
101
|
+
* (now needs `ledMapId`, `runId`)
|
|
102
|
+
* - services/postgres-services.ts:301 (the mapper returning
|
|
103
|
+
* `AdminJobSummary`) (now needs `runId`)
|
|
104
|
+
* All three are compile errors rather than 500s, which is the desired
|
|
105
|
+
* failure mode — fix all three together, not just the one you hit first.
|
|
106
|
+
*
|
|
107
|
+
* - Consumers (zcl-web-next, zcl-admin): `client.ts` parses the INBOUND
|
|
108
|
+
* led-map response through this same schema (`ledMapResponseSchema`,
|
|
109
|
+
* `ledMaps.get`/`update`). A consumer upgraded to 0.27.0 before the
|
|
110
|
+
* API returns `id` gets a thrown `ZclApiError('internal_error', ...)`
|
|
111
|
+
* on every GET/PATCH /led-map.
|
|
112
|
+
*
|
|
113
|
+
* Ship the column, the backfill and the reader in the SAME change as the
|
|
114
|
+
* version bump, and deploy zcl-api before bumping consumers.
|
|
115
|
+
*/
|
|
116
|
+
id: idSchema,
|
|
82
117
|
projectId: idSchema,
|
|
118
|
+
/** Library display name. Null while the map is an unnamed working copy. */
|
|
119
|
+
name: z.string().trim().min(1).max(120).nullable().default(null),
|
|
120
|
+
/** 'draft' = private to one creation; 'library' = saved and reusable. */
|
|
121
|
+
libraryStatus: z.enum(['draft', 'library']).default('draft'),
|
|
122
|
+
/** The map this one was branched from, or null. */
|
|
123
|
+
forkedFromLedMapId: idSchema.nullable().default(null),
|
|
83
124
|
version: z.number().int().nonnegative(),
|
|
84
125
|
panels: ledPanelsSchema,
|
|
85
126
|
bounds: ledBoundsSchema.nullable(),
|
|
@@ -153,3 +194,68 @@ export const updateProjectRequestSchema = z
|
|
|
153
194
|
status: projectStatusSchema.optional()
|
|
154
195
|
})
|
|
155
196
|
.refine((input) => input.name !== undefined || input.visibility !== undefined || input.status !== undefined, 'At least one field is required');
|
|
197
|
+
/**
|
|
198
|
+
* Creation status. Deliberately has no 'deleted' member — unlike
|
|
199
|
+
* `projectStatusSchema` — because creations hard-delete rather than soft-delete.
|
|
200
|
+
*
|
|
201
|
+
* zcl-api parses its OUTBOUND responses through this schema. If creations ever
|
|
202
|
+
* gain a soft-delete state, any row with that status would fail the outbound
|
|
203
|
+
* parse and 500 the endpoint instead of just being filtered out. Add the new
|
|
204
|
+
* status to THIS enum first, before wiring up soft-delete anywhere else.
|
|
205
|
+
*/
|
|
206
|
+
export const projectRunStatusSchema = z.enum(['active', 'archived']);
|
|
207
|
+
/** A creation: one concept → LED map → loops run inside a project folder. */
|
|
208
|
+
export const projectRunSchema = z.object({
|
|
209
|
+
id: idSchema,
|
|
210
|
+
workspaceId: idSchema,
|
|
211
|
+
projectId: idSchema,
|
|
212
|
+
createdByUserId: idSchema,
|
|
213
|
+
name: z.string().min(1),
|
|
214
|
+
status: projectRunStatusSchema,
|
|
215
|
+
/**
|
|
216
|
+
* The selected master concept. NULLABLE FOREVER: this was never server state
|
|
217
|
+
* before 0.27 (it lived in the browser), so migrated runs legitimately have none.
|
|
218
|
+
*/
|
|
219
|
+
masterJobId: idSchema.nullable().default(null),
|
|
220
|
+
/** The LED map this creation is currently using. */
|
|
221
|
+
ledMapId: idSchema.nullable().default(null),
|
|
222
|
+
/** The variant group of the creation's panel set, once Generate All has run. */
|
|
223
|
+
panelSetVariantGroupId: idSchema.nullable().default(null),
|
|
224
|
+
/** Selected guideline set, or null for "no guidelines". */
|
|
225
|
+
guidelineSetId: idSchema.nullable().default(null),
|
|
226
|
+
createdAt: isoDateSchema,
|
|
227
|
+
updatedAt: isoDateSchema
|
|
228
|
+
});
|
|
229
|
+
export const createProjectRunRequestSchema = z.object({
|
|
230
|
+
name: z.string().trim().min(1).max(200).optional(),
|
|
231
|
+
/** Seed this creation's map by copying an existing one in the same project. */
|
|
232
|
+
copyFromLedMapId: idSchema.optional()
|
|
233
|
+
});
|
|
234
|
+
export const updateProjectRunRequestSchema = z
|
|
235
|
+
.object({
|
|
236
|
+
name: z.string().min(1).max(200).optional(),
|
|
237
|
+
status: projectRunStatusSchema.optional(),
|
|
238
|
+
masterJobId: idSchema.nullable().optional(),
|
|
239
|
+
/**
|
|
240
|
+
* Deliberately NOT `.nullable()`, unlike its siblings above and below. A
|
|
241
|
+
* creation swaps its map, it never clears it — there is no "unset the map"
|
|
242
|
+
* action in the product. The "map was deleted" case is handled by
|
|
243
|
+
* `ON DELETE SET NULL` at the database (the entity's `ledMapId` on
|
|
244
|
+
* `projectRunSchema` IS nullable to model exactly that), not by a client
|
|
245
|
+
* sending an explicit null through this patch. Do not add `.nullable()`
|
|
246
|
+
* here without adding the product action that would use it.
|
|
247
|
+
*/
|
|
248
|
+
ledMapId: idSchema.optional(),
|
|
249
|
+
panelSetVariantGroupId: idSchema.nullable().optional(),
|
|
250
|
+
guidelineSetId: idSchema.nullable().optional()
|
|
251
|
+
})
|
|
252
|
+
.refine((patch) => Object.values(patch).some((value) => value !== undefined), {
|
|
253
|
+
message: 'Patch must change at least one field'
|
|
254
|
+
});
|
|
255
|
+
export const listProjectRunsQuerySchema = z.object({
|
|
256
|
+
cursor: z.string().min(1).optional(),
|
|
257
|
+
limit: z.coerce.number().int().min(1).max(100).optional(),
|
|
258
|
+
status: projectRunStatusSchema.optional()
|
|
259
|
+
});
|
|
260
|
+
export const projectRunResponseSchema = apiSuccessSchema(projectRunSchema);
|
|
261
|
+
export const projectRunListResponseSchema = listResponseSchema(projectRunSchema);
|