@almadar/std 3.2.3 → 3.3.5

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 (163) hide show
  1. package/LICENSE +72 -21
  2. package/README.md +1 -1
  3. package/behaviors/exports/atoms/std-combat-log.orb +12 -12
  4. package/behaviors/exports/atoms/std-dialogue-box.orb +11 -11
  5. package/behaviors/exports/atoms/std-game-audio.orb +9 -9
  6. package/behaviors/exports/atoms/std-game-canvas3d.orb +24 -24
  7. package/behaviors/exports/atoms/std-game-hud.orb +10 -10
  8. package/behaviors/exports/atoms/std-game-menu.orb +12 -12
  9. package/behaviors/exports/atoms/std-game-over-screen.orb +9 -9
  10. package/behaviors/exports/atoms/std-inventory-panel.orb +13 -13
  11. package/behaviors/exports/atoms/std-isometric-canvas.orb +9 -9
  12. package/behaviors/exports/atoms/std-platformer-canvas.orb +9 -9
  13. package/behaviors/exports/atoms/std-score-board.orb +9 -9
  14. package/behaviors/exports/atoms/std-selection.orb +32 -18
  15. package/behaviors/exports/atoms/std-service-custom-bearer.orb +557 -0
  16. package/behaviors/exports/atoms/std-service-custom-header.orb +559 -0
  17. package/behaviors/exports/atoms/std-service-custom-noauth.orb +553 -0
  18. package/behaviors/exports/atoms/std-service-custom-query.orb +559 -0
  19. package/behaviors/exports/atoms/std-service-email.orb +540 -0
  20. package/behaviors/exports/atoms/std-service-github.orb +586 -0
  21. package/behaviors/exports/atoms/std-service-llm.orb +671 -0
  22. package/behaviors/exports/atoms/std-service-oauth.orb +764 -0
  23. package/behaviors/exports/atoms/std-service-redis.orb +580 -0
  24. package/behaviors/exports/atoms/std-service-storage.orb +664 -0
  25. package/behaviors/exports/atoms/std-service-stripe.orb +639 -0
  26. package/behaviors/exports/atoms/std-service-twilio.orb +611 -0
  27. package/behaviors/exports/atoms/std-service-youtube.orb +696 -0
  28. package/behaviors/exports/atoms/std-simulation-canvas.orb +9 -9
  29. package/behaviors/exports/atoms/std-sprite.orb +17 -17
  30. package/behaviors/exports/atoms/std-validate-on-save.orb +623 -0
  31. package/behaviors/exports/molecules/std-quiz.orb +48 -24
  32. package/behaviors/exports/molecules/std-service-content-pipeline.orb +915 -0
  33. package/behaviors/exports/molecules/std-service-custom-api-tester.orb +860 -0
  34. package/behaviors/exports/molecules/std-service-devops-toolkit.orb +1526 -0
  35. package/behaviors/exports/molecules/std-service-notification-hub.orb +696 -0
  36. package/behaviors/exports/molecules/std-service-payment-flow.orb +873 -0
  37. package/behaviors/exports/organisms/std-service-marketplace.orb +5191 -0
  38. package/behaviors/exports/organisms/std-service-research-assistant.orb +3568 -0
  39. package/behaviors/exports/test-schemas/os-trigger-simulation.orb +202 -0
  40. package/behaviors/exports/validation-report.json +2 -2
  41. package/dist/behaviors/exports/atoms/std-combat-log.orb +12 -12
  42. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +11 -11
  43. package/dist/behaviors/exports/atoms/std-game-audio.orb +9 -9
  44. package/dist/behaviors/exports/atoms/std-game-canvas3d.orb +24 -24
  45. package/dist/behaviors/exports/atoms/std-game-hud.orb +10 -10
  46. package/dist/behaviors/exports/atoms/std-game-menu.orb +12 -12
  47. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +9 -9
  48. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +13 -13
  49. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +9 -9
  50. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +9 -9
  51. package/dist/behaviors/exports/atoms/std-score-board.orb +9 -9
  52. package/dist/behaviors/exports/atoms/std-selection.orb +32 -18
  53. package/dist/behaviors/exports/atoms/std-service-custom-bearer.orb +557 -0
  54. package/dist/behaviors/exports/atoms/std-service-custom-header.orb +559 -0
  55. package/dist/behaviors/exports/atoms/std-service-custom-noauth.orb +553 -0
  56. package/dist/behaviors/exports/atoms/std-service-custom-query.orb +559 -0
  57. package/dist/behaviors/exports/atoms/std-service-email.orb +540 -0
  58. package/dist/behaviors/exports/atoms/std-service-github.orb +586 -0
  59. package/dist/behaviors/exports/atoms/std-service-llm.orb +671 -0
  60. package/dist/behaviors/exports/atoms/std-service-oauth.orb +764 -0
  61. package/dist/behaviors/exports/atoms/std-service-redis.orb +580 -0
  62. package/dist/behaviors/exports/atoms/std-service-storage.orb +664 -0
  63. package/dist/behaviors/exports/atoms/std-service-stripe.orb +639 -0
  64. package/dist/behaviors/exports/atoms/std-service-twilio.orb +611 -0
  65. package/dist/behaviors/exports/atoms/std-service-youtube.orb +696 -0
  66. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +9 -9
  67. package/dist/behaviors/exports/atoms/std-sprite.orb +17 -17
  68. package/dist/behaviors/exports/atoms/std-validate-on-save.orb +623 -0
  69. package/dist/behaviors/exports/molecules/std-quiz.orb +48 -24
  70. package/dist/behaviors/exports/molecules/std-service-content-pipeline.orb +915 -0
  71. package/dist/behaviors/exports/molecules/std-service-custom-api-tester.orb +860 -0
  72. package/dist/behaviors/exports/molecules/std-service-devops-toolkit.orb +1526 -0
  73. package/dist/behaviors/exports/molecules/std-service-notification-hub.orb +696 -0
  74. package/dist/behaviors/exports/molecules/std-service-payment-flow.orb +873 -0
  75. package/dist/behaviors/exports/organisms/std-service-marketplace.orb +5191 -0
  76. package/dist/behaviors/exports/organisms/std-service-research-assistant.orb +3568 -0
  77. package/dist/behaviors/exports/test-schemas/os-trigger-simulation.orb +202 -0
  78. package/dist/behaviors/exports/validation-report.json +2 -2
  79. package/dist/behaviors/functions/index.d.ts +662 -1
  80. package/dist/behaviors/functions/index.js +7638 -2117
  81. package/dist/behaviors/functions/index.js.map +1 -1
  82. package/dist/behaviors/index.d.ts +1 -1
  83. package/dist/behaviors/index.js +7638 -2117
  84. package/dist/behaviors/index.js.map +1 -1
  85. package/dist/exports/atoms/std-combat-log.orb +12 -12
  86. package/dist/exports/atoms/std-dialogue-box.orb +11 -11
  87. package/dist/exports/atoms/std-game-audio.orb +9 -9
  88. package/dist/exports/atoms/std-game-canvas3d.orb +24 -24
  89. package/dist/exports/atoms/std-game-hud.orb +10 -10
  90. package/dist/exports/atoms/std-game-menu.orb +12 -12
  91. package/dist/exports/atoms/std-game-over-screen.orb +9 -9
  92. package/dist/exports/atoms/std-inventory-panel.orb +13 -13
  93. package/dist/exports/atoms/std-isometric-canvas.orb +9 -9
  94. package/dist/exports/atoms/std-platformer-canvas.orb +9 -9
  95. package/dist/exports/atoms/std-score-board.orb +9 -9
  96. package/dist/exports/atoms/std-selection.orb +32 -18
  97. package/dist/exports/atoms/std-service-custom-bearer.orb +557 -0
  98. package/dist/exports/atoms/std-service-custom-header.orb +559 -0
  99. package/dist/exports/atoms/std-service-custom-noauth.orb +553 -0
  100. package/dist/exports/atoms/std-service-custom-query.orb +559 -0
  101. package/dist/exports/atoms/std-service-email.orb +540 -0
  102. package/dist/exports/atoms/std-service-github.orb +586 -0
  103. package/dist/exports/atoms/std-service-llm.orb +671 -0
  104. package/dist/exports/atoms/std-service-oauth.orb +764 -0
  105. package/dist/exports/atoms/std-service-redis.orb +580 -0
  106. package/dist/exports/atoms/std-service-storage.orb +664 -0
  107. package/dist/exports/atoms/std-service-stripe.orb +639 -0
  108. package/dist/exports/atoms/std-service-twilio.orb +611 -0
  109. package/dist/exports/atoms/std-service-youtube.orb +696 -0
  110. package/dist/exports/atoms/std-simulation-canvas.orb +9 -9
  111. package/dist/exports/atoms/std-sprite.orb +17 -17
  112. package/dist/exports/atoms/std-validate-on-save.orb +623 -0
  113. package/dist/exports/molecules/std-quiz.orb +48 -24
  114. package/dist/exports/molecules/std-service-content-pipeline.orb +915 -0
  115. package/dist/exports/molecules/std-service-custom-api-tester.orb +860 -0
  116. package/dist/exports/molecules/std-service-devops-toolkit.orb +1526 -0
  117. package/dist/exports/molecules/std-service-notification-hub.orb +696 -0
  118. package/dist/exports/molecules/std-service-payment-flow.orb +873 -0
  119. package/dist/exports/organisms/std-service-marketplace.orb +5191 -0
  120. package/dist/exports/organisms/std-service-research-assistant.orb +3568 -0
  121. package/dist/exports/test-schemas/os-trigger-simulation.orb +202 -0
  122. package/dist/exports/validation-report.json +2 -2
  123. package/dist/index.d.ts +3 -3
  124. package/dist/index.js +7887 -2216
  125. package/dist/index.js.map +1 -1
  126. package/dist/modules/array.d.ts +1 -1
  127. package/dist/modules/async.d.ts +1 -1
  128. package/dist/modules/contract.d.ts +22 -0
  129. package/dist/modules/contract.js +100 -0
  130. package/dist/modules/contract.js.map +1 -0
  131. package/dist/modules/data.d.ts +22 -0
  132. package/dist/modules/data.js +117 -0
  133. package/dist/modules/data.js.map +1 -0
  134. package/dist/modules/format.d.ts +1 -1
  135. package/dist/modules/graph.d.ts +23 -0
  136. package/dist/modules/graph.js +209 -0
  137. package/dist/modules/graph.js.map +1 -0
  138. package/dist/modules/index.d.ts +5 -1
  139. package/dist/modules/index.js +593 -63
  140. package/dist/modules/index.js.map +1 -1
  141. package/dist/modules/math.d.ts +1 -1
  142. package/dist/modules/nn.d.ts +1 -1
  143. package/dist/modules/nn.js +14 -14
  144. package/dist/modules/nn.js.map +1 -1
  145. package/dist/modules/object.d.ts +1 -1
  146. package/dist/modules/os.d.ts +19 -0
  147. package/dist/modules/os.js +116 -0
  148. package/dist/modules/os.js.map +1 -0
  149. package/dist/modules/prob.d.ts +1 -1
  150. package/dist/modules/str.d.ts +1 -1
  151. package/dist/modules/tensor.d.ts +1 -1
  152. package/dist/modules/tensor.js +29 -29
  153. package/dist/modules/tensor.js.map +1 -1
  154. package/dist/modules/time.d.ts +1 -1
  155. package/dist/modules/train.d.ts +1 -1
  156. package/dist/modules/train.js +19 -19
  157. package/dist/modules/train.js.map +1 -1
  158. package/dist/modules/validate.d.ts +1 -1
  159. package/dist/registry.d.ts +2 -2
  160. package/dist/registry.js +184 -65
  161. package/dist/registry.js.map +1 -1
  162. package/dist/{types-CmNM_IbV.d.ts → types-DOeGXRCm.d.ts} +3 -3
  163. package/package.json +4 -4
@@ -0,0 +1,696 @@
1
+ {
2
+ "name": "ServiceYoutubeOrbital",
3
+ "orbitals": [
4
+ {
5
+ "name": "ServiceYoutubeOrbital",
6
+ "entity": {
7
+ "name": "ServiceYoutube",
8
+ "persistence": "runtime",
9
+ "fields": [
10
+ {
11
+ "name": "id",
12
+ "type": "string",
13
+ "required": true
14
+ },
15
+ {
16
+ "name": "query",
17
+ "type": "string",
18
+ "default": ""
19
+ },
20
+ {
21
+ "name": "selectedVideoId",
22
+ "type": "string",
23
+ "default": ""
24
+ },
25
+ {
26
+ "name": "videoTitle",
27
+ "type": "string",
28
+ "default": ""
29
+ },
30
+ {
31
+ "name": "videoDescription",
32
+ "type": "string",
33
+ "default": ""
34
+ },
35
+ {
36
+ "name": "searchStatus",
37
+ "type": "string",
38
+ "default": "idle"
39
+ },
40
+ {
41
+ "name": "error",
42
+ "type": "string",
43
+ "default": ""
44
+ },
45
+ {
46
+ "name": "name",
47
+ "type": "string"
48
+ },
49
+ {
50
+ "name": "description",
51
+ "type": "string"
52
+ },
53
+ {
54
+ "name": "status",
55
+ "type": "string",
56
+ "default": "active",
57
+ "values": [
58
+ "active",
59
+ "inactive",
60
+ "pending"
61
+ ]
62
+ },
63
+ {
64
+ "name": "createdAt",
65
+ "type": "string"
66
+ }
67
+ ]
68
+ },
69
+ "traits": [
70
+ {
71
+ "name": "ServiceYoutubeYoutube",
72
+ "linkedEntity": "ServiceYoutube",
73
+ "category": "interaction",
74
+ "stateMachine": {
75
+ "states": [
76
+ {
77
+ "name": "idle",
78
+ "isInitial": true
79
+ },
80
+ {
81
+ "name": "searching"
82
+ },
83
+ {
84
+ "name": "results"
85
+ },
86
+ {
87
+ "name": "viewingDetail"
88
+ },
89
+ {
90
+ "name": "error"
91
+ }
92
+ ],
93
+ "events": [
94
+ {
95
+ "key": "INIT",
96
+ "name": "Initialize"
97
+ },
98
+ {
99
+ "key": "SEARCH",
100
+ "name": "Search Videos"
101
+ },
102
+ {
103
+ "key": "SEARCH_COMPLETE",
104
+ "name": "Search Complete",
105
+ "payload": [
106
+ {
107
+ "name": "results",
108
+ "type": "string",
109
+ "required": true
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "key": "SELECT_VIDEO",
115
+ "name": "Select Video",
116
+ "payload": [
117
+ {
118
+ "name": "videoId",
119
+ "type": "string",
120
+ "required": true
121
+ }
122
+ ]
123
+ },
124
+ {
125
+ "key": "VIDEO_LOADED",
126
+ "name": "Video Loaded",
127
+ "payload": [
128
+ {
129
+ "name": "title",
130
+ "type": "string",
131
+ "required": true
132
+ },
133
+ {
134
+ "name": "description",
135
+ "type": "string",
136
+ "required": true
137
+ }
138
+ ]
139
+ },
140
+ {
141
+ "key": "BACK",
142
+ "name": "Back to Results"
143
+ },
144
+ {
145
+ "key": "FAILED",
146
+ "name": "Failed",
147
+ "payload": [
148
+ {
149
+ "name": "error",
150
+ "type": "string",
151
+ "required": true
152
+ }
153
+ ]
154
+ },
155
+ {
156
+ "key": "RESET",
157
+ "name": "Reset"
158
+ }
159
+ ],
160
+ "transitions": [
161
+ {
162
+ "from": "idle",
163
+ "to": "idle",
164
+ "event": "INIT",
165
+ "effects": [
166
+ [
167
+ "fetch",
168
+ "ServiceYoutube"
169
+ ],
170
+ [
171
+ "render-ui",
172
+ "main",
173
+ {
174
+ "type": "stack",
175
+ "direction": "vertical",
176
+ "gap": "lg",
177
+ "align": "stretch",
178
+ "children": [
179
+ {
180
+ "type": "stack",
181
+ "direction": "horizontal",
182
+ "gap": "md",
183
+ "align": "center",
184
+ "children": [
185
+ {
186
+ "type": "icon",
187
+ "name": "video",
188
+ "size": "lg"
189
+ },
190
+ {
191
+ "type": "typography",
192
+ "content": "YouTube Search",
193
+ "variant": "h2"
194
+ }
195
+ ]
196
+ },
197
+ {
198
+ "type": "divider"
199
+ },
200
+ {
201
+ "type": "input",
202
+ "label": "Search",
203
+ "bind": "@entity.query",
204
+ "placeholder": "Search YouTube videos..."
205
+ },
206
+ {
207
+ "type": "button",
208
+ "label": "Search",
209
+ "event": "SEARCH",
210
+ "variant": "primary",
211
+ "icon": "search"
212
+ }
213
+ ]
214
+ }
215
+ ]
216
+ ]
217
+ },
218
+ {
219
+ "from": "idle",
220
+ "to": "searching",
221
+ "event": "SEARCH",
222
+ "effects": [
223
+ [
224
+ "render-ui",
225
+ "main",
226
+ {
227
+ "type": "loading-state",
228
+ "title": "Searching...",
229
+ "message": "Searching YouTube for videos..."
230
+ }
231
+ ],
232
+ [
233
+ "call-service",
234
+ "youtube",
235
+ "search",
236
+ {
237
+ "query": "@entity.query",
238
+ "maxResults": 10,
239
+ "type": "video"
240
+ }
241
+ ]
242
+ ]
243
+ },
244
+ {
245
+ "from": "results",
246
+ "to": "searching",
247
+ "event": "SEARCH",
248
+ "effects": [
249
+ [
250
+ "render-ui",
251
+ "main",
252
+ {
253
+ "type": "loading-state",
254
+ "title": "Searching...",
255
+ "message": "Searching YouTube for videos..."
256
+ }
257
+ ],
258
+ [
259
+ "call-service",
260
+ "youtube",
261
+ "search",
262
+ {
263
+ "query": "@entity.query",
264
+ "maxResults": 10,
265
+ "type": "video"
266
+ }
267
+ ]
268
+ ]
269
+ },
270
+ {
271
+ "from": "searching",
272
+ "to": "results",
273
+ "event": "SEARCH_COMPLETE",
274
+ "effects": [
275
+ [
276
+ "set",
277
+ "@entity.searchStatus",
278
+ "complete"
279
+ ],
280
+ [
281
+ "render-ui",
282
+ "main",
283
+ {
284
+ "type": "stack",
285
+ "direction": "vertical",
286
+ "gap": "lg",
287
+ "align": "stretch",
288
+ "children": [
289
+ {
290
+ "type": "stack",
291
+ "direction": "horizontal",
292
+ "gap": "md",
293
+ "align": "center",
294
+ "children": [
295
+ {
296
+ "type": "icon",
297
+ "name": "video",
298
+ "size": "lg"
299
+ },
300
+ {
301
+ "type": "typography",
302
+ "content": "Search Results",
303
+ "variant": "h2"
304
+ }
305
+ ]
306
+ },
307
+ {
308
+ "type": "divider"
309
+ },
310
+ {
311
+ "type": "typography",
312
+ "content": "Select a video to view details.",
313
+ "variant": "body"
314
+ },
315
+ {
316
+ "type": "stack",
317
+ "direction": "horizontal",
318
+ "gap": "sm",
319
+ "justify": "center",
320
+ "children": [
321
+ {
322
+ "type": "button",
323
+ "label": "New Search",
324
+ "event": "RESET",
325
+ "variant": "ghost",
326
+ "icon": "rotate-ccw"
327
+ },
328
+ {
329
+ "type": "button",
330
+ "label": "Search Again",
331
+ "event": "SEARCH",
332
+ "variant": "outline",
333
+ "icon": "search"
334
+ }
335
+ ]
336
+ }
337
+ ]
338
+ }
339
+ ]
340
+ ]
341
+ },
342
+ {
343
+ "from": "results",
344
+ "to": "viewingDetail",
345
+ "event": "SELECT_VIDEO",
346
+ "effects": [
347
+ [
348
+ "set",
349
+ "@entity.selectedVideoId",
350
+ "@payload.videoId"
351
+ ],
352
+ [
353
+ "render-ui",
354
+ "main",
355
+ {
356
+ "type": "loading-state",
357
+ "title": "Loading video...",
358
+ "message": "Fetching video details..."
359
+ }
360
+ ],
361
+ [
362
+ "call-service",
363
+ "youtube",
364
+ "getVideo",
365
+ {
366
+ "videoId": "@payload.videoId"
367
+ }
368
+ ]
369
+ ]
370
+ },
371
+ {
372
+ "from": "viewingDetail",
373
+ "to": "viewingDetail",
374
+ "event": "VIDEO_LOADED",
375
+ "effects": [
376
+ [
377
+ "set",
378
+ "@entity.videoTitle",
379
+ "@payload.title"
380
+ ],
381
+ [
382
+ "set",
383
+ "@entity.videoDescription",
384
+ "@payload.description"
385
+ ],
386
+ [
387
+ "render-ui",
388
+ "main",
389
+ {
390
+ "type": "stack",
391
+ "direction": "vertical",
392
+ "gap": "lg",
393
+ "align": "stretch",
394
+ "children": [
395
+ {
396
+ "type": "stack",
397
+ "direction": "horizontal",
398
+ "gap": "md",
399
+ "align": "center",
400
+ "children": [
401
+ {
402
+ "type": "icon",
403
+ "name": "video",
404
+ "size": "lg"
405
+ },
406
+ {
407
+ "type": "typography",
408
+ "content": "@entity.videoTitle",
409
+ "variant": "h2"
410
+ }
411
+ ]
412
+ },
413
+ {
414
+ "type": "divider"
415
+ },
416
+ {
417
+ "type": "typography",
418
+ "content": "@entity.videoDescription",
419
+ "variant": "body"
420
+ },
421
+ {
422
+ "type": "button",
423
+ "label": "Back to Results",
424
+ "event": "BACK",
425
+ "variant": "ghost",
426
+ "icon": "arrow-left"
427
+ }
428
+ ]
429
+ }
430
+ ]
431
+ ]
432
+ },
433
+ {
434
+ "from": "viewingDetail",
435
+ "to": "results",
436
+ "event": "BACK",
437
+ "effects": [
438
+ [
439
+ "render-ui",
440
+ "main",
441
+ {
442
+ "type": "stack",
443
+ "direction": "vertical",
444
+ "gap": "lg",
445
+ "align": "stretch",
446
+ "children": [
447
+ {
448
+ "type": "stack",
449
+ "direction": "horizontal",
450
+ "gap": "md",
451
+ "align": "center",
452
+ "children": [
453
+ {
454
+ "type": "icon",
455
+ "name": "video",
456
+ "size": "lg"
457
+ },
458
+ {
459
+ "type": "typography",
460
+ "content": "Search Results",
461
+ "variant": "h2"
462
+ }
463
+ ]
464
+ },
465
+ {
466
+ "type": "divider"
467
+ },
468
+ {
469
+ "type": "typography",
470
+ "content": "Select a video to view details.",
471
+ "variant": "body"
472
+ },
473
+ {
474
+ "type": "stack",
475
+ "direction": "horizontal",
476
+ "gap": "sm",
477
+ "justify": "center",
478
+ "children": [
479
+ {
480
+ "type": "button",
481
+ "label": "New Search",
482
+ "event": "RESET",
483
+ "variant": "ghost",
484
+ "icon": "rotate-ccw"
485
+ },
486
+ {
487
+ "type": "button",
488
+ "label": "Search Again",
489
+ "event": "SEARCH",
490
+ "variant": "outline",
491
+ "icon": "search"
492
+ }
493
+ ]
494
+ }
495
+ ]
496
+ }
497
+ ]
498
+ ]
499
+ },
500
+ {
501
+ "from": "searching",
502
+ "to": "error",
503
+ "event": "FAILED",
504
+ "effects": [
505
+ [
506
+ "set",
507
+ "@entity.error",
508
+ "@payload.error"
509
+ ],
510
+ [
511
+ "set",
512
+ "@entity.searchStatus",
513
+ "error"
514
+ ],
515
+ [
516
+ "render-ui",
517
+ "main",
518
+ {
519
+ "type": "stack",
520
+ "direction": "vertical",
521
+ "gap": "lg",
522
+ "align": "center",
523
+ "children": [
524
+ {
525
+ "type": "error-state",
526
+ "title": "Search Failed",
527
+ "message": "@entity.error",
528
+ "onRetry": "SEARCH"
529
+ },
530
+ {
531
+ "type": "stack",
532
+ "direction": "horizontal",
533
+ "gap": "sm",
534
+ "justify": "center",
535
+ "children": [
536
+ {
537
+ "type": "button",
538
+ "label": "Retry",
539
+ "event": "SEARCH",
540
+ "variant": "primary",
541
+ "icon": "refresh-cw"
542
+ },
543
+ {
544
+ "type": "button",
545
+ "label": "Reset",
546
+ "event": "RESET",
547
+ "variant": "ghost",
548
+ "icon": "rotate-ccw"
549
+ }
550
+ ]
551
+ }
552
+ ]
553
+ }
554
+ ]
555
+ ]
556
+ },
557
+ {
558
+ "from": "results",
559
+ "to": "idle",
560
+ "event": "RESET",
561
+ "effects": [
562
+ [
563
+ "set",
564
+ "@entity.searchStatus",
565
+ "idle"
566
+ ],
567
+ [
568
+ "render-ui",
569
+ "main",
570
+ {
571
+ "type": "stack",
572
+ "direction": "vertical",
573
+ "gap": "lg",
574
+ "align": "stretch",
575
+ "children": [
576
+ {
577
+ "type": "stack",
578
+ "direction": "horizontal",
579
+ "gap": "md",
580
+ "align": "center",
581
+ "children": [
582
+ {
583
+ "type": "icon",
584
+ "name": "video",
585
+ "size": "lg"
586
+ },
587
+ {
588
+ "type": "typography",
589
+ "content": "YouTube Search",
590
+ "variant": "h2"
591
+ }
592
+ ]
593
+ },
594
+ {
595
+ "type": "divider"
596
+ },
597
+ {
598
+ "type": "input",
599
+ "label": "Search",
600
+ "bind": "@entity.query",
601
+ "placeholder": "Search YouTube videos..."
602
+ },
603
+ {
604
+ "type": "button",
605
+ "label": "Search",
606
+ "event": "SEARCH",
607
+ "variant": "primary",
608
+ "icon": "search"
609
+ }
610
+ ]
611
+ }
612
+ ]
613
+ ]
614
+ },
615
+ {
616
+ "from": "error",
617
+ "to": "idle",
618
+ "event": "RESET",
619
+ "effects": [
620
+ [
621
+ "set",
622
+ "@entity.searchStatus",
623
+ "idle"
624
+ ],
625
+ [
626
+ "set",
627
+ "@entity.error",
628
+ ""
629
+ ],
630
+ [
631
+ "render-ui",
632
+ "main",
633
+ {
634
+ "type": "stack",
635
+ "direction": "vertical",
636
+ "gap": "lg",
637
+ "align": "stretch",
638
+ "children": [
639
+ {
640
+ "type": "stack",
641
+ "direction": "horizontal",
642
+ "gap": "md",
643
+ "align": "center",
644
+ "children": [
645
+ {
646
+ "type": "icon",
647
+ "name": "video",
648
+ "size": "lg"
649
+ },
650
+ {
651
+ "type": "typography",
652
+ "content": "YouTube Search",
653
+ "variant": "h2"
654
+ }
655
+ ]
656
+ },
657
+ {
658
+ "type": "divider"
659
+ },
660
+ {
661
+ "type": "input",
662
+ "label": "Search",
663
+ "bind": "@entity.query",
664
+ "placeholder": "Search YouTube videos..."
665
+ },
666
+ {
667
+ "type": "button",
668
+ "label": "Search",
669
+ "event": "SEARCH",
670
+ "variant": "primary",
671
+ "icon": "search"
672
+ }
673
+ ]
674
+ }
675
+ ]
676
+ ]
677
+ }
678
+ ]
679
+ }
680
+ }
681
+ ],
682
+ "pages": [
683
+ {
684
+ "name": "ServiceYoutubePage",
685
+ "path": "/serviceyoutubes",
686
+ "traits": [
687
+ {
688
+ "ref": "ServiceYoutubeYoutube"
689
+ }
690
+ ]
691
+ }
692
+ ]
693
+ }
694
+ ],
695
+ "description": "YouTube service integration behavior: search videos, view video details. Wraps the `youtube` service integration with search and getVideo operations. Pure function: params in, OrbitalDefinition out."
696
+ }