@cobotar/protocol 0.18.18 → 0.18.19

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.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # CobotAR-Protocol
2
2
  A collection of protobuf messages for the CobotAR-project
3
3
 
4
- Current version: 0.18.18
4
+ Current version: 0.18.19
5
5
 
6
6
  ## Documentation
7
7
  Find it here: [documentation/README.md](documentation/README.md)
@@ -15,16 +15,16 @@ import type { Message } from "@bufbuild/protobuf";
15
15
  * Describes the file capability/v1/tool_requirement.proto.
16
16
  */
17
17
  export const file_capability_v1_tool_requirement: GenFile = /*@__PURE__*/
18
- fileDesc("CiRjYXBhYmlsaXR5L3YxL3Rvb2xfcmVxdWlyZW1lbnQucHJvdG8SDWNhcGFiaWxpdHkudjEi7gEKD1Rvb2xSZXF1aXJlbWVudBIvCgRyb2xlGAEgASgOMhcuY2FwYWJpbGl0eS52MS5Ub29sUm9sZUIIukgFggECEAESRwoTcmVxdWlyZWRfcHJvcGVydGllcxgCIAMoDjIbLmNhcGFiaWxpdHkudjEuVG9vbFByb3BlcnR5Qg26SAqSAQciBYIBAhABEjwKEm1pbmltdW1fY2FwYWJpbGl0eRgDIAEoCzIgLmNhcGFiaWxpdHkudjEuQ2FwYWJpbGl0eVByb2ZpbGUSIwobYWxsb3dlZF90b29sX2RlZmluaXRpb25faWRzGAQgAygJKu8BCgxUb29sUHJvcGVydHkSHQoZVE9PTF9QUk9QRVJUWV9VTlNQRUNJRklFRBAAEiMKH1RPT0xfUFJPUEVSVFlfVE9SUVVFX0NPTlRST0xMRUQQARIaChZUT09MX1BST1BFUlRZX0VTRF9TQUZFEAISGwoXVE9PTF9QUk9QRVJUWV9JTlNVTEFURUQQAxIkCiBUT09MX1BST1BFUlRZX0NPTExBQk9SQVRJVkVfU0FGRRAEEhwKGFRPT0xfUFJPUEVSVFlfQ0FMSUJSQVRFRBAFEh4KGlRPT0xfUFJPUEVSVFlfUVVJQ0tfQ0hBTkdFEAZCyAEKEWNvbS5jYXBhYmlsaXR5LnYxQhRUb29sUmVxdWlyZW1lbnRQcm90b1ABWj9naXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvY2FwYWJpbGl0eS92MTtjYXBhYmlsaXR5djGiAgNDWFiqAhZNZXNzYWdlcy5DYXBhYmlsaXR5LlYxygINQ2FwYWJpbGl0eVxWMeICGUNhcGFiaWxpdHlcVjFcR1BCTWV0YWRhdGHqAg5DYXBhYmlsaXR5OjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_capability_v1_capability_profile, file_capability_v1_skill_definition]);
18
+ fileDesc("CiRjYXBhYmlsaXR5L3YxL3Rvb2xfcmVxdWlyZW1lbnQucHJvdG8SDWNhcGFiaWxpdHkudjEi9AEKD1Rvb2xSZXF1aXJlbWVudBI1CgVyb2xlcxgBIAMoDjIXLmNhcGFiaWxpdHkudjEuVG9vbFJvbGVCDbpICpIBByIFggECEAESRwoTcmVxdWlyZWRfcHJvcGVydGllcxgCIAMoDjIbLmNhcGFiaWxpdHkudjEuVG9vbFByb3BlcnR5Qg26SAqSAQciBYIBAhABEjwKEm1pbmltdW1fY2FwYWJpbGl0eRgDIAEoCzIgLmNhcGFiaWxpdHkudjEuQ2FwYWJpbGl0eVByb2ZpbGUSIwobYWxsb3dlZF90b29sX2RlZmluaXRpb25faWRzGAQgAygJKu8BCgxUb29sUHJvcGVydHkSHQoZVE9PTF9QUk9QRVJUWV9VTlNQRUNJRklFRBAAEiMKH1RPT0xfUFJPUEVSVFlfVE9SUVVFX0NPTlRST0xMRUQQARIaChZUT09MX1BST1BFUlRZX0VTRF9TQUZFEAISGwoXVE9PTF9QUk9QRVJUWV9JTlNVTEFURUQQAxIkCiBUT09MX1BST1BFUlRZX0NPTExBQk9SQVRJVkVfU0FGRRAEEhwKGFRPT0xfUFJPUEVSVFlfQ0FMSUJSQVRFRBAFEh4KGlRPT0xfUFJPUEVSVFlfUVVJQ0tfQ0hBTkdFEAZCyAEKEWNvbS5jYXBhYmlsaXR5LnYxQhRUb29sUmVxdWlyZW1lbnRQcm90b1ABWj9naXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvY2FwYWJpbGl0eS92MTtjYXBhYmlsaXR5djGiAgNDWFiqAhZNZXNzYWdlcy5DYXBhYmlsaXR5LlYxygINQ2FwYWJpbGl0eVxWMeICGUNhcGFiaWxpdHlcVjFcR1BCTWV0YWRhdGHqAg5DYXBhYmlsaXR5OjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_capability_v1_capability_profile, file_capability_v1_skill_definition]);
19
19
 
20
20
  /**
21
21
  * @generated from message capability.v1.ToolRequirement
22
22
  */
23
23
  export type ToolRequirement = Message<"capability.v1.ToolRequirement"> & {
24
24
  /**
25
- * @generated from field: capability.v1.ToolRole role = 1;
25
+ * @generated from field: repeated capability.v1.ToolRole roles = 1;
26
26
  */
27
- role: ToolRole;
27
+ roles: ToolRole[];
28
28
 
29
29
  /**
30
30
  * @generated from field: repeated capability.v1.ToolProperty required_properties = 2;
@@ -2,19 +2,36 @@
2
2
  // @generated from file resources/v1/cell_definition.proto (package resources.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
- import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
- import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
5
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
7
+ import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts";
7
8
  import type { CustomProperties } from "../../common/v1/custom_properties_pb.ts";
8
9
  import { file_common_v1_custom_properties } from "../../common/v1/custom_properties_pb.ts";
10
+ import type { LocalizedPose } from "../../geometry/v1/pose_pb.ts";
11
+ import { file_geometry_v1_pose } from "../../geometry/v1/pose_pb.ts";
12
+ import { file_validation_v1_predefined_string_rules } from "../../validation/v1/predefined_string_rules_pb.ts";
9
13
  import type { Message } from "@bufbuild/protobuf";
10
14
 
11
15
  /**
12
16
  * Describes the file resources/v1/cell_definition.proto.
13
17
  */
14
18
  export const file_resources_v1_cell_definition: GenFile = /*@__PURE__*/
15
- fileDesc("CiJyZXNvdXJjZXMvdjEvY2VsbF9kZWZpbml0aW9uLnByb3RvEgxyZXNvdXJjZXMudjEijwEKDkNlbGxEZWZpbml0aW9uEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDAoEaWNvbhgEIAEoCRITCgtzdGF0aW9uX2lkcxgFIAMoCRIrCgZjdXN0b20YBiABKAsyGy5jb21tb24udjEuQ3VzdG9tUHJvcGVydGllcyI+Cg9DZWxsRGVmaW5pdGlvbnMSKwoFaXRlbXMYASADKAsyHC5yZXNvdXJjZXMudjEuQ2VsbERlZmluaXRpb25CwAEKEGNvbS5yZXNvdXJjZXMudjFCE0NlbGxEZWZpbml0aW9uUHJvdG9QAVo9Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3Jlc291cmNlcy92MTtyZXNvdXJjZXN2MaICA1JYWKoCFU1lc3NhZ2VzLlJlc291cmNlcy5WMcoCDFJlc291cmNlc1xWMeICGFJlc291cmNlc1xWMVxHUEJNZXRhZGF0YeoCDVJlc291cmNlczo6VjFiBnByb3RvMw", [file_common_v1_custom_properties]);
19
+ fileDesc("CiJyZXNvdXJjZXMvdjEvY2VsbF9kZWZpbml0aW9uLnByb3RvEgxyZXNvdXJjZXMudjEi5gMKDkNlbGxEZWZpbml0aW9uEgoKAmlkGAEgASgJEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARITCgtkZXNjcmlwdGlvbhgDIAEoCRIMCgRpY29uGAQgASgJEhMKC3N0YXRpb25faWRzGAUgAygJEjIKBnN0YXR1cxgGIAEoDjIYLnJlc291cmNlcy52MS5DZWxsU3RhdHVzQgi6SAWCAQIQARIpChhtYXhfY29uY3VycmVudF9wcm9jZXNzZXMYByABKAVCB7pIBBoCKAASHAoUYWxsb3dfcXVldWVkX3Byb2Nlc3MYCCABKAgSGQoRdG9vbF9pbnN0YW5jZV9pZHMYCSADKAkSHgoWY29udGFpbmVyX2luc3RhbmNlX2lkcxgKIAMoCRIaChJyb2JvdF9pbnN0YW5jZV9pZHMYCyADKAkSGgoSYXNzZXRfaW5zdGFuY2VfaWRzGAwgAygJEhsKE21hcmtlcl9pbnN0YW5jZV9pZHMYDSADKAkSEgoKd29ya2VyX2lkcxgOIAMoCRIpCgVmcmFtZRgPIAEoCzIaLmdlb21ldHJ5LnYxLkxvY2FsaXplZFBvc2USKwoGY3VzdG9tGBAgASgLMhsuY29tbW9uLnYxLkN1c3RvbVByb3BlcnRpZXMiPgoPQ2VsbERlZmluaXRpb25zEisKBWl0ZW1zGAEgAygLMhwucmVzb3VyY2VzLnYxLkNlbGxEZWZpbml0aW9uKoYBCgpDZWxsU3RhdHVzEhsKF0NFTExfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFAoQQ0VMTF9TVEFUVVNfT1BFThABEhQKEENFTExfU1RBVFVTX0JVU1kQAhIWChJDRUxMX1NUQVRVU19DTE9TRUQQAxIXChNDRUxMX1NUQVRVU19CTE9DS0VEEARCwAEKEGNvbS5yZXNvdXJjZXMudjFCE0NlbGxEZWZpbml0aW9uUHJvdG9QAVo9Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3Jlc291cmNlcy92MTtyZXNvdXJjZXN2MaICA1JYWKoCFU1lc3NhZ2VzLlJlc291cmNlcy5WMcoCDFJlc291cmNlc1xWMeICGFJlc291cmNlc1xWMVxHUEJNZXRhZGF0YeoCDVJlc291cmNlczo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_common_v1_custom_properties, file_geometry_v1_pose, file_validation_v1_predefined_string_rules]);
16
20
 
17
21
  /**
22
+ * CellDefinition describes an operational grouping of stations and shared
23
+ * resources inside a line.
24
+ *
25
+ * A cell is useful when multiple stations share workers, robots, assets,
26
+ * safety boundaries, or scheduling constraints. It gives the model a clear
27
+ * middle layer between line-level routing and station-level execution.
28
+ *
29
+ * Typical cell responsibilities:
30
+ * - group stations into a shared execution/safety zone
31
+ * - own resources that are shared across several stations
32
+ * - expose operational state and capacity above individual stations
33
+ * - act as an optional target/selector scope for loaders and planners
34
+ *
18
35
  * @generated from message resources.v1.CellDefinition
19
36
  */
20
37
  export type CellDefinition = Message<"resources.v1.CellDefinition"> & {
@@ -39,12 +56,84 @@ export type CellDefinition = Message<"resources.v1.CellDefinition"> & {
39
56
  icon: string;
40
57
 
41
58
  /**
59
+ * Stations belonging to this cell.
60
+ *
42
61
  * @generated from field: repeated string station_ids = 5;
43
62
  */
44
63
  stationIds: string[];
45
64
 
46
65
  /**
47
- * @generated from field: common.v1.CustomProperties custom = 6;
66
+ * Current operational availability of the cell as a whole.
67
+ *
68
+ * @generated from field: resources.v1.CellStatus status = 6;
69
+ */
70
+ status: CellStatus;
71
+
72
+ /**
73
+ * Maximum number of active/queued processes this cell should host concurrently.
74
+ *
75
+ * @generated from field: int32 max_concurrent_processes = 7;
76
+ */
77
+ maxConcurrentProcesses: number;
78
+
79
+ /**
80
+ * If true, loaders may create queued ProcessRuns when the cell is BUSY.
81
+ *
82
+ * @generated from field: bool allow_queued_process = 8;
83
+ */
84
+ allowQueuedProcess: boolean;
85
+
86
+ /**
87
+ * Shared tools mounted, parked, or otherwise directly available here.
88
+ *
89
+ * @generated from field: repeated string tool_instance_ids = 9;
90
+ */
91
+ toolInstanceIds: string[];
92
+
93
+ /**
94
+ * Shared fixtures, trays, pallets, bins, or other concrete containers.
95
+ *
96
+ * @generated from field: repeated string container_instance_ids = 10;
97
+ */
98
+ containerInstanceIds: string[];
99
+
100
+ /**
101
+ * Robots shared across multiple stations inside the cell.
102
+ *
103
+ * @generated from field: repeated string robot_instance_ids = 11;
104
+ */
105
+ robotInstanceIds: string[];
106
+
107
+ /**
108
+ * Shared assets such as cameras, HMIs, or feeders serving several stations.
109
+ *
110
+ * @generated from field: repeated string asset_instance_ids = 12;
111
+ */
112
+ assetInstanceIds: string[];
113
+
114
+ /**
115
+ * Markers shared for this cell for localization, AR anchoring, or identification.
116
+ *
117
+ * @generated from field: repeated string marker_instance_ids = 13;
118
+ */
119
+ markerInstanceIds: string[];
120
+
121
+ /**
122
+ * Shared worker pool for the cell when workers are not bound to a specific station.
123
+ *
124
+ * @generated from field: repeated string worker_ids = 14;
125
+ */
126
+ workerIds: string[];
127
+
128
+ /**
129
+ * Cell-local reference frame or zone anchor.
130
+ *
131
+ * @generated from field: geometry.v1.LocalizedPose frame = 15;
132
+ */
133
+ frame?: LocalizedPose;
134
+
135
+ /**
136
+ * @generated from field: common.v1.CustomProperties custom = 16;
48
137
  */
49
138
  custom?: CustomProperties;
50
139
  };
@@ -73,3 +162,65 @@ export type CellDefinitions = Message<"resources.v1.CellDefinitions"> & {
73
162
  export const CellDefinitionsSchema: GenMessage<CellDefinitions> = /*@__PURE__*/
74
163
  messageDesc(file_resources_v1_cell_definition, 1);
75
164
 
165
+ /**
166
+ * CellStatus describes whether a cell can currently accept or host work.
167
+ *
168
+ * A cell is typically a grouping of stations and related resources. The loader
169
+ * can use this status to quickly reject or prefer a cell before evaluating
170
+ * individual stations.
171
+ *
172
+ * Status should be interpreted as:
173
+ * - OPEN -> cell can accept new work now
174
+ * - BUSY -> cell is occupied; queueing may still be possible
175
+ * - CLOSED -> cell is intentionally unavailable
176
+ * - BLOCKED -> cell is unavailable due to fault, safety state, maintenance,
177
+ * or other blocking condition
178
+ *
179
+ * This field is operational and should be considered together with
180
+ * max_concurrent_processes and the status of contained stations.
181
+ *
182
+ * @generated from enum resources.v1.CellStatus
183
+ */
184
+ export enum CellStatus {
185
+ /**
186
+ * @generated from enum value: CELL_STATUS_UNSPECIFIED = 0;
187
+ */
188
+ UNSPECIFIED = 0,
189
+
190
+ /**
191
+ * Cell can accept new work now.
192
+ *
193
+ * @generated from enum value: CELL_STATUS_OPEN = 1;
194
+ */
195
+ OPEN = 1,
196
+
197
+ /**
198
+ * Cell is currently occupied by one or more active runs.
199
+ * Depending on policy, new runs may still be queued.
200
+ *
201
+ * @generated from enum value: CELL_STATUS_BUSY = 2;
202
+ */
203
+ BUSY = 2,
204
+
205
+ /**
206
+ * Cell is intentionally unavailable for loading or running work.
207
+ *
208
+ * @generated from enum value: CELL_STATUS_CLOSED = 3;
209
+ */
210
+ CLOSED = 3,
211
+
212
+ /**
213
+ * Cell is temporarily unavailable due to fault, interlock,
214
+ * maintenance state, or similar blocking condition.
215
+ *
216
+ * @generated from enum value: CELL_STATUS_BLOCKED = 4;
217
+ */
218
+ BLOCKED = 4,
219
+ }
220
+
221
+ /**
222
+ * Describes the enum resources.v1.CellStatus.
223
+ */
224
+ export const CellStatusSchema: GenEnum<CellStatus> = /*@__PURE__*/
225
+ enumDesc(file_resources_v1_cell_definition, 0);
226
+
@@ -0,0 +1,199 @@
1
+ // @generated by protoc-gen-es v2.10.2 with parameter "target=ts,import_extension=ts"
2
+ // @generated from file resources/v1/line_definition.proto (package resources.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
7
+ import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts";
8
+ import type { CustomProperties } from "../../common/v1/custom_properties_pb.ts";
9
+ import { file_common_v1_custom_properties } from "../../common/v1/custom_properties_pb.ts";
10
+ import { file_validation_v1_predefined_string_rules } from "../../validation/v1/predefined_string_rules_pb.ts";
11
+ import type { Message } from "@bufbuild/protobuf";
12
+
13
+ /**
14
+ * Describes the file resources/v1/line_definition.proto.
15
+ */
16
+ export const file_resources_v1_line_definition: GenFile = /*@__PURE__*/
17
+ fileDesc("CiJyZXNvdXJjZXMvdjEvbGluZV9kZWZpbml0aW9uLnByb3RvEgxyZXNvdXJjZXMudjEivwIKDkxpbmVEZWZpbml0aW9uEhgKAmlkGAEgASgJQgy6SAnIAQFyBKjyBAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEhMKC2Rlc2NyaXB0aW9uGAMgASgJEgwKBGljb24YBCABKAkSJAoEdHlwZRgFIAEoDjIWLnJlc291cmNlcy52MS5MaW5lVHlwZRIyCgZzdGF0dXMYBiABKA4yGC5yZXNvdXJjZXMudjEuTGluZVN0YXR1c0IIukgFggECEAESKQoYbWF4X2NvbmN1cnJlbnRfcHJvY2Vzc2VzGAcgASgFQge6SAQaAigAEhAKCGNlbGxfaWRzGAggAygJEhMKC3N0YXRpb25faWRzGAkgAygJEisKBmN1c3RvbRgKIAEoCzIbLmNvbW1vbi52MS5DdXN0b21Qcm9wZXJ0aWVzIj4KD0xpbmVEZWZpbml0aW9ucxIrCgVpdGVtcxgBIAMoCzIcLnJlc291cmNlcy52MS5MaW5lRGVmaW5pdGlvbiolCghMaW5lVHlwZRIZChVMSU5FX1RZUEVfVU5TUEVDSUZJRUQQACqGAQoKTGluZVN0YXR1cxIbChdMSU5FX1NUQVRVU19VTlNQRUNJRklFRBAAEhQKEExJTkVfU1RBVFVTX09QRU4QARIUChBMSU5FX1NUQVRVU19CVVNZEAISFgoSTElORV9TVEFUVVNfQ0xPU0VEEAMSFwoTTElORV9TVEFUVVNfQkxPQ0tFRBAEQsABChBjb20ucmVzb3VyY2VzLnYxQhNMaW5lRGVmaW5pdGlvblByb3RvUAFaPWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9yZXNvdXJjZXMvdjE7cmVzb3VyY2VzdjGiAgNSWFiqAhVNZXNzYWdlcy5SZXNvdXJjZXMuVjHKAgxSZXNvdXJjZXNcVjHiAhhSZXNvdXJjZXNcVjFcR1BCTWV0YWRhdGHqAg1SZXNvdXJjZXM6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_custom_properties, file_validation_v1_predefined_string_rules]);
18
+
19
+ /**
20
+ * LineDefinition describes the highest operational routing context for loading
21
+ * and dispatching work.
22
+ *
23
+ * A line groups cells and/or stations into a production area that can be
24
+ * targeted by ProcessLoadRequest. Loaders typically resolve a concrete cell and
25
+ * station within the selected line.
26
+ *
27
+ * Typical line responsibilities:
28
+ * - act as the top-level routing target for process loading
29
+ * - expose high-level operational status and capacity
30
+ * - contain one or more cells and/or directly attached stations
31
+ * - provide a coarse operational boundary for planning and dispatch
32
+ *
33
+ * @generated from message resources.v1.LineDefinition
34
+ */
35
+ export type LineDefinition = Message<"resources.v1.LineDefinition"> & {
36
+ /**
37
+ * @generated from field: string id = 1;
38
+ */
39
+ id: string;
40
+
41
+ /**
42
+ * @generated from field: string name = 2;
43
+ */
44
+ name: string;
45
+
46
+ /**
47
+ * @generated from field: string description = 3;
48
+ */
49
+ description: string;
50
+
51
+ /**
52
+ * @generated from field: string icon = 4;
53
+ */
54
+ icon: string;
55
+
56
+ /**
57
+ * Broad line classification. Keep optional until concrete line types are introduced.
58
+ *
59
+ * @generated from field: resources.v1.LineType type = 5;
60
+ */
61
+ type: LineType;
62
+
63
+ /**
64
+ * Current operational availability of the line as a whole.
65
+ *
66
+ * @generated from field: resources.v1.LineStatus status = 6;
67
+ */
68
+ status: LineStatus;
69
+
70
+ /**
71
+ * Maximum number of active/queued processes this line should host concurrently.
72
+ *
73
+ * @generated from field: int32 max_concurrent_processes = 7;
74
+ */
75
+ maxConcurrentProcesses: number;
76
+
77
+ /**
78
+ * Cells belonging to this line.
79
+ *
80
+ * @generated from field: repeated string cell_ids = 8;
81
+ */
82
+ cellIds: string[];
83
+
84
+ /**
85
+ * Optional directly attached stations when a line references stations without an intermediate cell.
86
+ *
87
+ * @generated from field: repeated string station_ids = 9;
88
+ */
89
+ stationIds: string[];
90
+
91
+ /**
92
+ * @generated from field: common.v1.CustomProperties custom = 10;
93
+ */
94
+ custom?: CustomProperties;
95
+ };
96
+
97
+ /**
98
+ * Describes the message resources.v1.LineDefinition.
99
+ * Use `create(LineDefinitionSchema)` to create a new message.
100
+ */
101
+ export const LineDefinitionSchema: GenMessage<LineDefinition> = /*@__PURE__*/
102
+ messageDesc(file_resources_v1_line_definition, 0);
103
+
104
+ /**
105
+ * @generated from message resources.v1.LineDefinitions
106
+ */
107
+ export type LineDefinitions = Message<"resources.v1.LineDefinitions"> & {
108
+ /**
109
+ * @generated from field: repeated resources.v1.LineDefinition items = 1;
110
+ */
111
+ items: LineDefinition[];
112
+ };
113
+
114
+ /**
115
+ * Describes the message resources.v1.LineDefinitions.
116
+ * Use `create(LineDefinitionsSchema)` to create a new message.
117
+ */
118
+ export const LineDefinitionsSchema: GenMessage<LineDefinitions> = /*@__PURE__*/
119
+ messageDesc(file_resources_v1_line_definition, 1);
120
+
121
+ /**
122
+ * @generated from enum resources.v1.LineType
123
+ */
124
+ export enum LineType {
125
+ /**
126
+ * @generated from enum value: LINE_TYPE_UNSPECIFIED = 0;
127
+ */
128
+ UNSPECIFIED = 0,
129
+ }
130
+
131
+ /**
132
+ * Describes the enum resources.v1.LineType.
133
+ */
134
+ export const LineTypeSchema: GenEnum<LineType> = /*@__PURE__*/
135
+ enumDesc(file_resources_v1_line_definition, 0);
136
+
137
+ /**
138
+ * LineStatus describes whether a production line can currently accept work.
139
+ *
140
+ * A line is a higher-level operational grouping of cells and/or stations.
141
+ * The loader can use this status as an early gate before checking specific
142
+ * cells, stations, and resources.
143
+ *
144
+ * Status should be interpreted as:
145
+ * - OPEN -> line can accept new work now
146
+ * - BUSY -> line is operational but currently occupied; queueing may still
147
+ * be allowed
148
+ * - CLOSED -> line is intentionally unavailable
149
+ * - BLOCKED -> line is unavailable due to fault, safety state, maintenance,
150
+ * or similar blocking condition
151
+ *
152
+ * This field is operational and should be considered together with
153
+ * max_concurrent_processes and the statuses of child cells/stations.
154
+ *
155
+ * @generated from enum resources.v1.LineStatus
156
+ */
157
+ export enum LineStatus {
158
+ /**
159
+ * @generated from enum value: LINE_STATUS_UNSPECIFIED = 0;
160
+ */
161
+ UNSPECIFIED = 0,
162
+
163
+ /**
164
+ * Line can accept new work now.
165
+ *
166
+ * @generated from enum value: LINE_STATUS_OPEN = 1;
167
+ */
168
+ OPEN = 1,
169
+
170
+ /**
171
+ * Line is currently occupied by one or more active runs.
172
+ * Depending on policy, new runs may still be queued.
173
+ *
174
+ * @generated from enum value: LINE_STATUS_BUSY = 2;
175
+ */
176
+ BUSY = 2,
177
+
178
+ /**
179
+ * Line is intentionally unavailable for loading or running work.
180
+ *
181
+ * @generated from enum value: LINE_STATUS_CLOSED = 3;
182
+ */
183
+ CLOSED = 3,
184
+
185
+ /**
186
+ * Line is temporarily unavailable due to fault, interlock,
187
+ * maintenance state, or similar blocking condition.
188
+ *
189
+ * @generated from enum value: LINE_STATUS_BLOCKED = 4;
190
+ */
191
+ BLOCKED = 4,
192
+ }
193
+
194
+ /**
195
+ * Describes the enum resources.v1.LineStatus.
196
+ */
197
+ export const LineStatusSchema: GenEnum<LineStatus> = /*@__PURE__*/
198
+ enumDesc(file_resources_v1_line_definition, 1);
199
+
@@ -16,9 +16,21 @@ import type { Message } from "@bufbuild/protobuf";
16
16
  * Describes the file resources/v1/station_definition.proto.
17
17
  */
18
18
  export const file_resources_v1_station_definition: GenFile = /*@__PURE__*/
19
- fileDesc("CiVyZXNvdXJjZXMvdjEvc3RhdGlvbl9kZWZpbml0aW9uLnByb3RvEgxyZXNvdXJjZXMudjEiigMKEVN0YXRpb25EZWZpbml0aW9uEgoKAmlkGAEgASgJEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARITCgtkZXNjcmlwdGlvbhgDIAEoCRIMCgRpY29uGAQgASgJEjEKBHR5cGUYBSABKA4yGS5yZXNvdXJjZXMudjEuU3RhdGlvblR5cGVCCLpIBYIBAhABEhkKEXRvb2xfaW5zdGFuY2VfaWRzGAYgAygJEh4KFmNvbnRhaW5lcl9pbnN0YW5jZV9pZHMYByADKAkSGgoScm9ib3RfaW5zdGFuY2VfaWRzGAggAygJEhoKEmFzc2V0X2luc3RhbmNlX2lkcxgJIAMoCRIbChNtYXJrZXJfaW5zdGFuY2VfaWRzGAogAygJEhIKCndvcmtlcl9pZHMYCyADKAkSKQoFZnJhbWUYDCABKAsyGi5nZW9tZXRyeS52MS5Mb2NhbGl6ZWRQb3NlEisKBmN1c3RvbRgNIAEoCzIbLmNvbW1vbi52MS5DdXN0b21Qcm9wZXJ0aWVzIkQKElN0YXRpb25EZWZpbml0aW9ucxIuCgVpdGVtcxgBIAMoCzIfLnJlc291cmNlcy52MS5TdGF0aW9uRGVmaW5pdGlvbiqrAQoLU3RhdGlvblR5cGUSHAoYU1RBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUU1RBVElPTl9UWVBFX1NUT1JBR0UQARIfChtTVEFUSU9OX1RZUEVfTUFOVUFMX1NUQVRJT04QAhIiCh5TVEFUSU9OX1RZUEVfQVVUT01BVElDX1NUQVRJT04QAxIfChtTVEFUSU9OX1RZUEVfSFlCUklEX1NUQVRJT04QBELDAQoQY29tLnJlc291cmNlcy52MUIWU3RhdGlvbkRlZmluaXRpb25Qcm90b1ABWj1naXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvcmVzb3VyY2VzL3YxO3Jlc291cmNlc3YxogIDUlhYqgIVTWVzc2FnZXMuUmVzb3VyY2VzLlYxygIMUmVzb3VyY2VzXFYx4gIYUmVzb3VyY2VzXFYxXEdQQk1ldGFkYXRh6gINUmVzb3VyY2VzOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_common_v1_custom_properties, file_geometry_v1_pose, file_validation_v1_predefined_string_rules]);
19
+ fileDesc("CiVyZXNvdXJjZXMvdjEvc3RhdGlvbl9kZWZpbml0aW9uLnByb3RvEgxyZXNvdXJjZXMudjEiigQKEVN0YXRpb25EZWZpbml0aW9uEgoKAmlkGAEgASgJEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARITCgtkZXNjcmlwdGlvbhgDIAEoCRIMCgRpY29uGAQgASgJEjEKBHR5cGUYBSABKA4yGS5yZXNvdXJjZXMudjEuU3RhdGlvblR5cGVCCLpIBYIBAhABEjUKBnN0YXR1cxgGIAEoDjIbLnJlc291cmNlcy52MS5TdGF0aW9uU3RhdHVzQgi6SAWCAQIQARIpChhtYXhfY29uY3VycmVudF9wcm9jZXNzZXMYByABKAVCB7pIBBoCKAASHAoUYWxsb3dfcXVldWVkX3Byb2Nlc3MYCCABKAgSGQoRdG9vbF9pbnN0YW5jZV9pZHMYCSADKAkSHgoWY29udGFpbmVyX2luc3RhbmNlX2lkcxgKIAMoCRIaChJyb2JvdF9pbnN0YW5jZV9pZHMYCyADKAkSGgoSYXNzZXRfaW5zdGFuY2VfaWRzGAwgAygJEhsKE21hcmtlcl9pbnN0YW5jZV9pZHMYDSADKAkSEgoKd29ya2VyX2lkcxgOIAMoCRIpCgVmcmFtZRgPIAEoCzIaLmdlb21ldHJ5LnYxLkxvY2FsaXplZFBvc2USKwoGY3VzdG9tGBAgASgLMhsuY29tbW9uLnYxLkN1c3RvbVByb3BlcnRpZXMiRAoSU3RhdGlvbkRlZmluaXRpb25zEi4KBWl0ZW1zGAEgAygLMh8ucmVzb3VyY2VzLnYxLlN0YXRpb25EZWZpbml0aW9uKqsBCgtTdGF0aW9uVHlwZRIcChhTVEFUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIYChRTVEFUSU9OX1RZUEVfU1RPUkFHRRABEh8KG1NUQVRJT05fVFlQRV9NQU5VQUxfU1RBVElPThACEiIKHlNUQVRJT05fVFlQRV9BVVRPTUFUSUNfU1RBVElPThADEh8KG1NUQVRJT05fVFlQRV9IWUJSSURfU1RBVElPThAEKpgBCg1TdGF0aW9uU3RhdHVzEh4KGlNUQVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASFwoTU1RBVElPTl9TVEFUVVNfT1BFThABEhcKE1NUQVRJT05fU1RBVFVTX0JVU1kQAhIZChVTVEFUSU9OX1NUQVRVU19DTE9TRUQQAxIaChZTVEFUSU9OX1NUQVRVU19CTE9DS0VEEARCwwEKEGNvbS5yZXNvdXJjZXMudjFCFlN0YXRpb25EZWZpbml0aW9uUHJvdG9QAVo9Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3Jlc291cmNlcy92MTtyZXNvdXJjZXN2MaICA1JYWKoCFU1lc3NhZ2VzLlJlc291cmNlcy5WMcoCDFJlc291cmNlc1xWMeICGFJlc291cmNlc1xWMVxHUEJNZXRhZGF0YeoCDVJlc291cmNlczo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_common_v1_custom_properties, file_geometry_v1_pose, file_validation_v1_predefined_string_rules]);
20
20
 
21
21
  /**
22
+ * StationDefinition describes a concrete execution point inside a cell or line.
23
+ *
24
+ * A station is the most specific location where work is typically loaded,
25
+ * queued, executed, and tracked at runtime. Stations are therefore the primary
26
+ * target for task/resource matching in loader/planner logic.
27
+ *
28
+ * Typical station responsibilities:
29
+ * - host concrete task execution
30
+ * - own station-local tools, containers, robots, markers, and frame
31
+ * - expose operational state such as OPEN/BUSY/CLOSED/BLOCKED
32
+ * - optionally allow queueing when already occupied
33
+ *
22
34
  * @generated from message resources.v1.StationDefinition
23
35
  */
24
36
  export type StationDefinition = Message<"resources.v1.StationDefinition"> & {
@@ -43,51 +55,84 @@ export type StationDefinition = Message<"resources.v1.StationDefinition"> & {
43
55
  icon: string;
44
56
 
45
57
  /**
58
+ * Broad station classification, e.g. manual, automatic, or hybrid.
59
+ *
46
60
  * @generated from field: resources.v1.StationType type = 5;
47
61
  */
48
62
  type: StationType;
49
63
 
50
64
  /**
51
- * @generated from field: repeated string tool_instance_ids = 6;
65
+ * Current operational availability used by loaders, planners, and UIs.
66
+ *
67
+ * @generated from field: resources.v1.StationStatus status = 6;
68
+ */
69
+ status: StationStatus;
70
+
71
+ /**
72
+ * Maximum number of active/queued processes this station should host concurrently.
73
+ *
74
+ * @generated from field: int32 max_concurrent_processes = 7;
75
+ */
76
+ maxConcurrentProcesses: number;
77
+
78
+ /**
79
+ * If true, loaders may create queued ProcessRuns when the station is BUSY.
80
+ *
81
+ * @generated from field: bool allow_queued_process = 8;
82
+ */
83
+ allowQueuedProcess: boolean;
84
+
85
+ /**
86
+ * Station-local tools mounted, parked, or otherwise directly available here.
87
+ *
88
+ * @generated from field: repeated string tool_instance_ids = 9;
52
89
  */
53
90
  toolInstanceIds: string[];
54
91
 
55
92
  /**
56
- * @generated from field: repeated string container_instance_ids = 7;
93
+ * Station-local fixtures, trays, pallets, bins, or other concrete containers.
94
+ *
95
+ * @generated from field: repeated string container_instance_ids = 10;
57
96
  */
58
97
  containerInstanceIds: string[];
59
98
 
60
99
  /**
61
- * @generated from field: repeated string robot_instance_ids = 8;
100
+ * Robots directly assigned to or executing within this station.
101
+ *
102
+ * @generated from field: repeated string robot_instance_ids = 11;
62
103
  */
63
104
  robotInstanceIds: string[];
64
105
 
65
106
  /**
66
- * @generated from field: repeated string asset_instance_ids = 9;
107
+ * Station-local assets such as cameras, HMIs, feeders, or sensors.
108
+ *
109
+ * @generated from field: repeated string asset_instance_ids = 12;
67
110
  */
68
111
  assetInstanceIds: string[];
69
112
 
70
113
  /**
71
- * move to cell?
114
+ * Markers used specifically at this station for localization, AR anchoring, or identification.
72
115
  *
73
- * @generated from field: repeated string marker_instance_ids = 10;
116
+ * @generated from field: repeated string marker_instance_ids = 13;
74
117
  */
75
118
  markerInstanceIds: string[];
76
119
 
77
120
  /**
78
- * move to cell?
121
+ * Workers explicitly assigned to this station. Use cell-level worker_ids for shared pools.
79
122
  *
80
- * @generated from field: repeated string worker_ids = 11;
123
+ * @generated from field: repeated string worker_ids = 14;
81
124
  */
82
125
  workerIds: string[];
83
126
 
84
127
  /**
85
- * @generated from field: geometry.v1.LocalizedPose frame = 12;
128
+ * Station-local reference frame used for runtime bindings, AR anchoring, and execution geometry.
129
+ *
130
+ * @generated from field: geometry.v1.LocalizedPose frame = 15;
86
131
  */
87
132
  frame?: LocalizedPose;
88
133
 
89
134
  /**
90
- * @generated from field: common.v1.CustomProperties custom = 13;
135
+ * @generated from field: common.v1.CustomProperties custom = 16;
91
136
  */
92
137
  custom?: CustomProperties;
93
138
  };
@@ -152,3 +197,64 @@ export enum StationType {
152
197
  export const StationTypeSchema: GenEnum<StationType> = /*@__PURE__*/
153
198
  enumDesc(file_resources_v1_station_definition, 0);
154
199
 
200
+ /**
201
+ * StationStatus describes whether a station can currently accept or execute work.
202
+ *
203
+ * This is an operational/runtime-oriented state used by loaders, planners,
204
+ * dispatchers, and UIs when deciding whether a ProcessRun can be started here.
205
+ *
206
+ * Status should be interpreted as:
207
+ * - OPEN -> can accept new work now
208
+ * - BUSY -> currently occupied; may still allow queueing
209
+ * - CLOSED -> intentionally unavailable for new work
210
+ * - BLOCKED -> unavailable due to a fault, interlock, maintenance lock, or
211
+ * other condition that should prevent execution
212
+ *
213
+ * A station may also expose capacity constraints through
214
+ * max_concurrent_processes, which is separate from this status field.
215
+ *
216
+ * @generated from enum resources.v1.StationStatus
217
+ */
218
+ export enum StationStatus {
219
+ /**
220
+ * @generated from enum value: STATION_STATUS_UNSPECIFIED = 0;
221
+ */
222
+ UNSPECIFIED = 0,
223
+
224
+ /**
225
+ * Station can accept new work now.
226
+ *
227
+ * @generated from enum value: STATION_STATUS_OPEN = 1;
228
+ */
229
+ OPEN = 1,
230
+
231
+ /**
232
+ * Station is currently occupied by one or more active runs.
233
+ * Depending on loader policy and allow_queued_process, new runs may be queued.
234
+ *
235
+ * @generated from enum value: STATION_STATUS_BUSY = 2;
236
+ */
237
+ BUSY = 2,
238
+
239
+ /**
240
+ * Station is intentionally unavailable for loading or running work.
241
+ *
242
+ * @generated from enum value: STATION_STATUS_CLOSED = 3;
243
+ */
244
+ CLOSED = 3,
245
+
246
+ /**
247
+ * Station is temporarily unavailable due to fault, safety interlock,
248
+ * maintenance state, missing prerequisite, or similar blocking condition.
249
+ *
250
+ * @generated from enum value: STATION_STATUS_BLOCKED = 4;
251
+ */
252
+ BLOCKED = 4,
253
+ }
254
+
255
+ /**
256
+ * Describes the enum resources.v1.StationStatus.
257
+ */
258
+ export const StationStatusSchema: GenEnum<StationStatus> = /*@__PURE__*/
259
+ enumDesc(file_resources_v1_station_definition, 1);
260
+