@milaboratories/pl-client 2.18.5 → 3.0.0

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 (52) hide show
  1. package/dist/core/ll_client.cjs +11 -5
  2. package/dist/core/ll_client.cjs.map +1 -1
  3. package/dist/core/ll_client.js +12 -6
  4. package/dist/core/ll_client.js.map +1 -1
  5. package/dist/core/transaction.cjs +2 -2
  6. package/dist/core/transaction.cjs.map +1 -1
  7. package/dist/core/transaction.js +2 -2
  8. package/dist/core/transaction.js.map +1 -1
  9. package/dist/core/type_conversion.cjs +1 -1
  10. package/dist/core/type_conversion.cjs.map +1 -1
  11. package/dist/core/type_conversion.js +1 -1
  12. package/dist/core/type_conversion.js.map +1 -1
  13. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.cjs +1957 -256
  14. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.cjs.map +1 -1
  15. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.cjs +59 -9
  16. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.cjs.map +1 -1
  17. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.d.ts +74 -4
  18. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.js +59 -9
  19. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.js.map +1 -1
  20. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.d.ts +658 -51
  21. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.js +1957 -257
  22. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.js.map +1 -1
  23. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.cjs +247 -17
  24. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.cjs.map +1 -1
  25. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.d.ts +104 -10
  26. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.js +247 -17
  27. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.js.map +1 -1
  28. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.cjs +26 -12
  29. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.cjs.map +1 -1
  30. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.d.ts +4 -0
  31. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.js +26 -12
  32. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.js.map +1 -1
  33. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.cjs +11 -0
  34. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.cjs.map +1 -1
  35. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.d.ts +4 -0
  36. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.js +11 -0
  37. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.js.map +1 -1
  38. package/dist/proto-rest/plapi.d.ts +281 -28
  39. package/package.json +2 -2
  40. package/src/core/ll_client.ts +9 -2
  41. package/src/core/transaction.ts +33 -8
  42. package/src/core/type_conversion.ts +1 -1
  43. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.ts +119 -15
  44. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.ts +2270 -322
  45. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.ts +276 -20
  46. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.ts +11 -0
  47. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/import.ts +2 -2
  48. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.ts +11 -0
  49. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/ws-test.ts +3 -3
  50. package/src/proto-grpc/google/protobuf/descriptor.ts +2 -5
  51. package/src/proto-grpc/google/protobuf/struct.ts +1 -1
  52. package/src/proto-rest/plapi.ts +293 -22
@@ -1,6 +1,6 @@
1
+ import { Timestamp } from "../../../../../google/protobuf/timestamp.js";
1
2
  import { FieldRef, FieldType, ResourceType } from "./base_types.js";
2
3
  import { NotificationFilter_Payload } from "./resource_types.js";
3
- import { Timestamp } from "../../../../../google/protobuf/timestamp.js";
4
4
  import { BinaryReadOptions, BinaryWriteOptions, IBinaryReader, IBinaryWriter, MessageType, PartialMessage } from "@protobuf-ts/runtime";
5
5
 
6
6
  //#region src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.d.ts
@@ -22,9 +22,13 @@ interface Tx {
22
22
  */
23
23
  interface Resource {
24
24
  /**
25
- * @generated from protobuf field: uint64 id = 2
25
+ * @generated from protobuf field: uint64 resource_id = 2
26
26
  */
27
- id: bigint;
27
+ resourceId: bigint;
28
+ /**
29
+ * @generated from protobuf field: optional bytes resource_signature = 18
30
+ */
31
+ resourceSignature?: Uint8Array;
28
32
  /**
29
33
  * @generated from protobuf field: bytes canonical_id = 17
30
34
  */
@@ -133,17 +137,24 @@ interface Field {
133
137
  */
134
138
  features?: Resource_Features;
135
139
  /**
136
- * _resolved_ value of field or _assigned_ if the field was assigned to a resource.
137
- * If field refers to another field, it will get
138
- * value only when this chain of references ends up with direct resource
139
- * reference. At that moment all fields in the chain will get their values
140
+ * _resolved_ value of a field or _assigned_ if the field was assigned to a resource.
141
+ * If a field refers to another field, it will get
142
+ * a value only when this chain of references ends up with a direct resource
143
+ * reference. At that moment, all fields in the chain will get their values
140
144
  * resolved and will start to refer to the same resource directly.
141
145
  *
142
146
  * @generated from protobuf field: uint64 value = 5
143
147
  */
144
148
  value: bigint;
145
149
  /**
146
- * If the value was empty, assigned or finally resolved.
150
+ * Signature for value resource ID, inheriting the parent resource's color.
151
+ * Populated server-side when the parent resource has a known color in the current TX.
152
+ *
153
+ * @generated from protobuf field: optional bytes value_signature = 10
154
+ */
155
+ valueSignature?: Uint8Array;
156
+ /**
157
+ * Whether the value is empty, assigned, or finally resolved.
147
158
  *
148
159
  * @generated from protobuf field: MiLaboratories.PL.API.Field.ValueStatus value_status = 7
149
160
  */
@@ -155,12 +166,18 @@ interface Field {
155
166
  */
156
167
  valueIsFinal: boolean;
157
168
  /**
158
- * Resource error resource id if any.
159
- * Is intended to report problems _from_ platform to client.
169
+ * Error resource ID, if any.
170
+ * Is intended to report problems _from_ the platform to the client.
160
171
  *
161
172
  * @generated from protobuf field: uint64 error = 6
162
173
  */
163
174
  error: bigint;
175
+ /**
176
+ * Signature for error resource ID, inheriting the parent resource's color.
177
+ *
178
+ * @generated from protobuf field: optional bytes error_signature = 11
179
+ */
180
+ errorSignature?: Uint8Array;
164
181
  }
165
182
  /**
166
183
  * @generated from protobuf enum MiLaboratories.PL.API.Field.ValueStatus
@@ -290,6 +307,10 @@ interface Notification_Events {
290
307
  * @generated from protobuf field: bool dynamic_changed = 10
291
308
  */
292
309
  dynamicChanged: boolean;
310
+ /**
311
+ * @generated from protobuf field: bool resource_recovered = 17
312
+ */
313
+ resourceRecovered: boolean;
293
314
  }
294
315
  /**
295
316
  * @generated from protobuf message MiLaboratories.PL.API.Notification.FieldChange
@@ -348,6 +369,67 @@ interface ResourceSchema {
348
369
  * @generated from protobuf field: repeated MiLaboratories.PL.API.FieldSchema fields = 2
349
370
  */
350
371
  fields: FieldSchema[];
372
+ /**
373
+ * Access restriction flags for non-controller roles
374
+ *
375
+ * @generated from protobuf field: optional MiLaboratories.PL.API.ResourceSchema.AccessFlags access_flags = 3
376
+ */
377
+ accessFlags?: ResourceSchema_AccessFlags;
378
+ /**
379
+ * @generated from protobuf field: bool free_inputs = 4
380
+ */
381
+ freeInputs: boolean;
382
+ /**
383
+ * @generated from protobuf field: bool free_outputs = 5
384
+ */
385
+ freeOutputs: boolean;
386
+ }
387
+ /**
388
+ * @generated from protobuf message MiLaboratories.PL.API.ResourceSchema.AccessFlags
389
+ */
390
+ interface ResourceSchema_AccessFlags {
391
+ /**
392
+ * Deny-list approach: default = allowed (true)
393
+ * Controllers set these to false to restrict non-controller roles (role='u', role='w')
394
+ *
395
+ * @generated from protobuf field: optional bool create_resource = 1
396
+ */
397
+ createResource?: boolean;
398
+ /**
399
+ * IMPORTANT: read_fields=false with write_fields=true is a forbidden combination
400
+ *
401
+ * @generated from protobuf field: optional bool read_fields = 2
402
+ */
403
+ readFields?: boolean;
404
+ /**
405
+ * @generated from protobuf field: optional bool write_fields = 3
406
+ */
407
+ writeFields?: boolean;
408
+ /**
409
+ * IMPORTANT: read_kv=false with write_kv=true is a forbidden combination
410
+ *
411
+ * @generated from protobuf field: optional bool read_kv = 4
412
+ */
413
+ readKv?: boolean;
414
+ /**
415
+ * @generated from protobuf field: optional bool write_kv = 5
416
+ */
417
+ writeKv?: boolean;
418
+ /**
419
+ * Per-field-type overrides (map: field_type → bool)
420
+ * When defined for a field type, overrides resource-level flags
421
+ *
422
+ * @generated from protobuf field: map<uint32, bool> read_by_field_type = 6
423
+ */
424
+ readByFieldType: {
425
+ [key: number]: boolean;
426
+ };
427
+ /**
428
+ * @generated from protobuf field: map<uint32, bool> write_by_field_type = 7
429
+ */
430
+ writeByFieldType: {
431
+ [key: number]: boolean;
432
+ };
351
433
  }
352
434
  /**
353
435
  * @generated from protobuf message MiLaboratories.PL.API.FieldSchema
@@ -485,6 +567,18 @@ declare class ResourceSchema$Type extends MessageType<ResourceSchema> {
485
567
  * @generated MessageType for protobuf message MiLaboratories.PL.API.ResourceSchema
486
568
  */
487
569
  declare const ResourceSchema: ResourceSchema$Type;
570
+ declare class ResourceSchema_AccessFlags$Type extends MessageType<ResourceSchema_AccessFlags> {
571
+ constructor();
572
+ create(value?: PartialMessage<ResourceSchema_AccessFlags>): ResourceSchema_AccessFlags;
573
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ResourceSchema_AccessFlags): ResourceSchema_AccessFlags;
574
+ private binaryReadMap6;
575
+ private binaryReadMap7;
576
+ internalBinaryWrite(message: ResourceSchema_AccessFlags, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
577
+ }
578
+ /**
579
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.ResourceSchema.AccessFlags
580
+ */
581
+ declare const ResourceSchema_AccessFlags: ResourceSchema_AccessFlags$Type;
488
582
  declare class FieldSchema$Type extends MessageType<FieldSchema> {
489
583
  constructor();
490
584
  create(value?: PartialMessage<FieldSchema>): FieldSchema;
@@ -1,6 +1,6 @@
1
+ import { Timestamp } from "../../../../../google/protobuf/timestamp.js";
1
2
  import { FieldRef, FieldType, ResourceType } from "./base_types.js";
2
3
  import { NotificationFilter_Payload } from "./resource_types.js";
3
- import { Timestamp } from "../../../../../google/protobuf/timestamp.js";
4
4
  import { MessageType, UnknownFieldHandler, WireType, reflectionMergePartial } from "@protobuf-ts/runtime";
5
5
 
6
6
  //#region src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.ts
@@ -103,11 +103,18 @@ var Resource$Type = class extends MessageType {
103
103
  super("MiLaboratories.PL.API.Resource", [
104
104
  {
105
105
  no: 2,
106
- name: "id",
106
+ name: "resource_id",
107
107
  kind: "scalar",
108
108
  T: 4,
109
109
  L: 0
110
110
  },
111
+ {
112
+ no: 18,
113
+ name: "resource_signature",
114
+ kind: "scalar",
115
+ opt: true,
116
+ T: 12
117
+ },
111
118
  {
112
119
  no: 17,
113
120
  name: "canonical_id",
@@ -209,7 +216,7 @@ var Resource$Type = class extends MessageType {
209
216
  }
210
217
  create(value) {
211
218
  const message = globalThis.Object.create(this.messagePrototype);
212
- message.id = 0n;
219
+ message.resourceId = 0n;
213
220
  message.canonicalId = new Uint8Array(0);
214
221
  message.kind = 0;
215
222
  message.data = new Uint8Array(0);
@@ -230,7 +237,10 @@ var Resource$Type = class extends MessageType {
230
237
  let [fieldNo, wireType] = reader.tag();
231
238
  switch (fieldNo) {
232
239
  case 2:
233
- message.id = reader.uint64().toBigInt();
240
+ message.resourceId = reader.uint64().toBigInt();
241
+ break;
242
+ case 18:
243
+ message.resourceSignature = reader.bytes();
234
244
  break;
235
245
  case 17:
236
246
  message.canonicalId = reader.bytes();
@@ -287,7 +297,7 @@ var Resource$Type = class extends MessageType {
287
297
  return message;
288
298
  }
289
299
  internalBinaryWrite(message, writer, options) {
290
- if (message.id !== 0n) writer.tag(2, WireType.Varint).uint64(message.id);
300
+ if (message.resourceId !== 0n) writer.tag(2, WireType.Varint).uint64(message.resourceId);
291
301
  if (message.kind !== 0) writer.tag(3, WireType.Varint).int32(message.kind);
292
302
  if (message.type) ResourceType.internalBinaryWrite(message.type, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
293
303
  if (message.data.length) writer.tag(5, WireType.LengthDelimited).bytes(message.data);
@@ -303,6 +313,7 @@ var Resource$Type = class extends MessageType {
303
313
  if (message.isFinal !== false) writer.tag(15, WireType.Varint).bool(message.isFinal);
304
314
  if (message.features) Resource_Features.internalBinaryWrite(message.features, writer.tag(16, WireType.LengthDelimited).fork(), options).join();
305
315
  if (message.canonicalId.length) writer.tag(17, WireType.LengthDelimited).bytes(message.canonicalId);
316
+ if (message.resourceSignature !== void 0) writer.tag(18, WireType.LengthDelimited).bytes(message.resourceSignature);
306
317
  let u = options.writeUnknownFields;
307
318
  if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
308
319
  return writer;
@@ -383,6 +394,13 @@ var Field$Type = class extends MessageType {
383
394
  T: 4,
384
395
  L: 0
385
396
  },
397
+ {
398
+ no: 10,
399
+ name: "value_signature",
400
+ kind: "scalar",
401
+ opt: true,
402
+ T: 12
403
+ },
386
404
  {
387
405
  no: 7,
388
406
  name: "value_status",
@@ -401,6 +419,13 @@ var Field$Type = class extends MessageType {
401
419
  kind: "scalar",
402
420
  T: 4,
403
421
  L: 0
422
+ },
423
+ {
424
+ no: 11,
425
+ name: "error_signature",
426
+ kind: "scalar",
427
+ opt: true,
428
+ T: 12
404
429
  }
405
430
  ]);
406
431
  }
@@ -431,6 +456,9 @@ var Field$Type = class extends MessageType {
431
456
  case 5:
432
457
  message.value = reader.uint64().toBigInt();
433
458
  break;
459
+ case 10:
460
+ message.valueSignature = reader.bytes();
461
+ break;
434
462
  case 7:
435
463
  message.valueStatus = reader.int32();
436
464
  break;
@@ -440,6 +468,9 @@ var Field$Type = class extends MessageType {
440
468
  case 6:
441
469
  message.error = reader.uint64().toBigInt();
442
470
  break;
471
+ case 11:
472
+ message.errorSignature = reader.bytes();
473
+ break;
443
474
  default:
444
475
  let u = options.readUnknownField;
445
476
  if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
@@ -457,6 +488,8 @@ var Field$Type = class extends MessageType {
457
488
  if (message.error !== 0n) writer.tag(6, WireType.Varint).uint64(message.error);
458
489
  if (message.valueStatus !== 0) writer.tag(7, WireType.Varint).int32(message.valueStatus);
459
490
  if (message.valueIsFinal !== false) writer.tag(8, WireType.Varint).bool(message.valueIsFinal);
491
+ if (message.valueSignature !== void 0) writer.tag(10, WireType.LengthDelimited).bytes(message.valueSignature);
492
+ if (message.errorSignature !== void 0) writer.tag(11, WireType.LengthDelimited).bytes(message.errorSignature);
460
493
  let u = options.writeUnknownFields;
461
494
  if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
462
495
  return writer;
@@ -715,6 +748,12 @@ var Notification_Events$Type = class extends MessageType {
715
748
  name: "dynamic_changed",
716
749
  kind: "scalar",
717
750
  T: 8
751
+ },
752
+ {
753
+ no: 17,
754
+ name: "resource_recovered",
755
+ kind: "scalar",
756
+ T: 8
718
757
  }
719
758
  ]);
720
759
  }
@@ -735,6 +774,7 @@ var Notification_Events$Type = class extends MessageType {
735
774
  message.allOutputsSet = false;
736
775
  message.genericOtwSet = false;
737
776
  message.dynamicChanged = false;
777
+ message.resourceRecovered = false;
738
778
  if (value !== void 0) reflectionMergePartial(this, message, value);
739
779
  return message;
740
780
  }
@@ -788,6 +828,9 @@ var Notification_Events$Type = class extends MessageType {
788
828
  case 10:
789
829
  message.dynamicChanged = reader.bool();
790
830
  break;
831
+ case 17:
832
+ message.resourceRecovered = reader.bool();
833
+ break;
791
834
  default:
792
835
  let u = options.readUnknownField;
793
836
  if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
@@ -813,6 +856,7 @@ var Notification_Events$Type = class extends MessageType {
813
856
  if (message.genericOtwSet !== false) writer.tag(14, WireType.Varint).bool(message.genericOtwSet);
814
857
  if (message.resourceError !== false) writer.tag(15, WireType.Varint).bool(message.resourceError);
815
858
  if (message.fieldGotError !== false) writer.tag(16, WireType.Varint).bool(message.fieldGotError);
859
+ if (message.resourceRecovered !== false) writer.tag(17, WireType.Varint).bool(message.resourceRecovered);
816
860
  let u = options.writeUnknownFields;
817
861
  if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
818
862
  return writer;
@@ -1071,22 +1115,45 @@ var Controller$Type = class extends MessageType {
1071
1115
  const Controller = new Controller$Type();
1072
1116
  var ResourceSchema$Type = class extends MessageType {
1073
1117
  constructor() {
1074
- super("MiLaboratories.PL.API.ResourceSchema", [{
1075
- no: 1,
1076
- name: "type",
1077
- kind: "message",
1078
- T: () => ResourceType
1079
- }, {
1080
- no: 2,
1081
- name: "fields",
1082
- kind: "message",
1083
- repeat: 2,
1084
- T: () => FieldSchema
1085
- }]);
1118
+ super("MiLaboratories.PL.API.ResourceSchema", [
1119
+ {
1120
+ no: 1,
1121
+ name: "type",
1122
+ kind: "message",
1123
+ T: () => ResourceType
1124
+ },
1125
+ {
1126
+ no: 2,
1127
+ name: "fields",
1128
+ kind: "message",
1129
+ repeat: 2,
1130
+ T: () => FieldSchema
1131
+ },
1132
+ {
1133
+ no: 3,
1134
+ name: "access_flags",
1135
+ kind: "message",
1136
+ T: () => ResourceSchema_AccessFlags
1137
+ },
1138
+ {
1139
+ no: 4,
1140
+ name: "free_inputs",
1141
+ kind: "scalar",
1142
+ T: 8
1143
+ },
1144
+ {
1145
+ no: 5,
1146
+ name: "free_outputs",
1147
+ kind: "scalar",
1148
+ T: 8
1149
+ }
1150
+ ]);
1086
1151
  }
1087
1152
  create(value) {
1088
1153
  const message = globalThis.Object.create(this.messagePrototype);
1089
1154
  message.fields = [];
1155
+ message.freeInputs = false;
1156
+ message.freeOutputs = false;
1090
1157
  if (value !== void 0) reflectionMergePartial(this, message, value);
1091
1158
  return message;
1092
1159
  }
@@ -1101,6 +1168,15 @@ var ResourceSchema$Type = class extends MessageType {
1101
1168
  case 2:
1102
1169
  message.fields.push(FieldSchema.internalBinaryRead(reader, reader.uint32(), options));
1103
1170
  break;
1171
+ case 3:
1172
+ message.accessFlags = ResourceSchema_AccessFlags.internalBinaryRead(reader, reader.uint32(), options, message.accessFlags);
1173
+ break;
1174
+ case 4:
1175
+ message.freeInputs = reader.bool();
1176
+ break;
1177
+ case 5:
1178
+ message.freeOutputs = reader.bool();
1179
+ break;
1104
1180
  default:
1105
1181
  let u = options.readUnknownField;
1106
1182
  if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
@@ -1113,6 +1189,9 @@ var ResourceSchema$Type = class extends MessageType {
1113
1189
  internalBinaryWrite(message, writer, options) {
1114
1190
  if (message.type) ResourceType.internalBinaryWrite(message.type, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1115
1191
  for (let i = 0; i < message.fields.length; i++) FieldSchema.internalBinaryWrite(message.fields[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
1192
+ if (message.accessFlags) ResourceSchema_AccessFlags.internalBinaryWrite(message.accessFlags, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
1193
+ if (message.freeInputs !== false) writer.tag(4, WireType.Varint).bool(message.freeInputs);
1194
+ if (message.freeOutputs !== false) writer.tag(5, WireType.Varint).bool(message.freeOutputs);
1116
1195
  let u = options.writeUnknownFields;
1117
1196
  if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1118
1197
  return writer;
@@ -1122,6 +1201,157 @@ var ResourceSchema$Type = class extends MessageType {
1122
1201
  * @generated MessageType for protobuf message MiLaboratories.PL.API.ResourceSchema
1123
1202
  */
1124
1203
  const ResourceSchema = new ResourceSchema$Type();
1204
+ var ResourceSchema_AccessFlags$Type = class extends MessageType {
1205
+ constructor() {
1206
+ super("MiLaboratories.PL.API.ResourceSchema.AccessFlags", [
1207
+ {
1208
+ no: 1,
1209
+ name: "create_resource",
1210
+ kind: "scalar",
1211
+ opt: true,
1212
+ T: 8
1213
+ },
1214
+ {
1215
+ no: 2,
1216
+ name: "read_fields",
1217
+ kind: "scalar",
1218
+ opt: true,
1219
+ T: 8
1220
+ },
1221
+ {
1222
+ no: 3,
1223
+ name: "write_fields",
1224
+ kind: "scalar",
1225
+ opt: true,
1226
+ T: 8
1227
+ },
1228
+ {
1229
+ no: 4,
1230
+ name: "read_kv",
1231
+ kind: "scalar",
1232
+ opt: true,
1233
+ T: 8
1234
+ },
1235
+ {
1236
+ no: 5,
1237
+ name: "write_kv",
1238
+ kind: "scalar",
1239
+ opt: true,
1240
+ T: 8
1241
+ },
1242
+ {
1243
+ no: 6,
1244
+ name: "read_by_field_type",
1245
+ kind: "map",
1246
+ K: 13,
1247
+ V: {
1248
+ kind: "scalar",
1249
+ T: 8
1250
+ }
1251
+ },
1252
+ {
1253
+ no: 7,
1254
+ name: "write_by_field_type",
1255
+ kind: "map",
1256
+ K: 13,
1257
+ V: {
1258
+ kind: "scalar",
1259
+ T: 8
1260
+ }
1261
+ }
1262
+ ]);
1263
+ }
1264
+ create(value) {
1265
+ const message = globalThis.Object.create(this.messagePrototype);
1266
+ message.readByFieldType = {};
1267
+ message.writeByFieldType = {};
1268
+ if (value !== void 0) reflectionMergePartial(this, message, value);
1269
+ return message;
1270
+ }
1271
+ internalBinaryRead(reader, length, options, target) {
1272
+ let message = target ?? this.create(), end = reader.pos + length;
1273
+ while (reader.pos < end) {
1274
+ let [fieldNo, wireType] = reader.tag();
1275
+ switch (fieldNo) {
1276
+ case 1:
1277
+ message.createResource = reader.bool();
1278
+ break;
1279
+ case 2:
1280
+ message.readFields = reader.bool();
1281
+ break;
1282
+ case 3:
1283
+ message.writeFields = reader.bool();
1284
+ break;
1285
+ case 4:
1286
+ message.readKv = reader.bool();
1287
+ break;
1288
+ case 5:
1289
+ message.writeKv = reader.bool();
1290
+ break;
1291
+ case 6:
1292
+ this.binaryReadMap6(message.readByFieldType, reader, options);
1293
+ break;
1294
+ case 7:
1295
+ this.binaryReadMap7(message.writeByFieldType, reader, options);
1296
+ break;
1297
+ default:
1298
+ let u = options.readUnknownField;
1299
+ if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1300
+ let d = reader.skip(wireType);
1301
+ if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1302
+ }
1303
+ }
1304
+ return message;
1305
+ }
1306
+ binaryReadMap6(map, reader, options) {
1307
+ let len = reader.uint32(), end = reader.pos + len, key, val;
1308
+ while (reader.pos < end) {
1309
+ let [fieldNo, wireType] = reader.tag();
1310
+ switch (fieldNo) {
1311
+ case 1:
1312
+ key = reader.uint32();
1313
+ break;
1314
+ case 2:
1315
+ val = reader.bool();
1316
+ break;
1317
+ default: throw new globalThis.Error("unknown map entry field for MiLaboratories.PL.API.ResourceSchema.AccessFlags.read_by_field_type");
1318
+ }
1319
+ }
1320
+ map[key ?? 0] = val ?? false;
1321
+ }
1322
+ binaryReadMap7(map, reader, options) {
1323
+ let len = reader.uint32(), end = reader.pos + len, key, val;
1324
+ while (reader.pos < end) {
1325
+ let [fieldNo, wireType] = reader.tag();
1326
+ switch (fieldNo) {
1327
+ case 1:
1328
+ key = reader.uint32();
1329
+ break;
1330
+ case 2:
1331
+ val = reader.bool();
1332
+ break;
1333
+ default: throw new globalThis.Error("unknown map entry field for MiLaboratories.PL.API.ResourceSchema.AccessFlags.write_by_field_type");
1334
+ }
1335
+ }
1336
+ map[key ?? 0] = val ?? false;
1337
+ }
1338
+ internalBinaryWrite(message, writer, options) {
1339
+ if (message.createResource !== void 0) writer.tag(1, WireType.Varint).bool(message.createResource);
1340
+ if (message.readFields !== void 0) writer.tag(2, WireType.Varint).bool(message.readFields);
1341
+ if (message.writeFields !== void 0) writer.tag(3, WireType.Varint).bool(message.writeFields);
1342
+ if (message.readKv !== void 0) writer.tag(4, WireType.Varint).bool(message.readKv);
1343
+ if (message.writeKv !== void 0) writer.tag(5, WireType.Varint).bool(message.writeKv);
1344
+ for (let k of globalThis.Object.keys(message.readByFieldType)) writer.tag(6, WireType.LengthDelimited).fork().tag(1, WireType.Varint).uint32(parseInt(k)).tag(2, WireType.Varint).bool(message.readByFieldType[k]).join();
1345
+ for (let k of globalThis.Object.keys(message.writeByFieldType)) writer.tag(7, WireType.LengthDelimited).fork().tag(1, WireType.Varint).uint32(parseInt(k)).tag(2, WireType.Varint).bool(message.writeByFieldType[k]).join();
1346
+ let u = options.writeUnknownFields;
1347
+ if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1348
+ return writer;
1349
+ }
1350
+ };
1351
+ /**
1352
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.ResourceSchema.AccessFlags
1353
+ */
1354
+ const ResourceSchema_AccessFlags = new ResourceSchema_AccessFlags$Type();
1125
1355
  var FieldSchema$Type = class extends MessageType {
1126
1356
  constructor() {
1127
1357
  super("MiLaboratories.PL.API.FieldSchema", [{