@almadar/std 3.12.2 → 3.13.1

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 (86) hide show
  1. package/behaviors/exports/atoms/std-agent-activity-log.orb +559 -0
  2. package/behaviors/exports/atoms/std-agent-chat-thread.orb +774 -0
  3. package/behaviors/exports/atoms/std-agent-classifier.orb +871 -0
  4. package/behaviors/exports/atoms/std-agent-completion.orb +933 -0
  5. package/behaviors/exports/atoms/std-agent-context-window.orb +2294 -0
  6. package/behaviors/exports/atoms/std-agent-conversation.orb +1020 -0
  7. package/behaviors/exports/atoms/std-agent-memory.orb +879 -0
  8. package/behaviors/exports/atoms/std-agent-provider.orb +898 -0
  9. package/behaviors/exports/atoms/std-agent-search.orb +448 -0
  10. package/behaviors/exports/atoms/std-agent-session.orb +835 -0
  11. package/behaviors/exports/atoms/std-agent-step-progress.orb +850 -0
  12. package/behaviors/exports/atoms/std-agent-token-gauge.orb +1616 -0
  13. package/behaviors/exports/atoms/std-agent-tool-call.orb +1237 -0
  14. package/behaviors/exports/molecules/std-agent-fix-loop.orb +3177 -0
  15. package/behaviors/exports/molecules/std-agent-learner.orb +2950 -0
  16. package/behaviors/exports/molecules/std-agent-planner.orb +2655 -0
  17. package/behaviors/exports/molecules/std-agent-rag.orb +1871 -0
  18. package/behaviors/exports/molecules/std-agent-tool-loop.orb +4857 -0
  19. package/behaviors/exports/organisms/std-agent-assistant.orb +6440 -0
  20. package/behaviors/exports/organisms/std-agent-builder.orb +14863 -0
  21. package/behaviors/exports/organisms/std-agent-pipeline.orb +11950 -0
  22. package/behaviors/exports/organisms/std-agent-reviewer.orb +5405 -0
  23. package/behaviors/exports/organisms/std-agent-tutor.orb +5107 -0
  24. package/behaviors/exports/validation-report.json +2 -1099
  25. package/dist/behaviors/exports/atoms/std-agent-activity-log.orb +559 -0
  26. package/dist/behaviors/exports/atoms/std-agent-chat-thread.orb +774 -0
  27. package/dist/behaviors/exports/atoms/std-agent-classifier.orb +871 -0
  28. package/dist/behaviors/exports/atoms/std-agent-completion.orb +933 -0
  29. package/dist/behaviors/exports/atoms/std-agent-context-window.orb +2294 -0
  30. package/dist/behaviors/exports/atoms/std-agent-conversation.orb +1020 -0
  31. package/dist/behaviors/exports/atoms/std-agent-memory.orb +879 -0
  32. package/dist/behaviors/exports/atoms/std-agent-provider.orb +898 -0
  33. package/dist/behaviors/exports/atoms/std-agent-search.orb +448 -0
  34. package/dist/behaviors/exports/atoms/std-agent-session.orb +835 -0
  35. package/dist/behaviors/exports/atoms/std-agent-step-progress.orb +850 -0
  36. package/dist/behaviors/exports/atoms/std-agent-token-gauge.orb +1616 -0
  37. package/dist/behaviors/exports/atoms/std-agent-tool-call.orb +1237 -0
  38. package/dist/behaviors/exports/molecules/std-agent-fix-loop.orb +3177 -0
  39. package/dist/behaviors/exports/molecules/std-agent-learner.orb +2950 -0
  40. package/dist/behaviors/exports/molecules/std-agent-planner.orb +2655 -0
  41. package/dist/behaviors/exports/molecules/std-agent-rag.orb +1871 -0
  42. package/dist/behaviors/exports/molecules/std-agent-tool-loop.orb +4857 -0
  43. package/dist/behaviors/exports/organisms/std-agent-assistant.orb +6440 -0
  44. package/dist/behaviors/exports/organisms/std-agent-builder.orb +14863 -0
  45. package/dist/behaviors/exports/organisms/std-agent-pipeline.orb +11950 -0
  46. package/dist/behaviors/exports/organisms/std-agent-reviewer.orb +5405 -0
  47. package/dist/behaviors/exports/organisms/std-agent-tutor.orb +5107 -0
  48. package/dist/behaviors/exports/validation-report.json +2 -1099
  49. package/dist/behaviors/exports-reader.js +7156 -302
  50. package/dist/behaviors/exports-reader.js.map +1 -1
  51. package/dist/behaviors/functions/index.d.ts +781 -1
  52. package/dist/behaviors/functions/index.js +7080 -303
  53. package/dist/behaviors/functions/index.js.map +1 -1
  54. package/dist/behaviors/index.d.ts +1 -1
  55. package/dist/behaviors/index.js +7159 -305
  56. package/dist/behaviors/index.js.map +1 -1
  57. package/dist/behaviors/query.js +7158 -304
  58. package/dist/behaviors/query.js.map +1 -1
  59. package/dist/exports/atoms/std-agent-activity-log.orb +559 -0
  60. package/dist/exports/atoms/std-agent-chat-thread.orb +774 -0
  61. package/dist/exports/atoms/std-agent-classifier.orb +871 -0
  62. package/dist/exports/atoms/std-agent-completion.orb +933 -0
  63. package/dist/exports/atoms/std-agent-context-window.orb +2294 -0
  64. package/dist/exports/atoms/std-agent-conversation.orb +1020 -0
  65. package/dist/exports/atoms/std-agent-memory.orb +879 -0
  66. package/dist/exports/atoms/std-agent-provider.orb +898 -0
  67. package/dist/exports/atoms/std-agent-search.orb +448 -0
  68. package/dist/exports/atoms/std-agent-session.orb +835 -0
  69. package/dist/exports/atoms/std-agent-step-progress.orb +850 -0
  70. package/dist/exports/atoms/std-agent-token-gauge.orb +1616 -0
  71. package/dist/exports/atoms/std-agent-tool-call.orb +1237 -0
  72. package/dist/exports/molecules/std-agent-fix-loop.orb +3177 -0
  73. package/dist/exports/molecules/std-agent-learner.orb +2950 -0
  74. package/dist/exports/molecules/std-agent-planner.orb +2655 -0
  75. package/dist/exports/molecules/std-agent-rag.orb +1871 -0
  76. package/dist/exports/molecules/std-agent-tool-loop.orb +4857 -0
  77. package/dist/exports/organisms/std-agent-assistant.orb +6440 -0
  78. package/dist/exports/organisms/std-agent-builder.orb +14863 -0
  79. package/dist/exports/organisms/std-agent-pipeline.orb +11950 -0
  80. package/dist/exports/organisms/std-agent-reviewer.orb +5405 -0
  81. package/dist/exports/organisms/std-agent-tutor.orb +5107 -0
  82. package/dist/exports/validation-report.json +2 -1099
  83. package/dist/index.d.ts +1 -1
  84. package/dist/index.js +7159 -305
  85. package/dist/index.js.map +1 -1
  86. package/package.json +1 -1
@@ -0,0 +1,898 @@
1
+ {
2
+ "name": "AgentProviderOrbital",
3
+ "orbitals": [
4
+ {
5
+ "name": "AgentProviderOrbital",
6
+ "entity": {
7
+ "name": "AgentProvider",
8
+ "persistence": "persistent",
9
+ "collection": "agentproviders",
10
+ "fields": [
11
+ {
12
+ "name": "id",
13
+ "type": "string"
14
+ },
15
+ {
16
+ "name": "name",
17
+ "type": "string"
18
+ },
19
+ {
20
+ "name": "description",
21
+ "type": "string"
22
+ },
23
+ {
24
+ "name": "status",
25
+ "type": "string",
26
+ "default": "active",
27
+ "values": [
28
+ "active",
29
+ "inactive",
30
+ "pending"
31
+ ]
32
+ },
33
+ {
34
+ "name": "createdAt",
35
+ "type": "string"
36
+ },
37
+ {
38
+ "name": "currentProvider",
39
+ "type": "string",
40
+ "default": "anthropic"
41
+ },
42
+ {
43
+ "name": "currentModel",
44
+ "type": "string",
45
+ "default": "claude-sonnet-4-20250514"
46
+ },
47
+ {
48
+ "name": "fallbackProvider",
49
+ "type": "string",
50
+ "default": "openai"
51
+ },
52
+ {
53
+ "name": "requestCount",
54
+ "type": "number",
55
+ "default": 0
56
+ },
57
+ {
58
+ "name": "message",
59
+ "type": "string",
60
+ "default": ""
61
+ },
62
+ {
63
+ "name": "notificationType",
64
+ "type": "string",
65
+ "default": "info"
66
+ }
67
+ ]
68
+ },
69
+ "traits": [
70
+ {
71
+ "name": "AgentProviderModal",
72
+ "linkedEntity": "AgentProvider",
73
+ "category": "interaction",
74
+ "emits": [
75
+ {
76
+ "event": "SWITCHED"
77
+ }
78
+ ],
79
+ "stateMachine": {
80
+ "states": [
81
+ {
82
+ "name": "closed",
83
+ "isInitial": true
84
+ },
85
+ {
86
+ "name": "open"
87
+ }
88
+ ],
89
+ "events": [
90
+ {
91
+ "key": "INIT",
92
+ "name": "Initialize"
93
+ },
94
+ {
95
+ "key": "SWITCH",
96
+ "name": "Open"
97
+ },
98
+ {
99
+ "key": "CLOSE",
100
+ "name": "Close"
101
+ },
102
+ {
103
+ "key": "SAVE",
104
+ "name": "Save",
105
+ "payload": [
106
+ {
107
+ "name": "data",
108
+ "type": "object",
109
+ "required": true
110
+ }
111
+ ]
112
+ }
113
+ ],
114
+ "transitions": [
115
+ {
116
+ "from": "closed",
117
+ "to": "closed",
118
+ "event": "INIT",
119
+ "effects": [
120
+ [
121
+ "ref",
122
+ "AgentProvider"
123
+ ],
124
+ [
125
+ "render-ui",
126
+ "main",
127
+ {
128
+ "type": "stack",
129
+ "direction": "vertical",
130
+ "gap": "lg",
131
+ "children": [
132
+ {
133
+ "type": "stack",
134
+ "direction": "horizontal",
135
+ "gap": "md",
136
+ "justify": "space-between",
137
+ "children": [
138
+ {
139
+ "type": "stack",
140
+ "direction": "horizontal",
141
+ "gap": "md",
142
+ "children": [
143
+ {
144
+ "type": "icon",
145
+ "name": "repeat",
146
+ "size": "lg"
147
+ },
148
+ {
149
+ "type": "typography",
150
+ "content": "Switch Provider",
151
+ "variant": "h2"
152
+ }
153
+ ]
154
+ },
155
+ {
156
+ "type": "button",
157
+ "label": "Open",
158
+ "event": "SWITCH",
159
+ "variant": "primary",
160
+ "icon": "repeat"
161
+ }
162
+ ]
163
+ },
164
+ {
165
+ "type": "divider"
166
+ },
167
+ {
168
+ "type": "empty-state",
169
+ "icon": "repeat",
170
+ "title": "Nothing open",
171
+ "description": "Click Open to view details in a modal overlay."
172
+ }
173
+ ]
174
+ }
175
+ ]
176
+ ]
177
+ },
178
+ {
179
+ "from": "closed",
180
+ "to": "open",
181
+ "event": "SWITCH",
182
+ "effects": [
183
+ [
184
+ "fetch",
185
+ "AgentProvider"
186
+ ],
187
+ [
188
+ "render-ui",
189
+ "modal",
190
+ {
191
+ "type": "stack",
192
+ "direction": "vertical",
193
+ "gap": "md",
194
+ "children": [
195
+ {
196
+ "type": "stack",
197
+ "direction": "horizontal",
198
+ "gap": "sm",
199
+ "children": [
200
+ {
201
+ "type": "icon",
202
+ "name": "repeat",
203
+ "size": "md"
204
+ },
205
+ {
206
+ "type": "typography",
207
+ "content": "Switch Provider",
208
+ "variant": "h3"
209
+ }
210
+ ]
211
+ },
212
+ {
213
+ "type": "divider"
214
+ },
215
+ {
216
+ "type": "stack",
217
+ "direction": "horizontal",
218
+ "gap": "md",
219
+ "children": [
220
+ {
221
+ "type": "typography",
222
+ "variant": "caption",
223
+ "content": "Current:"
224
+ },
225
+ {
226
+ "type": "badge",
227
+ "label": "@entity.currentProvider"
228
+ },
229
+ {
230
+ "type": "badge",
231
+ "label": "@entity.currentModel"
232
+ }
233
+ ]
234
+ },
235
+ {
236
+ "type": "form-section",
237
+ "entity": "AgentProvider",
238
+ "mode": "edit",
239
+ "submitEvent": "SAVE",
240
+ "cancelEvent": "CLOSE",
241
+ "fields": [
242
+ "currentProvider",
243
+ "currentModel"
244
+ ]
245
+ }
246
+ ]
247
+ }
248
+ ]
249
+ ]
250
+ },
251
+ {
252
+ "from": "open",
253
+ "to": "closed",
254
+ "event": "CLOSE",
255
+ "effects": [
256
+ [
257
+ "render-ui",
258
+ "modal",
259
+ null
260
+ ],
261
+ [
262
+ "notify",
263
+ "Cancelled",
264
+ "info"
265
+ ],
266
+ [
267
+ "ref",
268
+ "AgentProvider"
269
+ ],
270
+ [
271
+ "render-ui",
272
+ "main",
273
+ {
274
+ "type": "stack",
275
+ "direction": "vertical",
276
+ "gap": "lg",
277
+ "children": [
278
+ {
279
+ "type": "stack",
280
+ "direction": "horizontal",
281
+ "gap": "md",
282
+ "justify": "space-between",
283
+ "children": [
284
+ {
285
+ "type": "stack",
286
+ "direction": "horizontal",
287
+ "gap": "md",
288
+ "children": [
289
+ {
290
+ "type": "icon",
291
+ "name": "repeat",
292
+ "size": "lg"
293
+ },
294
+ {
295
+ "type": "typography",
296
+ "content": "Switch Provider",
297
+ "variant": "h2"
298
+ }
299
+ ]
300
+ },
301
+ {
302
+ "type": "button",
303
+ "label": "Open",
304
+ "event": "SWITCH",
305
+ "variant": "primary",
306
+ "icon": "repeat"
307
+ }
308
+ ]
309
+ },
310
+ {
311
+ "type": "divider"
312
+ },
313
+ {
314
+ "type": "empty-state",
315
+ "icon": "repeat",
316
+ "title": "Nothing open",
317
+ "description": "Click Open to view details in a modal overlay."
318
+ }
319
+ ]
320
+ }
321
+ ]
322
+ ]
323
+ },
324
+ {
325
+ "from": "open",
326
+ "to": "closed",
327
+ "event": "SAVE",
328
+ "effects": [
329
+ [
330
+ "persist",
331
+ "update",
332
+ "AgentProvider",
333
+ "@payload.data"
334
+ ],
335
+ [
336
+ "render-ui",
337
+ "modal",
338
+ null
339
+ ],
340
+ [
341
+ "emit",
342
+ "SWITCHED"
343
+ ],
344
+ [
345
+ "ref",
346
+ "AgentProvider"
347
+ ],
348
+ [
349
+ "render-ui",
350
+ "main",
351
+ {
352
+ "type": "stack",
353
+ "direction": "vertical",
354
+ "gap": "lg",
355
+ "children": [
356
+ {
357
+ "type": "stack",
358
+ "direction": "horizontal",
359
+ "gap": "md",
360
+ "justify": "space-between",
361
+ "children": [
362
+ {
363
+ "type": "stack",
364
+ "direction": "horizontal",
365
+ "gap": "md",
366
+ "children": [
367
+ {
368
+ "type": "icon",
369
+ "name": "repeat",
370
+ "size": "lg"
371
+ },
372
+ {
373
+ "type": "typography",
374
+ "content": "Switch Provider",
375
+ "variant": "h2"
376
+ }
377
+ ]
378
+ },
379
+ {
380
+ "type": "button",
381
+ "label": "Open",
382
+ "event": "SWITCH",
383
+ "variant": "primary",
384
+ "icon": "repeat"
385
+ }
386
+ ]
387
+ },
388
+ {
389
+ "type": "divider"
390
+ },
391
+ {
392
+ "type": "empty-state",
393
+ "icon": "repeat",
394
+ "title": "Nothing open",
395
+ "description": "Click Open to view details in a modal overlay."
396
+ }
397
+ ]
398
+ }
399
+ ],
400
+ [
401
+ "notify",
402
+ "AgentProvider updated successfully"
403
+ ]
404
+ ]
405
+ }
406
+ ]
407
+ }
408
+ },
409
+ {
410
+ "name": "AgentProviderNotification",
411
+ "linkedEntity": "AgentProvider",
412
+ "category": "interaction",
413
+ "stateMachine": {
414
+ "states": [
415
+ {
416
+ "name": "hidden",
417
+ "isInitial": true
418
+ },
419
+ {
420
+ "name": "visible"
421
+ }
422
+ ],
423
+ "events": [
424
+ {
425
+ "key": "INIT",
426
+ "name": "Initialize"
427
+ },
428
+ {
429
+ "key": "SHOW",
430
+ "name": "Show Notification",
431
+ "payload": [
432
+ {
433
+ "name": "message",
434
+ "type": "string",
435
+ "required": true
436
+ },
437
+ {
438
+ "name": "notificationType",
439
+ "type": "string"
440
+ }
441
+ ]
442
+ },
443
+ {
444
+ "key": "HIDE",
445
+ "name": "Hide Notification"
446
+ }
447
+ ],
448
+ "transitions": [
449
+ {
450
+ "from": "hidden",
451
+ "to": "hidden",
452
+ "event": "INIT",
453
+ "effects": [
454
+ [
455
+ "fetch",
456
+ "AgentProvider"
457
+ ]
458
+ ]
459
+ },
460
+ {
461
+ "from": "hidden",
462
+ "to": "visible",
463
+ "event": "SHOW",
464
+ "effects": [
465
+ [
466
+ "set",
467
+ "@entity.message",
468
+ "@payload.message"
469
+ ],
470
+ [
471
+ "set",
472
+ "@entity.notificationType",
473
+ "@payload.notificationType"
474
+ ],
475
+ [
476
+ "render-ui",
477
+ "main",
478
+ {
479
+ "type": "stack",
480
+ "direction": "vertical",
481
+ "gap": "lg",
482
+ "children": [
483
+ {
484
+ "type": "stack",
485
+ "direction": "horizontal",
486
+ "gap": "md",
487
+ "justify": "space-between",
488
+ "align": "center",
489
+ "children": [
490
+ {
491
+ "type": "stack",
492
+ "direction": "horizontal",
493
+ "gap": "md",
494
+ "align": "center",
495
+ "children": [
496
+ {
497
+ "type": "icon",
498
+ "name": "server",
499
+ "size": "lg"
500
+ },
501
+ {
502
+ "type": "typography",
503
+ "content": "Provider Status",
504
+ "variant": "h2"
505
+ }
506
+ ]
507
+ },
508
+ {
509
+ "type": "button",
510
+ "label": "Dismiss",
511
+ "event": "HIDE",
512
+ "variant": "ghost",
513
+ "icon": "x"
514
+ }
515
+ ]
516
+ },
517
+ {
518
+ "type": "divider"
519
+ },
520
+ {
521
+ "type": "alert",
522
+ "variant": [
523
+ "object/get",
524
+ [
525
+ "array/first",
526
+ "@entity"
527
+ ],
528
+ "notificationType"
529
+ ],
530
+ "message": [
531
+ "object/get",
532
+ [
533
+ "array/first",
534
+ "@entity"
535
+ ],
536
+ "message"
537
+ ]
538
+ },
539
+ {
540
+ "type": "toast-slot",
541
+ "position": "top-right"
542
+ },
543
+ {
544
+ "type": "violation-alert",
545
+ "severity": "warning",
546
+ "message": [
547
+ "object/get",
548
+ [
549
+ "array/first",
550
+ "@entity"
551
+ ],
552
+ "message"
553
+ ],
554
+ "category": "compliance"
555
+ }
556
+ ]
557
+ }
558
+ ]
559
+ ]
560
+ },
561
+ {
562
+ "from": "visible",
563
+ "to": "visible",
564
+ "event": "SHOW",
565
+ "effects": [
566
+ [
567
+ "set",
568
+ "@entity.message",
569
+ "@payload.message"
570
+ ],
571
+ [
572
+ "set",
573
+ "@entity.notificationType",
574
+ "@payload.notificationType"
575
+ ],
576
+ [
577
+ "render-ui",
578
+ "main",
579
+ {
580
+ "type": "stack",
581
+ "direction": "vertical",
582
+ "gap": "lg",
583
+ "children": [
584
+ {
585
+ "type": "stack",
586
+ "direction": "horizontal",
587
+ "gap": "md",
588
+ "justify": "space-between",
589
+ "align": "center",
590
+ "children": [
591
+ {
592
+ "type": "stack",
593
+ "direction": "horizontal",
594
+ "gap": "md",
595
+ "align": "center",
596
+ "children": [
597
+ {
598
+ "type": "icon",
599
+ "name": "server",
600
+ "size": "lg"
601
+ },
602
+ {
603
+ "type": "typography",
604
+ "content": "Provider Status",
605
+ "variant": "h2"
606
+ }
607
+ ]
608
+ },
609
+ {
610
+ "type": "button",
611
+ "label": "Dismiss",
612
+ "event": "HIDE",
613
+ "variant": "ghost",
614
+ "icon": "x"
615
+ }
616
+ ]
617
+ },
618
+ {
619
+ "type": "divider"
620
+ },
621
+ {
622
+ "type": "alert",
623
+ "variant": [
624
+ "object/get",
625
+ [
626
+ "array/first",
627
+ "@entity"
628
+ ],
629
+ "notificationType"
630
+ ],
631
+ "message": [
632
+ "object/get",
633
+ [
634
+ "array/first",
635
+ "@entity"
636
+ ],
637
+ "message"
638
+ ]
639
+ },
640
+ {
641
+ "type": "toast-slot",
642
+ "position": "top-right"
643
+ },
644
+ {
645
+ "type": "violation-alert",
646
+ "severity": "warning",
647
+ "message": [
648
+ "object/get",
649
+ [
650
+ "array/first",
651
+ "@entity"
652
+ ],
653
+ "message"
654
+ ],
655
+ "category": "compliance"
656
+ }
657
+ ]
658
+ }
659
+ ]
660
+ ]
661
+ },
662
+ {
663
+ "from": "visible",
664
+ "to": "hidden",
665
+ "event": "HIDE",
666
+ "effects": [
667
+ [
668
+ "set",
669
+ "@entity.message",
670
+ ""
671
+ ]
672
+ ]
673
+ }
674
+ ]
675
+ }
676
+ },
677
+ {
678
+ "name": "AgentProviderAgent",
679
+ "linkedEntity": "AgentProvider",
680
+ "category": "interaction",
681
+ "emits": [
682
+ {
683
+ "event": "SHOW",
684
+ "scope": "internal",
685
+ "payload": [
686
+ {
687
+ "name": "provider",
688
+ "type": "string"
689
+ },
690
+ {
691
+ "name": "model",
692
+ "type": "string"
693
+ }
694
+ ]
695
+ }
696
+ ],
697
+ "listens": [
698
+ {
699
+ "event": "SWITCHED",
700
+ "triggers": "SWITCHED"
701
+ }
702
+ ],
703
+ "stateMachine": {
704
+ "states": [
705
+ {
706
+ "name": "idle",
707
+ "isInitial": true
708
+ },
709
+ {
710
+ "name": "active"
711
+ },
712
+ {
713
+ "name": "switching"
714
+ }
715
+ ],
716
+ "events": [
717
+ {
718
+ "key": "INIT",
719
+ "name": "Initialize"
720
+ },
721
+ {
722
+ "key": "DO_SWITCH",
723
+ "name": "Do Switch",
724
+ "payload": [
725
+ {
726
+ "name": "data",
727
+ "type": "object",
728
+ "required": true
729
+ }
730
+ ]
731
+ },
732
+ {
733
+ "key": "SWITCH_AUTO",
734
+ "name": "Auto Switch to Fallback"
735
+ },
736
+ {
737
+ "key": "SWITCHED",
738
+ "name": "Switched",
739
+ "payload": [
740
+ {
741
+ "name": "data",
742
+ "type": "object",
743
+ "required": true
744
+ }
745
+ ]
746
+ }
747
+ ],
748
+ "transitions": [
749
+ {
750
+ "from": "idle",
751
+ "to": "active",
752
+ "event": "INIT",
753
+ "effects": [
754
+ [
755
+ "fetch",
756
+ "AgentProvider"
757
+ ],
758
+ [
759
+ "agent/provider"
760
+ ],
761
+ [
762
+ "agent/model"
763
+ ],
764
+ [
765
+ "render-ui",
766
+ "main",
767
+ {
768
+ "type": "empty-state",
769
+ "icon": "repeat",
770
+ "title": "Provider",
771
+ "description": "Provider is ready"
772
+ }
773
+ ]
774
+ ]
775
+ },
776
+ {
777
+ "from": "active",
778
+ "to": "switching",
779
+ "event": "DO_SWITCH",
780
+ "effects": [
781
+ [
782
+ "agent/switch-provider",
783
+ "@payload.data.currentProvider",
784
+ "@payload.data.currentModel"
785
+ ],
786
+ [
787
+ "set",
788
+ "@entity.currentProvider",
789
+ "@payload.data.currentProvider"
790
+ ],
791
+ [
792
+ "set",
793
+ "@entity.currentModel",
794
+ "@payload.data.currentModel"
795
+ ]
796
+ ]
797
+ },
798
+ {
799
+ "from": "active",
800
+ "to": "switching",
801
+ "event": "SWITCHED",
802
+ "effects": [
803
+ [
804
+ "agent/switch-provider",
805
+ "@entity.currentProvider",
806
+ "@entity.currentModel"
807
+ ]
808
+ ]
809
+ },
810
+ {
811
+ "from": "switching",
812
+ "to": "active",
813
+ "event": "INIT",
814
+ "effects": [
815
+ [
816
+ "agent/provider"
817
+ ],
818
+ [
819
+ "agent/model"
820
+ ],
821
+ [
822
+ "set",
823
+ "@entity.requestCount",
824
+ [
825
+ "+",
826
+ "@entity.requestCount",
827
+ 1
828
+ ]
829
+ ],
830
+ [
831
+ "emit",
832
+ "SHOW"
833
+ ]
834
+ ]
835
+ },
836
+ {
837
+ "from": "active",
838
+ "to": "switching",
839
+ "event": "SWITCH_AUTO",
840
+ "effects": [
841
+ [
842
+ "agent/switch-provider",
843
+ "@entity.fallbackProvider"
844
+ ],
845
+ [
846
+ "set",
847
+ "@entity.currentProvider",
848
+ "@entity.fallbackProvider"
849
+ ]
850
+ ]
851
+ },
852
+ {
853
+ "from": "idle",
854
+ "to": "switching",
855
+ "event": "DO_SWITCH",
856
+ "effects": [
857
+ [
858
+ "agent/switch-provider",
859
+ "@payload.data.currentProvider",
860
+ "@payload.data.currentModel"
861
+ ],
862
+ [
863
+ "set",
864
+ "@entity.currentProvider",
865
+ "@payload.data.currentProvider"
866
+ ],
867
+ [
868
+ "set",
869
+ "@entity.currentModel",
870
+ "@payload.data.currentModel"
871
+ ]
872
+ ]
873
+ }
874
+ ]
875
+ }
876
+ }
877
+ ],
878
+ "pages": [
879
+ {
880
+ "name": "AgentProviderPage",
881
+ "path": "/agentproviders",
882
+ "traits": [
883
+ {
884
+ "ref": "AgentProviderModal"
885
+ },
886
+ {
887
+ "ref": "AgentProviderNotification"
888
+ },
889
+ {
890
+ "ref": "AgentProviderAgent"
891
+ }
892
+ ]
893
+ }
894
+ ]
895
+ }
896
+ ],
897
+ "description": "Provider routing atom for agent model/provider switching. Composes UI atoms (stdModal for switch form, stdNotification for confirmation) with an agent trait that handles agent/switch-provider, agent/provider, and agent/model operators."
898
+ }