@jarenjs/studio 0.83.3 → 0.85.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 (90) hide show
  1. package/README.md +21 -6
  2. package/contracts/data.contract.json +243 -0
  3. package/dist/types/component/data/actions.d.ts +234 -0
  4. package/dist/types/component/data/index.d.ts +9 -0
  5. package/dist/types/component/data/mount.d.ts +87 -0
  6. package/dist/types/component/data/project-widget.d.ts +27 -0
  7. package/dist/types/component/data/viewmodel.d.ts +85 -0
  8. package/dist/types/component/data/views.d.ts +148 -0
  9. package/dist/types/component/document.d.ts +82 -0
  10. package/dist/types/component/flow/actions.d.ts +708 -0
  11. package/dist/types/component/flow/index.d.ts +7 -0
  12. package/dist/types/component/flow/mount.d.ts +66 -0
  13. package/dist/types/component/flow/project-widget.d.ts +8 -0
  14. package/dist/types/component/flow/runtime.d.ts +57 -0
  15. package/dist/types/component/flow/views.d.ts +242 -0
  16. package/dist/types/component/host.d.ts +2 -2
  17. package/dist/types/component/index.d.ts +21 -15
  18. package/dist/types/component/mount.d.ts +51 -0
  19. package/dist/types/component/project-actions.d.ts +302 -0
  20. package/dist/types/component/project-controller.d.ts +81 -0
  21. package/dist/types/component/project-state.d.ts +1 -0
  22. package/dist/types/component/project.d.ts +327 -0
  23. package/dist/types/component/shared/host-widget.d.ts +24 -0
  24. package/dist/types/component/shared/memo.d.ts +12 -0
  25. package/dist/types/component/shared/nodes.d.ts +92 -0
  26. package/dist/types/component/shared/schema-options.d.ts +28 -0
  27. package/dist/types/component/shared/studio-kit.d.ts +78 -0
  28. package/dist/types/component/shared/ui.d.ts +136 -0
  29. package/dist/types/component/view.d.ts +6 -6
  30. package/dist/types/data/boot-stages.d.ts +97 -0
  31. package/dist/types/data/browser-worker.d.ts +22 -0
  32. package/dist/types/data/contract.d.ts +9 -0
  33. package/dist/types/data/editor.d.ts +81 -0
  34. package/dist/types/data/handlers.d.ts +130 -0
  35. package/dist/types/data/host.d.ts +8 -0
  36. package/dist/types/data/project-worker.d.ts +8 -0
  37. package/dist/types/data/runtime.d.ts +46 -0
  38. package/dist/types/data/state.d.ts +33 -0
  39. package/dist/types/data/storage.d.ts +26 -0
  40. package/dist/types/data/transport.d.ts +69 -0
  41. package/dist/types/flow-document.d.ts +19 -0
  42. package/dist/types/flow-editor.d.ts +88 -0
  43. package/docs/EDITORS.md +158 -0
  44. package/docs/PROJECT-FORMAT.md +1 -11
  45. package/package.json +32 -15
  46. package/src/component/data/actions.js +138 -0
  47. package/src/component/data/index.js +10 -0
  48. package/src/component/data/mount.js +63 -0
  49. package/src/component/data/project-widget.js +164 -0
  50. package/src/component/data/viewmodel.js +185 -0
  51. package/src/component/data/views.js +241 -0
  52. package/src/component/document.js +344 -0
  53. package/src/component/flow/actions.js +331 -0
  54. package/src/component/flow/index.js +8 -0
  55. package/src/component/flow/mount.js +53 -0
  56. package/src/component/flow/project-widget.js +44 -0
  57. package/src/component/flow/runtime.js +481 -0
  58. package/src/component/flow/views.js +196 -0
  59. package/src/component/host.js +2 -2
  60. package/src/component/index.js +19 -9
  61. package/src/component/mount.js +43 -0
  62. package/src/component/project-actions.js +189 -0
  63. package/src/component/project-controller.js +248 -0
  64. package/src/component/project-state.js +30 -0
  65. package/src/component/project.js +308 -0
  66. package/src/component/shared/host-widget.js +35 -0
  67. package/src/component/shared/memo.js +28 -0
  68. package/src/component/shared/nodes.js +94 -0
  69. package/src/component/shared/schema-options.js +30 -0
  70. package/src/component/shared/studio-kit.js +59 -0
  71. package/src/component/shared/ui.js +134 -0
  72. package/src/data/boot-stages.js +202 -0
  73. package/src/data/browser-worker.js +247 -0
  74. package/src/data/contract.js +7 -0
  75. package/src/data/editor.js +95 -0
  76. package/src/data/handlers.js +349 -0
  77. package/src/data/host.js +8 -0
  78. package/src/data/project-worker.js +26 -0
  79. package/src/data/runtime.js +462 -0
  80. package/src/data/state.js +46 -0
  81. package/src/data/storage.js +61 -0
  82. package/src/data/transport.js +215 -0
  83. package/src/flow-document.js +24 -0
  84. package/src/flow-editor.js +98 -0
  85. package/styles/data.css +53 -0
  86. package/styles/editor.css +150 -0
  87. package/styles/flow.css +99 -0
  88. package/styles/studio.css +1 -0
  89. package/dist/types/author.d.ts +0 -27
  90. package/src/author.js +0 -55
@@ -0,0 +1,708 @@
1
+ /** Shared by the standalone flow page and the isolated project editor. */
2
+ export declare const FLOW_ACTIONS: {
3
+ 'flow/template': {
4
+ effects: {
5
+ run: string;
6
+ with: {
7
+ name: string;
8
+ };
9
+ }[];
10
+ };
11
+ 'flow/load': {
12
+ patch: ({
13
+ op: string;
14
+ path: string;
15
+ value: string;
16
+ } | {
17
+ op: string;
18
+ path: string;
19
+ value: null;
20
+ } | {
21
+ op: string;
22
+ path: string;
23
+ value: {
24
+ past: never[];
25
+ future: never[];
26
+ };
27
+ })[];
28
+ };
29
+ 'flow/clear': {
30
+ patch: ({
31
+ op: string;
32
+ path: string;
33
+ value: null;
34
+ } | {
35
+ op: string;
36
+ path: string;
37
+ value: {
38
+ past: never[];
39
+ future: never[];
40
+ };
41
+ })[];
42
+ };
43
+ 'flow/tab': {
44
+ patch: {
45
+ op: string;
46
+ path: string;
47
+ value: string;
48
+ }[];
49
+ };
50
+ 'flow/pane': {
51
+ patch: {
52
+ op: string;
53
+ path: string;
54
+ value: string;
55
+ }[];
56
+ };
57
+ 'flow/pick': {
58
+ $if: ({
59
+ $and: (string | {
60
+ $or: {
61
+ $eq: string[];
62
+ }[];
63
+ })[];
64
+ patch?: undefined;
65
+ $if?: undefined;
66
+ } | {
67
+ $if: ({
68
+ $eq: string[];
69
+ patch?: undefined;
70
+ } | {
71
+ $eq?: undefined;
72
+ patch: ({
73
+ op: string;
74
+ path: string;
75
+ value: string;
76
+ } | {
77
+ op: string;
78
+ path: string;
79
+ value: never[];
80
+ } | {
81
+ op: string;
82
+ path: string;
83
+ value: {
84
+ type?: undefined;
85
+ from: string;
86
+ event: null;
87
+ to: string;
88
+ index?: undefined;
89
+ path?: undefined;
90
+ };
91
+ } | {
92
+ op: string;
93
+ path: string;
94
+ value: null;
95
+ } | {
96
+ op: string;
97
+ path: string;
98
+ value: {
99
+ from?: undefined;
100
+ event?: undefined;
101
+ to?: undefined;
102
+ type: string;
103
+ index: {
104
+ $count: string;
105
+ };
106
+ path: {
107
+ $concat: (string | {
108
+ $string: {
109
+ $count: string;
110
+ };
111
+ })[];
112
+ };
113
+ };
114
+ })[];
115
+ } | {
116
+ $eq?: undefined;
117
+ patch: ({
118
+ op: string;
119
+ path: string;
120
+ value: string;
121
+ } | {
122
+ op: string;
123
+ path: string;
124
+ value: never[];
125
+ } | {
126
+ op: string;
127
+ path: string;
128
+ value: {
129
+ type?: undefined;
130
+ index?: undefined;
131
+ path?: undefined;
132
+ from: string;
133
+ to: string;
134
+ };
135
+ } | {
136
+ op: string;
137
+ path: string;
138
+ value: null;
139
+ } | {
140
+ op: string;
141
+ path: string;
142
+ value: {
143
+ from?: undefined;
144
+ to?: undefined;
145
+ type: string;
146
+ index: {
147
+ $count: string;
148
+ };
149
+ path: {
150
+ $concat: (string | {
151
+ $string: {
152
+ $count: string;
153
+ };
154
+ })[];
155
+ };
156
+ };
157
+ })[];
158
+ })[];
159
+ patch?: undefined;
160
+ $and?: undefined;
161
+ } | {
162
+ patch: ({
163
+ op: string;
164
+ path: string;
165
+ value: null;
166
+ } | {
167
+ op: string;
168
+ path: string;
169
+ value: string;
170
+ })[];
171
+ $and?: undefined;
172
+ $if?: undefined;
173
+ })[];
174
+ };
175
+ 'flow/connect-arm': {
176
+ $if: ({
177
+ patch?: undefined;
178
+ $or: {
179
+ $eq: string[];
180
+ }[];
181
+ } | {
182
+ $or?: undefined;
183
+ patch: {
184
+ op: string;
185
+ path: string;
186
+ value: string;
187
+ }[];
188
+ })[];
189
+ };
190
+ 'flow/connect-cancel': {
191
+ patch: {
192
+ op: string;
193
+ path: string;
194
+ value: null;
195
+ }[];
196
+ };
197
+ 'flow/add-state': {
198
+ effects: {
199
+ run: string;
200
+ with: {
201
+ kind: string;
202
+ };
203
+ }[];
204
+ };
205
+ 'flow/add-node': {
206
+ effects: {
207
+ run: string;
208
+ with: {
209
+ kind: string;
210
+ };
211
+ }[];
212
+ };
213
+ 'flow/state-minted': {
214
+ patch: ({
215
+ op: string;
216
+ path: string;
217
+ value: string;
218
+ } | {
219
+ op: string;
220
+ path: string;
221
+ value: never[];
222
+ } | {
223
+ op: string;
224
+ path: string;
225
+ value: {
226
+ type: string;
227
+ id: string;
228
+ path: {
229
+ $concat: (string | {
230
+ $string: {
231
+ $count: string;
232
+ };
233
+ })[];
234
+ };
235
+ };
236
+ })[];
237
+ };
238
+ 'flow/node-minted': {
239
+ patch: ({
240
+ op: string;
241
+ path: string;
242
+ value: string;
243
+ } | {
244
+ op: string;
245
+ path: string;
246
+ value: never[];
247
+ } | {
248
+ op: string;
249
+ path: {
250
+ $concat: string[];
251
+ };
252
+ value: {
253
+ type?: undefined;
254
+ path?: undefined;
255
+ kind: string;
256
+ run: string;
257
+ id?: undefined;
258
+ };
259
+ } | {
260
+ op: string;
261
+ path: string;
262
+ value: {
263
+ kind?: undefined;
264
+ run?: undefined;
265
+ type: string;
266
+ id: string;
267
+ path: {
268
+ $concat: string[];
269
+ };
270
+ };
271
+ })[];
272
+ };
273
+ 'flow/delete': {
274
+ $if: ({
275
+ patch?: undefined;
276
+ $eq: string[];
277
+ $if?: undefined;
278
+ } | {
279
+ $eq?: undefined;
280
+ patch: ({
281
+ op: string;
282
+ path: string;
283
+ value: string;
284
+ } | {
285
+ op: string;
286
+ path: string;
287
+ value: never[];
288
+ } | {
289
+ op: string;
290
+ path: string;
291
+ value: {
292
+ $map: ((string | {
293
+ $for: {
294
+ s: string;
295
+ };
296
+ $where: {
297
+ $ne: (string | {
298
+ $if: (string | {
299
+ '$is-string': string;
300
+ })[];
301
+ })[];
302
+ };
303
+ $return: string;
304
+ }[])[] | (string | {
305
+ $for: {
306
+ t: string;
307
+ };
308
+ $where: {
309
+ $and: {
310
+ $ne: string[];
311
+ }[];
312
+ };
313
+ $return: string;
314
+ }[])[] | (string | {
315
+ $if: (string | {
316
+ $eq: string[];
317
+ } | null)[];
318
+ })[])[];
319
+ };
320
+ } | {
321
+ op: string;
322
+ path: string;
323
+ value: null;
324
+ })[];
325
+ $if?: undefined;
326
+ } | {
327
+ $eq?: undefined;
328
+ patch?: undefined;
329
+ $if: ({
330
+ patch?: undefined;
331
+ $eq: string[];
332
+ } | {
333
+ $eq?: undefined;
334
+ patch: ({
335
+ op: string;
336
+ path: string;
337
+ value: string;
338
+ } | {
339
+ op: string;
340
+ path: string;
341
+ value: never[];
342
+ } | {
343
+ op: string;
344
+ path: string;
345
+ value: {
346
+ $map: ((string | {
347
+ $for: {
348
+ g: string;
349
+ };
350
+ $where: {
351
+ $and: {
352
+ $ne: string[];
353
+ }[];
354
+ };
355
+ $return: string;
356
+ }[])[] | (string | {
357
+ '$from-entries': {
358
+ $for: {
359
+ e: {
360
+ $entries: string;
361
+ };
362
+ };
363
+ $where: {
364
+ $ne: string[];
365
+ };
366
+ $return: string;
367
+ };
368
+ })[])[];
369
+ };
370
+ } | {
371
+ op: string;
372
+ path: string;
373
+ value: null;
374
+ })[];
375
+ } | {
376
+ $eq?: undefined;
377
+ patch: ({
378
+ op: string;
379
+ path: string;
380
+ value: string;
381
+ } | {
382
+ op: string;
383
+ path: string;
384
+ value: never[];
385
+ } | {
386
+ op: string;
387
+ path: {
388
+ $concat: string[];
389
+ };
390
+ value?: undefined;
391
+ } | {
392
+ op: string;
393
+ path: string;
394
+ value: null;
395
+ })[];
396
+ })[];
397
+ })[];
398
+ };
399
+ 'flow/undo': {
400
+ $if: ({
401
+ patch?: undefined;
402
+ $exists: string;
403
+ } | {
404
+ patch: ({
405
+ op: string;
406
+ path: string;
407
+ value: string;
408
+ } | {
409
+ op: string;
410
+ path: {
411
+ $concat: (string | {
412
+ $string: {
413
+ $sub: (number | {
414
+ $count: string;
415
+ })[];
416
+ };
417
+ })[];
418
+ };
419
+ value?: undefined;
420
+ } | {
421
+ op: string;
422
+ path: string;
423
+ value: null;
424
+ })[];
425
+ $exists?: undefined;
426
+ })[];
427
+ };
428
+ 'flow/redo': {
429
+ $if: ({
430
+ patch?: undefined;
431
+ $exists: string;
432
+ } | {
433
+ patch: ({
434
+ op: string;
435
+ path: string;
436
+ value: string;
437
+ } | {
438
+ op: string;
439
+ path: {
440
+ $concat: (string | {
441
+ $string: {
442
+ $sub: (number | {
443
+ $count: string;
444
+ })[];
445
+ };
446
+ })[];
447
+ };
448
+ value?: undefined;
449
+ } | {
450
+ op: string;
451
+ path: string;
452
+ value: null;
453
+ })[];
454
+ $exists?: undefined;
455
+ })[];
456
+ };
457
+ 'flow/text': {
458
+ effects: {
459
+ run: string;
460
+ with: {
461
+ text: string;
462
+ kind: string;
463
+ };
464
+ }[];
465
+ };
466
+ 'flow/parsed': {
467
+ patch: ({
468
+ op: string;
469
+ path: string;
470
+ value: string;
471
+ } | {
472
+ op: string;
473
+ path: string;
474
+ value: never[];
475
+ } | {
476
+ op: string;
477
+ path: string;
478
+ value: null;
479
+ })[];
480
+ };
481
+ 'flow/parse-error': {
482
+ patch: {
483
+ op: string;
484
+ path: string;
485
+ value: string;
486
+ }[];
487
+ };
488
+ 'flow/run': {
489
+ patch: ({
490
+ op: string;
491
+ path: string;
492
+ value: {
493
+ current: string;
494
+ prev: null;
495
+ log: never[];
496
+ $add?: undefined;
497
+ };
498
+ } | {
499
+ op: string;
500
+ path: string;
501
+ value: {
502
+ current?: undefined;
503
+ prev?: undefined;
504
+ log?: undefined;
505
+ $add: (string | number)[];
506
+ };
507
+ } | {
508
+ op: string;
509
+ path: string;
510
+ value: string;
511
+ })[];
512
+ };
513
+ 'flow/stop': {
514
+ patch: {
515
+ op: string;
516
+ path: string;
517
+ value: null;
518
+ }[];
519
+ };
520
+ 'flow/send': {
521
+ effects: {
522
+ run: string;
523
+ with: {
524
+ event: string;
525
+ };
526
+ }[];
527
+ };
528
+ 'flow/run-tx': {
529
+ $if: (string | {
530
+ patch: {
531
+ op: string;
532
+ path: string;
533
+ value: string;
534
+ }[];
535
+ })[];
536
+ };
537
+ 'flow/run-log': {
538
+ $if: (string | {
539
+ patch: {
540
+ op: string;
541
+ path: string;
542
+ value: string;
543
+ }[];
544
+ })[];
545
+ };
546
+ 'flow/dag-input': {
547
+ patch: {
548
+ op: string;
549
+ path: string;
550
+ value: string;
551
+ }[];
552
+ };
553
+ 'flow/dag-run': {
554
+ patch: ({
555
+ op: string;
556
+ path: string;
557
+ value: {
558
+ running: boolean;
559
+ nodes: {};
560
+ output: null;
561
+ error: null;
562
+ log: never[];
563
+ };
564
+ } | {
565
+ op: string;
566
+ path: string;
567
+ value: string;
568
+ })[];
569
+ effects: {
570
+ run: string;
571
+ with: {
572
+ doc: string;
573
+ inputText: string;
574
+ };
575
+ }[];
576
+ };
577
+ 'flow/dag-node': {
578
+ $if: (string | {
579
+ patch: ({
580
+ op: string;
581
+ path: {
582
+ $concat: string[];
583
+ };
584
+ value: string;
585
+ } | {
586
+ op: string;
587
+ path: string;
588
+ value: string;
589
+ })[];
590
+ })[];
591
+ };
592
+ 'flow/dag-done': {
593
+ $if: (string | {
594
+ patch: ({
595
+ op: string;
596
+ path: string;
597
+ value: boolean;
598
+ } | {
599
+ op: string;
600
+ path: string;
601
+ value: string;
602
+ })[];
603
+ })[];
604
+ };
605
+ 'flow/dag-fail': {
606
+ $if: (string | {
607
+ patch: ({
608
+ op: string;
609
+ path: string;
610
+ value: boolean;
611
+ } | {
612
+ op: string;
613
+ path: string;
614
+ value: string;
615
+ })[];
616
+ })[];
617
+ };
618
+ 'flow/dag-abort': {
619
+ effects: {
620
+ run: string;
621
+ }[];
622
+ };
623
+ 'flow/f-input': {
624
+ patch: {
625
+ op: {
626
+ $if: (string | {
627
+ $or: (string | {
628
+ $eq: string[];
629
+ })[];
630
+ })[];
631
+ };
632
+ path: {
633
+ $concat: string[];
634
+ };
635
+ value: string;
636
+ }[];
637
+ };
638
+ 'flow/f-check': {
639
+ patch: {
640
+ op: {
641
+ $if: (string | {
642
+ $or: (string | {
643
+ $eq: string[];
644
+ })[];
645
+ })[];
646
+ };
647
+ path: {
648
+ $concat: string[];
649
+ };
650
+ value: string;
651
+ }[];
652
+ };
653
+ 'flow/f-number': {
654
+ patch: {
655
+ op: {
656
+ $if: (string | {
657
+ $or: (string | {
658
+ $eq: string[];
659
+ })[];
660
+ })[];
661
+ };
662
+ path: {
663
+ $concat: string[];
664
+ };
665
+ value: {
666
+ $if: ({
667
+ $ne: string[];
668
+ $number?: undefined;
669
+ } | {
670
+ $ne?: undefined;
671
+ $number: string;
672
+ } | null)[];
673
+ };
674
+ }[];
675
+ };
676
+ 'flow/f-json': {
677
+ patch: {
678
+ op: {
679
+ $if: (string | {
680
+ $or: (string | {
681
+ $eq: string[];
682
+ })[];
683
+ })[];
684
+ };
685
+ path: {
686
+ $concat: string[];
687
+ };
688
+ value: string;
689
+ }[];
690
+ };
691
+ 'flow/f-add': {
692
+ patch: {
693
+ op: string;
694
+ path: {
695
+ $concat: string[];
696
+ };
697
+ value: string;
698
+ }[];
699
+ };
700
+ 'flow/f-remove': {
701
+ patch: {
702
+ op: string;
703
+ path: {
704
+ $concat: string[];
705
+ };
706
+ }[];
707
+ };
708
+ };
@@ -0,0 +1,7 @@
1
+ export { FLOW_ACTIONS } from './actions.js';
2
+ export { FLOW_RULES, FLOW_FORM_RULES } from './views.js';
3
+ export { createFlowRuntime, flowPageViewModel, flowText, textLossReason, memberAt } from './runtime.js';
4
+ export { createProjectFlowWidget } from './project-widget.js';
5
+ export { createFlowState, createFlowController } from '../../flow-editor.js';
6
+ export { validateFlowDocument } from '../../flow-document.js';
7
+ export { mountFlowEditor } from './mount.js';