@opsregistry/contracts 0.1.5 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +50 -5
  2. package/dist/index.d.ts +8 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +8 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/inventory/stock-adjust.d.ts +139 -0
  7. package/dist/inventory/stock-adjust.d.ts.map +1 -0
  8. package/dist/inventory/stock-adjust.js +52 -0
  9. package/dist/inventory/stock-adjust.js.map +1 -0
  10. package/dist/inventory/stock-common.d.ts +167 -0
  11. package/dist/inventory/stock-common.d.ts.map +1 -0
  12. package/dist/inventory/stock-common.js +92 -0
  13. package/dist/inventory/stock-common.js.map +1 -0
  14. package/dist/inventory/stock-get-availability.d.ts +116 -0
  15. package/dist/inventory/stock-get-availability.d.ts.map +1 -0
  16. package/dist/inventory/stock-get-availability.js +35 -0
  17. package/dist/inventory/stock-get-availability.js.map +1 -0
  18. package/dist/inventory/stock-issue.d.ts +111 -0
  19. package/dist/inventory/stock-issue.d.ts.map +1 -0
  20. package/dist/inventory/stock-issue.js +26 -0
  21. package/dist/inventory/stock-issue.js.map +1 -0
  22. package/dist/inventory/stock-receive.d.ts +114 -0
  23. package/dist/inventory/stock-receive.d.ts.map +1 -0
  24. package/dist/inventory/stock-receive.js +24 -0
  25. package/dist/inventory/stock-receive.js.map +1 -0
  26. package/dist/inventory/stock-release.d.ts +98 -0
  27. package/dist/inventory/stock-release.d.ts.map +1 -0
  28. package/dist/inventory/stock-release.js +39 -0
  29. package/dist/inventory/stock-release.js.map +1 -0
  30. package/dist/inventory/stock-reserve.d.ts +153 -0
  31. package/dist/inventory/stock-reserve.d.ts.map +1 -0
  32. package/dist/inventory/stock-reserve.js +53 -0
  33. package/dist/inventory/stock-reserve.js.map +1 -0
  34. package/dist/inventory/stock-transfer.d.ts +139 -0
  35. package/dist/inventory/stock-transfer.d.ts.map +1 -0
  36. package/dist/inventory/stock-transfer.js +45 -0
  37. package/dist/inventory/stock-transfer.js.map +1 -0
  38. package/package.json +35 -2
@@ -0,0 +1,153 @@
1
+ import { z } from 'zod';
2
+ export declare const operationCode: 'inventory.stock.reserve';
3
+ export declare const stockAllocationStrategySchema: z.ZodEnum<{
4
+ fefo: "fefo";
5
+ fifo: "fifo";
6
+ lifo: "lifo";
7
+ providerDefault: "providerDefault";
8
+ specific: "specific";
9
+ }>;
10
+ export declare const stockReservationLineInputSchema: z.ZodObject<{
11
+ lineId: z.ZodOptional<z.ZodString>;
12
+ item: z.ZodObject<{
13
+ itemId: z.ZodOptional<z.ZodString>;
14
+ variantId: z.ZodOptional<z.ZodString>;
15
+ sku: z.ZodOptional<z.ZodString>;
16
+ gtin: z.ZodOptional<z.ZodString>;
17
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
18
+ }, z.core.$strip>;
19
+ quantity: z.ZodObject<{
20
+ unitCode: z.ZodString;
21
+ value: z.ZodNumber;
22
+ }, z.core.$strip>;
23
+ locations: z.ZodDefault<z.ZodArray<z.ZodObject<{
24
+ locationId: z.ZodOptional<z.ZodString>;
25
+ facilityId: z.ZodOptional<z.ZodString>;
26
+ name: z.ZodOptional<z.ZodString>;
27
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
28
+ }, z.core.$strip>>>;
29
+ lotNumbers: z.ZodDefault<z.ZodArray<z.ZodString>>;
30
+ serialNumbers: z.ZodDefault<z.ZodArray<z.ZodString>>;
31
+ expirationDates: z.ZodDefault<z.ZodArray<z.ZodISODate>>;
32
+ ownerId: z.ZodOptional<z.ZodString>;
33
+ conditionCodes: z.ZodDefault<z.ZodArray<z.ZodString>>;
34
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
35
+ }, z.core.$strip>;
36
+ export declare const stockReserveInputSchema: z.ZodObject<{
37
+ demandReference: z.ZodObject<{
38
+ type: z.ZodString;
39
+ id: z.ZodString;
40
+ lineId: z.ZodOptional<z.ZodString>;
41
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
42
+ }, z.core.$strip>;
43
+ lines: z.ZodArray<z.ZodObject<{
44
+ lineId: z.ZodOptional<z.ZodString>;
45
+ item: z.ZodObject<{
46
+ itemId: z.ZodOptional<z.ZodString>;
47
+ variantId: z.ZodOptional<z.ZodString>;
48
+ sku: z.ZodOptional<z.ZodString>;
49
+ gtin: z.ZodOptional<z.ZodString>;
50
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
51
+ }, z.core.$strip>;
52
+ quantity: z.ZodObject<{
53
+ unitCode: z.ZodString;
54
+ value: z.ZodNumber;
55
+ }, z.core.$strip>;
56
+ locations: z.ZodDefault<z.ZodArray<z.ZodObject<{
57
+ locationId: z.ZodOptional<z.ZodString>;
58
+ facilityId: z.ZodOptional<z.ZodString>;
59
+ name: z.ZodOptional<z.ZodString>;
60
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
61
+ }, z.core.$strip>>>;
62
+ lotNumbers: z.ZodDefault<z.ZodArray<z.ZodString>>;
63
+ serialNumbers: z.ZodDefault<z.ZodArray<z.ZodString>>;
64
+ expirationDates: z.ZodDefault<z.ZodArray<z.ZodISODate>>;
65
+ ownerId: z.ZodOptional<z.ZodString>;
66
+ conditionCodes: z.ZodDefault<z.ZodArray<z.ZodString>>;
67
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
68
+ }, z.core.$strip>>;
69
+ allocationStrategy: z.ZodDefault<z.ZodEnum<{
70
+ fefo: "fefo";
71
+ fifo: "fifo";
72
+ lifo: "lifo";
73
+ providerDefault: "providerDefault";
74
+ specific: "specific";
75
+ }>>;
76
+ allowPartial: z.ZodDefault<z.ZodBoolean>;
77
+ expiresAt: z.ZodOptional<z.ZodString>;
78
+ idempotencyKey: z.ZodString;
79
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
80
+ }, z.core.$strip>;
81
+ export declare const stockReservationLineResultSchema: z.ZodObject<{
82
+ lineId: z.ZodOptional<z.ZodString>;
83
+ item: z.ZodObject<{
84
+ itemId: z.ZodOptional<z.ZodString>;
85
+ variantId: z.ZodOptional<z.ZodString>;
86
+ sku: z.ZodOptional<z.ZodString>;
87
+ gtin: z.ZodOptional<z.ZodString>;
88
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
89
+ }, z.core.$strip>;
90
+ requestedQuantity: z.ZodObject<{
91
+ unitCode: z.ZodString;
92
+ value: z.ZodNumber;
93
+ }, z.core.$strip>;
94
+ reservedQuantity: z.ZodObject<{
95
+ value: z.ZodNumber;
96
+ unitCode: z.ZodString;
97
+ }, z.core.$strip>;
98
+ shortageQuantity: z.ZodObject<{
99
+ value: z.ZodNumber;
100
+ unitCode: z.ZodString;
101
+ }, z.core.$strip>;
102
+ allocationIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
103
+ messages: z.ZodDefault<z.ZodArray<z.ZodString>>;
104
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
105
+ }, z.core.$strip>;
106
+ export declare const stockReserveResultSchema: z.ZodObject<{
107
+ operationCode: z.ZodLiteral<"inventory.stock.reserve">;
108
+ accessModeUsed: z.ZodLiteral<"authorized">;
109
+ providerCode: z.ZodOptional<z.ZodString>;
110
+ reservationId: z.ZodString;
111
+ status: z.ZodEnum<{
112
+ accepted: "accepted";
113
+ cancelled: "cancelled";
114
+ expired: "expired";
115
+ partial: "partial";
116
+ rejected: "rejected";
117
+ }>;
118
+ lines: z.ZodDefault<z.ZodArray<z.ZodObject<{
119
+ lineId: z.ZodOptional<z.ZodString>;
120
+ item: z.ZodObject<{
121
+ itemId: z.ZodOptional<z.ZodString>;
122
+ variantId: z.ZodOptional<z.ZodString>;
123
+ sku: z.ZodOptional<z.ZodString>;
124
+ gtin: z.ZodOptional<z.ZodString>;
125
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
126
+ }, z.core.$strip>;
127
+ requestedQuantity: z.ZodObject<{
128
+ unitCode: z.ZodString;
129
+ value: z.ZodNumber;
130
+ }, z.core.$strip>;
131
+ reservedQuantity: z.ZodObject<{
132
+ value: z.ZodNumber;
133
+ unitCode: z.ZodString;
134
+ }, z.core.$strip>;
135
+ shortageQuantity: z.ZodObject<{
136
+ value: z.ZodNumber;
137
+ unitCode: z.ZodString;
138
+ }, z.core.$strip>;
139
+ allocationIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
140
+ messages: z.ZodDefault<z.ZodArray<z.ZodString>>;
141
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
142
+ }, z.core.$strip>>>;
143
+ expiresAt: z.ZodOptional<z.ZodString>;
144
+ messages: z.ZodDefault<z.ZodArray<z.ZodString>>;
145
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
146
+ }, z.core.$strip>;
147
+ export type StockAllocationStrategy = z.output<typeof stockAllocationStrategySchema>;
148
+ export type StockReservationLineInput = z.input<typeof stockReservationLineInputSchema>;
149
+ export type StockReserveInput = z.input<typeof stockReserveInputSchema>;
150
+ export type NormalizedStockReserveInput = z.output<typeof stockReserveInputSchema>;
151
+ export type StockReservationLineResult = z.output<typeof stockReservationLineResultSchema>;
152
+ export type StockReserveResult = z.output<typeof stockReserveResultSchema>;
153
+ //# sourceMappingURL=stock-reserve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-reserve.d.ts","sourceRoot":"","sources":["../../src/inventory/stock-reserve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,aAAa,EAAG,yBAAkC,CAAC;AAEhE,eAAO,MAAM,6BAA6B;;;;;;EAMxC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;iBAW1C,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQlC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;iBAS3C,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUnC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACrF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACnF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAC3F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { z } from 'zod';
2
+ import { inventoryAccessModeSchema, inventoryItemRefSchema, inventoryLocationRefSchema, inventoryMetadataSchema, inventoryQuantitySchema, inventoryReferenceSchema, positiveInventoryQuantitySchema } from './stock-common.js';
3
+ export const operationCode = 'inventory.stock.reserve';
4
+ export const stockAllocationStrategySchema = z.enum([
5
+ 'providerDefault',
6
+ 'fifo',
7
+ 'fefo',
8
+ 'lifo',
9
+ 'specific'
10
+ ]);
11
+ export const stockReservationLineInputSchema = z.object({
12
+ lineId: z.string().min(1).optional(),
13
+ item: inventoryItemRefSchema,
14
+ quantity: positiveInventoryQuantitySchema,
15
+ locations: z.array(inventoryLocationRefSchema).default([]),
16
+ lotNumbers: z.array(z.string().min(1)).default([]),
17
+ serialNumbers: z.array(z.string().min(1)).default([]),
18
+ expirationDates: z.array(z.iso.date()).default([]),
19
+ ownerId: z.string().min(1).optional(),
20
+ conditionCodes: z.array(z.string().min(1)).default([]),
21
+ metadata: inventoryMetadataSchema
22
+ });
23
+ export const stockReserveInputSchema = z.object({
24
+ demandReference: inventoryReferenceSchema,
25
+ lines: z.array(stockReservationLineInputSchema).min(1),
26
+ allocationStrategy: stockAllocationStrategySchema.default('providerDefault'),
27
+ allowPartial: z.boolean().default(false),
28
+ expiresAt: z.string().min(1).optional(),
29
+ idempotencyKey: z.string().min(1),
30
+ metadata: inventoryMetadataSchema
31
+ });
32
+ export const stockReservationLineResultSchema = z.object({
33
+ lineId: z.string().min(1).optional(),
34
+ item: inventoryItemRefSchema,
35
+ requestedQuantity: positiveInventoryQuantitySchema,
36
+ reservedQuantity: inventoryQuantitySchema,
37
+ shortageQuantity: inventoryQuantitySchema,
38
+ allocationIds: z.array(z.string().min(1)).default([]),
39
+ messages: z.array(z.string().min(1)).default([]),
40
+ metadata: inventoryMetadataSchema
41
+ });
42
+ export const stockReserveResultSchema = z.object({
43
+ operationCode: z.literal(operationCode),
44
+ accessModeUsed: inventoryAccessModeSchema,
45
+ providerCode: z.string().min(1).optional(),
46
+ reservationId: z.string().min(1),
47
+ status: z.enum(['accepted', 'partial', 'rejected', 'expired', 'cancelled']),
48
+ lines: z.array(stockReservationLineResultSchema).default([]),
49
+ expiresAt: z.string().min(1).optional(),
50
+ messages: z.array(z.string().min(1)).default([]),
51
+ metadata: inventoryMetadataSchema
52
+ });
53
+ //# sourceMappingURL=stock-reserve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-reserve.js","sourceRoot":"","sources":["../../src/inventory/stock-reserve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ import { z } from 'zod';
2
+ export declare const operationCode: 'inventory.stock.transfer';
3
+ export declare const stockTransferInputSchema: z.ZodObject<{
4
+ source: z.ZodObject<{
5
+ locationId: z.ZodOptional<z.ZodString>;
6
+ facilityId: z.ZodOptional<z.ZodString>;
7
+ name: z.ZodOptional<z.ZodString>;
8
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
9
+ }, z.core.$strip>;
10
+ destination: z.ZodObject<{
11
+ locationId: z.ZodOptional<z.ZodString>;
12
+ facilityId: z.ZodOptional<z.ZodString>;
13
+ name: z.ZodOptional<z.ZodString>;
14
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
15
+ }, z.core.$strip>;
16
+ lines: z.ZodArray<z.ZodObject<{
17
+ lineId: z.ZodOptional<z.ZodString>;
18
+ item: z.ZodObject<{
19
+ itemId: z.ZodOptional<z.ZodString>;
20
+ variantId: z.ZodOptional<z.ZodString>;
21
+ sku: z.ZodOptional<z.ZodString>;
22
+ gtin: z.ZodOptional<z.ZodString>;
23
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
24
+ }, z.core.$strip>;
25
+ quantity: z.ZodObject<{
26
+ unitCode: z.ZodString;
27
+ value: z.ZodNumber;
28
+ }, z.core.$strip>;
29
+ location: z.ZodOptional<z.ZodObject<{
30
+ locationId: z.ZodOptional<z.ZodString>;
31
+ facilityId: z.ZodOptional<z.ZodString>;
32
+ name: z.ZodOptional<z.ZodString>;
33
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
34
+ }, z.core.$strip>>;
35
+ lotNumber: z.ZodOptional<z.ZodString>;
36
+ serialNumbers: z.ZodDefault<z.ZodArray<z.ZodString>>;
37
+ expirationDate: z.ZodOptional<z.ZodISODate>;
38
+ ownerId: z.ZodOptional<z.ZodString>;
39
+ conditionCode: z.ZodOptional<z.ZodString>;
40
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
41
+ }, z.core.$strip>>;
42
+ transferReference: z.ZodOptional<z.ZodObject<{
43
+ type: z.ZodString;
44
+ id: z.ZodString;
45
+ lineId: z.ZodOptional<z.ZodString>;
46
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
47
+ }, z.core.$strip>>;
48
+ shipmentReference: z.ZodOptional<z.ZodObject<{
49
+ type: z.ZodString;
50
+ id: z.ZodString;
51
+ lineId: z.ZodOptional<z.ZodString>;
52
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
53
+ }, z.core.$strip>>;
54
+ requestedDispatchAt: z.ZodOptional<z.ZodString>;
55
+ allowPartial: z.ZodDefault<z.ZodBoolean>;
56
+ idempotencyKey: z.ZodString;
57
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
58
+ }, z.core.$strip>;
59
+ export declare const stockTransferStatusSchema: z.ZodEnum<{
60
+ accepted: "accepted";
61
+ cancelled: "cancelled";
62
+ inTransit: "inTransit";
63
+ issued: "issued";
64
+ partiallyReceived: "partiallyReceived";
65
+ received: "received";
66
+ rejected: "rejected";
67
+ }>;
68
+ export declare const stockTransferResultSchema: z.ZodObject<{
69
+ operationCode: z.ZodLiteral<"inventory.stock.transfer">;
70
+ accessModeUsed: z.ZodLiteral<"authorized">;
71
+ providerCode: z.ZodOptional<z.ZodString>;
72
+ transferId: z.ZodString;
73
+ status: z.ZodEnum<{
74
+ accepted: "accepted";
75
+ cancelled: "cancelled";
76
+ inTransit: "inTransit";
77
+ issued: "issued";
78
+ partiallyReceived: "partiallyReceived";
79
+ received: "received";
80
+ rejected: "rejected";
81
+ }>;
82
+ lines: z.ZodDefault<z.ZodArray<z.ZodObject<{
83
+ lineId: z.ZodOptional<z.ZodString>;
84
+ item: z.ZodObject<{
85
+ itemId: z.ZodOptional<z.ZodString>;
86
+ variantId: z.ZodOptional<z.ZodString>;
87
+ sku: z.ZodOptional<z.ZodString>;
88
+ gtin: z.ZodOptional<z.ZodString>;
89
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
90
+ }, z.core.$strip>;
91
+ requestedQuantity: z.ZodObject<{
92
+ unitCode: z.ZodString;
93
+ value: z.ZodNumber;
94
+ }, z.core.$strip>;
95
+ processedQuantity: z.ZodObject<{
96
+ value: z.ZodNumber;
97
+ unitCode: z.ZodString;
98
+ }, z.core.$strip>;
99
+ stockRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
100
+ stockId: z.ZodOptional<z.ZodString>;
101
+ item: z.ZodObject<{
102
+ itemId: z.ZodOptional<z.ZodString>;
103
+ variantId: z.ZodOptional<z.ZodString>;
104
+ sku: z.ZodOptional<z.ZodString>;
105
+ gtin: z.ZodOptional<z.ZodString>;
106
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
107
+ }, z.core.$strip>;
108
+ location: z.ZodOptional<z.ZodObject<{
109
+ locationId: z.ZodOptional<z.ZodString>;
110
+ facilityId: z.ZodOptional<z.ZodString>;
111
+ name: z.ZodOptional<z.ZodString>;
112
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
113
+ }, z.core.$strip>>;
114
+ lotNumber: z.ZodOptional<z.ZodString>;
115
+ serialNumber: z.ZodOptional<z.ZodString>;
116
+ expirationDate: z.ZodOptional<z.ZodISODate>;
117
+ ownerId: z.ZodOptional<z.ZodString>;
118
+ conditionCode: z.ZodOptional<z.ZodString>;
119
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
120
+ }, z.core.$strip>>>;
121
+ messages: z.ZodDefault<z.ZodArray<z.ZodString>>;
122
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
123
+ }, z.core.$strip>>>;
124
+ issueTransactionId: z.ZodOptional<z.ZodString>;
125
+ receiptTransactionId: z.ZodOptional<z.ZodString>;
126
+ shipmentReference: z.ZodOptional<z.ZodObject<{
127
+ type: z.ZodString;
128
+ id: z.ZodString;
129
+ lineId: z.ZodOptional<z.ZodString>;
130
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
131
+ }, z.core.$strip>>;
132
+ messages: z.ZodDefault<z.ZodArray<z.ZodString>>;
133
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
134
+ }, z.core.$strip>;
135
+ export type StockTransferInput = z.input<typeof stockTransferInputSchema>;
136
+ export type NormalizedStockTransferInput = z.output<typeof stockTransferInputSchema>;
137
+ export type StockTransferStatus = z.output<typeof stockTransferStatusSchema>;
138
+ export type StockTransferResult = z.output<typeof stockTransferResultSchema>;
139
+ //# sourceMappingURL=stock-transfer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-transfer.d.ts","sourceRoot":"","sources":["../../src/inventory/stock-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,aAAa,EAAG,0BAAmC,CAAC;AAcjE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAelC,CAAC;AAEJ,eAAO,MAAM,yBAAyB;;;;;;;;EAQpC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYpC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC;AACrF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC7E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { z } from 'zod';
2
+ import { inventoryAccessModeSchema, inventoryLocationRefSchema, inventoryMetadataSchema, inventoryReferenceSchema, inventoryStockLineInputSchema, inventoryTransactionLineResultSchema } from './stock-common.js';
3
+ export const operationCode = 'inventory.stock.transfer';
4
+ const locationsShareIdentifier = (source, destination) => Boolean((source.locationId && source.locationId === destination.locationId) ||
5
+ (source.facilityId && source.facilityId === destination.facilityId) ||
6
+ Object.entries(source.externalIds).some(([namespace, value]) => destination.externalIds[namespace] === value));
7
+ export const stockTransferInputSchema = z
8
+ .object({
9
+ source: inventoryLocationRefSchema,
10
+ destination: inventoryLocationRefSchema,
11
+ lines: z.array(inventoryStockLineInputSchema).min(1),
12
+ transferReference: inventoryReferenceSchema.optional(),
13
+ shipmentReference: inventoryReferenceSchema.optional(),
14
+ requestedDispatchAt: z.string().min(1).optional(),
15
+ allowPartial: z.boolean().default(false),
16
+ idempotencyKey: z.string().min(1),
17
+ metadata: inventoryMetadataSchema
18
+ })
19
+ .refine((value) => !locationsShareIdentifier(value.source, value.destination), {
20
+ message: 'Source and destination locations must differ',
21
+ path: ['destination']
22
+ });
23
+ export const stockTransferStatusSchema = z.enum([
24
+ 'accepted',
25
+ 'issued',
26
+ 'inTransit',
27
+ 'partiallyReceived',
28
+ 'received',
29
+ 'cancelled',
30
+ 'rejected'
31
+ ]);
32
+ export const stockTransferResultSchema = z.object({
33
+ operationCode: z.literal(operationCode),
34
+ accessModeUsed: inventoryAccessModeSchema,
35
+ providerCode: z.string().min(1).optional(),
36
+ transferId: z.string().min(1),
37
+ status: stockTransferStatusSchema,
38
+ lines: z.array(inventoryTransactionLineResultSchema).default([]),
39
+ issueTransactionId: z.string().min(1).optional(),
40
+ receiptTransactionId: z.string().min(1).optional(),
41
+ shipmentReference: inventoryReferenceSchema.optional(),
42
+ messages: z.array(z.string().min(1)).default([]),
43
+ metadata: inventoryMetadataSchema
44
+ });
45
+ //# sourceMappingURL=stock-transfer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-transfer.js","sourceRoot":"","sources":["../../src/inventory/stock-transfer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opsregistry/contracts",
3
- "version": "0.1.5",
3
+ "version": "0.3.0",
4
4
  "description": "Operation specifications and shared schemas for opsregistry.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -131,11 +131,44 @@
131
131
  "./it/access-policy-evaluate": {
132
132
  "types": "./dist/it/access-policy-evaluate.d.ts",
133
133
  "import": "./dist/it/access-policy-evaluate.js"
134
+ },
135
+ "./inventory/stock-common": {
136
+ "types": "./dist/inventory/stock-common.d.ts",
137
+ "import": "./dist/inventory/stock-common.js"
138
+ },
139
+ "./inventory/stock-get-availability": {
140
+ "types": "./dist/inventory/stock-get-availability.d.ts",
141
+ "import": "./dist/inventory/stock-get-availability.js"
142
+ },
143
+ "./inventory/stock-receive": {
144
+ "types": "./dist/inventory/stock-receive.d.ts",
145
+ "import": "./dist/inventory/stock-receive.js"
146
+ },
147
+ "./inventory/stock-issue": {
148
+ "types": "./dist/inventory/stock-issue.d.ts",
149
+ "import": "./dist/inventory/stock-issue.js"
150
+ },
151
+ "./inventory/stock-reserve": {
152
+ "types": "./dist/inventory/stock-reserve.d.ts",
153
+ "import": "./dist/inventory/stock-reserve.js"
154
+ },
155
+ "./inventory/stock-release": {
156
+ "types": "./dist/inventory/stock-release.d.ts",
157
+ "import": "./dist/inventory/stock-release.js"
158
+ },
159
+ "./inventory/stock-transfer": {
160
+ "types": "./dist/inventory/stock-transfer.d.ts",
161
+ "import": "./dist/inventory/stock-transfer.js"
162
+ },
163
+ "./inventory/stock-adjust": {
164
+ "types": "./dist/inventory/stock-adjust.d.ts",
165
+ "import": "./dist/inventory/stock-adjust.js"
134
166
  }
135
167
  },
136
168
  "scripts": {
137
169
  "build": "rm -rf dist && tsc -p tsconfig.json",
138
- "check": "tsc -p tsconfig.json --noEmit"
170
+ "check": "tsc -p tsconfig.json --noEmit",
171
+ "test": "bun test"
139
172
  },
140
173
  "dependencies": {
141
174
  "zod": "4.4.3"