arkitekt-next 0.7.8__py3-none-any.whl

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.

Potentially problematic release.


This version of arkitekt-next might be problematic. Click here for more details.

Files changed (119) hide show
  1. arkitekt_next/__init__.py +43 -0
  2. arkitekt_next/apps/__init__.py +3 -0
  3. arkitekt_next/apps/easy.py +99 -0
  4. arkitekt_next/apps/next.py +40 -0
  5. arkitekt_next/apps/qt.py +97 -0
  6. arkitekt_next/apps/service/__init__.py +3 -0
  7. arkitekt_next/apps/service/fakts.py +88 -0
  8. arkitekt_next/apps/service/fakts_next.py +79 -0
  9. arkitekt_next/apps/service/fakts_qt.py +82 -0
  10. arkitekt_next/apps/service/fluss_next.py +31 -0
  11. arkitekt_next/apps/service/grant_registry.py +27 -0
  12. arkitekt_next/apps/service/herre.py +24 -0
  13. arkitekt_next/apps/service/herre_qt.py +57 -0
  14. arkitekt_next/apps/service/kabinet.py +31 -0
  15. arkitekt_next/apps/service/mikro_next.py +81 -0
  16. arkitekt_next/apps/service/rekuest_next.py +53 -0
  17. arkitekt_next/apps/service/unlok_next.py +32 -0
  18. arkitekt_next/apps/types.py +53 -0
  19. arkitekt_next/builders.py +264 -0
  20. arkitekt_next/cli/__init__.py +0 -0
  21. arkitekt_next/cli/commands/call/__init__.py +0 -0
  22. arkitekt_next/cli/commands/call/local.py +132 -0
  23. arkitekt_next/cli/commands/call/main.py +22 -0
  24. arkitekt_next/cli/commands/call/remote.py +90 -0
  25. arkitekt_next/cli/commands/gen/__init__.py +0 -0
  26. arkitekt_next/cli/commands/gen/compile.py +45 -0
  27. arkitekt_next/cli/commands/gen/init.py +122 -0
  28. arkitekt_next/cli/commands/gen/main.py +29 -0
  29. arkitekt_next/cli/commands/gen/watch.py +32 -0
  30. arkitekt_next/cli/commands/init/__init__.py +0 -0
  31. arkitekt_next/cli/commands/init/main.py +194 -0
  32. arkitekt_next/cli/commands/inspect/__init__.py +0 -0
  33. arkitekt_next/cli/commands/inspect/definitions.py +53 -0
  34. arkitekt_next/cli/commands/inspect/main.py +22 -0
  35. arkitekt_next/cli/commands/inspect/variables.py +92 -0
  36. arkitekt_next/cli/commands/manifest/__init__.py +0 -0
  37. arkitekt_next/cli/commands/manifest/inspect.py +42 -0
  38. arkitekt_next/cli/commands/manifest/main.py +25 -0
  39. arkitekt_next/cli/commands/manifest/scopes.py +155 -0
  40. arkitekt_next/cli/commands/manifest/version.py +147 -0
  41. arkitekt_next/cli/commands/manifest/wizard.py +94 -0
  42. arkitekt_next/cli/commands/port/__init__.py +0 -0
  43. arkitekt_next/cli/commands/port/build.py +231 -0
  44. arkitekt_next/cli/commands/port/init.py +82 -0
  45. arkitekt_next/cli/commands/port/main.py +31 -0
  46. arkitekt_next/cli/commands/port/publish.py +102 -0
  47. arkitekt_next/cli/commands/port/stage.py +59 -0
  48. arkitekt_next/cli/commands/port/utils.py +47 -0
  49. arkitekt_next/cli/commands/port/validate.py +78 -0
  50. arkitekt_next/cli/commands/port/wizard.py +329 -0
  51. arkitekt_next/cli/commands/run/__init__.py +0 -0
  52. arkitekt_next/cli/commands/run/dev.py +349 -0
  53. arkitekt_next/cli/commands/run/main.py +22 -0
  54. arkitekt_next/cli/commands/run/prod.py +57 -0
  55. arkitekt_next/cli/commands/run/utils.py +10 -0
  56. arkitekt_next/cli/commands/server/__init__.py +0 -0
  57. arkitekt_next/cli/commands/server/down.py +56 -0
  58. arkitekt_next/cli/commands/server/init.py +74 -0
  59. arkitekt_next/cli/commands/server/inspect.py +59 -0
  60. arkitekt_next/cli/commands/server/main.py +33 -0
  61. arkitekt_next/cli/commands/server/open.py +66 -0
  62. arkitekt_next/cli/commands/server/remove.py +60 -0
  63. arkitekt_next/cli/commands/server/stop.py +56 -0
  64. arkitekt_next/cli/commands/server/up.py +70 -0
  65. arkitekt_next/cli/commands/server/utils.py +33 -0
  66. arkitekt_next/cli/configs/base.yaml +867 -0
  67. arkitekt_next/cli/constants.py +63 -0
  68. arkitekt_next/cli/dockerfiles/vanilla.dockerfile +8 -0
  69. arkitekt_next/cli/errors.py +4 -0
  70. arkitekt_next/cli/inspect.py +1 -0
  71. arkitekt_next/cli/io.py +255 -0
  72. arkitekt_next/cli/main.py +83 -0
  73. arkitekt_next/cli/options.py +166 -0
  74. arkitekt_next/cli/schemas/fluss.schema.graphql +2446 -0
  75. arkitekt_next/cli/schemas/gucker.schema.graphql +8908 -0
  76. arkitekt_next/cli/schemas/kabinet.schema.graphql +515 -0
  77. arkitekt_next/cli/schemas/kluster.schema.graphql +109 -0
  78. arkitekt_next/cli/schemas/konviktion.schema.graphql +70 -0
  79. arkitekt_next/cli/schemas/kuay.schema.graphql +356 -0
  80. arkitekt_next/cli/schemas/mikro.schema.graphql +8908 -0
  81. arkitekt_next/cli/schemas/mikro_next.schema.graphql +1639 -0
  82. arkitekt_next/cli/schemas/napari.schema.graphql +8908 -0
  83. arkitekt_next/cli/schemas/omero_ark.schema.graphql +100 -0
  84. arkitekt_next/cli/schemas/port.schema.graphql +356 -0
  85. arkitekt_next/cli/schemas/rekuest.schema.graphql +4630 -0
  86. arkitekt_next/cli/schemas/rekuest_next.schema.graphql +1159 -0
  87. arkitekt_next/cli/schemas/unlok.schema.graphql +1013 -0
  88. arkitekt_next/cli/templates/filter.py +26 -0
  89. arkitekt_next/cli/templates/simple.py +67 -0
  90. arkitekt_next/cli/texts.py +20 -0
  91. arkitekt_next/cli/types.py +365 -0
  92. arkitekt_next/cli/ui.py +111 -0
  93. arkitekt_next/cli/utils.py +15 -0
  94. arkitekt_next/cli/validators.py +17 -0
  95. arkitekt_next/cli/vars.py +39 -0
  96. arkitekt_next/cli/versions/v1.yaml +1 -0
  97. arkitekt_next/constants.py +6 -0
  98. arkitekt_next/model.py +110 -0
  99. arkitekt_next/qt/__init__.py +9 -0
  100. arkitekt_next/qt/assets/dark/gear.png +0 -0
  101. arkitekt_next/qt/assets/dark/green pulse.gif +0 -0
  102. arkitekt_next/qt/assets/dark/orange pulse.gif +0 -0
  103. arkitekt_next/qt/assets/dark/pink pulse.gif +0 -0
  104. arkitekt_next/qt/assets/dark/red pulse.gif +0 -0
  105. arkitekt_next/qt/assets/light/gear.png +0 -0
  106. arkitekt_next/qt/assets/light/green pulse.gif +0 -0
  107. arkitekt_next/qt/assets/light/orange pulse.gif +0 -0
  108. arkitekt_next/qt/assets/light/pink pulse.gif +0 -0
  109. arkitekt_next/qt/assets/light/red pulse.gif +0 -0
  110. arkitekt_next/qt/magic_bar.py +545 -0
  111. arkitekt_next/qt/utils.py +30 -0
  112. arkitekt_next/service_registry.py +51 -0
  113. arkitekt_next/tqdm.py +43 -0
  114. arkitekt_next/utils.py +38 -0
  115. arkitekt_next-0.7.8.dist-info/LICENSE +21 -0
  116. arkitekt_next-0.7.8.dist-info/METADATA +155 -0
  117. arkitekt_next-0.7.8.dist-info/RECORD +119 -0
  118. arkitekt_next-0.7.8.dist-info/WHEEL +4 -0
  119. arkitekt_next-0.7.8.dist-info/entry_points.txt +3 -0
@@ -0,0 +1,1159 @@
1
+ """
2
+ Make string uppercase
3
+ """
4
+ directive @upper on FIELD
5
+
6
+ directive @replace(old: String!, new: String!) on FIELD
7
+
8
+ """
9
+ Make get stuff uppercase
10
+ """
11
+ directive @relation(on: String!) on FIELD
12
+
13
+ type SliderAssignWidget implements AssignWidget {
14
+ kind: AssignWidgetKind!
15
+ min: Int
16
+ max: Int
17
+ }
18
+
19
+ interface AssignWidget {
20
+ kind: AssignWidgetKind!
21
+ }
22
+
23
+ enum AssignWidgetKind {
24
+ SEARCH
25
+ CHOICE
26
+ SLIDER
27
+ CUSTOM
28
+ STRING
29
+ }
30
+
31
+ type ChoiceAssignWidget implements AssignWidget {
32
+ kind: AssignWidgetKind!
33
+ choices: [Choice!]
34
+ }
35
+
36
+ type Choice {
37
+ label: String!
38
+ value: String!
39
+ description: String
40
+ }
41
+
42
+ type SearchAssignWidget implements AssignWidget {
43
+ kind: AssignWidgetKind!
44
+ query: String!
45
+ ward: String!
46
+ }
47
+
48
+ type CustomReturnWidget implements ReturnWidget {
49
+ kind: ReturnWidgetKind!
50
+ hook: String!
51
+ ward: String!
52
+ }
53
+
54
+ interface ReturnWidget {
55
+ kind: ReturnWidgetKind!
56
+ }
57
+
58
+ enum ReturnWidgetKind {
59
+ CHOICE
60
+ CUSTOM
61
+ }
62
+
63
+ type ChoiceReturnWidget implements ReturnWidget {
64
+ kind: ReturnWidgetKind!
65
+ choices: [Choice!]
66
+ }
67
+
68
+ type StringAssignWidget implements AssignWidget {
69
+ kind: AssignWidgetKind!
70
+ placeholder: String!
71
+ asParagraph: Boolean!
72
+ }
73
+
74
+ type CustomAssignWidget implements AssignWidget {
75
+ kind: AssignWidgetKind!
76
+ hook: String!
77
+ ward: String!
78
+ }
79
+
80
+ type CustomEffect implements Effect {
81
+ dependencies: [EffectDependency!]!
82
+ kind: String!
83
+ hook: String!
84
+ ward: String!
85
+ }
86
+
87
+ interface Effect {
88
+ dependencies: [EffectDependency!]!
89
+ kind: String!
90
+ }
91
+
92
+ type EffectDependency {
93
+ condition: LogicalCondition!
94
+ key: String!
95
+ value: String!
96
+ }
97
+
98
+ enum LogicalCondition {
99
+ IS
100
+ IS_NOT
101
+ IN
102
+ }
103
+
104
+ type MessageEffect implements Effect {
105
+ dependencies: [EffectDependency!]!
106
+ kind: String!
107
+ message: String!
108
+ }
109
+
110
+ type ArkitektNextGraphNode implements GraphNode & RetriableNode & AssignableNode {
111
+ kind: GraphNodeKind!
112
+ id: ID!
113
+ position: Position!
114
+ parentNode: String
115
+ ins: [[Port!]!]!
116
+ outs: [[Port!]!]!
117
+ constants: [Port!]!
118
+ voids: [Port!]!
119
+ constantsMap: ValueMap!
120
+ globalsMap: ValueMap!
121
+ description: String!
122
+ title: String!
123
+ retries: Int
124
+ retryDelay: Int
125
+ nextTimeout: Int
126
+ hash: String!
127
+ mapStrategy: MapStrategy!
128
+ allowLocalExecution: Boolean!
129
+ binds: Binds!
130
+ nodeKind: NodeKind!
131
+ }
132
+
133
+ interface GraphNode {
134
+ kind: GraphNodeKind!
135
+ id: ID!
136
+ position: Position!
137
+ parentNode: String
138
+ ins: [[Port!]!]!
139
+ outs: [[Port!]!]!
140
+ constants: [Port!]!
141
+ voids: [Port!]!
142
+ constantsMap: ValueMap!
143
+ globalsMap: ValueMap!
144
+ description: String!
145
+ title: String!
146
+ }
147
+
148
+ enum GraphNodeKind {
149
+ ARKITEKT
150
+ REACTIVE
151
+ ARGS
152
+ RETURNS
153
+ ARKITEKT_FILTER
154
+ }
155
+
156
+ type Position {
157
+ x: Float!
158
+ y: Float!
159
+ }
160
+
161
+ type Port {
162
+ key: String!
163
+ scope: PortScope!
164
+ label: String
165
+ kind: PortKind!
166
+ description: String
167
+ identifier: Identifier
168
+ nullable: Boolean!
169
+ effects: [Effect!]
170
+ default: AnyDefault
171
+ variants: [ChildPort!]
172
+ assignWidget: AssignWidget
173
+ returnWidget: ReturnWidget
174
+ child: ChildPort
175
+ groups: [String!]
176
+ }
177
+
178
+ enum PortScope {
179
+ GLOBAL
180
+ LOCAL
181
+ }
182
+
183
+ enum PortKind {
184
+ INT
185
+ STRING
186
+ STRUCTURE
187
+ LIST
188
+ BOOL
189
+ DICT
190
+ FLOAT
191
+ DATE
192
+ UNION
193
+ }
194
+
195
+ """
196
+ The `ArrayLike` scalar type represents a reference to a store previously created by the user n a datalayer
197
+ """
198
+ scalar Identifier
199
+
200
+ """
201
+ The `ArrayLike` scalar type represents a reference to a store previously created by the user n a datalayer
202
+ """
203
+ scalar AnyDefault
204
+
205
+ type ChildPort {
206
+ label: String
207
+ scope: PortScope!
208
+ kind: PortKind!
209
+ child: ChildPort
210
+ identifier: Identifier
211
+ nullable: Boolean!
212
+ default: AnyDefault
213
+ variants: [ChildPort!]
214
+ assignWidget: AssignWidget
215
+ returnWidget: ReturnWidget
216
+ }
217
+
218
+ """
219
+ The `ArrayLike` scalasr typsse represents a reference to a store previously created by the user n a datalayer
220
+ """
221
+ scalar ValueMap
222
+
223
+ interface AssignableNode {
224
+ nextTimeout: Int
225
+ }
226
+
227
+ enum MapStrategy {
228
+ MAP
229
+ MAP_TO
230
+ MAP_FROM
231
+ }
232
+
233
+ type Binds {
234
+ templates: [ID!]!
235
+ clients: [ID!]!
236
+ desiredInstances: Int!
237
+ }
238
+
239
+ enum NodeKind {
240
+ FUNCTION
241
+ GENERATOR
242
+ }
243
+
244
+ type ArkitektNextFilterGraphNode implements GraphNode & RetriableNode & AssignableNode {
245
+ kind: GraphNodeKind!
246
+ id: ID!
247
+ position: Position!
248
+ parentNode: String
249
+ ins: [[Port!]!]!
250
+ outs: [[Port!]!]!
251
+ constants: [Port!]!
252
+ voids: [Port!]!
253
+ constantsMap: ValueMap!
254
+ globalsMap: ValueMap!
255
+ description: String!
256
+ title: String!
257
+ retries: Int
258
+ retryDelay: Int
259
+ nextTimeout: Int
260
+ hash: String!
261
+ mapStrategy: MapStrategy!
262
+ allowLocalExecution: Boolean!
263
+ binds: Binds!
264
+ nodeKind: NodeKind!
265
+ }
266
+
267
+ interface RetriableNode {
268
+ retries: Int
269
+ retryDelay: Int
270
+ }
271
+
272
+ type ArgNode implements GraphNode {
273
+ kind: GraphNodeKind!
274
+ id: ID!
275
+ position: Position!
276
+ parentNode: String
277
+ ins: [[Port!]!]!
278
+ outs: [[Port!]!]!
279
+ constants: [Port!]!
280
+ voids: [Port!]!
281
+ constantsMap: ValueMap!
282
+ globalsMap: ValueMap!
283
+ description: String!
284
+ title: String!
285
+ argStuff: String
286
+ }
287
+
288
+ type ReturnNode implements GraphNode {
289
+ kind: GraphNodeKind!
290
+ id: ID!
291
+ position: Position!
292
+ parentNode: String
293
+ ins: [[Port!]!]!
294
+ outs: [[Port!]!]!
295
+ constants: [Port!]!
296
+ voids: [Port!]!
297
+ constantsMap: ValueMap!
298
+ globalsMap: ValueMap!
299
+ description: String!
300
+ title: String!
301
+ returnStuff: String
302
+ }
303
+
304
+ type VanillaEdge implements GraphEdge {
305
+ kind: GraphEdgeKind!
306
+ id: ID!
307
+ source: String!
308
+ target: String!
309
+ sourceHandle: String!
310
+ targetHandle: String!
311
+ stream: [StreamItem!]!
312
+ label: String
313
+ }
314
+
315
+ interface GraphEdge {
316
+ kind: GraphEdgeKind!
317
+ id: ID!
318
+ source: String!
319
+ target: String!
320
+ sourceHandle: String!
321
+ targetHandle: String!
322
+ stream: [StreamItem!]!
323
+ }
324
+
325
+ enum GraphEdgeKind {
326
+ VANILLA
327
+ LOGGING
328
+ }
329
+
330
+ type StreamItem {
331
+ kind: PortKind!
332
+ label: String!
333
+ }
334
+
335
+ type LoggingEdge implements GraphEdge {
336
+ kind: GraphEdgeKind!
337
+ id: ID!
338
+ source: String!
339
+ target: String!
340
+ sourceHandle: String!
341
+ targetHandle: String!
342
+ stream: [StreamItem!]!
343
+ level: LogLevel!
344
+ }
345
+
346
+ enum LogLevel {
347
+ DEBUG
348
+ INFO
349
+ ERROR
350
+ WARN
351
+ CRITICAL
352
+ }
353
+
354
+ type ReactiveNode implements GraphNode {
355
+ kind: GraphNodeKind!
356
+ id: ID!
357
+ position: Position!
358
+ parentNode: String
359
+ ins: [[Port!]!]!
360
+ outs: [[Port!]!]!
361
+ constants: [Port!]!
362
+ voids: [Port!]!
363
+ constantsMap: ValueMap!
364
+ globalsMap: ValueMap!
365
+ description: String!
366
+ title: String!
367
+ argStuff: String
368
+ implementation: ReactiveImplementation!
369
+ }
370
+
371
+ enum ReactiveImplementation {
372
+ ZIP
373
+ COMBINELATEST
374
+ WITHLATEST
375
+ BUFFER_COMPLETE
376
+ BUFFER_UNTIL
377
+ DELAY
378
+ DELAY_UNTIL
379
+ CHUNK
380
+ SPLIT
381
+ OMIT
382
+ ENSURE
383
+ ADD
384
+ SUBTRACT
385
+ MULTIPLY
386
+ DIVIDE
387
+ MODULO
388
+ POWER
389
+ PREFIX
390
+ SUFFIX
391
+ FILTER
392
+ GATE
393
+ TO_LIST
394
+ FOREACH
395
+ IF
396
+ AND
397
+ ALL
398
+ }
399
+
400
+ type Query {
401
+ nodes(
402
+ filters: NodeFilter
403
+ order: NodeOrder
404
+ pagination: OffsetPaginationInput
405
+ ): [Node!]!
406
+ templates(
407
+ filters: TemplateFilter
408
+ pagination: OffsetPaginationInput
409
+ ): [Template!]!
410
+ assignations(
411
+ filters: AssignationFilter
412
+ pagination: OffsetPaginationInput
413
+ ): [Assignation!]!
414
+ testResults(
415
+ filters: TestResultFilter
416
+ pagination: OffsetPaginationInput
417
+ ): [TestResult!]!
418
+ testCases(
419
+ filters: TestCaseFilter
420
+ pagination: OffsetPaginationInput
421
+ ): [TestCase!]!
422
+ reservations(
423
+ filters: ReservationFilter
424
+ pagination: OffsetPaginationInput
425
+ ): [Reservation!]!
426
+ myreservations(instanceId: InstanceId = null): [Reservation!]!
427
+ provisions(
428
+ filters: ProvisionFilter
429
+ pagination: OffsetPaginationInput
430
+ ): [Provision!]!
431
+ flows(filters: FlowFilter, pagination: OffsetPaginationInput): [Flow!]!
432
+ workspaces(
433
+ filters: WorkspaceFilter
434
+ pagination: OffsetPaginationInput
435
+ ): [Workspace!]!
436
+ reactiveTemplates(
437
+ filters: ReactiveTemplateFilter
438
+ pagination: OffsetPaginationInput
439
+ ): [ReactiveTemplate!]!
440
+ node(
441
+ id: ID = null
442
+ reservation: ID = null
443
+ assignation: ID = null
444
+ template: ID = null
445
+ hash: NodeHash = null
446
+ ): Node!
447
+ flow(id: ID!): Flow!
448
+ workspace(id: ID!): Workspace!
449
+ reactiveTemplate(id: ID!): ReactiveTemplate!
450
+ agent(id: ID!): Agent!
451
+ testCase(id: ID!): TestCase!
452
+ testResult(id: ID!): TestResult!
453
+ reservation(id: ID!): Reservation!
454
+ template(id: ID!): Template!
455
+ provision(id: ID!): Provision!
456
+ assignation(id: ID!): Assignation!
457
+ }
458
+
459
+ type Node {
460
+ id: ID!
461
+ hash: NodeHash!
462
+ name: String!
463
+ kind: NodeKind!
464
+ description: String
465
+ portGroups: [PortGroup!]!
466
+ collections: [Collection!]!
467
+ templates(
468
+ filters: TemplateFilter
469
+ pagination: OffsetPaginationInput
470
+ ): [Template!]!
471
+ scope: NodeScope!
472
+ isTestFor(
473
+ filters: NodeFilter
474
+ order: NodeOrder
475
+ pagination: OffsetPaginationInput
476
+ ): [Node!]!
477
+ tests(
478
+ filters: NodeFilter
479
+ order: NodeOrder
480
+ pagination: OffsetPaginationInput
481
+ ): [Node!]!
482
+ protocols: [Protocol!]!
483
+ definedAt: DateTime!
484
+ args: [Port!]!
485
+ returns: [Port!]!
486
+ }
487
+
488
+ """
489
+ The `ArrayLike` scalar type represents a reference to a store previously created by the user n a datalayer
490
+ """
491
+ scalar NodeHash
492
+
493
+ type PortGroup {
494
+ key: String!
495
+ hidden: Boolean!
496
+ }
497
+
498
+ type Collection {
499
+ id: ID!
500
+ name: String!
501
+ nodes(
502
+ filters: NodeFilter
503
+ order: NodeOrder
504
+ pagination: OffsetPaginationInput
505
+ ): [Node!]!
506
+ }
507
+
508
+ input NodeFilter {
509
+ search: String
510
+ name: StrFilterLookup
511
+ ids: [ID!]
512
+ AND: NodeFilter
513
+ OR: NodeFilter
514
+ }
515
+
516
+ input StrFilterLookup {
517
+ exact: String
518
+ iExact: String
519
+ contains: String
520
+ iContains: String
521
+ inList: [String!]
522
+ gt: String
523
+ gte: String
524
+ lt: String
525
+ lte: String
526
+ startsWith: String
527
+ iStartsWith: String
528
+ endsWith: String
529
+ iEndsWith: String
530
+ range: [String!]
531
+ isNull: Boolean
532
+ regex: String
533
+ iRegex: String
534
+ nExact: String
535
+ nIExact: String
536
+ nContains: String
537
+ nIContains: String
538
+ nInList: [String!]
539
+ nGt: String
540
+ nGte: String
541
+ nLt: String
542
+ nLte: String
543
+ nStartsWith: String
544
+ nIStartsWith: String
545
+ nEndsWith: String
546
+ nIEndsWith: String
547
+ nRange: [String!]
548
+ nIsNull: Boolean
549
+ nRegex: String
550
+ nIRegex: String
551
+ }
552
+
553
+ input NodeOrder {
554
+ definedAt: Ordering
555
+ }
556
+
557
+ enum Ordering {
558
+ ASC
559
+ DESC
560
+ }
561
+
562
+ input OffsetPaginationInput {
563
+ offset: Int! = 0
564
+ limit: Int! = -1
565
+ }
566
+
567
+ type Template {
568
+ id: ID!
569
+ name: String
570
+ interface: String!
571
+ agent: Agent!
572
+ node: Node!
573
+ params: AnyDefault!
574
+ }
575
+
576
+ type Agent {
577
+ id: ID!
578
+ instanceId: InstanceId!
579
+ registry: Registry!
580
+ }
581
+
582
+ """
583
+ The `ArrayLike` scalar type represents a reference to a store previously created by the user n a datalayer
584
+ """
585
+ scalar InstanceId
586
+
587
+ type Registry {
588
+ id: ID!
589
+ app: App!
590
+ user: User!
591
+ agents(filters: AgentFilter, pagination: OffsetPaginationInput): [Agent!]!
592
+ }
593
+
594
+ type App {
595
+ id: ID!
596
+ }
597
+
598
+ type User {
599
+ id: ID!
600
+ }
601
+
602
+ input AgentFilter {
603
+ instanceId: String!
604
+ ids: [ID!]
605
+ AND: AgentFilter
606
+ OR: AgentFilter
607
+ }
608
+
609
+ input TemplateFilter {
610
+ interface: StrFilterLookup
611
+ ids: [ID!]
612
+ AND: TemplateFilter
613
+ OR: TemplateFilter
614
+ }
615
+
616
+ enum NodeScope {
617
+ GLOBAL
618
+ LOCAL
619
+ BRIDGE_GLOBAL_TO_LOCAL
620
+ BRIDGE_LOCAL_TO_GLOBAL
621
+ }
622
+
623
+ type Protocol {
624
+ id: ID!
625
+ name: String!
626
+ nodes(
627
+ filters: NodeFilter
628
+ order: NodeOrder
629
+ pagination: OffsetPaginationInput
630
+ ): [Node!]!
631
+ }
632
+
633
+ """
634
+ Date with time (isoformat)
635
+ """
636
+ scalar DateTime
637
+
638
+ type Assignation {
639
+ id: ID!
640
+ name: String!
641
+ reference: String
642
+ args: AnyDefault!
643
+ parent: Assignation!
644
+ status: AssignationStatus!
645
+ statusMessage: String
646
+ waiter: Waiter!
647
+ node: Node!
648
+ events(
649
+ filters: AssignationEventFilter
650
+ pagination: OffsetPaginationInput
651
+ ): [AssignationEvent!]!
652
+ createdAt: DateTime!
653
+ updatedAt: DateTime!
654
+ }
655
+
656
+ enum AssignationStatus {
657
+ ASSIGNING
658
+ ONGOING
659
+ CRITICAL
660
+ CANCELLED
661
+ DONE
662
+ }
663
+
664
+ type Waiter {
665
+ id: ID!
666
+ instanceId: InstanceId!
667
+ registry: Registry!
668
+ }
669
+
670
+ type AssignationEvent {
671
+ id: ID!
672
+ name: String!
673
+ returns: AnyDefault!
674
+ assignation: Assignation!
675
+ kind: AssignationEventKind!
676
+ level: LogLevel!
677
+ createdAt: DateTime!
678
+ }
679
+
680
+ enum AssignationEventKind {
681
+ BOUND
682
+ ASSIGN
683
+ UNASSIGN
684
+ PROGRESS
685
+ YIELD
686
+ DONE
687
+ LOG
688
+ }
689
+
690
+ input AssignationEventFilter {
691
+ kind: [AssignationEventKind!]
692
+ AND: AssignationEventFilter
693
+ OR: AssignationEventFilter
694
+ }
695
+
696
+ input AssignationFilter {
697
+ reservation: ReservationFilter
698
+ ids: [ID!]
699
+ status: [AssignationStatus!]
700
+ AND: AssignationFilter
701
+ OR: AssignationFilter
702
+ }
703
+
704
+ input ReservationFilter {
705
+ waiter: WaiterFilter
706
+ ids: [ID!]
707
+ status: [ReservationStatus!]
708
+ AND: ReservationFilter
709
+ OR: ReservationFilter
710
+ }
711
+
712
+ input WaiterFilter {
713
+ instanceId: InstanceId!
714
+ ids: [ID!]
715
+ AND: WaiterFilter
716
+ OR: WaiterFilter
717
+ }
718
+
719
+ enum ReservationStatus {
720
+ ACTIVE
721
+ INACTIVE
722
+ UNCONNECTED
723
+ ENDED
724
+ }
725
+
726
+ type TestResult {
727
+ id: ID!
728
+ template: Template!
729
+ case: TestCase!
730
+ passed: Boolean!
731
+ createdAt: DateTime!
732
+ updatedAt: DateTime!
733
+ }
734
+
735
+ type TestCase {
736
+ id: ID!
737
+ key: String!
738
+ node: Node!
739
+ isBenchmark: Boolean!
740
+ description: String!
741
+ name: String!
742
+ results(
743
+ filters: TestResultFilter
744
+ pagination: OffsetPaginationInput
745
+ ): [TestResult!]!
746
+ }
747
+
748
+ input TestResultFilter {
749
+ name: StrFilterLookup
750
+ ids: [ID!]
751
+ AND: TestResultFilter
752
+ OR: TestResultFilter
753
+ }
754
+
755
+ input TestCaseFilter {
756
+ name: StrFilterLookup
757
+ ids: [ID!]
758
+ AND: TestCaseFilter
759
+ OR: TestCaseFilter
760
+ }
761
+
762
+ type Reservation {
763
+ id: ID!
764
+ name: String!
765
+ waiter: Waiter!
766
+ title: String
767
+ node: Node!
768
+ status: ReservationStatus!
769
+ updatedAt: DateTime!
770
+ reference: String!
771
+ provisions(
772
+ filters: ProvisionFilter
773
+ pagination: OffsetPaginationInput
774
+ ): [Provision!]!
775
+ binds: Binds
776
+ }
777
+
778
+ type Provision {
779
+ id: ID!
780
+ name: String!
781
+ agent: Agent!
782
+ template: Template!
783
+ status: ProvisionStatus!
784
+ }
785
+
786
+ enum ProvisionStatus {
787
+ DENIED
788
+ PENDING
789
+ BOUND
790
+ PROVIDING
791
+ ACTIVE
792
+ REFUSED
793
+ INACTIVE
794
+ CANCELING
795
+ DISCONNECTED
796
+ RECONNECTING
797
+ ERROR
798
+ CRITICAL
799
+ ENDED
800
+ CANCELLED
801
+ }
802
+
803
+ input ProvisionFilter {
804
+ agent: AgentFilter
805
+ ids: [ID!]
806
+ status: [ProvisionStatus!]
807
+ AND: ProvisionFilter
808
+ OR: ProvisionFilter
809
+ }
810
+
811
+ type Flow {
812
+ id: ID!
813
+ title: String!
814
+ description: String
815
+ createdAt: DateTime!
816
+ workspace: Workspace!
817
+ graph: Graph!
818
+ }
819
+
820
+ type Workspace {
821
+ id: ID!
822
+ title: String!
823
+ description: String
824
+ latestFlow: Flow
825
+ }
826
+
827
+ type Graph {
828
+ zoom: Float!
829
+ nodes: [GraphNode!]!
830
+ edges: [GraphEdge!]!
831
+ globals: [GlobalArg!]!
832
+ }
833
+
834
+ type GlobalArg {
835
+ key: String!
836
+ port: Port!
837
+ }
838
+
839
+ input FlowFilter {
840
+ workspace: WorkspaceFilter
841
+ ids: [ID!]
842
+ AND: FlowFilter
843
+ OR: FlowFilter
844
+ }
845
+
846
+ input WorkspaceFilter {
847
+ name: StrFilterLookup
848
+ ids: [ID!]
849
+ AND: WorkspaceFilter
850
+ OR: WorkspaceFilter
851
+ }
852
+
853
+ type ReactiveTemplate {
854
+ id: ID!
855
+ implementation: ReactiveImplementation!
856
+ title: String!
857
+ description: String
858
+ ins: [[Port!]!]!
859
+ outs: [[Port!]!]!
860
+ constants: [Port!]!
861
+ voids: [Port!]!
862
+ }
863
+
864
+ input ReactiveTemplateFilter {
865
+ ids: [ID!]
866
+ implementations: [ReactiveImplementation!]
867
+ AND: ReactiveTemplateFilter
868
+ OR: ReactiveTemplateFilter
869
+ }
870
+
871
+ type Mutation {
872
+ createTemplate(input: CreateTemplateInput!): Template!
873
+ ack(input: AckInput!): Assignation!
874
+ assign(input: AssignInput!): Assignation!
875
+ unassign(input: UnassignInput!): Assignation!
876
+ reserve(input: ReserveInput!): Reservation!
877
+ unreserve(input: UnreserveInput!): Reservation!
878
+ createTestCase(input: CreateTestCaseInput!): TestCase!
879
+ createTestResult(input: CreateTestResultInput!): TestResult!
880
+ updateWorkspace(input: UpdateWorkspaceInput!): Workspace!
881
+ createWorkspace(input: CreateWorkspaceInput!): Workspace!
882
+ }
883
+
884
+ input CreateTemplateInput {
885
+ definition: DefinitionInput!
886
+ dependencies: DependencyInput = null
887
+ interface: String!
888
+ params: AnyDefault = null
889
+ instanceId: InstanceId = null
890
+ }
891
+
892
+ input DefinitionInput {
893
+ description: String = null
894
+ collections: [String!] = []
895
+ name: String!
896
+ portGroups: [PortGroupInput!] = []
897
+ args: [PortInput!] = []
898
+ returns: [PortInput!] = []
899
+ kind: NodeKind!
900
+ isTestFor: [String!] = []
901
+ interfaces: [String!] = []
902
+ }
903
+
904
+ input PortGroupInput {
905
+ key: String!
906
+ hidden: Boolean!
907
+ }
908
+
909
+ input PortInput {
910
+ key: String!
911
+ scope: PortScope!
912
+ label: String = null
913
+ kind: PortKind!
914
+ description: String = null
915
+ identifier: String = null
916
+ nullable: Boolean!
917
+ effects: [EffectInput!] = null
918
+ default: AnyDefault = null
919
+ child: ChildPortInput = null
920
+ variants: [ChildPortInput!] = null
921
+ assignWidget: AssignWidgetInput = null
922
+ returnWidget: ReturnWidgetInput = null
923
+ groups: [String!] = null
924
+ }
925
+
926
+ input EffectInput {
927
+ dependencies: [EffectDependencyInput!]!
928
+ kind: EffectKind!
929
+ }
930
+
931
+ input EffectDependencyInput {
932
+ key: String!
933
+ condition: LogicalCondition!
934
+ value: AnyDefault!
935
+ }
936
+
937
+ enum EffectKind {
938
+ MESSAGE
939
+ CUSTOM
940
+ }
941
+
942
+ input ChildPortInput {
943
+ default: AnyDefault = null
944
+ label: String = null
945
+ kind: PortKind!
946
+ scope: PortScope!
947
+ description: String = null
948
+ child: ChildPortInput = null
949
+ identifier: Identifier = null
950
+ nullable: Boolean!
951
+ variants: [ChildPortInput!] = null
952
+ effects: [EffectInput!] = null
953
+ assignWidget: AssignWidgetInput = null
954
+ returnWidget: ReturnWidgetInput = null
955
+ }
956
+
957
+ input AssignWidgetInput {
958
+ asParagraph: Boolean = null
959
+ kind: AssignWidgetKind!
960
+ query: SearchQuery = null
961
+ choices: [ChoiceInput!] = null
962
+ min: Int = null
963
+ max: Int = null
964
+ step: Int = null
965
+ placeholder: String = null
966
+ hook: String = null
967
+ ward: String = null
968
+ }
969
+
970
+ """
971
+ The `ArrayLike` scalar type represents a reference to a store previously created by the user n a datalayer
972
+ """
973
+ scalar SearchQuery
974
+
975
+ input ChoiceInput {
976
+ value: AnyDefault!
977
+ label: String!
978
+ description: String = null
979
+ }
980
+
981
+ input ReturnWidgetInput {
982
+ kind: ReturnWidgetKind!
983
+ query: SearchQuery = null
984
+ choices: [ChoiceInput!] = null
985
+ min: Int = null
986
+ max: Int = null
987
+ step: Int = null
988
+ placeholder: String = null
989
+ hook: String = null
990
+ ward: String = null
991
+ }
992
+
993
+ input DependencyInput {
994
+ node: ID = null
995
+ hash: NodeHash = null
996
+ reference: String = null
997
+ binds: BindsInput = null
998
+ optional: Boolean! = false
999
+ viableInstances: Int = null
1000
+ }
1001
+
1002
+ input BindsInput {
1003
+ templates: [ID!] = null
1004
+ clients: [ID!] = null
1005
+ desiredInstances: Int = 1
1006
+ }
1007
+
1008
+ input AckInput {
1009
+ assignation: ID!
1010
+ }
1011
+
1012
+ input AssignInput {
1013
+ reservation: ID!
1014
+ args: [Arg!]!
1015
+ reference: String = null
1016
+ parent: ID = null
1017
+ }
1018
+
1019
+ """
1020
+ The `Arg` scalar type represents a an Argument in a Node assignment
1021
+ """
1022
+ scalar Arg
1023
+
1024
+ input UnassignInput {
1025
+ assignation: ID!
1026
+ }
1027
+
1028
+ input ReserveInput {
1029
+ instanceId: InstanceId!
1030
+ node: ID = null
1031
+ template: ID = null
1032
+ title: String = null
1033
+ hash: NodeHash = null
1034
+ reference: String = null
1035
+ binds: BindsInput = null
1036
+ }
1037
+
1038
+ input UnreserveInput {
1039
+ reservation: ID!
1040
+ }
1041
+
1042
+ input CreateTestCaseInput {
1043
+ node: ID!
1044
+ key: String!
1045
+ isBenchmark: Boolean! = false
1046
+ description: String = null
1047
+ name: String = null
1048
+ }
1049
+
1050
+ input CreateTestResultInput {
1051
+ case: ID!
1052
+ template: ID!
1053
+ passed: Boolean!
1054
+ result: String = null
1055
+ }
1056
+
1057
+ input UpdateWorkspaceInput {
1058
+ workspace: ID!
1059
+ graph: GraphInput!
1060
+ title: String = null
1061
+ description: String = null
1062
+ }
1063
+
1064
+ input GraphInput {
1065
+ nodes: [GraphNodeInput!]!
1066
+ edges: [GraphEdgeInput!]!
1067
+ globals: [GlobalArgInput!]!
1068
+ }
1069
+
1070
+ input GraphNodeInput {
1071
+ id: String!
1072
+ kind: GraphNodeKind!
1073
+ position: PositionInput!
1074
+ parentNode: String = null
1075
+ ins: [[PortInput!]!]!
1076
+ outs: [[PortInput!]!]!
1077
+ constants: [PortInput!]!
1078
+ voids: [PortInput!]!
1079
+ constantsMap: ValueMap!
1080
+ globalsMap: ValueMap!
1081
+ description: String = null
1082
+ title: String = null
1083
+ retries: Int = null
1084
+ retryDelay: Int = null
1085
+ nodeKind: NodeKind = null
1086
+ nextTimeout: Int = null
1087
+ hash: String = null
1088
+ mapStrategy: MapStrategy = null
1089
+ allowLocalExecution: Boolean = null
1090
+ binds: BindsInput = null
1091
+ implementation: ReactiveImplementation = null
1092
+ }
1093
+
1094
+ input PositionInput {
1095
+ x: Float!
1096
+ y: Float!
1097
+ }
1098
+
1099
+ input GraphEdgeInput {
1100
+ label: String = null
1101
+ level: String = null
1102
+ kind: GraphEdgeKind!
1103
+ id: String!
1104
+ source: String!
1105
+ target: String!
1106
+ sourceHandle: String!
1107
+ targetHandle: String!
1108
+ stream: [StreamItemInput!]!
1109
+ }
1110
+
1111
+ input StreamItemInput {
1112
+ kind: PortKind!
1113
+ label: String!
1114
+ }
1115
+
1116
+ input GlobalArgInput {
1117
+ key: String!
1118
+ port: PortInput!
1119
+ }
1120
+
1121
+ input CreateWorkspaceInput {
1122
+ graph: GraphInput = null
1123
+ title: String = null
1124
+ description: String = null
1125
+ vanilla: Boolean! = false
1126
+ }
1127
+
1128
+ type Subscription {
1129
+ newNodes(cage: ID!): Node!
1130
+ assignations(instanceId: InstanceId!): AssignationEvent!
1131
+ reservations(instanceId: InstanceId!): ReservationEvent!
1132
+ provisions(instanceId: InstanceId!): ProvisionEvent!
1133
+ }
1134
+
1135
+ type ReservationEvent {
1136
+ id: ID!
1137
+ reservation: Reservation!
1138
+ kind: ReservationEventKind!
1139
+ level: LogLevel!
1140
+ createdAt: DateTime!
1141
+ }
1142
+
1143
+ enum ReservationEventKind {
1144
+ CHANGE
1145
+ LOG
1146
+ }
1147
+
1148
+ type ProvisionEvent {
1149
+ id: ID!
1150
+ provision: Provision!
1151
+ kind: ProvisionEventKind!
1152
+ level: LogLevel!
1153
+ createdAt: DateTime!
1154
+ }
1155
+
1156
+ enum ProvisionEventKind {
1157
+ CHANGE
1158
+ LOG
1159
+ }