UNPKG

5.08 kBYAMLView Raw
1title: 'Runtime protocol'
2description: 'When a client connects to a FBP procotol it may choose to discover the capabilities and other information about the runtime.'
3input:
4 error:
5 description: 'Runtime error'
6
7 getruntime:
8 description: 'Request the information about the runtime. When receiving this message the runtime should response with a runtime message.'
9
10 packet:
11 description: "Runtimes that can be used as remote subgraphs (i.e. ones that have reported supporting the protocol:runtime capability) need to be able to receive and transmit information packets at their exposed ports.\nThese packets can be send from the client to the runtime's input ports, or from runtime's output ports to the client."
12 properties:
13 port:
14 type: string
15 description: 'port name for the input or output port'
16 event:
17 type: string
18 enum:
19 - connect
20 - begingroup
21 - data
22 - endgroup
23 - disconnect
24 description: 'packet event'
25 graph:
26 type: string
27 description: 'graph the action targets'
28 payload:
29 type: object
30 description: '(optional) payload for the packet. Used only with begingroup (for group names) and data packets'
31
32output:
33 error:
34 description: 'Runtime error'
35
36 ports:
37 description: 'Message sent by the runtime to signal its available ports. The runtime is responsible for sending the up-to-date list of available ports back to client whenever it changes.'
38 properties:
39 graph:
40 type: string
41 description: 'ID of the currently configured main graph running on the runtime'
42 inPorts:
43 description: 'list of input ports'
44 properties:
45 addressable:
46 type: boolean
47 description: 'boolean telling whether the port is an ArrayPort'
48 id:
49 type: string
50 description: 'port name'
51 type:
52 description: 'port datatype, for example boolean'
53 type: string
54 required:
55 description: 'boolean telling whether the port needs to be connected for the component to work'
56 type: boolean
57 description:
58 type: string
59 description: 'textual description of the port'
60 type: array
61 outPorts:
62 type: array
63 description: 'list of output ports'
64 properties:
65 description:
66 type: string
67 description: 'textual description of the port'
68 required:
69 type: boolean
70 description: 'boolean telling whether the port needs to be connected for the component to work'
71 type:
72 description: 'port datatype, for example boolean'
73 type: string
74 id:
75 description: 'port name'
76 type: string
77 addressable:
78 description: 'boolean telling whether the port is an ArrayPort'
79 type: boolean
80
81 runtime:
82 description: 'Response from the runtime to the getruntime request.'
83 properties:
84 id:
85 required: false
86 type: string
87 description: '(optional) runtime ID used with Flowhub Registry'
88 label:
89 description: '(optional) Human-readable description of the runtime'
90 type: string
91 required: false
92 version:
93 description: 'version of the runtime protocol that the runtime supports, for example 0.4'
94 type: string
95 capabilities:
96 type: array
97 items:
98 'protocol:network':
99 description: 'the runtime is able to control and introspect its running networks using the Network protocol'
100 'protocol:component':
101 description: 'the runtime is able to list and modify its components using the Component protocol'
102 'protocol:runtime':
103 description: 'the runtime is able to expose the ports of its main graph using the Runtime protocol and transmit packet information to/from them'
104 'component:getsource':
105 description: 'runtime is able to read and send component source code back to client'
106 'network:persist':
107 description: 'runtime is able to *flash* a running graph setup into itself, making it persistent across reboots'
108 'protocol:graph':
109 description: 'the runtime is able to modify its graphs using the Graph protocol'
110 'component:setsource':
111 description: 'runtime is able to compile and run custom components sent as source code strings'
112 description: "array of capability strings for things the runtime is able to do\nIf the runtime is currently running a graph and it is able to speak the full Runtime protocol, it should follow up with a ports message."
113 graph:
114 description: '(optional) ID of the currently configured main graph running on the runtime, if any'
115 type: string
116 required: false
117 type:
118 description: 'type of the runtime, for example noflo-nodejs or microflo'
119 type: string
120 title: Type