@feedmepos/mf-inventory-portal 1.7.11 → 1.7.12-dev.2

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 (127) hide show
  1. package/dist/App-DE5q8pJt.js +1434 -0
  2. package/dist/{ApprovalView-Dn0-OeH0.js → ApprovalView-tn3kgVnm.js} +9 -9
  3. package/dist/{BindingsDialog-BVVu8xWS.js → BindingsDialog-BcpMSsbG.js} +2 -2
  4. package/dist/{BindingsPicker-krMKURKj.js → BindingsPicker-D-XtjmkW.js} +2 -2
  5. package/dist/{BindingsTable-CLiGmTHB.js → BindingsTable-CpQ6DVv6.js} +4 -4
  6. package/dist/BulkReceiveRequestView-BOUrL6ir.js +2657 -0
  7. package/dist/{ChangeLocationComponent.vue_vue_type_script_setup_true_lang-BYtJnIsF.js → ChangeLocationComponent.vue_vue_type_script_setup_true_lang-Bu9YI9f7.js} +1 -1
  8. package/dist/{ClosingDraftView-fUMDbnI6.js → ClosingDraftView-BQkusa3K.js} +19 -19
  9. package/dist/{ClosingHistoryView-Cfvkxwlh.js → ClosingHistoryView-DNmUcfKW.js} +5 -5
  10. package/dist/{ClosingTemplateView-DtIeSknz.js → ClosingTemplateView-BGMMQIlm.js} +16 -16
  11. package/dist/{CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-Bz7CjD7v.js → CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-BlrhLlmx.js} +1 -1
  12. package/dist/{DefaultView-BbN62d8p.js → DefaultView-DbW7mva7.js} +2 -2
  13. package/dist/{DeliveryOrderPrintPreview-91UH3oJ8.js → DeliveryOrderPrintPreview-C6gqP8ro.js} +2 -2
  14. package/dist/{EmailDialog.vue_vue_type_script_setup_true_lang-DDunnzgw.js → EmailDialog.vue_vue_type_script_setup_true_lang-XU50lg6w.js} +2259 -2254
  15. package/dist/{FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-CKlpaNGP.js → FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-D-3eipuP.js} +6 -6
  16. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-DOqGzn08.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-CfmhYGml.js} +2 -2
  17. package/dist/{FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-CxdQsFqQ.js → FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-DyEY4i7p.js} +2 -2
  18. package/dist/{FmMultiselectDialog-Dg70WmLs.js → FmMultiselectDialog-DCzjYd3G.js} +2 -2
  19. package/dist/{FmMultiselectDialog-BEVkUX96.js → FmMultiselectDialog-zWGXAdy0.js} +1 -1
  20. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-RQ44PYLb.js → FmUnitInput.vue_vue_type_script_setup_true_lang-Ple3fGYg.js} +6 -6
  21. package/dist/{ImportView-C0hAMz8m.js → ImportView-pEnmvGQZ.js} +499 -496
  22. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-C6SNYEJl.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-zneEDRRK.js} +1 -1
  23. package/dist/{IngredientGroupView-CRGyWM_X.js → IngredientGroupView-C4LKT2no.js} +5 -5
  24. package/dist/{IngredientsView-C7CVkoou.js → IngredientsView-BuAz_kTx.js} +18 -17
  25. package/dist/{IntegrationExplorerView-2nvAOHbA.js → IntegrationExplorerView-C2BSURrj.js} +4 -4
  26. package/dist/{IntegrationView-CYSaTE2T.js → IntegrationView-D_mBNCCe.js} +14 -14
  27. package/dist/{InventoryBindingForm-CezLMw2l.js → InventoryBindingForm-bZo-006V.js} +1 -1
  28. package/dist/InventoryBindingForm.vue_vue_type_script_setup_true_lang-DJg4Yogw.js +563 -0
  29. package/dist/{InventoryBindingSummary-QOztXyC8.js → InventoryBindingSummary-BB9KGZ2m.js} +1 -1
  30. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-BT0zK5o_.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-DXUTZvuO.js} +1 -1
  31. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-_w5kZ9SM.js → PremiumBadge.vue_vue_type_script_setup_true_lang-BaBJdjs1.js} +1 -1
  32. package/dist/{ProductionView-BveNOlcK.js → ProductionView-Dl-Cyg38.js} +7 -7
  33. package/dist/{PublishView-bmecemJd.js → PublishView-C3X5HiH6.js} +3 -3
  34. package/dist/{PurchaseOrderPrintPreview-CDvO6BLm.js → PurchaseOrderPrintPreview-CSrsukQD.js} +2 -2
  35. package/dist/{ReceiveRequestView-CwVQ-KzO.js → ReceiveRequestView-DHfHO1hN.js} +14 -14
  36. package/dist/RecipeView-CDWEAe2t.js +3625 -0
  37. package/dist/{SettingsView-DJcAum3t.js → SettingsView-BLIWAA-o.js} +4 -4
  38. package/dist/{StockView-GDvWxpOJ.js → StockView-C0v3io9V.js} +21 -21
  39. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-DcCO7HHD.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-DlECppRw.js} +1 -1
  40. package/dist/{SupplierView-C3S8tTyF.js → SupplierView-J61tPOTo.js} +12 -12
  41. package/dist/{SurchargeView-skaVlUu3.js → SurchargeView-BACvlFV2.js} +6 -6
  42. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-BrBgjPjN.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-DJ08rDXE.js} +2 -2
  43. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-BcvXD9Kt.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-CSLs6e0k.js} +1 -1
  44. package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-BO6vRibE.js → TransferDetails.vue_vue_type_script_setup_true_lang-C_cRs9Cy.js} +1639 -1575
  45. package/dist/{TransferTemplateView-j6GNvA2S.js → TransferTemplateView-CEAAZaYQ.js} +20 -20
  46. package/dist/{UnitCostHistoryView-0H_0-DbA.js → UnitCostHistoryView-rmgLm5vt.js} +4 -4
  47. package/dist/{UnitDisplayControl.vue_vue_type_script_setup_true_lang-DJa1AaL2.js → UnitDisplayControl.vue_vue_type_script_setup_true_lang-o1eSDUbx.js} +4 -4
  48. package/dist/{UnitView-CSD1Gnsb.js → UnitView-C0xIGsAy.js} +8 -8
  49. package/dist/WarehouseView-RPXyVYIR.js +1082 -0
  50. package/dist/{WastageTemplateView-kvuJXBiI.js → WastageTemplateView-DrEDl-Cn.js} +14 -14
  51. package/dist/api/changelog.d.ts +132 -0
  52. package/dist/api/purchase-order.d.ts +2 -0
  53. package/dist/{app-Bon7qTu5.js → app-DxdWfyxo.js} +10046 -9137
  54. package/dist/app.d.ts +906 -15
  55. package/dist/app.js +1 -1
  56. package/dist/{closing-template-BjekEF5s.js → closing-template-DLkEPmhO.js} +1 -1
  57. package/dist/{date2-BXEHP1It.js → date2-_HV-UUr-.js} +5 -5
  58. package/dist/{dayjs.min-iFbgqyzU.js → dayjs.min-B4ZBHgnH.js} +1 -1
  59. package/dist/{decimal-BIi1j8fj.js → decimal-BP9r-3Fd.js} +2 -2
  60. package/dist/{defineDeepModel-IMW3a6OW.js → defineDeepModel-512Elkp4.js} +1 -1
  61. package/dist/{duplicate-template-DFciXweZ.js → duplicate-template-B5Wg73Th.js} +1 -1
  62. package/dist/{feature-CNI4MMSc.js → feature-CqyeXw0w.js} +2 -2
  63. package/dist/{format-time-from-id-DDH3ceGb.js → format-time-from-id-CBkBQaBx.js} +1 -1
  64. package/dist/{format-unit-display-Dp383g0F.js → format-unit-display-DNWWwkbf.js} +27 -27
  65. package/dist/{import-export.helper-BPK_S1mX.js → import-export.helper-BSz6k4kC.js} +6 -6
  66. package/dist/{index-BeP05_CC.js → index-BcC1HW4y.js} +3 -3
  67. package/dist/{index-BbhrAzLH.js → index-DCGTaCsW.js} +1 -1
  68. package/dist/{index-D20KUiXn.js → index-Dxc2IYXi.js} +3306 -3232
  69. package/dist/{inventory-core-dart.default-B7F_lZ7E.js → inventory-core-dart.default-BbZy6Cok.js} +1 -1
  70. package/dist/{lz-string-C_xIP_0T.js → lz-string-RCKGmlTu.js} +1 -1
  71. package/dist/{netsuite-a6M2ml9V.js → netsuite-tMIpKK4c.js} +3 -2
  72. package/dist/{number-4OG2ZSmc.js → number-Bf8QDJ39.js} +3 -3
  73. package/dist/{predefined-templates-CjXICvUU.js → predefined-templates-Bh5ObypP.js} +1 -1
  74. package/dist/{purchase-order-template-CXdomQWy.js → purchase-order-template-Cdeh8-im.js} +1 -1
  75. package/dist/{recalculationUtils-CEAhd7BW.js → recalculationUtils-CJ02T70y.js} +1 -1
  76. package/dist/{rules-Dvr47IAA.js → rules-BrpDaHZu.js} +2 -2
  77. package/dist/{stock-Caf05ukJ.js → stock-BP1CvvEN.js} +3 -3
  78. package/dist/{stock-DEOhLNew.js → stock-Ca3ejqyO.js} +1 -1
  79. package/dist/stores/bulk-job.d.ts +13 -0
  80. package/dist/style.css +1 -1
  81. package/dist/{supplier-BvHSfhV9.js → supplier-CikAplrR.js} +2 -2
  82. package/dist/{surcharge-Cu0KfPTD.js → surcharge-z_QfAREF.js} +8 -8
  83. package/dist/tsconfig.app.tsbuildinfo +1 -1
  84. package/dist/{uom-rules-D71zOsgd.js → uom-rules-BU0EkWV5.js} +1 -1
  85. package/dist/{use-ingredient-select-dialog-DZzvq4UK.js → use-ingredient-select-dialog-DxxL31dH.js} +2 -2
  86. package/dist/{use-inventory-binding-dialog-C1focrkJ.js → use-inventory-binding-dialog-oRxuJqJI.js} +2 -2
  87. package/dist/{use-template-enabled-locations-DMcKtqkt.js → use-template-enabled-locations-CcQMhBXm.js} +2 -2
  88. package/dist/{use-transfer-locations-DJttEyyP.js → use-transfer-locations-ByuoGAkE.js} +2 -2
  89. package/dist/{useHrmPermission-DaLaaQR9.js → useHrmPermission-VmapATbV.js} +1 -1
  90. package/dist/{useNavigationMenu-CoX50gGK.js → useNavigationMenu-D6vXqC9N.js} +2 -2
  91. package/dist/{useSseClient-DTpRYQC7.js → useSseClient-Dzsg1Vj-.js} +1 -1
  92. package/dist/views/changelog/components/ChangelogDialog.vue.d.ts +19 -0
  93. package/dist/views/changelog/components/ChangelogFloatingButton.vue.d.ts +2 -0
  94. package/dist/views/changelog/components/ChangelogPanel.spec.d.ts +1 -0
  95. package/dist/views/changelog/components/ChangelogPanel.vue.d.ts +20 -0
  96. package/dist/views/changelog/composables/change-path.d.ts +10 -0
  97. package/dist/views/changelog/composables/commit-message.d.ts +9 -0
  98. package/dist/views/changelog/composables/commit-message.spec.d.ts +1 -0
  99. package/dist/views/changelog/composables/json-line-diff.d.ts +10 -0
  100. package/dist/views/changelog/composables/json-line-diff.spec.d.ts +1 -0
  101. package/dist/views/changelog/composables/use-changelog.d.ts +90 -0
  102. package/dist/views/changelog/composables/use-changelog.spec.d.ts +1 -0
  103. package/dist/views/changelog/composables/use-inventory-record-commits.d.ts +97 -0
  104. package/dist/views/changelog/composables/use-inventory-record-commits.spec.d.ts +1 -0
  105. package/dist/views/changelog/composables/use-snapshot-diff.d.ts +29 -0
  106. package/dist/views/changelog/composables/use-snapshot-diff.spec.d.ts +1 -0
  107. package/dist/views/changelog/composables/value-tree.d.ts +14 -0
  108. package/dist/views/changelog/composables/value-tree.spec.d.ts +1 -0
  109. package/dist/views/import/helper/submit-rows.d.ts +13 -0
  110. package/dist/views/import/helper/submit-rows.spec.d.ts +1 -0
  111. package/dist/views/ingredients/components/inventory-binding/InventoryBindingForm.vue.d.ts +2 -0
  112. package/dist/views/ingredients/components/inventory-binding/RecipeBindingBreakdown.vue.d.ts +25 -0
  113. package/dist/views/ingredients/components/inventory-binding/composables/recipe-breakdown.d.ts +34 -0
  114. package/dist/views/ingredients/components/inventory-binding/composables/recipe-breakdown.spec.d.ts +1 -0
  115. package/dist/views/ingredients/components/inventory-binding/v2/InventoryBindingFormV2.vue.d.ts +2 -0
  116. package/dist/views/ingredients/components/inventory-binding/v2/components/InventoryRecipeBindingV2Field.vue.d.ts +4 -0
  117. package/dist/views/receive-request/components/email-dialog/EmailDialog.spec.d.ts +1 -0
  118. package/dist/views/receive-request/components/email-dialog/EmailDialogProps.d.ts +23 -9
  119. package/dist/views/recipe/composables/use-recipe-table.d.ts +11 -0
  120. package/dist/{vue-i18n-BC7M3p_r.js → vue-i18n-DApbl4qi.js} +540 -540
  121. package/dist/{xlsx.util-D7HlgjJM.js → xlsx.util-B75j3mbr.js} +2 -2
  122. package/package.json +3 -3
  123. package/dist/App-C_6oyWjy.js +0 -311
  124. package/dist/BulkReceiveRequestView-FKdv9h5_.js +0 -2595
  125. package/dist/InventoryBindingForm.vue_vue_type_script_setup_true_lang-CJ1HyFqS.js +0 -441
  126. package/dist/RecipeView-B32tleCa.js +0 -3584
  127. package/dist/WarehouseView-Cua66P5F.js +0 -1079
@@ -2,26 +2,26 @@ import { ref as D, h as P, defineComponent as Y, resolveComponent as M, createEl
2
2
  import { u as at, _ as ot } from "./SingleColumnLayout.vue_vue_type_script_setup_true_lang-DpwneGOV.js";
3
3
  import { useI18n as G, useCoreStore as Be } from "@feedmepos/mf-common";
4
4
  import { D as le, R as B } from "./row-action.enum-ncgDYAjP.js";
5
- import { _ as st } from "./FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-CxdQsFqQ.js";
5
+ import { _ as st } from "./FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-DyEY4i7p.js";
6
6
  import { useDialog as X, useDialogChild as lt, useSnackbar as ce, FmButtonVariant as q, components as W, useProxiedModel as ze, useBreakpoints as rt } from "@feedmepos/ui-library";
7
7
  import { defineStore as Oe, storeToRefs as We } from "pinia";
8
8
  import { _ as it, F as re } from "./TableActionableRow.vue_vue_type_script_setup_true_lang-DAMpuZ1X.js";
9
- import { u as he, c as He, a as Z, J as N, l as ut, E as fe, K as me } from "./app-Bon7qTu5.js";
9
+ import { u as he, c as He, a as Z, J as N, m as ut, E as fe, K as me } from "./app-DxdWfyxo.js";
10
10
  import { F as J } from "./form-mode.enum-BKiNVH6A.js";
11
11
  import { c as ct } from "./component-BmLAdDiY.js";
12
- import { f as mt } from "./format-time-from-id-DDH3ceGb.js";
13
- import { u as de } from "./closing-template-BjekEF5s.js";
14
- import { _ as Pe } from "./TemplatePublishDialog.vue_vue_type_script_setup_true_lang-BcvXD9Kt.js";
15
- import { t as ve, a as Ke, d as Ye, s as Ge, r as dt } from "./xlsx.util-D7HlgjJM.js";
16
- import { f as pt, a as ft } from "./date2-BXEHP1It.js";
17
- import { u as vt } from "./netsuite-a6M2ml9V.js";
12
+ import { f as mt } from "./format-time-from-id-CBkBQaBx.js";
13
+ import { u as de } from "./closing-template-DLkEPmhO.js";
14
+ import { _ as Pe } from "./TemplatePublishDialog.vue_vue_type_script_setup_true_lang-CSLs6e0k.js";
15
+ import { t as ve, a as Ke, d as Ye, s as Ge, r as dt } from "./xlsx.util-B75j3mbr.js";
16
+ import { f as pt, b as ft } from "./date2-_HV-UUr-.js";
17
+ import { u as vt } from "./netsuite-tMIpKK4c.js";
18
18
  import { F as yt } from "./FmDroppableField-J0tG_U3w.js";
19
- import { u as ht } from "./duplicate-template-DFciXweZ.js";
20
- import { A as gt, R as Je } from "./rules-Dvr47IAA.js";
21
- import { d as bt } from "./defineDeepModel-IMW3a6OW.js";
22
- import { u as _t } from "./use-template-enabled-locations-DMcKtqkt.js";
23
- import { a as xt } from "./FmMultiselectDialog-Dg70WmLs.js";
24
- import { _ as wt } from "./SystemTrailDialog.vue_vue_type_script_setup_true_lang-BrBgjPjN.js";
19
+ import { u as ht } from "./duplicate-template-B5Wg73Th.js";
20
+ import { A as gt, R as Je } from "./rules-BrpDaHZu.js";
21
+ import { d as bt } from "./defineDeepModel-512Elkp4.js";
22
+ import { u as _t } from "./use-template-enabled-locations-CcQMhBXm.js";
23
+ import { a as xt } from "./FmMultiselectDialog-DCzjYd3G.js";
24
+ import { _ as wt } from "./SystemTrailDialog.vue_vue_type_script_setup_true_lang-DJ08rDXE.js";
25
25
  import { _ as Tt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
26
26
  const ee = Oe(
27
27
  "wastageTable",
@@ -0,0 +1,132 @@
1
+ import type { FdtoChangeLog } from '@feedmepos/zod-inventory';
2
+ /** A domain the changelog browser lists generically (backend `changelog/domains`). */
3
+ export interface BrowsableChangelogDomain {
4
+ domain: string;
5
+ labelKey: string;
6
+ }
7
+ /** A resolved value tree the server attaches to a change's from/to when explain=1 (mirrors kit's ValueNode). */
8
+ export interface ValueNode {
9
+ label?: string;
10
+ value?: string;
11
+ display?: string;
12
+ list?: boolean;
13
+ bookkeeping?: boolean;
14
+ kids?: ValueNode[];
15
+ }
16
+ /** The `schema` query param for explain=1 — field-trail labels/identity, mirroring kit httpapi's explainOptions. */
17
+ export interface ExplainSchema {
18
+ array_keys?: Record<string, string>;
19
+ identity_fields?: string[];
20
+ name_fields?: string[];
21
+ ignored_fields?: string[];
22
+ names?: Record<string, string>;
23
+ label_keys?: {
24
+ prefix: string;
25
+ fields: string[];
26
+ };
27
+ }
28
+ /**
29
+ * Domain-agnostic explain schema for domains without their own: keyed-array
30
+ * pairing falls back to `_id`/`id`, and field labels reuse the inventory i18n
31
+ * keys — consistent with the differ, whose label resolver is registered once
32
+ * app-wide, so stored human paths already use these keys in every domain.
33
+ */
34
+ export declare const DEFAULT_EXPLAIN_SCHEMA: ExplainSchema;
35
+ /**
36
+ * Inventory domain's explain schema: the default plus the nested-array
37
+ * identity declarations the `_id`/`id` fallback can't express, and the same
38
+ * field labels the differ already translates (LABELED_FIELDS,
39
+ * apps/inventory-backend/src/inventory/changelog-labels.ts) so a resolved
40
+ * value tree's field labels go through the same i18n keys as field-level diffs.
41
+ */
42
+ export declare const INVENTORY_EXPLAIN_SCHEMA: ExplainSchema;
43
+ /** The keyed-array element a kit-dialect change sits inside (mirrors kit's Element). */
44
+ export interface ChangelogElement {
45
+ trail?: string[];
46
+ name?: string;
47
+ id?: string;
48
+ }
49
+ /** Resolved display names for id-valued from/to (mirrors kit's Display). */
50
+ export interface ChangelogDisplay {
51
+ from?: string;
52
+ to?: string;
53
+ }
54
+ /** One diff line within a commit (mirrors the changelog server's Change). */
55
+ export interface ChangelogChange {
56
+ at?: string;
57
+ actor?: string;
58
+ path: string;
59
+ kind: string;
60
+ from?: string;
61
+ to?: string;
62
+ from_value?: ValueNode;
63
+ to_value?: ValueNode;
64
+ /** kit-dialect only: human label trail of the changed field, relative to element when set. */
65
+ field?: string[];
66
+ /** kit-dialect only: set when the change sits inside a keyed array element. */
67
+ element?: ChangelogElement;
68
+ /** kit-dialect only: resolved display names when from/to are known ids. */
69
+ display?: ChangelogDisplay;
70
+ }
71
+ /** One sealed commit for a record (the server's CommitEnvelope). */
72
+ export interface ChangelogCommit {
73
+ doc_id: string;
74
+ id: string;
75
+ parent: string;
76
+ at: string;
77
+ authors: string[];
78
+ message?: string;
79
+ changes: ChangelogChange[];
80
+ }
81
+ /**
82
+ * True when an API call rejected with a 409 — the backend's changelog/state
83
+ * passthrough answers this way when the document's history has any pre-kit
84
+ * (legacy-dialect) commit, since kit's state replay cannot fold those.
85
+ */
86
+ export declare function isStateConflict(error: unknown): boolean;
87
+ export declare const useChangelogApi: () => {
88
+ /**
89
+ * Commits for one record. recordId is the changelog docId, `${dbName}/${id}`.
90
+ * The dbName scopes the (access-checked) backend route; only the bare id is
91
+ * sent — the backend rebuilds the docId server-side.
92
+ */
93
+ getRecordChangelog(recordId: string, limit?: number, explain?: ExplainSchema, before?: string): Promise<ChangelogCommit[]>;
94
+ /**
95
+ * Purchase orders in a date range, each with when it last changed. The
96
+ * backend joins the orders to their newest commit, so no ids travel and the
97
+ * browser makes one request instead of list-then-ask-for-timestamps.
98
+ */
99
+ listPurchaseOrders(dbName: string, start: string, end: string): Promise<FdtoChangeLog[]>;
100
+ /**
101
+ * Closing drafts created in a date range, each with when it last changed.
102
+ * Closing groups come back as rows of their own — their submit/approve/
103
+ * reject is recorded against the group document, not its parent.
104
+ */
105
+ listClosingDrafts(dbName: string, start: string, end: string): Promise<FdtoChangeLog[]>;
106
+ /**
107
+ * A kit-dialect record's whole document, at HEAD or as of (and including)
108
+ * commit `at`. Same dbName/id split as getRecordChangelog. Rejects with a
109
+ * 409 (see isStateConflict) when the record's history predates the kit
110
+ * write path — the backend passthrough for kit httpapi's GET /api/state.
111
+ */
112
+ getState(dbName: string, docId: string, at?: string): Promise<Record<string, unknown>>;
113
+ /**
114
+ * The domains the browser lists generically, declared in
115
+ * changelog-domains-pkg and served by the backend — a new browsable domain
116
+ * becomes a tab without a portal change. Backends predating the route
117
+ * yield an error the caller treats as "no extra domains".
118
+ */
119
+ listDomains(businessId: string): Promise<BrowsableChangelogDomain[]>;
120
+ /**
121
+ * One generic domain's records, each with when it last changed. Business-
122
+ * scoped: the generic domains are configuration documents of the business
123
+ * db, not of a location.
124
+ */
125
+ listDomainRecords(businessId: string, domain: string): Promise<FdtoChangeLog[]>;
126
+ /**
127
+ * One inventory module's records, each with when it last changed. Business-
128
+ * scoped, so the db is `business_<id>` — the same prefixed name the record's
129
+ * own changelog docId carries.
130
+ */
131
+ listInventory(businessId: string, module: 'sku' | 'recipe' | 'unit'): Promise<FdtoChangeLog[]>;
132
+ };
@@ -73,6 +73,8 @@ export declare const usePurchaseOrderApi: () => {
73
73
  subject: string;
74
74
  recipientName: string;
75
75
  recipientEmail: string;
76
+ /** Optional freeform text prepended to the generated email body. */
77
+ message?: string | undefined;
76
78
  pos: {
77
79
  poId: string;
78
80
  dbName: string;