@01.software/sdk 0.29.0 → 0.31.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 (78) hide show
  1. package/README.md +331 -77
  2. package/dist/analytics/react.cjs +4 -1
  3. package/dist/analytics/react.cjs.map +1 -1
  4. package/dist/analytics/react.js +4 -1
  5. package/dist/analytics/react.js.map +1 -1
  6. package/dist/analytics.cjs +4 -1
  7. package/dist/analytics.cjs.map +1 -1
  8. package/dist/analytics.js +4 -1
  9. package/dist/analytics.js.map +1 -1
  10. package/dist/client.cjs +1541 -0
  11. package/dist/client.cjs.map +1 -0
  12. package/dist/client.d.cts +28 -0
  13. package/dist/client.d.ts +28 -0
  14. package/dist/client.js +1518 -0
  15. package/dist/client.js.map +1 -0
  16. package/dist/collection-client-ByzY3hWK.d.ts +218 -0
  17. package/dist/collection-client-DFXXz0vk.d.cts +218 -0
  18. package/dist/{const-DAjQYNuM.d.ts → const-AytzliEu.d.cts} +5 -7
  19. package/dist/{const-Dsixdi6z.d.cts → const-BGCP-OJL.d.ts} +5 -7
  20. package/dist/index-BGEhoDUs.d.cts +106 -0
  21. package/dist/index-BGEhoDUs.d.ts +106 -0
  22. package/dist/index.cjs +1006 -1615
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.cts +11 -115
  25. package/dist/index.d.ts +11 -115
  26. package/dist/index.js +932 -1559
  27. package/dist/index.js.map +1 -1
  28. package/dist/metadata.cjs +91 -0
  29. package/dist/metadata.cjs.map +1 -0
  30. package/dist/metadata.d.cts +58 -0
  31. package/dist/metadata.d.ts +58 -0
  32. package/dist/metadata.js +68 -0
  33. package/dist/metadata.js.map +1 -0
  34. package/dist/{payload-types-Ci-ZA7aM.d.cts → payload-types-Wa4-eC6x.d.cts} +794 -532
  35. package/dist/{payload-types-Ci-ZA7aM.d.ts → payload-types-Wa4-eC6x.d.ts} +794 -532
  36. package/dist/query.cjs +1841 -0
  37. package/dist/query.cjs.map +1 -0
  38. package/dist/query.d.cts +244 -0
  39. package/dist/query.d.ts +244 -0
  40. package/dist/query.js +1836 -0
  41. package/dist/query.js.map +1 -0
  42. package/dist/realtime.cjs +4 -1
  43. package/dist/realtime.cjs.map +1 -1
  44. package/dist/realtime.d.cts +2 -2
  45. package/dist/realtime.d.ts +2 -2
  46. package/dist/realtime.js +4 -1
  47. package/dist/realtime.js.map +1 -1
  48. package/dist/{server-BINWywT8.d.cts → server-CrsPyqEc.d.cts} +14 -31
  49. package/dist/{server-BINWywT8.d.ts → server-CrsPyqEc.d.ts} +14 -31
  50. package/dist/server.cjs +430 -846
  51. package/dist/server.cjs.map +1 -1
  52. package/dist/server.d.cts +137 -7
  53. package/dist/server.d.ts +137 -7
  54. package/dist/server.js +430 -864
  55. package/dist/server.js.map +1 -1
  56. package/dist/{server-Cv0Q4dPQ.d.ts → types-BX2mqDf6.d.ts} +270 -743
  57. package/dist/{types-BWq_WlbB.d.ts → types-CVA10VC-.d.ts} +6 -2
  58. package/dist/{types-zKjATmDK.d.cts → types-CmLG-7RL.d.cts} +6 -2
  59. package/dist/{server-C0C8dtms.d.cts → types-DChFjQGz.d.cts} +270 -743
  60. package/dist/ui/canvas/server.cjs +7 -6
  61. package/dist/ui/canvas/server.cjs.map +1 -1
  62. package/dist/ui/canvas/server.d.cts +1 -3
  63. package/dist/ui/canvas/server.d.ts +1 -3
  64. package/dist/ui/canvas/server.js +7 -6
  65. package/dist/ui/canvas/server.js.map +1 -1
  66. package/dist/ui/canvas.cjs +11 -10
  67. package/dist/ui/canvas.cjs.map +1 -1
  68. package/dist/ui/canvas.d.cts +29 -6
  69. package/dist/ui/canvas.d.ts +29 -6
  70. package/dist/ui/canvas.js +11 -10
  71. package/dist/ui/canvas.js.map +1 -1
  72. package/dist/ui/form.d.cts +1 -1
  73. package/dist/ui/form.d.ts +1 -1
  74. package/dist/ui/video.d.cts +1 -1
  75. package/dist/ui/video.d.ts +1 -1
  76. package/dist/webhook.d.cts +3 -3
  77. package/dist/webhook.d.ts +3 -3
  78. package/package.json +84 -15
@@ -1,9 +1,32 @@
1
- import { C as CanvasData, N as NodeTypeDef, E as EdgeTypeDef, a as CanvasNode, b as NodeTypeFieldDef, D as DynamicNodeSlotProps, c as CanvasEdge, F as FrameNodeSlotProps, d as EdgeSlotProps, e as NodeWrapperSlotProps, f as CanvasViewport, g as CanvasBounds, S as SDKClient, h as FrameData } from '../server-BINWywT8.cjs';
2
- export { B as BUILT_IN_EDGE_TYPES, i as BUILT_IN_NODE_TYPES, j as CanvasNodeData, k as CanvasNodePosition, l as DynamicNodeData, m as FrameNodeData, P as PrefetchCanvasOptions, U as UseCanvasOptions, n as UseCanvasResult, o as getFrameData, p as getFrames, q as getNodeBounds, r as isDynamicNode, s as isFrameNode, t as prefetchCanvas, u as useCanvas } from '../server-BINWywT8.cjs';
1
+ import { S as SDKClient, C as CanvasData, N as NodeTypeDef, E as EdgeTypeDef, a as CanvasNode, b as NodeTypeFieldDef, D as DynamicNodeSlotProps, c as CanvasEdge, F as FrameNodeSlotProps, d as EdgeSlotProps, e as NodeWrapperSlotProps, f as CanvasViewport, g as CanvasBounds, h as FrameData } from '../server-CrsPyqEc.cjs';
2
+ export { B as BUILT_IN_EDGE_TYPES, i as BUILT_IN_NODE_TYPES, j as CanvasNodeData, k as CanvasNodePosition, l as DynamicNodeData, m as FrameNodeData, P as PrefetchCanvasOptions, n as getFrameData, o as getFrames, p as getNodeBounds, q as isDynamicNode, r as isFrameNode, s as prefetchCanvas } from '../server-CrsPyqEc.cjs';
3
+ import { QueryClient } from '@tanstack/react-query';
3
4
  import { Edge } from '@xyflow/react';
4
5
  import React from 'react';
5
6
  import { I as ImageData } from '../image-BDz2-AaO.cjs';
6
- import '@tanstack/react-query';
7
+
8
+ interface UseCanvasOptions {
9
+ /** SDK client instance (Client or ServerClient) */
10
+ client: SDKClient;
11
+ /** Optional explicit React Query client. Defaults to the nearest provider. */
12
+ queryClient?: QueryClient;
13
+ /** Canvas slug (URL-friendly identifier) */
14
+ slug?: string;
15
+ /** Canvas document ID (UUID) */
16
+ id?: string;
17
+ /** Enable/disable data fetching (default: true) */
18
+ enabled?: boolean;
19
+ }
20
+ interface UseCanvasResult {
21
+ data: CanvasData | undefined;
22
+ nodeTypeDefs: NodeTypeDef[];
23
+ edgeTypeDefs: EdgeTypeDef[];
24
+ canvas: Record<string, unknown> | undefined;
25
+ isLoading: boolean;
26
+ error: Error | null;
27
+ }
28
+
29
+ declare function useCanvas(options: UseCanvasOptions): UseCanvasResult;
7
30
 
8
31
  interface UseCanvasDataOptions {
9
32
  /** Canvas data from Canvas document's `canvas` field */
@@ -192,7 +215,7 @@ interface CanvasFrameProps extends Omit<CanvasRendererProps, 'data' | 'nodeTypeD
192
215
  error?: (err: Error) => React.ReactNode;
193
216
  /**
194
217
  * Called when frame data is ready — escape hatch for raw data access.
195
- * Use `prefetchCanvas({ client, slug })` for SSR.
218
+ * Use `prefetchCanvas({ client, queryClient, slug })` for SSR.
196
219
  */
197
220
  onDataReady?: (frameData: FrameData, canvas: Record<string, unknown>) => void;
198
221
  }
@@ -202,7 +225,7 @@ interface CanvasFrameProps extends Omit<CanvasRendererProps, 'data' | 'nodeTypeD
202
225
  * Fetches the canvas via `useCanvas`, extracts the frame with `getFrameData`,
203
226
  * and passes the result to `CanvasRenderer` with correct bounds wired.
204
227
  *
205
- * For SSR / prefetching use the existing `prefetchCanvas({ client, slug })`.
228
+ * For SSR / prefetching use `prefetchCanvas({ client, queryClient, slug })`.
206
229
  *
207
230
  * @example
208
231
  * ```tsx
@@ -219,4 +242,4 @@ interface CanvasFrameProps extends Omit<CanvasRendererProps, 'data' | 'nodeTypeD
219
242
  */
220
243
  declare function CanvasFrame({ client, slug, id, frameId, loading, error: renderError, onDataReady, ...rendererProps }: CanvasFrameProps): React.JSX.Element | null;
221
244
 
222
- export { CanvasBounds, CanvasData, CanvasEdge, CanvasFrame, type CanvasFrameProps, CanvasNode, CanvasRenderer, type CanvasRendererProps, CanvasViewport, type CodeComponentProps, DynamicNodeSlotProps, EdgeSlotProps, EdgeTypeDef, FrameData, FrameNodeSlotProps, NodeTypeDef, NodeTypeFieldDef, NodeWrapperSlotProps, SDKClient, type UseCanvasDataOptions, type UseCanvasDataResult, clearTemplateCache, compileTemplate, getBooleanField, getImageField, getNumberField, getTextField, renderFieldValue, sanitizeCSS, useCanvasData, useQuickJS };
245
+ export { CanvasBounds, CanvasData, CanvasEdge, CanvasFrame, type CanvasFrameProps, CanvasNode, CanvasRenderer, type CanvasRendererProps, CanvasViewport, type CodeComponentProps, DynamicNodeSlotProps, EdgeSlotProps, EdgeTypeDef, FrameData, FrameNodeSlotProps, NodeTypeDef, NodeTypeFieldDef, NodeWrapperSlotProps, SDKClient, type UseCanvasDataOptions, type UseCanvasDataResult, type UseCanvasOptions, type UseCanvasResult, clearTemplateCache, compileTemplate, getBooleanField, getImageField, getNumberField, getTextField, renderFieldValue, sanitizeCSS, useCanvas, useCanvasData, useQuickJS };
@@ -1,9 +1,32 @@
1
- import { C as CanvasData, N as NodeTypeDef, E as EdgeTypeDef, a as CanvasNode, b as NodeTypeFieldDef, D as DynamicNodeSlotProps, c as CanvasEdge, F as FrameNodeSlotProps, d as EdgeSlotProps, e as NodeWrapperSlotProps, f as CanvasViewport, g as CanvasBounds, S as SDKClient, h as FrameData } from '../server-BINWywT8.js';
2
- export { B as BUILT_IN_EDGE_TYPES, i as BUILT_IN_NODE_TYPES, j as CanvasNodeData, k as CanvasNodePosition, l as DynamicNodeData, m as FrameNodeData, P as PrefetchCanvasOptions, U as UseCanvasOptions, n as UseCanvasResult, o as getFrameData, p as getFrames, q as getNodeBounds, r as isDynamicNode, s as isFrameNode, t as prefetchCanvas, u as useCanvas } from '../server-BINWywT8.js';
1
+ import { S as SDKClient, C as CanvasData, N as NodeTypeDef, E as EdgeTypeDef, a as CanvasNode, b as NodeTypeFieldDef, D as DynamicNodeSlotProps, c as CanvasEdge, F as FrameNodeSlotProps, d as EdgeSlotProps, e as NodeWrapperSlotProps, f as CanvasViewport, g as CanvasBounds, h as FrameData } from '../server-CrsPyqEc.js';
2
+ export { B as BUILT_IN_EDGE_TYPES, i as BUILT_IN_NODE_TYPES, j as CanvasNodeData, k as CanvasNodePosition, l as DynamicNodeData, m as FrameNodeData, P as PrefetchCanvasOptions, n as getFrameData, o as getFrames, p as getNodeBounds, q as isDynamicNode, r as isFrameNode, s as prefetchCanvas } from '../server-CrsPyqEc.js';
3
+ import { QueryClient } from '@tanstack/react-query';
3
4
  import { Edge } from '@xyflow/react';
4
5
  import React from 'react';
5
6
  import { I as ImageData } from '../image-BDz2-AaO.js';
6
- import '@tanstack/react-query';
7
+
8
+ interface UseCanvasOptions {
9
+ /** SDK client instance (Client or ServerClient) */
10
+ client: SDKClient;
11
+ /** Optional explicit React Query client. Defaults to the nearest provider. */
12
+ queryClient?: QueryClient;
13
+ /** Canvas slug (URL-friendly identifier) */
14
+ slug?: string;
15
+ /** Canvas document ID (UUID) */
16
+ id?: string;
17
+ /** Enable/disable data fetching (default: true) */
18
+ enabled?: boolean;
19
+ }
20
+ interface UseCanvasResult {
21
+ data: CanvasData | undefined;
22
+ nodeTypeDefs: NodeTypeDef[];
23
+ edgeTypeDefs: EdgeTypeDef[];
24
+ canvas: Record<string, unknown> | undefined;
25
+ isLoading: boolean;
26
+ error: Error | null;
27
+ }
28
+
29
+ declare function useCanvas(options: UseCanvasOptions): UseCanvasResult;
7
30
 
8
31
  interface UseCanvasDataOptions {
9
32
  /** Canvas data from Canvas document's `canvas` field */
@@ -192,7 +215,7 @@ interface CanvasFrameProps extends Omit<CanvasRendererProps, 'data' | 'nodeTypeD
192
215
  error?: (err: Error) => React.ReactNode;
193
216
  /**
194
217
  * Called when frame data is ready — escape hatch for raw data access.
195
- * Use `prefetchCanvas({ client, slug })` for SSR.
218
+ * Use `prefetchCanvas({ client, queryClient, slug })` for SSR.
196
219
  */
197
220
  onDataReady?: (frameData: FrameData, canvas: Record<string, unknown>) => void;
198
221
  }
@@ -202,7 +225,7 @@ interface CanvasFrameProps extends Omit<CanvasRendererProps, 'data' | 'nodeTypeD
202
225
  * Fetches the canvas via `useCanvas`, extracts the frame with `getFrameData`,
203
226
  * and passes the result to `CanvasRenderer` with correct bounds wired.
204
227
  *
205
- * For SSR / prefetching use the existing `prefetchCanvas({ client, slug })`.
228
+ * For SSR / prefetching use `prefetchCanvas({ client, queryClient, slug })`.
206
229
  *
207
230
  * @example
208
231
  * ```tsx
@@ -219,4 +242,4 @@ interface CanvasFrameProps extends Omit<CanvasRendererProps, 'data' | 'nodeTypeD
219
242
  */
220
243
  declare function CanvasFrame({ client, slug, id, frameId, loading, error: renderError, onDataReady, ...rendererProps }: CanvasFrameProps): React.JSX.Element | null;
221
244
 
222
- export { CanvasBounds, CanvasData, CanvasEdge, CanvasFrame, type CanvasFrameProps, CanvasNode, CanvasRenderer, type CanvasRendererProps, CanvasViewport, type CodeComponentProps, DynamicNodeSlotProps, EdgeSlotProps, EdgeTypeDef, FrameData, FrameNodeSlotProps, NodeTypeDef, NodeTypeFieldDef, NodeWrapperSlotProps, SDKClient, type UseCanvasDataOptions, type UseCanvasDataResult, clearTemplateCache, compileTemplate, getBooleanField, getImageField, getNumberField, getTextField, renderFieldValue, sanitizeCSS, useCanvasData, useQuickJS };
245
+ export { CanvasBounds, CanvasData, CanvasEdge, CanvasFrame, type CanvasFrameProps, CanvasNode, CanvasRenderer, type CanvasRendererProps, CanvasViewport, type CodeComponentProps, DynamicNodeSlotProps, EdgeSlotProps, EdgeTypeDef, FrameData, FrameNodeSlotProps, NodeTypeDef, NodeTypeFieldDef, NodeWrapperSlotProps, SDKClient, type UseCanvasDataOptions, type UseCanvasDataResult, type UseCanvasOptions, type UseCanvasResult, clearTemplateCache, compileTemplate, getBooleanField, getImageField, getNumberField, getTextField, renderFieldValue, sanitizeCSS, useCanvas, useCanvasData, useQuickJS };
package/dist/ui/canvas.js CHANGED
@@ -129,28 +129,28 @@ function toEdgeTypeDef(doc) {
129
129
  };
130
130
  }
131
131
  function useCanvas(options) {
132
- const { client, slug, id, enabled = true } = options;
132
+ const { client, queryClient, slug, id, enabled = true } = options;
133
133
  const hasIdentifier = !!(slug || id);
134
134
  const canvasQuery = useQuery(
135
135
  {
136
136
  ...canvasQueryOptions(client, slug, id),
137
137
  enabled: enabled && hasIdentifier
138
138
  },
139
- client.queryClient
139
+ queryClient
140
140
  );
141
141
  const nodeTypesQuery = useQuery(
142
142
  {
143
143
  ...nodeTypesQueryOptions(client),
144
144
  enabled
145
145
  },
146
- client.queryClient
146
+ queryClient
147
147
  );
148
148
  const edgeTypesQuery = useQuery(
149
149
  {
150
150
  ...edgeTypesQueryOptions(client),
151
151
  enabled
152
152
  },
153
- client.queryClient
153
+ queryClient
154
154
  );
155
155
  const nodeTypeDefs = useMemo(() => {
156
156
  const apiDefs = (nodeTypesQuery.data ?? []).map(toNodeTypeDef);
@@ -178,14 +178,14 @@ function useCanvas(options) {
178
178
 
179
179
  // src/ui/Canvas/prefetchCanvas.ts
180
180
  async function prefetchCanvas(options) {
181
- const { client, slug, id } = options;
181
+ const { client, queryClient, slug, id } = options;
182
182
  if (!slug && !id) {
183
183
  throw new Error("prefetchCanvas requires either slug or id");
184
184
  }
185
185
  await Promise.all([
186
- client.queryClient.prefetchQuery(canvasQueryOptions(client, slug, id)),
187
- client.queryClient.prefetchQuery(nodeTypesQueryOptions(client)),
188
- client.queryClient.prefetchQuery(edgeTypesQueryOptions(client))
186
+ queryClient.prefetchQuery(canvasQueryOptions(client, slug, id)),
187
+ queryClient.prefetchQuery(nodeTypesQueryOptions(client)),
188
+ queryClient.prefetchQuery(edgeTypesQueryOptions(client))
189
189
  ]);
190
190
  }
191
191
 
@@ -244,9 +244,10 @@ function useQuickJS() {
244
244
 
245
245
  // src/ui/Canvas/utils.ts
246
246
  function getNodeSize(node) {
247
+ const style = node.style;
247
248
  return {
248
- width: node.style?.width ?? node.measured?.width ?? node.width ?? 200,
249
- height: node.style?.height ?? node.measured?.height ?? node.height ?? 200
249
+ width: style?.width ?? node.measured?.width ?? node.width ?? 200,
250
+ height: style?.height ?? node.measured?.height ?? node.height ?? 200
250
251
  };
251
252
  }
252
253
  function getAbsolutePosition(node, nodeMap) {