@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.
Files changed (39) hide show
  1. package/dist/board/animation.js +34 -5
  2. package/dist/board/codec.js +1 -1
  3. package/dist/board/export/index.d.ts +6 -0
  4. package/dist/board/export/index.js +6 -3
  5. package/dist/board/export/scene.d.ts +6 -0
  6. package/dist/board/export/scene.js +26 -2
  7. package/dist/board/geometry.d.ts +27 -1
  8. package/dist/board/geometry.js +92 -1
  9. package/dist/board/headless/index.d.ts +7 -1
  10. package/dist/board/headless/index.js +6 -2
  11. package/dist/board/index.d.ts +6 -4
  12. package/dist/board/index.js +7 -5
  13. package/dist/board/mutation.d.ts +21 -0
  14. package/dist/board/mutation.js +104 -0
  15. package/dist/board/render/css-color.d.ts +4 -0
  16. package/dist/board/render/css-color.js +36 -0
  17. package/dist/board/render/index.d.ts +2 -1
  18. package/dist/board/render/index.js +2 -1
  19. package/dist/board/render/renderers/base-card-renderer.js +3 -20
  20. package/dist/board/render/themes/clean-theme.js +6 -3
  21. package/dist/chunks/http.d.ts +16 -4
  22. package/dist/chunks/http.js +180 -16
  23. package/dist/chunks/websocket.d.ts +74 -4
  24. package/dist/http.d.ts +3 -3
  25. package/dist/index.d.ts +3 -3
  26. package/dist/index.js +33 -6
  27. package/dist/protocol/dist/board-constants.d.ts +2 -1
  28. package/dist/protocol/dist/board-constants.js +61 -6
  29. package/dist/protocol/dist/board-document.d.ts +28 -2
  30. package/dist/protocol/dist/board-document.js +16 -3
  31. package/dist/protocol/dist/board-node.d.ts +2 -1
  32. package/dist/protocol/dist/board-url.d.ts +2 -1
  33. package/dist/protocol/dist/board-url.js +8 -3
  34. package/dist/protocol/dist/board.d.ts +136 -4
  35. package/dist/protocol/dist/board.js +42 -1
  36. package/dist/protocol/dist/index.d.ts +3 -3
  37. package/dist/protocol/dist/index.js +2 -2
  38. package/dist/types.d.ts +2 -2
  39. 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: z.string().url().optional()
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?: "frame-local" | "world";
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 isBlockedIpv4(host);
60
- return host.includes(":") && isBlockedIpv6(host);
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?: "frame-local" | "world";
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 = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neta-art/cohub",
3
- "version": "5.8.2",
3
+ "version": "5.10.0",
4
4
  "description": "Cohub SDK for spaces, sessions, boards, and realtime agent collaboration.",
5
5
  "license": "Apache-2.0",
6
6
  "private": false,