@opsregistry/contracts 0.1.4 → 0.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.
Files changed (42) hide show
  1. package/README.md +49 -5
  2. package/dist/index.d.ts +9 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +9 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/inventory/stock-adjust.d.ts +137 -0
  7. package/dist/inventory/stock-adjust.d.ts.map +1 -0
  8. package/dist/inventory/stock-adjust.js +51 -0
  9. package/dist/inventory/stock-adjust.js.map +1 -0
  10. package/dist/inventory/stock-common.d.ts +161 -0
  11. package/dist/inventory/stock-common.d.ts.map +1 -0
  12. package/dist/inventory/stock-common.js +88 -0
  13. package/dist/inventory/stock-common.js.map +1 -0
  14. package/dist/inventory/stock-get-availability.d.ts +113 -0
  15. package/dist/inventory/stock-get-availability.d.ts.map +1 -0
  16. package/dist/inventory/stock-get-availability.js +34 -0
  17. package/dist/inventory/stock-get-availability.js.map +1 -0
  18. package/dist/inventory/stock-issue.d.ts +109 -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 +112 -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 +151 -0
  31. package/dist/inventory/stock-reserve.d.ts.map +1 -0
  32. package/dist/inventory/stock-reserve.js +52 -0
  33. package/dist/inventory/stock-reserve.js.map +1 -0
  34. package/dist/inventory/stock-transfer.d.ts +137 -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/dist/logistics/shipment-list.d.ts +178 -0
  39. package/dist/logistics/shipment-list.d.ts.map +1 -0
  40. package/dist/logistics/shipment-list.js +53 -0
  41. package/dist/logistics/shipment-list.js.map +1 -0
  42. package/package.json +39 -2
package/README.md CHANGED
@@ -14,6 +14,7 @@
14
14
 
15
15
  - `logistics.shipment.quote`
16
16
  - `logistics.shipment.create`
17
+ - `logistics.shipment.list`
17
18
  - `logistics.shipment.track`
18
19
  - `logistics.pickup.create`
19
20
 
@@ -35,6 +36,16 @@
35
36
  - `storage.website.get`
36
37
  - `storage.website.delete`
37
38
 
39
+ И спецификации физических запасов и склада:
40
+
41
+ - `inventory.stock.getAvailability`
42
+ - `inventory.stock.receive`
43
+ - `inventory.stock.issue`
44
+ - `inventory.stock.reserve`
45
+ - `inventory.stock.release`
46
+ - `inventory.stock.transfer`
47
+ - `inventory.stock.adjust`
48
+
38
49
  Каждая операция экспортирует:
39
50
 
40
51
  - `operationCode`
@@ -46,10 +57,27 @@
46
57
 
47
58
  ```ts
48
59
  import {
49
- shipmentQuoteInputSchema,
50
- type ShipmentQuoteInput,
51
- type ShipmentQuoteResult
52
- } from '@opsregistry/contracts/logistics/shipment-quote';
60
+ shipmentQuoteInputSchema,
61
+ type ShipmentQuoteInput,
62
+ type ShipmentQuoteResult,
63
+ } from "@opsregistry/contracts/logistics/shipment-quote";
64
+ ```
65
+
66
+ Пример резервирования запаса:
67
+
68
+ ```ts
69
+ import { stockReserveInputSchema } from "@opsregistry/contracts/inventory/stock-reserve";
70
+
71
+ const request = stockReserveInputSchema.parse({
72
+ demandReference: { type: "salesOrder", id: "SO-42" },
73
+ lines: [
74
+ {
75
+ item: { sku: "PART-001" },
76
+ quantity: { value: 2.5, unitCode: "KGM" },
77
+ },
78
+ ],
79
+ idempotencyKey: "SO-42:reserve:1",
80
+ });
53
81
  ```
54
82
 
55
83
  ## Принцип
@@ -82,7 +110,7 @@ import {
82
110
 
83
111
  Если платежный провайдер умеет одновременно инициировать платеж и передавать данные для онлайн-кассы, используйте опциональное поле `receipt` в `finance.merchantPayment.create`. Для возврата или частичной отмены с фискализацией то же поле доступно в `finance.merchantPayment.cancel`.
84
112
 
85
- Для широких доменов используйте форму `domain.subdomain.action`, например `finance.merchantPayment.create` или `finance.fiscalReceipt.create`. Поддомен должен описывать бизнес-объект или bounded context, а не конкретного провайдера.
113
+ Для всех операций используйте форму `domain.resource.action`, например `finance.merchantPayment.create` или `finance.fiscalReceipt.create`. Ресурс должен описывать бизнес-объект или bounded context, а не конкретного провайдера. Для вложенного ресурса допустимы дополнительные сегменты, например `it.identity.token.refresh`.
86
114
 
87
115
  Примеры будущих отдельных финансовых поддоменов:
88
116
 
@@ -98,3 +126,19 @@ import {
98
126
  `storage.object.*` описывает работу с объектами внутри бакета: загрузить файл, удалить файл, получить список объектов. Опциональный `websiteRedirectLocation` в `storage.object.uploadFile` отражает object-level redirect header и зависит от поддержки конкретного S3-провайдера.
99
127
 
100
128
  `storage.website.*` описывает конфигурацию static website hosting на уровне бакета: index/error documents, redirect-all requests и routing rules. Эти операции отделены от object-операций, потому что меняют настройки сайта целиком, а не отдельный файл.
129
+
130
+ ## Граница inventory
131
+
132
+ `inventory` описывает физический запас и его учётное состояние. Это не `storage`, который хранит
133
+ файлы и S3-объекты, и не `logistics`, который оформляет и отслеживает перевозку.
134
+
135
+ - товар идентифицируется через `itemId`, `variantId`, `sku`, `gtin` или `externalIds`, а не через ID
136
+ конкретной таблицы;
137
+ - количество всегда передаётся вместе с `unitCode`; дробные значения допустимы;
138
+ - мутации требуют `idempotencyKey`;
139
+ - резерв меняет доступность, но не физический остаток;
140
+ - transfer может ссылаться на shipment, оставаясь складской операцией;
141
+ - adjust создаёт аудируемое исправление через дельту или фактический пересчёт и не удаляет историю.
142
+
143
+ Поля `metadata` и `externalIds` позволяют приложению сохранить локальный контекст, не добавляя его в
144
+ универсальный код операции.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * as logisticsShipmentCommon from './logistics/shipment-common.js';
2
2
  export * as logisticsShipmentQuote from './logistics/shipment-quote.js';
3
3
  export * as logisticsShipmentCreate from './logistics/shipment-create.js';
4
+ export * as logisticsShipmentList from './logistics/shipment-list.js';
4
5
  export * as logisticsShipmentTrack from './logistics/shipment-track.js';
5
6
  export * as logisticsPickupCreate from './logistics/pickup-create.js';
6
7
  export * as financeCommon from './finance/common.js';
@@ -26,4 +27,12 @@ export * as itIdentityTokenRefresh from './it/identity-token-refresh.js';
26
27
  export * as itIdentityTokenRevoke from './it/identity-token-revoke.js';
27
28
  export * as itAccessAuthorize from './it/access-authorize.js';
28
29
  export * as itAccessPolicyEvaluate from './it/access-policy-evaluate.js';
30
+ export * as inventoryStockCommon from './inventory/stock-common.js';
31
+ export * as inventoryStockGetAvailability from './inventory/stock-get-availability.js';
32
+ export * as inventoryStockReceive from './inventory/stock-receive.js';
33
+ export * as inventoryStockIssue from './inventory/stock-issue.js';
34
+ export * as inventoryStockReserve from './inventory/stock-reserve.js';
35
+ export * as inventoryStockRelease from './inventory/stock-release.js';
36
+ export * as inventoryStockTransfer from './inventory/stock-transfer.js';
37
+ export * as inventoryStockAdjust from './inventory/stock-adjust.js';
29
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,uBAAuB,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,uBAAuB,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,2BAA2B,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,0BAA0B,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,uBAAuB,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,uBAAuB,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,2BAA2B,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,0BAA0B,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,6BAA6B,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,mBAAmB,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export * as logisticsShipmentCommon from './logistics/shipment-common.js';
2
2
  export * as logisticsShipmentQuote from './logistics/shipment-quote.js';
3
3
  export * as logisticsShipmentCreate from './logistics/shipment-create.js';
4
+ export * as logisticsShipmentList from './logistics/shipment-list.js';
4
5
  export * as logisticsShipmentTrack from './logistics/shipment-track.js';
5
6
  export * as logisticsPickupCreate from './logistics/pickup-create.js';
6
7
  export * as financeCommon from './finance/common.js';
@@ -26,4 +27,12 @@ export * as itIdentityTokenRefresh from './it/identity-token-refresh.js';
26
27
  export * as itIdentityTokenRevoke from './it/identity-token-revoke.js';
27
28
  export * as itAccessAuthorize from './it/access-authorize.js';
28
29
  export * as itAccessPolicyEvaluate from './it/access-policy-evaluate.js';
30
+ export * as inventoryStockCommon from './inventory/stock-common.js';
31
+ export * as inventoryStockGetAvailability from './inventory/stock-get-availability.js';
32
+ export * as inventoryStockReceive from './inventory/stock-receive.js';
33
+ export * as inventoryStockIssue from './inventory/stock-issue.js';
34
+ export * as inventoryStockReserve from './inventory/stock-reserve.js';
35
+ export * as inventoryStockRelease from './inventory/stock-release.js';
36
+ export * as inventoryStockTransfer from './inventory/stock-transfer.js';
37
+ export * as inventoryStockAdjust from './inventory/stock-adjust.js';
29
38
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,uBAAuB,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,uBAAuB,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,2BAA2B,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,0BAA0B,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,uBAAuB,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,uBAAuB,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,2BAA2B,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,0BAA0B,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,6BAA6B,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,mBAAmB,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,137 @@
1
+ import { z } from 'zod';
2
+ export declare const operationCode: 'inventory.stock.adjust';
3
+ export declare const stockAdjustmentLineInputSchema: z.ZodObject<{
4
+ lineId: z.ZodOptional<z.ZodString>;
5
+ item: z.ZodObject<{
6
+ itemId: z.ZodOptional<z.ZodString>;
7
+ variantId: z.ZodOptional<z.ZodString>;
8
+ sku: z.ZodOptional<z.ZodString>;
9
+ gtin: z.ZodOptional<z.ZodString>;
10
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
11
+ }, z.core.$strip>;
12
+ location: z.ZodObject<{
13
+ locationId: z.ZodOptional<z.ZodString>;
14
+ facilityId: z.ZodOptional<z.ZodString>;
15
+ name: z.ZodOptional<z.ZodString>;
16
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
17
+ }, z.core.$strip>;
18
+ unitCode: z.ZodString;
19
+ quantityDelta: z.ZodOptional<z.ZodNumber>;
20
+ countedQuantity: z.ZodOptional<z.ZodNumber>;
21
+ lotNumber: z.ZodOptional<z.ZodString>;
22
+ serialNumber: z.ZodOptional<z.ZodString>;
23
+ ownerId: z.ZodOptional<z.ZodString>;
24
+ conditionCode: z.ZodOptional<z.ZodString>;
25
+ reasonCode: z.ZodString;
26
+ evidenceReferences: z.ZodDefault<z.ZodArray<z.ZodString>>;
27
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
28
+ }, z.core.$strip>;
29
+ export declare const stockAdjustInputSchema: z.ZodObject<{
30
+ lines: z.ZodArray<z.ZodObject<{
31
+ lineId: z.ZodOptional<z.ZodString>;
32
+ item: z.ZodObject<{
33
+ itemId: z.ZodOptional<z.ZodString>;
34
+ variantId: z.ZodOptional<z.ZodString>;
35
+ sku: z.ZodOptional<z.ZodString>;
36
+ gtin: z.ZodOptional<z.ZodString>;
37
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
38
+ }, z.core.$strip>;
39
+ location: z.ZodObject<{
40
+ locationId: z.ZodOptional<z.ZodString>;
41
+ facilityId: z.ZodOptional<z.ZodString>;
42
+ name: z.ZodOptional<z.ZodString>;
43
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
44
+ }, z.core.$strip>;
45
+ unitCode: z.ZodString;
46
+ quantityDelta: z.ZodOptional<z.ZodNumber>;
47
+ countedQuantity: z.ZodOptional<z.ZodNumber>;
48
+ lotNumber: z.ZodOptional<z.ZodString>;
49
+ serialNumber: z.ZodOptional<z.ZodString>;
50
+ ownerId: z.ZodOptional<z.ZodString>;
51
+ conditionCode: z.ZodOptional<z.ZodString>;
52
+ reasonCode: z.ZodString;
53
+ evidenceReferences: z.ZodDefault<z.ZodArray<z.ZodString>>;
54
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
55
+ }, z.core.$strip>>;
56
+ adjustedAt: z.ZodOptional<z.ZodString>;
57
+ idempotencyKey: z.ZodString;
58
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
59
+ }, z.core.$strip>;
60
+ export declare const stockAdjustmentLineResultSchema: z.ZodObject<{
61
+ lineId: z.ZodOptional<z.ZodString>;
62
+ item: z.ZodObject<{
63
+ itemId: z.ZodOptional<z.ZodString>;
64
+ variantId: z.ZodOptional<z.ZodString>;
65
+ sku: z.ZodOptional<z.ZodString>;
66
+ gtin: z.ZodOptional<z.ZodString>;
67
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
68
+ }, z.core.$strip>;
69
+ location: z.ZodObject<{
70
+ locationId: z.ZodOptional<z.ZodString>;
71
+ facilityId: z.ZodOptional<z.ZodString>;
72
+ name: z.ZodOptional<z.ZodString>;
73
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
74
+ }, z.core.$strip>;
75
+ previousQuantity: z.ZodObject<{
76
+ value: z.ZodNumber;
77
+ unitCode: z.ZodString;
78
+ }, z.core.$strip>;
79
+ adjustment: z.ZodObject<{
80
+ unitCode: z.ZodString;
81
+ value: z.ZodNumber;
82
+ }, z.core.$strip>;
83
+ resultingQuantity: z.ZodObject<{
84
+ value: z.ZodNumber;
85
+ unitCode: z.ZodString;
86
+ }, z.core.$strip>;
87
+ messages: z.ZodDefault<z.ZodArray<z.ZodString>>;
88
+ }, z.core.$strip>;
89
+ export declare const stockAdjustResultSchema: z.ZodObject<{
90
+ operationCode: z.ZodLiteral<"inventory.stock.adjust">;
91
+ accessModeUsed: z.ZodLiteral<"authorized">;
92
+ providerCode: z.ZodOptional<z.ZodString>;
93
+ adjustmentId: z.ZodString;
94
+ status: z.ZodEnum<{
95
+ completed: "completed";
96
+ partial: "partial";
97
+ rejected: "rejected";
98
+ }>;
99
+ lines: z.ZodDefault<z.ZodArray<z.ZodObject<{
100
+ lineId: 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.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
+ previousQuantity: z.ZodObject<{
115
+ value: z.ZodNumber;
116
+ unitCode: z.ZodString;
117
+ }, z.core.$strip>;
118
+ adjustment: z.ZodObject<{
119
+ unitCode: z.ZodString;
120
+ value: z.ZodNumber;
121
+ }, z.core.$strip>;
122
+ resultingQuantity: z.ZodObject<{
123
+ value: z.ZodNumber;
124
+ unitCode: z.ZodString;
125
+ }, z.core.$strip>;
126
+ messages: z.ZodDefault<z.ZodArray<z.ZodString>>;
127
+ }, z.core.$strip>>>;
128
+ completedAt: z.ZodOptional<z.ZodString>;
129
+ messages: z.ZodDefault<z.ZodArray<z.ZodString>>;
130
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
131
+ }, z.core.$strip>;
132
+ export type StockAdjustmentLineInput = z.input<typeof stockAdjustmentLineInputSchema>;
133
+ export type StockAdjustInput = z.input<typeof stockAdjustInputSchema>;
134
+ export type NormalizedStockAdjustInput = z.output<typeof stockAdjustInputSchema>;
135
+ export type StockAdjustmentLineResult = z.output<typeof stockAdjustmentLineResultSchema>;
136
+ export type StockAdjustResult = z.output<typeof stockAdjustResultSchema>;
137
+ //# sourceMappingURL=stock-adjust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-adjust.d.ts","sourceRoot":"","sources":["../../src/inventory/stock-adjust.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,aAAa,EAAG,wBAAiC,CAAC;AAE/D,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;iBAuBxC,CAAC;AAEJ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKjC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ1C,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUlC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACjF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACzF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { z } from 'zod';
2
+ import { inventoryAccessModeSchema, inventoryItemRefSchema, inventoryLocationRefSchema, inventoryMetadataSchema, inventoryQuantitySchema, signedInventoryQuantitySchema } from './stock-common.js';
3
+ export const operationCode = 'inventory.stock.adjust';
4
+ export const stockAdjustmentLineInputSchema = z
5
+ .object({
6
+ lineId: z.string().min(1).optional(),
7
+ item: inventoryItemRefSchema,
8
+ location: inventoryLocationRefSchema,
9
+ unitCode: z.string().min(1),
10
+ quantityDelta: z.number().optional(),
11
+ countedQuantity: z.number().nonnegative().optional(),
12
+ lotNumber: z.string().min(1).optional(),
13
+ serialNumber: z.string().min(1).optional(),
14
+ ownerId: z.string().min(1).optional(),
15
+ conditionCode: z.string().min(1).optional(),
16
+ reasonCode: z.string().min(1),
17
+ evidenceReferences: z.array(z.string().min(1)).default([]),
18
+ metadata: inventoryMetadataSchema
19
+ })
20
+ .refine((value) => (value.quantityDelta !== undefined) !== (value.countedQuantity !== undefined), { message: 'Exactly one of quantityDelta or countedQuantity is required' })
21
+ .refine((value) => value.quantityDelta === undefined || value.quantityDelta !== 0, {
22
+ message: 'quantityDelta must be non-zero',
23
+ path: ['quantityDelta']
24
+ });
25
+ export const stockAdjustInputSchema = z.object({
26
+ lines: z.array(stockAdjustmentLineInputSchema).min(1),
27
+ adjustedAt: z.string().min(1).optional(),
28
+ idempotencyKey: z.string().min(1),
29
+ metadata: inventoryMetadataSchema
30
+ });
31
+ export const stockAdjustmentLineResultSchema = z.object({
32
+ lineId: z.string().min(1).optional(),
33
+ item: inventoryItemRefSchema,
34
+ location: inventoryLocationRefSchema,
35
+ previousQuantity: inventoryQuantitySchema,
36
+ adjustment: signedInventoryQuantitySchema,
37
+ resultingQuantity: inventoryQuantitySchema,
38
+ messages: z.array(z.string().min(1)).default([])
39
+ });
40
+ export const stockAdjustResultSchema = z.object({
41
+ operationCode: z.literal(operationCode),
42
+ accessModeUsed: inventoryAccessModeSchema,
43
+ providerCode: z.string().min(1).optional(),
44
+ adjustmentId: z.string().min(1),
45
+ status: z.enum(['completed', 'partial', 'rejected']),
46
+ lines: z.array(stockAdjustmentLineResultSchema).default([]),
47
+ completedAt: z.string().min(1).optional(),
48
+ messages: z.array(z.string().min(1)).default([]),
49
+ metadata: inventoryMetadataSchema
50
+ });
51
+ //# sourceMappingURL=stock-adjust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-adjust.js","sourceRoot":"","sources":["../../src/inventory/stock-adjust.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,161 @@
1
+ import { z } from 'zod';
2
+ export declare const inventoryAccessModeSchema: z.ZodLiteral<"authorized">;
3
+ export declare const inventoryMetadataSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4
+ export declare const inventoryExternalIdsSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
5
+ export declare const inventoryItemRefSchema: z.ZodObject<{
6
+ itemId: z.ZodOptional<z.ZodString>;
7
+ variantId: z.ZodOptional<z.ZodString>;
8
+ sku: z.ZodOptional<z.ZodString>;
9
+ gtin: z.ZodOptional<z.ZodString>;
10
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
11
+ }, z.core.$strip>;
12
+ export declare const inventoryLocationRefSchema: z.ZodObject<{
13
+ locationId: z.ZodOptional<z.ZodString>;
14
+ facilityId: z.ZodOptional<z.ZodString>;
15
+ name: z.ZodOptional<z.ZodString>;
16
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
17
+ }, z.core.$strip>;
18
+ export declare const inventoryReferenceSchema: z.ZodObject<{
19
+ type: z.ZodString;
20
+ id: z.ZodString;
21
+ lineId: z.ZodOptional<z.ZodString>;
22
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
23
+ }, z.core.$strip>;
24
+ export declare const inventoryQuantitySchema: z.ZodObject<{
25
+ value: z.ZodNumber;
26
+ unitCode: z.ZodString;
27
+ }, z.core.$strip>;
28
+ export declare const positiveInventoryQuantitySchema: z.ZodObject<{
29
+ unitCode: z.ZodString;
30
+ value: z.ZodNumber;
31
+ }, z.core.$strip>;
32
+ export declare const signedInventoryQuantitySchema: z.ZodObject<{
33
+ unitCode: z.ZodString;
34
+ value: z.ZodNumber;
35
+ }, z.core.$strip>;
36
+ export declare const inventoryStockDimensionsSchema: z.ZodObject<{
37
+ item: z.ZodObject<{
38
+ itemId: z.ZodOptional<z.ZodString>;
39
+ variantId: z.ZodOptional<z.ZodString>;
40
+ sku: z.ZodOptional<z.ZodString>;
41
+ gtin: z.ZodOptional<z.ZodString>;
42
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
43
+ }, z.core.$strip>;
44
+ location: z.ZodOptional<z.ZodObject<{
45
+ locationId: z.ZodOptional<z.ZodString>;
46
+ facilityId: z.ZodOptional<z.ZodString>;
47
+ name: z.ZodOptional<z.ZodString>;
48
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
49
+ }, z.core.$strip>>;
50
+ lotNumber: z.ZodOptional<z.ZodString>;
51
+ serialNumber: z.ZodOptional<z.ZodString>;
52
+ ownerId: z.ZodOptional<z.ZodString>;
53
+ conditionCode: z.ZodOptional<z.ZodString>;
54
+ }, z.core.$strip>;
55
+ export declare const inventoryStockLineInputSchema: z.ZodObject<{
56
+ lineId: z.ZodOptional<z.ZodString>;
57
+ item: z.ZodObject<{
58
+ itemId: z.ZodOptional<z.ZodString>;
59
+ variantId: z.ZodOptional<z.ZodString>;
60
+ sku: z.ZodOptional<z.ZodString>;
61
+ gtin: z.ZodOptional<z.ZodString>;
62
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
63
+ }, z.core.$strip>;
64
+ quantity: z.ZodObject<{
65
+ unitCode: z.ZodString;
66
+ value: z.ZodNumber;
67
+ }, z.core.$strip>;
68
+ location: z.ZodOptional<z.ZodObject<{
69
+ locationId: z.ZodOptional<z.ZodString>;
70
+ facilityId: z.ZodOptional<z.ZodString>;
71
+ name: z.ZodOptional<z.ZodString>;
72
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
73
+ }, z.core.$strip>>;
74
+ lotNumber: z.ZodOptional<z.ZodString>;
75
+ serialNumbers: z.ZodDefault<z.ZodArray<z.ZodString>>;
76
+ ownerId: z.ZodOptional<z.ZodString>;
77
+ conditionCode: z.ZodOptional<z.ZodString>;
78
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
79
+ }, z.core.$strip>;
80
+ export declare const inventoryStockRefSchema: z.ZodObject<{
81
+ stockId: z.ZodOptional<z.ZodString>;
82
+ item: z.ZodObject<{
83
+ itemId: z.ZodOptional<z.ZodString>;
84
+ variantId: z.ZodOptional<z.ZodString>;
85
+ sku: z.ZodOptional<z.ZodString>;
86
+ gtin: z.ZodOptional<z.ZodString>;
87
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
88
+ }, z.core.$strip>;
89
+ location: z.ZodOptional<z.ZodObject<{
90
+ locationId: z.ZodOptional<z.ZodString>;
91
+ facilityId: z.ZodOptional<z.ZodString>;
92
+ name: z.ZodOptional<z.ZodString>;
93
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
94
+ }, z.core.$strip>>;
95
+ lotNumber: z.ZodOptional<z.ZodString>;
96
+ serialNumber: z.ZodOptional<z.ZodString>;
97
+ ownerId: z.ZodOptional<z.ZodString>;
98
+ conditionCode: z.ZodOptional<z.ZodString>;
99
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
100
+ }, z.core.$strip>;
101
+ export declare const inventoryTransactionStatusSchema: z.ZodEnum<{
102
+ accepted: "accepted";
103
+ cancelled: "cancelled";
104
+ completed: "completed";
105
+ partial: "partial";
106
+ processing: "processing";
107
+ rejected: "rejected";
108
+ }>;
109
+ export declare const inventoryTransactionLineResultSchema: z.ZodObject<{
110
+ lineId: z.ZodOptional<z.ZodString>;
111
+ item: z.ZodObject<{
112
+ itemId: z.ZodOptional<z.ZodString>;
113
+ variantId: z.ZodOptional<z.ZodString>;
114
+ sku: z.ZodOptional<z.ZodString>;
115
+ gtin: z.ZodOptional<z.ZodString>;
116
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
117
+ }, z.core.$strip>;
118
+ requestedQuantity: z.ZodObject<{
119
+ unitCode: z.ZodString;
120
+ value: z.ZodNumber;
121
+ }, z.core.$strip>;
122
+ processedQuantity: z.ZodObject<{
123
+ value: z.ZodNumber;
124
+ unitCode: z.ZodString;
125
+ }, z.core.$strip>;
126
+ stockRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
127
+ stockId: z.ZodOptional<z.ZodString>;
128
+ item: z.ZodObject<{
129
+ itemId: z.ZodOptional<z.ZodString>;
130
+ variantId: z.ZodOptional<z.ZodString>;
131
+ sku: z.ZodOptional<z.ZodString>;
132
+ gtin: z.ZodOptional<z.ZodString>;
133
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
134
+ }, z.core.$strip>;
135
+ location: z.ZodOptional<z.ZodObject<{
136
+ locationId: z.ZodOptional<z.ZodString>;
137
+ facilityId: z.ZodOptional<z.ZodString>;
138
+ name: z.ZodOptional<z.ZodString>;
139
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
140
+ }, z.core.$strip>>;
141
+ lotNumber: z.ZodOptional<z.ZodString>;
142
+ serialNumber: z.ZodOptional<z.ZodString>;
143
+ ownerId: z.ZodOptional<z.ZodString>;
144
+ conditionCode: z.ZodOptional<z.ZodString>;
145
+ externalIds: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
146
+ }, z.core.$strip>>>;
147
+ messages: z.ZodDefault<z.ZodArray<z.ZodString>>;
148
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
149
+ }, z.core.$strip>;
150
+ export type InventoryItemRef = z.output<typeof inventoryItemRefSchema>;
151
+ export type InventoryLocationRef = z.output<typeof inventoryLocationRefSchema>;
152
+ export type InventoryReference = z.output<typeof inventoryReferenceSchema>;
153
+ export type InventoryQuantity = z.output<typeof inventoryQuantitySchema>;
154
+ export type PositiveInventoryQuantity = z.output<typeof positiveInventoryQuantitySchema>;
155
+ export type SignedInventoryQuantity = z.output<typeof signedInventoryQuantitySchema>;
156
+ export type InventoryStockDimensions = z.output<typeof inventoryStockDimensionsSchema>;
157
+ export type InventoryStockLineInput = z.output<typeof inventoryStockLineInputSchema>;
158
+ export type InventoryStockRef = z.output<typeof inventoryStockRefSchema>;
159
+ export type InventoryTransactionStatus = z.output<typeof inventoryTransactionStatusSchema>;
160
+ export type InventoryTransactionLineResult = z.output<typeof inventoryTransactionLineResultSchema>;
161
+ //# sourceMappingURL=stock-common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-common.d.ts","sourceRoot":"","sources":["../../src/inventory/stock-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,yBAAyB,4BAA0B,CAAC;AACjE,eAAO,MAAM,uBAAuB,sDAAgD,CAAC;AACrF,eAAO,MAAM,0BAA0B,qDAAsD,CAAC;AAE9F,eAAO,MAAM,sBAAsB;;;;;;iBAkBjC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;iBAarC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;iBAE1C,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;iBAExC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;iBAOzC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;iBAUxC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;iBASlC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;EAO3C,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ/C,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACvE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC/E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC3E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACzE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACzF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACrF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACvF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACrF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACzE,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAC3F,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oCAAoC,CAAC,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { z } from 'zod';
2
+ export const inventoryAccessModeSchema = z.literal('authorized');
3
+ export const inventoryMetadataSchema = z.record(z.string(), z.unknown()).default({});
4
+ export const inventoryExternalIdsSchema = z.record(z.string(), z.string().min(1)).default({});
5
+ export const inventoryItemRefSchema = z
6
+ .object({
7
+ itemId: z.string().min(1).optional(),
8
+ variantId: z.string().min(1).optional(),
9
+ sku: z.string().min(1).optional(),
10
+ gtin: z.string().min(1).optional(),
11
+ externalIds: inventoryExternalIdsSchema
12
+ })
13
+ .refine((value) => Boolean(value.itemId ||
14
+ value.variantId ||
15
+ value.sku ||
16
+ value.gtin ||
17
+ Object.keys(value.externalIds).length), { message: 'At least one item identifier is required' });
18
+ export const inventoryLocationRefSchema = z
19
+ .object({
20
+ locationId: z.string().min(1).optional(),
21
+ facilityId: z.string().min(1).optional(),
22
+ name: z.string().min(1).optional(),
23
+ externalIds: inventoryExternalIdsSchema
24
+ })
25
+ .refine((value) => Boolean(value.locationId || value.facilityId || value.name || Object.keys(value.externalIds).length), { message: 'At least one location identifier is required' });
26
+ export const inventoryReferenceSchema = z.object({
27
+ type: z.string().min(1),
28
+ id: z.string().min(1),
29
+ lineId: z.string().min(1).optional(),
30
+ externalIds: inventoryExternalIdsSchema
31
+ });
32
+ export const inventoryQuantitySchema = z.object({
33
+ value: z.number().nonnegative(),
34
+ unitCode: z.string().min(1)
35
+ });
36
+ export const positiveInventoryQuantitySchema = inventoryQuantitySchema.extend({
37
+ value: z.number().positive()
38
+ });
39
+ export const signedInventoryQuantitySchema = inventoryQuantitySchema.extend({
40
+ value: z.number()
41
+ });
42
+ export const inventoryStockDimensionsSchema = z.object({
43
+ item: inventoryItemRefSchema,
44
+ location: inventoryLocationRefSchema.optional(),
45
+ lotNumber: z.string().min(1).optional(),
46
+ serialNumber: z.string().min(1).optional(),
47
+ ownerId: z.string().min(1).optional(),
48
+ conditionCode: z.string().min(1).optional()
49
+ });
50
+ export const inventoryStockLineInputSchema = z.object({
51
+ lineId: z.string().min(1).optional(),
52
+ item: inventoryItemRefSchema,
53
+ quantity: positiveInventoryQuantitySchema,
54
+ location: inventoryLocationRefSchema.optional(),
55
+ lotNumber: z.string().min(1).optional(),
56
+ serialNumbers: z.array(z.string().min(1)).default([]),
57
+ ownerId: z.string().min(1).optional(),
58
+ conditionCode: z.string().min(1).optional(),
59
+ metadata: inventoryMetadataSchema
60
+ });
61
+ export const inventoryStockRefSchema = z.object({
62
+ stockId: z.string().min(1).optional(),
63
+ item: inventoryItemRefSchema,
64
+ location: inventoryLocationRefSchema.optional(),
65
+ lotNumber: z.string().min(1).optional(),
66
+ serialNumber: z.string().min(1).optional(),
67
+ ownerId: z.string().min(1).optional(),
68
+ conditionCode: z.string().min(1).optional(),
69
+ externalIds: inventoryExternalIdsSchema
70
+ });
71
+ export const inventoryTransactionStatusSchema = z.enum([
72
+ 'accepted',
73
+ 'processing',
74
+ 'completed',
75
+ 'partial',
76
+ 'rejected',
77
+ 'cancelled'
78
+ ]);
79
+ export const inventoryTransactionLineResultSchema = z.object({
80
+ lineId: z.string().min(1).optional(),
81
+ item: inventoryItemRefSchema,
82
+ requestedQuantity: positiveInventoryQuantitySchema,
83
+ processedQuantity: inventoryQuantitySchema,
84
+ stockRefs: z.array(inventoryStockRefSchema).default([]),
85
+ messages: z.array(z.string().min(1)).default([]),
86
+ metadata: inventoryMetadataSchema
87
+ });
88
+ //# sourceMappingURL=stock-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-common.js","sourceRoot":"","sources":["../../src/inventory/stock-common.ts"],"names":[],"mappings":"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"}