/** * Extension-Throw Tagging * * Tracks which thrown errors originated from extension-provided host * functions (the dispatch boundary in `invokeFnCallable`). The reshape * wrapper in `execute.ts` uses this tag to distinguish extension-boundary * throws (which reshape into `#R999` / `#DISPOSED` * invalid values) from internal engine halts (which propagate). * * Implementation: a module-level {@link WeakSet} of error instances. * Errors added here at the `invokeFnCallable` catch site are then * checked by `reshapeUnhandledThrow` at the top of the stepper. * * Why WeakSet: * - Does not retain errors after collection (no memory leak). * - Primitive throws (string/number) cannot be added; they are * handled separately as non-Error reshape targets. * * @internal */ /** Mark an error as originating from an extension dispatch boundary. */ export declare function markExtensionThrow(error: unknown): void; /** Whether an error was marked as originating from an extension dispatch. */ export declare function isExtensionThrow(error: unknown): boolean;