@umec/admin 0.1.0-alpha.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 (60) hide show
  1. package/LICENSE +21 -0
  2. package/dist/access.d.ts +7 -0
  3. package/dist/access.js +9 -0
  4. package/dist/access.js.map +1 -0
  5. package/dist/carriers.d.ts +9 -0
  6. package/dist/carriers.js +13 -0
  7. package/dist/carriers.js.map +1 -0
  8. package/dist/catalog/index.d.ts +27 -0
  9. package/dist/catalog/index.js +21 -0
  10. package/dist/catalog/index.js.map +1 -0
  11. package/dist/chunk-4DR4K72B.js +24 -0
  12. package/dist/chunk-4DR4K72B.js.map +1 -0
  13. package/dist/chunk-E7ATMICY.js +51 -0
  14. package/dist/chunk-E7ATMICY.js.map +1 -0
  15. package/dist/chunk-G3O62WUE.js +57 -0
  16. package/dist/chunk-G3O62WUE.js.map +1 -0
  17. package/dist/chunk-ODK4R57S.js +131 -0
  18. package/dist/chunk-ODK4R57S.js.map +1 -0
  19. package/dist/chunk-RK7FIONL.js +27 -0
  20. package/dist/chunk-RK7FIONL.js.map +1 -0
  21. package/dist/chunk-STQU4LQU.js +402 -0
  22. package/dist/chunk-STQU4LQU.js.map +1 -0
  23. package/dist/chunk-TIK7KC4O.js +210 -0
  24. package/dist/chunk-TIK7KC4O.js.map +1 -0
  25. package/dist/chunk-TKJ6KSXM.js +23 -0
  26. package/dist/chunk-TKJ6KSXM.js.map +1 -0
  27. package/dist/chunk-VUT3UCCR.js +200 -0
  28. package/dist/chunk-VUT3UCCR.js.map +1 -0
  29. package/dist/chunk-W2O6EQWT.js +57 -0
  30. package/dist/chunk-W2O6EQWT.js.map +1 -0
  31. package/dist/chunk-ZEA6G75Z.js +129 -0
  32. package/dist/chunk-ZEA6G75Z.js.map +1 -0
  33. package/dist/csv.d.ts +4 -0
  34. package/dist/csv.js +9 -0
  35. package/dist/csv.js.map +1 -0
  36. package/dist/http.d.ts +17 -0
  37. package/dist/http.js +17 -0
  38. package/dist/http.js.map +1 -0
  39. package/dist/index.d.ts +16 -0
  40. package/dist/index.js +141 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/inventory/index.d.ts +27 -0
  43. package/dist/inventory/index.js +21 -0
  44. package/dist/inventory/index.js.map +1 -0
  45. package/dist/offers.d.ts +10 -0
  46. package/dist/offers.js +9 -0
  47. package/dist/offers.js.map +1 -0
  48. package/dist/orders/index.d.ts +49 -0
  49. package/dist/orders/index.js +34 -0
  50. package/dist/orders/index.js.map +1 -0
  51. package/dist/product-fields.d.ts +12 -0
  52. package/dist/product-fields.js +14 -0
  53. package/dist/product-fields.js.map +1 -0
  54. package/dist/products.d.ts +48 -0
  55. package/dist/products.js +27 -0
  56. package/dist/products.js.map +1 -0
  57. package/dist/unshipped-alert.d.ts +19 -0
  58. package/dist/unshipped-alert.js +12 -0
  59. package/dist/unshipped-alert.js.map +1 -0
  60. package/package.json +86 -0
package/dist/index.js ADDED
@@ -0,0 +1,141 @@
1
+ import {
2
+ DEFAULT_ALERT_DAYS_THRESHOLD,
3
+ createUnshippedAlerter,
4
+ parseAlertDaysThreshold
5
+ } from "./chunk-G3O62WUE.js";
6
+ import {
7
+ createAdjustStockHandler,
8
+ createInventoryExportHandler,
9
+ createSetStockHandler,
10
+ formatInventoryDate,
11
+ isLowStock,
12
+ loadInventoryAdminPage
13
+ } from "./chunk-VUT3UCCR.js";
14
+ import {
15
+ MAX_BULK_SHIP,
16
+ carrierLabel,
17
+ createMarkShippedBulkHandler,
18
+ createMarkShippedHandler,
19
+ createOrdersExportHandler,
20
+ createUpdateTrackingHandler,
21
+ formatCustomFields,
22
+ formatOrderAddress,
23
+ formatOrderDate,
24
+ formatOrderItems,
25
+ formatYen as formatYen2,
26
+ loadOrdersAdminPage
27
+ } from "./chunk-STQU4LQU.js";
28
+ import {
29
+ createCreateProductHandler,
30
+ createDiscontinueProductHandler,
31
+ createUpdateProductHandler,
32
+ formatYen,
33
+ imagesText,
34
+ loadCatalogAdminPage
35
+ } from "./chunk-TIK7KC4O.js";
36
+ import {
37
+ authenticateAdmin,
38
+ requireAdminAuth
39
+ } from "./chunk-W2O6EQWT.js";
40
+ import {
41
+ NO_STORE_CSV,
42
+ NO_STORE_JSON,
43
+ csvAttachment,
44
+ jsonError,
45
+ jsonOk,
46
+ readJsonObject
47
+ } from "./chunk-E7ATMICY.js";
48
+ import {
49
+ CARRIERS,
50
+ CARRIER_LABELS,
51
+ isCarrier,
52
+ parseOptionalCarrier
53
+ } from "./chunk-4DR4K72B.js";
54
+ import {
55
+ csvEscape,
56
+ toCsv
57
+ } from "./chunk-TKJ6KSXM.js";
58
+ import {
59
+ isFieldError,
60
+ parseCreateProductFields,
61
+ parseSku,
62
+ parseUpdateProductFields
63
+ } from "./chunk-ODK4R57S.js";
64
+ import {
65
+ catalogFromConfig,
66
+ createProductLoader,
67
+ getProductRow,
68
+ isValidGtin,
69
+ isValidSku,
70
+ listProductRows,
71
+ loadProductNamesFromDb,
72
+ parseImagesJson,
73
+ parseProductImages,
74
+ rowToStorefrontProduct,
75
+ toCheckoutProduct
76
+ } from "./chunk-ZEA6G75Z.js";
77
+ import {
78
+ SAMPLE_FREE_SHIPPING_OFFER_SLUG,
79
+ createResolveCheckoutOffer
80
+ } from "./chunk-RK7FIONL.js";
81
+ export {
82
+ CARRIERS,
83
+ CARRIER_LABELS,
84
+ DEFAULT_ALERT_DAYS_THRESHOLD,
85
+ MAX_BULK_SHIP,
86
+ NO_STORE_CSV,
87
+ NO_STORE_JSON,
88
+ SAMPLE_FREE_SHIPPING_OFFER_SLUG,
89
+ authenticateAdmin,
90
+ carrierLabel,
91
+ catalogFromConfig,
92
+ createAdjustStockHandler,
93
+ createCreateProductHandler,
94
+ createDiscontinueProductHandler,
95
+ createInventoryExportHandler,
96
+ createMarkShippedBulkHandler,
97
+ createMarkShippedHandler,
98
+ createOrdersExportHandler,
99
+ createProductLoader,
100
+ createResolveCheckoutOffer,
101
+ createSetStockHandler,
102
+ createUnshippedAlerter,
103
+ createUpdateProductHandler,
104
+ createUpdateTrackingHandler,
105
+ csvAttachment,
106
+ csvEscape,
107
+ formatYen as formatCatalogYen,
108
+ formatCustomFields,
109
+ formatInventoryDate,
110
+ formatOrderAddress,
111
+ formatOrderDate,
112
+ formatOrderItems,
113
+ formatYen2 as formatYen,
114
+ getProductRow,
115
+ imagesText,
116
+ isCarrier,
117
+ isFieldError,
118
+ isLowStock,
119
+ isValidGtin,
120
+ isValidSku,
121
+ jsonError,
122
+ jsonOk,
123
+ listProductRows,
124
+ loadCatalogAdminPage,
125
+ loadInventoryAdminPage,
126
+ loadOrdersAdminPage,
127
+ loadProductNamesFromDb,
128
+ parseAlertDaysThreshold,
129
+ parseCreateProductFields,
130
+ parseImagesJson,
131
+ parseOptionalCarrier,
132
+ parseProductImages,
133
+ parseSku,
134
+ parseUpdateProductFields,
135
+ readJsonObject,
136
+ requireAdminAuth,
137
+ rowToStorefrontProduct,
138
+ toCheckoutProduct,
139
+ toCsv
140
+ };
141
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,27 @@
1
+ import { AdminApiHandler } from '../http.js';
2
+ import { InventoryRow, listAuditLog } from '@umec/core/db';
3
+
4
+ declare function createAdjustStockHandler(): AdminApiHandler;
5
+
6
+ declare function createInventoryExportHandler(): AdminApiHandler;
7
+
8
+ type InventoryListRow = InventoryRow & {
9
+ name: string | null;
10
+ low_stock_threshold: number | null;
11
+ };
12
+ type InventoryAdminPageData = {
13
+ inventory: InventoryListRow[];
14
+ history: Awaited<ReturnType<typeof listAuditLog>>;
15
+ names: Record<string, string>;
16
+ dbNotice: string;
17
+ };
18
+ type InventoryAdminPageLoad = {
19
+ response: Response;
20
+ } | InventoryAdminPageData;
21
+ declare function formatInventoryDate(value: number | string | null): string;
22
+ declare function isLowStock(item: InventoryListRow): boolean;
23
+ declare function loadInventoryAdminPage(request: Request): Promise<InventoryAdminPageLoad>;
24
+
25
+ declare function createSetStockHandler(): AdminApiHandler;
26
+
27
+ export { type InventoryAdminPageData, type InventoryAdminPageLoad, type InventoryListRow, createAdjustStockHandler, createInventoryExportHandler, createSetStockHandler, formatInventoryDate, isLowStock, loadInventoryAdminPage };
@@ -0,0 +1,21 @@
1
+ import {
2
+ createAdjustStockHandler,
3
+ createInventoryExportHandler,
4
+ createSetStockHandler,
5
+ formatInventoryDate,
6
+ isLowStock,
7
+ loadInventoryAdminPage
8
+ } from "../chunk-VUT3UCCR.js";
9
+ import "../chunk-W2O6EQWT.js";
10
+ import "../chunk-E7ATMICY.js";
11
+ import "../chunk-TKJ6KSXM.js";
12
+ import "../chunk-ZEA6G75Z.js";
13
+ export {
14
+ createAdjustStockHandler,
15
+ createInventoryExportHandler,
16
+ createSetStockHandler,
17
+ formatInventoryDate,
18
+ isLowStock,
19
+ loadInventoryAdminPage
20
+ };
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,10 @@
1
+ import { CheckoutOffer, CheckOffer } from '@umec/core/checkout';
2
+
3
+ declare const SAMPLE_FREE_SHIPPING_OFFER_SLUG = "sample-free-shipping";
4
+ type ResolveCheckoutOfferOptions = {
5
+ offers?: Record<string, CheckoutOffer>;
6
+ isVerificationRun?: () => boolean;
7
+ };
8
+ declare function createResolveCheckoutOffer(options?: ResolveCheckoutOfferOptions): CheckOffer;
9
+
10
+ export { type ResolveCheckoutOfferOptions, SAMPLE_FREE_SHIPPING_OFFER_SLUG, createResolveCheckoutOffer };
package/dist/offers.js ADDED
@@ -0,0 +1,9 @@
1
+ import {
2
+ SAMPLE_FREE_SHIPPING_OFFER_SLUG,
3
+ createResolveCheckoutOffer
4
+ } from "./chunk-RK7FIONL.js";
5
+ export {
6
+ SAMPLE_FREE_SHIPPING_OFFER_SLUG,
7
+ createResolveCheckoutOffer
8
+ };
9
+ //# sourceMappingURL=offers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,49 @@
1
+ import { AdminApiHandler } from '../http.js';
2
+ import { OrdersRow } from '@umec/core/db';
3
+
4
+ declare function createOrdersExportHandler(): AdminApiHandler;
5
+
6
+ declare function createMarkShippedHandler(): AdminApiHandler;
7
+
8
+ declare const MAX_BULK_SHIP = 100;
9
+ declare function createMarkShippedBulkHandler(): AdminApiHandler;
10
+
11
+ type CheckoutItem = {
12
+ sku?: unknown;
13
+ quantity?: unknown;
14
+ };
15
+ type ShippingAddress = {
16
+ name?: unknown;
17
+ phone?: unknown;
18
+ address?: {
19
+ postal_code?: unknown;
20
+ state?: unknown;
21
+ city?: unknown;
22
+ line1?: unknown;
23
+ line2?: unknown;
24
+ country?: unknown;
25
+ };
26
+ };
27
+ type OrdersAdminPageData = {
28
+ orders: OrdersRow[];
29
+ names: Record<string, string>;
30
+ dbNotice: string;
31
+ pendingCount: number;
32
+ };
33
+ type OrdersAdminPageLoad = {
34
+ response: Response;
35
+ } | OrdersAdminPageData;
36
+ declare function formatOrderDate(value: number | string | null): string;
37
+ declare function formatYen(value: number | null): string;
38
+ declare function formatOrderItems(itemsJson: string | null, names: Record<string, string>): string[];
39
+ declare function formatOrderAddress(addressJson: string | null): string[];
40
+ declare function formatCustomFields(customFieldsJson: string | null): {
41
+ key: string;
42
+ value: string;
43
+ }[];
44
+ declare function carrierLabel(code: string | null): string;
45
+ declare function loadOrdersAdminPage(request: Request): Promise<OrdersAdminPageLoad>;
46
+
47
+ declare function createUpdateTrackingHandler(): AdminApiHandler;
48
+
49
+ export { type CheckoutItem, MAX_BULK_SHIP, type OrdersAdminPageData, type OrdersAdminPageLoad, type ShippingAddress, carrierLabel, createMarkShippedBulkHandler, createMarkShippedHandler, createOrdersExportHandler, createUpdateTrackingHandler, formatCustomFields, formatOrderAddress, formatOrderDate, formatOrderItems, formatYen, loadOrdersAdminPage };
@@ -0,0 +1,34 @@
1
+ import {
2
+ MAX_BULK_SHIP,
3
+ carrierLabel,
4
+ createMarkShippedBulkHandler,
5
+ createMarkShippedHandler,
6
+ createOrdersExportHandler,
7
+ createUpdateTrackingHandler,
8
+ formatCustomFields,
9
+ formatOrderAddress,
10
+ formatOrderDate,
11
+ formatOrderItems,
12
+ formatYen,
13
+ loadOrdersAdminPage
14
+ } from "../chunk-STQU4LQU.js";
15
+ import "../chunk-W2O6EQWT.js";
16
+ import "../chunk-E7ATMICY.js";
17
+ import "../chunk-4DR4K72B.js";
18
+ import "../chunk-TKJ6KSXM.js";
19
+ import "../chunk-ZEA6G75Z.js";
20
+ export {
21
+ MAX_BULK_SHIP,
22
+ carrierLabel,
23
+ createMarkShippedBulkHandler,
24
+ createMarkShippedHandler,
25
+ createOrdersExportHandler,
26
+ createUpdateTrackingHandler,
27
+ formatCustomFields,
28
+ formatOrderAddress,
29
+ formatOrderDate,
30
+ formatOrderItems,
31
+ formatYen,
32
+ loadOrdersAdminPage
33
+ };
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,12 @@
1
+ import { ProductWriteFields } from '@umec/core/db';
2
+ export { ProductWriteFields } from '@umec/core/db';
3
+
4
+ type FieldError = {
5
+ error: string;
6
+ };
7
+ declare function parseSku(value: unknown): string | FieldError;
8
+ declare function parseCreateProductFields(payload: Record<string, unknown>): ProductWriteFields | FieldError;
9
+ declare function parseUpdateProductFields(payload: Record<string, unknown>): Partial<ProductWriteFields> | FieldError;
10
+ declare function isFieldError(value: unknown): value is FieldError;
11
+
12
+ export { type FieldError, isFieldError, parseCreateProductFields, parseSku, parseUpdateProductFields };
@@ -0,0 +1,14 @@
1
+ import {
2
+ isFieldError,
3
+ parseCreateProductFields,
4
+ parseSku,
5
+ parseUpdateProductFields
6
+ } from "./chunk-ODK4R57S.js";
7
+ import "./chunk-ZEA6G75Z.js";
8
+ export {
9
+ isFieldError,
10
+ parseCreateProductFields,
11
+ parseSku,
12
+ parseUpdateProductFields
13
+ };
14
+ //# sourceMappingURL=product-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,48 @@
1
+ import { CheckoutProductsMap } from '@umec/core/checkout';
2
+ import { UmecProduct } from '@umec/core/config';
3
+ import { ProductsRow, ShopDatabase } from '@umec/core/db';
4
+ export { ProductsRow, getProductRow, listProductRows } from '@umec/core/db';
5
+
6
+ type ProductRow = ProductsRow;
7
+
8
+ type StorefrontProduct = {
9
+ sku: string;
10
+ name: string;
11
+ description: string;
12
+ price: number;
13
+ shippingUnits: number;
14
+ images: string[];
15
+ active: boolean;
16
+ gtin: string | null;
17
+ category: string | null;
18
+ lowStockThreshold: number | null;
19
+ };
20
+ type ConfigProduct = Omit<UmecProduct, "description" | "images"> & {
21
+ sku: string;
22
+ description: string;
23
+ images: string[];
24
+ };
25
+ type ProductLoaderConfig = {
26
+ products: Record<string, UmecProduct>;
27
+ };
28
+ declare function isValidSku(value: unknown): value is string;
29
+ declare function isValidGtin(value: string): boolean;
30
+ declare function parseImagesJson(value: string | null | undefined): string[];
31
+ declare function parseProductImages(value: unknown): string[] | {
32
+ error: string;
33
+ };
34
+ declare function rowToStorefrontProduct(row: ProductsRow): StorefrontProduct;
35
+ declare function toCheckoutProduct(product: StorefrontProduct): UmecProduct;
36
+ declare function catalogFromConfig(config: ProductLoaderConfig): {
37
+ PRODUCTS: ConfigProduct[];
38
+ PRODUCTS_MAP: Record<string, ConfigProduct>;
39
+ };
40
+ declare function loadProductNamesFromDb(db: ShopDatabase): Promise<Record<string, string>>;
41
+ declare function createProductLoader(config: ProductLoaderConfig): {
42
+ storefrontProductsFromConfig: () => StorefrontProduct[];
43
+ loadStorefrontProducts: (db: ShopDatabase | undefined) => Promise<StorefrontProduct[]>;
44
+ loadCheckoutProducts: (db: ShopDatabase | undefined) => Promise<CheckoutProductsMap>;
45
+ loadProductNames: (db: ShopDatabase | undefined) => Promise<Record<string, string>>;
46
+ };
47
+
48
+ export { type ConfigProduct, type ProductLoaderConfig, type ProductRow, type StorefrontProduct, catalogFromConfig, createProductLoader, isValidGtin, isValidSku, loadProductNamesFromDb, parseImagesJson, parseProductImages, rowToStorefrontProduct, toCheckoutProduct };
@@ -0,0 +1,27 @@
1
+ import {
2
+ catalogFromConfig,
3
+ createProductLoader,
4
+ getProductRow,
5
+ isValidGtin,
6
+ isValidSku,
7
+ listProductRows,
8
+ loadProductNamesFromDb,
9
+ parseImagesJson,
10
+ parseProductImages,
11
+ rowToStorefrontProduct,
12
+ toCheckoutProduct
13
+ } from "./chunk-ZEA6G75Z.js";
14
+ export {
15
+ catalogFromConfig,
16
+ createProductLoader,
17
+ getProductRow,
18
+ isValidGtin,
19
+ isValidSku,
20
+ listProductRows,
21
+ loadProductNamesFromDb,
22
+ parseImagesJson,
23
+ parseProductImages,
24
+ rowToStorefrontProduct,
25
+ toCheckoutProduct
26
+ };
27
+ //# sourceMappingURL=products.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,19 @@
1
+ import { UmecConfig } from '@umec/core/config';
2
+ import { NotifyEnv } from '@umec/core/notify';
3
+ import { ServerEnv } from '@umec/core/env';
4
+
5
+ declare const DEFAULT_ALERT_DAYS_THRESHOLD = 3;
6
+ type UnshippedAlertConfig = {
7
+ brand: Pick<UmecConfig["brand"], "name">;
8
+ email: Pick<UmecConfig["email"], "from" | "fromName" | "bcc">;
9
+ };
10
+ type AlertEnv = ServerEnv & NotifyEnv & {
11
+ UNSHIPPED_ALERT_TO?: string;
12
+ };
13
+ declare function parseAlertDaysThreshold(value: string | undefined): number;
14
+ declare function createUnshippedAlerter(config: UnshippedAlertConfig): {
15
+ resolveUnshippedAlertTo: (env: AlertEnv) => string | null;
16
+ alertUnshippedOrders: (env: AlertEnv) => Promise<void>;
17
+ };
18
+
19
+ export { type AlertEnv, DEFAULT_ALERT_DAYS_THRESHOLD, type UnshippedAlertConfig, createUnshippedAlerter, parseAlertDaysThreshold };
@@ -0,0 +1,12 @@
1
+ import {
2
+ DEFAULT_ALERT_DAYS_THRESHOLD,
3
+ createUnshippedAlerter,
4
+ parseAlertDaysThreshold
5
+ } from "./chunk-G3O62WUE.js";
6
+ import "./chunk-ZEA6G75Z.js";
7
+ export {
8
+ DEFAULT_ALERT_DAYS_THRESHOLD,
9
+ createUnshippedAlerter,
10
+ parseAlertDaysThreshold
11
+ };
12
+ //# sourceMappingURL=unshipped-alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/package.json ADDED
@@ -0,0 +1,86 @@
1
+ {
2
+ "name": "@umec/admin",
3
+ "version": "0.1.0-alpha.0",
4
+ "description": "Admin operations layer for umec — inventory, orders, catalog handlers and shared lib",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/syrup-murayama/umec.git",
10
+ "directory": "packages/admin"
11
+ },
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
15
+ "engines": {
16
+ "node": ">=22.12.0"
17
+ },
18
+ "exports": {
19
+ ".": {
20
+ "types": "./dist/index.d.ts",
21
+ "import": "./dist/index.js"
22
+ },
23
+ "./access": {
24
+ "types": "./dist/access.d.ts",
25
+ "import": "./dist/access.js"
26
+ },
27
+ "./http": {
28
+ "types": "./dist/http.d.ts",
29
+ "import": "./dist/http.js"
30
+ },
31
+ "./carriers": {
32
+ "types": "./dist/carriers.d.ts",
33
+ "import": "./dist/carriers.js"
34
+ },
35
+ "./csv": {
36
+ "types": "./dist/csv.d.ts",
37
+ "import": "./dist/csv.js"
38
+ },
39
+ "./product-fields": {
40
+ "types": "./dist/product-fields.d.ts",
41
+ "import": "./dist/product-fields.js"
42
+ },
43
+ "./products": {
44
+ "types": "./dist/products.d.ts",
45
+ "import": "./dist/products.js"
46
+ },
47
+ "./offers": {
48
+ "types": "./dist/offers.d.ts",
49
+ "import": "./dist/offers.js"
50
+ },
51
+ "./unshipped-alert": {
52
+ "types": "./dist/unshipped-alert.d.ts",
53
+ "import": "./dist/unshipped-alert.js"
54
+ },
55
+ "./inventory": {
56
+ "types": "./dist/inventory/index.d.ts",
57
+ "import": "./dist/inventory/index.js"
58
+ },
59
+ "./orders": {
60
+ "types": "./dist/orders/index.d.ts",
61
+ "import": "./dist/orders/index.js"
62
+ },
63
+ "./catalog": {
64
+ "types": "./dist/catalog/index.d.ts",
65
+ "import": "./dist/catalog/index.js"
66
+ }
67
+ },
68
+ "files": [
69
+ "dist"
70
+ ],
71
+ "scripts": {
72
+ "build": "tsup",
73
+ "test": "vitest run",
74
+ "test:watch": "vitest"
75
+ },
76
+ "dependencies": {
77
+ "@umec/core": "workspace:*"
78
+ },
79
+ "devDependencies": {
80
+ "@cloudflare/workers-types": "^4.20250705.0",
81
+ "@types/node": "^22.15.3",
82
+ "tsup": "^8.5.0",
83
+ "typescript": "^5.8.3",
84
+ "vitest": "^3.2.4"
85
+ }
86
+ }