@portel/photon 1.20.0 → 1.21.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 (149) hide show
  1. package/README.md +5 -5
  2. package/dist/ag-ui/adapter.d.ts.map +1 -1
  3. package/dist/ag-ui/adapter.js +25 -0
  4. package/dist/ag-ui/adapter.js.map +1 -1
  5. package/dist/auto-ui/beam/routes/api-browse.d.ts.map +1 -1
  6. package/dist/auto-ui/beam/routes/api-browse.js +8 -49
  7. package/dist/auto-ui/beam/routes/api-browse.js.map +1 -1
  8. package/dist/auto-ui/beam/routes/api-config.d.ts.map +1 -1
  9. package/dist/auto-ui/beam/routes/api-config.js +161 -20
  10. package/dist/auto-ui/beam/routes/api-config.js.map +1 -1
  11. package/dist/auto-ui/beam.d.ts.map +1 -1
  12. package/dist/auto-ui/beam.js +24 -31
  13. package/dist/auto-ui/beam.js.map +1 -1
  14. package/dist/auto-ui/bridge/index.d.ts.map +1 -1
  15. package/dist/auto-ui/bridge/index.js +107 -11
  16. package/dist/auto-ui/bridge/index.js.map +1 -1
  17. package/dist/auto-ui/bridge/renderers.d.ts +14 -0
  18. package/dist/auto-ui/bridge/renderers.d.ts.map +1 -1
  19. package/dist/auto-ui/bridge/renderers.js +692 -61
  20. package/dist/auto-ui/bridge/renderers.js.map +1 -1
  21. package/dist/auto-ui/frontend/index.html +3 -3
  22. package/dist/auto-ui/frontend/pure-view.html +19 -19
  23. package/dist/auto-ui/streamable-http-transport.d.ts.map +1 -1
  24. package/dist/auto-ui/streamable-http-transport.js +144 -28
  25. package/dist/auto-ui/streamable-http-transport.js.map +1 -1
  26. package/dist/auto-ui/ui-resolver.d.ts +25 -0
  27. package/dist/auto-ui/ui-resolver.d.ts.map +1 -0
  28. package/dist/auto-ui/ui-resolver.js +95 -0
  29. package/dist/auto-ui/ui-resolver.js.map +1 -0
  30. package/dist/beam-form.bundle.js +26 -189
  31. package/dist/beam-form.bundle.js.map +4 -4
  32. package/dist/beam.bundle.js +1646 -494
  33. package/dist/beam.bundle.js.map +4 -4
  34. package/dist/cli/commands/beam.d.ts.map +1 -1
  35. package/dist/cli/commands/beam.js +47 -30
  36. package/dist/cli/commands/beam.js.map +1 -1
  37. package/dist/cli/commands/build.d.ts.map +1 -1
  38. package/dist/cli/commands/build.js +36 -7
  39. package/dist/cli/commands/build.js.map +1 -1
  40. package/dist/cli/commands/daemon.d.ts.map +1 -1
  41. package/dist/cli/commands/daemon.js +12 -6
  42. package/dist/cli/commands/daemon.js.map +1 -1
  43. package/dist/cli/commands/init.d.ts.map +1 -1
  44. package/dist/cli/commands/init.js +90 -50
  45. package/dist/cli/commands/init.js.map +1 -1
  46. package/dist/cli/commands/mcp.d.ts.map +1 -1
  47. package/dist/cli/commands/mcp.js +18 -6
  48. package/dist/cli/commands/mcp.js.map +1 -1
  49. package/dist/cli/commands/publish.d.ts +14 -0
  50. package/dist/cli/commands/publish.d.ts.map +1 -0
  51. package/dist/cli/commands/publish.js +126 -0
  52. package/dist/cli/commands/publish.js.map +1 -0
  53. package/dist/cli/commands/run.d.ts.map +1 -1
  54. package/dist/cli/commands/run.js +2 -0
  55. package/dist/cli/commands/run.js.map +1 -1
  56. package/dist/cli/commands/serve.d.ts.map +1 -1
  57. package/dist/cli/commands/serve.js +14 -2
  58. package/dist/cli/commands/serve.js.map +1 -1
  59. package/dist/cli/index.d.ts.map +1 -1
  60. package/dist/cli/index.js +3 -0
  61. package/dist/cli/index.js.map +1 -1
  62. package/dist/cli-alias.d.ts.map +1 -1
  63. package/dist/cli-alias.js +2 -3
  64. package/dist/cli-alias.js.map +1 -1
  65. package/dist/context-store.d.ts +4 -4
  66. package/dist/context-store.d.ts.map +1 -1
  67. package/dist/context-store.js +18 -15
  68. package/dist/context-store.js.map +1 -1
  69. package/dist/context.d.ts +31 -2
  70. package/dist/context.d.ts.map +1 -1
  71. package/dist/context.js +86 -9
  72. package/dist/context.js.map +1 -1
  73. package/dist/daemon/client.d.ts +9 -1
  74. package/dist/daemon/client.d.ts.map +1 -1
  75. package/dist/daemon/client.js +58 -2
  76. package/dist/daemon/client.js.map +1 -1
  77. package/dist/daemon/manager.d.ts +5 -0
  78. package/dist/daemon/manager.d.ts.map +1 -1
  79. package/dist/daemon/manager.js +116 -34
  80. package/dist/daemon/manager.js.map +1 -1
  81. package/dist/daemon/ownership.d.ts +12 -0
  82. package/dist/daemon/ownership.d.ts.map +1 -0
  83. package/dist/daemon/ownership.js +55 -0
  84. package/dist/daemon/ownership.js.map +1 -0
  85. package/dist/daemon/protocol.d.ts +3 -1
  86. package/dist/daemon/protocol.d.ts.map +1 -1
  87. package/dist/daemon/protocol.js +14 -2
  88. package/dist/daemon/protocol.js.map +1 -1
  89. package/dist/daemon/server.js +587 -77
  90. package/dist/daemon/server.js.map +1 -1
  91. package/dist/daemon/session-manager.d.ts +9 -1
  92. package/dist/daemon/session-manager.d.ts.map +1 -1
  93. package/dist/daemon/session-manager.js +54 -1
  94. package/dist/daemon/session-manager.js.map +1 -1
  95. package/dist/daemon/worker-host.js +7 -0
  96. package/dist/daemon/worker-host.js.map +1 -1
  97. package/dist/daemon/worker-manager.d.ts +12 -0
  98. package/dist/daemon/worker-manager.d.ts.map +1 -1
  99. package/dist/daemon/worker-manager.js +147 -16
  100. package/dist/daemon/worker-manager.js.map +1 -1
  101. package/dist/daemon/worker-protocol.d.ts +3 -0
  102. package/dist/daemon/worker-protocol.d.ts.map +1 -1
  103. package/dist/deploy/cloudflare.d.ts.map +1 -1
  104. package/dist/deploy/cloudflare.js +2 -4
  105. package/dist/deploy/cloudflare.js.map +1 -1
  106. package/dist/loader.d.ts +10 -9
  107. package/dist/loader.d.ts.map +1 -1
  108. package/dist/loader.js +224 -115
  109. package/dist/loader.js.map +1 -1
  110. package/dist/marketplace-manager.d.ts +1 -1
  111. package/dist/marketplace-manager.d.ts.map +1 -1
  112. package/dist/marketplace-manager.js +5 -4
  113. package/dist/marketplace-manager.js.map +1 -1
  114. package/dist/photon-cli-runner.d.ts.map +1 -1
  115. package/dist/photon-cli-runner.js +66 -23
  116. package/dist/photon-cli-runner.js.map +1 -1
  117. package/dist/photon-doc-extractor.d.ts.map +1 -1
  118. package/dist/photon-doc-extractor.js +59 -15
  119. package/dist/photon-doc-extractor.js.map +1 -1
  120. package/dist/photons/canvas/ui/canvas.photon.html +1493 -0
  121. package/dist/photons/canvas.photon.d.ts +400 -0
  122. package/dist/photons/canvas.photon.d.ts.map +1 -0
  123. package/dist/photons/canvas.photon.js +662 -0
  124. package/dist/photons/canvas.photon.js.map +1 -0
  125. package/dist/photons/canvas.photon.ts +814 -0
  126. package/dist/photons/publish.photon.d.ts +97 -0
  127. package/dist/photons/publish.photon.d.ts.map +1 -0
  128. package/dist/photons/publish.photon.js +569 -0
  129. package/dist/photons/publish.photon.js.map +1 -0
  130. package/dist/photons/publish.photon.ts +683 -0
  131. package/dist/photons/ui/canvas.photon.html +624 -0
  132. package/dist/resource-server.d.ts.map +1 -1
  133. package/dist/resource-server.js +7 -1
  134. package/dist/resource-server.js.map +1 -1
  135. package/dist/server.d.ts.map +1 -1
  136. package/dist/server.js +14 -16
  137. package/dist/server.js.map +1 -1
  138. package/dist/shared-utils.d.ts +4 -0
  139. package/dist/shared-utils.d.ts.map +1 -1
  140. package/dist/shared-utils.js +24 -2
  141. package/dist/shared-utils.js.map +1 -1
  142. package/dist/template-manager.d.ts.map +1 -1
  143. package/dist/template-manager.js +56 -234
  144. package/dist/template-manager.js.map +1 -1
  145. package/dist/tsx-compiler.d.ts +23 -0
  146. package/dist/tsx-compiler.d.ts.map +1 -0
  147. package/dist/tsx-compiler.js +221 -0
  148. package/dist/tsx-compiler.js.map +1 -0
  149. package/package.json +7 -7
@@ -0,0 +1,400 @@
1
+ /**
2
+ * Canvas — co-creative scene graph
3
+ *
4
+ * Shared canvas where AI agents and humans collaboratively place,
5
+ * move, resize, and update rendered elements. Either party can start,
6
+ * either can edit, control passes back and forth fluidly.
7
+ *
8
+ * Each element renders using the runtime's 50+ format renderers
9
+ * (metric, chart:bar, table, gauge, timeline, etc.).
10
+ *
11
+ * @description Co-creative canvas for AI and humans
12
+ * @icon 🎨
13
+ * @stateful
14
+ */
15
+ export default class Canvas {
16
+ emit: (data: any) => void;
17
+ formats: Record<string, {
18
+ data: string;
19
+ example: unknown;
20
+ }>;
21
+ memory: {
22
+ get<T>(key: string, scope?: string): Promise<T | null>;
23
+ set<T>(key: string, value: T, scope?: string): Promise<void>;
24
+ delete(key: string, scope?: string): Promise<boolean>;
25
+ keys(scope?: string): Promise<string[]>;
26
+ };
27
+ /** Scene graph: element ID → element */
28
+ private _scene;
29
+ private _nextZ;
30
+ private _loaded;
31
+ /** Turn state: who has control */
32
+ private _turn;
33
+ /** Max snapshots to keep per canvas */
34
+ private static MAX_SNAPSHOTS;
35
+ /** Load scene from persistent storage (or from fork data) */
36
+ private _load;
37
+ /** Save scene to persistent storage + auto-snapshot */
38
+ private _save;
39
+ /**
40
+ * Open the canvas
41
+ * @ui canvas
42
+ * @readOnly
43
+ */
44
+ main(): Promise<{
45
+ elements: {
46
+ id: string;
47
+ format: string;
48
+ data: any;
49
+ x: number;
50
+ y: number;
51
+ w: number;
52
+ h: number;
53
+ z: number;
54
+ label?: string;
55
+ locked?: string;
56
+ createdBy?: string;
57
+ updatedAt: number;
58
+ }[];
59
+ turn: {
60
+ agent: string;
61
+ message?: string;
62
+ since: number;
63
+ };
64
+ }>;
65
+ /**
66
+ * Place or update an element on the canvas.
67
+ * Creates if new, merges if exists — only provided fields change.
68
+ *
69
+ * @param id Element identifier
70
+ * @param format Renderer format (metric, chart:bar, table, gauge, etc.)
71
+ * @param data Data matching the format spec
72
+ * @param x Horizontal position in pixels
73
+ * @param y Vertical position in pixels
74
+ * @param w Width in pixels
75
+ * @param h Height in pixels
76
+ * @param z Z-order layer (higher = on top)
77
+ * @param label Human-readable label shown on the element
78
+ */
79
+ put({ id, format, data, x, y, w, h, z, label, }: {
80
+ id: string;
81
+ format?: string;
82
+ data?: any;
83
+ x?: number;
84
+ y?: number;
85
+ w?: number;
86
+ h?: number;
87
+ z?: number;
88
+ label?: string;
89
+ }): Promise<{
90
+ id: string;
91
+ format: string;
92
+ data: any;
93
+ x: number;
94
+ y: number;
95
+ w: number;
96
+ h: number;
97
+ z: number;
98
+ label: string | undefined;
99
+ createdBy: string;
100
+ updatedAt: number;
101
+ }>;
102
+ /**
103
+ * Remove an element from the canvas
104
+ * @param id Element identifier to remove
105
+ */
106
+ remove({ id }: {
107
+ id: string;
108
+ }): Promise<{
109
+ removed: boolean;
110
+ id: string;
111
+ }>;
112
+ /**
113
+ * Clear all elements from the canvas
114
+ * @destructive
115
+ */
116
+ clear(): Promise<{
117
+ cleared: number;
118
+ }>;
119
+ /**
120
+ * Get the full scene graph — all elements with positions, sizes, and data
121
+ * @readOnly
122
+ */
123
+ scene(): Promise<{
124
+ elements: {
125
+ id: string;
126
+ format: string;
127
+ data: any;
128
+ x: number;
129
+ y: number;
130
+ w: number;
131
+ h: number;
132
+ z: number;
133
+ label?: string;
134
+ locked?: string;
135
+ createdBy?: string;
136
+ updatedAt: number;
137
+ }[];
138
+ count: number;
139
+ turn: {
140
+ agent: string;
141
+ message?: string;
142
+ since: number;
143
+ };
144
+ }>;
145
+ /**
146
+ * Pass control to another agent or back to the human.
147
+ * The recipient sees a status banner with the optional message.
148
+ *
149
+ * @param to Who gets control next (e.g. 'human', 'ai', agent name)
150
+ * @param message Optional message explaining what to do next
151
+ */
152
+ pass({ to, message }: {
153
+ to: string;
154
+ message?: string;
155
+ }): Promise<{
156
+ agent: string;
157
+ message?: string;
158
+ since: number;
159
+ }>;
160
+ /**
161
+ * Lock an element so only the specified agent can modify it.
162
+ *
163
+ * @param id Element to lock
164
+ * @param agent Agent name claiming the lock
165
+ */
166
+ lock({ id, agent }: {
167
+ id: string;
168
+ agent: string;
169
+ }): Promise<{
170
+ id: string;
171
+ format: string;
172
+ data: any;
173
+ x: number;
174
+ y: number;
175
+ w: number;
176
+ h: number;
177
+ z: number;
178
+ label?: string;
179
+ locked?: string;
180
+ createdBy?: string;
181
+ updatedAt: number;
182
+ } | {
183
+ error: string;
184
+ id: string;
185
+ }>;
186
+ /**
187
+ * Unlock an element, allowing anyone to modify it.
188
+ *
189
+ * @param id Element to unlock
190
+ */
191
+ unlock({ id }: {
192
+ id: string;
193
+ }): Promise<{
194
+ id: string;
195
+ format: string;
196
+ data: any;
197
+ x: number;
198
+ y: number;
199
+ w: number;
200
+ h: number;
201
+ z: number;
202
+ label?: string;
203
+ locked?: string;
204
+ createdBy?: string;
205
+ updatedAt: number;
206
+ } | {
207
+ error: string;
208
+ id: string;
209
+ }>;
210
+ /**
211
+ * Describe the current canvas layout in natural language.
212
+ * Useful for AI agents to understand spatial arrangement without a screenshot.
213
+ * @readOnly
214
+ */
215
+ describe(): Promise<{
216
+ description: string;
217
+ count: number;
218
+ elements?: undefined;
219
+ bounds?: undefined;
220
+ turn?: undefined;
221
+ } | {
222
+ description: string;
223
+ elements: string[];
224
+ bounds: {
225
+ width: number;
226
+ height: number;
227
+ };
228
+ turn: {
229
+ agent: string;
230
+ message?: string;
231
+ since: number;
232
+ };
233
+ count: number;
234
+ }>;
235
+ private _groupBy;
236
+ /**
237
+ * Request a screenshot from the canvas UI.
238
+ * Returns the latest captured screenshot as a base64 data URL.
239
+ * The UI captures the screenshot and sends it back via the capture method.
240
+ * @readOnly
241
+ */
242
+ screenshot(): Promise<{
243
+ available: boolean;
244
+ dataUrl: string | null;
245
+ hint: string;
246
+ }>;
247
+ /**
248
+ * Store a screenshot captured by the canvas UI.
249
+ * Called by the client after a screenshot-request event.
250
+ * @internal
251
+ * @param dataUrl Base64 data URL of the captured image
252
+ */
253
+ capture({ dataUrl }: {
254
+ dataUrl: string;
255
+ }): Promise<{
256
+ stored: boolean;
257
+ }>;
258
+ /**
259
+ * Register a custom component that can be used as a format on the canvas.
260
+ * Once registered, use the component name as the format in put().
261
+ *
262
+ * @param name Component name (used as format value in put)
263
+ * @param html HTML template string. Use {{key}} placeholders for data binding.
264
+ * @param defaults Default data values for the component
265
+ */
266
+ registerComponent({ name, html, defaults, }: {
267
+ name: string;
268
+ html: string;
269
+ defaults?: Record<string, any>;
270
+ }): Promise<{
271
+ registered: string;
272
+ }>;
273
+ /**
274
+ * List registered custom components with their templates
275
+ * @readOnly
276
+ */
277
+ listComponents(): Promise<{
278
+ name: string;
279
+ html: any;
280
+ defaults: any;
281
+ }[]>;
282
+ /**
283
+ * View the canvas timeline — a history of every change.
284
+ * Each entry has a timestamp, action label, and element count.
285
+ * @readOnly
286
+ */
287
+ history(): Promise<{
288
+ index: number;
289
+ time: string;
290
+ action: string;
291
+ elements: number;
292
+ }[]>;
293
+ /**
294
+ * Get the full timeline with scene data for animated playback.
295
+ * Each frame contains the complete scene state so the client can
296
+ * compute Magic Move transitions between consecutive frames.
297
+ * @readOnly
298
+ * @internal
299
+ */
300
+ playback(): Promise<{
301
+ index: number;
302
+ action: string;
303
+ elements: any[];
304
+ }[]>;
305
+ /**
306
+ * Save a named checkpoint at the current state.
307
+ * Checkpoints appear in the timeline with a label for easy reference.
308
+ *
309
+ * @param label Name for this checkpoint (e.g. 'before reorganizing')
310
+ */
311
+ checkpoint({ label }: {
312
+ label: string;
313
+ }): Promise<{
314
+ checkpointed: string;
315
+ elements: number;
316
+ }>;
317
+ /**
318
+ * Restore the canvas to a previous point in the timeline.
319
+ * Replaces the current scene with the snapshot at that index.
320
+ *
321
+ * @param index Timeline index to restore (from history())
322
+ */
323
+ restore({ index }: {
324
+ index: number;
325
+ }): Promise<{
326
+ error: string;
327
+ restored?: undefined;
328
+ action?: undefined;
329
+ time?: undefined;
330
+ elements?: undefined;
331
+ } | {
332
+ restored: number;
333
+ action: string;
334
+ time: string;
335
+ elements: number;
336
+ error?: undefined;
337
+ }>;
338
+ /**
339
+ * Fork the canvas at a timeline point into a new instance.
340
+ * Creates a new canvas instance with the scene from that snapshot.
341
+ *
342
+ * @param name New instance name (e.g. 'dashboard-v2')
343
+ * @param index Timeline index to fork from (defaults to current state)
344
+ */
345
+ fork({ name, index }: {
346
+ name: string;
347
+ index?: number;
348
+ }): Promise<{
349
+ error: string;
350
+ forked?: undefined;
351
+ from?: undefined;
352
+ elements?: undefined;
353
+ hint?: undefined;
354
+ } | {
355
+ forked: string;
356
+ from: string;
357
+ elements: number;
358
+ hint: string;
359
+ error?: undefined;
360
+ }>;
361
+ /**
362
+ * Export the current canvas as a standalone photon.
363
+ * Compiles the scene graph into a .photon.ts (data methods) and
364
+ * .photon.html (CSS grid layout with format renderers).
365
+ *
366
+ * @param name Photon name for the exported file (e.g. 'my-dashboard')
367
+ * @param description One-line description of the exported photon
368
+ * @readOnly
369
+ */
370
+ export({ name, description }: {
371
+ name: string;
372
+ description?: string;
373
+ }): Promise<{
374
+ error: string;
375
+ name?: undefined;
376
+ files?: undefined;
377
+ elements?: undefined;
378
+ grid?: undefined;
379
+ } | {
380
+ name: string;
381
+ files: {
382
+ [x: string]: string;
383
+ };
384
+ elements: number;
385
+ grid: string;
386
+ error?: undefined;
387
+ }>;
388
+ private _detectRows;
389
+ private _toPascalCase;
390
+ /**
391
+ * List all available render formats with expected data shapes
392
+ * @readOnly
393
+ * @format table
394
+ */
395
+ listFormats(): {
396
+ format: string;
397
+ data: any;
398
+ }[];
399
+ }
400
+ //# sourceMappingURL=canvas.photon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.photon.d.ts","sourceRoot":"","sources":["../../src/photons/canvas.photon.ts"],"names":[],"mappings":"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"}