@1upvision/sdk 0.1.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 (74) hide show
  1. package/dist/bridge/worker-bridge.d.ts +17 -0
  2. package/dist/bridge/worker-bridge.d.ts.map +1 -0
  3. package/dist/bridge/worker-bridge.js +85 -0
  4. package/dist/components/Box.d.ts +8 -0
  5. package/dist/components/Box.d.ts.map +1 -0
  6. package/dist/components/Box.js +4 -0
  7. package/dist/components/Button.d.ts +11 -0
  8. package/dist/components/Button.d.ts.map +1 -0
  9. package/dist/components/Button.js +4 -0
  10. package/dist/components/CompactView.d.ts +9 -0
  11. package/dist/components/CompactView.d.ts.map +1 -0
  12. package/dist/components/CompactView.js +4 -0
  13. package/dist/components/Dropdown.d.ts +15 -0
  14. package/dist/components/Dropdown.d.ts.map +1 -0
  15. package/dist/components/Dropdown.js +4 -0
  16. package/dist/components/Image.d.ts +11 -0
  17. package/dist/components/Image.d.ts.map +1 -0
  18. package/dist/components/Image.js +4 -0
  19. package/dist/components/List.d.ts +9 -0
  20. package/dist/components/List.d.ts.map +1 -0
  21. package/dist/components/List.js +4 -0
  22. package/dist/components/NumberField.d.ts +14 -0
  23. package/dist/components/NumberField.d.ts.map +1 -0
  24. package/dist/components/NumberField.js +4 -0
  25. package/dist/components/Text.d.ts +9 -0
  26. package/dist/components/Text.d.ts.map +1 -0
  27. package/dist/components/Text.js +4 -0
  28. package/dist/components/TextArea.d.ts +13 -0
  29. package/dist/components/TextArea.d.ts.map +1 -0
  30. package/dist/components/TextArea.js +4 -0
  31. package/dist/components/TextField.d.ts +12 -0
  32. package/dist/components/TextField.d.ts.map +1 -0
  33. package/dist/components/TextField.js +4 -0
  34. package/dist/components/Toggle.d.ts +11 -0
  35. package/dist/components/Toggle.d.ts.map +1 -0
  36. package/dist/components/Toggle.js +4 -0
  37. package/dist/components/index.d.ts +23 -0
  38. package/dist/components/index.d.ts.map +1 -0
  39. package/dist/components/index.js +11 -0
  40. package/dist/hooks/useExtensionContext.d.ts +7 -0
  41. package/dist/hooks/useExtensionContext.d.ts.map +1 -0
  42. package/dist/hooks/useExtensionContext.js +11 -0
  43. package/dist/hooks/useExtensionStorage.d.ts +5 -0
  44. package/dist/hooks/useExtensionStorage.d.ts.map +1 -0
  45. package/dist/hooks/useExtensionStorage.js +30 -0
  46. package/dist/hooks/useVisionState.d.ts +2 -0
  47. package/dist/hooks/useVisionState.d.ts.map +1 -0
  48. package/dist/hooks/useVisionState.js +3 -0
  49. package/dist/index.d.ts +29 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +18 -0
  52. package/dist/renderer/callback-registry.d.ts +9 -0
  53. package/dist/renderer/callback-registry.d.ts.map +1 -0
  54. package/dist/renderer/callback-registry.js +24 -0
  55. package/dist/renderer/reconciler.d.ts +23 -0
  56. package/dist/renderer/reconciler.d.ts.map +1 -0
  57. package/dist/renderer/reconciler.js +333 -0
  58. package/dist/renderer/render.d.ts +10 -0
  59. package/dist/renderer/render.d.ts.map +1 -0
  60. package/dist/renderer/render.js +38 -0
  61. package/dist/server/functions.d.ts +81 -0
  62. package/dist/server/functions.d.ts.map +1 -0
  63. package/dist/server/functions.js +31 -0
  64. package/dist/server/index.d.ts +7 -0
  65. package/dist/server/index.d.ts.map +1 -0
  66. package/dist/server/index.js +3 -0
  67. package/dist/server/schema.d.ts +30 -0
  68. package/dist/server/schema.d.ts.map +1 -0
  69. package/dist/server/schema.js +35 -0
  70. package/dist/server/validators.d.ts +28 -0
  71. package/dist/server/validators.d.ts.map +1 -0
  72. package/dist/server/validators.js +126 -0
  73. package/dist/worker-runtime.js +9342 -0
  74. package/package.json +47 -0
@@ -0,0 +1,17 @@
1
+ type RequestHandler = (params: unknown) => unknown | Promise<unknown>;
2
+ type NotificationHandler = (params: unknown) => void;
3
+ export declare class WorkerBridge {
4
+ private requestHandlers;
5
+ private notificationHandlers;
6
+ private pendingRequests;
7
+ private requestCounter;
8
+ constructor();
9
+ notify(method: string, params?: unknown): void;
10
+ request(method: string, params?: unknown): Promise<unknown>;
11
+ onRequest(method: string, handler: RequestHandler): void;
12
+ onNotification(method: string, handler: NotificationHandler): void;
13
+ private handleMessage;
14
+ destroy(): void;
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=worker-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-bridge.d.ts","sourceRoot":"","sources":["../../src/bridge/worker-bridge.ts"],"names":[],"mappings":"AAOA,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACtE,KAAK,mBAAmB,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAErD,qBAAa,YAAY;IACvB,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,oBAAoB,CAA0C;IACtE,OAAO,CAAC,eAAe,CAGnB;IACJ,OAAO,CAAC,cAAc,CAAK;;IAQ3B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAK9C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAIxD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAIlE,OAAO,CAAC,aAAa;IAsDrB,OAAO,IAAI,IAAI;CAKhB"}
@@ -0,0 +1,85 @@
1
+ export class WorkerBridge {
2
+ requestHandlers = new Map();
3
+ notificationHandlers = new Map();
4
+ pendingRequests = new Map();
5
+ requestCounter = 0;
6
+ constructor() {
7
+ self.addEventListener("message", (event) => {
8
+ this.handleMessage(event.data);
9
+ });
10
+ }
11
+ notify(method, params) {
12
+ const message = { jsonrpc: "2.0", method, params };
13
+ self.postMessage(message);
14
+ }
15
+ request(method, params) {
16
+ const id = `req_${++this.requestCounter}`;
17
+ const message = { jsonrpc: "2.0", id, method, params };
18
+ return new Promise((resolve, reject) => {
19
+ this.pendingRequests.set(id, { resolve, reject });
20
+ self.postMessage(message);
21
+ });
22
+ }
23
+ onRequest(method, handler) {
24
+ this.requestHandlers.set(method, handler);
25
+ }
26
+ onNotification(method, handler) {
27
+ this.notificationHandlers.set(method, handler);
28
+ }
29
+ handleMessage(message) {
30
+ // Response to one of our pending requests
31
+ if ("id" in message && ("result" in message || "error" in message)) {
32
+ const pending = this.pendingRequests.get(message.id);
33
+ if (pending) {
34
+ this.pendingRequests.delete(message.id);
35
+ if ("error" in message && message.error) {
36
+ pending.reject(new Error(message.error?.message));
37
+ }
38
+ else {
39
+ pending.resolve(message.result);
40
+ }
41
+ }
42
+ return;
43
+ }
44
+ // Incoming request or notification from the host
45
+ if ("method" in message) {
46
+ const method = message.method;
47
+ const params = message.params;
48
+ if ("id" in message && message.id) {
49
+ // Request - needs a response
50
+ const handler = this.requestHandlers.get(method);
51
+ if (handler) {
52
+ Promise.resolve(handler(params))
53
+ .then((result) => {
54
+ const response = {
55
+ jsonrpc: "2.0",
56
+ id: message.id,
57
+ result,
58
+ };
59
+ self.postMessage(response);
60
+ })
61
+ .catch((error) => {
62
+ const response = {
63
+ jsonrpc: "2.0",
64
+ id: message.id,
65
+ error: { code: -32000, message: String(error) },
66
+ };
67
+ self.postMessage(response);
68
+ });
69
+ }
70
+ }
71
+ else {
72
+ // Notification
73
+ const handler = this.notificationHandlers.get(method);
74
+ if (handler) {
75
+ handler(params);
76
+ }
77
+ }
78
+ }
79
+ }
80
+ destroy() {
81
+ this.pendingRequests.clear();
82
+ this.requestHandlers.clear();
83
+ this.notificationHandlers.clear();
84
+ }
85
+ }
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import type { VisionStyle } from "@1upvision/protocol";
3
+ export interface BoxProps {
4
+ style?: VisionStyle;
5
+ children?: React.ReactNode;
6
+ }
7
+ export declare function Box(props: BoxProps): React.ReactElement;
8
+ //# sourceMappingURL=Box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../src/components/Box.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,CAEvD"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export function Box(props) {
3
+ return React.createElement("Box", props);
4
+ }
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import type { VisionStyle } from "@1upvision/protocol";
3
+ export interface ButtonProps {
4
+ label: string;
5
+ variant?: "default" | "secondary" | "outline" | "destructive";
6
+ disabled?: boolean;
7
+ onClick?: () => void;
8
+ style?: VisionStyle;
9
+ }
10
+ export declare function Button(props: ButtonProps): React.ReactElement;
11
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CAE7D"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export function Button(props) {
3
+ return React.createElement("Button", props);
4
+ }
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import type { VisionStyle } from "@1upvision/protocol";
3
+ export interface CompactViewProps {
4
+ title?: string;
5
+ style?: VisionStyle;
6
+ children?: React.ReactNode;
7
+ }
8
+ export declare function CompactView(props: CompactViewProps): React.ReactElement;
9
+ //# sourceMappingURL=CompactView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompactView.d.ts","sourceRoot":"","sources":["../../src/components/CompactView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAEvE"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export function CompactView(props) {
3
+ return React.createElement("CompactView", props);
4
+ }
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import type { VisionStyle } from "@1upvision/protocol";
3
+ export interface DropdownProps {
4
+ label?: string;
5
+ value?: string;
6
+ options: Array<{
7
+ label: string;
8
+ value: string;
9
+ }>;
10
+ onChange?: (value: string) => void;
11
+ disabled?: boolean;
12
+ style?: VisionStyle;
13
+ }
14
+ export declare function Dropdown(props: DropdownProps): React.ReactElement;
15
+ //# sourceMappingURL=Dropdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../src/components/Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CAEjE"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export function Dropdown(props) {
3
+ return React.createElement("Dropdown", props);
4
+ }
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import type { VisionStyle } from "@1upvision/protocol";
3
+ export interface ImageProps {
4
+ src: string;
5
+ alt?: string;
6
+ width?: number;
7
+ height?: number;
8
+ style?: VisionStyle;
9
+ }
10
+ export declare function Image(props: ImageProps): React.ReactElement;
11
+ //# sourceMappingURL=Image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/components/Image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC,YAAY,CAE3D"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export function Image(props) {
3
+ return React.createElement("Image", props);
4
+ }
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import type { VisionStyle } from "@1upvision/protocol";
3
+ export interface ListProps {
4
+ gap?: number;
5
+ style?: VisionStyle;
6
+ children?: React.ReactNode;
7
+ }
8
+ export declare function List(props: ListProps): React.ReactElement;
9
+ //# sourceMappingURL=List.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../src/components/List.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,YAAY,CAEzD"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export function List(props) {
3
+ return React.createElement("List", props);
4
+ }
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import type { VisionStyle } from "@1upvision/protocol";
3
+ export interface NumberFieldProps {
4
+ label?: string;
5
+ value?: number;
6
+ min?: number;
7
+ max?: number;
8
+ step?: number;
9
+ onChange?: (value: number) => void;
10
+ disabled?: boolean;
11
+ style?: VisionStyle;
12
+ }
13
+ export declare function NumberField(props: NumberFieldProps): React.ReactElement;
14
+ //# sourceMappingURL=NumberField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../src/components/NumberField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAEvE"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export function NumberField(props) {
3
+ return React.createElement("NumberField", props);
4
+ }
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import type { VisionStyle } from "@1upvision/protocol";
3
+ export interface TextProps {
4
+ content: string;
5
+ variant?: "default" | "muted" | "bold" | "heading";
6
+ style?: VisionStyle;
7
+ }
8
+ export declare function Text(props: TextProps): React.ReactElement;
9
+ //# sourceMappingURL=Text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/components/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACnD,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,YAAY,CAEzD"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export function Text(props) {
3
+ return React.createElement("Text", props);
4
+ }
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import type { VisionStyle } from "@1upvision/protocol";
3
+ export interface TextAreaProps {
4
+ label?: string;
5
+ placeholder?: string;
6
+ value?: string;
7
+ onChange?: (value: string) => void;
8
+ rows?: number;
9
+ disabled?: boolean;
10
+ style?: VisionStyle;
11
+ }
12
+ export declare function TextArea(props: TextAreaProps): React.ReactElement;
13
+ //# sourceMappingURL=TextArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextArea.d.ts","sourceRoot":"","sources":["../../src/components/TextArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CAEjE"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export function TextArea(props) {
3
+ return React.createElement("TextArea", props);
4
+ }
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import type { VisionStyle } from "@1upvision/protocol";
3
+ export interface TextFieldProps {
4
+ label?: string;
5
+ placeholder?: string;
6
+ value?: string;
7
+ onChange?: (value: string) => void;
8
+ disabled?: boolean;
9
+ style?: VisionStyle;
10
+ }
11
+ export declare function TextField(props: TextFieldProps): React.ReactElement;
12
+ //# sourceMappingURL=TextField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../src/components/TextField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAEnE"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export function TextField(props) {
3
+ return React.createElement("TextField", props);
4
+ }
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import type { VisionStyle } from "@1upvision/protocol";
3
+ export interface ToggleProps {
4
+ label?: string;
5
+ checked?: boolean;
6
+ onChange?: (checked: boolean) => void;
7
+ disabled?: boolean;
8
+ style?: VisionStyle;
9
+ }
10
+ export declare function Toggle(props: ToggleProps): React.ReactElement;
11
+ //# sourceMappingURL=Toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../src/components/Toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CAE7D"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export function Toggle(props) {
3
+ return React.createElement("Toggle", props);
4
+ }
@@ -0,0 +1,23 @@
1
+ export { CompactView } from "./CompactView";
2
+ export { List } from "./List";
3
+ export { Text } from "./Text";
4
+ export { Image } from "./Image";
5
+ export { Button } from "./Button";
6
+ export { TextField } from "./TextField";
7
+ export { TextArea } from "./TextArea";
8
+ export { NumberField } from "./NumberField";
9
+ export { Toggle } from "./Toggle";
10
+ export { Dropdown } from "./Dropdown";
11
+ export { Box } from "./Box";
12
+ export type { CompactViewProps } from "./CompactView";
13
+ export type { ListProps } from "./List";
14
+ export type { TextProps } from "./Text";
15
+ export type { ImageProps } from "./Image";
16
+ export type { ButtonProps } from "./Button";
17
+ export type { TextFieldProps } from "./TextField";
18
+ export type { TextAreaProps } from "./TextArea";
19
+ export type { NumberFieldProps } from "./NumberField";
20
+ export type { ToggleProps } from "./Toggle";
21
+ export type { DropdownProps } from "./Dropdown";
22
+ export type { BoxProps } from "./Box";
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC"}
@@ -0,0 +1,11 @@
1
+ export { CompactView } from "./CompactView";
2
+ export { List } from "./List";
3
+ export { Text } from "./Text";
4
+ export { Image } from "./Image";
5
+ export { Button } from "./Button";
6
+ export { TextField } from "./TextField";
7
+ export { TextArea } from "./TextArea";
8
+ export { NumberField } from "./NumberField";
9
+ export { Toggle } from "./Toggle";
10
+ export { Dropdown } from "./Dropdown";
11
+ export { Box } from "./Box";
@@ -0,0 +1,7 @@
1
+ export interface ExtensionContext {
2
+ extensionId: string;
3
+ target: "editor" | "layer" | "interactive";
4
+ overlayId: string;
5
+ }
6
+ export declare function useExtensionContext(): ExtensionContext | null;
7
+ //# sourceMappingURL=useExtensionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExtensionContext.d.ts","sourceRoot":"","sources":["../../src/hooks/useExtensionContext.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAa7D"}
@@ -0,0 +1,11 @@
1
+ import { useState, useEffect } from "react";
2
+ export function useExtensionContext() {
3
+ const [context, setContext] = useState(null);
4
+ useEffect(() => {
5
+ const ctx = globalThis.__visionContext;
6
+ if (ctx) {
7
+ setContext(ctx);
8
+ }
9
+ }, []);
10
+ return context;
11
+ }
@@ -0,0 +1,5 @@
1
+ export declare function useExtensionStorage(): [
2
+ Record<string, unknown>,
3
+ (data: Record<string, unknown>) => void
4
+ ];
5
+ //# sourceMappingURL=useExtensionStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExtensionStorage.d.ts","sourceRoot":"","sources":["../../src/hooks/useExtensionStorage.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,IAAI;IACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI;CACxC,CAqCA"}
@@ -0,0 +1,30 @@
1
+ import { useState, useEffect } from "react";
2
+ export function useExtensionStorage() {
3
+ const [storage, setStorageState] = useState({});
4
+ const bridge = globalThis.__visionBridge;
5
+ useEffect(() => {
6
+ globalThis.__visionStorageUpdate = (newStorage) => {
7
+ setStorageState(newStorage);
8
+ };
9
+ if (bridge) {
10
+ bridge
11
+ .request("storage.get")
12
+ .then((result) => {
13
+ if (result && typeof result === "object") {
14
+ setStorageState(result);
15
+ }
16
+ })
17
+ .catch(console.error);
18
+ }
19
+ return () => {
20
+ delete globalThis.__visionStorageUpdate;
21
+ };
22
+ }, []);
23
+ const setStorage = (data) => {
24
+ setStorageState(data);
25
+ if (bridge) {
26
+ bridge.request("storage.set", { data }).catch(console.error);
27
+ }
28
+ };
29
+ return [storage, setStorage];
30
+ }
@@ -0,0 +1,2 @@
1
+ export declare function useVisionState(): never;
2
+ //# sourceMappingURL=useVisionState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVisionState.d.ts","sourceRoot":"","sources":["../../src/hooks/useVisionState.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,IAAI,KAAK,CAItC"}
@@ -0,0 +1,3 @@
1
+ export function useVisionState() {
2
+ throw new Error("useVisionState is not yet available. It will be introduced in Phase 2 of the Vision SDK.");
3
+ }
@@ -0,0 +1,29 @@
1
+ export { Vision, renderExtension } from "./renderer/render";
2
+ export { CompactView } from "./components/CompactView";
3
+ export { List } from "./components/List";
4
+ export { Text } from "./components/Text";
5
+ export { Image } from "./components/Image";
6
+ export { Button } from "./components/Button";
7
+ export { TextField } from "./components/TextField";
8
+ export { TextArea } from "./components/TextArea";
9
+ export { NumberField } from "./components/NumberField";
10
+ export { Toggle } from "./components/Toggle";
11
+ export { Dropdown } from "./components/Dropdown";
12
+ export { Box } from "./components/Box";
13
+ export { useExtensionStorage } from "./hooks/useExtensionStorage";
14
+ export { useExtensionContext } from "./hooks/useExtensionContext";
15
+ export { useVisionState } from "./hooks/useVisionState";
16
+ export type { ExtensionContext } from "./hooks/useExtensionContext";
17
+ export type { ButtonProps } from "./components/Button";
18
+ export type { TextFieldProps } from "./components/TextField";
19
+ export type { TextAreaProps } from "./components/TextArea";
20
+ export type { NumberFieldProps } from "./components/NumberField";
21
+ export type { ToggleProps } from "./components/Toggle";
22
+ export type { DropdownProps } from "./components/Dropdown";
23
+ export type { CompactViewProps } from "./components/CompactView";
24
+ export type { ListProps } from "./components/List";
25
+ export type { TextProps } from "./components/Text";
26
+ export type { ImageProps } from "./components/Image";
27
+ export type { BoxProps } from "./components/Box";
28
+ export type { VisionStyle } from "@1upvision/protocol";
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAGvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,18 @@
1
+ // Core
2
+ export { Vision, renderExtension } from "./renderer/render";
3
+ // Components
4
+ export { CompactView } from "./components/CompactView";
5
+ export { List } from "./components/List";
6
+ export { Text } from "./components/Text";
7
+ export { Image } from "./components/Image";
8
+ export { Button } from "./components/Button";
9
+ export { TextField } from "./components/TextField";
10
+ export { TextArea } from "./components/TextArea";
11
+ export { NumberField } from "./components/NumberField";
12
+ export { Toggle } from "./components/Toggle";
13
+ export { Dropdown } from "./components/Dropdown";
14
+ export { Box } from "./components/Box";
15
+ // Hooks
16
+ export { useExtensionStorage } from "./hooks/useExtensionStorage";
17
+ export { useExtensionContext } from "./hooks/useExtensionContext";
18
+ export { useVisionState } from "./hooks/useVisionState";
@@ -0,0 +1,9 @@
1
+ export declare class CallbackRegistry {
2
+ private handlers;
3
+ private counter;
4
+ register(fn: Function): string;
5
+ invoke(handlerId: string, args: unknown[]): unknown;
6
+ remove(handlerId: string): void;
7
+ clear(): void;
8
+ }
9
+ //# sourceMappingURL=callback-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callback-registry.d.ts","sourceRoot":"","sources":["../../src/renderer/callback-registry.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,OAAO,CAAK;IAEpB,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM;IAM9B,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO;IASnD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/B,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,24 @@
1
+ export class CallbackRegistry {
2
+ handlers = new Map();
3
+ counter = 0;
4
+ register(fn) {
5
+ const id = `cb_${++this.counter}`;
6
+ this.handlers.set(id, fn);
7
+ return id;
8
+ }
9
+ invoke(handlerId, args) {
10
+ const handler = this.handlers.get(handlerId);
11
+ if (!handler) {
12
+ console.warn(`No handler found for ID: ${handlerId}`);
13
+ return undefined;
14
+ }
15
+ return handler(...args);
16
+ }
17
+ remove(handlerId) {
18
+ this.handlers.delete(handlerId);
19
+ }
20
+ clear() {
21
+ this.handlers.clear();
22
+ this.counter = 0;
23
+ }
24
+ }
@@ -0,0 +1,23 @@
1
+ import type { VisionComponentNode, VisionComponentType } from "@1upvision/protocol";
2
+ import { CallbackRegistry } from "./callback-registry";
3
+ export declare const callbackRegistry: CallbackRegistry;
4
+ export interface VisionInstance {
5
+ _id: string;
6
+ type: VisionComponentType;
7
+ props: Record<string, unknown>;
8
+ children: VisionInstance[];
9
+ parent: VisionInstance | null;
10
+ }
11
+ export interface Container {
12
+ children: VisionInstance[];
13
+ }
14
+ /**
15
+ * Serialize VisionInstance tree to VisionComponentNode[] (strips parent refs).
16
+ * Ensures the output is fully structured-clone safe for postMessage.
17
+ */
18
+ declare function serializeTree(instances: VisionInstance[]): VisionComponentNode[];
19
+ type HostConfig = any;
20
+ export declare function createHostConfig(onCommit: (tree: VisionComponentNode[]) => void): HostConfig;
21
+ export { serializeTree };
22
+ export type { VisionComponentNode };
23
+ //# sourceMappingURL=reconciler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../../src/renderer/reconciler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMvD,eAAO,MAAM,gBAAgB,kBAAyB,CAAC;AAMvD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;CAC/B;AAMD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAsDD;;;GAGG;AACH,iBAAS,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,mBAAmB,EAAE,CASzE;AAiBD,KAAK,UAAU,GAAG,GAAG,CAAC;AAEtB,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,IAAI,GAC9C,UAAU,CA+TZ;AAED,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,mBAAmB,EAAE,CAAC"}