@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.
- package/dist/data/inbox.d.ts +78 -0
- package/dist/data/inbox.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1693 -120
- package/dist/index.js.map +1 -1
- package/dist/lib/nfe-xml.d.ts +2 -0
- package/dist/lib/nfe-xml.d.ts.map +1 -1
- package/dist/lib/note-suggestion.d.ts +196 -0
- package/dist/lib/note-suggestion.d.ts.map +1 -0
- package/dist/migrations/index.d.ts +7 -0
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/types.d.ts +42 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/views/InboundNotesPage.d.ts.map +1 -1
- package/dist/views/ManifestView.d.ts +3 -1
- package/dist/views/ManifestView.d.ts.map +1 -1
- package/dist/views/NoteReconcileView.d.ts +7 -1
- package/dist/views/NoteReconcileView.d.ts.map +1 -1
- package/dist/views/UnitFiscalWidgets.d.ts +21 -0
- package/dist/views/UnitFiscalWidgets.d.ts.map +1 -0
- package/dist/views/inventoryView.d.ts +31 -0
- package/dist/views/inventoryView.d.ts.map +1 -1
- package/functions/fiscalbr-suggest-note-items/index.ts +425 -0
- package/package.json +7 -6
package/dist/data/inbox.d.ts
CHANGED
|
@@ -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
|
package/dist/data/inbox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../src/data/inbox.ts"],"names":[],"mappings":"
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|