@lexnode/legal-data-sdk 1.26.0 → 1.27.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 +108 -24
- package/dist/index.d.ts +1 -1
- package/dist/webhooks.d.ts +102 -4
- package/dist/webhooks.js +1 -0
- package/package.json +1 -1
- package/schema.d.ts +223 -17
package/README.md
CHANGED
|
@@ -194,6 +194,14 @@ switch (resultado.event.type) {
|
|
|
194
194
|
break;
|
|
195
195
|
case "PROCESS_MOVEMENT_CREATED":
|
|
196
196
|
resultado.event.payload.externalRef;
|
|
197
|
+
resultado.event.payload.degree; // o grau do movimento mais recente
|
|
198
|
+
break;
|
|
199
|
+
case "PROCESS_INSTANCE_DISCOVERED":
|
|
200
|
+
// Outro grau do processo apareceu na fonte; o histórico dele está no
|
|
201
|
+
// retrato, em `instances`. O processo retido vem sem o grau.
|
|
202
|
+
if (!resultado.event.payload.contentWithheld) {
|
|
203
|
+
resultado.event.payload.degree;
|
|
204
|
+
}
|
|
197
205
|
break;
|
|
198
206
|
case "SEARCH_JOB_COMPLETED":
|
|
199
207
|
if (resultado.event.payload.status === "FAILED") {
|
|
@@ -256,6 +264,94 @@ if (desfecho.kind === "sync") {
|
|
|
256
264
|
}
|
|
257
265
|
```
|
|
258
266
|
|
|
267
|
+
## Um número, várias instâncias
|
|
268
|
+
|
|
269
|
+
A fonte processual guarda um documento por instância do processo — 1º grau, 2º
|
|
270
|
+
grau, turma recursal… —, às vezes dois do mesmo grau, e o motor guarda cada um
|
|
271
|
+
na sua instância.
|
|
272
|
+
|
|
273
|
+
**O topo não troca.** O topo da ficha (`data`) e do retrato (`data.process` e
|
|
274
|
+
`data.movements`) é sempre a instância principal do número, com o grau em
|
|
275
|
+
`degree`: a mesma de uma leitura para a outra, qualquer que seja a ordem em que
|
|
276
|
+
a fonte devolve os documentos. Ela só muda quando uma resposta completa da
|
|
277
|
+
fonte pelo número deixa de trazê-la. Quem compara movimentos pela chave não vê
|
|
278
|
+
o histórico de outro grau aparecer como novo no topo — e o topo pode não ser o
|
|
279
|
+
grau que anda: o 2º grau guardado primeiro continua no topo enquanto o 1º se
|
|
280
|
+
move.
|
|
281
|
+
|
|
282
|
+
**Todos os graus em `instances`.** A ficha e o retrato listam em `instances`
|
|
283
|
+
todos os documentos que o motor guarda do número, a principal primeiro
|
|
284
|
+
(`primary: true`). Cada um diz de onde veio nesta resposta (`origin`: `SOURCE`
|
|
285
|
+
quando a fonte o trouxe, `LAKE` quando saiu do acervo), quando foi buscado
|
|
286
|
+
(`fetchedAt`) e desde quando a resposta completa da fonte vem sem ele
|
|
287
|
+
(`absentSince`). No retrato, cada instância traz os movimentos da última captura
|
|
288
|
+
dela, do mais recente ao mais antigo e sem o payload bruto da fonte; a que o
|
|
289
|
+
motor nunca capturou vem com `movementsCaptured: false` e `movements` nulo, nunca
|
|
290
|
+
com lista vazia, que diria que o grau não andou. Todos os documentos levam a
|
|
291
|
+
classificação do número inteiro — basta um em segredo de justiça para todos
|
|
292
|
+
saírem marcados —, e a ficha retida pelo controle de confidencialidade sai sem a
|
|
293
|
+
lista.
|
|
294
|
+
|
|
295
|
+
```ts
|
|
296
|
+
const { data } = await lexnode.processes.snapshot(numero, { tribunalAlias });
|
|
297
|
+
|
|
298
|
+
for (const instancia of data.instances) {
|
|
299
|
+
instancia.degree; // "G1", "G2", "TR"…
|
|
300
|
+
instancia.primary; // true só na do topo
|
|
301
|
+
instancia.movements ?? "movimentos nunca capturados";
|
|
302
|
+
}
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
No lote (`processes.snapshotBatch`), `instances` traz só o cabeçalho de cada
|
|
306
|
+
documento; os movimentos de cada instância vêm no retrato de um processo. A
|
|
307
|
+
busca por número completo servida do acervo devolve um item por documento que a
|
|
308
|
+
fonte ainda traz do número, a principal primeiro; quando eles não cabem em
|
|
309
|
+
`limit`, a busca vai à fonte, que pagina.
|
|
310
|
+
|
|
311
|
+
**Recorte por grau.** A lista de movimentações aceita `degree` e devolve só os
|
|
312
|
+
movimentos que o documento daquele grau trouxe na última captura; cada item diz
|
|
313
|
+
em `degrees` o grau — ou os graus, quando o mesmo ato está nos dois documentos
|
|
314
|
+
— que o trouxe, e vem vazio no movimento que nenhuma captura atual traz.
|
|
315
|
+
|
|
316
|
+
```ts
|
|
317
|
+
const { data } = await lexnode.processes.movements(numero, {
|
|
318
|
+
tribunalAlias,
|
|
319
|
+
degree: "G1",
|
|
320
|
+
});
|
|
321
|
+
data.items; // só o que o 1º grau trouxe
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
**O grau novo chega num evento só.** Quando outro grau de um processo assinado
|
|
325
|
+
aparece na fonte, o histórico dele entra no acervo sem virar
|
|
326
|
+
`PROCESS_MOVEMENT_CREATED` movimento a movimento: chega um
|
|
327
|
+
`PROCESS_INSTANCE_DISCOVERED`, com o grau, o órgão julgador e as contagens —
|
|
328
|
+
`historyMovementCount` entrou sem aviso próprio, `announcedMovementCount` saiu
|
|
329
|
+
também como movimento novo. O `PROCESS_MOVEMENT_CREATED` diz o grau do
|
|
330
|
+
movimento mais recente (`degree`, `instanceSourceId`) e quantos movimentos novos
|
|
331
|
+
vieram de cada grau (`instances`). Assine os dois: quem assina só o movimento
|
|
332
|
+
não fica sabendo do grau que apareceu.
|
|
333
|
+
|
|
334
|
+
**`meta.otherInstances`: o resumo do que veio.** Quando a resposta da fonte traz
|
|
335
|
+
outros documentos do número além da principal, `meta.otherInstances` resume cada
|
|
336
|
+
um com o grau (`grau`), a data em que a fonte o atualizou (`updatedAt`) e o
|
|
337
|
+
órgão julgador (`courtBody`, quando vem). A lista não sai para processo restrito
|
|
338
|
+
e não inclui documento que o motor classificaria como segredo de justiça; os
|
|
339
|
+
documentos inteiros estão em `instances`.
|
|
340
|
+
|
|
341
|
+
```ts
|
|
342
|
+
for (const outra of meta.otherInstances ?? []) {
|
|
343
|
+
// Ex.: { grau: "G1", updatedAt: "2026-04-15T12:00:00.000Z" }
|
|
344
|
+
}
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
**Continuação.** Na API nada é cortado: o retrato traz os movimentos guardados
|
|
348
|
+
de cada instância, e a lista de movimentações lê do acervo, grau a grau, sem ir
|
|
349
|
+
à fonte. No canal para agentes (MCP), `consultar_processo` cabe no teto de uma
|
|
350
|
+
resposta: de cada grau vêm os movimentos mais recentes, o grau que se moveu por
|
|
351
|
+
último primeiro, e a mesma tool com `grau` e `pagina` traz os seguintes do que o
|
|
352
|
+
motor guardou, por 1 crédito e sem ir à fonte — só para quem já leu o processo
|
|
353
|
+
ou o acompanha.
|
|
354
|
+
|
|
259
355
|
## Ler um processo quando a fonte está lenta
|
|
260
356
|
|
|
261
357
|
A ficha (`processes.get`) vai à fonte processual quando o acervo não tem o
|
|
@@ -290,15 +386,15 @@ ou a vigília do processo (`watchProcess`), que consulta em segundo plano.
|
|
|
290
386
|
responde com só parte do índice e o processo estava na parte que respondeu, ele
|
|
291
387
|
é servido, e `meta.partialIndex` diz quantas partes falharam (`shardsFailed`),
|
|
292
388
|
de quantas (`shardsTotal`, nulo quando a fonte não as contou) e se o prazo
|
|
293
|
-
interno dela estourou (`timedOut`). O
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
389
|
+
interno dela estourou (`timedOut`). O documento que o acervo já guardava e não
|
|
390
|
+
veio sai em `instances` do acervo (`origin: "LAKE"`), com a data dele, e outro
|
|
391
|
+
grau que o acervo não conhece, se existir, pode estar na parte que não
|
|
392
|
+
respondeu. A resposta parcial sem o processo é 502 `UPSTREAM_UNAVAILABLE`
|
|
297
393
|
retentável, nunca 404.
|
|
298
394
|
|
|
299
395
|
```ts
|
|
300
396
|
if (meta.partialIndex) {
|
|
301
|
-
// Outro grau deste número
|
|
397
|
+
// Outro grau deste número que o acervo não conhece pode não ter vindo.
|
|
302
398
|
}
|
|
303
399
|
```
|
|
304
400
|
|
|
@@ -306,21 +402,6 @@ Antes de recusar a resposta parcial que veio sem o processo porque partes do
|
|
|
306
402
|
índice ficaram fora, o motor consulta a fonte de novo — até duas vezes, com uma
|
|
307
403
|
pausa curta, enquanto a espera couber.
|
|
308
404
|
|
|
309
|
-
**`meta.otherInstances`: o número tem outro documento na fonte.** A fonte pode
|
|
310
|
-
guardar mais de um documento por número — em geral um por instância (1º grau,
|
|
311
|
-
2º grau, turma recursal…), às vezes dois no mesmo grau —, e o motor serve e
|
|
312
|
-
guarda um só: o de `data`, cujo grau está em `degree`. Quando a resposta da
|
|
313
|
-
fonte trouxe outros, `meta.otherInstances` lista cada um com o grau (`grau`), a
|
|
314
|
-
data em que a fonte o atualizou (`updatedAt`) e o órgão julgador (`courtBody`,
|
|
315
|
-
quando vem). A lista não sai para processo restrito e não inclui documento que o
|
|
316
|
-
motor classificaria como segredo de justiça.
|
|
317
|
-
|
|
318
|
-
```ts
|
|
319
|
-
for (const outra of meta.otherInstances ?? []) {
|
|
320
|
-
// Ex.: { grau: "G1", updatedAt: "2026-04-15T12:00:00.000Z" }
|
|
321
|
-
}
|
|
322
|
-
```
|
|
323
|
-
|
|
324
405
|
**Agentes têm a espera deles.** No canal para agentes (MCP), as tools
|
|
325
406
|
`ler_processo` e `consultar_processo` escolhem a espera em `maxWaitSeconds`, na
|
|
326
407
|
mesma faixa e com padrão de 120 s; esse canal não passa pelo SDK.
|
|
@@ -345,10 +426,13 @@ vez do erro. A resposta diz que é cópia, e de quando:
|
|
|
345
426
|
|
|
346
427
|
A cópia custa 1 crédito, na ficha e no retrato. O retrato confere o saldo pelo
|
|
347
428
|
preço cheio, 8, antes de ir à fonte; a ficha confere pelo preço do que
|
|
348
|
-
entregou, depois da leitura. No retrato guardado,
|
|
349
|
-
última vez que o motor buscou
|
|
350
|
-
|
|
351
|
-
|
|
429
|
+
entregou, depois da leitura. No retrato guardado, cada instância traz os
|
|
430
|
+
movimentos da última vez que o motor a buscou, com a data em
|
|
431
|
+
`instances[].fetchedAt`, e `sourcePayload` é nulo: o que andou depois dessas
|
|
432
|
+
datas não está na resposta. O número que a resposta completa mais recente da
|
|
433
|
+
fonte já não trazia em documento nenhum não é socorrido. Na ficha guardada, a
|
|
434
|
+
data vale para os dados do processo, e o resumo das publicações (`djen`) é
|
|
435
|
+
relido na hora.
|
|
352
436
|
|
|
353
437
|
**Até que idade.** Sem pedir nada, só a cópia de até 24 h socorre a leitura —
|
|
354
438
|
nessas duas rotas, uma resposta de sucesso já podia ser cópia do acervo dentro
|
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export { LEXNODE_ERROR_CODES, LexNodeError, isLexNodeError } from "./errors.js";
|
|
|
15
15
|
export type { LexNodeErrorClass, LexNodeErrorCode, LexNodeErrorInit, } from "./errors.js";
|
|
16
16
|
export type { Body, CallOptions, Data, HttpMethod, LexNodeResult, Meta, MetaExtras, MethodOf, Operation, PathParams, Query, RateLimitSnapshot, RequestArgs, RetryPolicy, } from "./types.js";
|
|
17
17
|
export { DEFAULT_WEBHOOK_TOLERANCE_SECONDS, LEXNODE_WEBHOOK_HEADERS, WEBHOOK_EVENT_TYPES, WEBHOOK_TEST_EVENT_TYPE, isKnownWebhookEventType, isReceiverFault, isWebhookTest, parseWebhookEvent, verifyWebhookSignature, webhookRejectionStatus, } from "./webhooks.js";
|
|
18
|
-
export type { MonitorSyncFailedPayload, MonitorSyncSucceededPayload, PeriodEndingPayload, ProcessMovementCreatedPayload, ProcessSourceIndex, PublicationCreatedPayload, PublicationHarvestCompletedPayload, PublicationTextAlertMatch, PublicationTextAlertMatchedPayload, QuotaLowPayload, SubscribableWebhookEventType, SearchJobFailedPayload, SearchJobSucceededPayload, SubscriptionPastDuePayload, SuspensionSignal, UnknownWebhookEvent, VerifyWebhookOptions, WebhookEvent, WebhookEventEnvelope, WebhookEventType, WebhookHeaders, WebhookParseRejection, WebhookParseResult, WebhookRawBody, WebhookRejection, WebhookTestPayload, WebhookVerification, } from "./webhooks.js";
|
|
18
|
+
export type { MonitorSyncFailedPayload, MonitorSyncInstance, MonitorSyncSucceededPayload, PeriodEndingPayload, ProcessInstanceDiscoveredPayload, ProcessInstanceDiscoveredWithheldPayload, ProcessMovementCreatedPayload, ProcessMovementInstanceCount, ProcessSourceIndex, PublicationCreatedPayload, PublicationHarvestCompletedPayload, PublicationTextAlertMatch, PublicationTextAlertMatchedPayload, QuotaLowPayload, SubscribableWebhookEventType, SearchJobFailedPayload, SearchJobSucceededPayload, SubscriptionPastDuePayload, SuspensionSignal, UnknownWebhookEvent, VerifyWebhookOptions, WebhookEvent, WebhookEventEnvelope, WebhookEventType, WebhookHeaders, WebhookParseRejection, WebhookParseResult, WebhookRawBody, WebhookRejection, WebhookTestPayload, WebhookVerification, } from "./webhooks.js";
|
|
19
19
|
export { paginate } from "./paginate.js";
|
|
20
20
|
export type { PaginateOptions } from "./paginate.js";
|
|
21
21
|
export { searchProcesses, waitForSearchJob } from "./search.js";
|
package/dist/webhooks.d.ts
CHANGED
|
@@ -83,6 +83,19 @@ export interface ProcessSourceIndex {
|
|
|
83
83
|
updatedThrough: string | null;
|
|
84
84
|
checkedAt: string;
|
|
85
85
|
}
|
|
86
|
+
/** Quantos movimentos novos de um grau a captura anunciou. */
|
|
87
|
+
export interface ProcessMovementInstanceCount {
|
|
88
|
+
/** A sigla do grau (G1, G2, JE, TR…); nula quando a fonte não a declara. */
|
|
89
|
+
degree: string | null;
|
|
90
|
+
newMovementCount: number;
|
|
91
|
+
/** A chave do movimento novo mais recente deste grau. */
|
|
92
|
+
latestMovementKey: string;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Um aviso por assinante e por captura do processo, descrito pelo movimento
|
|
96
|
+
* novo mais recente: o topo do payload é dele, e a chave dele é
|
|
97
|
+
* `latestMovementKey`.
|
|
98
|
+
*/
|
|
86
99
|
export interface ProcessMovementCreatedPayload {
|
|
87
100
|
canonicalProcessId: string;
|
|
88
101
|
tribunalAlias: string;
|
|
@@ -99,12 +112,82 @@ export interface ProcessMovementCreatedPayload {
|
|
|
99
112
|
*/
|
|
100
113
|
latestMovementCode?: number | null;
|
|
101
114
|
latestMovementLabel?: string | null;
|
|
115
|
+
/**
|
|
116
|
+
* O grau do movimento mais recente e o documento da fonte que o trouxe — o
|
|
117
|
+
* `sourceId` da instância na leitura do processo. Ausentes quando o processo
|
|
118
|
+
* não é compartilhável.
|
|
119
|
+
*/
|
|
120
|
+
degree?: string | null;
|
|
121
|
+
instanceSourceId?: string | null;
|
|
122
|
+
/**
|
|
123
|
+
* Quantos movimentos novos vieram de cada grau nesta captura, o grau do mais
|
|
124
|
+
* recente primeiro. Ausente quando o processo não é compartilhável.
|
|
125
|
+
*/
|
|
126
|
+
instances?: ProcessMovementInstanceCount[];
|
|
102
127
|
/**
|
|
103
128
|
* Presente quando o processo não é compartilhável: o aviso diz que ele andou
|
|
104
|
-
* e não diz o
|
|
129
|
+
* e não diz o quê nem em que grau, porque ali o nome do ato é teor.
|
|
105
130
|
*/
|
|
106
131
|
contentWithheld?: true;
|
|
107
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Outro grau de um processo assinado apareceu na fonte (1º grau, 2º grau,
|
|
135
|
+
* turma recursal…). O histórico dele entrou no acervo sem virar
|
|
136
|
+
* `PROCESS_MOVEMENT_CREATED` movimento a movimento: este aviso é o que diz que
|
|
137
|
+
* ele chegou, e os movimentos estão no retrato do processo, em `instances`.
|
|
138
|
+
*/
|
|
139
|
+
export interface ProcessInstanceDiscoveredPayload {
|
|
140
|
+
canonicalProcessId: string;
|
|
141
|
+
tribunalAlias: string;
|
|
142
|
+
processNumber: string;
|
|
143
|
+
/** O ponteiro que o consumidor informou ao assinar o processo. */
|
|
144
|
+
externalRef: string | null;
|
|
145
|
+
/** A sigla do grau novo; nula quando a fonte não a declara. */
|
|
146
|
+
degree: string | null;
|
|
147
|
+
/** O documento da fonte deste grau — o `sourceId` dele em `instances`. */
|
|
148
|
+
instanceSourceId: string;
|
|
149
|
+
courtBody: string | null;
|
|
150
|
+
/** Quantos movimentos o grau trouxe na captura que o descobriu. */
|
|
151
|
+
movementCount: number;
|
|
152
|
+
/** Quantos deles entraram no acervo sem aviso próprio. */
|
|
153
|
+
historyMovementCount: number;
|
|
154
|
+
/**
|
|
155
|
+
* Quantos deles saíram também em `PROCESS_MOVEMENT_CREATED`: os datados
|
|
156
|
+
* depois da primeira captura do número.
|
|
157
|
+
*/
|
|
158
|
+
announcedMovementCount: number;
|
|
159
|
+
/** O movimento mais recente do grau novo. */
|
|
160
|
+
latestMovementAt: string | null;
|
|
161
|
+
latestMovementCode: number | null;
|
|
162
|
+
latestMovementLabel: string | null;
|
|
163
|
+
contentWithheld?: never;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* O mesmo aviso sobre processo não compartilhável: diz que o número ganhou um
|
|
167
|
+
* grau e não diz qual, nem o órgão, nem quantos movimentos.
|
|
168
|
+
*/
|
|
169
|
+
export interface ProcessInstanceDiscoveredWithheldPayload {
|
|
170
|
+
canonicalProcessId: string;
|
|
171
|
+
tribunalAlias: string;
|
|
172
|
+
processNumber: string;
|
|
173
|
+
externalRef: string | null;
|
|
174
|
+
contentWithheld: true;
|
|
175
|
+
}
|
|
176
|
+
/** Um grau do número como a varredura da vigília de processo o deixou. */
|
|
177
|
+
export interface MonitorSyncInstance {
|
|
178
|
+
degree: string | null;
|
|
179
|
+
/** O documento da fonte deste grau — o `sourceId` dele em `instances`. */
|
|
180
|
+
instanceSourceId: string;
|
|
181
|
+
/** A instância que o topo da leitura do processo serve. */
|
|
182
|
+
primary: boolean;
|
|
183
|
+
courtBody: string | null;
|
|
184
|
+
sourceUpdatedAt: string | null;
|
|
185
|
+
latestMovementAt: string | null;
|
|
186
|
+
/** Nulo quando os movimentos deste grau nunca foram capturados. */
|
|
187
|
+
movementCount: number | null;
|
|
188
|
+
/** Desde quando a resposta completa da fonte vem sem este documento. */
|
|
189
|
+
absentSince: string | null;
|
|
190
|
+
}
|
|
108
191
|
export interface PublicationCreatedPayload {
|
|
109
192
|
monitorId: string;
|
|
110
193
|
officeId: string | null;
|
|
@@ -151,6 +234,21 @@ export interface MonitorSyncSucceededPayload {
|
|
|
151
234
|
snapshotHash?: string;
|
|
152
235
|
sourceUpdatedAt?: string | null;
|
|
153
236
|
latestMovementAt?: string | null;
|
|
237
|
+
/**
|
|
238
|
+
* Vigília de processo: os graus do número e os que esta passada reconheceu
|
|
239
|
+
* como novos. Só quando o controle de confidencialidade deixa o dono do
|
|
240
|
+
* monitor ler o número inteiro.
|
|
241
|
+
*/
|
|
242
|
+
instances?: MonitorSyncInstance[];
|
|
243
|
+
instancesDiscovered?: MonitorSyncInstance[];
|
|
244
|
+
/**
|
|
245
|
+
* Vigília de processo cujo número corre em segredo num grau que o dono do
|
|
246
|
+
* monitor não buscou: a passada sai sem o hash e sem as datas da fonte, e
|
|
247
|
+
* `changed` fica `false`. O dono que buscou o grau em segredo, numa conta
|
|
248
|
+
* que não aceita a proveniência, recebe a passada com `changed`, o hash e as
|
|
249
|
+
* datas, e sem `instances`.
|
|
250
|
+
*/
|
|
251
|
+
contentWithheld?: true;
|
|
154
252
|
/** O alvo que a fonte não indexava passou a existir nesta passada. */
|
|
155
253
|
firstAppearance?: true;
|
|
156
254
|
/** A vigília de aparição segue esperando o alvo entrar no índice. */
|
|
@@ -280,8 +378,8 @@ type Typed<T extends string, P> = WebhookEventEnvelope & {
|
|
|
280
378
|
type: T;
|
|
281
379
|
payload: P;
|
|
282
380
|
};
|
|
283
|
-
/** Os
|
|
284
|
-
export type WebhookEvent = Typed<"PROCESS_MOVEMENT_CREATED", ProcessMovementCreatedPayload> | Typed<"PUBLICATION_CREATED", PublicationCreatedPayload> | Typed<"MONITOR_SYNC_SUCCEEDED", MonitorSyncSucceededPayload> | Typed<"MONITOR_SYNC_FAILED", MonitorSyncFailedPayload> | Typed<"SEARCH_JOB_COMPLETED", SearchJobSucceededPayload | SearchJobFailedPayload> | Typed<"PUBLICATION_TEXT_ALERT_MATCHED", PublicationTextAlertMatchedPayload> | Typed<"PUBLICATION_HARVEST_COMPLETED", PublicationHarvestCompletedPayload> | Typed<"QUOTA_LOW", QuotaLowPayload> | Typed<"PERIOD_ENDING", PeriodEndingPayload> | Typed<"SUBSCRIPTION_PAST_DUE", SubscriptionPastDuePayload> | Typed<"WEBHOOK_TEST", WebhookTestPayload>;
|
|
381
|
+
/** Os tipos do catálogo e a entrega de teste, discriminados por `type`. */
|
|
382
|
+
export type WebhookEvent = Typed<"PROCESS_MOVEMENT_CREATED", ProcessMovementCreatedPayload> | Typed<"PROCESS_INSTANCE_DISCOVERED", ProcessInstanceDiscoveredPayload | ProcessInstanceDiscoveredWithheldPayload> | Typed<"PUBLICATION_CREATED", PublicationCreatedPayload> | Typed<"MONITOR_SYNC_SUCCEEDED", MonitorSyncSucceededPayload> | Typed<"MONITOR_SYNC_FAILED", MonitorSyncFailedPayload> | Typed<"SEARCH_JOB_COMPLETED", SearchJobSucceededPayload | SearchJobFailedPayload> | Typed<"PUBLICATION_TEXT_ALERT_MATCHED", PublicationTextAlertMatchedPayload> | Typed<"PUBLICATION_HARVEST_COMPLETED", PublicationHarvestCompletedPayload> | Typed<"QUOTA_LOW", QuotaLowPayload> | Typed<"PERIOD_ENDING", PeriodEndingPayload> | Typed<"SUBSCRIPTION_PAST_DUE", SubscriptionPastDuePayload> | Typed<"WEBHOOK_TEST", WebhookTestPayload>;
|
|
285
383
|
/**
|
|
286
384
|
* O evento que o catálogo ainda não descreve.
|
|
287
385
|
*
|
|
@@ -304,7 +402,7 @@ export type WebhookEventType = WebhookEvent["type"];
|
|
|
304
402
|
*/
|
|
305
403
|
export declare const WEBHOOK_TEST_EVENT_TYPE: "WEBHOOK_TEST";
|
|
306
404
|
/** Os tipos que se pode ASSINAR ao cadastrar um endpoint. */
|
|
307
|
-
export declare const WEBHOOK_EVENT_TYPES: readonly ["PROCESS_MOVEMENT_CREATED", "PUBLICATION_CREATED", "MONITOR_SYNC_SUCCEEDED", "MONITOR_SYNC_FAILED", "SEARCH_JOB_COMPLETED", "PUBLICATION_TEXT_ALERT_MATCHED", "PUBLICATION_HARVEST_COMPLETED", "QUOTA_LOW", "PERIOD_ENDING", "SUBSCRIPTION_PAST_DUE"];
|
|
405
|
+
export declare const WEBHOOK_EVENT_TYPES: readonly ["PROCESS_MOVEMENT_CREATED", "PROCESS_INSTANCE_DISCOVERED", "PUBLICATION_CREATED", "MONITOR_SYNC_SUCCEEDED", "MONITOR_SYNC_FAILED", "SEARCH_JOB_COMPLETED", "PUBLICATION_TEXT_ALERT_MATCHED", "PUBLICATION_HARVEST_COMPLETED", "QUOTA_LOW", "PERIOD_ENDING", "SUBSCRIPTION_PAST_DUE"];
|
|
308
406
|
/**
|
|
309
407
|
* O que entra em `eventTypes` ao cadastrar um endpoint. É subconjunto próprio
|
|
310
408
|
* de `WebhookEventType`: mandar a entrega de teste nessa lista é recusa.
|
package/dist/webhooks.js
CHANGED
|
@@ -117,6 +117,7 @@ export const WEBHOOK_TEST_EVENT_TYPE = "WEBHOOK_TEST";
|
|
|
117
117
|
/** Os tipos que se pode ASSINAR ao cadastrar um endpoint. */
|
|
118
118
|
export const WEBHOOK_EVENT_TYPES = [
|
|
119
119
|
"PROCESS_MOVEMENT_CREATED",
|
|
120
|
+
"PROCESS_INSTANCE_DISCOVERED",
|
|
120
121
|
"PUBLICATION_CREATED",
|
|
121
122
|
"MONITOR_SYNC_SUCCEEDED",
|
|
122
123
|
"MONITOR_SYNC_FAILED",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lexnode/legal-data-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.27.0",
|
|
4
4
|
"description": "Cliente TypeScript do LexNode, o motor de dados jur\u00eddicos do Brasil: transporte tipado, erros classificados, verifica\u00e7\u00e3o de webhook e os tipos gerados do contrato OpenAPI.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://www.lexnode.com.br/docs",
|
package/schema.d.ts
CHANGED
|
@@ -139,7 +139,7 @@ export interface paths {
|
|
|
139
139
|
put?: never;
|
|
140
140
|
/**
|
|
141
141
|
* Buscar processos
|
|
142
|
-
* @description Executa uma busca estruturada de processos em um tribunal suportado. A consulta por número completo é atendida lake-first (sem chamada ao upstream enquanto o dado está fresco);
|
|
142
|
+
* @description Executa uma busca estruturada de processos em um tribunal suportado. A consulta por número completo é atendida lake-first (sem chamada ao upstream enquanto o dado está fresco), com um item por documento que a fonte ainda traz do número, a principal primeiro; quando eles não cabem em `limit`, a consulta vai à fonte, que pagina. Todo hit vivo é gravado de volta no data lake, cada documento na sua instância. No modo assíncrono o endpoint responde 202 com um descritor de job — consulte o resultado em GET /v1/search-jobs/{jobId}. **Antes de concluir que um processo não existe, leia `sourceIndex.updatedThrough`:** é a data até onde o índice do tribunal está atualizado. Um processo distribuído depois dela ainda não é encontrável, e `total: 0` ali significa *ainda não chegou*, não *não existe*. O campo acompanha toda resposta que consulta a fonte, sem custo adicional.
|
|
143
143
|
*
|
|
144
144
|
* **Escopo exigido na chave de API:** `PROCESSES_SEARCH`
|
|
145
145
|
*/
|
|
@@ -159,7 +159,7 @@ export interface paths {
|
|
|
159
159
|
};
|
|
160
160
|
/**
|
|
161
161
|
* Obter um processo pelo número
|
|
162
|
-
* @description Retorna o registro exato do processo para o tribunal e o número informados, com resolução cache-first quando disponível. `meta.sourceFetchedAt` diz quando os dados
|
|
162
|
+
* @description Retorna o registro exato do processo para o tribunal e o número informados, com resolução cache-first quando disponível. **Um número, várias instâncias.** A fonte guarda um documento por instância do processo (1º grau, 2º grau, turma recursal…), às vezes dois do mesmo grau, e o motor guarda cada um na sua instância. O topo da resposta é sempre a instância principal do número — a mesma de uma leitura para a outra, que só muda quando uma resposta completa da fonte deixa de trazê-la —, com o grau em `degree`, e `data.instances` lista todos os documentos, a principal primeiro, cada um com `origin` (`SOURCE` quando veio da fonte nesta resposta, `LAKE` quando saiu do acervo), `fetchedAt` e `absentSince`. Todos levam a classificação do número inteiro: basta um documento em segredo de justiça para todos saírem marcados. `meta.sourceFetchedAt` diz quando os dados do topo foram buscados na fonte; a ficha retida pelo controle de confidencialidade, sem o teor, não o traz nem lista as instâncias. `waitSeconds` escolhe quanto esperar pela fonte processual. Quando a fonte responde com parte do índice e o processo está na parte que respondeu, ele é servido e `meta.partialIndex` diz quantas partes falharam (`shardsFailed`), de quantas (`shardsTotal`) e se o prazo interno da fonte estourou (`timedOut`): o documento que o acervo já guardava e não veio sai em `data.instances` do acervo, com a data dele, e outra instância que o acervo não conhece, se existir, pode não ter vindo. Resposta parcial sem o processo é 502 `UPSTREAM_UNAVAILABLE` retentável, nunca 404; antes dela, o motor consulta a fonte de novo, até duas vezes, enquanto o prazo de `waitSeconds` couber. `meta.otherInstances` resume os outros documentos do número que vieram na resposta, além da principal: grau, data de atualização na fonte e órgão julgador. **Quando a fonte falha** — não responde dentro de `waitSeconds`, fica indisponível, responde com parte do índice sem poder servir o processo ou pede para esperar por volume — e o acervo guarda uma cópia do processo, a resposta é essa cópia, por 1 crédito: `meta.lakeRescue.cause` diz a causa e `meta.sourceFetchedAt` a data em que a cópia foi buscada. Movimentos posteriores a essa data podem existir e não estão na resposta. Sem `staleOnFailure=true`, só a cópia de até 24 h socorre; com ele, a de qualquer idade. A cópia é montada por instância, cada uma com a data dela em `data.instances[].fetchedAt`, e o número que a resposta completa mais recente da fonte já não trazia em documento nenhum não é socorrido. Na recusa por volume, `meta.lakeRescue.retryAfterSeconds` e o header `Retry-After` dizem quanto esperar antes de consultar de novo. A resposta da fonte que não traz o processo nunca é socorrida e segue 404. A cópia passa pelo mesmo controle de confidencialidade da leitura; além de 24 h, só a recebe quem já tem interesse registrado no processo — de uma leitura anterior dele ou de uma assinatura ativa —, e os demais recebem a falha da fonte. Na ficha socorrida pelo acervo, a data vale para os dados do processo, e o resumo das publicações (`djen`) é relido na hora das publicações que o acervo guarda.
|
|
163
163
|
*
|
|
164
164
|
* **Escopo exigido na chave de API:** `PROCESSES_READ`
|
|
165
165
|
*/
|
|
@@ -203,7 +203,7 @@ export interface paths {
|
|
|
203
203
|
};
|
|
204
204
|
/**
|
|
205
205
|
* Obter um snapshot vivo do processo
|
|
206
|
-
* @description Busca o processo na fonte processual e retorna o registro normalizado do processo, o payload bruto da fonte e as movimentações normalizadas. `meta.sourceFetchedAt` diz quando os dados
|
|
206
|
+
* @description Busca o processo na fonte processual e retorna o registro normalizado do processo, o payload bruto da fonte e as movimentações normalizadas. **Um número, várias instâncias.** A fonte guarda um documento por instância do processo (1º grau, 2º grau, turma recursal…), às vezes dois do mesmo grau, e o motor guarda cada um na sua instância. O topo da resposta é sempre a instância principal do número — a mesma de uma leitura para a outra, que só muda quando uma resposta completa da fonte deixa de trazê-la —, com o grau em `degree`, e `data.instances` lista todos os documentos, a principal primeiro, cada um com `origin` (`SOURCE` quando veio da fonte nesta resposta, `LAKE` quando saiu do acervo), `fetchedAt` e `absentSince`. Todos levam a classificação do número inteiro: basta um documento em segredo de justiça para todos saírem marcados. `meta.sourceFetchedAt` diz quando os dados do topo foram buscados na fonte; a ficha retida pelo controle de confidencialidade, sem o teor, não o traz nem lista as instâncias. `waitSeconds` escolhe quanto esperar pela fonte processual. Quando a fonte responde com parte do índice e o processo está na parte que respondeu, ele é servido e `meta.partialIndex` diz quantas partes falharam (`shardsFailed`), de quantas (`shardsTotal`) e se o prazo interno da fonte estourou (`timedOut`): o documento que o acervo já guardava e não veio sai em `data.instances` do acervo, com a data dele, e outra instância que o acervo não conhece, se existir, pode não ter vindo. Resposta parcial sem o processo é 502 `UPSTREAM_UNAVAILABLE` retentável, nunca 404; antes dela, o motor consulta a fonte de novo, até duas vezes, enquanto o prazo de `waitSeconds` couber. `meta.otherInstances` resume os outros documentos do número que vieram na resposta, além da principal: grau, data de atualização na fonte e órgão julgador. **Quando a fonte falha** — não responde dentro de `waitSeconds`, fica indisponível, responde com parte do índice sem poder servir o processo ou pede para esperar por volume — e o acervo guarda uma cópia do processo, a resposta é essa cópia, por 1 crédito: `meta.lakeRescue.cause` diz a causa e `meta.sourceFetchedAt` a data em que a cópia foi buscada. Movimentos posteriores a essa data podem existir e não estão na resposta. Sem `staleOnFailure=true`, só a cópia de até 24 h socorre; com ele, a de qualquer idade. A cópia é montada por instância, cada uma com a data dela em `data.instances[].fetchedAt`, e o número que a resposta completa mais recente da fonte já não trazia em documento nenhum não é socorrido. Na recusa por volume, `meta.lakeRescue.retryAfterSeconds` e o header `Retry-After` dizem quanto esperar antes de consultar de novo. A resposta da fonte que não traz o processo nunca é socorrida e segue 404. A cópia passa pelo mesmo controle de confidencialidade da leitura; além de 24 h, só a recebe quem já tem interesse registrado no processo — de uma leitura anterior dele ou de uma assinatura ativa —, e os demais recebem a falha da fonte. `process` e `movements` são os da instância principal, e cada entrada de `data.instances` traz os movimentos da última captura dela, do mais recente ao mais antigo; na instância cujos movimentos o motor nunca capturou, `movements` e `movementCount` são nulos, nunca lista vazia. A resposta parcial sem a instância principal serve a principal do acervo, e é 502 `UPSTREAM_UNAVAILABLE` quando o acervo não guarda os movimentos dela. No retrato socorrido pelo acervo, os movimentos e o registro de cada instância são os da última captura guardada dela — o socorro exige a da principal —, e `sourcePayload` é nulo: o documento bruto da fonte não é guardado.
|
|
207
207
|
*
|
|
208
208
|
* **Escopo exigido na chave de API:** `PROCESSES_READ`
|
|
209
209
|
*/
|
|
@@ -225,7 +225,7 @@ export interface paths {
|
|
|
225
225
|
};
|
|
226
226
|
/**
|
|
227
227
|
* Listar as movimentações em cache do processo
|
|
228
|
-
* @description Retorna as movimentações em cache de um número de processo no tribunal informado. Esta rota não busca movimentações no upstream sob demanda.
|
|
228
|
+
* @description Retorna as movimentações em cache de um número de processo no tribunal informado. Esta rota não busca movimentações no upstream sob demanda. Cada item diz em `degrees` o grau (ou os graus) cujo documento o trouxe na última captura — vazio no movimento que nenhuma captura atual traz —, e `degree` recorta a lista por grau.
|
|
229
229
|
*
|
|
230
230
|
* **Escopo exigido na chave de API:** `PROCESSES_READ`
|
|
231
231
|
*/
|
|
@@ -249,7 +249,7 @@ export interface paths {
|
|
|
249
249
|
put?: never;
|
|
250
250
|
/**
|
|
251
251
|
* Snapshot em lote
|
|
252
|
-
* @description Snapshot de até N processos em uma única ida e volta (elimina o N+1 noturno de uma chamada por processo). Sucesso parcial: item que falha é reportado individualmente e nunca derruba o lote; só os itens bem-sucedidos são cobrados. Todo snapshot obtido é gravado de volta no data lake. Quando a fonte processual falha num item e o acervo guarda uma cópia dele de até 24 h, o item sai com essa cópia e com `lakeRescue` (a causa e a data da cópia), e custa 1 crédito em vez de 8; cópia mais velha não socorre o lote.
|
|
252
|
+
* @description Snapshot de até N processos em uma única ida e volta (elimina o N+1 noturno de uma chamada por processo). Sucesso parcial: item que falha é reportado individualmente e nunca derruba o lote; só os itens bem-sucedidos são cobrados. Todo snapshot obtido é gravado de volta no data lake. O `process` e os `movements` do item são os da instância principal do número, e `snapshot.instances` lista os documentos do número só com o cabeçalho. Quando a fonte processual falha num item e o acervo guarda uma cópia dele de até 24 h, o item sai com essa cópia e com `lakeRescue` (a causa e a data da cópia), e custa 1 crédito em vez de 8; cópia mais velha não socorre o lote.
|
|
253
253
|
*
|
|
254
254
|
* **Escopo exigido na chave de API:** `PROCESSES_READ`
|
|
255
255
|
*/
|
|
@@ -397,7 +397,7 @@ export interface paths {
|
|
|
397
397
|
};
|
|
398
398
|
/**
|
|
399
399
|
* Consultar um job de busca
|
|
400
|
-
* @description Retorna o status do job; em SUCCEEDED, `result` carrega o mesmo formato da busca síncrona de processos — inclusive `sourceIndex.updatedThrough`, a data até onde o índice do tribunal está atualizado, que qualifica um `total: 0` como *ainda não chegou* em vez de *não existe*. O campo acompanha o resultado que consultou a fonte; um job servido do acervo não o traz. Jobs são visíveis apenas para a conta/office que os submeteu (404 caso contrário). A submissão acontece via POST /v1/processes/search, que responde 202 + jobId quando o modo assíncrono está ativo.
|
|
400
|
+
* @description Retorna o status do job; em SUCCEEDED, `result` carrega o mesmo formato da busca síncrona de processos — inclusive `sourceIndex.updatedThrough`, a data até onde o índice do tribunal está atualizado, que qualifica um `total: 0` como *ainda não chegou* em vez de *não existe*. O campo acompanha o resultado que consultou a fonte; um job servido do acervo não o traz. O processo que o controle de confidencialidade retém de quem consulta sai de `items`, conta em `redactedCount` e uma vez só em `total`, quantos documentos dele a busca tenha achado. Jobs são visíveis apenas para a conta/office que os submeteu (404 caso contrário). A submissão acontece via POST /v1/processes/search, que responde 202 + jobId quando o modo assíncrono está ativo.
|
|
401
401
|
*
|
|
402
402
|
* **Escopo exigido na chave de API:** `PROCESSES_READ`
|
|
403
403
|
*/
|
|
@@ -449,7 +449,7 @@ export interface paths {
|
|
|
449
449
|
put?: never;
|
|
450
450
|
/**
|
|
451
451
|
* Registrar interesse durável em um processo
|
|
452
|
-
* @description Concede uma assinatura CASE_LINK para que o motor mantenha o processo atualizado e emita `PROCESS_MOVEMENT_CREATED` aos endpoints da conta a cada movimentação nova. Idempotente por (reason, externalRef).
|
|
452
|
+
* @description Concede uma assinatura CASE_LINK para que o motor mantenha o processo atualizado e emita `PROCESS_MOVEMENT_CREATED` aos endpoints da conta a cada movimentação nova, e `PROCESS_INSTANCE_DISCOVERED` quando outro grau do número aparece na fonte. Idempotente por (reason, externalRef).
|
|
453
453
|
*
|
|
454
454
|
* **Escopo exigido na chave de API:** `SUBSCRIPTIONS_WRITE`
|
|
455
455
|
*/
|
|
@@ -2118,6 +2118,69 @@ export interface operations {
|
|
|
2118
2118
|
latestPublicationExcerpt?: string | null;
|
|
2119
2119
|
latestPublicationUrl?: string | null;
|
|
2120
2120
|
} | null;
|
|
2121
|
+
/** @description Todos os documentos que o motor guarda deste número — em geral um por instância (1º grau, 2º grau, turma recursal…), às vezes dois do mesmo grau —, a principal primeiro, depois os que a fonte ainda traz e por fim os que ela deixou de trazer. O topo da resposta é a principal. Cada um leva a classificação do número inteiro: basta um documento em segredo de justiça para todos saírem marcados. Ausente na ficha que o controle de confidencialidade entrega retida, sem o teor. */
|
|
2122
|
+
instances?: {
|
|
2123
|
+
sourceId?: string | null;
|
|
2124
|
+
number: string;
|
|
2125
|
+
formattedNumber: string;
|
|
2126
|
+
tribunal: {
|
|
2127
|
+
alias: string;
|
|
2128
|
+
code: string;
|
|
2129
|
+
};
|
|
2130
|
+
degree?: string | null;
|
|
2131
|
+
sigiloLevel?: number | null;
|
|
2132
|
+
/**
|
|
2133
|
+
* @description Classificação do motor: PUBLIC ou SEGREDO_DE_JUSTICA. Linha em segredo nunca deve ser exibida a público.
|
|
2134
|
+
* @enum {string}
|
|
2135
|
+
*/
|
|
2136
|
+
confidentiality?: "PUBLIC" | "SEGREDO_DE_JUSTICA";
|
|
2137
|
+
/** @description Se a linha pode ser amortizada entre consumidores. Falso acompanha o segredo e também a linha que o motor reteve por outro motivo. */
|
|
2138
|
+
shareable?: boolean;
|
|
2139
|
+
class: {
|
|
2140
|
+
code?: number | null;
|
|
2141
|
+
name?: string | null;
|
|
2142
|
+
} | null;
|
|
2143
|
+
courtBody: {
|
|
2144
|
+
code?: number | null;
|
|
2145
|
+
name?: string | null;
|
|
2146
|
+
municipalityIbgeCode?: number | null;
|
|
2147
|
+
} | null;
|
|
2148
|
+
system?: {
|
|
2149
|
+
code?: number | null;
|
|
2150
|
+
name?: string | null;
|
|
2151
|
+
} | null;
|
|
2152
|
+
format?: {
|
|
2153
|
+
code?: number | null;
|
|
2154
|
+
name?: string | null;
|
|
2155
|
+
} | null;
|
|
2156
|
+
/** Format: date-time */
|
|
2157
|
+
filedAt?: string | null;
|
|
2158
|
+
/** Format: date-time */
|
|
2159
|
+
updatedAt?: string | null;
|
|
2160
|
+
/** Format: date-time */
|
|
2161
|
+
indexedAt?: string | null;
|
|
2162
|
+
subjects: {
|
|
2163
|
+
code?: number | null;
|
|
2164
|
+
name: string;
|
|
2165
|
+
}[];
|
|
2166
|
+
/** @description A instância principal do número, a que o topo da resposta serve. É a mesma de uma leitura para a outra e só muda quando uma resposta completa da fonte pelo número deixa de trazê-la. */
|
|
2167
|
+
primary: boolean;
|
|
2168
|
+
/**
|
|
2169
|
+
* @description `SOURCE`: veio da fonte nesta resposta. `LAKE`: servida do que o acervo guarda — a fonte não a trouxe nesta resposta, ou a resposta inteira saiu do acervo.
|
|
2170
|
+
* @enum {string}
|
|
2171
|
+
*/
|
|
2172
|
+
origin: "SOURCE" | "LAKE";
|
|
2173
|
+
/**
|
|
2174
|
+
* Format: date-time
|
|
2175
|
+
* @description Quando os dados desta instância foram buscados na fonte. No retrato, com os movimentos servidos do acervo, é a data da captura deles.
|
|
2176
|
+
*/
|
|
2177
|
+
fetchedAt: string;
|
|
2178
|
+
/**
|
|
2179
|
+
* Format: date-time
|
|
2180
|
+
* @description Desde quando a resposta completa da fonte pelo número vem sem este documento; nulo enquanto ela o traz.
|
|
2181
|
+
*/
|
|
2182
|
+
absentSince: string | null;
|
|
2183
|
+
}[];
|
|
2121
2184
|
};
|
|
2122
2185
|
meta: {
|
|
2123
2186
|
/** @description Identificador da requisição, para suporte e rastreamento. É o X-Request-Id enviado pelo cliente quando há um; senão, um req_<uuid> cunhado pelo motor. */
|
|
@@ -2139,7 +2202,7 @@ export interface operations {
|
|
|
2139
2202
|
/** @description A espera que a fonte pediu: não consulte a fonte de novo antes dela. */
|
|
2140
2203
|
retryAfterSeconds?: number;
|
|
2141
2204
|
};
|
|
2142
|
-
/** @description Presente só quando a fonte respondeu com parte do índice e o processo estava na parte que respondeu: outra instância
|
|
2205
|
+
/** @description Presente só quando a fonte respondeu com parte do índice e o processo estava na parte que respondeu: o documento que o acervo já guardava e não veio sai em `instances` do acervo (`origin: LAKE`), e outra instância que o acervo não conhece, se existir, pode não ter vindo. */
|
|
2143
2206
|
partialIndex?: {
|
|
2144
2207
|
/** @description Partes do índice da fonte que não responderam. */
|
|
2145
2208
|
shardsFailed: number;
|
|
@@ -2148,7 +2211,7 @@ export interface operations {
|
|
|
2148
2211
|
/** @description A fonte estourou o próprio prazo interno e devolveu só o que deu tempo de olhar. */
|
|
2149
2212
|
timedOut: boolean;
|
|
2150
2213
|
};
|
|
2151
|
-
/** @description Presente só quando a resposta da fonte trouxe
|
|
2214
|
+
/** @description Presente só quando a resposta da fonte trouxe outros documentos do número além da instância principal, que é o topo de `data` (com o grau em `degree`) — em geral de instâncias diferentes, mas dois podem ter o mesmo `grau`. O motor guarda cada documento na sua instância e serve todos em `data.instances`; esta lista é o resumo dos outros que vieram na mesma resposta. Não inclui documento que o motor classificaria como segredo de justiça, e não aparece quando o processo servido é restrito. */
|
|
2152
2215
|
otherInstances?: {
|
|
2153
2216
|
/** @description O grau deste documento na fonte: G1, G2, JE, TR… */
|
|
2154
2217
|
grau: string | null;
|
|
@@ -2780,6 +2843,82 @@ export interface operations {
|
|
|
2780
2843
|
complementos: unknown;
|
|
2781
2844
|
rawPayload: unknown;
|
|
2782
2845
|
}[];
|
|
2846
|
+
/** @description Todos os documentos que o motor guarda deste número — em geral um por instância (1º grau, 2º grau, turma recursal…), às vezes dois do mesmo grau —, a principal primeiro, depois os que a fonte ainda traz e por fim os que ela deixou de trazer. O topo da resposta é a principal. Cada um leva a classificação do número inteiro: basta um documento em segredo de justiça para todos saírem marcados. `process` e `movements` são os da principal, e cada instância traz os movimentos dela. */
|
|
2847
|
+
instances: {
|
|
2848
|
+
sourceId?: string | null;
|
|
2849
|
+
number: string;
|
|
2850
|
+
formattedNumber: string;
|
|
2851
|
+
tribunal: {
|
|
2852
|
+
alias: string;
|
|
2853
|
+
code: string;
|
|
2854
|
+
};
|
|
2855
|
+
degree?: string | null;
|
|
2856
|
+
sigiloLevel?: number | null;
|
|
2857
|
+
/**
|
|
2858
|
+
* @description Classificação do motor: PUBLIC ou SEGREDO_DE_JUSTICA. Linha em segredo nunca deve ser exibida a público.
|
|
2859
|
+
* @enum {string}
|
|
2860
|
+
*/
|
|
2861
|
+
confidentiality?: "PUBLIC" | "SEGREDO_DE_JUSTICA";
|
|
2862
|
+
/** @description Se a linha pode ser amortizada entre consumidores. Falso acompanha o segredo e também a linha que o motor reteve por outro motivo. */
|
|
2863
|
+
shareable?: boolean;
|
|
2864
|
+
class: {
|
|
2865
|
+
code?: number | null;
|
|
2866
|
+
name?: string | null;
|
|
2867
|
+
} | null;
|
|
2868
|
+
courtBody: {
|
|
2869
|
+
code?: number | null;
|
|
2870
|
+
name?: string | null;
|
|
2871
|
+
municipalityIbgeCode?: number | null;
|
|
2872
|
+
} | null;
|
|
2873
|
+
system?: {
|
|
2874
|
+
code?: number | null;
|
|
2875
|
+
name?: string | null;
|
|
2876
|
+
} | null;
|
|
2877
|
+
format?: {
|
|
2878
|
+
code?: number | null;
|
|
2879
|
+
name?: string | null;
|
|
2880
|
+
} | null;
|
|
2881
|
+
/** Format: date-time */
|
|
2882
|
+
filedAt?: string | null;
|
|
2883
|
+
/** Format: date-time */
|
|
2884
|
+
updatedAt?: string | null;
|
|
2885
|
+
/** Format: date-time */
|
|
2886
|
+
indexedAt?: string | null;
|
|
2887
|
+
subjects: {
|
|
2888
|
+
code?: number | null;
|
|
2889
|
+
name: string;
|
|
2890
|
+
}[];
|
|
2891
|
+
/** @description A instância principal do número, a que o topo da resposta serve. É a mesma de uma leitura para a outra e só muda quando uma resposta completa da fonte pelo número deixa de trazê-la. */
|
|
2892
|
+
primary: boolean;
|
|
2893
|
+
/**
|
|
2894
|
+
* @description `SOURCE`: veio da fonte nesta resposta. `LAKE`: servida do que o acervo guarda — a fonte não a trouxe nesta resposta, ou a resposta inteira saiu do acervo.
|
|
2895
|
+
* @enum {string}
|
|
2896
|
+
*/
|
|
2897
|
+
origin: "SOURCE" | "LAKE";
|
|
2898
|
+
/**
|
|
2899
|
+
* Format: date-time
|
|
2900
|
+
* @description Quando os dados desta instância foram buscados na fonte. No retrato, com os movimentos servidos do acervo, é a data da captura deles.
|
|
2901
|
+
*/
|
|
2902
|
+
fetchedAt: string;
|
|
2903
|
+
/**
|
|
2904
|
+
* Format: date-time
|
|
2905
|
+
* @description Desde quando a resposta completa da fonte pelo número vem sem este documento; nulo enquanto ela o traz.
|
|
2906
|
+
*/
|
|
2907
|
+
absentSince: string | null;
|
|
2908
|
+
/** @description Se o motor guarda os movimentos desta instância. Falso quando eles nunca foram capturados — o documento só veio numa ficha ou numa busca — ou quando o acervo já não guarda algum deles, e aí `movements` e `movementCount` são nulos. */
|
|
2909
|
+
movementsCaptured: boolean;
|
|
2910
|
+
/** @description Quantos movimentos a última captura desta instância trouxe; nulo quando eles nunca foram capturados. */
|
|
2911
|
+
movementCount: number | null;
|
|
2912
|
+
/** @description Os movimentos da última captura desta instância, do mais recente ao mais antigo, sem o payload bruto da fonte; nulo quando eles nunca foram capturados. */
|
|
2913
|
+
movements: {
|
|
2914
|
+
externalMovementKey: string;
|
|
2915
|
+
codigo?: number | null;
|
|
2916
|
+
nome: string;
|
|
2917
|
+
/** Format: date-time */
|
|
2918
|
+
dataHora?: string | null;
|
|
2919
|
+
complementos: unknown;
|
|
2920
|
+
}[] | null;
|
|
2921
|
+
}[];
|
|
2783
2922
|
};
|
|
2784
2923
|
meta: {
|
|
2785
2924
|
/** @description Identificador da requisição, para suporte e rastreamento. É o X-Request-Id enviado pelo cliente quando há um; senão, um req_<uuid> cunhado pelo motor. */
|
|
@@ -2801,7 +2940,7 @@ export interface operations {
|
|
|
2801
2940
|
/** @description A espera que a fonte pediu: não consulte a fonte de novo antes dela. */
|
|
2802
2941
|
retryAfterSeconds?: number;
|
|
2803
2942
|
};
|
|
2804
|
-
/** @description Presente só quando a fonte respondeu com parte do índice e o processo estava na parte que respondeu: outra instância
|
|
2943
|
+
/** @description Presente só quando a fonte respondeu com parte do índice e o processo estava na parte que respondeu: o documento que o acervo já guardava e não veio sai em `instances` do acervo (`origin: LAKE`), e outra instância que o acervo não conhece, se existir, pode não ter vindo. */
|
|
2805
2944
|
partialIndex?: {
|
|
2806
2945
|
/** @description Partes do índice da fonte que não responderam. */
|
|
2807
2946
|
shardsFailed: number;
|
|
@@ -2810,7 +2949,7 @@ export interface operations {
|
|
|
2810
2949
|
/** @description A fonte estourou o próprio prazo interno e devolveu só o que deu tempo de olhar. */
|
|
2811
2950
|
timedOut: boolean;
|
|
2812
2951
|
};
|
|
2813
|
-
/** @description Presente só quando a resposta da fonte trouxe
|
|
2952
|
+
/** @description Presente só quando a resposta da fonte trouxe outros documentos do número além da instância principal, que é o topo de `data` (com o grau em `degree`) — em geral de instâncias diferentes, mas dois podem ter o mesmo `grau`. O motor guarda cada documento na sua instância e serve todos em `data.instances`; esta lista é o resumo dos outros que vieram na mesma resposta. Não inclui documento que o motor classificaria como segredo de justiça, e não aparece quando o processo servido é restrito. */
|
|
2814
2953
|
otherInstances?: {
|
|
2815
2954
|
/** @description O grau deste documento na fonte: G1, G2, JE, TR… */
|
|
2816
2955
|
grau: string | null;
|
|
@@ -3045,6 +3184,8 @@ export interface operations {
|
|
|
3045
3184
|
query: {
|
|
3046
3185
|
tribunalAlias: string;
|
|
3047
3186
|
since?: unknown;
|
|
3187
|
+
/** @description Só os movimentos que o documento deste grau (G1, G2, JE, TR…) trouxe na última captura, sem distinguir maiúsculas. O grau sem movimento guardado responde lista vazia. */
|
|
3188
|
+
degree?: string;
|
|
3048
3189
|
};
|
|
3049
3190
|
header?: {
|
|
3050
3191
|
/** @description Identificador da requisição escolhido pelo cliente, ecoado em meta.requestId e no corpo de erro. Tem DOIS papéis: (1) rastreio, em toda rota — é por ele que o suporte encontra a chamada; (2) idempotência por conta em POST /v1/publications/text-searches e POST /v1/search-jobs, onde reenviar o mesmo valor reapresenta o resultado já produzido, sem nova cobrança. Fora dessas duas rotas o valor não deduplica nada: para repetir uma chamada de propósito, mande um valor novo. Aceita [A-Za-z0-9_.:-], até 200 caracteres; valor fora disso é ignorado e o motor cunha o próprio. */
|
|
@@ -3074,6 +3215,8 @@ export interface operations {
|
|
|
3074
3215
|
formattedProcessNumber: string;
|
|
3075
3216
|
/** Format: date-time */
|
|
3076
3217
|
movementDate?: string | null;
|
|
3218
|
+
/** @description Os graus (G1, G2, JE, TR…) cujo documento trouxe este movimento na última captura. Em geral um; dois quando o mesmo ato está nos dois documentos do número. Vazio quando nenhuma captura atual o traz. */
|
|
3219
|
+
degrees: string[];
|
|
3077
3220
|
code: number | null;
|
|
3078
3221
|
label?: string | null;
|
|
3079
3222
|
payload: unknown;
|
|
@@ -3395,6 +3538,69 @@ export interface operations {
|
|
|
3395
3538
|
} | null;
|
|
3396
3539
|
};
|
|
3397
3540
|
movements: unknown[];
|
|
3541
|
+
/** @description Os documentos que o motor guarda do número, a principal primeiro, só com o cabeçalho de cada um: os movimentos de cada instância vêm no retrato de um processo. */
|
|
3542
|
+
instances: {
|
|
3543
|
+
sourceId?: string | null;
|
|
3544
|
+
number: string;
|
|
3545
|
+
formattedNumber: string;
|
|
3546
|
+
tribunal: {
|
|
3547
|
+
alias: string;
|
|
3548
|
+
code: string;
|
|
3549
|
+
};
|
|
3550
|
+
degree?: string | null;
|
|
3551
|
+
sigiloLevel?: number | null;
|
|
3552
|
+
/**
|
|
3553
|
+
* @description Classificação do motor: PUBLIC ou SEGREDO_DE_JUSTICA. Linha em segredo nunca deve ser exibida a público.
|
|
3554
|
+
* @enum {string}
|
|
3555
|
+
*/
|
|
3556
|
+
confidentiality?: "PUBLIC" | "SEGREDO_DE_JUSTICA";
|
|
3557
|
+
/** @description Se a linha pode ser amortizada entre consumidores. Falso acompanha o segredo e também a linha que o motor reteve por outro motivo. */
|
|
3558
|
+
shareable?: boolean;
|
|
3559
|
+
class: {
|
|
3560
|
+
code?: number | null;
|
|
3561
|
+
name?: string | null;
|
|
3562
|
+
} | null;
|
|
3563
|
+
courtBody: {
|
|
3564
|
+
code?: number | null;
|
|
3565
|
+
name?: string | null;
|
|
3566
|
+
municipalityIbgeCode?: number | null;
|
|
3567
|
+
} | null;
|
|
3568
|
+
system?: {
|
|
3569
|
+
code?: number | null;
|
|
3570
|
+
name?: string | null;
|
|
3571
|
+
} | null;
|
|
3572
|
+
format?: {
|
|
3573
|
+
code?: number | null;
|
|
3574
|
+
name?: string | null;
|
|
3575
|
+
} | null;
|
|
3576
|
+
/** Format: date-time */
|
|
3577
|
+
filedAt?: string | null;
|
|
3578
|
+
/** Format: date-time */
|
|
3579
|
+
updatedAt?: string | null;
|
|
3580
|
+
/** Format: date-time */
|
|
3581
|
+
indexedAt?: string | null;
|
|
3582
|
+
subjects: {
|
|
3583
|
+
code?: number | null;
|
|
3584
|
+
name: string;
|
|
3585
|
+
}[];
|
|
3586
|
+
/** @description A instância principal do número, a que o topo da resposta serve. É a mesma de uma leitura para a outra e só muda quando uma resposta completa da fonte pelo número deixa de trazê-la. */
|
|
3587
|
+
primary: boolean;
|
|
3588
|
+
/**
|
|
3589
|
+
* @description `SOURCE`: veio da fonte nesta resposta. `LAKE`: servida do que o acervo guarda — a fonte não a trouxe nesta resposta, ou a resposta inteira saiu do acervo.
|
|
3590
|
+
* @enum {string}
|
|
3591
|
+
*/
|
|
3592
|
+
origin: "SOURCE" | "LAKE";
|
|
3593
|
+
/**
|
|
3594
|
+
* Format: date-time
|
|
3595
|
+
* @description Quando os dados desta instância foram buscados na fonte. No retrato, com os movimentos servidos do acervo, é a data da captura deles.
|
|
3596
|
+
*/
|
|
3597
|
+
fetchedAt: string;
|
|
3598
|
+
/**
|
|
3599
|
+
* Format: date-time
|
|
3600
|
+
* @description Desde quando a resposta completa da fonte pelo número vem sem este documento; nulo enquanto ela o traz.
|
|
3601
|
+
*/
|
|
3602
|
+
absentSince: string | null;
|
|
3603
|
+
}[];
|
|
3398
3604
|
};
|
|
3399
3605
|
/** @description Presente só no item que a fonte processual não entregou e que o acervo socorreu com a cópia guardada de até 24 h: a causa, a espera que a fonte pediu, quando pediu, e quando a cópia foi buscada. O item socorrido custa 1 crédito. */
|
|
3400
3606
|
lakeRescue?: {
|
|
@@ -11887,7 +12093,7 @@ export interface operations {
|
|
|
11887
12093
|
windowDays: number;
|
|
11888
12094
|
items: ({
|
|
11889
12095
|
/** @enum {string} */
|
|
11890
|
-
type: "PROCESS_MOVEMENT_CREATED" | "PUBLICATION_CREATED" | "MONITOR_SYNC_SUCCEEDED" | "MONITOR_SYNC_FAILED" | "SEARCH_JOB_COMPLETED" | "PUBLICATION_TEXT_ALERT_MATCHED" | "PUBLICATION_HARVEST_COMPLETED" | "QUOTA_LOW" | "PERIOD_ENDING" | "SUBSCRIPTION_PAST_DUE";
|
|
12096
|
+
type: "PROCESS_MOVEMENT_CREATED" | "PROCESS_INSTANCE_DISCOVERED" | "PUBLICATION_CREATED" | "MONITOR_SYNC_SUCCEEDED" | "MONITOR_SYNC_FAILED" | "SEARCH_JOB_COMPLETED" | "PUBLICATION_TEXT_ALERT_MATCHED" | "PUBLICATION_HARVEST_COMPLETED" | "QUOTA_LOW" | "PERIOD_ENDING" | "SUBSCRIPTION_PAST_DUE";
|
|
11891
12097
|
/** @enum {string} */
|
|
11892
12098
|
class: "DATA" | "OPERATIONAL";
|
|
11893
12099
|
count: number;
|
|
@@ -11898,7 +12104,7 @@ export interface operations {
|
|
|
11898
12104
|
})[];
|
|
11899
12105
|
dismissed: ({
|
|
11900
12106
|
/** @enum {string} */
|
|
11901
|
-
type: "PROCESS_MOVEMENT_CREATED" | "PUBLICATION_CREATED" | "MONITOR_SYNC_SUCCEEDED" | "MONITOR_SYNC_FAILED" | "SEARCH_JOB_COMPLETED" | "PUBLICATION_TEXT_ALERT_MATCHED" | "PUBLICATION_HARVEST_COMPLETED" | "QUOTA_LOW" | "PERIOD_ENDING" | "SUBSCRIPTION_PAST_DUE";
|
|
12107
|
+
type: "PROCESS_MOVEMENT_CREATED" | "PROCESS_INSTANCE_DISCOVERED" | "PUBLICATION_CREATED" | "MONITOR_SYNC_SUCCEEDED" | "MONITOR_SYNC_FAILED" | "SEARCH_JOB_COMPLETED" | "PUBLICATION_TEXT_ALERT_MATCHED" | "PUBLICATION_HARVEST_COMPLETED" | "QUOTA_LOW" | "PERIOD_ENDING" | "SUBSCRIPTION_PAST_DUE";
|
|
11902
12108
|
/** Format: date-time */
|
|
11903
12109
|
dismissedAt: string;
|
|
11904
12110
|
} & {
|
|
@@ -12103,7 +12309,7 @@ export interface operations {
|
|
|
12103
12309
|
query?: {
|
|
12104
12310
|
cursor?: string;
|
|
12105
12311
|
limit?: number;
|
|
12106
|
-
type?: "PROCESS_MOVEMENT_CREATED" | "PUBLICATION_CREATED" | "MONITOR_SYNC_SUCCEEDED" | "MONITOR_SYNC_FAILED" | "SEARCH_JOB_COMPLETED" | "PUBLICATION_TEXT_ALERT_MATCHED" | "PUBLICATION_HARVEST_COMPLETED" | "QUOTA_LOW" | "PERIOD_ENDING" | "SUBSCRIPTION_PAST_DUE";
|
|
12312
|
+
type?: "PROCESS_MOVEMENT_CREATED" | "PROCESS_INSTANCE_DISCOVERED" | "PUBLICATION_CREATED" | "MONITOR_SYNC_SUCCEEDED" | "MONITOR_SYNC_FAILED" | "SEARCH_JOB_COMPLETED" | "PUBLICATION_TEXT_ALERT_MATCHED" | "PUBLICATION_HARVEST_COMPLETED" | "QUOTA_LOW" | "PERIOD_ENDING" | "SUBSCRIPTION_PAST_DUE";
|
|
12107
12313
|
monitorId?: string;
|
|
12108
12314
|
since?: unknown;
|
|
12109
12315
|
until?: unknown;
|
|
@@ -12856,7 +13062,7 @@ export interface operations {
|
|
|
12856
13062
|
/** Format: uri */
|
|
12857
13063
|
url: string;
|
|
12858
13064
|
description?: string;
|
|
12859
|
-
eventTypes: ("PROCESS_MOVEMENT_CREATED" | "PUBLICATION_CREATED" | "MONITOR_SYNC_SUCCEEDED" | "MONITOR_SYNC_FAILED" | "SEARCH_JOB_COMPLETED" | "PUBLICATION_TEXT_ALERT_MATCHED" | "PUBLICATION_HARVEST_COMPLETED" | "QUOTA_LOW" | "PERIOD_ENDING" | "SUBSCRIPTION_PAST_DUE")[];
|
|
13065
|
+
eventTypes: ("PROCESS_MOVEMENT_CREATED" | "PROCESS_INSTANCE_DISCOVERED" | "PUBLICATION_CREATED" | "MONITOR_SYNC_SUCCEEDED" | "MONITOR_SYNC_FAILED" | "SEARCH_JOB_COMPLETED" | "PUBLICATION_TEXT_ALERT_MATCHED" | "PUBLICATION_HARVEST_COMPLETED" | "QUOTA_LOW" | "PERIOD_ENDING" | "SUBSCRIPTION_PAST_DUE")[];
|
|
12860
13066
|
/** @default true */
|
|
12861
13067
|
isActive?: boolean;
|
|
12862
13068
|
};
|
|
@@ -13331,7 +13537,7 @@ export interface operations {
|
|
|
13331
13537
|
/** Format: uri */
|
|
13332
13538
|
url?: string;
|
|
13333
13539
|
description?: string;
|
|
13334
|
-
eventTypes?: ("PROCESS_MOVEMENT_CREATED" | "PUBLICATION_CREATED" | "MONITOR_SYNC_SUCCEEDED" | "MONITOR_SYNC_FAILED" | "SEARCH_JOB_COMPLETED" | "PUBLICATION_TEXT_ALERT_MATCHED" | "PUBLICATION_HARVEST_COMPLETED" | "QUOTA_LOW" | "PERIOD_ENDING" | "SUBSCRIPTION_PAST_DUE")[];
|
|
13540
|
+
eventTypes?: ("PROCESS_MOVEMENT_CREATED" | "PROCESS_INSTANCE_DISCOVERED" | "PUBLICATION_CREATED" | "MONITOR_SYNC_SUCCEEDED" | "MONITOR_SYNC_FAILED" | "SEARCH_JOB_COMPLETED" | "PUBLICATION_TEXT_ALERT_MATCHED" | "PUBLICATION_HARVEST_COMPLETED" | "QUOTA_LOW" | "PERIOD_ENDING" | "SUBSCRIPTION_PAST_DUE")[];
|
|
13335
13541
|
isActive?: boolean;
|
|
13336
13542
|
};
|
|
13337
13543
|
};
|
|
@@ -14024,7 +14230,7 @@ export interface operations {
|
|
|
14024
14230
|
from: unknown;
|
|
14025
14231
|
to?: unknown;
|
|
14026
14232
|
/** @enum {string} */
|
|
14027
|
-
type?: "PROCESS_MOVEMENT_CREATED" | "PUBLICATION_CREATED" | "MONITOR_SYNC_SUCCEEDED" | "MONITOR_SYNC_FAILED" | "SEARCH_JOB_COMPLETED" | "PUBLICATION_TEXT_ALERT_MATCHED" | "PUBLICATION_HARVEST_COMPLETED" | "QUOTA_LOW" | "PERIOD_ENDING" | "SUBSCRIPTION_PAST_DUE";
|
|
14233
|
+
type?: "PROCESS_MOVEMENT_CREATED" | "PROCESS_INSTANCE_DISCOVERED" | "PUBLICATION_CREATED" | "MONITOR_SYNC_SUCCEEDED" | "MONITOR_SYNC_FAILED" | "SEARCH_JOB_COMPLETED" | "PUBLICATION_TEXT_ALERT_MATCHED" | "PUBLICATION_HARVEST_COMPLETED" | "QUOTA_LOW" | "PERIOD_ENDING" | "SUBSCRIPTION_PAST_DUE";
|
|
14028
14234
|
/** @default false */
|
|
14029
14235
|
includeDelivered?: boolean;
|
|
14030
14236
|
};
|