import type { NdjsonParallelMetadata, NdjsonWorkflowStackEntry } from './types.js'; /** Maximum size of a canonical identity written to a session record. */ export declare const MAX_NDJSON_PARALLEL_ID_LENGTH = 128; export interface NdjsonParallelMetadataInput { readonly stack: readonly NdjsonWorkflowStackEntry[] | undefined; readonly stepName?: string; readonly stepKind?: NdjsonWorkflowStackEntry['kind']; /** True only when the event's step is the parallel parent itself. */ readonly isParallelParent?: boolean; } /** * Derive the canonical parallel role from the runtime resume stack. * * Direct agent participants intentionally have no frame of their own in the * legacy stack (`[parallel]`). Their event step is therefore part of the * identity, while direct workflow calls use the explicit call frame. A * deeper child stack keeps the direct call identity, but is not itself a * participant. */ export declare function buildNdjsonParallelMetadata(input: NdjsonParallelMetadataInput): NdjsonParallelMetadata | undefined; /** Parse optional metadata from an untrusted NDJSON/cache value. */ export declare function parseNdjsonParallelMetadata(value: unknown, path?: string): NdjsonParallelMetadata | undefined; //# sourceMappingURL=parallelMetadata.d.ts.map