/** * DAP (Debug Adapter Protocol) adapter for B2C Commerce Script Debugger. * * Extends `@vscode/debugadapter`'s LoggingDebugSession and maps DAP requests * to SDAPI operations. Works over stdio (CLI) or inline (VSCode extension). * * @module operations/debug/dap-adapter */ import { LoggingDebugSession } from '@vscode/debugadapter'; import type { DebugProtocol } from '@vscode/debugprotocol'; import type { DebugSessionCallbacks, DebugSessionConfig } from './types.js'; /** * Launch request arguments (received via launch.json or CLI config). */ interface LaunchRequestArguments extends DebugProtocol.LaunchRequestArguments { hostname?: string; username?: string; password?: string; clientId?: string; cartridgePath?: string; pollInterval?: number; keepaliveInterval?: number; } /** * B2C Script Debug Adapter. * * Can be used in two modes: * 1. **Pre-configured**: Pass a `DebugSessionConfig` to the constructor (for inline VSCode use) * 2. **Launch-configured**: Config comes from DAP launch request arguments (for CLI stdio use) */ export declare class B2CScriptDebugAdapter extends LoggingDebugSession { private session?; private sourceMapper?; private variableStore; private preConfig?; private externalCallbacks; /** Breakpoints keyed by server script_path (merged across all files) */ private breakpointsBySource; /** Logpoint messages keyed by "script_path:line_number" */ private logpoints; constructor(config?: DebugSessionConfig, callbacks?: DebugSessionCallbacks); /** * Override shutdown to prevent the base class from calling process.exit(). * Process lifecycle is managed by the CLI command, not the adapter. */ shutdown(): void; protected initializeRequest(response: DebugProtocol.InitializeResponse, _args: DebugProtocol.InitializeRequestArguments): void; protected launchRequest(response: DebugProtocol.LaunchResponse, args: LaunchRequestArguments): Promise; protected configurationDoneRequest(response: DebugProtocol.ConfigurationDoneResponse, _args: DebugProtocol.ConfigurationDoneArguments): void; protected disconnectRequest(response: DebugProtocol.DisconnectResponse, _args: DebugProtocol.DisconnectArguments): Promise; protected terminateRequest(response: DebugProtocol.TerminateResponse, _args: DebugProtocol.TerminateArguments): Promise; /** * Custom DAP requests not part of the base protocol. * * - `b2c/sessionCookie`: returns `{name, value}` for the debugger's session * cookie (`dwsid`), or `{name, value: null}` if not connected. Used by the * VS Code extension to let users copy the cookie and route a triggering * request to the same app server (server affinity). */ protected customRequest(command: string, response: DebugProtocol.Response, args: unknown): void; protected setBreakPointsRequest(response: DebugProtocol.SetBreakpointsResponse, args: DebugProtocol.SetBreakpointsArguments): Promise; protected threadsRequest(response: DebugProtocol.ThreadsResponse): void; protected stackTraceRequest(response: DebugProtocol.StackTraceResponse, args: DebugProtocol.StackTraceArguments): Promise; protected scopesRequest(response: DebugProtocol.ScopesResponse, args: DebugProtocol.ScopesArguments): void; protected variablesRequest(response: DebugProtocol.VariablesResponse, args: DebugProtocol.VariablesArguments): Promise; protected evaluateRequest(response: DebugProtocol.EvaluateResponse, args: DebugProtocol.EvaluateArguments): Promise; protected continueRequest(response: DebugProtocol.ContinueResponse, args: DebugProtocol.ContinueArguments): Promise; protected nextRequest(response: DebugProtocol.NextResponse, args: DebugProtocol.NextArguments): Promise; protected stepInRequest(response: DebugProtocol.StepInResponse, args: DebugProtocol.StepInArguments): Promise; protected stepOutRequest(response: DebugProtocol.StepOutResponse, args: DebugProtocol.StepOutArguments): Promise; private handleThreadStopped; private handleLogpoint; private handleThreadContinued; private handleThreadExited; private resolveConfig; private memberToVariable; private friendlyErrorMessage; private _nextBreakpointId; private allocateBreakpointId; } export {};