hobots 4.2.0 → 4.5.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/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { RunAttachmentContentType, EventType, EnvironmentInput, MachineSnapshot, EventPayload, TransactionPayload, HeartbeatPayload, StepStatus, RunLogLevel, StepData, FileRef, RunItemStatus, RunProgress } from './protocol.cjs';
2
- export { Breadcrumb, BreadcrumbLevel, Envelope, EnvelopeItem, Environment, EventUser, ExceptionData, FileDownloadResponse, FileStorage, InstanceInfo, InstanceMode, ItemColumn, ItemsDeclaration, MachineProcess, PollRequest, PollResponse, RunAttachmentConfirmRequest, RunAttachmentConfirmResponse, RunAttachmentCreateRequest, RunAttachmentCreateResponse, RunCreateRequest, RunCreateResponse, RunDescriptor, RunError, RunItemInput, RunItemsCreateRequest, RunItemsCreateResponse, RunLogEntry, RunStatus, RunUpdateRequest, RunUpdateResponse, RunUpdateStatus, StackFrame } from './protocol.cjs';
2
+ export { Breadcrumb, BreadcrumbLevel, Envelope, EnvelopeItem, Environment, EventUser, ExceptionData, FileDownloadResponse, FileStorage, InstanceInfo, InstanceMode, ItemColumn, ItemsDeclaration, MachineProcess, PollRequest, PollResponse, RunAttachmentConfirmRequest, RunAttachmentConfirmResponse, RunAttachmentCreateRequest, RunAttachmentCreateResponse, RunCreateRequest, RunCreateResponse, RunDescriptor, RunError, RunItemInput, RunItemsCreateRequest, RunItemsCreateResponse, RunLogEntry, RunStartRequest, RunStartResponse, RunStatus, RunUpdateRequest, RunUpdateResponse, RunUpdateStatus, StackFrame } from './protocol.cjs';
3
3
 
4
4
  /** Espera entre tentativas: ms fixo ou função do número da tentativa que acabou de falhar (1-based). */
5
5
  type RetryDelay = number | ((attempt: number) => number);
@@ -24,7 +24,7 @@ declare const IMAGE_BRAND: unique symbol;
24
24
  /**
25
25
  * Uma imagem pronta para ser pendurada num evento da run — o retorno de `hobots.image()`.
26
26
  * É só um envelope (bytes/caminho + legenda); nenhum I/O acontece até o evento ser
27
- * registrado por `hobots.log.*`, `hobots.items.*` ou `step.setStatus/setError`.
27
+ * registrado por `hobots.log.*`, `hobots.items.*` ou `step.setStatus/failed`.
28
28
  */
29
29
  declare class ImageAttachment {
30
30
  readonly input: AttachInput;
@@ -49,11 +49,11 @@ type ItemColumnInput = string | {
49
49
  };
50
50
 
51
51
  /**
52
- * Opções do processo (telemetria, identidade, handlers globais). Valem as da PRIMEIRA
53
- * chamada a register()/start(); chamadas seguintes com valores diferentes avisam e são ignoradas.
52
+ * Opções do processo (telemetria, identidade, handlers globais). Só há uma chamada a
53
+ * register()/start() por processo — a segunda lança (`o agente já foi iniciado`).
54
54
  */
55
55
  interface HobotsOptions {
56
- /** Client Secret do agente (hb_…). Default: env HOBOTS_CLIENT_SECRET. Copie em Configurações → Agentes. */
56
+ /** Client Secret do agente (hb_…). Default: env HOBOTS_CLIENT_SECRET. Copie na Central: agente → Configurações → agente → aba credenciais. */
57
57
  clientSecret?: string;
58
58
  /**
59
59
  * Identificador único e estável desta instância — a identidade do agente no painel
@@ -78,7 +78,10 @@ interface HobotsOptions {
78
78
  * instância no app) e como `contexts.machine` em cada evento. Só em Node. Default: true
79
79
  */
80
80
  machineMetrics?: boolean;
81
- /** Registra handlers globais de erro (uncaughtException etc.) que abrem issues. Default: true */
81
+ /**
82
+ * Erro não tratado vira issue: o que escapa do handler de uma execução (além de falhar a
83
+ * run; cancelamento fica de fora) e o que escapa fora dele (uncaughtException etc.). Default: true
84
+ */
82
85
  captureUnhandled?: boolean;
83
86
  /**
84
87
  * Avançado. Instala handlers de SIGINT/SIGTERM/uncaughtException que reportam as runs
@@ -134,6 +137,14 @@ interface RegisterOptions extends RunOptions {
134
137
  concurrency?: number;
135
138
  /** Intervalo entre polls sem trabalho (mínimo 1_000). Default: 2_000 */
136
139
  pollIntervalMs?: number;
140
+ /**
141
+ * Avançado. Executa só esta run (já reivindicada para a instância, ex.: pelo Studio) em
142
+ * vez de fazer poll: anexa-se a ela (`POST /v1/runs/:id/start`), roda o handler uma vez e
143
+ * encerra o SDK (`close()`), liberando o processo. 404/409 (run inexistente, cancelada, já
144
+ * iniciada ou de outra instância) encerram sem rodar o handler. Default: env HOBOTS_RUN_ID;
145
+ * sem ela, poll normal.
146
+ */
147
+ runId?: string;
137
148
  }
138
149
  /** Opções de `start()` — agente sempre ligado, que abre a própria run. */
139
150
  type StartOptions = RunOptions;
@@ -209,6 +220,11 @@ interface ClientOptions {
209
220
  /** Tags aplicadas a todos os eventos e transactions */
210
221
  tags?: Record<string, string>;
211
222
  debug?: boolean;
223
+ /**
224
+ * O erro final que escapou do handler de uma run também vira issue (além de falhar a run).
225
+ * Ligado pelo runtime junto com `captureUnhandled`; desligado no client cru (testes).
226
+ */
227
+ captureRunErrors?: boolean;
212
228
  /** Knobs internos do transport (testes) — não fazem parte da API pública */
213
229
  flushIntervalMs?: number;
214
230
  maxBatchSize?: number;
@@ -272,23 +288,29 @@ declare class Step {
272
288
  */
273
289
  setStatus(status: StepStatus, message?: string, options?: StepOutcomeOptions): this;
274
290
  /**
275
- * Marca a step como `error` guardando o motivo em `data.error` ({ type, message }).
276
- * Aceita qualquer valor lançado; `message` sobrescreve a mensagem do erro.
291
+ * Marca a step como `error` guardando o motivo em `data.error` ({ type, message }) e a
292
+ * fecha. Aceita qualquer valor lançado; `message` sobrescreve a mensagem do erro.
277
293
  * `options.image` pendura um print do estado da tela em `data.attachments`.
294
+ * Numa step já fechada não faz nada.
278
295
  */
279
- setError(error: unknown, message?: string, options?: StepOutcomeOptions): this;
296
+ failed(error: unknown, message?: string, options?: StepOutcomeOptions): this;
280
297
  /**
281
298
  * Dispara o upload pela run (sink do RunReporter) e referencia o anexo em
282
299
  * `data.attachments` (chave reservada; teto igual ao das linhas de log). Fora de uma
283
300
  * run não há onde pendurar a imagem — descarta com aviso único.
284
301
  */
285
302
  private attachImage;
286
- /** Motivo registrado via setStatus(…, message) ou setError — usado no log de FINISH. */
303
+ /** Motivo registrado via setStatus(…, message) ou failed — usado no log de FINISH. */
287
304
  private reason;
288
305
  setData(key: string, value: unknown): this;
289
306
  /** Step aninhada (filha desta step). */
290
- startChild(op?: string, description?: string): Step;
291
- finish(): void;
307
+ start(op?: string, description?: string): Step;
308
+ /**
309
+ * Fecha a step. O status fica o que estiver (`ok` por padrão, ou o de `setStatus`).
310
+ * Idempotente; a transaction fecha no fim da run o que ficou aberto.
311
+ */
312
+ succeeded(): this;
313
+ private close;
292
314
  toJSON(): StepData;
293
315
  }
294
316
  /**
@@ -331,12 +353,26 @@ declare class Transaction {
331
353
  attachImage(image: ImageInput): string | undefined;
332
354
  /**
333
355
  * Conecta a checagem de cancelamento chamada antes de cada step nova — é assim que
334
- * `hobots.transaction.startChild()` (e `step.startChild()`) param uma run cancelada.
356
+ * `hobots.transaction.start()` (e `step.start()`) param uma run cancelada.
335
357
  */
336
358
  setStepGuard(guard: () => void): void;
337
359
  createStep(parentStepId: string, op?: string, description?: string): Step;
338
- /** Step direta da transaction. */
339
- startChild(op?: string, description?: string): Step;
360
+ /** Step direta da transaction. `op` é o nome usado por `succeeded(name)`/`failed(error, name)`. */
361
+ start(op?: string, description?: string): Step;
362
+ /**
363
+ * Fecha a step aberta mais recente — com `name`, a mais recente aberta com esse `op`.
364
+ * Sem step aberta (ou sem nenhuma com esse nome), não faz nada e devolve undefined.
365
+ */
366
+ succeeded(name?: string): Step | undefined;
367
+ /**
368
+ * Marca como `error` e fecha a step aberta mais recente — com `name`, a mais recente
369
+ * aberta com esse `op`. `options.message` sobrescreve a mensagem do erro e
370
+ * `options.image` pendura um print. Sem step aberta, não faz nada e devolve undefined.
371
+ */
372
+ failed(error: unknown, name?: string, options?: StepOutcomeOptions & {
373
+ message?: string;
374
+ }): Step | undefined;
375
+ private findOpenStep;
340
376
  setTag(key: string, value: string): this;
341
377
  setStatus(status: string): this;
342
378
  setName(name: string): this;
@@ -421,7 +457,7 @@ interface RunItemOptions extends RunItemImageOptions {
421
457
  /**
422
458
  * O item em processamento dentro de `items.each`: o desfecho (`succeeded`/`failed`/
423
459
  * `occurrence`) com o `id` e o payload base já resolvidos, e a step da etapa para quem
424
- * quiser medir sub-etapas (`item.step.startChild(...)`). Sem chamada explícita, o SDK
460
+ * quiser medir sub-etapas (`item.step.start(...)`). Sem chamada explícita, o SDK
425
461
  * decide: retornou → `succeeded`; lançou → `failed` com a mensagem do erro.
426
462
  */
427
463
  interface RunItemHandle {
@@ -487,7 +523,7 @@ interface RunItems {
487
523
  /**
488
524
  * Processa uma lista item a item com o contrato da plataforma garantido pelo SDK: cada
489
525
  * elemento vira uma step e um item; uma exceção no handler registra o item como `failed`
490
- * (com a mensagem do erro), marca a step com `setError` e **segue para o próximo** — a
526
+ * (com a mensagem do erro), marca a step com `failed` e **segue para o próximo** — a
491
527
  * lista inteira é processada, e o progresso avança a cada elemento. Só cancelamento,
492
528
  * timeout e shutdown interrompem o loop (o erro sobe como em qualquer ponto de parada).
493
529
  * Resolve com os totalizadores por desfecho.
@@ -535,8 +571,9 @@ interface RunContext {
535
571
  readonly files: RunFiles;
536
572
  /**
537
573
  * Transaction de performance desta execução — já correlacionada à run e finalizada
538
- * automaticamente ao fim do handler. Use `transaction.startChild(op, description)` para
539
- * medir as etapas (steps); elas aparecem como waterfall na aba de performance da execução.
574
+ * automaticamente ao fim do handler. Use `transaction.start(op, description)` para
575
+ * abrir as etapas (steps) e `succeeded(op?)`/`failed(error, op?)` para fechá-las; elas
576
+ * aparecem como waterfall na aba de performance da execução.
540
577
  */
541
578
  readonly transaction: Transaction;
542
579
  /**
@@ -551,7 +588,7 @@ interface RunContext {
551
588
  readonly signal: AbortSignal;
552
589
  /**
553
590
  * Lança um erro `RunCanceled` se a run foi cancelada/abortada. O SDK já chama isto em
554
- * items/progress/transaction.startChild/sleep/retry; use para um controle mais fino.
591
+ * items/progress/transaction.start/sleep/retry; use para um controle mais fino.
555
592
  */
556
593
  throwIfCanceled(): void;
557
594
  /** Sleep cancelável: rejeita com `RunCanceled` se o signal disparar antes de ms. */
@@ -582,7 +619,7 @@ interface Hobots extends RunContext {
582
619
  /**
583
620
  * Embrulha um print para ir junto de um log, item ou step — `hobots.log.error('x', hobots.image(png))`,
584
621
  * `hobots.items.failed('x', payload, { image: hobots.image(png, { caption }) })`,
585
- * `step.setError(err, undefined, { image: png })`. Puro: nenhum I/O até o evento ser registrado.
622
+ * `step.failed(err, undefined, { image: png })`. Puro: nenhum I/O até o evento ser registrado.
586
623
  */
587
624
  image(input: AttachInput, options?: ImageOptions): ImageAttachment;
588
625
  /** O valor tem a forma de um arquivo de campo de upload (`FileRef`) — puro, sem I/O. */
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { RunAttachmentContentType, EventType, EnvironmentInput, MachineSnapshot, EventPayload, TransactionPayload, HeartbeatPayload, StepStatus, RunLogLevel, StepData, FileRef, RunItemStatus, RunProgress } from './protocol.js';
2
- export { Breadcrumb, BreadcrumbLevel, Envelope, EnvelopeItem, Environment, EventUser, ExceptionData, FileDownloadResponse, FileStorage, InstanceInfo, InstanceMode, ItemColumn, ItemsDeclaration, MachineProcess, PollRequest, PollResponse, RunAttachmentConfirmRequest, RunAttachmentConfirmResponse, RunAttachmentCreateRequest, RunAttachmentCreateResponse, RunCreateRequest, RunCreateResponse, RunDescriptor, RunError, RunItemInput, RunItemsCreateRequest, RunItemsCreateResponse, RunLogEntry, RunStatus, RunUpdateRequest, RunUpdateResponse, RunUpdateStatus, StackFrame } from './protocol.js';
2
+ export { Breadcrumb, BreadcrumbLevel, Envelope, EnvelopeItem, Environment, EventUser, ExceptionData, FileDownloadResponse, FileStorage, InstanceInfo, InstanceMode, ItemColumn, ItemsDeclaration, MachineProcess, PollRequest, PollResponse, RunAttachmentConfirmRequest, RunAttachmentConfirmResponse, RunAttachmentCreateRequest, RunAttachmentCreateResponse, RunCreateRequest, RunCreateResponse, RunDescriptor, RunError, RunItemInput, RunItemsCreateRequest, RunItemsCreateResponse, RunLogEntry, RunStartRequest, RunStartResponse, RunStatus, RunUpdateRequest, RunUpdateResponse, RunUpdateStatus, StackFrame } from './protocol.js';
3
3
 
4
4
  /** Espera entre tentativas: ms fixo ou função do número da tentativa que acabou de falhar (1-based). */
5
5
  type RetryDelay = number | ((attempt: number) => number);
@@ -24,7 +24,7 @@ declare const IMAGE_BRAND: unique symbol;
24
24
  /**
25
25
  * Uma imagem pronta para ser pendurada num evento da run — o retorno de `hobots.image()`.
26
26
  * É só um envelope (bytes/caminho + legenda); nenhum I/O acontece até o evento ser
27
- * registrado por `hobots.log.*`, `hobots.items.*` ou `step.setStatus/setError`.
27
+ * registrado por `hobots.log.*`, `hobots.items.*` ou `step.setStatus/failed`.
28
28
  */
29
29
  declare class ImageAttachment {
30
30
  readonly input: AttachInput;
@@ -49,11 +49,11 @@ type ItemColumnInput = string | {
49
49
  };
50
50
 
51
51
  /**
52
- * Opções do processo (telemetria, identidade, handlers globais). Valem as da PRIMEIRA
53
- * chamada a register()/start(); chamadas seguintes com valores diferentes avisam e são ignoradas.
52
+ * Opções do processo (telemetria, identidade, handlers globais). Só há uma chamada a
53
+ * register()/start() por processo — a segunda lança (`o agente já foi iniciado`).
54
54
  */
55
55
  interface HobotsOptions {
56
- /** Client Secret do agente (hb_…). Default: env HOBOTS_CLIENT_SECRET. Copie em Configurações → Agentes. */
56
+ /** Client Secret do agente (hb_…). Default: env HOBOTS_CLIENT_SECRET. Copie na Central: agente → Configurações → agente → aba credenciais. */
57
57
  clientSecret?: string;
58
58
  /**
59
59
  * Identificador único e estável desta instância — a identidade do agente no painel
@@ -78,7 +78,10 @@ interface HobotsOptions {
78
78
  * instância no app) e como `contexts.machine` em cada evento. Só em Node. Default: true
79
79
  */
80
80
  machineMetrics?: boolean;
81
- /** Registra handlers globais de erro (uncaughtException etc.) que abrem issues. Default: true */
81
+ /**
82
+ * Erro não tratado vira issue: o que escapa do handler de uma execução (além de falhar a
83
+ * run; cancelamento fica de fora) e o que escapa fora dele (uncaughtException etc.). Default: true
84
+ */
82
85
  captureUnhandled?: boolean;
83
86
  /**
84
87
  * Avançado. Instala handlers de SIGINT/SIGTERM/uncaughtException que reportam as runs
@@ -134,6 +137,14 @@ interface RegisterOptions extends RunOptions {
134
137
  concurrency?: number;
135
138
  /** Intervalo entre polls sem trabalho (mínimo 1_000). Default: 2_000 */
136
139
  pollIntervalMs?: number;
140
+ /**
141
+ * Avançado. Executa só esta run (já reivindicada para a instância, ex.: pelo Studio) em
142
+ * vez de fazer poll: anexa-se a ela (`POST /v1/runs/:id/start`), roda o handler uma vez e
143
+ * encerra o SDK (`close()`), liberando o processo. 404/409 (run inexistente, cancelada, já
144
+ * iniciada ou de outra instância) encerram sem rodar o handler. Default: env HOBOTS_RUN_ID;
145
+ * sem ela, poll normal.
146
+ */
147
+ runId?: string;
137
148
  }
138
149
  /** Opções de `start()` — agente sempre ligado, que abre a própria run. */
139
150
  type StartOptions = RunOptions;
@@ -209,6 +220,11 @@ interface ClientOptions {
209
220
  /** Tags aplicadas a todos os eventos e transactions */
210
221
  tags?: Record<string, string>;
211
222
  debug?: boolean;
223
+ /**
224
+ * O erro final que escapou do handler de uma run também vira issue (além de falhar a run).
225
+ * Ligado pelo runtime junto com `captureUnhandled`; desligado no client cru (testes).
226
+ */
227
+ captureRunErrors?: boolean;
212
228
  /** Knobs internos do transport (testes) — não fazem parte da API pública */
213
229
  flushIntervalMs?: number;
214
230
  maxBatchSize?: number;
@@ -272,23 +288,29 @@ declare class Step {
272
288
  */
273
289
  setStatus(status: StepStatus, message?: string, options?: StepOutcomeOptions): this;
274
290
  /**
275
- * Marca a step como `error` guardando o motivo em `data.error` ({ type, message }).
276
- * Aceita qualquer valor lançado; `message` sobrescreve a mensagem do erro.
291
+ * Marca a step como `error` guardando o motivo em `data.error` ({ type, message }) e a
292
+ * fecha. Aceita qualquer valor lançado; `message` sobrescreve a mensagem do erro.
277
293
  * `options.image` pendura um print do estado da tela em `data.attachments`.
294
+ * Numa step já fechada não faz nada.
278
295
  */
279
- setError(error: unknown, message?: string, options?: StepOutcomeOptions): this;
296
+ failed(error: unknown, message?: string, options?: StepOutcomeOptions): this;
280
297
  /**
281
298
  * Dispara o upload pela run (sink do RunReporter) e referencia o anexo em
282
299
  * `data.attachments` (chave reservada; teto igual ao das linhas de log). Fora de uma
283
300
  * run não há onde pendurar a imagem — descarta com aviso único.
284
301
  */
285
302
  private attachImage;
286
- /** Motivo registrado via setStatus(…, message) ou setError — usado no log de FINISH. */
303
+ /** Motivo registrado via setStatus(…, message) ou failed — usado no log de FINISH. */
287
304
  private reason;
288
305
  setData(key: string, value: unknown): this;
289
306
  /** Step aninhada (filha desta step). */
290
- startChild(op?: string, description?: string): Step;
291
- finish(): void;
307
+ start(op?: string, description?: string): Step;
308
+ /**
309
+ * Fecha a step. O status fica o que estiver (`ok` por padrão, ou o de `setStatus`).
310
+ * Idempotente; a transaction fecha no fim da run o que ficou aberto.
311
+ */
312
+ succeeded(): this;
313
+ private close;
292
314
  toJSON(): StepData;
293
315
  }
294
316
  /**
@@ -331,12 +353,26 @@ declare class Transaction {
331
353
  attachImage(image: ImageInput): string | undefined;
332
354
  /**
333
355
  * Conecta a checagem de cancelamento chamada antes de cada step nova — é assim que
334
- * `hobots.transaction.startChild()` (e `step.startChild()`) param uma run cancelada.
356
+ * `hobots.transaction.start()` (e `step.start()`) param uma run cancelada.
335
357
  */
336
358
  setStepGuard(guard: () => void): void;
337
359
  createStep(parentStepId: string, op?: string, description?: string): Step;
338
- /** Step direta da transaction. */
339
- startChild(op?: string, description?: string): Step;
360
+ /** Step direta da transaction. `op` é o nome usado por `succeeded(name)`/`failed(error, name)`. */
361
+ start(op?: string, description?: string): Step;
362
+ /**
363
+ * Fecha a step aberta mais recente — com `name`, a mais recente aberta com esse `op`.
364
+ * Sem step aberta (ou sem nenhuma com esse nome), não faz nada e devolve undefined.
365
+ */
366
+ succeeded(name?: string): Step | undefined;
367
+ /**
368
+ * Marca como `error` e fecha a step aberta mais recente — com `name`, a mais recente
369
+ * aberta com esse `op`. `options.message` sobrescreve a mensagem do erro e
370
+ * `options.image` pendura um print. Sem step aberta, não faz nada e devolve undefined.
371
+ */
372
+ failed(error: unknown, name?: string, options?: StepOutcomeOptions & {
373
+ message?: string;
374
+ }): Step | undefined;
375
+ private findOpenStep;
340
376
  setTag(key: string, value: string): this;
341
377
  setStatus(status: string): this;
342
378
  setName(name: string): this;
@@ -421,7 +457,7 @@ interface RunItemOptions extends RunItemImageOptions {
421
457
  /**
422
458
  * O item em processamento dentro de `items.each`: o desfecho (`succeeded`/`failed`/
423
459
  * `occurrence`) com o `id` e o payload base já resolvidos, e a step da etapa para quem
424
- * quiser medir sub-etapas (`item.step.startChild(...)`). Sem chamada explícita, o SDK
460
+ * quiser medir sub-etapas (`item.step.start(...)`). Sem chamada explícita, o SDK
425
461
  * decide: retornou → `succeeded`; lançou → `failed` com a mensagem do erro.
426
462
  */
427
463
  interface RunItemHandle {
@@ -487,7 +523,7 @@ interface RunItems {
487
523
  /**
488
524
  * Processa uma lista item a item com o contrato da plataforma garantido pelo SDK: cada
489
525
  * elemento vira uma step e um item; uma exceção no handler registra o item como `failed`
490
- * (com a mensagem do erro), marca a step com `setError` e **segue para o próximo** — a
526
+ * (com a mensagem do erro), marca a step com `failed` e **segue para o próximo** — a
491
527
  * lista inteira é processada, e o progresso avança a cada elemento. Só cancelamento,
492
528
  * timeout e shutdown interrompem o loop (o erro sobe como em qualquer ponto de parada).
493
529
  * Resolve com os totalizadores por desfecho.
@@ -535,8 +571,9 @@ interface RunContext {
535
571
  readonly files: RunFiles;
536
572
  /**
537
573
  * Transaction de performance desta execução — já correlacionada à run e finalizada
538
- * automaticamente ao fim do handler. Use `transaction.startChild(op, description)` para
539
- * medir as etapas (steps); elas aparecem como waterfall na aba de performance da execução.
574
+ * automaticamente ao fim do handler. Use `transaction.start(op, description)` para
575
+ * abrir as etapas (steps) e `succeeded(op?)`/`failed(error, op?)` para fechá-las; elas
576
+ * aparecem como waterfall na aba de performance da execução.
540
577
  */
541
578
  readonly transaction: Transaction;
542
579
  /**
@@ -551,7 +588,7 @@ interface RunContext {
551
588
  readonly signal: AbortSignal;
552
589
  /**
553
590
  * Lança um erro `RunCanceled` se a run foi cancelada/abortada. O SDK já chama isto em
554
- * items/progress/transaction.startChild/sleep/retry; use para um controle mais fino.
591
+ * items/progress/transaction.start/sleep/retry; use para um controle mais fino.
555
592
  */
556
593
  throwIfCanceled(): void;
557
594
  /** Sleep cancelável: rejeita com `RunCanceled` se o signal disparar antes de ms. */
@@ -582,7 +619,7 @@ interface Hobots extends RunContext {
582
619
  /**
583
620
  * Embrulha um print para ir junto de um log, item ou step — `hobots.log.error('x', hobots.image(png))`,
584
621
  * `hobots.items.failed('x', payload, { image: hobots.image(png, { caption }) })`,
585
- * `step.setError(err, undefined, { image: png })`. Puro: nenhum I/O até o evento ser registrado.
622
+ * `step.failed(err, undefined, { image: png })`. Puro: nenhum I/O até o evento ser registrado.
586
623
  */
587
624
  image(input: AttachInput, options?: ImageOptions): ImageAttachment;
588
625
  /** O valor tem a forma de um arquivo de campo de upload (`FileRef`) — puro, sem I/O. */