@neta-art/cohub 5.8.2 → 5.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/board/animation.js +34 -5
- package/dist/board/codec.js +1 -1
- package/dist/board/export/index.d.ts +6 -0
- package/dist/board/export/index.js +6 -3
- package/dist/board/export/scene.d.ts +6 -0
- package/dist/board/export/scene.js +26 -2
- package/dist/board/geometry.d.ts +27 -1
- package/dist/board/geometry.js +92 -1
- package/dist/board/headless/index.d.ts +7 -1
- package/dist/board/headless/index.js +6 -2
- package/dist/board/index.d.ts +6 -4
- package/dist/board/index.js +7 -5
- package/dist/board/mutation.d.ts +21 -0
- package/dist/board/mutation.js +104 -0
- package/dist/board/render/css-color.d.ts +4 -0
- package/dist/board/render/css-color.js +36 -0
- package/dist/board/render/index.d.ts +2 -1
- package/dist/board/render/index.js +2 -1
- package/dist/board/render/renderers/base-card-renderer.js +3 -20
- package/dist/board/render/themes/clean-theme.js +6 -3
- package/dist/chunks/http.d.ts +16 -4
- package/dist/chunks/http.js +180 -16
- package/dist/chunks/websocket.d.ts +74 -4
- package/dist/http.d.ts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +33 -6
- package/dist/protocol/dist/board-constants.d.ts +2 -1
- package/dist/protocol/dist/board-constants.js +61 -6
- package/dist/protocol/dist/board-document.d.ts +28 -2
- package/dist/protocol/dist/board-document.js +16 -3
- package/dist/protocol/dist/board-node.d.ts +2 -1
- package/dist/protocol/dist/board-url.d.ts +2 -1
- package/dist/protocol/dist/board-url.js +8 -3
- package/dist/protocol/dist/board.d.ts +136 -4
- package/dist/protocol/dist/board.js +42 -1
- package/dist/protocol/dist/index.d.ts +3 -3
- package/dist/protocol/dist/index.js +2 -2
- package/dist/types.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BOARD_ARROW_STROKE_SIZE } from "./board-constants.js";
|
|
2
2
|
import { BoardConnectionSchema } from "./board-connection.js";
|
|
3
3
|
import { BOARD_DOCUMENT_KIND, BOARD_EXTENSION } from "./board.js";
|
|
4
|
-
import { BOARD_REMOTE_URL_MAX_LENGTH, BoardRemoteUrlSchema, normalizeBoardRemoteUrl } from "./board-url.js";
|
|
4
|
+
import { BOARD_REMOTE_URL_MAX_LENGTH, BoardRemoteUrlSchema, isPublicBoardRemoteAddress, normalizeBoardRemoteUrl } from "./board-url.js";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
//#region ../protocol/dist/board-document.js
|
|
7
7
|
const BoardFrameSchema = z.object({
|
|
@@ -34,7 +34,20 @@ const BoardAppearanceSchema = z.object({
|
|
|
34
34
|
"custom"
|
|
35
35
|
]).default("dots"),
|
|
36
36
|
color: z.string().optional(),
|
|
37
|
-
imageUrl:
|
|
37
|
+
imageUrl: BoardRemoteUrlSchema.optional(),
|
|
38
|
+
fit: z.enum([
|
|
39
|
+
"cover",
|
|
40
|
+
"contain",
|
|
41
|
+
"repeat"
|
|
42
|
+
]).optional(),
|
|
43
|
+
position: z.enum([
|
|
44
|
+
"center",
|
|
45
|
+
"top",
|
|
46
|
+
"bottom",
|
|
47
|
+
"left",
|
|
48
|
+
"right"
|
|
49
|
+
]).optional(),
|
|
50
|
+
opacity: z.number().finite().min(0).max(1).optional()
|
|
38
51
|
}).default({ kind: "solid" }),
|
|
39
52
|
grid: z.object({
|
|
40
53
|
visible: z.boolean().default(false),
|
|
@@ -435,4 +448,4 @@ function isFileBackedItem(item) {
|
|
|
435
448
|
return item.type === "image" || item.type === "video" || item.type === "audio" || item.type === "file";
|
|
436
449
|
}
|
|
437
450
|
//#endregion
|
|
438
|
-
export { BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BOARD_REMOTE_URL_MAX_LENGTH, BOARD_TASK_ARTIFACT_LIMIT, BoardAppearanceSchema, BoardArrowItemSchema, BoardAudioItemSchema, BoardDocumentSchema, BoardDrawItemSchema, BoardFileItemSchema, BoardFileSnapshotSchema, BoardFrameItemSchema, BoardFrameSchema, BoardGeoItemSchema, BoardImageItemSchema, BoardItemSchema, BoardItemStyleSchema, BoardMediaSnapshotSchema, BoardPointSchema, BoardRemoteUrlSchema, BoardTaskArtifactSchema, BoardTaskItemSchema, BoardTaskSnapshotSchema, BoardTextItemSchema, BoardVideoItemSchema, BoardViewportSchema, DrawPointSchema, KNOWN_BOARD_ITEM_TYPES, SpaceFileRefSchema, UNKNOWN_BOARD_ITEM_TYPE, isFileBackedItem, isMediaItem, isUnknownItem, normalizeBoardRemoteUrl, parseBoardDocument, parseBoardItemLoose, unknownRealType, withResolvedConnections };
|
|
451
|
+
export { BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BOARD_REMOTE_URL_MAX_LENGTH, BOARD_TASK_ARTIFACT_LIMIT, BoardAppearanceSchema, BoardArrowItemSchema, BoardAudioItemSchema, BoardDocumentSchema, BoardDrawItemSchema, BoardFileItemSchema, BoardFileSnapshotSchema, BoardFrameItemSchema, BoardFrameSchema, BoardGeoItemSchema, BoardImageItemSchema, BoardItemSchema, BoardItemStyleSchema, BoardMediaSnapshotSchema, BoardPointSchema, BoardRemoteUrlSchema, BoardTaskArtifactSchema, BoardTaskItemSchema, BoardTaskSnapshotSchema, BoardTextItemSchema, BoardVideoItemSchema, BoardViewportSchema, DrawPointSchema, KNOWN_BOARD_ITEM_TYPES, SpaceFileRefSchema, UNKNOWN_BOARD_ITEM_TYPE, isFileBackedItem, isMediaItem, isPublicBoardRemoteAddress, isUnknownItem, normalizeBoardRemoteUrl, parseBoardDocument, parseBoardItemLoose, unknownRealType, withResolvedConnections };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BoardCoordinateSpace } from "./board-constants.js";
|
|
1
2
|
import { z } from "zod";
|
|
2
3
|
//#region ../protocol/dist/board-node.d.ts
|
|
3
4
|
declare const BOARD_COLOR_IDS: readonly ["brand", "neutral", "black", "white", "blue", "green", "amber", "violet", "rose"];
|
|
@@ -12,7 +13,7 @@ type BoardNodeValidationDiagnostic = {
|
|
|
12
13
|
expected?: string;
|
|
13
14
|
received?: unknown;
|
|
14
15
|
allowedValues?: readonly string[];
|
|
15
|
-
coordinateSpace?:
|
|
16
|
+
coordinateSpace?: BoardCoordinateSpace;
|
|
16
17
|
};
|
|
17
18
|
//#endregion
|
|
18
19
|
export { BOARD_COLOR_IDS, BOARD_GEO_KINDS, BoardColorId, BoardGeoKind, BoardNodeValidationDiagnostic };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
//#region ../protocol/dist/board-url.d.ts
|
|
3
3
|
declare const BOARD_REMOTE_URL_MAX_LENGTH = 4096;
|
|
4
|
+
declare function isPublicBoardRemoteAddress(value: string): boolean;
|
|
4
5
|
/**
|
|
5
6
|
* Normalize a browser-loadable public HTTP(S) URL. This blocks explicit local
|
|
6
7
|
* addresses; any future server-side fetcher must additionally validate DNS
|
|
@@ -9,4 +10,4 @@ declare const BOARD_REMOTE_URL_MAX_LENGTH = 4096;
|
|
|
9
10
|
declare function normalizeBoardRemoteUrl(value: unknown): string | undefined;
|
|
10
11
|
declare const BoardRemoteUrlSchema: z.ZodString;
|
|
11
12
|
//#endregion
|
|
12
|
-
export { BOARD_REMOTE_URL_MAX_LENGTH, BoardRemoteUrlSchema, normalizeBoardRemoteUrl };
|
|
13
|
+
export { BOARD_REMOTE_URL_MAX_LENGTH, BoardRemoteUrlSchema, isPublicBoardRemoteAddress, normalizeBoardRemoteUrl };
|
|
@@ -53,11 +53,16 @@ function isBlockedIpv6(host) {
|
|
|
53
53
|
if ((first & 65280) === 65280) return true;
|
|
54
54
|
return parts[0] === "2001" && parts[1] === "0db8";
|
|
55
55
|
}
|
|
56
|
+
function isPublicBoardRemoteAddress(value) {
|
|
57
|
+
const address = value.toLowerCase().replace(/^\[|\]$/g, "").replace(/\.$/, "");
|
|
58
|
+
if (parseIpv4(address)) return !isBlockedIpv4(address);
|
|
59
|
+
return address.includes(":") && !isBlockedIpv6(address);
|
|
60
|
+
}
|
|
56
61
|
function isBlockedHost(hostname) {
|
|
57
62
|
const host = hostname.toLowerCase().replace(/^\[|\]$/g, "").replace(/\.$/, "");
|
|
58
63
|
if (host === "localhost" || host.endsWith(".localhost") || host.endsWith(".local") || host.endsWith(".internal")) return true;
|
|
59
|
-
if (parseIpv4(host)) return
|
|
60
|
-
return
|
|
64
|
+
if (parseIpv4(host) || host.includes(":")) return !isPublicBoardRemoteAddress(host);
|
|
65
|
+
return false;
|
|
61
66
|
}
|
|
62
67
|
/**
|
|
63
68
|
* Normalize a browser-loadable public HTTP(S) URL. This blocks explicit local
|
|
@@ -80,4 +85,4 @@ function normalizeBoardRemoteUrl(value) {
|
|
|
80
85
|
}
|
|
81
86
|
const BoardRemoteUrlSchema = z.string().max(BOARD_REMOTE_URL_MAX_LENGTH).refine((value) => normalizeBoardRemoteUrl(value) !== void 0, { message: "URL must be a public HTTP(S) URL without credentials" });
|
|
82
87
|
//#endregion
|
|
83
|
-
export { BOARD_REMOTE_URL_MAX_LENGTH, BoardRemoteUrlSchema, normalizeBoardRemoteUrl };
|
|
88
|
+
export { BOARD_REMOTE_URL_MAX_LENGTH, BoardRemoteUrlSchema, isPublicBoardRemoteAddress, normalizeBoardRemoteUrl };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BoardCapability, BoardRenderCost } from "./board-constants.js";
|
|
2
|
-
import "./board-connection.js";
|
|
1
|
+
import { BoardCapability, BoardCoordinateSpace, BoardRenderCost } from "./board-constants.js";
|
|
2
|
+
import { BoardConnectionInput, BoardConnectionPatch } from "./board-connection.js";
|
|
3
3
|
import "./board-node.js";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
//#region ../protocol/dist/board.d.ts
|
|
@@ -29,6 +29,56 @@ declare const BoardTargetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
29
29
|
}, z.core.$strip>, z.ZodObject<{
|
|
30
30
|
type: z.ZodLiteral<"camera">;
|
|
31
31
|
}, z.core.$strip>], "type">;
|
|
32
|
+
declare const BoardCameraStateSchema: z.ZodObject<{
|
|
33
|
+
centerX: z.ZodNumber;
|
|
34
|
+
centerY: z.ZodNumber;
|
|
35
|
+
zoom: z.ZodNumber;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
declare const BoardCameraFocusSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
38
|
+
type: z.ZodLiteral<"rect">;
|
|
39
|
+
rect: z.ZodObject<{
|
|
40
|
+
x: z.ZodNumber;
|
|
41
|
+
y: z.ZodNumber;
|
|
42
|
+
width: z.ZodNumber;
|
|
43
|
+
height: z.ZodNumber;
|
|
44
|
+
}, z.core.$strip>;
|
|
45
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
46
|
+
type: z.ZodLiteral<"node">;
|
|
47
|
+
nodeId: z.ZodString;
|
|
48
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
49
|
+
type: z.ZodLiteral<"nodes">;
|
|
50
|
+
nodeIds: z.ZodArray<z.ZodString>;
|
|
51
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
52
|
+
type: z.ZodLiteral<"frame">;
|
|
53
|
+
frameId: z.ZodString;
|
|
54
|
+
}, z.core.$strip>], "type">;
|
|
55
|
+
declare const BoardCameraFocusParamsSchema: z.ZodObject<{
|
|
56
|
+
focus: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
57
|
+
type: z.ZodLiteral<"rect">;
|
|
58
|
+
rect: z.ZodObject<{
|
|
59
|
+
x: z.ZodNumber;
|
|
60
|
+
y: z.ZodNumber;
|
|
61
|
+
width: z.ZodNumber;
|
|
62
|
+
height: z.ZodNumber;
|
|
63
|
+
}, z.core.$strip>;
|
|
64
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
65
|
+
type: z.ZodLiteral<"node">;
|
|
66
|
+
nodeId: z.ZodString;
|
|
67
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
68
|
+
type: z.ZodLiteral<"nodes">;
|
|
69
|
+
nodeIds: z.ZodArray<z.ZodString>;
|
|
70
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
71
|
+
type: z.ZodLiteral<"frame">;
|
|
72
|
+
frameId: z.ZodString;
|
|
73
|
+
}, z.core.$strip>], "type">;
|
|
74
|
+
fit: z.ZodDefault<z.ZodEnum<{
|
|
75
|
+
contain: "contain";
|
|
76
|
+
cover: "cover";
|
|
77
|
+
}>>;
|
|
78
|
+
padding: z.ZodDefault<z.ZodNumber>;
|
|
79
|
+
minZoom: z.ZodOptional<z.ZodNumber>;
|
|
80
|
+
maxZoom: z.ZodOptional<z.ZodNumber>;
|
|
81
|
+
}, z.core.$strip>;
|
|
32
82
|
declare const BoardAssetRefSchema: z.ZodObject<{
|
|
33
83
|
type: z.ZodEnum<{
|
|
34
84
|
extension: "extension";
|
|
@@ -136,6 +186,9 @@ declare const BoardSequenceSchema: z.ZodObject<{
|
|
|
136
186
|
revision: z.ZodNumber;
|
|
137
187
|
}, z.core.$strip>;
|
|
138
188
|
type BoardTarget = z.infer<typeof BoardTargetSchema>;
|
|
189
|
+
type BoardCameraState = z.infer<typeof BoardCameraStateSchema>;
|
|
190
|
+
type BoardCameraFocus = z.infer<typeof BoardCameraFocusSchema>;
|
|
191
|
+
type BoardCameraFocusParams = z.infer<typeof BoardCameraFocusParamsSchema>;
|
|
139
192
|
type BoardAssetRef = z.infer<typeof BoardAssetRefSchema>;
|
|
140
193
|
type BoardClip = z.infer<typeof BoardClipSchema>;
|
|
141
194
|
type BoardEffect = z.infer<typeof BoardEffectSchema>;
|
|
@@ -171,6 +224,78 @@ type BoardNodeRecord = {
|
|
|
171
224
|
updatedAt: string | null;
|
|
172
225
|
};
|
|
173
226
|
type BoardNodeInput = Omit<BoardNodeRecord, "boardId" | "version" | "createdAt" | "updatedAt">;
|
|
227
|
+
declare const BOARD_DELETE_REASONS: readonly ["user-delete", "orphan-cleanup", "layout-replace", "placeholder-cascade", "node-cascade"];
|
|
228
|
+
type BoardDeleteReason = (typeof BOARD_DELETE_REASONS)[number] | (string & {});
|
|
229
|
+
type BoardOperationBase = {
|
|
230
|
+
opId?: string;
|
|
231
|
+
/** Optional local undo hint. Servers recompute authoritative inverse data. */
|
|
232
|
+
inverse?: Record<string, unknown>;
|
|
233
|
+
};
|
|
234
|
+
type BoardOperation = (BoardOperationBase & {
|
|
235
|
+
type: "board.patch";
|
|
236
|
+
payload: {
|
|
237
|
+
patch: {
|
|
238
|
+
title?: string;
|
|
239
|
+
metadata?: Record<string, unknown>;
|
|
240
|
+
metadataPatch?: Record<string, unknown>;
|
|
241
|
+
};
|
|
242
|
+
};
|
|
243
|
+
}) | (BoardOperationBase & {
|
|
244
|
+
type: "node.create";
|
|
245
|
+
payload: {
|
|
246
|
+
node: BoardNodeInput;
|
|
247
|
+
};
|
|
248
|
+
}) | (BoardOperationBase & {
|
|
249
|
+
type: "node.patch";
|
|
250
|
+
payload: {
|
|
251
|
+
nodeId: string;
|
|
252
|
+
patch: Partial<BoardNodeInput>;
|
|
253
|
+
};
|
|
254
|
+
}) | (BoardOperationBase & {
|
|
255
|
+
type: "node.delete";
|
|
256
|
+
payload: {
|
|
257
|
+
nodeId: string;
|
|
258
|
+
reason?: BoardDeleteReason;
|
|
259
|
+
};
|
|
260
|
+
}) | (BoardOperationBase & {
|
|
261
|
+
type: "connection.create";
|
|
262
|
+
payload: {
|
|
263
|
+
connection: BoardConnectionInput;
|
|
264
|
+
};
|
|
265
|
+
}) | (BoardOperationBase & {
|
|
266
|
+
type: "connection.patch";
|
|
267
|
+
payload: {
|
|
268
|
+
connectionId: string;
|
|
269
|
+
patch: BoardConnectionPatch;
|
|
270
|
+
};
|
|
271
|
+
}) | (BoardOperationBase & {
|
|
272
|
+
type: "connection.delete";
|
|
273
|
+
payload: {
|
|
274
|
+
connectionId: string;
|
|
275
|
+
reason?: BoardDeleteReason;
|
|
276
|
+
};
|
|
277
|
+
}) | (BoardOperationBase & {
|
|
278
|
+
type: "effect.upsert";
|
|
279
|
+
payload: {
|
|
280
|
+
effect: Omit<BoardEffect, "boardId" | "revision">;
|
|
281
|
+
};
|
|
282
|
+
}) | (BoardOperationBase & {
|
|
283
|
+
type: "effect.delete";
|
|
284
|
+
payload: {
|
|
285
|
+
effectId: string;
|
|
286
|
+
};
|
|
287
|
+
}) | (BoardOperationBase & {
|
|
288
|
+
type: "sequence.upsert";
|
|
289
|
+
payload: {
|
|
290
|
+
sequence: Omit<BoardSequence, "boardId" | "revision">;
|
|
291
|
+
clips: Array<Omit<BoardClip, "sequenceId">>;
|
|
292
|
+
};
|
|
293
|
+
}) | (BoardOperationBase & {
|
|
294
|
+
type: "sequence.delete";
|
|
295
|
+
payload: {
|
|
296
|
+
sequenceId: string;
|
|
297
|
+
};
|
|
298
|
+
});
|
|
174
299
|
type BoardDiagnostic = {
|
|
175
300
|
severity: "info" | "warning" | "error";
|
|
176
301
|
code: string;
|
|
@@ -180,13 +305,20 @@ type BoardDiagnostic = {
|
|
|
180
305
|
expected?: string;
|
|
181
306
|
received?: unknown;
|
|
182
307
|
allowedValues?: readonly string[];
|
|
183
|
-
coordinateSpace?:
|
|
308
|
+
coordinateSpace?: BoardCoordinateSpace;
|
|
184
309
|
};
|
|
185
310
|
type BoardValidationResult = {
|
|
186
311
|
valid: boolean;
|
|
187
312
|
diagnostics: BoardDiagnostic[];
|
|
188
313
|
peakCost: BoardRenderCost;
|
|
189
314
|
};
|
|
315
|
+
/** Persisted on `boards.metadata.playback`: how a Board plays when opened. */
|
|
316
|
+
declare const BoardPlaybackPolicySchema: z.ZodObject<{
|
|
317
|
+
sequenceId: z.ZodString;
|
|
318
|
+
delayMs: z.ZodDefault<z.ZodNumber>;
|
|
319
|
+
loop: z.ZodDefault<z.ZodBoolean>;
|
|
320
|
+
}, z.core.$strip>;
|
|
321
|
+
type BoardPlaybackPolicy = z.infer<typeof BoardPlaybackPolicySchema>;
|
|
190
322
|
declare function isBoardPath(path: string): boolean;
|
|
191
323
|
//#endregion
|
|
192
|
-
export { BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BoardAssetRef, BoardAssetRefSchema, BoardClip, BoardClipSchema, BoardDiagnostic, BoardEffect, BoardEffectSchema, BoardManifest, BoardManifestSchema, BoardNodeInput, BoardNodeRecord, BoardRecord, BoardSequence, BoardSequenceSchema, BoardTarget, BoardTargetSchema, BoardValidationResult, InvalidBoardFileError, isBoardPath, parseBoardManifest, serializeBoardManifest };
|
|
324
|
+
export { BOARD_DELETE_REASONS, BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BoardAssetRef, BoardAssetRefSchema, BoardCameraFocus, BoardCameraFocusParams, BoardCameraFocusParamsSchema, BoardCameraFocusSchema, BoardCameraState, BoardCameraStateSchema, BoardClip, BoardClipSchema, BoardDeleteReason, BoardDiagnostic, BoardEffect, BoardEffectSchema, BoardManifest, BoardManifestSchema, BoardNodeInput, BoardNodeRecord, BoardOperation, BoardPlaybackPolicy, BoardPlaybackPolicySchema, BoardRecord, BoardSequence, BoardSequenceSchema, BoardTarget, BoardTargetSchema, BoardValidationResult, InvalidBoardFileError, isBoardPath, parseBoardManifest, serializeBoardManifest };
|
|
@@ -48,6 +48,47 @@ const BoardTargetSchema = z.discriminatedUnion("type", [
|
|
|
48
48
|
z.object({ type: z.literal("board") }),
|
|
49
49
|
z.object({ type: z.literal("camera") })
|
|
50
50
|
]);
|
|
51
|
+
const BoardCameraStateSchema = z.object({
|
|
52
|
+
centerX: finiteSchema,
|
|
53
|
+
centerY: finiteSchema,
|
|
54
|
+
zoom: finiteSchema.positive()
|
|
55
|
+
});
|
|
56
|
+
const BoardCameraFocusSchema = z.discriminatedUnion("type", [
|
|
57
|
+
z.object({
|
|
58
|
+
type: z.literal("rect"),
|
|
59
|
+
rect: z.object({
|
|
60
|
+
x: finiteSchema,
|
|
61
|
+
y: finiteSchema,
|
|
62
|
+
width: finiteSchema.positive(),
|
|
63
|
+
height: finiteSchema.positive()
|
|
64
|
+
})
|
|
65
|
+
}),
|
|
66
|
+
z.object({
|
|
67
|
+
type: z.literal("node"),
|
|
68
|
+
nodeId: idSchema
|
|
69
|
+
}),
|
|
70
|
+
z.object({
|
|
71
|
+
type: z.literal("nodes"),
|
|
72
|
+
nodeIds: z.array(idSchema).min(1).max(1e3)
|
|
73
|
+
}),
|
|
74
|
+
z.object({
|
|
75
|
+
type: z.literal("frame"),
|
|
76
|
+
frameId: idSchema
|
|
77
|
+
})
|
|
78
|
+
]);
|
|
79
|
+
const BoardCameraFocusParamsSchema = z.object({
|
|
80
|
+
focus: BoardCameraFocusSchema,
|
|
81
|
+
fit: z.enum(["contain", "cover"]).default("contain"),
|
|
82
|
+
padding: finiteSchema.nonnegative().default(32),
|
|
83
|
+
minZoom: finiteSchema.positive().optional(),
|
|
84
|
+
maxZoom: finiteSchema.positive().optional()
|
|
85
|
+
}).superRefine((value, context) => {
|
|
86
|
+
if (value.minZoom !== void 0 && value.maxZoom !== void 0 && value.minZoom > value.maxZoom) context.addIssue({
|
|
87
|
+
code: "custom",
|
|
88
|
+
message: "minZoom must not exceed maxZoom",
|
|
89
|
+
path: ["minZoom"]
|
|
90
|
+
});
|
|
91
|
+
});
|
|
51
92
|
const BoardAssetRefSchema = z.object({
|
|
52
93
|
type: z.enum(["space-file", "extension"]),
|
|
53
94
|
ref: z.string().min(1).max(4096),
|
|
@@ -216,4 +257,4 @@ function isBoardPath(path) {
|
|
|
216
257
|
return path.toLowerCase().endsWith(BOARD_EXTENSION);
|
|
217
258
|
}
|
|
218
259
|
//#endregion
|
|
219
|
-
export { BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BOARD_MANIFEST_KIND, BoardAssetRefSchema, BoardClipSchema, BoardEffectSchema, BoardKeyframeSchema, BoardManifestSchema, BoardNodeInputSchema, BoardSequenceSchema, BoardTargetSchema, InvalidBoardFileError, isBoardPath, parseBoardManifest, serializeBoardManifest };
|
|
260
|
+
export { BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BOARD_MANIFEST_KIND, BoardAssetRefSchema, BoardCameraFocusParamsSchema, BoardCameraFocusSchema, BoardCameraStateSchema, BoardClipSchema, BoardEffectSchema, BoardKeyframeSchema, BoardManifestSchema, BoardNodeInputSchema, BoardSequenceSchema, BoardTargetSchema, InvalidBoardFileError, isBoardPath, parseBoardManifest, serializeBoardManifest };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { BoardCapability, BoardRenderCost } from "./board-constants.js";
|
|
1
|
+
import { BoardCapability, BoardCoordinateSpace, BoardRenderCost } from "./board-constants.js";
|
|
2
2
|
import { AUTO_BOARD_CONNECTION_ANCHOR, BOARD_CONNECTION_DIRECTIONS, BOARD_CONNECTION_LINES, BOARD_CONNECTION_ROUTINGS, BOARD_CONNECTION_SIDES, BoardConnection, BoardConnectionAnchor, BoardConnectionAnchorSchema, BoardConnectionDirection, BoardConnectionEndpoint, BoardConnectionEndpointSchema, BoardConnectionInput, BoardConnectionLine, BoardConnectionPatch, BoardConnectionPatchSchema, BoardConnectionRecord, BoardConnectionRouting, BoardConnectionRoutingConfig, BoardConnectionRoutingSchema, BoardConnectionSchema, BoardConnectionSide, BoardConnectionStyle, BoardConnectionStyleSchema, BoardConnectionWaypointSchema, BoardRelationSchema, DEFAULT_BOARD_CONNECTION_ROUTING, DEFAULT_BOARD_CONNECTION_STYLE, DEFAULT_BOARD_RELATION, connectionNodeIds, connectionOtherNodeId, connectionTouchesNode, createBoardConnection, flipBoardConnection, normalizeBoardConnectionStyle } from "./board-connection.js";
|
|
3
3
|
import { BOARD_COLOR_IDS, BOARD_GEO_KINDS, BoardColorId, BoardGeoKind, BoardNodeValidationDiagnostic } from "./board-node.js";
|
|
4
|
-
import { BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BoardAssetRef, BoardAssetRefSchema, BoardClip, BoardClipSchema, BoardDiagnostic, BoardEffect, BoardEffectSchema, BoardManifest, BoardManifestSchema, BoardNodeInput, BoardNodeRecord, BoardRecord, BoardSequence, BoardSequenceSchema, BoardTarget, BoardTargetSchema, BoardValidationResult, InvalidBoardFileError, isBoardPath, parseBoardManifest, serializeBoardManifest } from "./board.js";
|
|
4
|
+
import { BOARD_DELETE_REASONS, BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BoardAssetRef, BoardAssetRefSchema, BoardCameraFocus, BoardCameraFocusParams, BoardCameraFocusParamsSchema, BoardCameraFocusSchema, BoardCameraState, BoardCameraStateSchema, BoardClip, BoardClipSchema, BoardDeleteReason, BoardDiagnostic, BoardEffect, BoardEffectSchema, BoardManifest, BoardManifestSchema, BoardNodeInput, BoardNodeRecord, BoardOperation, BoardPlaybackPolicy, BoardPlaybackPolicySchema, BoardRecord, BoardSequence, BoardSequenceSchema, BoardTarget, BoardTargetSchema, BoardValidationResult, InvalidBoardFileError, isBoardPath, parseBoardManifest, serializeBoardManifest } from "./board.js";
|
|
5
5
|
import "./board-content.js";
|
|
6
6
|
import "./realtime/board-awareness.js";
|
|
7
7
|
import "./work.js";
|
|
8
8
|
import "./realtime/types.js";
|
|
9
|
-
export { AUTO_BOARD_CONNECTION_ANCHOR, BOARD_COLOR_IDS, BOARD_CONNECTION_DIRECTIONS, BOARD_CONNECTION_LINES, BOARD_CONNECTION_ROUTINGS, BOARD_CONNECTION_SIDES, BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BOARD_GEO_KINDS, BoardAssetRef, BoardAssetRefSchema, BoardClip, BoardClipSchema, BoardColorId, BoardConnection, BoardConnectionAnchor, BoardConnectionAnchorSchema, BoardConnectionDirection, BoardConnectionEndpoint, BoardConnectionEndpointSchema, BoardConnectionInput, BoardConnectionLine, BoardConnectionPatch, BoardConnectionPatchSchema, BoardConnectionRecord, BoardConnectionRouting, BoardConnectionRoutingConfig, BoardConnectionRoutingSchema, BoardConnectionSchema, BoardConnectionSide, BoardConnectionStyle, BoardConnectionStyleSchema, BoardConnectionWaypointSchema, BoardDiagnostic, BoardEffect, BoardEffectSchema, BoardGeoKind, BoardManifest, BoardManifestSchema, BoardNodeInput, BoardNodeRecord, BoardNodeValidationDiagnostic, BoardRecord, BoardRelationSchema, BoardSequence, BoardSequenceSchema, BoardTarget, BoardTargetSchema, BoardValidationResult, DEFAULT_BOARD_CONNECTION_ROUTING, DEFAULT_BOARD_CONNECTION_STYLE, DEFAULT_BOARD_RELATION, InvalidBoardFileError, connectionNodeIds, connectionOtherNodeId, connectionTouchesNode, createBoardConnection, flipBoardConnection, isBoardPath, normalizeBoardConnectionStyle, parseBoardManifest, serializeBoardManifest };
|
|
9
|
+
export { AUTO_BOARD_CONNECTION_ANCHOR, BOARD_COLOR_IDS, BOARD_CONNECTION_DIRECTIONS, BOARD_CONNECTION_LINES, BOARD_CONNECTION_ROUTINGS, BOARD_CONNECTION_SIDES, BOARD_DELETE_REASONS, BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BOARD_GEO_KINDS, BoardAssetRef, BoardAssetRefSchema, BoardCameraFocus, BoardCameraFocusParams, BoardCameraFocusParamsSchema, BoardCameraFocusSchema, BoardCameraState, BoardCameraStateSchema, BoardClip, BoardClipSchema, BoardColorId, BoardConnection, BoardConnectionAnchor, BoardConnectionAnchorSchema, BoardConnectionDirection, BoardConnectionEndpoint, BoardConnectionEndpointSchema, BoardConnectionInput, BoardConnectionLine, BoardConnectionPatch, BoardConnectionPatchSchema, BoardConnectionRecord, BoardConnectionRouting, BoardConnectionRoutingConfig, BoardConnectionRoutingSchema, BoardConnectionSchema, BoardConnectionSide, BoardConnectionStyle, BoardConnectionStyleSchema, BoardConnectionWaypointSchema, BoardDeleteReason, BoardDiagnostic, BoardEffect, BoardEffectSchema, BoardGeoKind, BoardManifest, BoardManifestSchema, BoardNodeInput, BoardNodeRecord, BoardNodeValidationDiagnostic, BoardOperation, BoardPlaybackPolicy, BoardPlaybackPolicySchema, BoardRecord, BoardRelationSchema, BoardSequence, BoardSequenceSchema, BoardTarget, BoardTargetSchema, BoardValidationResult, DEFAULT_BOARD_CONNECTION_ROUTING, DEFAULT_BOARD_CONNECTION_STYLE, DEFAULT_BOARD_RELATION, InvalidBoardFileError, connectionNodeIds, connectionOtherNodeId, connectionTouchesNode, createBoardConnection, flipBoardConnection, isBoardPath, normalizeBoardConnectionStyle, parseBoardManifest, serializeBoardManifest };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./board-constants.js";
|
|
2
2
|
import { AUTO_BOARD_CONNECTION_ANCHOR, BOARD_CONNECTION_DIRECTIONS, BOARD_CONNECTION_LINES, BOARD_CONNECTION_ROUTINGS, BOARD_CONNECTION_SIDES, BoardConnectionAnchorSchema, BoardConnectionEndpointSchema, BoardConnectionPatchSchema, BoardConnectionRoutingSchema, BoardConnectionSchema, BoardConnectionStyleSchema, BoardConnectionWaypointSchema, BoardRelationSchema, DEFAULT_BOARD_CONNECTION_ROUTING, DEFAULT_BOARD_CONNECTION_STYLE, DEFAULT_BOARD_RELATION, connectionNodeIds, connectionOtherNodeId, connectionTouchesNode, createBoardConnection, flipBoardConnection, normalizeBoardConnectionStyle } from "./board-connection.js";
|
|
3
|
-
import { BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BOARD_MANIFEST_KIND, BoardAssetRefSchema, BoardClipSchema, BoardEffectSchema, BoardKeyframeSchema, BoardManifestSchema, BoardNodeInputSchema, BoardSequenceSchema, BoardTargetSchema, InvalidBoardFileError, isBoardPath, parseBoardManifest, serializeBoardManifest } from "./board.js";
|
|
3
|
+
import { BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BOARD_MANIFEST_KIND, BoardAssetRefSchema, BoardCameraFocusParamsSchema, BoardCameraFocusSchema, BoardCameraStateSchema, BoardClipSchema, BoardEffectSchema, BoardKeyframeSchema, BoardManifestSchema, BoardNodeInputSchema, BoardSequenceSchema, BoardTargetSchema, InvalidBoardFileError, isBoardPath, parseBoardManifest, serializeBoardManifest } from "./board.js";
|
|
4
4
|
import { BOARD_CONTENT_KINDS, BoardContentKindSchema, BoardPortSchema } from "./board-content.js";
|
|
5
5
|
import { BOARD_COLOR_IDS, BOARD_GEO_KINDS, BOARD_NATIVE_NODE_TYPES, BoardColorIdSchema, BoardGeoKindSchema, validateBoardNodeInput } from "./board-node.js";
|
|
6
6
|
import { BoardAwarenessDrawPointSchema, BoardAwarenessFrameSchema, BoardAwarenessGestureSchema, BoardAwarenessNodePreviewSchema, BoardAwarenessPointSchema, BoardAwarenessStateUpdateSchema, BoardAwarenessUpdateSchema } from "./realtime/board-awareness.js";
|
|
@@ -11,4 +11,4 @@ import "./ui-command.js";
|
|
|
11
11
|
import "./work-surface.js";
|
|
12
12
|
import "./work-view-stats.js";
|
|
13
13
|
import { WORK_PROMOTION_EVENT_KEYS } from "./work-promotion-stats.js";
|
|
14
|
-
export { AUTO_BOARD_CONNECTION_ANCHOR, BOARD_COLOR_IDS, BOARD_CONNECTION_DIRECTIONS, BOARD_CONNECTION_LINES, BOARD_CONNECTION_ROUTINGS, BOARD_CONNECTION_SIDES, BOARD_CONTENT_KINDS, BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BOARD_GEO_KINDS, BOARD_MANIFEST_KIND, BOARD_NATIVE_NODE_TYPES, BoardAssetRefSchema, BoardAwarenessDrawPointSchema, BoardAwarenessFrameSchema, BoardAwarenessGestureSchema, BoardAwarenessNodePreviewSchema, BoardAwarenessPointSchema, BoardAwarenessStateUpdateSchema, BoardAwarenessUpdateSchema, BoardClipSchema, BoardColorIdSchema, BoardConnectionAnchorSchema, BoardConnectionEndpointSchema, BoardConnectionPatchSchema, BoardConnectionRoutingSchema, BoardConnectionSchema, BoardConnectionStyleSchema, BoardConnectionWaypointSchema, BoardContentKindSchema, BoardEffectSchema, BoardGeoKindSchema, BoardKeyframeSchema, BoardManifestSchema, BoardNodeInputSchema, BoardPortSchema, BoardRelationSchema, BoardSequenceSchema, BoardTargetSchema, COHUB_SOURCE_HEADER, DEFAULT_BOARD_CONNECTION_ROUTING, DEFAULT_BOARD_CONNECTION_STYLE, DEFAULT_BOARD_RELATION, InvalidBoardFileError, RESERVED_PLATFORM_PATH_SEGMENTS, SHORT_UUID_PATTERN, UUID_OR_SHORT_UUID_PATTERN, UUID_PATTERN, UUID_SHAPE_PATTERN, WORK_PROMOTION_EVENT_KEYS, connectionNodeIds, connectionOtherNodeId, connectionTouchesNode, createBoardConnection, flipBoardConnection, isBoardPath, normalizeBoardConnectionStyle, parseBoardManifest, serializeBoardManifest, validateBoardNodeInput };
|
|
14
|
+
export { AUTO_BOARD_CONNECTION_ANCHOR, BOARD_COLOR_IDS, BOARD_CONNECTION_DIRECTIONS, BOARD_CONNECTION_LINES, BOARD_CONNECTION_ROUTINGS, BOARD_CONNECTION_SIDES, BOARD_CONTENT_KINDS, BOARD_DOCUMENT_KIND, BOARD_EXTENSION, BOARD_GEO_KINDS, BOARD_MANIFEST_KIND, BOARD_NATIVE_NODE_TYPES, BoardAssetRefSchema, BoardAwarenessDrawPointSchema, BoardAwarenessFrameSchema, BoardAwarenessGestureSchema, BoardAwarenessNodePreviewSchema, BoardAwarenessPointSchema, BoardAwarenessStateUpdateSchema, BoardAwarenessUpdateSchema, BoardCameraFocusParamsSchema, BoardCameraFocusSchema, BoardCameraStateSchema, BoardClipSchema, BoardColorIdSchema, BoardConnectionAnchorSchema, BoardConnectionEndpointSchema, BoardConnectionPatchSchema, BoardConnectionRoutingSchema, BoardConnectionSchema, BoardConnectionStyleSchema, BoardConnectionWaypointSchema, BoardContentKindSchema, BoardEffectSchema, BoardGeoKindSchema, BoardKeyframeSchema, BoardManifestSchema, BoardNodeInputSchema, BoardPortSchema, BoardRelationSchema, BoardSequenceSchema, BoardTargetSchema, COHUB_SOURCE_HEADER, DEFAULT_BOARD_CONNECTION_ROUTING, DEFAULT_BOARD_CONNECTION_STYLE, DEFAULT_BOARD_RELATION, InvalidBoardFileError, RESERVED_PLATFORM_PATH_SEGMENTS, SHORT_UUID_PATTERN, UUID_OR_SHORT_UUID_PATTERN, UUID_PATTERN, UUID_SHAPE_PATTERN, WORK_PROMOTION_EVENT_KEYS, connectionNodeIds, connectionOtherNodeId, connectionTouchesNode, createBoardConnection, flipBoardConnection, isBoardPath, normalizeBoardConnectionStyle, parseBoardManifest, serializeBoardManifest, validateBoardNodeInput };
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BoardCapability, BoardRenderCost } from "./protocol/dist/board-constants.js";
|
|
2
|
-
import { BoardAssetRef, BoardClip, BoardDiagnostic, BoardEffect, BoardManifest, BoardNodeInput, BoardNodeRecord, BoardRecord, BoardSequence, BoardTarget, BoardValidationResult } from "./protocol/dist/board.js";
|
|
1
|
+
import { BoardCapability, BoardCoordinateSpace, BoardRenderCost } from "./protocol/dist/board-constants.js";
|
|
2
|
+
import { BoardAssetRef, BoardCameraFocus, BoardCameraFocusParams, BoardCameraState, BoardClip, BoardDeleteReason, BoardDiagnostic, BoardEffect, BoardManifest, BoardNodeInput, BoardNodeRecord, BoardOperation, BoardPlaybackPolicy, BoardRecord, BoardSequence, BoardTarget, BoardValidationResult } from "./protocol/dist/board.js";
|
|
3
3
|
import "./protocol/dist/index.js";
|
|
4
4
|
//#region src/types.d.ts
|
|
5
5
|
type UserProfile = {
|