@burdenoff/microfe-movethewheels 2026.1013.2 → 2026.1016.1

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.
@@ -76,6 +76,19 @@ export type MtwCargoItem = {
76
76
  temperatureControlled: Scalars['Boolean']['output'];
77
77
  updatedAt: Scalars['DateTime']['output'];
78
78
  };
79
+ /** Bounded audit snapshot of at most 10 exact evidence versions. */
80
+ export type MtwContainerEvidence = {
81
+ __typename?: 'MtwContainerEvidence';
82
+ checkedAt: Scalars['DateTime']['output'];
83
+ fileId: Scalars['ID']['output'];
84
+ sha256Hash: Scalars['String']['output'];
85
+ versionId: Scalars['ID']['output'];
86
+ };
87
+ /** Exact shared Files version. The fingerprint establishes integrity, not issuer authenticity. */
88
+ export type MtwContainerEvidenceInput = {
89
+ fileId: Scalars['ID']['input'];
90
+ versionId: Scalars['ID']['input'];
91
+ };
79
92
  export type MtwContainerPagination = {
80
93
  limit?: InputMaybe<Scalars['Int']['input']>;
81
94
  offset?: InputMaybe<Scalars['Int']['input']>;
@@ -97,6 +110,15 @@ export type MtwInventoryItem = {
97
110
  warehouse?: Maybe<MtwWarehouse>;
98
111
  warehouseId: Scalars['ID']['output'];
99
112
  };
113
+ export type MtwMoveReviewSource = {
114
+ __typename?: 'MtwMoveReviewSource';
115
+ reference: Scalars['String']['output'];
116
+ revision: Scalars['String']['output'];
117
+ };
118
+ export type MtwMoveReviewSourceInput = {
119
+ reference: Scalars['String']['input'];
120
+ revision: Scalars['String']['input'];
121
+ };
100
122
  export type MtwPickIntentLine = {
101
123
  __typename?: 'MtwPickIntentLine';
102
124
  applicableProfile?: Maybe<MtwPickIntentProfile>;
@@ -156,6 +178,44 @@ export type MtwPickPreparation = {
156
178
  evaluatedAt: Scalars['DateTime']['output'];
157
179
  source: MtwPickIntentLine;
158
180
  };
181
+ /** Immutable human review only. It reserves no stock and confers no physical execution or qualification. */
182
+ export type MtwPickReview = {
183
+ __typename?: 'MtwPickReview';
184
+ actions: Array<MtwPickReviewAction>;
185
+ classification: Scalars['String']['output'];
186
+ evidence: Array<MtwContainerEvidence>;
187
+ handlingPolicy?: Maybe<MtwMoveReviewSource>;
188
+ id: Scalars['ID']['output'];
189
+ idempotencyKey: Scalars['String']['output'];
190
+ intentHash: Scalars['String']['output'];
191
+ kind: MtwPickReviewKind;
192
+ note: Scalars['String']['output'];
193
+ previousDecisionId?: Maybe<Scalars['ID']['output']>;
194
+ quantityCeiling?: Maybe<Scalars['Int']['output']>;
195
+ recordedAt: Scalars['DateTime']['output'];
196
+ reviewerActorId: Scalars['ID']['output'];
197
+ sop?: Maybe<MtwMoveReviewSource>;
198
+ subjectActorId: Scalars['ID']['output'];
199
+ taskId: Scalars['ID']['output'];
200
+ validFrom?: Maybe<Scalars['DateTime']['output']>;
201
+ validUntil?: Maybe<Scalars['DateTime']['output']>;
202
+ version: Scalars['Int']['output'];
203
+ };
204
+ export type MtwPickReviewAction = 'RELEASE_STAGED_CUSTODY' | 'RELEASE_UNPICKED' | 'RESERVE' | 'SHORT_PICK' | 'STAGE';
205
+ export type MtwPickReviewKind = 'APPROVE' | 'REJECT' | 'REVOKE';
206
+ export type MtwPickReviewPage = {
207
+ __typename?: 'MtwPickReviewPage';
208
+ evaluatedAt: Scalars['DateTime']['output'];
209
+ hasMore: Scalars['Boolean']['output'];
210
+ items: Array<MtwPickReview>;
211
+ latestDecision?: Maybe<MtwPickReview>;
212
+ limit: Scalars['Int']['output'];
213
+ nextOffset?: Maybe<Scalars['Int']['output']>;
214
+ offset: Scalars['Int']['output'];
215
+ reviewState: MtwPickReviewState;
216
+ total: Scalars['Int']['output'];
217
+ };
218
+ export type MtwPickReviewState = 'APPROVED_REVIEW_ONLY' | 'NOT_CURRENT' | 'REJECTED' | 'REVOKED' | 'UNREVIEWED';
159
219
  /** Immutable reported planning intent. It reserves no stock and grants no execution authority. */
160
220
  export type MtwPickTask = {
161
221
  __typename?: 'MtwPickTask';
@@ -263,11 +323,23 @@ export type MtwWarehouseLocation = {
263
323
  };
264
324
  export type Mutation = {
265
325
  __typename?: 'Mutation';
326
+ approveMtwPickTask: MtwPickReview;
266
327
  createMtwPickTaskIntent: MtwPickTask;
328
+ rejectMtwPickTask: MtwPickReview;
329
+ revokeMtwPickTaskReview: MtwPickReview;
330
+ };
331
+ export type MutationApproveMtwPickTaskArgs = {
332
+ input: RecordMtwPickReviewInput;
267
333
  };
268
334
  export type MutationCreateMtwPickTaskIntentArgs = {
269
335
  input: CreateMtwPickTaskIntentInput;
270
336
  };
337
+ export type MutationRejectMtwPickTaskArgs = {
338
+ input: RecordMtwPickReviewInput;
339
+ };
340
+ export type MutationRevokeMtwPickTaskReviewArgs = {
341
+ input: RecordMtwPickReviewInput;
342
+ };
271
343
  export type PaginationInput = {
272
344
  cursor?: InputMaybe<Scalars['String']['input']>;
273
345
  limit?: InputMaybe<Scalars['Int']['input']>;
@@ -278,6 +350,8 @@ export type Query = {
278
350
  inventoryItems: Array<MtwInventoryItem>;
279
351
  inventoryItemsCount: Scalars['Int']['output'];
280
352
  mtwPickPreparation: MtwPickPreparation;
353
+ mtwPickReview: MtwPickReview;
354
+ mtwPickReviewPage: MtwPickReviewPage;
281
355
  mtwPickTask: MtwPickTask;
282
356
  mtwPickTaskPage: MtwPickTaskPage;
283
357
  };
@@ -292,6 +366,15 @@ export type QueryMtwPickPreparationArgs = {
292
366
  destinationInventoryItemId: Scalars['ID']['input'];
293
367
  sourceInventoryItemId: Scalars['ID']['input'];
294
368
  };
369
+ export type QueryMtwPickReviewArgs = {
370
+ id: Scalars['ID']['input'];
371
+ taskId: Scalars['ID']['input'];
372
+ };
373
+ export type QueryMtwPickReviewPageArgs = {
374
+ limit?: Scalars['Int']['input'];
375
+ offset?: Scalars['Int']['input'];
376
+ taskId: Scalars['ID']['input'];
377
+ };
295
378
  export type QueryMtwPickTaskArgs = {
296
379
  id: Scalars['ID']['input'];
297
380
  };
@@ -300,6 +383,22 @@ export type QueryMtwPickTaskPageArgs = {
300
383
  pagination?: InputMaybe<MtwContainerPagination>;
301
384
  sourceInventoryItemId?: InputMaybe<Scalars['ID']['input']>;
302
385
  };
386
+ export type RecordMtwPickReviewInput = {
387
+ actions: Array<MtwPickReviewAction>;
388
+ evidence: Array<MtwContainerEvidenceInput>;
389
+ expectedPreviousDecisionId?: InputMaybe<Scalars['ID']['input']>;
390
+ expectedVersion: Scalars['Int']['input'];
391
+ handlingPolicy?: InputMaybe<MtwMoveReviewSourceInput>;
392
+ idempotencyKey: Scalars['String']['input'];
393
+ intentHash: Scalars['String']['input'];
394
+ note: Scalars['String']['input'];
395
+ quantityCeiling?: InputMaybe<Scalars['Int']['input']>;
396
+ sop?: InputMaybe<MtwMoveReviewSourceInput>;
397
+ subjectActorId: Scalars['ID']['input'];
398
+ taskId: Scalars['ID']['input'];
399
+ validFrom?: InputMaybe<Scalars['DateTime']['input']>;
400
+ validUntil?: InputMaybe<Scalars['DateTime']['input']>;
401
+ };
303
402
  export type PickProfileFragment = {
304
403
  __typename?: 'MtwPickIntentProfile';
305
404
  id: string;
@@ -1959,11 +2058,268 @@ export type RecordPendingPickMutation = {
1959
2058
  };
1960
2059
  };
1961
2060
  };
2061
+ export type PickReviewReceiptFragment = {
2062
+ __typename?: 'MtwPickReview';
2063
+ id: string;
2064
+ taskId: string;
2065
+ version: number;
2066
+ previousDecisionId?: string | null;
2067
+ intentHash: string;
2068
+ subjectActorId: string;
2069
+ kind: MtwPickReviewKind;
2070
+ actions: Array<MtwPickReviewAction>;
2071
+ quantityCeiling?: number | null;
2072
+ validFrom?: string | null;
2073
+ validUntil?: string | null;
2074
+ note: string;
2075
+ idempotencyKey: string;
2076
+ reviewerActorId: string;
2077
+ recordedAt: string;
2078
+ classification: string;
2079
+ handlingPolicy?: {
2080
+ __typename?: 'MtwMoveReviewSource';
2081
+ reference: string;
2082
+ revision: string;
2083
+ } | null;
2084
+ sop?: {
2085
+ __typename?: 'MtwMoveReviewSource';
2086
+ reference: string;
2087
+ revision: string;
2088
+ } | null;
2089
+ evidence: Array<{
2090
+ __typename?: 'MtwContainerEvidence';
2091
+ fileId: string;
2092
+ versionId: string;
2093
+ sha256Hash: string;
2094
+ checkedAt: string;
2095
+ }>;
2096
+ };
2097
+ export type PickReviewHistoryQueryVariables = Exact<{
2098
+ taskId: Scalars['ID']['input'];
2099
+ limit: Scalars['Int']['input'];
2100
+ offset: Scalars['Int']['input'];
2101
+ }>;
2102
+ export type PickReviewHistoryQuery = {
2103
+ __typename?: 'Query';
2104
+ mtwPickReviewPage: {
2105
+ __typename?: 'MtwPickReviewPage';
2106
+ total: number;
2107
+ limit: number;
2108
+ offset: number;
2109
+ hasMore: boolean;
2110
+ nextOffset?: number | null;
2111
+ reviewState: MtwPickReviewState;
2112
+ evaluatedAt: string;
2113
+ items: Array<{
2114
+ __typename?: 'MtwPickReview';
2115
+ id: string;
2116
+ taskId: string;
2117
+ version: number;
2118
+ previousDecisionId?: string | null;
2119
+ intentHash: string;
2120
+ subjectActorId: string;
2121
+ kind: MtwPickReviewKind;
2122
+ actions: Array<MtwPickReviewAction>;
2123
+ quantityCeiling?: number | null;
2124
+ validFrom?: string | null;
2125
+ validUntil?: string | null;
2126
+ note: string;
2127
+ idempotencyKey: string;
2128
+ reviewerActorId: string;
2129
+ recordedAt: string;
2130
+ classification: string;
2131
+ handlingPolicy?: {
2132
+ __typename?: 'MtwMoveReviewSource';
2133
+ reference: string;
2134
+ revision: string;
2135
+ } | null;
2136
+ sop?: {
2137
+ __typename?: 'MtwMoveReviewSource';
2138
+ reference: string;
2139
+ revision: string;
2140
+ } | null;
2141
+ evidence: Array<{
2142
+ __typename?: 'MtwContainerEvidence';
2143
+ fileId: string;
2144
+ versionId: string;
2145
+ sha256Hash: string;
2146
+ checkedAt: string;
2147
+ }>;
2148
+ }>;
2149
+ latestDecision?: {
2150
+ __typename?: 'MtwPickReview';
2151
+ id: string;
2152
+ taskId: string;
2153
+ version: number;
2154
+ previousDecisionId?: string | null;
2155
+ intentHash: string;
2156
+ subjectActorId: string;
2157
+ kind: MtwPickReviewKind;
2158
+ actions: Array<MtwPickReviewAction>;
2159
+ quantityCeiling?: number | null;
2160
+ validFrom?: string | null;
2161
+ validUntil?: string | null;
2162
+ note: string;
2163
+ idempotencyKey: string;
2164
+ reviewerActorId: string;
2165
+ recordedAt: string;
2166
+ classification: string;
2167
+ handlingPolicy?: {
2168
+ __typename?: 'MtwMoveReviewSource';
2169
+ reference: string;
2170
+ revision: string;
2171
+ } | null;
2172
+ sop?: {
2173
+ __typename?: 'MtwMoveReviewSource';
2174
+ reference: string;
2175
+ revision: string;
2176
+ } | null;
2177
+ evidence: Array<{
2178
+ __typename?: 'MtwContainerEvidence';
2179
+ fileId: string;
2180
+ versionId: string;
2181
+ sha256Hash: string;
2182
+ checkedAt: string;
2183
+ }>;
2184
+ } | null;
2185
+ };
2186
+ };
2187
+ export type ApprovePickReviewMutationVariables = Exact<{
2188
+ input: RecordMtwPickReviewInput;
2189
+ }>;
2190
+ export type ApprovePickReviewMutation = {
2191
+ __typename?: 'Mutation';
2192
+ approveMtwPickTask: {
2193
+ __typename?: 'MtwPickReview';
2194
+ id: string;
2195
+ taskId: string;
2196
+ version: number;
2197
+ previousDecisionId?: string | null;
2198
+ intentHash: string;
2199
+ subjectActorId: string;
2200
+ kind: MtwPickReviewKind;
2201
+ actions: Array<MtwPickReviewAction>;
2202
+ quantityCeiling?: number | null;
2203
+ validFrom?: string | null;
2204
+ validUntil?: string | null;
2205
+ note: string;
2206
+ idempotencyKey: string;
2207
+ reviewerActorId: string;
2208
+ recordedAt: string;
2209
+ classification: string;
2210
+ handlingPolicy?: {
2211
+ __typename?: 'MtwMoveReviewSource';
2212
+ reference: string;
2213
+ revision: string;
2214
+ } | null;
2215
+ sop?: {
2216
+ __typename?: 'MtwMoveReviewSource';
2217
+ reference: string;
2218
+ revision: string;
2219
+ } | null;
2220
+ evidence: Array<{
2221
+ __typename?: 'MtwContainerEvidence';
2222
+ fileId: string;
2223
+ versionId: string;
2224
+ sha256Hash: string;
2225
+ checkedAt: string;
2226
+ }>;
2227
+ };
2228
+ };
2229
+ export type RejectPickReviewMutationVariables = Exact<{
2230
+ input: RecordMtwPickReviewInput;
2231
+ }>;
2232
+ export type RejectPickReviewMutation = {
2233
+ __typename?: 'Mutation';
2234
+ rejectMtwPickTask: {
2235
+ __typename?: 'MtwPickReview';
2236
+ id: string;
2237
+ taskId: string;
2238
+ version: number;
2239
+ previousDecisionId?: string | null;
2240
+ intentHash: string;
2241
+ subjectActorId: string;
2242
+ kind: MtwPickReviewKind;
2243
+ actions: Array<MtwPickReviewAction>;
2244
+ quantityCeiling?: number | null;
2245
+ validFrom?: string | null;
2246
+ validUntil?: string | null;
2247
+ note: string;
2248
+ idempotencyKey: string;
2249
+ reviewerActorId: string;
2250
+ recordedAt: string;
2251
+ classification: string;
2252
+ handlingPolicy?: {
2253
+ __typename?: 'MtwMoveReviewSource';
2254
+ reference: string;
2255
+ revision: string;
2256
+ } | null;
2257
+ sop?: {
2258
+ __typename?: 'MtwMoveReviewSource';
2259
+ reference: string;
2260
+ revision: string;
2261
+ } | null;
2262
+ evidence: Array<{
2263
+ __typename?: 'MtwContainerEvidence';
2264
+ fileId: string;
2265
+ versionId: string;
2266
+ sha256Hash: string;
2267
+ checkedAt: string;
2268
+ }>;
2269
+ };
2270
+ };
2271
+ export type RevokePickReviewMutationVariables = Exact<{
2272
+ input: RecordMtwPickReviewInput;
2273
+ }>;
2274
+ export type RevokePickReviewMutation = {
2275
+ __typename?: 'Mutation';
2276
+ revokeMtwPickTaskReview: {
2277
+ __typename?: 'MtwPickReview';
2278
+ id: string;
2279
+ taskId: string;
2280
+ version: number;
2281
+ previousDecisionId?: string | null;
2282
+ intentHash: string;
2283
+ subjectActorId: string;
2284
+ kind: MtwPickReviewKind;
2285
+ actions: Array<MtwPickReviewAction>;
2286
+ quantityCeiling?: number | null;
2287
+ validFrom?: string | null;
2288
+ validUntil?: string | null;
2289
+ note: string;
2290
+ idempotencyKey: string;
2291
+ reviewerActorId: string;
2292
+ recordedAt: string;
2293
+ classification: string;
2294
+ handlingPolicy?: {
2295
+ __typename?: 'MtwMoveReviewSource';
2296
+ reference: string;
2297
+ revision: string;
2298
+ } | null;
2299
+ sop?: {
2300
+ __typename?: 'MtwMoveReviewSource';
2301
+ reference: string;
2302
+ revision: string;
2303
+ } | null;
2304
+ evidence: Array<{
2305
+ __typename?: 'MtwContainerEvidence';
2306
+ fileId: string;
2307
+ versionId: string;
2308
+ sha256Hash: string;
2309
+ checkedAt: string;
2310
+ }>;
2311
+ };
2312
+ };
1962
2313
  export declare const PickProfileFragmentDoc: import('graphql').DocumentNode;
1963
2314
  export declare const PickLineFragmentDoc: import('graphql').DocumentNode;
1964
2315
  export declare const PendingPickTaskFragmentDoc: import('graphql').DocumentNode;
2316
+ export declare const PickReviewReceiptFragmentDoc: import('graphql').DocumentNode;
1965
2317
  export declare const PickInventoryDocument: import('graphql').DocumentNode;
1966
2318
  export declare const PickPreparationDocument: import('graphql').DocumentNode;
1967
2319
  export declare const PendingPickHistoryDocument: import('graphql').DocumentNode;
1968
2320
  export declare const ExactPendingPickDocument: import('graphql').DocumentNode;
1969
2321
  export declare const RecordPendingPickDocument: import('graphql').DocumentNode;
2322
+ export declare const PickReviewHistoryDocument: import('graphql').DocumentNode;
2323
+ export declare const ApprovePickReviewDocument: import('graphql').DocumentNode;
2324
+ export declare const RejectPickReviewDocument: import('graphql').DocumentNode;
2325
+ export declare const RevokePickReviewDocument: import('graphql').DocumentNode;
@@ -0,0 +1,5 @@
1
+ import { PendingPickTaskFragment } from '../../../generated/pending-pick-operations';
2
+
3
+ export declare function PickReviewPanel({ task }: {
4
+ task: PendingPickTaskFragment;
5
+ }): import("react").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { PickReviewReceiptFragment, RecordMtwPickReviewInput } from '../../generated/pending-pick-operations';
2
+
3
+ /** A truthy GraphQL data object is not an acknowledgment of the intended write. */
4
+ export declare function confirmPickReviewAcknowledgement(result: unknown, input: RecordMtwPickReviewInput, kind: PickReviewReceiptFragment['kind'], reviewerActorId: string): void;
@@ -101,6 +101,39 @@ e`
101
101
  }
102
102
  `}`}`;
103
103
  var t = e`
104
+ fragment PickReviewReceipt on MtwPickReview {
105
+ id
106
+ taskId
107
+ version
108
+ previousDecisionId
109
+ intentHash
110
+ subjectActorId
111
+ kind
112
+ actions
113
+ quantityCeiling
114
+ validFrom
115
+ validUntil
116
+ handlingPolicy {
117
+ reference
118
+ revision
119
+ }
120
+ sop {
121
+ reference
122
+ revision
123
+ }
124
+ evidence {
125
+ fileId
126
+ versionId
127
+ sha256Hash
128
+ checkedAt
129
+ }
130
+ note
131
+ idempotencyKey
132
+ reviewerActorId
133
+ recordedAt
134
+ classification
135
+ }
136
+ `, n = e`
104
137
  query PickInventory($pagination: PaginationInput) {
105
138
  inventoryItems(pagination: $pagination) {
106
139
  id
@@ -121,7 +154,7 @@ var t = e`
121
154
  }
122
155
  inventoryItemsCount
123
156
  }
124
- `, n = e`
157
+ `, r = e`
125
158
  query PickPreparation($sourceInventoryItemId: ID!, $destinationInventoryItemId: ID!) {
126
159
  mtwPickPreparation(
127
160
  sourceInventoryItemId: $sourceInventoryItemId
@@ -362,7 +395,7 @@ var t = e`
362
395
  }
363
396
  }
364
397
  }
365
- `, r = e`
398
+ `, i = e`
366
399
  query PendingPickHistory($pagination: MtwContainerPagination, $sourceInventoryItemId: ID, $destinationInventoryItemId: ID) {
367
400
  mtwPickTaskPage(
368
401
  pagination: $pagination
@@ -623,7 +656,7 @@ var t = e`
623
656
  nextOffset
624
657
  }
625
658
  }
626
- `, i = e`
659
+ `, a = e`
627
660
  query ExactPendingPick($id: ID!) {
628
661
  mtwPickTask(id: $id) {
629
662
  id
@@ -873,7 +906,7 @@ var t = e`
873
906
  recordedAt
874
907
  }
875
908
  }
876
- `, a = e`
909
+ `, o = e`
877
910
  mutation RecordPendingPick($input: CreateMtwPickTaskIntentInput!) {
878
911
  createMtwPickTaskIntent(input: $input) {
879
912
  id
@@ -1123,6 +1156,42 @@ var t = e`
1123
1156
  recordedAt
1124
1157
  }
1125
1158
  }
1126
- `;
1159
+ `, s = e`
1160
+ query PickReviewHistory($taskId: ID!, $limit: Int!, $offset: Int!) {
1161
+ mtwPickReviewPage(taskId: $taskId, limit: $limit, offset: $offset) {
1162
+ items {
1163
+ ...PickReviewReceipt
1164
+ }
1165
+ total
1166
+ limit
1167
+ offset
1168
+ hasMore
1169
+ nextOffset
1170
+ latestDecision {
1171
+ ...PickReviewReceipt
1172
+ }
1173
+ reviewState
1174
+ evaluatedAt
1175
+ }
1176
+ }
1177
+ ${t}`, c = e`
1178
+ mutation ApprovePickReview($input: RecordMtwPickReviewInput!) {
1179
+ approveMtwPickTask(input: $input) {
1180
+ ...PickReviewReceipt
1181
+ }
1182
+ }
1183
+ ${t}`, l = e`
1184
+ mutation RejectPickReview($input: RecordMtwPickReviewInput!) {
1185
+ rejectMtwPickTask(input: $input) {
1186
+ ...PickReviewReceipt
1187
+ }
1188
+ }
1189
+ ${t}`, u = e`
1190
+ mutation RevokePickReview($input: RecordMtwPickReviewInput!) {
1191
+ revokeMtwPickTaskReview(input: $input) {
1192
+ ...PickReviewReceipt
1193
+ }
1194
+ }
1195
+ ${t}`;
1127
1196
  //#endregion
1128
- export { i as ExactPendingPickDocument, r as PendingPickHistoryDocument, t as PickInventoryDocument, n as PickPreparationDocument, a as RecordPendingPickDocument };
1197
+ export { c as ApprovePickReviewDocument, a as ExactPendingPickDocument, i as PendingPickHistoryDocument, n as PickInventoryDocument, r as PickPreparationDocument, s as PickReviewHistoryDocument, o as RecordPendingPickDocument, l as RejectPickReviewDocument, u as RevokePickReviewDocument };
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+
3
+ declare function PairedPickers(): import("react").JSX.Element;
4
+ declare const meta: Meta<typeof PairedPickers>;
5
+ export default meta;
6
+ type Story = StoryObj<typeof meta>;
7
+ export declare const TwoInstances: Story;
@@ -0,0 +1,10 @@
1
+ //#region src/movethewheels/utils/pickReviewAcknowledgement.ts
2
+ function e(e) {
3
+ return typeof e == "object" && !!e && !Array.isArray(e);
4
+ }
5
+ function t(t, n, r, i) {
6
+ let a = r === "APPROVE" ? "approveMtwPickTask" : r === "REJECT" ? "rejectMtwPickTask" : "revokeMtwPickTaskReview", o = e(t) ? t[a] : null;
7
+ if (!e(o) || typeof o.id != "string" || !/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(o.id) || o.kind !== r || o.taskId !== n.taskId || o.intentHash !== n.intentHash || o.subjectActorId !== n.subjectActorId || o.idempotencyKey !== n.idempotencyKey || !i || o.reviewerActorId !== i || o.version !== n.expectedVersion + 1 || o.previousDecisionId !== (n.expectedPreviousDecisionId ?? null) || o.classification !== "REVIEW_ONLY_NO_STOCK_EFFECT" || o.note !== n.note || o.quantityCeiling !== (n.quantityCeiling ?? null) || o.validFrom !== (n.validFrom ?? null) || o.validUntil !== (n.validUntil ?? null) || !Array.isArray(o.actions) || o.actions.length !== n.actions.length || new Set(o.actions).size !== o.actions.length || !o.actions.every((e) => typeof e == "string" && n.actions.some((t) => t === e))) throw Error("The intended move-review receipt is not confirmed.");
8
+ }
9
+ //#endregion
10
+ export { t as confirmPickReviewAcknowledgement };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-movethewheels",
3
- "version": "2026.1013.2",
3
+ "version": "2026.1016.1",
4
4
  "description": "Burdenoff MoveTheWheels Microfrontend - Logistics & Supply Chain Management Platform",
5
5
  "type": "module",
6
6
  "files": [
@@ -36,7 +36,7 @@
36
36
  "format": "prettier --write \"src/**/*.{ts,tsx}\"",
37
37
  "type:check": "bash scripts/build-limits.sh tsc --noEmit",
38
38
  "validate:schema-drift": "graphql-schema-drift",
39
- "sanity": "bash scripts/build-limits.sh --gate bash -c 'bun run codegen && bun run validate:schema-drift && bun run lint:sanity && bun run format && bun run type:check && bun run verify:live-logistics-contract && bun run verify:empty-reuse-retry && bun run verify:empty-reuse-recovery && bun run verify:trip-utilization-input && bun run verify:trip-draft-context && bun run verify:stock-binding-input && bun run verify:stock-observation-input && bun run verify:pending-pick-input && bun run verify:freight-input && bun run verify:freight-recovery && bun run verify:procedure-input && bun run verify:consolidation && bun run verify:multimodal-single-attempt && bun run verify:workspace-predispatch && bun run verify:tracking-quality-outcomes && bun run verify:shipment-status-authority && bun run verify:free-time-permissions && bun run verify:braces-depth && bun run build && bun run build-storybook'",
39
+ "sanity": "bash scripts/build-limits.sh --gate bash -c 'bun run codegen && bun run validate:schema-drift && bun run lint:sanity && bun run format && bun run type:check && bun run verify:live-logistics-contract && bun run verify:empty-reuse-retry && bun run verify:empty-reuse-recovery && bun run verify:trip-utilization-input && bun run verify:trip-draft-context && bun run verify:stock-binding-input && bun run verify:stock-observation-input && bun run verify:pending-pick-input && bun run verify:pick-review-ack && bun run verify:freight-input && bun run verify:freight-recovery && bun run verify:procedure-input && bun run verify:consolidation && bun run verify:multimodal-single-attempt && bun run verify:workspace-predispatch && bun run verify:tracking-quality-outcomes && bun run verify:shipment-status-authority && bun run verify:free-time-permissions && bun run verify:braces-depth && bun run build && bun run build-storybook'",
40
40
  "storybook": "storybook dev -p 6006",
41
41
  "build-storybook": "storybook build",
42
42
  "test:storybook": "test-storybook",
@@ -57,6 +57,7 @@
57
57
  "verify:trip-draft-context": "bun scripts/verify-trip-draft-context.mjs",
58
58
  "verify:stock-observation-input": "bun scripts/verify-stock-observation-input.mjs",
59
59
  "verify:pending-pick-input": "bun scripts/verify-pending-pick-input.mjs",
60
+ "verify:pick-review-ack": "bun test scripts/check-pick-review-ack.test.ts",
60
61
  "verify:empty-reuse-recovery": "bun scripts/verify-empty-reuse-recovery.mjs && bun scripts/verify-empty-reuse-recovery-hook.mjs",
61
62
  "verify:freight-input": "bun scripts/verify-freight-input.mjs",
62
63
  "verify:freight-recovery": "bun scripts/verify-freight-recovery-hook.mjs",
@@ -148,7 +149,8 @@
148
149
  "picomatch": ">=2.3.2",
149
150
  "immutable": ">=3.8.3",
150
151
  "minimatch": ">=3.1.3",
151
- "@graphql-tools/utils": "12.0.3"
152
+ "@graphql-tools/utils": "12.0.3",
153
+ "ajv": "6.15.0"
152
154
  },
153
155
  "patchedDependencies": {
154
156
  "braces@3.0.3": "patches/braces@3.0.3.patch"