@fayz-ai/plugin-inventory 0.9.4 → 0.11.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/dist/components/InventoryOnboarding.d.ts +1 -1
- package/dist/components/InventoryOnboarding.d.ts.map +1 -1
- package/dist/components/RecipeGapsPanel.d.ts +14 -0
- package/dist/components/RecipeGapsPanel.d.ts.map +1 -0
- package/dist/data/mock.d.ts.map +1 -1
- package/dist/data/reference-data.d.ts +37 -0
- package/dist/data/reference-data.d.ts.map +1 -0
- package/dist/data/registries.d.ts.map +1 -1
- package/dist/data/supabase.d.ts.map +1 -1
- package/dist/data/tables.d.ts +6 -0
- package/dist/data/tables.d.ts.map +1 -1
- package/dist/data/types.d.ts +31 -1
- package/dist/data/types.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6919 -316
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-tools.d.ts +4 -0
- package/dist/lib/agent-tools.d.ts.map +1 -0
- package/dist/lib/movement-vocabulary.d.ts +30 -0
- package/dist/lib/movement-vocabulary.d.ts.map +1 -0
- package/dist/lib/recipe-cost.d.ts +22 -0
- package/dist/lib/recipe-cost.d.ts.map +1 -0
- package/dist/lib/stock-count.d.ts +19 -0
- package/dist/lib/stock-count.d.ts.map +1 -0
- package/dist/locales/en.d.ts.map +1 -1
- package/dist/locales/pt-BR.d.ts.map +1 -1
- package/dist/migrations/index.d.ts +21 -0
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/types.d.ts +114 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/views/InventoryPage.d.ts.map +1 -1
- package/dist/views/MovementHistoryView.d.ts +4 -1
- package/dist/views/MovementHistoryView.d.ts.map +1 -1
- package/dist/views/ProductCrudForm.d.ts.map +1 -1
- package/dist/views/ProductDetailView.d.ts +9 -0
- package/dist/views/ProductDetailView.d.ts.map +1 -0
- package/dist/views/ProductListView.d.ts +3 -2
- package/dist/views/ProductListView.d.ts.map +1 -1
- package/dist/views/ProductStockTab.d.ts +11 -0
- package/dist/views/ProductStockTab.d.ts.map +1 -0
- package/dist/views/RecipeDetailView.d.ts.map +1 -1
- package/dist/views/RecipeFormView.d.ts +3 -1
- package/dist/views/RecipeFormView.d.ts.map +1 -1
- package/dist/views/RecipesView.d.ts +3 -1
- package/dist/views/RecipesView.d.ts.map +1 -1
- package/dist/views/StockCountFormView.d.ts +7 -0
- package/dist/views/StockCountFormView.d.ts.map +1 -0
- package/dist/views/StockCountSessionView.d.ts +15 -0
- package/dist/views/StockCountSessionView.d.ts.map +1 -0
- package/dist/views/StockCountsView.d.ts +7 -0
- package/dist/views/StockCountsView.d.ts.map +1 -0
- package/dist/views/StockMovementView.d.ts.map +1 -1
- package/dist/views/productEntity.d.ts +7 -1
- package/dist/views/productEntity.d.ts.map +1 -1
- package/package.json +7 -5
package/dist/types.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export type ProductType = 'ingredient' | 'sale' | 'intermediate' | 'asset';
|
|
|
4
4
|
export type MovementType = 'entry' | 'exit' | 'adjustment' | 'transfer' | 'loss';
|
|
5
5
|
/** Product purpose for filtering */
|
|
6
6
|
export type ProductPurpose = 'purchase' | 'sale' | 'both' | 'internal';
|
|
7
|
+
/** Life of a physical count. `counting` starts at the first entry typed. */
|
|
8
|
+
export type CountSessionStatus = 'open' | 'counting' | 'closed' | 'cancelled';
|
|
7
9
|
export interface Product {
|
|
8
10
|
id: string;
|
|
9
11
|
name: string;
|
|
@@ -22,6 +24,10 @@ export interface Product {
|
|
|
22
24
|
salePrice?: number;
|
|
23
25
|
measurementUnitId?: string;
|
|
24
26
|
measurementUnitName?: string;
|
|
27
|
+
/** Unit the product is bought in, when it differs from the one it is counted in. */
|
|
28
|
+
purchaseUnitId?: string;
|
|
29
|
+
/** How many measurement units fit in one purchase unit. 1 when they are the same. */
|
|
30
|
+
conversionFactor?: number;
|
|
25
31
|
isActive: boolean;
|
|
26
32
|
supplierId?: string;
|
|
27
33
|
supplierName?: string;
|
|
@@ -49,6 +55,8 @@ export interface StockMovement {
|
|
|
49
55
|
documentNumber?: string;
|
|
50
56
|
reason?: string;
|
|
51
57
|
notes?: string;
|
|
58
|
+
batchNumber?: string;
|
|
59
|
+
expirationDate?: string;
|
|
52
60
|
movementDate: string;
|
|
53
61
|
userId?: string;
|
|
54
62
|
userName?: string;
|
|
@@ -66,8 +74,12 @@ export interface StockPosition {
|
|
|
66
74
|
stockLocationName?: string;
|
|
67
75
|
batchNumber?: string;
|
|
68
76
|
expirationDate?: string;
|
|
77
|
+
measurementUnitId?: string;
|
|
78
|
+
/** Which of the product's units this quantity is counted in. */
|
|
79
|
+
unitType?: 'base' | 'purchase' | 'content';
|
|
69
80
|
tenantId: string;
|
|
70
81
|
createdAt: string;
|
|
82
|
+
updatedAt?: string;
|
|
71
83
|
}
|
|
72
84
|
export interface StockLocation {
|
|
73
85
|
id: string;
|
|
@@ -79,12 +91,54 @@ export interface StockLocation {
|
|
|
79
91
|
createdAt: string;
|
|
80
92
|
updatedAt: string;
|
|
81
93
|
}
|
|
94
|
+
/** A physical count of one stock location, open through closed. */
|
|
95
|
+
export interface StockCountSession {
|
|
96
|
+
id: string;
|
|
97
|
+
reference?: string;
|
|
98
|
+
status: CountSessionStatus;
|
|
99
|
+
stockLocationId: string;
|
|
100
|
+
stockLocationName?: string;
|
|
101
|
+
categoryId?: string;
|
|
102
|
+
categoryName?: string;
|
|
103
|
+
/** Hides the system quantity while counting. */
|
|
104
|
+
blind: boolean;
|
|
105
|
+
notes?: string;
|
|
106
|
+
itemCount?: number;
|
|
107
|
+
countedCount?: number;
|
|
108
|
+
divergentCount?: number;
|
|
109
|
+
openedAt: string;
|
|
110
|
+
closedAt?: string;
|
|
111
|
+
tenantId: string;
|
|
112
|
+
createdAt: string;
|
|
113
|
+
updatedAt: string;
|
|
114
|
+
}
|
|
115
|
+
export interface StockCountItem {
|
|
116
|
+
id: string;
|
|
117
|
+
sessionId: string;
|
|
118
|
+
productId: string;
|
|
119
|
+
productName?: string;
|
|
120
|
+
productSku?: string;
|
|
121
|
+
/** What the system believed when the session opened — never re-read. */
|
|
122
|
+
systemQuantity: number;
|
|
123
|
+
/** undefined means nobody counted this line. It is not zero. */
|
|
124
|
+
countedQuantity?: number;
|
|
125
|
+
unitCost: number;
|
|
126
|
+
notes?: string;
|
|
127
|
+
countedAt?: string;
|
|
128
|
+
/** The adjustment this line already emitted, if the session is closed. */
|
|
129
|
+
movementId?: string;
|
|
130
|
+
tenantId: string;
|
|
131
|
+
createdAt: string;
|
|
132
|
+
updatedAt: string;
|
|
133
|
+
}
|
|
82
134
|
export interface Recipe {
|
|
83
135
|
id: string;
|
|
84
136
|
name: string;
|
|
85
137
|
description?: string;
|
|
86
138
|
productId: string;
|
|
87
139
|
productName?: string;
|
|
140
|
+
/** Sale price of the produced product — the denominator of CMV%. */
|
|
141
|
+
productSalePrice?: number;
|
|
88
142
|
yieldQuantity: number;
|
|
89
143
|
yieldUnitId?: string;
|
|
90
144
|
yieldUnitName?: string;
|
|
@@ -92,10 +146,31 @@ export interface Recipe {
|
|
|
92
146
|
instructions?: string;
|
|
93
147
|
isActive: boolean;
|
|
94
148
|
ingredientCount?: number;
|
|
149
|
+
/** Carries what the assistant could not resolve — see RecipeGaps. */
|
|
150
|
+
metadata?: Record<string, unknown>;
|
|
95
151
|
tenantId: string;
|
|
96
152
|
createdAt: string;
|
|
97
153
|
updatedAt: string;
|
|
98
154
|
}
|
|
155
|
+
/** What an ingredient product contributes to a recipe line's cost. */
|
|
156
|
+
export interface IngredientCostBasis {
|
|
157
|
+
/** `products.cost` — the catalogue's cost for the product. */
|
|
158
|
+
cost: number;
|
|
159
|
+
/** Base units per purchase unit, from plg_inventory_product_details. */
|
|
160
|
+
conversionFactor?: number;
|
|
161
|
+
/** Set only when the product is bought in a unit other than the counted one. */
|
|
162
|
+
purchaseUnitId?: string;
|
|
163
|
+
}
|
|
164
|
+
/** An ingredient the assistant proposed but could not match to the catalogue. */
|
|
165
|
+
export interface RecipeGaps {
|
|
166
|
+
unmatchedIngredients?: Array<{
|
|
167
|
+
name?: string;
|
|
168
|
+
quantity?: number;
|
|
169
|
+
notes?: string;
|
|
170
|
+
}>;
|
|
171
|
+
/** Name of the produced product when it did not resolve to a catalogue row. */
|
|
172
|
+
productHint?: string;
|
|
173
|
+
}
|
|
99
174
|
export interface RecipeIngredient {
|
|
100
175
|
id: string;
|
|
101
176
|
recipeId: string;
|
|
@@ -106,7 +181,30 @@ export interface RecipeIngredient {
|
|
|
106
181
|
unitName?: string;
|
|
107
182
|
displayOrder: number;
|
|
108
183
|
notes?: string;
|
|
184
|
+
/** Optional stage of the recipe this ingredient belongs to. */
|
|
185
|
+
groupId?: string;
|
|
186
|
+
groupName?: string;
|
|
187
|
+
costBasis?: IngredientCostBasis;
|
|
188
|
+
createdAt: string;
|
|
189
|
+
}
|
|
190
|
+
/** A stage of a recipe — "massa", "recheio", "montagem". */
|
|
191
|
+
export interface RecipeGroup {
|
|
192
|
+
id: string;
|
|
193
|
+
recipeId: string;
|
|
194
|
+
name: string;
|
|
195
|
+
preparationNotes?: string;
|
|
196
|
+
displayOrder: number;
|
|
197
|
+
estimatedMinutes?: number;
|
|
198
|
+
tenantId: string;
|
|
109
199
|
createdAt: string;
|
|
200
|
+
updatedAt: string;
|
|
201
|
+
}
|
|
202
|
+
/** Who the operation buys from — the read shape of the supplier registry. */
|
|
203
|
+
export interface Supplier {
|
|
204
|
+
id: string;
|
|
205
|
+
name: string;
|
|
206
|
+
documentNumber?: string;
|
|
207
|
+
phone?: string;
|
|
110
208
|
}
|
|
111
209
|
export interface MeasurementUnit {
|
|
112
210
|
id: string;
|
|
@@ -139,6 +237,8 @@ export interface CreateProductInput {
|
|
|
139
237
|
costPrice?: number;
|
|
140
238
|
salePrice?: number;
|
|
141
239
|
measurementUnitId?: string;
|
|
240
|
+
purchaseUnitId?: string;
|
|
241
|
+
conversionFactor?: number;
|
|
142
242
|
supplierId?: string;
|
|
143
243
|
defaultLocationId?: string;
|
|
144
244
|
imageUrl?: string;
|
|
@@ -159,6 +259,19 @@ export interface CreateStockMovementInput {
|
|
|
159
259
|
batchNumber?: string;
|
|
160
260
|
expirationDate?: string;
|
|
161
261
|
}
|
|
262
|
+
export interface OpenStockCountInput {
|
|
263
|
+
stockLocationId: string;
|
|
264
|
+
categoryId?: string;
|
|
265
|
+
reference?: string;
|
|
266
|
+
blind?: boolean;
|
|
267
|
+
notes?: string;
|
|
268
|
+
}
|
|
269
|
+
export interface CloseStockCountResult {
|
|
270
|
+
sessionId: string;
|
|
271
|
+
adjustmentsCreated: number;
|
|
272
|
+
/** True when the session was already closed — nothing was emitted again. */
|
|
273
|
+
alreadyClosed: boolean;
|
|
274
|
+
}
|
|
162
275
|
export interface CreateRecipeInput {
|
|
163
276
|
name: string;
|
|
164
277
|
description?: string;
|
|
@@ -175,6 +288,7 @@ export interface CreateRecipeIngredientInput {
|
|
|
175
288
|
unitId?: string;
|
|
176
289
|
displayOrder?: number;
|
|
177
290
|
notes?: string;
|
|
291
|
+
groupId?: string;
|
|
178
292
|
}
|
|
179
293
|
export interface DateRange {
|
|
180
294
|
from: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AASA,iEAAiE;AACjE,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,CAAA;AAE1E,sCAAsC;AACtC,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAA;AAEhF,oCAAoC;AACpC,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InventoryPage.d.ts","sourceRoot":"","sources":["../../src/views/InventoryPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAA4B,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"InventoryPage.d.ts","sourceRoot":"","sources":["../../src/views/InventoryPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAA4B,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,eAAe,CAAA;AAsDzE,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IACrE,MAAM,EAAE,uBAAuB,CAAA;IAC/B,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IACjC,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAA;CACjC,qBA4IA"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare function MovementHistoryView({ onViewDetail }?: {
|
|
2
|
+
export declare function MovementHistoryView({ onViewDetail, onNew, onNewExit }?: {
|
|
3
3
|
onViewDetail?: (id: string) => void;
|
|
4
|
+
/** Record an entry. This screen is where you already are when the goods arrive. */
|
|
5
|
+
onNew?: () => void;
|
|
6
|
+
onNewExit?: () => void;
|
|
4
7
|
}): React.JSX.Element;
|
|
5
8
|
//# sourceMappingURL=MovementHistoryView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MovementHistoryView.d.ts","sourceRoot":"","sources":["../../src/views/MovementHistoryView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"MovementHistoryView.d.ts","sourceRoot":"","sources":["../../src/views/MovementHistoryView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAgC3D,wBAAgB,mBAAmB,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,GAAE;IACtE,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CAClB,qBAwFL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductCrudForm.d.ts","sourceRoot":"","sources":["../../src/views/ProductCrudForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"ProductCrudForm.d.ts","sourceRoot":"","sources":["../../src/views/ProductCrudForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,qBAmJ7F"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/** The product's own page — overview plus the tabs the entity declares. */
|
|
3
|
+
export declare function ProductDetailView({ productId, initialTab, onBack, onEdit }: {
|
|
4
|
+
productId: string;
|
|
5
|
+
initialTab?: string;
|
|
6
|
+
onBack: () => void;
|
|
7
|
+
onEdit?: () => void;
|
|
8
|
+
}): React.JSX.Element;
|
|
9
|
+
//# sourceMappingURL=ProductDetailView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductDetailView.d.ts","sourceRoot":"","sources":["../../src/views/ProductDetailView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AA0BxE,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;IAC3E,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB,qBA8DA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare function ProductListView({ onNew,
|
|
2
|
+
export declare function ProductListView({ onNew, onOpen }: {
|
|
3
3
|
onNew?: () => void;
|
|
4
|
-
|
|
4
|
+
/** Opens the product's own page. Editing starts there, not from the row. */
|
|
5
|
+
onOpen?: (id: string) => void;
|
|
5
6
|
}): React.JSX.Element;
|
|
6
7
|
//# sourceMappingURL=ProductListView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductListView.d.ts","sourceRoot":"","sources":["../../src/views/ProductListView.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ProductListView.d.ts","sourceRoot":"","sources":["../../src/views/ProductListView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAaxE,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IACjD,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;IAClB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B,qBAoIA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Product } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* "How much costela do I have, where, and where did it go" — answered on the
|
|
5
|
+
* product itself instead of by filtering the global ledger.
|
|
6
|
+
*/
|
|
7
|
+
export declare function ProductStockTab({ item, onChanged }: {
|
|
8
|
+
item: Product;
|
|
9
|
+
onChanged?: () => void;
|
|
10
|
+
}): React.JSX.Element;
|
|
11
|
+
//# sourceMappingURL=ProductStockTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductStockTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductStockTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAMxE,OAAO,KAAK,EAAE,OAAO,EAAgC,MAAM,UAAU,CAAA;AAqBrE;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,qBA+K7F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecipeDetailView.d.ts","sourceRoot":"","sources":["../../src/views/RecipeDetailView.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"RecipeDetailView.d.ts","sourceRoot":"","sources":["../../src/views/RecipeDetailView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAmD3D,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAAE,qBA4P9F"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare function RecipeFormView({ onSaved }: {
|
|
2
|
+
export declare function RecipeFormView({ onSaved, productId: initialProductId }: {
|
|
3
3
|
onSaved?: (id?: string) => void;
|
|
4
|
+
/** Menu item this ficha is for, when the list started it from a missing row. */
|
|
5
|
+
productId?: string;
|
|
4
6
|
}): React.JSX.Element;
|
|
5
7
|
//# sourceMappingURL=RecipeFormView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecipeFormView.d.ts","sourceRoot":"","sources":["../../src/views/RecipeFormView.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"RecipeFormView.d.ts","sourceRoot":"","sources":["../../src/views/RecipeFormView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAuBlD,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE;IACvE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,qBAuOA"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare function RecipesView({ onNew, onView }: {
|
|
2
|
+
export declare function RecipesView({ onNew, onView, onNewForProduct }: {
|
|
3
3
|
onNew?: () => void;
|
|
4
4
|
onView?: (id: string) => void;
|
|
5
|
+
/** Starts a ficha for a menu item that has none. */
|
|
6
|
+
onNewForProduct?: (productId: string) => void;
|
|
5
7
|
}): React.JSX.Element;
|
|
6
8
|
//# sourceMappingURL=RecipesView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecipesView.d.ts","sourceRoot":"","sources":["../../src/views/RecipesView.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"RecipesView.d.ts","sourceRoot":"","sources":["../../src/views/RecipesView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAsGhF,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE;IAC9D,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,oDAAoD;IACpD,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C,qBAuMA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/** Opening a count is four decisions: where, what, blind, and what to call it. */
|
|
3
|
+
export declare function StockCountFormView({ onOpened, onCancel }: {
|
|
4
|
+
onOpened: (sessionId: string) => void;
|
|
5
|
+
onCancel: () => void;
|
|
6
|
+
}): React.JSX.Element;
|
|
7
|
+
//# sourceMappingURL=StockCountFormView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StockCountFormView.d.ts","sourceRoot":"","sources":["../../src/views/StockCountFormView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AASlD,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IACzD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,qBAyGA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* The counting screen — used standing up, on a phone, in a cold room. One row
|
|
4
|
+
* per product, one big number field, Enter moves to the next line.
|
|
5
|
+
*
|
|
6
|
+
* A blind session hides the system quantity AND the per-line variance until the
|
|
7
|
+
* count is closed. Showing the variance the instant a number is typed would let
|
|
8
|
+
* the counter retype until it reads zero, which is the same rubber stamp blind
|
|
9
|
+
* mode exists to prevent.
|
|
10
|
+
*/
|
|
11
|
+
export declare function StockCountSessionView({ sessionId, onBack }: {
|
|
12
|
+
sessionId: string;
|
|
13
|
+
onBack: () => void;
|
|
14
|
+
}): React.JSX.Element;
|
|
15
|
+
//# sourceMappingURL=StockCountSessionView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StockCountSessionView.d.ts","sourceRoot":"","sources":["../../src/views/StockCountSessionView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAOhF;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAC3D,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,qBAuOA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/** The counts a tenant has run — and the way into a new one. */
|
|
3
|
+
export declare function StockCountsView({ onNew, onOpen }: {
|
|
4
|
+
onNew?: () => void;
|
|
5
|
+
onOpen?: (id: string) => void;
|
|
6
|
+
}): React.JSX.Element;
|
|
7
|
+
//# sourceMappingURL=StockCountsView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StockCountsView.d.ts","sourceRoot":"","sources":["../../src/views/StockCountsView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAgExE,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IACjD,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B,qBA2CA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StockMovementView.d.ts","sourceRoot":"","sources":["../../src/views/StockMovementView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAQ3D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"StockMovementView.d.ts","sourceRoot":"","sources":["../../src/views/StockMovementView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAQ3D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAA2B,MAAM,UAAU,CAAA;AAwHpF,wBAAgB,iBAAiB,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;IACxE,WAAW,EAAE,YAAY,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,YAAY,CAAC,EAAE,aAAa,CAAA;CAC7B,qBA6aA"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { EntityDef } from '@fayz-ai/core';
|
|
2
2
|
import { type InventoryCurrency, type ProductTypeOption } from '../context';
|
|
3
|
+
import type { InventoryDataProvider } from '../data/types';
|
|
4
|
+
import { T } from '../data/tables';
|
|
3
5
|
type T = (key: string, params?: Record<string, string | number>) => string;
|
|
4
|
-
export declare function buildProductEntity(t: T, productTypes: ProductTypeOption[], currency: InventoryCurrency
|
|
6
|
+
export declare function buildProductEntity(t: T, productTypes: ProductTypeOption[], currency: InventoryCurrency,
|
|
7
|
+
/** Called by the Stock tab after it changes stock, so the page can refetch. */
|
|
8
|
+
onStockChanged?: () => void,
|
|
9
|
+
/** Enables the real media slot; list-only consumers may omit it. */
|
|
10
|
+
provider?: InventoryDataProvider): EntityDef;
|
|
5
11
|
export {};
|
|
6
12
|
//# sourceMappingURL=productEntity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"productEntity.d.ts","sourceRoot":"","sources":["../../src/views/productEntity.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"productEntity.d.ts","sourceRoot":"","sources":["../../src/views/productEntity.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAA+B,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAkB,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,gBAAgB,CAAA;AAiBlC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAA;AAiB1E,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,CAAC,EACJ,YAAY,EAAE,iBAAiB,EAAE,EACjC,QAAQ,EAAE,iBAAiB;AAC3B,+EAA+E;AAC/E,cAAc,CAAC,EAAE,MAAM,IAAI;AAC3B,oEAAoE;AACpE,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,SAAS,CA0JX"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fayz-ai/plugin-inventory",
|
|
3
3
|
"fayz": {
|
|
4
|
-
"status": "beta"
|
|
4
|
+
"status": "beta",
|
|
5
|
+
"dependencies": []
|
|
5
6
|
},
|
|
6
|
-
"version": "0.
|
|
7
|
+
"version": "0.11.0",
|
|
7
8
|
"description": "Fayz SDK — plugin-inventory plugin",
|
|
8
9
|
"type": "module",
|
|
9
10
|
"sideEffects": false,
|
|
@@ -27,9 +28,9 @@
|
|
|
27
28
|
},
|
|
28
29
|
"dependencies": {
|
|
29
30
|
"@tanstack/react-table": "^8.20.0",
|
|
30
|
-
"@fayz-ai/core": "^0.
|
|
31
|
-
"@fayz-ai/ui": "^0.
|
|
32
|
-
"@fayz-ai/admin": "^0.
|
|
31
|
+
"@fayz-ai/core": "^0.16.0",
|
|
32
|
+
"@fayz-ai/ui": "^0.16.0",
|
|
33
|
+
"@fayz-ai/admin": "^0.16.0"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
36
|
"@types/react": "^18.3.0",
|
|
@@ -53,6 +54,7 @@
|
|
|
53
54
|
"build": "tsup && tsc -b --force",
|
|
54
55
|
"dev": "tsup --watch",
|
|
55
56
|
"typecheck": "tsc -b",
|
|
57
|
+
"test": "vitest run",
|
|
56
58
|
"clean": "rm -rf dist .tsbuildinfo"
|
|
57
59
|
}
|
|
58
60
|
}
|