evo360-types 1.3.630 → 1.3.634

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.
@@ -116,7 +116,11 @@ export declare const zTeleconsultationSchema: z.ZodObject<{
116
116
  unused_expires_at: z.ZodEffects<z.ZodDate, Date, unknown>;
117
117
  reconnect_until: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodDate, Date, unknown>>>;
118
118
  started_at: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodDate, Date, unknown>>>;
119
+ /** Instante em que o encerramento começou (fase 1 marcou `ending`). */
120
+ ending_at: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodDate, Date, unknown>>>;
119
121
  ended_at: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodDate, Date, unknown>>>;
122
+ /** `true` quando o `ended_at` foi DERIVADO por reparo, não medido. */
123
+ ended_at_derived: z.ZodOptional<z.ZodBoolean>;
120
124
  ended_by: z.ZodOptional<z.ZodNullable<z.ZodObject<{
121
125
  type: z.ZodEnum<["user", "system"]>;
122
126
  id: z.ZodOptional<z.ZodString>;
@@ -188,7 +192,11 @@ export declare const zTeleconsultationSchema: z.ZodObject<{
188
192
  unused_expires_at: z.ZodEffects<z.ZodDate, Date, unknown>;
189
193
  reconnect_until: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodDate, Date, unknown>>>;
190
194
  started_at: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodDate, Date, unknown>>>;
195
+ /** Instante em que o encerramento começou (fase 1 marcou `ending`). */
196
+ ending_at: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodDate, Date, unknown>>>;
191
197
  ended_at: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodDate, Date, unknown>>>;
198
+ /** `true` quando o `ended_at` foi DERIVADO por reparo, não medido. */
199
+ ended_at_derived: z.ZodOptional<z.ZodBoolean>;
192
200
  ended_by: z.ZodOptional<z.ZodNullable<z.ZodObject<{
193
201
  type: z.ZodEnum<["user", "system"]>;
194
202
  id: z.ZodOptional<z.ZodString>;
@@ -260,7 +268,11 @@ export declare const zTeleconsultationSchema: z.ZodObject<{
260
268
  unused_expires_at: z.ZodEffects<z.ZodDate, Date, unknown>;
261
269
  reconnect_until: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodDate, Date, unknown>>>;
262
270
  started_at: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodDate, Date, unknown>>>;
271
+ /** Instante em que o encerramento começou (fase 1 marcou `ending`). */
272
+ ending_at: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodDate, Date, unknown>>>;
263
273
  ended_at: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodDate, Date, unknown>>>;
274
+ /** `true` quando o `ended_at` foi DERIVADO por reparo, não medido. */
275
+ ended_at_derived: z.ZodOptional<z.ZodBoolean>;
264
276
  ended_by: z.ZodOptional<z.ZodNullable<z.ZodObject<{
265
277
  type: z.ZodEnum<["user", "system"]>;
266
278
  id: z.ZodOptional<z.ZodString>;
@@ -287,7 +287,11 @@ exports.zTeleconsultationSchema = zod_schemas_1.zFireDocSchema
287
287
  unused_expires_at: zDate,
288
288
  reconnect_until: zDateNullable,
289
289
  started_at: zDateNullable,
290
+ /** Instante em que o encerramento começou (fase 1 marcou `ending`). */
291
+ ending_at: zDateNullable,
290
292
  ended_at: zDateNullable,
293
+ /** `true` quando o `ended_at` foi DERIVADO por reparo, não medido. */
294
+ ended_at_derived: zod_1.z.boolean().optional(),
291
295
  ended_by: exports.zTeleconsultationEndedBySchema.nullable().optional(),
292
296
  provider: exports.zTeleconsultationProviderSchema,
293
297
  provider_meeting_id: zod_1.z.string().optional(),
@@ -330,7 +330,11 @@ export const zTeleconsultationSchema = zFireDocSchema
330
330
  unused_expires_at: zDate,
331
331
  reconnect_until: zDateNullable,
332
332
  started_at: zDateNullable,
333
+ /** Instante em que o encerramento começou (fase 1 marcou `ending`). */
334
+ ending_at: zDateNullable,
333
335
  ended_at: zDateNullable,
336
+ /** `true` quando o `ended_at` foi DERIVADO por reparo, não medido. */
337
+ ended_at_derived: z.boolean().optional(),
334
338
  ended_by: zTeleconsultationEndedBySchema.nullable().optional(),
335
339
  provider: zTeleconsultationProviderSchema,
336
340
  provider_meeting_id: z.string().optional(),
@@ -418,7 +418,31 @@ export interface ITeleconsultation extends IFireDoc {
418
418
  unused_expires_at: Date;
419
419
  reconnect_until?: Date | null;
420
420
  started_at?: Date | null;
421
+ /**
422
+ * feat-160 (2026-09-29) — instante em que o encerramento COMEÇOU (fase 1 do
423
+ * `endForAll` marcou `ending`). Na prática é o clique do médico, ou o instante
424
+ * em que o sweep decidiu encerrar.
425
+ *
426
+ * Existe por causa de um furo de FATURAMENTO: as fases 2 e 3 do `endForAll` são
427
+ * separadas por até três chamadas HTTP ao provedor, feitas fora de transação. Se
428
+ * o processo morrer ali, o doc fica em `ending` para sempre — sem `ended_at`, sem
429
+ * `usage_metering_due_at` (logo **nunca cobrado**), sem carimbo de retenção e
430
+ * sem `provider_teardown_pending` (logo invisível para a varredura de meeting
431
+ * órfão). `ending` não está em nenhuma das listas de status do sweep.
432
+ *
433
+ * Com este campo a passada de reparo sabe (a) há quanto tempo o doc está parado
434
+ * e (b) que instante usar como `ended_at` — o fim real é desconhecido, e este é
435
+ * o limite inferior defensável.
436
+ */
437
+ ending_at?: Date | null;
421
438
  ended_at?: Date | null;
439
+ /**
440
+ * feat-160 (2026-09-29) — `true` quando o `ended_at` foi DERIVADO por reparo, e
441
+ * não medido. Quem lê a duração da consulta precisa saber disso: o fim real
442
+ * ficou entre o `ending_at` e o instante do reparo, e o que está gravado é o
443
+ * começo dessa janela.
444
+ */
445
+ ended_at_derived?: boolean;
422
446
  ended_by?: ITeleconsultationEndedBy | null;
423
447
  provider: TeleconsultationProvider;
424
448
  /** Id opaco do meeting no provider — nunca vai em external link nem no SPA. */
@@ -1197,6 +1221,25 @@ export interface ITeleconsultationBadgeDto {
1197
1221
  recording_audio: boolean;
1198
1222
  recording_video: boolean;
1199
1223
  transcript: boolean;
1224
+ /**
1225
+ * Início REAL, ISO 8601 UTC, ou `null`. Desde 2026-09-29 "início" é o
1226
+ * **ENCONTRO** — médico E paciente conectados —, não o clique do médico:
1227
+ * abrir a sala e entrar sozinho pode ser curiosidade, e carimbar ali armava
1228
+ * um prazo de 90 min que encerrava a consulta e revogava o link do paciente.
1229
+ *
1230
+ * `null` é RESPOSTA, não dado faltando: significa que o encontro não houve.
1231
+ */
1232
+ started_at: string | null;
1233
+ /**
1234
+ * Fim REAL, ISO 8601 UTC, ou `null`.
1235
+ *
1236
+ * A assimetria normal é `ended_at` preenchido com `started_at` nulo — o
1237
+ * paciente não apareceu e o médico encerrou, ou a consulta expirou. Nesses
1238
+ * casos a duração é INEXISTENTE, não zero, e a tela não deve escrever
1239
+ * "0 min". O inverso não acontece: consulta que teve encontro não chega a
1240
+ * `expired` nem a `cancelled`.
1241
+ */
1242
+ ended_at: string | null;
1200
1243
  }
1201
1244
  /** `GET /v1/appointments/teleconsultation-badges?ids=a,b,c` (máx. 50 ids). */
1202
1245
  export interface ITeleconsultationBadgesResponseDto {
@@ -503,7 +503,31 @@ export interface ITeleconsultation extends IFireDoc {
503
503
  unused_expires_at: Date;
504
504
  reconnect_until?: Date | null;
505
505
  started_at?: Date | null;
506
+ /**
507
+ * feat-160 (2026-09-29) — instante em que o encerramento COMEÇOU (fase 1 do
508
+ * `endForAll` marcou `ending`). Na prática é o clique do médico, ou o instante
509
+ * em que o sweep decidiu encerrar.
510
+ *
511
+ * Existe por causa de um furo de FATURAMENTO: as fases 2 e 3 do `endForAll` são
512
+ * separadas por até três chamadas HTTP ao provedor, feitas fora de transação. Se
513
+ * o processo morrer ali, o doc fica em `ending` para sempre — sem `ended_at`, sem
514
+ * `usage_metering_due_at` (logo **nunca cobrado**), sem carimbo de retenção e
515
+ * sem `provider_teardown_pending` (logo invisível para a varredura de meeting
516
+ * órfão). `ending` não está em nenhuma das listas de status do sweep.
517
+ *
518
+ * Com este campo a passada de reparo sabe (a) há quanto tempo o doc está parado
519
+ * e (b) que instante usar como `ended_at` — o fim real é desconhecido, e este é
520
+ * o limite inferior defensável.
521
+ */
522
+ ending_at?: Date | null;
506
523
  ended_at?: Date | null;
524
+ /**
525
+ * feat-160 (2026-09-29) — `true` quando o `ended_at` foi DERIVADO por reparo, e
526
+ * não medido. Quem lê a duração da consulta precisa saber disso: o fim real
527
+ * ficou entre o `ending_at` e o instante do reparo, e o que está gravado é o
528
+ * começo dessa janela.
529
+ */
530
+ ended_at_derived?: boolean;
507
531
  ended_by?: ITeleconsultationEndedBy | null;
508
532
  provider: TeleconsultationProvider;
509
533
  /** Id opaco do meeting no provider — nunca vai em external link nem no SPA. */
@@ -1352,6 +1376,25 @@ export interface ITeleconsultationBadgeDto {
1352
1376
  recording_audio: boolean;
1353
1377
  recording_video: boolean;
1354
1378
  transcript: boolean;
1379
+ /**
1380
+ * Início REAL, ISO 8601 UTC, ou `null`. Desde 2026-09-29 "início" é o
1381
+ * **ENCONTRO** — médico E paciente conectados —, não o clique do médico:
1382
+ * abrir a sala e entrar sozinho pode ser curiosidade, e carimbar ali armava
1383
+ * um prazo de 90 min que encerrava a consulta e revogava o link do paciente.
1384
+ *
1385
+ * `null` é RESPOSTA, não dado faltando: significa que o encontro não houve.
1386
+ */
1387
+ started_at: string | null;
1388
+ /**
1389
+ * Fim REAL, ISO 8601 UTC, ou `null`.
1390
+ *
1391
+ * A assimetria normal é `ended_at` preenchido com `started_at` nulo — o
1392
+ * paciente não apareceu e o médico encerrou, ou a consulta expirou. Nesses
1393
+ * casos a duração é INEXISTENTE, não zero, e a tela não deve escrever
1394
+ * "0 min". O inverso não acontece: consulta que teve encontro não chega a
1395
+ * `expired` nem a `cancelled`.
1396
+ */
1397
+ ended_at: string | null;
1355
1398
  }
1356
1399
 
1357
1400
  /** `GET /v1/appointments/teleconsultation-badges?ids=a,b,c` (máx. 50 ids). */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evo360-types",
3
- "version": "1.3.630",
3
+ "version": "1.3.634",
4
4
  "description": "HREVO360 Shared Types",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",