UNPKG

workflow

Version:

Workflow SDK - Build durable, resilient, and observable workflows

61 lines (49 loc) • 1.79 kB
--- title: HookConflictError description: Thrown when creating a hook with a token that is already in use by another workflow run. type: reference summary: Catch HookConflictError when a hook token is already claimed by another active workflow run. related: - /docs/api-reference/workflow/create-hook - /docs/foundations/hooks - /docs/errors/hook-conflict --- `HookConflictError` is thrown when creating a hook with a token that is already in use by another active workflow run. Hook tokens must be unique across all running workflows — see the [hook-conflict](/docs/errors/hook-conflict) error guide for resolution strategies. ```typescript lineNumbers import { HookConflictError } from "workflow/errors" declare function startApprovalWorkflow(token: string): Promise<void>; // @setup declare const token: string; // @setup try { await startApprovalWorkflow(token); } catch (error) { if (HookConflictError.is(error)) { // [!code highlight] console.error( `Token "${error.token}" already in use by run ${error.conflictingRunId}` ); } } ``` ## API Signature ### Properties <TSDoc definition={` interface HookConflictError { /** The hook token that conflicted. */ token: string; /** The run ID of the workflow currently holding the token, when known. */ conflictingRunId?: string; /** The error message. */ message: string; } export default HookConflictError;`} /> ### Static Methods #### `HookConflictError.is(value)` Type-safe check for `HookConflictError` instances. Preferred over `instanceof` because it works across module boundaries and VM contexts. ```typescript import { HookConflictError } from "workflow/errors" declare const error: unknown; // @setup if (HookConflictError.is(error)) { // error is typed as HookConflictError } ```