@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,559 @@
1
+ {
2
+ "name": "ServiceCustomQueryOrbital",
3
+ "services": [
4
+ {
5
+ "name": "custom-query-api",
6
+ "type": "rest",
7
+ "baseUrl": "https://api.example.com/v3",
8
+ "auth": {
9
+ "type": "api-key",
10
+ "keyName": "api_key",
11
+ "location": "query",
12
+ "secretEnv": "CUSTOM_QUERY_KEY"
13
+ }
14
+ }
15
+ ],
16
+ "orbitals": [
17
+ {
18
+ "name": "ServiceCustomQueryOrbital",
19
+ "entity": {
20
+ "name": "ServiceCustomQuery",
21
+ "persistence": "runtime",
22
+ "fields": [
23
+ {
24
+ "name": "id",
25
+ "type": "string"
26
+ },
27
+ {
28
+ "name": "name",
29
+ "type": "string"
30
+ },
31
+ {
32
+ "name": "description",
33
+ "type": "string"
34
+ },
35
+ {
36
+ "name": "status",
37
+ "type": "string",
38
+ "default": "active",
39
+ "values": [
40
+ "active",
41
+ "inactive",
42
+ "pending"
43
+ ]
44
+ },
45
+ {
46
+ "name": "createdAt",
47
+ "type": "string"
48
+ },
49
+ {
50
+ "name": "endpoint",
51
+ "type": "string"
52
+ },
53
+ {
54
+ "name": "method",
55
+ "type": "string",
56
+ "default": "GET"
57
+ },
58
+ {
59
+ "name": "requestBody",
60
+ "type": "string"
61
+ },
62
+ {
63
+ "name": "responseData",
64
+ "type": "string"
65
+ },
66
+ {
67
+ "name": "statusCode",
68
+ "type": "number",
69
+ "default": 0
70
+ },
71
+ {
72
+ "name": "callStatus",
73
+ "type": "string",
74
+ "default": "idle"
75
+ },
76
+ {
77
+ "name": "error",
78
+ "type": "string"
79
+ }
80
+ ]
81
+ },
82
+ "traits": [
83
+ {
84
+ "name": "ServiceCustomQueryCustomQuery",
85
+ "linkedEntity": "ServiceCustomQuery",
86
+ "category": "interaction",
87
+ "stateMachine": {
88
+ "states": [
89
+ {
90
+ "name": "idle",
91
+ "isInitial": true
92
+ },
93
+ {
94
+ "name": "calling"
95
+ },
96
+ {
97
+ "name": "complete"
98
+ },
99
+ {
100
+ "name": "error"
101
+ }
102
+ ],
103
+ "events": [
104
+ {
105
+ "key": "INIT",
106
+ "name": "Initialize"
107
+ },
108
+ {
109
+ "key": "CALL_API",
110
+ "name": "Call API"
111
+ },
112
+ {
113
+ "key": "API_RESPONSE",
114
+ "name": "API Response",
115
+ "payload": [
116
+ {
117
+ "name": "data",
118
+ "type": "string",
119
+ "required": true
120
+ },
121
+ {
122
+ "name": "statusCode",
123
+ "type": "number",
124
+ "required": true
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ "key": "FAILED",
130
+ "name": "Failed",
131
+ "payload": [
132
+ {
133
+ "name": "error",
134
+ "type": "string",
135
+ "required": true
136
+ }
137
+ ]
138
+ },
139
+ {
140
+ "key": "RETRY",
141
+ "name": "Retry"
142
+ },
143
+ {
144
+ "key": "RESET",
145
+ "name": "Reset"
146
+ }
147
+ ],
148
+ "transitions": [
149
+ {
150
+ "from": "idle",
151
+ "to": "idle",
152
+ "event": "INIT",
153
+ "effects": [
154
+ [
155
+ "fetch",
156
+ "ServiceCustomQuery"
157
+ ],
158
+ [
159
+ "render-ui",
160
+ "main",
161
+ {
162
+ "type": "stack",
163
+ "direction": "vertical",
164
+ "gap": "lg",
165
+ "align": "center",
166
+ "children": [
167
+ {
168
+ "type": "icon",
169
+ "name": "search",
170
+ "size": "lg"
171
+ },
172
+ {
173
+ "type": "typography",
174
+ "content": "Query Auth API Tester",
175
+ "variant": "h2"
176
+ },
177
+ {
178
+ "type": "input",
179
+ "field": "endpoint",
180
+ "placeholder": "/users",
181
+ "bind": "@entity.endpoint"
182
+ },
183
+ {
184
+ "type": "select",
185
+ "field": "method",
186
+ "bind": "@entity.method",
187
+ "options": [
188
+ {
189
+ "label": "GET",
190
+ "value": "GET"
191
+ },
192
+ {
193
+ "label": "POST",
194
+ "value": "POST"
195
+ },
196
+ {
197
+ "label": "PUT",
198
+ "value": "PUT"
199
+ },
200
+ {
201
+ "label": "DELETE",
202
+ "value": "DELETE"
203
+ }
204
+ ]
205
+ },
206
+ {
207
+ "type": "textarea",
208
+ "field": "requestBody",
209
+ "placeholder": "JSON request body",
210
+ "bind": "@entity.requestBody"
211
+ },
212
+ {
213
+ "type": "button",
214
+ "label": "Send Request",
215
+ "event": "CALL_API",
216
+ "variant": "primary",
217
+ "icon": "send"
218
+ }
219
+ ]
220
+ }
221
+ ]
222
+ ]
223
+ },
224
+ {
225
+ "from": "idle",
226
+ "to": "calling",
227
+ "event": "CALL_API",
228
+ "effects": [
229
+ [
230
+ "render-ui",
231
+ "main",
232
+ {
233
+ "type": "loading-state",
234
+ "title": "Calling API...",
235
+ "message": "Sending request to servicecustomquery endpoint..."
236
+ }
237
+ ],
238
+ [
239
+ "call-service",
240
+ "custom-query-api",
241
+ "execute",
242
+ {
243
+ "endpoint": "@entity.endpoint",
244
+ "method": "@entity.method",
245
+ "body": "@entity.requestBody"
246
+ }
247
+ ]
248
+ ]
249
+ },
250
+ {
251
+ "from": "calling",
252
+ "to": "complete",
253
+ "event": "API_RESPONSE",
254
+ "effects": [
255
+ [
256
+ "set",
257
+ "@entity.responseData",
258
+ "@payload.data"
259
+ ],
260
+ [
261
+ "set",
262
+ "@entity.statusCode",
263
+ "@payload.statusCode"
264
+ ],
265
+ [
266
+ "render-ui",
267
+ "main",
268
+ {
269
+ "type": "stack",
270
+ "direction": "vertical",
271
+ "gap": "lg",
272
+ "align": "center",
273
+ "children": [
274
+ {
275
+ "type": "icon",
276
+ "name": "check-circle",
277
+ "size": "lg"
278
+ },
279
+ {
280
+ "type": "typography",
281
+ "content": "Response",
282
+ "variant": "h2"
283
+ },
284
+ {
285
+ "type": "badge",
286
+ "content": "@entity.statusCode",
287
+ "variant": "info"
288
+ },
289
+ {
290
+ "type": "code",
291
+ "content": "@entity.responseData",
292
+ "language": "json"
293
+ },
294
+ {
295
+ "type": "button",
296
+ "label": "New Request",
297
+ "event": "RESET",
298
+ "variant": "ghost",
299
+ "icon": "rotate-ccw"
300
+ }
301
+ ]
302
+ }
303
+ ]
304
+ ]
305
+ },
306
+ {
307
+ "from": "calling",
308
+ "to": "error",
309
+ "event": "FAILED",
310
+ "effects": [
311
+ [
312
+ "set",
313
+ "@entity.error",
314
+ "@payload.error"
315
+ ],
316
+ [
317
+ "render-ui",
318
+ "main",
319
+ {
320
+ "type": "error-state",
321
+ "title": "Request Failed",
322
+ "message": "@entity.error",
323
+ "onRetry": "RETRY"
324
+ }
325
+ ]
326
+ ]
327
+ },
328
+ {
329
+ "from": "error",
330
+ "to": "idle",
331
+ "event": "RETRY",
332
+ "effects": [
333
+ [
334
+ "render-ui",
335
+ "main",
336
+ {
337
+ "type": "stack",
338
+ "direction": "vertical",
339
+ "gap": "lg",
340
+ "align": "center",
341
+ "children": [
342
+ {
343
+ "type": "icon",
344
+ "name": "search",
345
+ "size": "lg"
346
+ },
347
+ {
348
+ "type": "typography",
349
+ "content": "Query Auth API Tester",
350
+ "variant": "h2"
351
+ },
352
+ {
353
+ "type": "input",
354
+ "field": "endpoint",
355
+ "placeholder": "/users",
356
+ "bind": "@entity.endpoint"
357
+ },
358
+ {
359
+ "type": "select",
360
+ "field": "method",
361
+ "bind": "@entity.method",
362
+ "options": [
363
+ {
364
+ "label": "GET",
365
+ "value": "GET"
366
+ },
367
+ {
368
+ "label": "POST",
369
+ "value": "POST"
370
+ },
371
+ {
372
+ "label": "PUT",
373
+ "value": "PUT"
374
+ },
375
+ {
376
+ "label": "DELETE",
377
+ "value": "DELETE"
378
+ }
379
+ ]
380
+ },
381
+ {
382
+ "type": "textarea",
383
+ "field": "requestBody",
384
+ "placeholder": "JSON request body",
385
+ "bind": "@entity.requestBody"
386
+ },
387
+ {
388
+ "type": "button",
389
+ "label": "Send Request",
390
+ "event": "CALL_API",
391
+ "variant": "primary",
392
+ "icon": "send"
393
+ }
394
+ ]
395
+ }
396
+ ]
397
+ ]
398
+ },
399
+ {
400
+ "from": "complete",
401
+ "to": "idle",
402
+ "event": "RESET",
403
+ "effects": [
404
+ [
405
+ "render-ui",
406
+ "main",
407
+ {
408
+ "type": "stack",
409
+ "direction": "vertical",
410
+ "gap": "lg",
411
+ "align": "center",
412
+ "children": [
413
+ {
414
+ "type": "icon",
415
+ "name": "search",
416
+ "size": "lg"
417
+ },
418
+ {
419
+ "type": "typography",
420
+ "content": "Query Auth API Tester",
421
+ "variant": "h2"
422
+ },
423
+ {
424
+ "type": "input",
425
+ "field": "endpoint",
426
+ "placeholder": "/users",
427
+ "bind": "@entity.endpoint"
428
+ },
429
+ {
430
+ "type": "select",
431
+ "field": "method",
432
+ "bind": "@entity.method",
433
+ "options": [
434
+ {
435
+ "label": "GET",
436
+ "value": "GET"
437
+ },
438
+ {
439
+ "label": "POST",
440
+ "value": "POST"
441
+ },
442
+ {
443
+ "label": "PUT",
444
+ "value": "PUT"
445
+ },
446
+ {
447
+ "label": "DELETE",
448
+ "value": "DELETE"
449
+ }
450
+ ]
451
+ },
452
+ {
453
+ "type": "textarea",
454
+ "field": "requestBody",
455
+ "placeholder": "JSON request body",
456
+ "bind": "@entity.requestBody"
457
+ },
458
+ {
459
+ "type": "button",
460
+ "label": "Send Request",
461
+ "event": "CALL_API",
462
+ "variant": "primary",
463
+ "icon": "send"
464
+ }
465
+ ]
466
+ }
467
+ ]
468
+ ]
469
+ },
470
+ {
471
+ "from": "error",
472
+ "to": "idle",
473
+ "event": "RESET",
474
+ "effects": [
475
+ [
476
+ "render-ui",
477
+ "main",
478
+ {
479
+ "type": "stack",
480
+ "direction": "vertical",
481
+ "gap": "lg",
482
+ "align": "center",
483
+ "children": [
484
+ {
485
+ "type": "icon",
486
+ "name": "search",
487
+ "size": "lg"
488
+ },
489
+ {
490
+ "type": "typography",
491
+ "content": "Query Auth API Tester",
492
+ "variant": "h2"
493
+ },
494
+ {
495
+ "type": "input",
496
+ "field": "endpoint",
497
+ "placeholder": "/users",
498
+ "bind": "@entity.endpoint"
499
+ },
500
+ {
501
+ "type": "select",
502
+ "field": "method",
503
+ "bind": "@entity.method",
504
+ "options": [
505
+ {
506
+ "label": "GET",
507
+ "value": "GET"
508
+ },
509
+ {
510
+ "label": "POST",
511
+ "value": "POST"
512
+ },
513
+ {
514
+ "label": "PUT",
515
+ "value": "PUT"
516
+ },
517
+ {
518
+ "label": "DELETE",
519
+ "value": "DELETE"
520
+ }
521
+ ]
522
+ },
523
+ {
524
+ "type": "textarea",
525
+ "field": "requestBody",
526
+ "placeholder": "JSON request body",
527
+ "bind": "@entity.requestBody"
528
+ },
529
+ {
530
+ "type": "button",
531
+ "label": "Send Request",
532
+ "event": "CALL_API",
533
+ "variant": "primary",
534
+ "icon": "send"
535
+ }
536
+ ]
537
+ }
538
+ ]
539
+ ]
540
+ }
541
+ ]
542
+ }
543
+ }
544
+ ],
545
+ "pages": [
546
+ {
547
+ "name": "ServiceCustomQueryPage",
548
+ "path": "/servicecustomquerys",
549
+ "traits": [
550
+ {
551
+ "ref": "ServiceCustomQueryCustomQuery"
552
+ }
553
+ ]
554
+ }
555
+ ]
556
+ }
557
+ ],
558
+ "description": "Custom REST API behavior with query-string API key authentication. Tests the schema-level service declaration pattern with query-based auth. Pure function: params in, OrbitalDefinition out."
559
+ }