@fayz-ai/plugin-inventory 0.16.2 → 0.18.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 +2 -0
- package/dist/components/InventorySettings.d.ts.map +1 -1
- package/dist/context.d.ts +3 -3
- package/dist/context.d.ts.map +1 -1
- package/dist/index.d.ts +25 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1298 -4204
- package/dist/index.js.map +1 -1
- package/dist/locales/en.d.ts.map +1 -1
- package/dist/locales/pt-BR.d.ts.map +1 -1
- package/dist/views/InventoryPage.d.ts +2 -2
- package/dist/views/InventoryPage.d.ts.map +1 -1
- package/dist/views/MovementHistoryView.d.ts.map +1 -1
- package/dist/views/ProductBarcodesTab.d.ts +1 -1
- package/dist/views/ProductBarcodesTab.d.ts.map +1 -1
- package/dist/views/ProductComplementsTab.d.ts +1 -1
- package/dist/views/ProductComplementsTab.d.ts.map +1 -1
- package/dist/views/ProductCrudForm.d.ts.map +1 -1
- package/dist/views/ProductRecipeTab.d.ts +1 -1
- package/dist/views/ProductRecipeTab.d.ts.map +1 -1
- package/dist/views/ProductStockTab.d.ts +1 -1
- package/dist/views/ProductStockTab.d.ts.map +1 -1
- package/dist/views/ProductVariantsTab.d.ts +1 -1
- package/dist/views/ProductVariantsTab.d.ts.map +1 -1
- package/dist/views/StockCountFormView.d.ts.map +1 -1
- package/dist/views/StockCountSessionView.d.ts.map +1 -1
- package/dist/views/StockMovementView.d.ts +1 -1
- package/dist/views/StockMovementView.d.ts.map +1 -1
- package/dist/views/StockPanelView.d.ts.map +1 -1
- package/dist/views/dashboardWidgets.d.ts +2 -2
- package/dist/views/dashboardWidgets.d.ts.map +1 -1
- package/dist/views/productEntity.d.ts +2 -2
- package/dist/views/productEntity.d.ts.map +1 -1
- package/dist/views/recipe/GenerateImageDialog.d.ts +1 -1
- package/dist/views/recipe/GenerateImageDialog.d.ts.map +1 -1
- package/dist/views/recipe/IngredientCostDialog.d.ts +1 -1
- package/dist/views/recipe/IngredientCostDialog.d.ts.map +1 -1
- package/dist/views/recipe/QuickIngredientDialog.d.ts +2 -1
- package/dist/views/recipe/QuickIngredientDialog.d.ts.map +1 -1
- package/dist/views/recipe/RecipeAiDialog.d.ts +2 -1
- package/dist/views/recipe/RecipeAiDialog.d.ts.map +1 -1
- package/dist/views/recipe/RecipeEditor.d.ts +1 -1
- package/dist/views/recipe/RecipeEditor.d.ts.map +1 -1
- package/dist/views/recipe/TransformIntermediateDialog.d.ts +2 -1
- package/dist/views/recipe/TransformIntermediateDialog.d.ts.map +1 -1
- package/dist/views/recipe/exportRecipesXlsx.d.ts +1 -1
- package/dist/views/recipe/exportRecipesXlsx.d.ts.map +1 -1
- package/dist/views/recipe/printRecipe.d.ts +2 -2
- package/dist/views/recipe/printRecipe.d.ts.map +1 -1
- package/dist/views/recipe/shared.d.ts.map +1 -1
- package/package.json +5 -4
- package/dist/data/index.d.ts +0 -3
- package/dist/data/index.d.ts.map +0 -1
- package/dist/data/mock.d.ts +0 -3
- package/dist/data/mock.d.ts.map +0 -1
- package/dist/data/reference-data.d.ts +0 -37
- package/dist/data/reference-data.d.ts.map +0 -1
- package/dist/data/supabase.d.ts +0 -3
- package/dist/data/supabase.d.ts.map +0 -1
- package/dist/data/tables.d.ts +0 -27
- package/dist/data/tables.d.ts.map +0 -1
- package/dist/data/types.d.ts +0 -150
- package/dist/data/types.d.ts.map +0 -1
- package/dist/lib/idempotency.d.ts +0 -2
- package/dist/lib/idempotency.d.ts.map +0 -1
- package/dist/lib/movement-vocabulary.d.ts +0 -30
- package/dist/lib/movement-vocabulary.d.ts.map +0 -1
- package/dist/lib/recipe-cost.d.ts +0 -28
- package/dist/lib/recipe-cost.d.ts.map +0 -1
- package/dist/lib/stock-count.d.ts +0 -22
- package/dist/lib/stock-count.d.ts.map +0 -1
- package/dist/lib/stock-health.d.ts +0 -14
- package/dist/lib/stock-health.d.ts.map +0 -1
- package/dist/lib/tenant.d.ts +0 -3
- package/dist/lib/tenant.d.ts.map +0 -1
- package/dist/store.d.ts +0 -55
- package/dist/store.d.ts.map +0 -1
- package/dist/types.d.ts +0 -825
- package/dist/types.d.ts.map +0 -1
package/dist/locales/en.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAs2BrC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pt-BR.d.ts","sourceRoot":"","sources":["../../src/locales/pt-BR.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"pt-BR.d.ts","sourceRoot":"","sources":["../../src/locales/pt-BR.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAs2BvC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { StoreApi } from 'zustand/vanilla';
|
|
3
3
|
import { type ResolvedInventoryConfig } from '../context';
|
|
4
|
-
import type { InventoryDataProvider } from '
|
|
5
|
-
import type { InventoryUIState } from '
|
|
4
|
+
import type { InventoryDataProvider } from '@fayz-ai/inventory/data/provider';
|
|
5
|
+
import type { InventoryUIState } from '@fayz-ai/inventory/store';
|
|
6
6
|
import type { PluginRegistryDef } from '@fayz-ai/core';
|
|
7
7
|
export declare function InventoryPage({ config: appConfig, provider, store, registries }: {
|
|
8
8
|
config: ResolvedInventoryConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InventoryPage.d.ts","sourceRoot":"","sources":["../../src/views/InventoryPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AACtC,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,
|
|
1
|
+
{"version":3,"file":"InventoryPage.d.ts","sourceRoot":"","sources":["../../src/views/InventoryPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AACtC,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,kCAAkC,CAAA;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,eAAe,CAAA;AA2JzE,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IAChF,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,qBAuNA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MovementHistoryView.d.ts","sourceRoot":"","sources":["../../src/views/MovementHistoryView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"MovementHistoryView.d.ts","sourceRoot":"","sources":["../../src/views/MovementHistoryView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AA2ExE,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,qBAsTL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductBarcodesTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductBarcodesTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAS/D,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,
|
|
1
|
+
{"version":3,"file":"ProductBarcodesTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductBarcodesTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAS/D,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,mCAAmC,CAAA;AAqBhF,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,qBA8L7D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { Product, ProductOptionGroup } from '
|
|
2
|
+
import type { Product, ProductOptionGroup } from '@fayz-ai/inventory/domain/product';
|
|
3
3
|
export declare function validateOptionGroups(groups: ProductOptionGroup[]): string | null;
|
|
4
4
|
export declare function ProductComplementsTab({ item }: {
|
|
5
5
|
item: Product;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductComplementsTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductComplementsTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAQ/D,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAqB,MAAM,
|
|
1
|
+
{"version":3,"file":"ProductComplementsTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductComplementsTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAQ/D,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAqB,MAAM,mCAAmC,CAAA;AAsBvG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,GAAG,IAAI,CAsBhF;AAED,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,qBA0IhE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductCrudForm.d.ts","sourceRoot":"","sources":["../../src/views/ProductCrudForm.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ProductCrudForm.d.ts","sourceRoot":"","sources":["../../src/views/ProductCrudForm.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAqBzB,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,wFAAwF;IACxF,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACpC,qBAgMA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { Product } from '
|
|
2
|
+
import type { Product } from '@fayz-ai/inventory/domain/product';
|
|
3
3
|
/**
|
|
4
4
|
* Ficha Técnica tab of the product — the same sheet the Fichas Técnicas list
|
|
5
5
|
* opens. `onChanged` reloads the product: saving rewrites its cost and marks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductRecipeTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductRecipeTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ProductRecipeTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductRecipeTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAGhE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,qBAE9F"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { Product } from '
|
|
2
|
+
import type { Product } from '@fayz-ai/inventory/domain/product';
|
|
3
3
|
/**
|
|
4
4
|
* "How much costela do I have, where, and where did it go" — answered on the
|
|
5
5
|
* product itself instead of by filtering the global ledger.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductStockTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductStockTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAOhF,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"ProductStockTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductStockTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAOhF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAyBhE;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,qBAkQ7F"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { Product } from '
|
|
2
|
+
import type { Product } from '@fayz-ai/inventory/domain/product';
|
|
3
3
|
/** Sizes and colours of one product. Each keeps its own stock balance; cost stays on the product. */
|
|
4
4
|
export declare function ProductVariantsTab({ item }: {
|
|
5
5
|
item: Product;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductVariantsTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductVariantsTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAK/D,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,
|
|
1
|
+
{"version":3,"file":"ProductVariantsTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductVariantsTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAK/D,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,mCAAmC,CAAA;AAsBhF,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,qBAoI7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StockCountFormView.d.ts","sourceRoot":"","sources":["../../src/views/StockCountFormView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"StockCountFormView.d.ts","sourceRoot":"","sources":["../../src/views/StockCountFormView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAWlD,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,qBA8GA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StockCountSessionView.d.ts","sourceRoot":"","sources":["../../src/views/StockCountSessionView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"StockCountSessionView.d.ts","sourceRoot":"","sources":["../../src/views/StockCountSessionView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAUhF;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAC3D,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,qBAoTA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type
|
|
2
|
+
import { type MovementType, type StockMovement } from '@fayz-ai/inventory/domain/movement';
|
|
3
3
|
export declare function StockMovementView({ defaultType, onSaved, viewMovement }: {
|
|
4
4
|
defaultType: MovementType;
|
|
5
5
|
onSaved?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StockMovementView.d.ts","sourceRoot":"","sources":["../../src/views/StockMovementView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAQnE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"StockMovementView.d.ts","sourceRoot":"","sources":["../../src/views/StockMovementView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAQnE,OAAO,EAE0B,KAAK,YAAY,EAAE,KAAK,aAAa,EACrE,MAAM,oCAAoC,CAAA;AAgI3C,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,qBAwbA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StockPanelView.d.ts","sourceRoot":"","sources":["../../src/views/StockPanelView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"StockPanelView.d.ts","sourceRoot":"","sources":["../../src/views/StockPanelView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAwCxE,wBAAgB,cAAc,sBAuS7B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { StoreApi } from 'zustand';
|
|
2
2
|
import type { DashboardWidgetDef } from '@fayz-ai/core';
|
|
3
3
|
import { type ResolvedInventoryConfig } from '../context';
|
|
4
|
-
import type { InventoryDataProvider } from '
|
|
5
|
-
import type { InventoryUIState } from '
|
|
4
|
+
import type { InventoryDataProvider } from '@fayz-ai/inventory/data/provider';
|
|
5
|
+
import type { InventoryUIState } from '@fayz-ai/inventory/store';
|
|
6
6
|
export declare function createInventoryDashboardWidgets(ctx: {
|
|
7
7
|
config: ResolvedInventoryConfig;
|
|
8
8
|
provider: InventoryDataProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboardWidgets.d.ts","sourceRoot":"","sources":["../../src/views/dashboardWidgets.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAMvD,OAAO,EAAmF,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAC1I,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"dashboardWidgets.d.ts","sourceRoot":"","sources":["../../src/views/dashboardWidgets.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAMvD,OAAO,EAAmF,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAC1I,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAwPhE,wBAAgB,+BAA+B,CAAC,GAAG,EAAE;IACnD,MAAM,EAAE,uBAAuB,CAAA;IAC/B,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;CAClC,GAAG,kBAAkB,EAAE,CAyBvB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { EntityDef } from '@fayz-ai/core';
|
|
2
2
|
import { type InventoryCurrency, type ProductTypeOption } from '../context';
|
|
3
|
-
import type { InventoryDataProvider } from '
|
|
4
|
-
import { T } from '
|
|
3
|
+
import type { InventoryDataProvider } from '@fayz-ai/inventory/data/provider';
|
|
4
|
+
import { T } from '@fayz-ai/inventory/data/tables';
|
|
5
5
|
type T = (key: string, params?: Record<string, string | number>) => string;
|
|
6
6
|
export declare function buildProductEntity(t: T, productTypes: ProductTypeOption[], currency: InventoryCurrency,
|
|
7
7
|
/** Called by the Stock tab after it changes stock, so the page can refetch. */
|
|
@@ -1 +1 @@
|
|
|
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;AAI3E,OAAO,EAAkB,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,
|
|
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;AAI3E,OAAO,EAAkB,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,EAAyB,CAAC,EAAE,MAAM,gCAAgC,CAAA;AA4BzE,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;AAChC;;;;;;;;GAQG;AACH,SAAS,UAAO;AAChB,+FAA+F;AAC/F,OAAO,UAAO;AACd,qFAAqF;AACrF,UAAU,UAAO,GAChB,SAAS,CAoWX"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { Product } from '
|
|
2
|
+
import type { Product } from '@fayz-ai/inventory/domain/product';
|
|
3
3
|
/** "Gerar foto com IA": generate, look, then apply — applying is the only write. */
|
|
4
4
|
export declare function GenerateImageDialog({ product, onClose, onApplied }: {
|
|
5
5
|
product: Product;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateImageDialog.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/GenerateImageDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAO/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"GenerateImageDialog.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/GenerateImageDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAO/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAGhE,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IACnE,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB,qBAoHA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { IngredientInfo } from '
|
|
2
|
+
import type { IngredientInfo } from '@fayz-ai/inventory/domain/recipe-sheet';
|
|
3
3
|
/** ✎ on a sheet line: the ingredient's cost, for every sheet that uses it. */
|
|
4
4
|
export declare function IngredientCostDialog({ ingredient, unitAbbr, onClose, onSaved }: {
|
|
5
5
|
ingredient: IngredientInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IngredientCostDialog.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/IngredientCostDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"IngredientCostDialog.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/IngredientCostDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAG5E,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAC/E,UAAU,EAAE,cAAc,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAChC,qBA+EA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { IngredientInfo
|
|
2
|
+
import type { IngredientInfo } from '@fayz-ai/inventory/domain/recipe-sheet';
|
|
3
|
+
import type { MeasurementUnit } from '@fayz-ai/inventory/domain/product';
|
|
3
4
|
/**
|
|
4
5
|
* "Criar insumo" from a sheet line. The unit is asked for because the line's
|
|
5
6
|
* quantity is stored in it — an ingredient without one can't be costed or
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickIngredientDialog.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/QuickIngredientDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"QuickIngredientDialog.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/QuickIngredientDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAExE;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAChF,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAA;CACzC,qBAqEA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { Product
|
|
2
|
+
import type { Product } from '@fayz-ai/inventory/domain/product';
|
|
3
|
+
import type { ProductionStation, RecipeAiSuggestion } from '@fayz-ai/inventory/domain/recipe-sheet';
|
|
3
4
|
/** "Sugerir Ficha Técnica com IA": fills the sheet on screen; saves nothing. */
|
|
4
5
|
export declare function RecipeAiDialog({ product, stations, onClose, onSuggestion }: {
|
|
5
6
|
product: Product;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecipeAiDialog.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/RecipeAiDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAO/C,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"RecipeAiDialog.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/RecipeAiDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAO/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAGnG,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;IAC3E,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,iBAAiB,EAAE,CAAA;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,YAAY,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAA;CAC9C,qBAmGA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { Product } from '
|
|
2
|
+
import type { Product } from '@fayz-ai/inventory/domain/product';
|
|
3
3
|
export declare function RecipeEditor({ product, onSaved }: {
|
|
4
4
|
product: Product;
|
|
5
5
|
/** After a save: the product's cost and flags changed. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecipeEditor.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/RecipeEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AASxE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"RecipeEditor.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/RecipeEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AASxE,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,mCAAmC,CAAA;AAkDjF,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACjD,OAAO,EAAE,OAAO,CAAA;IAChB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,qBAspBA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { MeasurementUnit
|
|
2
|
+
import type { MeasurementUnit } from '@fayz-ai/inventory/domain/product';
|
|
3
|
+
import type { RecipeSheetGroup } from '@fayz-ai/inventory/domain/recipe-sheet';
|
|
3
4
|
/**
|
|
4
5
|
* ⋮ → "Transformar em produto intermediário": a new Intermediário product with
|
|
5
6
|
* this block as its own sheet. Written on confirm, as in V1 (V1-084) — the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransformIntermediateDialog.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/TransformIntermediateDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TransformIntermediateDialog.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/TransformIntermediateDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAE9E;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAC7F,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IACrC,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC,qBAsFA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { RecipeExportSheet } from '
|
|
1
|
+
import type { RecipeExportSheet } from '@fayz-ai/inventory/domain/recipe-sheet';
|
|
2
2
|
export declare function exportRecipesXlsx(sheets: RecipeExportSheet[], brand?: string): Promise<void>;
|
|
3
3
|
//# sourceMappingURL=exportRecipesXlsx.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportRecipesXlsx.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/exportRecipesXlsx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"exportRecipesXlsx.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/exportRecipesXlsx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAgB/E,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2KlG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { InventoryDataProvider } from '
|
|
2
|
-
import type { RecipeListRow } from '
|
|
1
|
+
import type { InventoryDataProvider } from '@fayz-ai/inventory/data/provider';
|
|
2
|
+
import type { RecipeListRow } from '@fayz-ai/inventory/domain/recipe-sheet';
|
|
3
3
|
/**
|
|
4
4
|
* The printable sheet, as V1 prints it, plus what V1 left out: components by
|
|
5
5
|
* station and the preparation text. Opens in a new window and calls print.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printRecipe.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/printRecipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"printRecipe.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/printRecipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAQ3E;;;GAGG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,qBAAqB,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEpG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/shared.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/views/recipe/shared.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,eAAO,MAAM,GAAG,GAAI,GAAG,MAAM,WAAmC,CAAA;AAEhE,uDAAuD;AACvD,eAAO,MAAM,QAAQ,0MACoL,CAAA;AAEzM;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,QAGlE"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"status": "beta",
|
|
5
5
|
"dependencies": []
|
|
6
6
|
},
|
|
7
|
-
"version": "0.
|
|
7
|
+
"version": "0.18.0",
|
|
8
8
|
"description": "Fayz SDK — plugin-inventory plugin",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"sideEffects": false,
|
|
@@ -28,9 +28,10 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@tanstack/react-table": "^8.20.0",
|
|
31
|
-
"@fayz-ai/core": "^0.
|
|
32
|
-
"@fayz-ai/ui": "^0.
|
|
33
|
-
"@fayz-ai/admin": "^0.
|
|
31
|
+
"@fayz-ai/core": "^0.48.0",
|
|
32
|
+
"@fayz-ai/ui": "^0.48.0",
|
|
33
|
+
"@fayz-ai/admin": "^0.48.0",
|
|
34
|
+
"@fayz-ai/inventory": "^0.1.0"
|
|
34
35
|
},
|
|
35
36
|
"devDependencies": {
|
|
36
37
|
"@types/react": "^18.3.0",
|
package/dist/data/index.d.ts
DELETED
package/dist/data/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,QAAQ,CAAA"}
|
package/dist/data/mock.d.ts
DELETED
package/dist/data/mock.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/data/mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAgEpD,wBAAgB,2BAA2B,IAAI,qBAAqB,CA+vBnE"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
export declare const DEFAULT_MEASUREMENT_UNITS: readonly [{
|
|
2
|
-
readonly name: "Unit";
|
|
3
|
-
readonly abbreviation: "un";
|
|
4
|
-
}, {
|
|
5
|
-
readonly name: "Box";
|
|
6
|
-
readonly abbreviation: "box";
|
|
7
|
-
}, {
|
|
8
|
-
readonly name: "Kilogram";
|
|
9
|
-
readonly abbreviation: "kg";
|
|
10
|
-
}, {
|
|
11
|
-
readonly name: "Gram";
|
|
12
|
-
readonly abbreviation: "g";
|
|
13
|
-
}, {
|
|
14
|
-
readonly name: "Liter";
|
|
15
|
-
readonly abbreviation: "L";
|
|
16
|
-
}, {
|
|
17
|
-
readonly name: "Milliliter";
|
|
18
|
-
readonly abbreviation: "mL";
|
|
19
|
-
}];
|
|
20
|
-
export declare const DEFAULT_STOCK_LOCATION: {
|
|
21
|
-
readonly name: "Main Storage";
|
|
22
|
-
readonly description: "Primary storage area";
|
|
23
|
-
};
|
|
24
|
-
export declare function getMissingMeasurementUnits(rows: Array<{
|
|
25
|
-
abbreviation?: string | null;
|
|
26
|
-
}>): typeof DEFAULT_MEASUREMENT_UNITS[number][];
|
|
27
|
-
export declare function getDuplicateDefaultUnitIds(rows: Array<{
|
|
28
|
-
id: string;
|
|
29
|
-
abbreviation?: string | null;
|
|
30
|
-
created_at?: string | null;
|
|
31
|
-
}>): string[];
|
|
32
|
-
export declare function getDuplicateAutoCreatedLocationIds(rows: Array<{
|
|
33
|
-
id: string;
|
|
34
|
-
name?: string | null;
|
|
35
|
-
created_at?: string | null;
|
|
36
|
-
}>): string[];
|
|
37
|
-
//# sourceMappingURL=reference-data.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reference-data.d.ts","sourceRoot":"","sources":["../../src/data/reference-data.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;EAO5B,CAAA;AAEV,eAAO,MAAM,sBAAsB;;;CAGzB,CAAA;AAEV,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,KAAK,CAAC;IAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAC5C,OAAO,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAO5C;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GACpF,MAAM,EAAE,CAwBV;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAC5E,MAAM,EAAE,CAaV"}
|
package/dist/data/supabase.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../src/data/supabase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AA23BpD,wBAAgB,+BAA+B,IAAI,qBAAqB,CA0tDvE"}
|
package/dist/data/tables.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export declare const T: {
|
|
2
|
-
readonly stockLocations: "plg_inventory_stock_locations";
|
|
3
|
-
readonly stockMovements: "plg_inventory_stock_movements";
|
|
4
|
-
readonly stockPositions: "plg_inventory_stock_positions";
|
|
5
|
-
readonly recipes: "plg_inventory_recipes";
|
|
6
|
-
readonly recipeIngredients: "plg_inventory_recipe_ingredients";
|
|
7
|
-
readonly measurementUnits: "plg_inventory_measurement_units";
|
|
8
|
-
readonly productCategories: "categories";
|
|
9
|
-
readonly productDetails: "plg_inventory_product_details";
|
|
10
|
-
readonly recipeGroups: "plg_inventory_recipe_groups";
|
|
11
|
-
readonly countSessions: "plg_inventory_count_sessions";
|
|
12
|
-
readonly countItems: "plg_inventory_count_items";
|
|
13
|
-
readonly productSettings: "plg_inventory_product_settings";
|
|
14
|
-
readonly reservations: "plg_inventory_reservations";
|
|
15
|
-
readonly productBarcodes: "plg_inventory_product_barcodes";
|
|
16
|
-
readonly productIngredientInfo: "plg_inventory_product_ingredient_info";
|
|
17
|
-
readonly productSaleInfo: "plg_inventory_product_sale_info";
|
|
18
|
-
readonly productSaleChannels: "plg_inventory_product_sale_channels";
|
|
19
|
-
readonly productIntermediateInfo: "plg_inventory_product_intermediate_info";
|
|
20
|
-
readonly productAssetInfo: "plg_inventory_product_asset_info";
|
|
21
|
-
readonly productTaxInfo: "plg_fiscalbr_product_tax_info";
|
|
22
|
-
};
|
|
23
|
-
/** Slot key of plg_inventory_stock_positions — matches uq_..._slot (006). */
|
|
24
|
-
export declare const STOCK_POSITION_SLOT = "tenant_id,product_id,stock_location_id,batch_number,expiration_date";
|
|
25
|
-
/** The `categories` kind a product category carries (catalog contract). */
|
|
26
|
-
export declare const PRODUCT_CATEGORY_KIND = "good";
|
|
27
|
-
//# sourceMappingURL=tables.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../src/data/tables.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;CA0BJ,CAAA;AAEV,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,wEAAwE,CAAA;AAExG,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,SAAS,CAAA"}
|
package/dist/data/types.d.ts
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import type { Product, StockMovement, StockPosition, StockLocation, Supplier, Recipe, RecipeIngredient, RecipeGroup, StockCountSession, StockCountItem, ProductCategory, CreateProductInput, CreateStockMovementInput, CreateRecipeInput, CreateRecipeIngredientInput, OpenStockCountInput, CloseStockCountResult, ProductQuery, MovementQuery, UsageAuditQuery, UsageAuditEntry, StockPanelQuery, StockPanelRow, UsageAuditCorrection, UsageAuditBatchResult, UsageAuditApproval, UsageAuditApproveResult, PaginatedResult, InventorySummary, RestockLine, CategoryCount, ConsumeRecipeForSourceInput, ReverseRecipeConsumptionInput, InventoryConsumptionResult, ProductBarcode, ProductVariant, RecipeSheet, RecipeOutput, MeasurementUnit, ProductionStation, IngredientInfo, RecipeListRow, RecipeExportSheet, RecipeCandidate, RecipeAiSuggestion, IngredientCostSuggestion, ProductOptionGroup } from '../types';
|
|
2
|
-
export interface InventoryDataProvider {
|
|
3
|
-
/**
|
|
4
|
-
* Ensure the tenant has the reference rows the inventory UI depends on.
|
|
5
|
-
* Implementations must be idempotent because forms may call this on every
|
|
6
|
-
* fresh mount (for example after the active tenant changes).
|
|
7
|
-
*/
|
|
8
|
-
ensureReferenceData?(): Promise<void>;
|
|
9
|
-
getProducts(query: ProductQuery): Promise<PaginatedResult<Product>>;
|
|
10
|
-
getProductById(id: string): Promise<Product | null>;
|
|
11
|
-
createProduct(input: CreateProductInput): Promise<Product>;
|
|
12
|
-
updateProduct(id: string, data: Partial<Product>): Promise<Product>;
|
|
13
|
-
/** Stores a product photo in the tenant-scoped media bucket and persists its URL. */
|
|
14
|
-
uploadProductImage?(productId: string, file: File): Promise<string>;
|
|
15
|
-
getProductBarcodes?(productId: string): Promise<ProductBarcode[]>;
|
|
16
|
-
addProductBarcode?(productId: string, input: ProductBarcode): Promise<void>;
|
|
17
|
-
removeProductBarcode?(id: string): Promise<void>;
|
|
18
|
-
setPrimaryProductBarcode?(productId: string, id: string): Promise<void>;
|
|
19
|
-
getProductVariants?(productId: string): Promise<ProductVariant[]>;
|
|
20
|
-
addProductVariant?(productId: string, input: {
|
|
21
|
-
name: string;
|
|
22
|
-
sku?: string;
|
|
23
|
-
}): Promise<void>;
|
|
24
|
-
setProductVariantActive?(id: string, active: boolean): Promise<void>;
|
|
25
|
-
getMovements(query: MovementQuery): Promise<PaginatedResult<StockMovement>>;
|
|
26
|
-
createMovement(input: CreateStockMovementInput): Promise<StockMovement>;
|
|
27
|
-
/** Drops a movement and unwinds what it did to the position and to on-hand. */
|
|
28
|
-
reverseMovement(movementId: string): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* What the sales consumed, product by product, against the recipe standard.
|
|
31
|
-
* A read of the ledger — there is no approval queue holding stock back.
|
|
32
|
-
*/
|
|
33
|
-
getUsageAudit(query: UsageAuditQuery): Promise<PaginatedResult<UsageAuditEntry>>;
|
|
34
|
-
/** Posts the difference as an adjustment; the reason is mandatory. */
|
|
35
|
-
correctUsage(input: {
|
|
36
|
-
itemId: string;
|
|
37
|
-
productId: string;
|
|
38
|
-
quantity: number;
|
|
39
|
-
reason: string;
|
|
40
|
-
}): Promise<void>;
|
|
41
|
-
/**
|
|
42
|
-
* Closes a whole conference at once: N lines under ONE reason and ONE
|
|
43
|
-
* operation, each difference posted as its own adjustment. The batch — not
|
|
44
|
-
* the line — is the event, which is what lets the reason be asked for once.
|
|
45
|
-
*/
|
|
46
|
-
correctUsageBatch(input: {
|
|
47
|
-
reason: string;
|
|
48
|
-
lines: UsageAuditCorrection[];
|
|
49
|
-
}): Promise<UsageAuditBatchResult>;
|
|
50
|
-
/**
|
|
51
|
-
* Aceitar o consumo. `post: true` é "Baixar no estoque" — aceita E desconta;
|
|
52
|
-
* `false` é "Aprovar" — aceita sem mexer no saldo.
|
|
53
|
-
*/
|
|
54
|
-
approveUsageBatch?(input: {
|
|
55
|
-
post: boolean;
|
|
56
|
-
lines: UsageAuditApproval[];
|
|
57
|
-
reason?: string;
|
|
58
|
-
}): Promise<UsageAuditApproveResult>;
|
|
59
|
-
/** Positions of one product, with the location name resolved. */
|
|
60
|
-
getPositions(productId: string): Promise<StockPosition[]>;
|
|
61
|
-
/** O painel de estoque do inventário: uma linha por produto × local × lote. */
|
|
62
|
-
getStockPanel?(query: StockPanelQuery): Promise<StockPanelRow[]>;
|
|
63
|
-
getLocations(): Promise<StockLocation[]>;
|
|
64
|
-
createLocation(data: {
|
|
65
|
-
name: string;
|
|
66
|
-
description?: string;
|
|
67
|
-
unitId?: string;
|
|
68
|
-
}): Promise<StockLocation>;
|
|
69
|
-
getSuppliers(): Promise<Supplier[]>;
|
|
70
|
-
getCategories(): Promise<ProductCategory[]>;
|
|
71
|
-
getCountSessions(): Promise<StockCountSession[]>;
|
|
72
|
-
getCountSession(id: string): Promise<StockCountSession | null>;
|
|
73
|
-
getCountItems(sessionId: string): Promise<StockCountItem[]>;
|
|
74
|
-
/** Creates the session AND snapshots what the system believes right now. */
|
|
75
|
-
openCountSession(input: OpenStockCountInput): Promise<StockCountSession>;
|
|
76
|
-
/** `quantity` null clears the entry back to uncounted — which is not zero. */
|
|
77
|
-
saveCountEntry(itemId: string, quantity: number | null, notes?: string): Promise<StockCountItem>;
|
|
78
|
-
/** Atomic and idempotent: re-closing emits no second round of adjustments. */
|
|
79
|
-
closeCountSession(sessionId: string, reason?: string): Promise<CloseStockCountResult>;
|
|
80
|
-
cancelCountSession(sessionId: string): Promise<StockCountSession>;
|
|
81
|
-
getRecipes(): Promise<Recipe[]>;
|
|
82
|
-
getRecipeById(id: string): Promise<Recipe | null>;
|
|
83
|
-
getRecipeIngredients(recipeId: string): Promise<RecipeIngredient[]>;
|
|
84
|
-
/** Every recipe's lines in one round trip — the list costs rows without an
|
|
85
|
-
* N+1. Each line carries the ingredient's cost basis. */
|
|
86
|
-
getAllRecipeIngredients(): Promise<RecipeIngredient[]>;
|
|
87
|
-
getRecipeGroups(recipeId: string): Promise<RecipeGroup[]>;
|
|
88
|
-
createRecipe(input: CreateRecipeInput): Promise<Recipe>;
|
|
89
|
-
/** Partial update — how the screen closes the gaps the assistant left. */
|
|
90
|
-
updateRecipe(id: string, patch: Partial<Recipe>): Promise<Recipe>;
|
|
91
|
-
addRecipeIngredient(recipeId: string, input: CreateRecipeIngredientInput): Promise<RecipeIngredient>;
|
|
92
|
-
/** Every active product marked as produced, with its sheet's numbers. */
|
|
93
|
-
getRecipeList?(): Promise<RecipeListRow[]>;
|
|
94
|
-
/** One row of the list, re-read after a write; null when the product left it. */
|
|
95
|
-
getRecipeListRow?(productId: string): Promise<RecipeListRow | null>;
|
|
96
|
-
/** Every produced product with its full sheet, for the spreadsheet export. */
|
|
97
|
-
getRecipeExport?(): Promise<RecipeExportSheet[]>;
|
|
98
|
-
/** The product's active sheet, or null when it has none yet. */
|
|
99
|
-
getRecipeSheet?(productId: string): Promise<RecipeSheet | null>;
|
|
100
|
-
/** Products a sheet makes sense for: Venda, Intermediário or Produzido.
|
|
101
|
-
* A pure ingredient (a disposable cup) is bought, never produced. */
|
|
102
|
-
searchRecipeCandidates?(query: string, kind?: 'sale' | 'intermediate' | null): Promise<RecipeCandidate[]>;
|
|
103
|
-
getRecipeOutputs?(recipeId: string): Promise<RecipeOutput[]>;
|
|
104
|
-
getMeasurementUnitList?(): Promise<MeasurementUnit[]>;
|
|
105
|
-
getProductionStations?(): Promise<ProductionStation[]>;
|
|
106
|
-
getIngredientInfo?(productIds: string[]): Promise<IngredientInfo[]>;
|
|
107
|
-
/** Products a sheet line may use: Insumo or Intermediário switched on. */
|
|
108
|
-
searchIngredients?(query: string): Promise<IngredientInfo[]>;
|
|
109
|
-
/** Replaces the sheet in one transaction; returns the recipe id. Also marks
|
|
110
|
-
* the product as produced and writes `unitCost` as its cost. */
|
|
111
|
-
saveRecipeSheet?(sheet: RecipeSheet, unitCost: number | null): Promise<string>;
|
|
112
|
-
/** The ingredient's cost for every sheet that uses it. */
|
|
113
|
-
setIngredientCost?(productId: string, cost: number): Promise<void>;
|
|
114
|
-
suggestRecipe?(input: {
|
|
115
|
-
productId: string;
|
|
116
|
-
productName: string;
|
|
117
|
-
description?: string;
|
|
118
|
-
imageUrls: string[];
|
|
119
|
-
instructions?: string;
|
|
120
|
-
}): Promise<RecipeAiSuggestion>;
|
|
121
|
-
suggestIngredientCost?(productId: string, name: string): Promise<IngredientCostSuggestion>;
|
|
122
|
-
/** Uploads a reference picture for the AI and returns a URL it can read. */
|
|
123
|
-
uploadAiReference?(file: File): Promise<string>;
|
|
124
|
-
/** Generates a product picture; returns it as base64 PNG, not yet applied. */
|
|
125
|
-
generateProductImage?(input: {
|
|
126
|
-
productId: string;
|
|
127
|
-
instructions?: string;
|
|
128
|
-
referenceUrls: string[];
|
|
129
|
-
}): Promise<string>;
|
|
130
|
-
getProductOptionGroups?(productId: string): Promise<ProductOptionGroup[]>;
|
|
131
|
-
saveProductOptionGroups?(productId: string, groups: ProductOptionGroup[]): Promise<ProductOptionGroup[]>;
|
|
132
|
-
/**
|
|
133
|
-
* Explodes the active recipe of a sold product and consumes its ingredients.
|
|
134
|
-
* The source item is the idempotency boundary: replaying the same source does
|
|
135
|
-
* not create a second stock exit.
|
|
136
|
-
*/
|
|
137
|
-
consumeRecipeForSource(input: ConsumeRecipeForSourceInput): Promise<InventoryConsumptionResult>;
|
|
138
|
-
/** Restores the stock consumed by the same source item, also idempotently. */
|
|
139
|
-
reverseRecipeConsumption(input: ReverseRecipeConsumptionInput): Promise<InventoryConsumptionResult>;
|
|
140
|
-
getSummary(): Promise<InventorySummary>;
|
|
141
|
-
/**
|
|
142
|
-
* O que precisa de compra, com o motivo em cada linha. Sem estoque e abaixo
|
|
143
|
-
* do mínimo são as duas perguntas do balcão, e separá-las em duas listas faria
|
|
144
|
-
* a pessoa somar de cabeça.
|
|
145
|
-
*/
|
|
146
|
-
getRestockList?(limit?: number): Promise<RestockLine[]>;
|
|
147
|
-
/** Quantos produtos por categoria, incluindo o balde "Sem categoria". */
|
|
148
|
-
getCategoryDistribution?(): Promise<CategoryCount[]>;
|
|
149
|
-
}
|
|
150
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/data/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/data/types.ts"],"names":[],"mappings":"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"}
|