@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.
Files changed (56) hide show
  1. package/dist/components/InventoryOnboarding.d.ts +1 -1
  2. package/dist/components/InventoryOnboarding.d.ts.map +1 -1
  3. package/dist/components/RecipeGapsPanel.d.ts +14 -0
  4. package/dist/components/RecipeGapsPanel.d.ts.map +1 -0
  5. package/dist/data/mock.d.ts.map +1 -1
  6. package/dist/data/reference-data.d.ts +37 -0
  7. package/dist/data/reference-data.d.ts.map +1 -0
  8. package/dist/data/registries.d.ts.map +1 -1
  9. package/dist/data/supabase.d.ts.map +1 -1
  10. package/dist/data/tables.d.ts +6 -0
  11. package/dist/data/tables.d.ts.map +1 -1
  12. package/dist/data/types.d.ts +31 -1
  13. package/dist/data/types.d.ts.map +1 -1
  14. package/dist/index.d.ts +3 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +6919 -316
  17. package/dist/index.js.map +1 -1
  18. package/dist/lib/agent-tools.d.ts +4 -0
  19. package/dist/lib/agent-tools.d.ts.map +1 -0
  20. package/dist/lib/movement-vocabulary.d.ts +30 -0
  21. package/dist/lib/movement-vocabulary.d.ts.map +1 -0
  22. package/dist/lib/recipe-cost.d.ts +22 -0
  23. package/dist/lib/recipe-cost.d.ts.map +1 -0
  24. package/dist/lib/stock-count.d.ts +19 -0
  25. package/dist/lib/stock-count.d.ts.map +1 -0
  26. package/dist/locales/en.d.ts.map +1 -1
  27. package/dist/locales/pt-BR.d.ts.map +1 -1
  28. package/dist/migrations/index.d.ts +21 -0
  29. package/dist/migrations/index.d.ts.map +1 -1
  30. package/dist/types.d.ts +114 -0
  31. package/dist/types.d.ts.map +1 -1
  32. package/dist/views/InventoryPage.d.ts.map +1 -1
  33. package/dist/views/MovementHistoryView.d.ts +4 -1
  34. package/dist/views/MovementHistoryView.d.ts.map +1 -1
  35. package/dist/views/ProductCrudForm.d.ts.map +1 -1
  36. package/dist/views/ProductDetailView.d.ts +9 -0
  37. package/dist/views/ProductDetailView.d.ts.map +1 -0
  38. package/dist/views/ProductListView.d.ts +3 -2
  39. package/dist/views/ProductListView.d.ts.map +1 -1
  40. package/dist/views/ProductStockTab.d.ts +11 -0
  41. package/dist/views/ProductStockTab.d.ts.map +1 -0
  42. package/dist/views/RecipeDetailView.d.ts.map +1 -1
  43. package/dist/views/RecipeFormView.d.ts +3 -1
  44. package/dist/views/RecipeFormView.d.ts.map +1 -1
  45. package/dist/views/RecipesView.d.ts +3 -1
  46. package/dist/views/RecipesView.d.ts.map +1 -1
  47. package/dist/views/StockCountFormView.d.ts +7 -0
  48. package/dist/views/StockCountFormView.d.ts.map +1 -0
  49. package/dist/views/StockCountSessionView.d.ts +15 -0
  50. package/dist/views/StockCountSessionView.d.ts.map +1 -0
  51. package/dist/views/StockCountsView.d.ts +7 -0
  52. package/dist/views/StockCountsView.d.ts.map +1 -0
  53. package/dist/views/StockMovementView.d.ts.map +1 -1
  54. package/dist/views/productEntity.d.ts +7 -1
  55. package/dist/views/productEntity.d.ts.map +1 -1
  56. 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;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
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;AA+CzE,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,qBAqHA"}
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;AAyB3D,wBAAgB,mBAAmB,CAAC,EAAE,YAAY,EAAE,GAAE;IAAE,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,qBA8EjG"}
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,qBA2F7F"}
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, onEdit }: {
2
+ export declare function ProductListView({ onNew, onOpen }: {
3
3
  onNew?: () => void;
4
- onEdit?: (id: string) => void;
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,KAAuC,MAAM,OAAO,CAAA;AAW3D,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
+ {"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,KAA8B,MAAM,OAAO,CAAA;AAwClD,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAAE,qBAuJ9F"}
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,KAAmB,MAAM,OAAO,CAAA;AAuBvC,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,qBAyN9E"}
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,KAAoB,MAAM,OAAO,CAAA;AA6BxC,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,qBA4EnG"}
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,EAAiB,MAAM,UAAU,CAAA;AAgH1E,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,qBAyYA"}
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): EntityDef;
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,EAAY,MAAM,eAAe,CAAA;AACxD,OAAO,EAAkB,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAgB3F,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAA;AAE1E,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,CAAC,EACJ,YAAY,EAAE,iBAAiB,EAAE,EACjC,QAAQ,EAAE,iBAAiB,GAC1B,SAAS,CAmGX"}
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.9.4",
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.14.0",
31
- "@fayz-ai/ui": "^0.14.0",
32
- "@fayz-ai/admin": "^0.14.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
  }