@opsregistry/contracts 0.1.5 → 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.
- package/README.md +48 -5
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/inventory/stock-adjust.d.ts +137 -0
- package/dist/inventory/stock-adjust.d.ts.map +1 -0
- package/dist/inventory/stock-adjust.js +51 -0
- package/dist/inventory/stock-adjust.js.map +1 -0
- package/dist/inventory/stock-common.d.ts +161 -0
- package/dist/inventory/stock-common.d.ts.map +1 -0
- package/dist/inventory/stock-common.js +88 -0
- package/dist/inventory/stock-common.js.map +1 -0
- package/dist/inventory/stock-get-availability.d.ts +113 -0
- package/dist/inventory/stock-get-availability.d.ts.map +1 -0
- package/dist/inventory/stock-get-availability.js +34 -0
- package/dist/inventory/stock-get-availability.js.map +1 -0
- package/dist/inventory/stock-issue.d.ts +109 -0
- package/dist/inventory/stock-issue.d.ts.map +1 -0
- package/dist/inventory/stock-issue.js +26 -0
- package/dist/inventory/stock-issue.js.map +1 -0
- package/dist/inventory/stock-receive.d.ts +112 -0
- package/dist/inventory/stock-receive.d.ts.map +1 -0
- package/dist/inventory/stock-receive.js +24 -0
- package/dist/inventory/stock-receive.js.map +1 -0
- package/dist/inventory/stock-release.d.ts +98 -0
- package/dist/inventory/stock-release.d.ts.map +1 -0
- package/dist/inventory/stock-release.js +39 -0
- package/dist/inventory/stock-release.js.map +1 -0
- package/dist/inventory/stock-reserve.d.ts +151 -0
- package/dist/inventory/stock-reserve.d.ts.map +1 -0
- package/dist/inventory/stock-reserve.js +52 -0
- package/dist/inventory/stock-reserve.js.map +1 -0
- package/dist/inventory/stock-transfer.d.ts +137 -0
- package/dist/inventory/stock-transfer.d.ts.map +1 -0
- package/dist/inventory/stock-transfer.js +45 -0
- package/dist/inventory/stock-transfer.js.map +1 -0
- package/package.json +35 -2
package/README.md
CHANGED
|
@@ -36,6 +36,16 @@
|
|
|
36
36
|
- `storage.website.get`
|
|
37
37
|
- `storage.website.delete`
|
|
38
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
|
+
|
|
39
49
|
Каждая операция экспортирует:
|
|
40
50
|
|
|
41
51
|
- `operationCode`
|
|
@@ -47,10 +57,27 @@
|
|
|
47
57
|
|
|
48
58
|
```ts
|
|
49
59
|
import {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
} from
|
|
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
|
+
});
|
|
54
81
|
```
|
|
55
82
|
|
|
56
83
|
## Принцип
|
|
@@ -83,7 +110,7 @@ import {
|
|
|
83
110
|
|
|
84
111
|
Если платежный провайдер умеет одновременно инициировать платеж и передавать данные для онлайн-кассы, используйте опциональное поле `receipt` в `finance.merchantPayment.create`. Для возврата или частичной отмены с фискализацией то же поле доступно в `finance.merchantPayment.cancel`.
|
|
85
112
|
|
|
86
|
-
Для
|
|
113
|
+
Для всех операций используйте форму `domain.resource.action`, например `finance.merchantPayment.create` или `finance.fiscalReceipt.create`. Ресурс должен описывать бизнес-объект или bounded context, а не конкретного провайдера. Для вложенного ресурса допустимы дополнительные сегменты, например `it.identity.token.refresh`.
|
|
87
114
|
|
|
88
115
|
Примеры будущих отдельных финансовых поддоменов:
|
|
89
116
|
|
|
@@ -99,3 +126,19 @@ import {
|
|
|
99
126
|
`storage.object.*` описывает работу с объектами внутри бакета: загрузить файл, удалить файл, получить список объектов. Опциональный `websiteRedirectLocation` в `storage.object.uploadFile` отражает object-level redirect header и зависит от поддержки конкретного S3-провайдера.
|
|
100
127
|
|
|
101
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
|
@@ -27,4 +27,12 @@ export * as itIdentityTokenRefresh from './it/identity-token-refresh.js';
|
|
|
27
27
|
export * as itIdentityTokenRevoke from './it/identity-token-revoke.js';
|
|
28
28
|
export * as itAccessAuthorize from './it/access-authorize.js';
|
|
29
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';
|
|
30
38
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,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"}
|
|
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
|
@@ -27,4 +27,12 @@ export * as itIdentityTokenRefresh from './it/identity-token-refresh.js';
|
|
|
27
27
|
export * as itIdentityTokenRevoke from './it/identity-token-revoke.js';
|
|
28
28
|
export * as itAccessAuthorize from './it/access-authorize.js';
|
|
29
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';
|
|
30
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,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"}
|
|
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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"}
|