@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.
- package/README.md +7 -0
- package/dist/components/EntityCombobox.js +80 -74
- package/dist/components/pending-pick/PendingPickHistory.js +47 -38
- package/dist/components/pending-pick/PickReviewPanel.js +317 -0
- package/dist/generated/pending-pick-operations.d.ts +356 -0
- package/dist/movethewheels/components/pending-pick/PickReviewPanel.d.ts +5 -0
- package/dist/movethewheels/utils/pickReviewAcknowledgement.d.ts +4 -0
- package/dist/src/generated/pending-pick-operations.js +75 -6
- package/dist/stories/EntityCombobox.stories.d.ts +7 -0
- package/dist/utils/pickReviewAcknowledgement.js +10 -0
- package/package.json +5 -3
- package/src/generated/pending-pick-operations.ts +239 -1
- package/src/movethewheels/components/EntityCombobox.tsx +8 -2
- package/src/movethewheels/components/pending-pick/PendingPickHistory.tsx +6 -0
- package/src/movethewheels/components/pending-pick/PickReviewPanel.tsx +326 -0
- package/src/movethewheels/utils/pickReviewAcknowledgement.ts +51 -0
- package/src/operations/pending-pick/pick-review.graphql +14 -0
- package/src/stories/EntityCombobox.stories.tsx +58 -0
|
@@ -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,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
|
-
`,
|
|
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
|
-
`,
|
|
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
|
-
`,
|
|
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
|
-
`,
|
|
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 {
|
|
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.
|
|
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"
|