@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,623 @@
1
+ {
2
+ "name": "ValidateOnSave",
3
+ "orbitals": [
4
+ {
5
+ "name": "ValidateOnSave",
6
+ "entity": {
7
+ "name": "ValidateOnSave",
8
+ "persistence": "runtime",
9
+ "fields": [
10
+ {
11
+ "name": "id",
12
+ "type": "string",
13
+ "required": true
14
+ },
15
+ {
16
+ "name": "path",
17
+ "type": "string"
18
+ },
19
+ {
20
+ "name": "valid",
21
+ "type": "boolean",
22
+ "default": false
23
+ },
24
+ {
25
+ "name": "errors",
26
+ "type": "array",
27
+ "default": []
28
+ },
29
+ {
30
+ "name": "warnings",
31
+ "type": "array",
32
+ "default": []
33
+ },
34
+ {
35
+ "name": "timestamp",
36
+ "type": "number",
37
+ "default": 0
38
+ },
39
+ {
40
+ "name": "status",
41
+ "type": "string",
42
+ "default": "idle"
43
+ }
44
+ ]
45
+ },
46
+ "traits": [
47
+ {
48
+ "name": "OrbFileWatcher",
49
+ "linkedEntity": "ValidateOnSave",
50
+ "category": "interaction",
51
+ "listens": [
52
+ {
53
+ "event": "OS_FILE_MODIFIED",
54
+ "scope": "external",
55
+ "guard": [
56
+ "str/endsWith",
57
+ "@payload.path",
58
+ ".orb"
59
+ ]
60
+ }
61
+ ],
62
+ "emits": [
63
+ {
64
+ "event": "AGENT_INTERRUPT",
65
+ "scope": "external",
66
+ "payload": [
67
+ {
68
+ "name": "type",
69
+ "type": "string"
70
+ },
71
+ {
72
+ "name": "status",
73
+ "type": "string"
74
+ },
75
+ {
76
+ "name": "path",
77
+ "type": "string"
78
+ },
79
+ {
80
+ "name": "errors",
81
+ "type": "array"
82
+ },
83
+ {
84
+ "name": "blocking",
85
+ "type": "boolean"
86
+ }
87
+ ]
88
+ }
89
+ ],
90
+ "stateMachine": {
91
+ "states": [
92
+ {
93
+ "name": "idle",
94
+ "isInitial": true
95
+ },
96
+ {
97
+ "name": "validating"
98
+ },
99
+ {
100
+ "name": "valid"
101
+ },
102
+ {
103
+ "name": "invalid"
104
+ }
105
+ ],
106
+ "events": [
107
+ {
108
+ "key": "INIT",
109
+ "name": "Initialize"
110
+ },
111
+ {
112
+ "key": "OS_FILE_MODIFIED",
113
+ "name": "File Modified",
114
+ "payload": [
115
+ {
116
+ "name": "path",
117
+ "type": "string"
118
+ },
119
+ {
120
+ "name": "name",
121
+ "type": "string"
122
+ },
123
+ {
124
+ "name": "dir",
125
+ "type": "string"
126
+ },
127
+ {
128
+ "name": "ext",
129
+ "type": "string"
130
+ },
131
+ {
132
+ "name": "timestamp",
133
+ "type": "number"
134
+ }
135
+ ]
136
+ },
137
+ {
138
+ "key": "REFRESH",
139
+ "name": "Validate Now"
140
+ },
141
+ {
142
+ "key": "VALIDATION_PASSED",
143
+ "name": "Validation Passed",
144
+ "payload": [
145
+ {
146
+ "name": "warnings",
147
+ "type": "array"
148
+ }
149
+ ]
150
+ },
151
+ {
152
+ "key": "VALIDATION_FAILED",
153
+ "name": "Validation Failed",
154
+ "payload": [
155
+ {
156
+ "name": "errors",
157
+ "type": "array"
158
+ },
159
+ {
160
+ "name": "warnings",
161
+ "type": "array"
162
+ }
163
+ ]
164
+ },
165
+ {
166
+ "key": "NAVIGATE",
167
+ "name": "NAVIGATE"
168
+ }
169
+ ],
170
+ "transitions": [
171
+ {
172
+ "from": "idle",
173
+ "event": "INIT",
174
+ "to": "idle",
175
+ "effects": [
176
+ [
177
+ "os/watch-files",
178
+ "**/*.orb"
179
+ ],
180
+ [
181
+ "os/debounce",
182
+ 500,
183
+ "OS_FILE_MODIFIED"
184
+ ],
185
+ [
186
+ "set",
187
+ "@entity.status",
188
+ "idle"
189
+ ],
190
+ [
191
+ "render-ui",
192
+ "main",
193
+ {
194
+ "type": "page-header",
195
+ "title": "Orb File Validator",
196
+ "subtitle": "Watching **/*.orb for changes"
197
+ }
198
+ ],
199
+ [
200
+ "render-ui",
201
+ "center",
202
+ {
203
+ "type": "empty-state",
204
+ "title": "Waiting for file changes",
205
+ "description": "Watching **/*.orb. Save an .orb file to trigger validation."
206
+ }
207
+ ]
208
+ ]
209
+ },
210
+ {
211
+ "from": "idle",
212
+ "event": "OS_FILE_MODIFIED",
213
+ "to": "validating",
214
+ "effects": [
215
+ [
216
+ "set",
217
+ "@entity.path",
218
+ "@payload.path"
219
+ ],
220
+ [
221
+ "set",
222
+ "@entity.timestamp",
223
+ "@now"
224
+ ],
225
+ [
226
+ "set",
227
+ "@entity.status",
228
+ "validating"
229
+ ],
230
+ [
231
+ "render-ui",
232
+ "main",
233
+ {
234
+ "type": "page-header",
235
+ "title": "Orb File Validator",
236
+ "subtitle": "Validating..."
237
+ }
238
+ ],
239
+ [
240
+ "render-ui",
241
+ "center",
242
+ {
243
+ "type": "loading-state",
244
+ "title": "Running orbital validate..."
245
+ }
246
+ ],
247
+ [
248
+ "call-service",
249
+ "orbital-cli",
250
+ "validate",
251
+ {
252
+ "path": "@payload.path",
253
+ "onSuccess": "VALIDATION_PASSED",
254
+ "onError": "VALIDATION_FAILED"
255
+ }
256
+ ]
257
+ ]
258
+ },
259
+ {
260
+ "from": "validating",
261
+ "event": "VALIDATION_PASSED",
262
+ "to": "valid",
263
+ "effects": [
264
+ [
265
+ "set",
266
+ "@entity.valid",
267
+ true
268
+ ],
269
+ [
270
+ "set",
271
+ "@entity.errors",
272
+ []
273
+ ],
274
+ [
275
+ "set",
276
+ "@entity.warnings",
277
+ "@payload.warnings"
278
+ ],
279
+ [
280
+ "set",
281
+ "@entity.status",
282
+ "valid"
283
+ ],
284
+ [
285
+ "render-ui",
286
+ "main",
287
+ {
288
+ "type": "page-header",
289
+ "title": "Orb File Validator",
290
+ "subtitle": "Validation passed",
291
+ "actions": [
292
+ {
293
+ "event": "REFRESH",
294
+ "label": "Validate Now",
295
+ "variant": "primary"
296
+ }
297
+ ]
298
+ }
299
+ ],
300
+ [
301
+ "render-ui",
302
+ "center",
303
+ {
304
+ "type": "entity-detail",
305
+ "entity": "ValidateOnSave",
306
+ "fields": [
307
+ "path",
308
+ "valid",
309
+ "status",
310
+ "timestamp"
311
+ ]
312
+ }
313
+ ],
314
+ [
315
+ "notify",
316
+ "success",
317
+ "Schema is valid"
318
+ ],
319
+ [
320
+ "emit",
321
+ "AGENT_INTERRUPT",
322
+ {
323
+ "type": "validation",
324
+ "status": "passed",
325
+ "path": "@entity.path",
326
+ "blocking": false
327
+ }
328
+ ]
329
+ ]
330
+ },
331
+ {
332
+ "from": "validating",
333
+ "event": "VALIDATION_FAILED",
334
+ "to": "invalid",
335
+ "effects": [
336
+ [
337
+ "set",
338
+ "@entity.valid",
339
+ false
340
+ ],
341
+ [
342
+ "set",
343
+ "@entity.errors",
344
+ "@payload.errors"
345
+ ],
346
+ [
347
+ "set",
348
+ "@entity.warnings",
349
+ "@payload.warnings"
350
+ ],
351
+ [
352
+ "set",
353
+ "@entity.status",
354
+ "invalid"
355
+ ],
356
+ [
357
+ "render-ui",
358
+ "main",
359
+ {
360
+ "type": "page-header",
361
+ "title": "Orb File Validator",
362
+ "subtitle": "Validation failed",
363
+ "actions": [
364
+ {
365
+ "event": "REFRESH",
366
+ "label": "Validate Now",
367
+ "variant": "primary"
368
+ }
369
+ ]
370
+ }
371
+ ],
372
+ [
373
+ "render-ui",
374
+ "center",
375
+ {
376
+ "type": "entity-detail",
377
+ "entity": "ValidateOnSave",
378
+ "fields": [
379
+ "path",
380
+ "valid",
381
+ "errors",
382
+ "warnings",
383
+ "status"
384
+ ]
385
+ }
386
+ ],
387
+ [
388
+ "notify",
389
+ "error",
390
+ "Schema has errors"
391
+ ],
392
+ [
393
+ "emit",
394
+ "AGENT_INTERRUPT",
395
+ {
396
+ "type": "validation",
397
+ "status": "failed",
398
+ "path": "@entity.path",
399
+ "errors": "@payload.errors",
400
+ "blocking": true
401
+ }
402
+ ]
403
+ ]
404
+ },
405
+ {
406
+ "from": "valid",
407
+ "event": "OS_FILE_MODIFIED",
408
+ "to": "validating",
409
+ "effects": [
410
+ [
411
+ "set",
412
+ "@entity.path",
413
+ "@payload.path"
414
+ ],
415
+ [
416
+ "set",
417
+ "@entity.timestamp",
418
+ "@now"
419
+ ],
420
+ [
421
+ "set",
422
+ "@entity.status",
423
+ "validating"
424
+ ],
425
+ [
426
+ "render-ui",
427
+ "main",
428
+ {
429
+ "type": "page-header",
430
+ "title": "Orb File Validator",
431
+ "subtitle": "Re-validating..."
432
+ }
433
+ ],
434
+ [
435
+ "render-ui",
436
+ "center",
437
+ {
438
+ "type": "loading-state",
439
+ "title": "Running orbital validate..."
440
+ }
441
+ ],
442
+ [
443
+ "call-service",
444
+ "orbital-cli",
445
+ "validate",
446
+ {
447
+ "path": "@payload.path",
448
+ "onSuccess": "VALIDATION_PASSED",
449
+ "onError": "VALIDATION_FAILED"
450
+ }
451
+ ]
452
+ ]
453
+ },
454
+ {
455
+ "from": "invalid",
456
+ "event": "OS_FILE_MODIFIED",
457
+ "to": "validating",
458
+ "effects": [
459
+ [
460
+ "set",
461
+ "@entity.path",
462
+ "@payload.path"
463
+ ],
464
+ [
465
+ "set",
466
+ "@entity.timestamp",
467
+ "@now"
468
+ ],
469
+ [
470
+ "set",
471
+ "@entity.status",
472
+ "validating"
473
+ ],
474
+ [
475
+ "render-ui",
476
+ "main",
477
+ {
478
+ "type": "page-header",
479
+ "title": "Orb File Validator",
480
+ "subtitle": "Re-validating..."
481
+ }
482
+ ],
483
+ [
484
+ "render-ui",
485
+ "center",
486
+ {
487
+ "type": "loading-state",
488
+ "title": "Running orbital validate..."
489
+ }
490
+ ],
491
+ [
492
+ "call-service",
493
+ "orbital-cli",
494
+ "validate",
495
+ {
496
+ "path": "@payload.path",
497
+ "onSuccess": "VALIDATION_PASSED",
498
+ "onError": "VALIDATION_FAILED"
499
+ }
500
+ ]
501
+ ]
502
+ },
503
+ {
504
+ "from": "valid",
505
+ "event": "REFRESH",
506
+ "to": "validating",
507
+ "effects": [
508
+ [
509
+ "set",
510
+ "@entity.status",
511
+ "validating"
512
+ ],
513
+ [
514
+ "render-ui",
515
+ "main",
516
+ {
517
+ "type": "page-header",
518
+ "title": "Orb File Validator",
519
+ "subtitle": "Re-validating..."
520
+ }
521
+ ],
522
+ [
523
+ "render-ui",
524
+ "center",
525
+ {
526
+ "type": "loading-state",
527
+ "title": "Running orbital validate..."
528
+ }
529
+ ],
530
+ [
531
+ "call-service",
532
+ "orbital-cli",
533
+ "validate",
534
+ {
535
+ "path": "@entity.path",
536
+ "onSuccess": "VALIDATION_PASSED",
537
+ "onError": "VALIDATION_FAILED"
538
+ }
539
+ ]
540
+ ]
541
+ },
542
+ {
543
+ "from": "invalid",
544
+ "event": "REFRESH",
545
+ "to": "validating",
546
+ "effects": [
547
+ [
548
+ "set",
549
+ "@entity.status",
550
+ "validating"
551
+ ],
552
+ [
553
+ "render-ui",
554
+ "main",
555
+ {
556
+ "type": "page-header",
557
+ "title": "Orb File Validator",
558
+ "subtitle": "Re-validating..."
559
+ }
560
+ ],
561
+ [
562
+ "render-ui",
563
+ "center",
564
+ {
565
+ "type": "loading-state",
566
+ "title": "Running orbital validate..."
567
+ }
568
+ ],
569
+ [
570
+ "call-service",
571
+ "orbital-cli",
572
+ "validate",
573
+ {
574
+ "path": "@entity.path",
575
+ "onSuccess": "VALIDATION_PASSED",
576
+ "onError": "VALIDATION_FAILED"
577
+ }
578
+ ]
579
+ ]
580
+ },
581
+ {
582
+ "from": "idle",
583
+ "to": "idle",
584
+ "event": "NAVIGATE",
585
+ "effects": []
586
+ },
587
+ {
588
+ "from": "validating",
589
+ "to": "validating",
590
+ "event": "NAVIGATE",
591
+ "effects": []
592
+ },
593
+ {
594
+ "from": "valid",
595
+ "to": "valid",
596
+ "event": "NAVIGATE",
597
+ "effects": []
598
+ },
599
+ {
600
+ "from": "invalid",
601
+ "to": "invalid",
602
+ "event": "NAVIGATE",
603
+ "effects": []
604
+ }
605
+ ]
606
+ }
607
+ }
608
+ ],
609
+ "pages": [
610
+ {
611
+ "name": "ValidatorPage",
612
+ "path": "/validator",
613
+ "traits": [
614
+ {
615
+ "ref": "OrbFileWatcher"
616
+ }
617
+ ]
618
+ }
619
+ ]
620
+ }
621
+ ],
622
+ "description": "OS trigger that watches .orb files and validates them on save. Shows a status dashboard with validation results. Emits AGENT_INTERRUPT with validation results to interrupt autonomous agents with ground truth."
623
+ }