@boxa-devops/depo-shared 1.0.5 → 1.2.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.
package/src/api.ts CHANGED
@@ -963,6 +963,57 @@ export interface paths {
963
963
  patch?: never;
964
964
  trace?: never;
965
965
  };
966
+ "/api/v1/admin/refs/loco-series/{code}/positions": {
967
+ parameters: {
968
+ query?: never;
969
+ header?: never;
970
+ path?: never;
971
+ cookie?: never;
972
+ };
973
+ /**
974
+ * List Series Positions
975
+ * @description Every type bound to this series, with the list it carries there.
976
+ *
977
+ * Types with no binding are deliberately absent rather than listed with their
978
+ * global list: the visualization has to be able to tell «this series says so»
979
+ * from «the type says so», and a merged view cannot.
980
+ */
981
+ get: operations["list_series_positions_api_v1_admin_refs_loco_series__code__positions_get"];
982
+ put?: never;
983
+ post?: never;
984
+ delete?: never;
985
+ options?: never;
986
+ head?: never;
987
+ patch?: never;
988
+ trace?: never;
989
+ };
990
+ "/api/v1/admin/refs/loco-series/{code}/positions/{nomenclature_id}": {
991
+ parameters: {
992
+ query?: never;
993
+ header?: never;
994
+ path?: never;
995
+ cookie?: never;
996
+ };
997
+ get?: never;
998
+ /**
999
+ * Bind Series Positions
1000
+ * @description Create or replace the binding. Idempotent by (series, type).
1001
+ */
1002
+ put: operations["bind_series_positions_api_v1_admin_refs_loco_series__code__positions__nomenclature_id__put"];
1003
+ post?: never;
1004
+ /**
1005
+ * Unbind Series Positions
1006
+ * @description Drop the binding: the type falls back to its global positions list.
1007
+ *
1008
+ * Absent binding is not an error — the operator's intent («this series has no
1009
+ * list of its own») already holds.
1010
+ */
1011
+ delete: operations["unbind_series_positions_api_v1_admin_refs_loco_series__code__positions__nomenclature_id__delete"];
1012
+ options?: never;
1013
+ head?: never;
1014
+ patch?: never;
1015
+ trace?: never;
1016
+ };
966
1017
  "/api/v1/admin/refs/{entity}": {
967
1018
  parameters: {
968
1019
  query?: never;
@@ -2876,6 +2927,54 @@ export interface paths {
2876
2927
  patch?: never;
2877
2928
  trace?: never;
2878
2929
  };
2930
+ "/api/v1/refs/loco-sections": {
2931
+ parameters: {
2932
+ query?: never;
2933
+ header?: never;
2934
+ path?: never;
2935
+ cookie?: never;
2936
+ };
2937
+ /**
2938
+ * Loco Sections
2939
+ * @description The places a part sits on the machine — what the position picker draws.
2940
+ *
2941
+ * A hint catalogue (TZ §14): nothing validates `mount_position` against it,
2942
+ * a place typed by hand stays legal, and a client that has never heard of a
2943
+ * section simply does not light it.
2944
+ */
2945
+ get: operations["loco_sections_api_v1_refs_loco_sections_get"];
2946
+ put?: never;
2947
+ post?: never;
2948
+ delete?: never;
2949
+ options?: never;
2950
+ head?: never;
2951
+ patch?: never;
2952
+ trace?: never;
2953
+ };
2954
+ "/api/v1/refs/loco-series-positions": {
2955
+ parameters: {
2956
+ query?: never;
2957
+ header?: never;
2958
+ path?: never;
2959
+ cookie?: never;
2960
+ };
2961
+ /**
2962
+ * Loco Series Positions
2963
+ * @description Per-series mount positions, for the terminal's chips.
2964
+ *
2965
+ * A small dictionary by design: only the types whose positions differ from
2966
+ * the global `nomenclature.positions` have a row. The client applies it as an
2967
+ * override — series row first, global list otherwise.
2968
+ */
2969
+ get: operations["loco_series_positions_api_v1_refs_loco_series_positions_get"];
2970
+ put?: never;
2971
+ post?: never;
2972
+ delete?: never;
2973
+ options?: never;
2974
+ head?: never;
2975
+ patch?: never;
2976
+ trace?: never;
2977
+ };
2879
2978
  "/api/v1/refs/nomenclature": {
2880
2979
  parameters: {
2881
2980
  query?: never;
@@ -3227,6 +3326,46 @@ export interface paths {
3227
3326
  patch?: never;
3228
3327
  trace?: never;
3229
3328
  };
3329
+ "/api/v1/reports/kpi-trend": {
3330
+ parameters: {
3331
+ query?: never;
3332
+ header?: never;
3333
+ path?: never;
3334
+ cookie?: never;
3335
+ };
3336
+ /**
3337
+ * Kpi Trend
3338
+ * @description Daily series behind the dashboard tiles (what the tables can answer honestly).
3339
+ */
3340
+ get: operations["kpi_trend_api_v1_reports_kpi_trend_get"];
3341
+ put?: never;
3342
+ post?: never;
3343
+ delete?: never;
3344
+ options?: never;
3345
+ head?: never;
3346
+ patch?: never;
3347
+ trace?: never;
3348
+ };
3349
+ "/api/v1/reports/nav-counters": {
3350
+ parameters: {
3351
+ query?: never;
3352
+ header?: never;
3353
+ path?: never;
3354
+ cookie?: never;
3355
+ };
3356
+ /**
3357
+ * Nav Counters
3358
+ * @description Badge counts for the admin menu — three COUNTs, scoped to what the caller sees.
3359
+ */
3360
+ get: operations["nav_counters_api_v1_reports_nav_counters_get"];
3361
+ put?: never;
3362
+ post?: never;
3363
+ delete?: never;
3364
+ options?: never;
3365
+ head?: never;
3366
+ patch?: never;
3367
+ trace?: never;
3368
+ };
3230
3369
  "/api/v1/reports/open-orders": {
3231
3370
  parameters: {
3232
3371
  query?: never;
@@ -4200,6 +4339,95 @@ export interface paths {
4200
4339
  patch?: never;
4201
4340
  trace?: never;
4202
4341
  };
4342
+ "/api/v1/work-orders/measuring": {
4343
+ parameters: {
4344
+ query?: never;
4345
+ header?: never;
4346
+ path?: never;
4347
+ cookie?: never;
4348
+ };
4349
+ get?: never;
4350
+ put?: never;
4351
+ /**
4352
+ * Open Measuring Order
4353
+ * @description The measuring order of one visit — opened on the first ask, returned on
4354
+ * every later one (invariant 3: a replayed offline tap opens nothing new).
4355
+ */
4356
+ post: operations["open_measuring_order_api_v1_work_orders_measuring_post"];
4357
+ delete?: never;
4358
+ options?: never;
4359
+ head?: never;
4360
+ patch?: never;
4361
+ trace?: never;
4362
+ };
4363
+ "/api/v1/work-orders/measuring/{wo_id}/items": {
4364
+ parameters: {
4365
+ query?: never;
4366
+ header?: never;
4367
+ path?: never;
4368
+ cookie?: never;
4369
+ };
4370
+ /**
4371
+ * Measuring Items
4372
+ * @description What stands on this machine and can be measured, with its numbers, the
4373
+ * hints those numbers fire and the verdict already signed on it.
4374
+ */
4375
+ get: operations["measuring_items_api_v1_work_orders_measuring__wo_id__items_get"];
4376
+ put?: never;
4377
+ post?: never;
4378
+ delete?: never;
4379
+ options?: never;
4380
+ head?: never;
4381
+ patch?: never;
4382
+ trace?: never;
4383
+ };
4384
+ "/api/v1/work-orders/measuring/{wo_id}/verdict": {
4385
+ parameters: {
4386
+ query?: never;
4387
+ header?: never;
4388
+ path?: never;
4389
+ cookie?: never;
4390
+ };
4391
+ get?: never;
4392
+ put?: never;
4393
+ /**
4394
+ * Measuring Verdict
4395
+ * @description «Ремонтируем» / «Не трогаем» on one measured part, under the master's PIN.
4396
+ */
4397
+ post: operations["measuring_verdict_api_v1_work_orders_measuring__wo_id__verdict_post"];
4398
+ delete?: never;
4399
+ options?: never;
4400
+ head?: never;
4401
+ patch?: never;
4402
+ trace?: never;
4403
+ };
4404
+ "/api/v1/work-orders/measuring/{wo_id}/verdicts": {
4405
+ parameters: {
4406
+ query?: never;
4407
+ header?: never;
4408
+ path?: never;
4409
+ cookie?: never;
4410
+ };
4411
+ get?: never;
4412
+ put?: never;
4413
+ /**
4414
+ * Inspection Sign
4415
+ * @description The inspection pass: several parts decided at once, signed once.
4416
+ *
4417
+ * The single-part `/verdict` above stays what the master's own screen uses.
4418
+ * This one is the shop-floor walk — the man reads a handful of units, says
4419
+ * «good» or «this one», names himself by tab_no and PIN, and signs the lot.
4420
+ * One signature whose payload_hash covers every line (invariant 6), one
4421
+ * INSPECT event per part under a derived uuid, so a replayed tap of the whole
4422
+ * pass writes nothing twice (invariant 3).
4423
+ */
4424
+ post: operations["inspection_sign_api_v1_work_orders_measuring__wo_id__verdicts_post"];
4425
+ delete?: never;
4426
+ options?: never;
4427
+ head?: never;
4428
+ patch?: never;
4429
+ trace?: never;
4430
+ };
4203
4431
  "/api/v1/work-orders/{wo_id}/accept": {
4204
4432
  parameters: {
4205
4433
  query?: never;
@@ -4370,6 +4598,26 @@ export interface paths {
4370
4598
  patch?: never;
4371
4599
  trace?: never;
4372
4600
  };
4601
+ "/api/v1/work-orders/{wo_id}/tasks/{task_id}/cosign-op": {
4602
+ parameters: {
4603
+ query?: never;
4604
+ header?: never;
4605
+ path?: never;
4606
+ cookie?: never;
4607
+ };
4608
+ get?: never;
4609
+ put?: never;
4610
+ /**
4611
+ * Cosign Task Op
4612
+ * @description Start/pause/resume/finish one operation, verified by the fitter's card + PIN.
4613
+ */
4614
+ post: operations["cosign_task_op_api_v1_work_orders__wo_id__tasks__task_id__cosign_op_post"];
4615
+ delete?: never;
4616
+ options?: never;
4617
+ head?: never;
4618
+ patch?: never;
4619
+ trace?: never;
4620
+ };
4373
4621
  "/api/v1/work-orders/{wo_id}/work-accept-sign": {
4374
4622
  parameters: {
4375
4623
  query?: never;
@@ -6372,7 +6620,7 @@ export interface components {
6372
6620
  * @description discriminator enum property added by openapi-typescript
6373
6621
  * @enum {string}
6374
6622
  */
6375
- event_type: "RECEIVE_NEW" | "ISSUE_OUT" | "SEND_TO_REPAIR" | "QC_ACCEPT" | "QC_REJECT" | "STORE_IN" | "ASSEMBLE" | "DISASSEMBLE" | "SEND_TO_PLANT" | "RETURN_FROM_PLANT" | "PLANT_REJECT" | "COUNT" | "SCRAP" | "LOST";
6623
+ event_type: "RECEIVE_NEW" | "ISSUE_OUT" | "SEND_TO_REPAIR" | "QC_ACCEPT" | "QC_REJECT" | "ASSEMBLE" | "DISASSEMBLE" | "SEND_TO_PLANT" | "RETURN_FROM_PLANT" | "PLANT_REJECT" | "COUNT" | "SCRAP" | "LOST";
6376
6624
  };
6377
6625
  /** HTTPValidationError */
6378
6626
  HTTPValidationError: {
@@ -6770,7 +7018,16 @@ export interface components {
6770
7018
  /** Reason */
6771
7019
  reason?: string | null;
6772
7020
  };
6773
- /** InspectCommand */
7021
+ /**
7022
+ * InspectCommand
7023
+ * @description Defectation — and, since B21, the measuring pass under the machine.
7024
+ *
7025
+ * From INSTALLED it is a pure record: the numbers are taken, the rules speak,
7026
+ * and nothing moves until the master signs a verdict
7027
+ * (/work-orders/measuring/{id}/verdict). `work_order_id` + `task_id` point at
7028
+ * the measuring order of the visit, so the readings belong to an operation
7029
+ * like any other work.
7030
+ */
6774
7031
  InspectCommand: {
6775
7032
  /**
6776
7033
  * Item Id
@@ -6827,6 +7084,60 @@ export interface components {
6827
7084
  event_type: "INSPECT";
6828
7085
  /** Requested Status */
6829
7086
  requested_status?: "AWAITING_DISPOSITION" | null;
7087
+ /** Measurements */
7088
+ measurements?: components["schemas"]["MeasurementValueIn"][];
7089
+ };
7090
+ /**
7091
+ * InspectionSignIn
7092
+ * @description The whole inspection pass, signed once by the man who walked it.
7093
+ *
7094
+ * One signature over the list, not one per line: the pass is a single act of
7095
+ * a single person — he looked at these parts, in this order, and says this
7096
+ * about them. The payload_hash covers every line, so no line can be edited
7097
+ * out of a signed pass (invariant 6).
7098
+ *
7099
+ * He names himself the way a co-signature does (badge_uid under RFID, tab_no
7100
+ * under the TABEL pilot, PIN in both): the terminal is logged in as whoever
7101
+ * opened the shift, and the inspector is not always that man.
7102
+ */
7103
+ InspectionSignIn: {
7104
+ /**
7105
+ * Event At
7106
+ * Format: date-time
7107
+ */
7108
+ event_at: string;
7109
+ /**
7110
+ * Client Event Uuid
7111
+ * Format: uuid
7112
+ */
7113
+ client_event_uuid: string;
7114
+ /** Terminal Id */
7115
+ terminal_id?: string | null;
7116
+ /** Badge Uid */
7117
+ badge_uid?: string | null;
7118
+ /** Tab No */
7119
+ tab_no?: string | null;
7120
+ /** Pin */
7121
+ pin: string;
7122
+ /** Lines */
7123
+ lines: components["schemas"]["VerdictLine"][];
7124
+ /** Comment */
7125
+ comment?: string | null;
7126
+ };
7127
+ /** InspectionSignOut */
7128
+ InspectionSignOut: {
7129
+ /**
7130
+ * Signed By Person Id
7131
+ * Format: uuid
7132
+ */
7133
+ signed_by_person_id: string;
7134
+ /**
7135
+ * Existing
7136
+ * @default false
7137
+ */
7138
+ existing: boolean;
7139
+ /** Results */
7140
+ results?: components["schemas"]["VerdictOut"][];
6830
7141
  };
6831
7142
  /** InstallCommand */
6832
7143
  InstallCommand: {
@@ -7145,6 +7456,10 @@ export interface components {
7145
7456
  repair_count: number | null;
7146
7457
  /** Marked No Duplicate */
7147
7458
  marked_no_duplicate: boolean;
7459
+ /** Resource Pct */
7460
+ resource_pct?: number | null;
7461
+ /** Resource Param */
7462
+ resource_param?: string | null;
7148
7463
  /** Attrs */
7149
7464
  attrs?: {
7150
7465
  [key: string]: string | null;
@@ -7207,6 +7522,22 @@ export interface components {
7207
7522
  /** Manufactured On */
7208
7523
  manufactured_on?: string | null;
7209
7524
  };
7525
+ /**
7526
+ * KpiTrend
7527
+ * @description Daily series under the dashboard tiles. Every list is `days` long.
7528
+ */
7529
+ KpiTrend: {
7530
+ /** Days */
7531
+ days: string[];
7532
+ /** Open Orders */
7533
+ open_orders: number[];
7534
+ /** Orders Opened */
7535
+ orders_opened: number[];
7536
+ /** Orders Closed */
7537
+ orders_closed: number[];
7538
+ /** Defects Found */
7539
+ defects_found: number[];
7540
+ };
7210
7541
  /** LocationContents */
7211
7542
  LocationContents: {
7212
7543
  location: components["schemas"]["RoomOut"];
@@ -7466,6 +7797,21 @@ export interface components {
7466
7797
  /** Attention Order Ids */
7467
7798
  attention_order_ids: string[];
7468
7799
  };
7800
+ /**
7801
+ * LocoSectionRef
7802
+ * @description One place on the machine, as the position picker draws it.
7803
+ *
7804
+ * Ordered by `sort`; the band a section belongs to is drawn where its
7805
+ * smallest sort puts it, so one number orders both the strip and the row.
7806
+ */
7807
+ LocoSectionRef: {
7808
+ /** Code */
7809
+ code: string;
7810
+ /** Band */
7811
+ band: string;
7812
+ /** Sort */
7813
+ sort: number;
7814
+ };
7469
7815
  /**
7470
7816
  * LocoSeriesOut
7471
7817
  * @description Series dictionary + its picture key (terminal caches both offline).
@@ -7479,24 +7825,79 @@ export interface components {
7479
7825
  photo_key: string | null;
7480
7826
  };
7481
7827
  /**
7482
- * LocoUnitCard
7483
- * @description Machine card header = the registry row plus the card-only honesty bits.
7828
+ * LocoSeriesPositionIn
7829
+ * @description Bind a part type to a series with that machine's own position list.
7830
+ *
7831
+ * Normalised by the same validator as nomenclature.positions, so a list means
7832
+ * the same thing wherever it was typed. An empty list is rejected: «no
7833
+ * per-series list» is expressed by DELETEing the binding, which falls the
7834
+ * type back to its global list, not by saving emptiness that would read as
7835
+ * «this series has no positions».
7836
+ */
7837
+ LocoSeriesPositionIn: {
7838
+ /** Positions */
7839
+ positions: string[];
7840
+ };
7841
+ /**
7842
+ * LocoSeriesPositionOut
7843
+ * @description One binding as the admin visualization draws it.
7484
7844
  */
7485
- LocoUnitCard: {
7486
- /** Series */
7487
- series: string;
7488
- /** Number */
7489
- number: string;
7490
- /** Label */
7491
- label: string;
7492
- /** Series Name */
7493
- series_name: string | null;
7494
- /** Series Photo Key */
7495
- series_photo_key: string | null;
7496
- /** Home Depot Id */
7497
- home_depot_id: string | null;
7498
- /** Home Depot Name */
7499
- home_depot_name: string | null;
7845
+ LocoSeriesPositionOut: {
7846
+ /** Loco Series */
7847
+ loco_series: string;
7848
+ /**
7849
+ * Nomenclature Id
7850
+ * Format: uuid
7851
+ */
7852
+ nomenclature_id: string;
7853
+ /** Code */
7854
+ code: string;
7855
+ /** Name */
7856
+ name: string;
7857
+ /** Positions */
7858
+ positions: string[];
7859
+ };
7860
+ /**
7861
+ * LocoSeriesPositionRef
7862
+ * @description One binding: what positions a part type has on ONE series.
7863
+ *
7864
+ * Overrides NomenclatureRef.positions for that series only. A type with no
7865
+ * row here keeps the global list, so this dictionary is usually short and a
7866
+ * depot that never needs per-series lists syncs an empty one.
7867
+ */
7868
+ LocoSeriesPositionRef: {
7869
+ /** Loco Series */
7870
+ loco_series: string;
7871
+ /**
7872
+ * Nomenclature Id
7873
+ * Format: uuid
7874
+ */
7875
+ nomenclature_id: string;
7876
+ /**
7877
+ * Positions
7878
+ * @default []
7879
+ */
7880
+ positions: string[];
7881
+ };
7882
+ /**
7883
+ * LocoUnitCard
7884
+ * @description Machine card header = the registry row plus the card-only honesty bits.
7885
+ */
7886
+ LocoUnitCard: {
7887
+ /** Series */
7888
+ series: string;
7889
+ /** Number */
7890
+ number: string;
7891
+ /** Label */
7892
+ label: string;
7893
+ /** Series Name */
7894
+ series_name: string | null;
7895
+ /** Series Photo Key */
7896
+ series_photo_key: string | null;
7897
+ /** Home Depot Id */
7898
+ home_depot_id: string | null;
7899
+ /** Home Depot Name */
7900
+ home_depot_name: string | null;
7500
7901
  /** Mixed Depot */
7501
7902
  mixed_depot: boolean;
7502
7903
  /** Is Active */
@@ -7739,6 +8140,67 @@ export interface components {
7739
8140
  /** Nomenclature Name */
7740
8141
  nomenclature_name: string | null;
7741
8142
  };
8143
+ /**
8144
+ * MeasuredItemOut
8145
+ * @description One part standing on the machine: what it reads, what the rules say
8146
+ * about it, and what the master already decided.
8147
+ */
8148
+ MeasuredItemOut: {
8149
+ /**
8150
+ * Item Id
8151
+ * Format: uuid
8152
+ */
8153
+ item_id: string;
8154
+ /** Inventory No */
8155
+ inventory_no: string;
8156
+ /** Marked No */
8157
+ marked_no: string | null;
8158
+ /**
8159
+ * Nomenclature Id
8160
+ * Format: uuid
8161
+ */
8162
+ nomenclature_id: string;
8163
+ /** Nomenclature Name */
8164
+ nomenclature_name: string | null;
8165
+ /** Mount Position */
8166
+ mount_position: string | null;
8167
+ /** Measured At */
8168
+ measured_at: string | null;
8169
+ /** Values */
8170
+ values?: components["schemas"]["MeasuredValueOut"][];
8171
+ /** Recommendations */
8172
+ recommendations?: {
8173
+ [key: string]: unknown;
8174
+ }[];
8175
+ /** Verdict */
8176
+ verdict?: string | null;
8177
+ /** Verdict Work Order Number */
8178
+ verdict_work_order_number?: string | null;
8179
+ };
8180
+ /**
8181
+ * MeasuredValueOut
8182
+ * @description The last reading of one parameter, as the master's screen shows it.
8183
+ */
8184
+ MeasuredValueOut: {
8185
+ /** Param Code */
8186
+ param_code: string;
8187
+ /** Param Name */
8188
+ param_name: string | null;
8189
+ /** Actual Value */
8190
+ actual_value: string | null;
8191
+ /** Norm Min */
8192
+ norm_min: string | null;
8193
+ /** Norm Max */
8194
+ norm_max: string | null;
8195
+ /** Uom */
8196
+ uom: string | null;
8197
+ /** Is Pass */
8198
+ is_pass: boolean | null;
8199
+ /** Measured At */
8200
+ measured_at: string | null;
8201
+ /** Stage */
8202
+ stage: string | null;
8203
+ };
7742
8204
  /**
7743
8205
  * MeasurementAddIn
7744
8206
  * @description «O'lchov qo'shish» on the card: one visit of the depot, several numbers.
@@ -7800,6 +8262,36 @@ export interface components {
7800
8262
  /** Actual Value */
7801
8263
  actual_value?: number | string | null;
7802
8264
  };
8265
+ /**
8266
+ * MeasuringOrderIn
8267
+ * @description Open (or re-fetch) the measuring order of one locomotive visit.
8268
+ *
8269
+ * The visit may be named directly, or by the machine the terminal stands at.
8270
+ * The second shape exists because nothing in the depot opens a visit today
8271
+ * (TZ 9.2): the man taps «tekshirish» on the locomotive screen, names what it
8272
+ * came in for, and the visit is born there — otherwise the button is dead
8273
+ * until somebody remembers to enter the visit at a desk.
8274
+ */
8275
+ MeasuringOrderIn: {
8276
+ /**
8277
+ * Event At
8278
+ * Format: date-time
8279
+ */
8280
+ event_at: string;
8281
+ /**
8282
+ * Client Event Uuid
8283
+ * Format: uuid
8284
+ */
8285
+ client_event_uuid: string;
8286
+ /** Terminal Id */
8287
+ terminal_id?: string | null;
8288
+ /** Locomotive Visit Id */
8289
+ locomotive_visit_id?: string | null;
8290
+ /** Locomotive Id */
8291
+ locomotive_id?: string | null;
8292
+ /** Repair Type Code */
8293
+ repair_type_code?: string | null;
8294
+ };
7803
8295
  /** MemberCloseIn */
7804
8296
  MemberCloseIn: {
7805
8297
  /**
@@ -7893,6 +8385,18 @@ export interface components {
7893
8385
  */
7894
8386
  event_type: "MOVE";
7895
8387
  };
8388
+ /**
8389
+ * NavCounters
8390
+ * @description What waits behind each menu line. None = the caller may not open it.
8391
+ */
8392
+ NavCounters: {
8393
+ /** Orders Overdue */
8394
+ orders_overdue: number | null;
8395
+ /** Disposition */
8396
+ disposition: number | null;
8397
+ /** Inventory Open */
8398
+ inventory_open: number | null;
8399
+ };
7896
8400
  /** NodeOut */
7897
8401
  NodeOut: {
7898
8402
  /** Key */
@@ -10041,6 +10545,10 @@ export interface components {
10041
10545
  * RuleCondition
10042
10546
  * @description One comparison. `param` is a nomenclature_fields.code; for a pair field
10043
10547
  * `side` says which wheel is asked (any = either, both = both).
10548
+ *
10549
+ * `value` is a number OR one answer of a select field: the regulation picks its
10550
+ * number by a CLASS («elektrovoz», «to'liq ko'rik»), so a threshold that is not
10551
+ * a number is a class name and the only comparison it accepts is `=`.
10044
10552
  */
10045
10553
  "RuleCondition-Input": {
10046
10554
  /** Param */
@@ -10065,6 +10573,10 @@ export interface components {
10065
10573
  * RuleCondition
10066
10574
  * @description One comparison. `param` is a nomenclature_fields.code; for a pair field
10067
10575
  * `side` says which wheel is asked (any = either, both = both).
10576
+ *
10577
+ * `value` is a number OR one answer of a select field: the regulation picks its
10578
+ * number by a CLASS («elektrovoz», «to'liq ko'rik»), so a threshold that is not
10579
+ * a number is a class name and the only comparison it accepts is `=`.
10068
10580
  */
10069
10581
  "RuleCondition-Output": {
10070
10582
  /** Param */
@@ -10946,6 +11458,75 @@ export interface components {
10946
11458
  */
10947
11459
  is_offline: boolean;
10948
11460
  };
11461
+ /**
11462
+ * StoreInCommand
11463
+ * @description Storekeeper puts a part on a shelf and says WHICH shelf it belongs on.
11464
+ *
11465
+ * A part removed under a planned check has no defect; filing it as
11466
+ * IN_STOCK_DEFECT made every stock report call serviceable parts defective.
11467
+ * The default keeps the old behaviour, so a silent client cannot promote one.
11468
+ */
11469
+ StoreInCommand: {
11470
+ /**
11471
+ * Item Id
11472
+ * Format: uuid
11473
+ */
11474
+ item_id: string;
11475
+ /**
11476
+ * Event At
11477
+ * Format: date-time
11478
+ */
11479
+ event_at: string;
11480
+ /**
11481
+ * Client Event Uuid
11482
+ * Format: uuid
11483
+ */
11484
+ client_event_uuid: string;
11485
+ /** To Location Id */
11486
+ to_location_id?: string | null;
11487
+ /** To Locomotive Id */
11488
+ to_locomotive_id?: string | null;
11489
+ /** To Holder Person Id */
11490
+ to_holder_person_id?: string | null;
11491
+ /** To Parent Item Id */
11492
+ to_parent_item_id?: string | null;
11493
+ /** Counterparty Person Id */
11494
+ counterparty_person_id?: string | null;
11495
+ /** Terminal Id */
11496
+ terminal_id?: string | null;
11497
+ /** Shift Instance Id */
11498
+ shift_instance_id?: string | null;
11499
+ /** Locomotive Visit Id */
11500
+ locomotive_visit_id?: string | null;
11501
+ /** Work Order Id */
11502
+ work_order_id?: string | null;
11503
+ /** Task Id */
11504
+ task_id?: string | null;
11505
+ /** Defect Code */
11506
+ defect_code?: string | null;
11507
+ /** Comment */
11508
+ comment?: string | null;
11509
+ /** Payload */
11510
+ payload?: {
11511
+ [key: string]: unknown;
11512
+ };
11513
+ /**
11514
+ * Is Offline
11515
+ * @default false
11516
+ */
11517
+ is_offline: boolean;
11518
+ /**
11519
+ * @description discriminator enum property added by openapi-typescript
11520
+ * @enum {string}
11521
+ */
11522
+ event_type: "STORE_IN";
11523
+ /**
11524
+ * Requested Status
11525
+ * @default IN_STOCK_DEFECT
11526
+ * @enum {string}
11527
+ */
11528
+ requested_status: "IN_STOCK_OK" | "IN_STOCK_DEFECT";
11529
+ };
10949
11530
  /** StornoCommand */
10950
11531
  StornoCommand: {
10951
11532
  /**
@@ -11116,6 +11697,45 @@ export interface components {
11116
11697
  /** Terminal Id */
11117
11698
  terminal_id?: string | null;
11118
11699
  };
11700
+ /**
11701
+ * TaskCosignIn
11702
+ * @description B10: the fitter moves his operation with his own card on the master's
11703
+ * screen — the counterpart of WorkSignIn for REPAIR_START/PAUSE/RESUME/FINISH.
11704
+ *
11705
+ * Identification follows the installation switch exactly as WorkSignIn does
11706
+ * (badge_uid under RFID, tab_no under the TABEL pilot, PIN in both). No
11707
+ * signature is written: repair steps are routine events (TZ 8), the second
11708
+ * card is here only so the work is journalled under the man who does it.
11709
+ */
11710
+ TaskCosignIn: {
11711
+ /**
11712
+ * Event At
11713
+ * Format: date-time
11714
+ */
11715
+ event_at: string;
11716
+ /**
11717
+ * Client Event Uuid
11718
+ * Format: uuid
11719
+ */
11720
+ client_event_uuid: string;
11721
+ /** Terminal Id */
11722
+ terminal_id?: string | null;
11723
+ /** Badge Uid */
11724
+ badge_uid?: string | null;
11725
+ /** Tab No */
11726
+ tab_no?: string | null;
11727
+ /** Pin */
11728
+ pin: string;
11729
+ /**
11730
+ * Action
11731
+ * @enum {string}
11732
+ */
11733
+ action: "start" | "pause" | "resume" | "finish";
11734
+ /** Result Note */
11735
+ result_note?: string | null;
11736
+ /** Comment */
11737
+ comment?: string | null;
11738
+ };
11119
11739
  /** TaskIn */
11120
11740
  TaskIn: {
11121
11741
  /** Title */
@@ -11357,39 +11977,117 @@ export interface components {
11357
11977
  ctx?: Record<string, never>;
11358
11978
  };
11359
11979
  /**
11360
- * VisitOut
11361
- * @description Current (unreleased) shop visit, when one exists in the data.
11980
+ * VerdictIn
11981
+ * @description The master's decision on ONE measured part: repair it, or leave it.
11982
+ *
11983
+ * REPAIR opens the removal order right there — with the reason he signed for,
11984
+ * a defect or a scheduled check, exactly one of the two like every other
11985
+ * order. NO_ACTION moves nothing: it is a signed note on the part saying the
11986
+ * numbers were seen and found good enough.
11362
11987
  */
11363
- VisitOut: {
11988
+ VerdictIn: {
11364
11989
  /**
11365
- * Id
11990
+ * Event At
11991
+ * Format: date-time
11992
+ */
11993
+ event_at: string;
11994
+ /**
11995
+ * Client Event Uuid
11366
11996
  * Format: uuid
11367
11997
  */
11368
- id: string;
11369
- /** Status */
11370
- status: string;
11371
- /** Repair Type Code */
11372
- repair_type_code: string | null;
11998
+ client_event_uuid: string;
11999
+ /** Terminal Id */
12000
+ terminal_id?: string | null;
11373
12001
  /**
11374
- * Arrived At
11375
- * Format: date-time
12002
+ * Item Id
12003
+ * Format: uuid
11376
12004
  */
11377
- arrived_at: string;
11378
- /** Track Location Name */
11379
- track_location_name: string | null;
11380
- };
11381
- /** WorkAreaCapability */
11382
- WorkAreaCapability: {
11383
- /** Code */
11384
- code: string;
11385
- /** Name */
11386
- name: string;
12005
+ item_id: string;
12006
+ /**
12007
+ * Decision
12008
+ * @enum {string}
12009
+ */
12010
+ decision: "REPAIR" | "NO_ACTION";
12011
+ /** Defect Code */
12012
+ defect_code?: string | null;
12013
+ /** Repair Type Code */
12014
+ repair_type_code?: string | null;
12015
+ /** Comment */
12016
+ comment?: string | null;
11387
12017
  };
11388
12018
  /**
11389
- * WorkAreaOut
11390
- * @description A place where work is actually done, for the terminal's operation picker.
12019
+ * VerdictLine
12020
+ * @description One part's line in an inspection pass — the same decision as VerdictIn,
12021
+ * minus the envelope, plus the operation the order should carry.
11391
12022
  *
11392
- * One rule decides membership: the location has at least one work capability.
12023
+ * `capability_code` is how «send it for investigation» is said: there is no
12024
+ * third reason_kind and there must not be one (a pseudo-defect «inspection»
12025
+ * would head the Pareto forever), so the order opens on its real reason and
12026
+ * carries e.g. дефектоскопия as its operation.
12027
+ */
12028
+ VerdictLine: {
12029
+ /**
12030
+ * Item Id
12031
+ * Format: uuid
12032
+ */
12033
+ item_id: string;
12034
+ /**
12035
+ * Decision
12036
+ * @enum {string}
12037
+ */
12038
+ decision: "REPAIR" | "NO_ACTION";
12039
+ /** Defect Code */
12040
+ defect_code?: string | null;
12041
+ /** Repair Type Code */
12042
+ repair_type_code?: string | null;
12043
+ /** Capability Code */
12044
+ capability_code?: string | null;
12045
+ /** Comment */
12046
+ comment?: string | null;
12047
+ };
12048
+ /** VerdictOut */
12049
+ VerdictOut: {
12050
+ /** Decision */
12051
+ decision: string;
12052
+ /** Work Order Id */
12053
+ work_order_id?: string | null;
12054
+ /** Work Order Number */
12055
+ work_order_number?: string | null;
12056
+ };
12057
+ /**
12058
+ * VisitOut
12059
+ * @description Current (unreleased) shop visit, when one exists in the data.
12060
+ */
12061
+ VisitOut: {
12062
+ /**
12063
+ * Id
12064
+ * Format: uuid
12065
+ */
12066
+ id: string;
12067
+ /** Status */
12068
+ status: string;
12069
+ /** Repair Type Code */
12070
+ repair_type_code: string | null;
12071
+ /**
12072
+ * Arrived At
12073
+ * Format: date-time
12074
+ */
12075
+ arrived_at: string;
12076
+ /** Track Location Name */
12077
+ track_location_name: string | null;
12078
+ };
12079
+ /** WorkAreaCapability */
12080
+ WorkAreaCapability: {
12081
+ /** Code */
12082
+ code: string;
12083
+ /** Name */
12084
+ name: string;
12085
+ };
12086
+ /**
12087
+ * WorkAreaOut
12088
+ * @description A place where work is actually done, for the terminal's operation picker.
12089
+ *
12090
+ * One rule decides membership: the location has at least one work capability.
11393
12091
  * The location type does not take part — location_types.can_repair is a hint
11394
12092
  * for the admin UI, not a visibility gate. Carries the shop it belongs to so
11395
12093
  * the kiosk can label «uchastka · sex» and float its own shop to the top.
@@ -11460,6 +12158,8 @@ export interface components {
11460
12158
  returned_to_person_id: string | null;
11461
12159
  /** Closed At */
11462
12160
  closed_at: string | null;
12161
+ /** Item Status */
12162
+ item_status?: string | null;
11463
12163
  /** Tasks */
11464
12164
  tasks?: components["schemas"]["TaskOut"][];
11465
12165
  };
@@ -11579,6 +12279,8 @@ export interface components {
11579
12279
  returned_to_person_id: string | null;
11580
12280
  /** Closed At */
11581
12281
  closed_at: string | null;
12282
+ /** Item Status */
12283
+ item_status?: string | null;
11582
12284
  };
11583
12285
  /** WorkOrderStatusCount */
11584
12286
  WorkOrderStatusCount: {
@@ -13608,6 +14310,115 @@ export interface operations {
13608
14310
  };
13609
14311
  };
13610
14312
  };
14313
+ list_series_positions_api_v1_admin_refs_loco_series__code__positions_get: {
14314
+ parameters: {
14315
+ query?: never;
14316
+ header?: {
14317
+ "x-debug-person-id"?: string | null;
14318
+ };
14319
+ path: {
14320
+ code: string;
14321
+ };
14322
+ cookie?: {
14323
+ depo_admin_session?: string | null;
14324
+ };
14325
+ };
14326
+ requestBody?: never;
14327
+ responses: {
14328
+ /** @description Successful Response */
14329
+ 200: {
14330
+ headers: {
14331
+ [name: string]: unknown;
14332
+ };
14333
+ content: {
14334
+ "application/json": components["schemas"]["LocoSeriesPositionOut"][];
14335
+ };
14336
+ };
14337
+ /** @description Validation Error */
14338
+ 422: {
14339
+ headers: {
14340
+ [name: string]: unknown;
14341
+ };
14342
+ content: {
14343
+ "application/json": components["schemas"]["HTTPValidationError"];
14344
+ };
14345
+ };
14346
+ };
14347
+ };
14348
+ bind_series_positions_api_v1_admin_refs_loco_series__code__positions__nomenclature_id__put: {
14349
+ parameters: {
14350
+ query?: never;
14351
+ header?: {
14352
+ "x-debug-person-id"?: string | null;
14353
+ };
14354
+ path: {
14355
+ code: string;
14356
+ nomenclature_id: string;
14357
+ };
14358
+ cookie?: {
14359
+ depo_admin_session?: string | null;
14360
+ };
14361
+ };
14362
+ requestBody: {
14363
+ content: {
14364
+ "application/json": components["schemas"]["LocoSeriesPositionIn"];
14365
+ };
14366
+ };
14367
+ responses: {
14368
+ /** @description Successful Response */
14369
+ 200: {
14370
+ headers: {
14371
+ [name: string]: unknown;
14372
+ };
14373
+ content: {
14374
+ "application/json": components["schemas"]["LocoSeriesPositionOut"];
14375
+ };
14376
+ };
14377
+ /** @description Validation Error */
14378
+ 422: {
14379
+ headers: {
14380
+ [name: string]: unknown;
14381
+ };
14382
+ content: {
14383
+ "application/json": components["schemas"]["HTTPValidationError"];
14384
+ };
14385
+ };
14386
+ };
14387
+ };
14388
+ unbind_series_positions_api_v1_admin_refs_loco_series__code__positions__nomenclature_id__delete: {
14389
+ parameters: {
14390
+ query?: never;
14391
+ header?: {
14392
+ "x-debug-person-id"?: string | null;
14393
+ };
14394
+ path: {
14395
+ code: string;
14396
+ nomenclature_id: string;
14397
+ };
14398
+ cookie?: {
14399
+ depo_admin_session?: string | null;
14400
+ };
14401
+ };
14402
+ requestBody?: never;
14403
+ responses: {
14404
+ /** @description Successful Response */
14405
+ 204: {
14406
+ headers: {
14407
+ [name: string]: unknown;
14408
+ };
14409
+ content?: never;
14410
+ };
14411
+ /** @description Validation Error */
14412
+ 422: {
14413
+ headers: {
14414
+ [name: string]: unknown;
14415
+ };
14416
+ content: {
14417
+ "application/json": components["schemas"]["HTTPValidationError"];
14418
+ };
14419
+ };
14420
+ };
14421
+ };
13611
14422
  list_entity_api_v1_admin_refs__entity__get: {
13612
14423
  parameters: {
13613
14424
  query?: never;
@@ -15223,7 +16034,7 @@ export interface operations {
15223
16034
  };
15224
16035
  requestBody: {
15225
16036
  content: {
15226
- "application/json": components["schemas"]["InstallCommand"] | components["schemas"]["MoveCommand"] | components["schemas"]["HandoverCommand"] | components["schemas"]["RemoveCommand"] | components["schemas"]["ReceiveOpeningCommand"] | components["schemas"]["FoundCommand"] | components["schemas"]["InspectCommand"] | components["schemas"]["DispositionCommand"] | components["schemas"]["StornoCommand"] | components["schemas"]["RepairStartCommand"] | components["schemas"]["RepairPauseCommand"] | components["schemas"]["RepairResumeCommand"] | components["schemas"]["RepairFinishCommand"] | components["schemas"]["GenericCommand"];
16037
+ "application/json": components["schemas"]["InstallCommand"] | components["schemas"]["MoveCommand"] | components["schemas"]["HandoverCommand"] | components["schemas"]["RemoveCommand"] | components["schemas"]["ReceiveOpeningCommand"] | components["schemas"]["FoundCommand"] | components["schemas"]["InspectCommand"] | components["schemas"]["StoreInCommand"] | components["schemas"]["DispositionCommand"] | components["schemas"]["StornoCommand"] | components["schemas"]["RepairStartCommand"] | components["schemas"]["RepairPauseCommand"] | components["schemas"]["RepairResumeCommand"] | components["schemas"]["RepairFinishCommand"] | components["schemas"]["GenericCommand"];
15227
16038
  };
15228
16039
  };
15229
16040
  responses: {
@@ -17419,6 +18230,74 @@ export interface operations {
17419
18230
  };
17420
18231
  };
17421
18232
  };
18233
+ loco_sections_api_v1_refs_loco_sections_get: {
18234
+ parameters: {
18235
+ query?: never;
18236
+ header?: {
18237
+ authorization?: string | null;
18238
+ "x-debug-person-id"?: string | null;
18239
+ };
18240
+ path?: never;
18241
+ cookie?: {
18242
+ depo_admin_session?: string | null;
18243
+ };
18244
+ };
18245
+ requestBody?: never;
18246
+ responses: {
18247
+ /** @description Successful Response */
18248
+ 200: {
18249
+ headers: {
18250
+ [name: string]: unknown;
18251
+ };
18252
+ content: {
18253
+ "application/json": components["schemas"]["LocoSectionRef"][];
18254
+ };
18255
+ };
18256
+ /** @description Validation Error */
18257
+ 422: {
18258
+ headers: {
18259
+ [name: string]: unknown;
18260
+ };
18261
+ content: {
18262
+ "application/json": components["schemas"]["HTTPValidationError"];
18263
+ };
18264
+ };
18265
+ };
18266
+ };
18267
+ loco_series_positions_api_v1_refs_loco_series_positions_get: {
18268
+ parameters: {
18269
+ query?: never;
18270
+ header?: {
18271
+ authorization?: string | null;
18272
+ "x-debug-person-id"?: string | null;
18273
+ };
18274
+ path?: never;
18275
+ cookie?: {
18276
+ depo_admin_session?: string | null;
18277
+ };
18278
+ };
18279
+ requestBody?: never;
18280
+ responses: {
18281
+ /** @description Successful Response */
18282
+ 200: {
18283
+ headers: {
18284
+ [name: string]: unknown;
18285
+ };
18286
+ content: {
18287
+ "application/json": components["schemas"]["LocoSeriesPositionRef"][];
18288
+ };
18289
+ };
18290
+ /** @description Validation Error */
18291
+ 422: {
18292
+ headers: {
18293
+ [name: string]: unknown;
18294
+ };
18295
+ content: {
18296
+ "application/json": components["schemas"]["HTTPValidationError"];
18297
+ };
18298
+ };
18299
+ };
18300
+ };
17422
18301
  nomenclature_api_v1_refs_nomenclature_get: {
17423
18302
  parameters: {
17424
18303
  query?: {
@@ -17991,6 +18870,74 @@ export interface operations {
17991
18870
  };
17992
18871
  };
17993
18872
  };
18873
+ kpi_trend_api_v1_reports_kpi_trend_get: {
18874
+ parameters: {
18875
+ query?: {
18876
+ days?: number;
18877
+ };
18878
+ header?: {
18879
+ "x-debug-person-id"?: string | null;
18880
+ };
18881
+ path?: never;
18882
+ cookie?: {
18883
+ depo_admin_session?: string | null;
18884
+ };
18885
+ };
18886
+ requestBody?: never;
18887
+ responses: {
18888
+ /** @description Successful Response */
18889
+ 200: {
18890
+ headers: {
18891
+ [name: string]: unknown;
18892
+ };
18893
+ content: {
18894
+ "application/json": components["schemas"]["KpiTrend"];
18895
+ };
18896
+ };
18897
+ /** @description Validation Error */
18898
+ 422: {
18899
+ headers: {
18900
+ [name: string]: unknown;
18901
+ };
18902
+ content: {
18903
+ "application/json": components["schemas"]["HTTPValidationError"];
18904
+ };
18905
+ };
18906
+ };
18907
+ };
18908
+ nav_counters_api_v1_reports_nav_counters_get: {
18909
+ parameters: {
18910
+ query?: never;
18911
+ header?: {
18912
+ "x-debug-person-id"?: string | null;
18913
+ };
18914
+ path?: never;
18915
+ cookie?: {
18916
+ depo_admin_session?: string | null;
18917
+ };
18918
+ };
18919
+ requestBody?: never;
18920
+ responses: {
18921
+ /** @description Successful Response */
18922
+ 200: {
18923
+ headers: {
18924
+ [name: string]: unknown;
18925
+ };
18926
+ content: {
18927
+ "application/json": components["schemas"]["NavCounters"];
18928
+ };
18929
+ };
18930
+ /** @description Validation Error */
18931
+ 422: {
18932
+ headers: {
18933
+ [name: string]: unknown;
18934
+ };
18935
+ content: {
18936
+ "application/json": components["schemas"]["HTTPValidationError"];
18937
+ };
18938
+ };
18939
+ };
18940
+ };
17994
18941
  open_orders_api_v1_reports_open_orders_get: {
17995
18942
  parameters: {
17996
18943
  query?: {
@@ -19855,6 +20802,152 @@ export interface operations {
19855
20802
  };
19856
20803
  };
19857
20804
  };
20805
+ open_measuring_order_api_v1_work_orders_measuring_post: {
20806
+ parameters: {
20807
+ query?: never;
20808
+ header?: {
20809
+ authorization?: string | null;
20810
+ "x-debug-person-id"?: string | null;
20811
+ };
20812
+ path?: never;
20813
+ cookie?: never;
20814
+ };
20815
+ requestBody: {
20816
+ content: {
20817
+ "application/json": components["schemas"]["MeasuringOrderIn"];
20818
+ };
20819
+ };
20820
+ responses: {
20821
+ /** @description Successful Response */
20822
+ 200: {
20823
+ headers: {
20824
+ [name: string]: unknown;
20825
+ };
20826
+ content: {
20827
+ "application/json": components["schemas"]["WorkOrderDetail"];
20828
+ };
20829
+ };
20830
+ /** @description Validation Error */
20831
+ 422: {
20832
+ headers: {
20833
+ [name: string]: unknown;
20834
+ };
20835
+ content: {
20836
+ "application/json": components["schemas"]["HTTPValidationError"];
20837
+ };
20838
+ };
20839
+ };
20840
+ };
20841
+ measuring_items_api_v1_work_orders_measuring__wo_id__items_get: {
20842
+ parameters: {
20843
+ query?: never;
20844
+ header?: {
20845
+ authorization?: string | null;
20846
+ "x-debug-person-id"?: string | null;
20847
+ };
20848
+ path: {
20849
+ wo_id: string;
20850
+ };
20851
+ cookie?: never;
20852
+ };
20853
+ requestBody?: never;
20854
+ responses: {
20855
+ /** @description Successful Response */
20856
+ 200: {
20857
+ headers: {
20858
+ [name: string]: unknown;
20859
+ };
20860
+ content: {
20861
+ "application/json": components["schemas"]["MeasuredItemOut"][];
20862
+ };
20863
+ };
20864
+ /** @description Validation Error */
20865
+ 422: {
20866
+ headers: {
20867
+ [name: string]: unknown;
20868
+ };
20869
+ content: {
20870
+ "application/json": components["schemas"]["HTTPValidationError"];
20871
+ };
20872
+ };
20873
+ };
20874
+ };
20875
+ measuring_verdict_api_v1_work_orders_measuring__wo_id__verdict_post: {
20876
+ parameters: {
20877
+ query?: never;
20878
+ header?: {
20879
+ authorization?: string | null;
20880
+ "x-debug-person-id"?: string | null;
20881
+ };
20882
+ path: {
20883
+ wo_id: string;
20884
+ };
20885
+ cookie?: never;
20886
+ };
20887
+ requestBody: {
20888
+ content: {
20889
+ "application/json": components["schemas"]["VerdictIn"];
20890
+ };
20891
+ };
20892
+ responses: {
20893
+ /** @description Successful Response */
20894
+ 200: {
20895
+ headers: {
20896
+ [name: string]: unknown;
20897
+ };
20898
+ content: {
20899
+ "application/json": components["schemas"]["VerdictOut"];
20900
+ };
20901
+ };
20902
+ /** @description Validation Error */
20903
+ 422: {
20904
+ headers: {
20905
+ [name: string]: unknown;
20906
+ };
20907
+ content: {
20908
+ "application/json": components["schemas"]["HTTPValidationError"];
20909
+ };
20910
+ };
20911
+ };
20912
+ };
20913
+ inspection_sign_api_v1_work_orders_measuring__wo_id__verdicts_post: {
20914
+ parameters: {
20915
+ query?: never;
20916
+ header?: {
20917
+ authorization?: string | null;
20918
+ "x-debug-person-id"?: string | null;
20919
+ };
20920
+ path: {
20921
+ wo_id: string;
20922
+ };
20923
+ cookie?: never;
20924
+ };
20925
+ requestBody: {
20926
+ content: {
20927
+ "application/json": components["schemas"]["InspectionSignIn"];
20928
+ };
20929
+ };
20930
+ responses: {
20931
+ /** @description Successful Response */
20932
+ 200: {
20933
+ headers: {
20934
+ [name: string]: unknown;
20935
+ };
20936
+ content: {
20937
+ "application/json": components["schemas"]["InspectionSignOut"];
20938
+ };
20939
+ };
20940
+ /** @description Validation Error */
20941
+ 422: {
20942
+ headers: {
20943
+ [name: string]: unknown;
20944
+ };
20945
+ content: {
20946
+ "application/json": components["schemas"]["HTTPValidationError"];
20947
+ };
20948
+ };
20949
+ };
20950
+ };
19858
20951
  accept_order_api_v1_work_orders__wo_id__accept_post: {
19859
20952
  parameters: {
19860
20953
  query?: never;
@@ -20164,6 +21257,45 @@ export interface operations {
20164
21257
  };
20165
21258
  };
20166
21259
  };
21260
+ cosign_task_op_api_v1_work_orders__wo_id__tasks__task_id__cosign_op_post: {
21261
+ parameters: {
21262
+ query?: never;
21263
+ header?: {
21264
+ authorization?: string | null;
21265
+ "x-debug-person-id"?: string | null;
21266
+ };
21267
+ path: {
21268
+ wo_id: string;
21269
+ task_id: string;
21270
+ };
21271
+ cookie?: never;
21272
+ };
21273
+ requestBody: {
21274
+ content: {
21275
+ "application/json": components["schemas"]["TaskCosignIn"];
21276
+ };
21277
+ };
21278
+ responses: {
21279
+ /** @description Successful Response */
21280
+ 200: {
21281
+ headers: {
21282
+ [name: string]: unknown;
21283
+ };
21284
+ content: {
21285
+ "application/json": components["schemas"]["TaskOut"];
21286
+ };
21287
+ };
21288
+ /** @description Validation Error */
21289
+ 422: {
21290
+ headers: {
21291
+ [name: string]: unknown;
21292
+ };
21293
+ content: {
21294
+ "application/json": components["schemas"]["HTTPValidationError"];
21295
+ };
21296
+ };
21297
+ };
21298
+ };
20167
21299
  work_accept_sign_api_v1_work_orders__wo_id__work_accept_sign_post: {
20168
21300
  parameters: {
20169
21301
  query?: never;