@fayz-ai/plugin-fiscal-br 0.3.7 → 0.4.1

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.
@@ -31,6 +31,9 @@ export interface ItemDecisionInput {
31
31
  stockUnitId?: string | null;
32
32
  conversionFactor?: number;
33
33
  costMode?: string | null;
34
+ /** Quem escreveu. `null`/ausente grava NULL, que é «uma pessoa escolheu». */
35
+ suggestedBy?: 'ai' | 'ean' | 'supplier_map' | null;
36
+ suggestionConfidence?: number | null;
34
37
  shortageQuantity?: number | null;
35
38
  shortageReason?: string | null;
36
39
  shortageNote?: string | null;
@@ -64,6 +67,81 @@ export declare function saveNoteDecision(input: {
64
67
  export declare function acceptNote(documentId: string, locationId?: string | null): Promise<AcceptResult>;
65
68
  export declare function rejectNote(documentId: string, reason?: string): Promise<void>;
66
69
  export declare function searchProducts(term: string, limit?: number): Promise<ProductOption[]>;
70
+ /**
71
+ * O XML autorizado desta nota, como ele chegou.
72
+ *
73
+ * Consulta à parte e não campo do detalhe: são 10–50 KB de texto por nota, e a
74
+ * lista de uma conta grande carregaria megabytes que ninguém abriu. Desce quando
75
+ * alguém clica em baixar.
76
+ */
77
+ export declare function getInboxNoteXml(id: string): Promise<string | null>;
78
+ /**
79
+ * Qual nota tem este número, quando ele é único na conta.
80
+ *
81
+ * É o caminho das linhas IMPORTADAS do V1: elas trazem «Entrada via DANFE NF-e
82
+ * 10592» escrito no motivo e não trazem operação nenhuma — o importador copiou o
83
+ * movimento e não o vínculo. Das 3.088 assim, as 3.088 acham a nota aqui.
84
+ *
85
+ * Exige UNICIDADE: número de NF-e repete entre fornecedores, e abrir a nota
86
+ * errada é pior que não abrir nenhuma.
87
+ */
88
+ export declare function findInboxNoteByNumber(nfeNumber: string): Promise<string | null>;
89
+ /**
90
+ * Qual nota originou esta operação de estoque.
91
+ *
92
+ * O movimento guarda `operation_id`; a nota guarda `inventory_operation_id`. É o
93
+ * único elo entre o razão do estoque e o documento que o produziu, e é o que
94
+ * permite à linha de Movimentações abrir a NF-e de onde ela veio.
95
+ */
96
+ export declare function findInboxNoteByOperation(operationId: string): Promise<string | null>;
97
+ /** O que a edge function de sugestão devolve. */
98
+ export interface SuggestNoteItemsResult {
99
+ /** Itens que o modelo deixou PRONTOS — com produto. */
100
+ applied: number;
101
+ /** Itens em que ele só soube dizer o tipo: continuam «falta decidir». */
102
+ typedOnly: number;
103
+ /** Itens que o índice ligou sozinho, sem modelo (EAN ou de-para). */
104
+ bound: number;
105
+ boundByEan: number;
106
+ /** Nomes que o modelo propôs para o que não existe no catálogo. */
107
+ newProductNames: string[];
108
+ warnings: string[];
109
+ }
110
+ /**
111
+ * Pede a sugestão ao servidor.
112
+ *
113
+ * É edge function e não turno de agente porque o broker de chat recusou a
114
+ * pergunta («Message is too long») e, antes disso, porque um turno de chat tem
115
+ * teto de rodadas, morre na navegação e persiste tudo no histórico de alguém.
116
+ * Ver `functions/fiscalbr-suggest-note-items`.
117
+ *
118
+ * A FUNCTION GRAVA. Ela escreve pela mesma RPC do «Salvar conciliação» (que não
119
+ * marca `reconciled`), então quem chama só precisa recarregar a nota — e a
120
+ * sugestão sobrevive a fechar o modal, que era o buraco da versão anterior.
121
+ *
122
+ * O TENANT VAI NO CORPO, nunca em cabeçalho. É a regra que o console já aplica
123
+ * (ver `isEdgeFunctionCall` em `@fayz-ai/admin/data/client`): a borda declara
124
+ * uma lista fixa de `Access-Control-Allow-Headers`, e um cabeçalho fora da lista
125
+ * faz o NAVEGADOR recusar o preflight e bloquear o POST antes de ele sair — não
126
+ * sobra requisição no log, só um `OPTIONS` sozinho, e quem está usando lê «CORS».
127
+ * Foi assim que vinte funções pararam de uma vez.
128
+ *
129
+ * Do outro lado a function põe `x-fayz-tenant` no PRÓPRIO cliente dela, porque é
130
+ * o PostgREST que lê esse cabeçalho (`app.requested_tenant()`), e ali não há
131
+ * preflight nenhum. Sem isso, quem tem mais de uma conta não tem tenant: o recuo
132
+ * de `app._current_tenant_id_raw()` é «sua única conta», e com dez contas ele
133
+ * devolve NULL — a nota existe, a RLS a esconde, e a tela diz 404.
134
+ */
135
+ export declare function suggestNoteItems(documentId: string, reevaluate?: boolean): Promise<SuggestNoteItemsResult>;
136
+ /**
137
+ * Os produtos JÁ VINCULADOS, pelo id.
138
+ *
139
+ * `plg_fiscalbr_inbox_items.product_id` guarda o id e mais nada, e o seletor de
140
+ * produto precisa do NOME para mostrar o que está escolhido. Sem isto a linha
141
+ * abria com o campo vazio sobre um produto vinculado — a tela dizia «conferido»
142
+ * apontando para um campo em branco.
143
+ */
144
+ export declare function listProductsByIds(ids: string[]): Promise<ProductOption[]>;
67
145
  export declare function listMeasurementUnits(): Promise<MeasurementUnitOption[]>;
68
146
  /**
69
147
  * Leaf accounts only. `kind` never existed on this table: PostgREST answered 400
@@ -1 +1 @@
1
- {"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../src/data/inbox.ts"],"names":[],"mappings":"AAaA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC5E,OAAO,KAAK,EACV,SAAS,EAAE,eAAe,EAC1B,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAC3D,qBAAqB,EAAE,kBAAkB,EAAE,mBAAmB,EAC/D,MAAM,UAAU,CAAA;AAiEjB,wBAAsB,cAAc,CAAC,OAAO,GAAE;IAC5C,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;2EACuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACV,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA8B5B;AAkDD,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA8C9E;AAID;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GACvC,OAAO,CAAC,WAAW,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,CAgB9C;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,iBAAiB,EAAE,CAAA;IAC1B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,WAAW,CAAC,EAAE,eAAe,EAAE,GAAG,IAAI,CAAA;CACvC,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAqChE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAgBtG;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnF;AAID,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAYvF;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAQ7E;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAWvE;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAOzE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IACzE,mBAAmB,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5F,CAAC,CAAC,CAYF"}
1
+ {"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../src/data/inbox.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -16,7 +16,7 @@ export { IssuedNotesView, ReturnedNotesView, TaxGroupsView } from './views/GapSc
16
16
  * funcionam, três anunciam o que falta. O app passa isto para
17
17
  * `createInventoryPlugin({ extraViews })` e o Estoque desenha.
18
18
  */
19
- export { inboundNotesInventoryView } from './views/inventoryView';
19
+ export { inboundNotesInventoryView, inboundNoteDocumentModal, InboundNoteDocumentModal } from './views/inventoryView';
20
20
  export interface CreatePlugNotasPluginOptions extends CreatePlugNotasConnectorOptions {
21
21
  /** Onde a linha de Entrada de Notas entra no rail. Default: `main`, posição 5 (depois do estoque). */
22
22
  navSection?: 'main' | 'secondary' | 'settings';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAA4B,KAAK,+BAA+B,EAAE,MAAM,wBAAwB,CAAA;AAKvG,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACtF;;;;GAIG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AAEjE,MAAM,WAAW,4BAA6B,SAAQ,+BAA+B;IACnF,sGAAsG;IACtG,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;CAC7C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,cAAc,CAwGhG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAA4B,KAAK,+BAA+B,EAAE,MAAM,wBAAwB,CAAA;AAQvG,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACtF;;;;GAIG;AACH,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAErH,MAAM,WAAW,4BAA6B,SAAQ,+BAA+B;IACnF,sGAAsG;IACtG,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;CAC7C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,cAAc,CAwHhG"}