@adhdev/daemon-core 0.7.38 → 0.7.39

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.
Files changed (93) hide show
  1. package/dist/agent-stream/forward.d.ts +8 -0
  2. package/dist/agent-stream/index.d.ts +6 -0
  3. package/dist/agent-stream/manager.d.ts +59 -0
  4. package/dist/agent-stream/poller.d.ts +41 -0
  5. package/dist/agent-stream/provider-adapter.d.ts +29 -0
  6. package/dist/agent-stream/types.d.ts +62 -0
  7. package/dist/boot/daemon-lifecycle.d.ts +97 -0
  8. package/dist/cdp/devtools.d.ts +51 -0
  9. package/dist/cdp/initializer.d.ts +50 -0
  10. package/dist/cdp/manager.d.ts +145 -0
  11. package/dist/cdp/scanner.d.ts +58 -0
  12. package/dist/cdp/setup.d.ts +58 -0
  13. package/dist/cli-adapter-types.d.ts +25 -0
  14. package/dist/cli-adapters/provider-cli-adapter.d.ts +229 -0
  15. package/dist/cli-adapters/pty-transport.d.ts +43 -0
  16. package/dist/cli-adapters/session-host-transport.d.ts +19 -0
  17. package/dist/cli-adapters/terminal-backends/ghostty-vt-backend.d.ts +12 -0
  18. package/dist/cli-adapters/terminal-backends/types.d.ts +14 -0
  19. package/dist/cli-adapters/terminal-backends/xterm-backend.d.ts +13 -0
  20. package/dist/cli-adapters/terminal-screen.d.ts +27 -0
  21. package/dist/commands/cdp-commands.d.ts +15 -0
  22. package/dist/commands/chat-commands.d.ts +15 -0
  23. package/dist/commands/cli-manager.d.ts +82 -0
  24. package/dist/commands/handler.d.ts +101 -0
  25. package/dist/commands/router.d.ts +69 -0
  26. package/dist/commands/stream-commands.d.ts +13 -0
  27. package/dist/commands/workspace-commands.d.ts +11 -0
  28. package/dist/config/chat-history.d.ts +60 -0
  29. package/dist/config/config.d.ts +101 -0
  30. package/dist/config/recent-activity.d.ts +27 -0
  31. package/dist/config/workspaces.d.ts +82 -0
  32. package/dist/daemon/dev-auto-implement.d.ts +26 -0
  33. package/dist/daemon/dev-cdp-handlers.d.ts +22 -0
  34. package/dist/daemon/dev-cli-debug.d.ts +24 -0
  35. package/dist/daemon/dev-server-types.d.ts +43 -0
  36. package/dist/daemon/dev-server.d.ts +133 -0
  37. package/dist/daemon/scaffold-template.d.ts +32 -0
  38. package/dist/daemon-core.d.ts +36 -0
  39. package/dist/detection/cli-detector.d.ts +27 -0
  40. package/dist/detection/ide-detector.d.ts +34 -0
  41. package/dist/index.d.ts +72 -2499
  42. package/dist/index.js +458 -637
  43. package/dist/index.js.map +1 -1
  44. package/dist/index.mjs +465 -642
  45. package/dist/index.mjs.map +1 -1
  46. package/dist/installer.d.ts +50 -0
  47. package/dist/ipc-protocol.d.ts +111 -0
  48. package/dist/launch.d.ts +46 -0
  49. package/dist/logging/command-log.d.ts +31 -0
  50. package/dist/logging/logger.d.ts +87 -0
  51. package/dist/providers/acp-provider-instance.d.ts +101 -0
  52. package/dist/providers/cli-provider-instance.d.ts +43 -0
  53. package/dist/providers/contracts.d.ts +483 -0
  54. package/dist/providers/extension-provider-instance.d.ts +44 -0
  55. package/dist/providers/ide-provider-instance.d.ts +61 -0
  56. package/dist/providers/index.d.ts +5 -0
  57. package/dist/providers/provider-instance-manager.d.ts +84 -0
  58. package/dist/providers/provider-instance.d.ts +148 -0
  59. package/dist/providers/provider-loader.d.ts +270 -0
  60. package/dist/providers/status-monitor.d.ts +48 -0
  61. package/dist/providers/version-archive.d.ts +52 -0
  62. package/dist/session-host/runtime-support.d.ts +8 -0
  63. package/dist/sessions/registry.d.ts +24 -0
  64. package/dist/shared-types-extra.d.ts +29 -0
  65. package/dist/shared-types.d.ts +213 -0
  66. package/dist/status/builders.d.ts +33 -0
  67. package/dist/status/normalize.d.ts +14 -1
  68. package/dist/status/reporter.d.ts +69 -0
  69. package/dist/status/snapshot.d.ts +38 -0
  70. package/dist/system/host-memory.d.ts +19 -0
  71. package/dist/types.d.ts +123 -0
  72. package/node_modules/@adhdev/session-host-core/package.json +1 -1
  73. package/package.json +3 -2
  74. package/src/commands/cli-manager.ts +1 -26
  75. package/src/commands/handler.ts +0 -31
  76. package/src/commands/router.ts +1 -18
  77. package/src/commands/stream-commands.ts +2 -4
  78. package/src/commands/workspace-commands.ts +9 -23
  79. package/src/config/config.ts +1 -78
  80. package/src/config/workspaces.ts +0 -24
  81. package/src/index.ts +16 -15
  82. package/src/providers/provider-loader.ts +13 -5
  83. package/src/shared-types-extra.ts +34 -0
  84. package/src/shared-types.ts +14 -27
  85. package/src/status/builders.ts +12 -0
  86. package/src/status/reporter.ts +1 -0
  87. package/src/status/snapshot.ts +26 -13
  88. package/src/types.ts +3 -8
  89. package/dist/index.d.mts +0 -2504
  90. package/dist/normalize-DVI4Lo5I.d.mts +0 -947
  91. package/dist/normalize-DVI4Lo5I.d.ts +0 -947
  92. package/dist/status/normalize.d.mts +0 -1
  93. package/src/config/workspace-activity.ts +0 -65
@@ -0,0 +1,50 @@
1
+ /**
2
+ * ADHDev Launcher — Extension Installer
3
+ *
4
+ * Installs VS Code extensions via CLI commands.
5
+ * Supports installing user-selected AI extensions.
6
+ */
7
+ import { IDEInfo } from './detection/ide-detector.js';
8
+ export interface ExtensionInfo {
9
+ id: string;
10
+ name: string;
11
+ displayName: string;
12
+ marketplaceId: string;
13
+ description: string;
14
+ category: 'ai-agent' | 'utility';
15
+ icon: string;
16
+ recommended: boolean;
17
+ requiresApiKey?: boolean;
18
+ apiKeyName?: string;
19
+ website?: string;
20
+ vsixUrl?: string;
21
+ }
22
+ /** Available extensions catalog */
23
+ export declare const EXTENSION_CATALOG: ExtensionInfo[];
24
+ export interface InstallResult {
25
+ extensionId: string;
26
+ marketplaceId: string;
27
+ success: boolean;
28
+ alreadyInstalled: boolean;
29
+ error?: string;
30
+ }
31
+ /**
32
+ * Check if an extension is already installed
33
+ */
34
+ export declare function isExtensionInstalled(ide: IDEInfo, marketplaceId: string): boolean;
35
+ /**
36
+ * Install a single extension
37
+ */
38
+ export declare function installExtension(ide: IDEInfo, extension: ExtensionInfo): Promise<InstallResult>;
39
+ /**
40
+ * Install multiple extensions sequentially
41
+ */
42
+ export declare function installExtensions(ide: IDEInfo, extensions: ExtensionInfo[], onProgress?: (current: number, total: number, ext: ExtensionInfo, result: InstallResult) => void): Promise<InstallResult[]>;
43
+ /**
44
+ * Get AI agent extensions
45
+ */
46
+ export declare function getAIExtensions(): ExtensionInfo[];
47
+ /**
48
+ * Launch IDE after installation
49
+ */
50
+ export declare function launchIDE(ide: IDEInfo, workspacePath?: string): boolean;
@@ -0,0 +1,111 @@
1
+ /**
2
+ * ADHDev IPC Protocol — Extension ↔ Daemon communication protocol
3
+ *
4
+ * Message types used when Extension and Daemon communicate via localhost WS.
5
+ * Defined in core package for import from both sides.
6
+ */
7
+ /** Extension registers itself with Daemon on first connection */
8
+ export interface IpcExtRegister {
9
+ type: 'ext:register';
10
+ payload: {
11
+ ideType: string;
12
+ ideVersion: string;
13
+ extensionVersion: string;
14
+ instanceId: string;
15
+ machineId: string;
16
+ workspaceFolders: {
17
+ name: string;
18
+ path: string;
19
+ }[];
20
+ };
21
+ }
22
+ /** Extension periodically send vscode status data */
23
+ export interface IpcExtStatus {
24
+ type: 'ext:status';
25
+ payload: {
26
+ activeFile: string | null;
27
+ workspaceFolders: {
28
+ name: string;
29
+ path: string;
30
+ }[];
31
+ terminals: number;
32
+ aiAgents: {
33
+ id: string;
34
+ name: string;
35
+ status: string;
36
+ version?: string;
37
+ }[];
38
+ };
39
+ }
40
+ /** Return Extension vscode command execution result */
41
+ export interface IpcExtCommandResult {
42
+ type: 'ext:command_result';
43
+ payload: {
44
+ requestId: string;
45
+ success: boolean;
46
+ result?: unknown;
47
+ error?: string;
48
+ };
49
+ }
50
+ /** VSCode event occurring from Extension */
51
+ export interface IpcExtEvent {
52
+ type: 'ext:event';
53
+ payload: {
54
+ event: 'file_changed' | 'terminal_opened' | 'terminal_closed' | 'agent_status_changed';
55
+ data: Record<string, unknown>;
56
+ };
57
+ }
58
+ /** Welcome message on Daemon-Extension connection */
59
+ export interface IpcDaemonWelcome {
60
+ type: 'daemon:welcome';
61
+ payload: {
62
+ daemonVersion: string;
63
+ serverConnected: boolean;
64
+ cdpConnected: boolean;
65
+ localPort: number;
66
+ cliAgents: string[];
67
+ };
68
+ }
69
+ /** Daemon to Extension vscode Request command execution */
70
+ export interface IpcDaemonExecuteVscode {
71
+ type: 'daemon:execute_vscode';
72
+ payload: {
73
+ requestId: string;
74
+ command: string;
75
+ args?: unknown[];
76
+ };
77
+ }
78
+ /** Daemon to Extension status data request */
79
+ export interface IpcDaemonRequestStatus {
80
+ type: 'daemon:request_status';
81
+ payload: {};
82
+ }
83
+ /** Daemon notifies Extension about server connection status */
84
+ export interface IpcDaemonServerState {
85
+ type: 'daemon:server_state';
86
+ payload: {
87
+ connected: boolean;
88
+ serverUrl: string;
89
+ };
90
+ }
91
+ /** Daemon to Extension notification display request */
92
+ export interface IpcDaemonNotify {
93
+ type: 'daemon:notify';
94
+ payload: {
95
+ level: 'info' | 'warning' | 'error';
96
+ message: string;
97
+ };
98
+ }
99
+ /** Extension requests Daemon to execute command (e.g. CLI launch) */
100
+ export interface IpcExtCommand {
101
+ type: 'ext:command';
102
+ payload: {
103
+ command: string;
104
+ args?: any;
105
+ };
106
+ }
107
+ export type ExtToDaemonMessage = IpcExtRegister | IpcExtStatus | IpcExtCommandResult | IpcExtEvent | IpcExtCommand;
108
+ export type DaemonToExtMessage = IpcDaemonWelcome | IpcDaemonExecuteVscode | IpcDaemonRequestStatus | IpcDaemonServerState | IpcDaemonNotify;
109
+ export type IpcMessage = ExtToDaemonMessage | DaemonToExtMessage;
110
+ export declare const DEFAULT_DAEMON_PORT = 19222;
111
+ export declare const DAEMON_WS_PATH = "/ipc";
@@ -0,0 +1,46 @@
1
+ /**
2
+ * ADHDev Launcher — IDE Launch/Relaunch with CDP
3
+ *
4
+ * Launches IDE with Chrome DevTools Protocol (remote-debugging-port).
5
+ * If IDE is already running, terminates it and restarts with CDP option.
6
+ *
7
+ * Pipeline:
8
+ * 1. IDE process detection (already running?)
9
+ * 2. If already running with CDP → reuse as-is
10
+ * 3. If running without CDP → kill process → wait → restart with CDP
11
+ * 4. Not running → start fresh with CDP
12
+ *
13
+ * Usage:
14
+ * adhdev launch — Launch configured IDE with CDP port
15
+ * adhdev launch cursor — Launch Cursor with CDP port
16
+ * adhdev launch --workspace /path — Open specific workspace
17
+ */
18
+ /** Kill IDE process (graceful → force) */
19
+ export declare function killIdeProcess(ideId: string): Promise<boolean>;
20
+ /** Check if IDE process is running */
21
+ export declare function isIdeRunning(ideId: string): boolean;
22
+ export interface LaunchOptions {
23
+ ideId?: string;
24
+ workspace?: string;
25
+ newWindow?: boolean;
26
+ }
27
+ export interface LaunchResult {
28
+ success: boolean;
29
+ ideId: string;
30
+ ideName: string;
31
+ port: number;
32
+ action: 'started' | 'restarted' | 'reused' | 'failed';
33
+ message: string;
34
+ error?: string;
35
+ }
36
+ /**
37
+ * Execute IDE with CDP port (relaunch pipeline)
38
+ *
39
+ * 1. IDE detect
40
+ * 2. per-fixed IDE CDP port determine
41
+ * 3. CDP not active → reuse
42
+ * 4. IDE execute during but CDP none → terminate → restart with CDP
43
+ * 5. IDE not running → start fresh with CDP
44
+ */
45
+ export declare function launchWithCdp(options?: LaunchOptions): Promise<LaunchResult>;
46
+ export declare function getAvailableIdeIds(): string[];
@@ -0,0 +1,31 @@
1
+ /**
2
+ * ADHDev Daemon — Command History Logger
3
+ *
4
+ * Record all commands from dashboard/WS/P2P/Extension/API to local file.
5
+ * Per-date JSONL file, 7-day retention, 5MB limit.
6
+ *
7
+ * Purpose:
8
+ * - Debugging: track what command came and when
9
+ * - Audit: record all commands executed from remote
10
+ * - Stats: identify frequently used features
11
+ */
12
+ export interface CommandLogEntry {
13
+ ts: string;
14
+ cmd: string;
15
+ source: 'ws' | 'p2p' | 'ext' | 'api' | 'standalone' | 'unknown';
16
+ args?: Record<string, unknown>;
17
+ success?: boolean;
18
+ error?: string;
19
+ durationMs?: number;
20
+ }
21
+ /**
22
+ * Log a command received from the dashboard/WS/P2P/extension/API.
23
+ * Call this at the entry point of command handling.
24
+ */
25
+ export declare function logCommand(entry: CommandLogEntry): void;
26
+ /**
27
+ * Read recent command history (for dashboard display / debugging)
28
+ */
29
+ export declare function getRecentCommands(count?: number): CommandLogEntry[];
30
+ /** Current command log file path */
31
+ export declare function getCommandLogPath(): string;
@@ -0,0 +1,87 @@
1
+ /**
2
+ * ADHDev Daemon — unified logger (v2)
3
+ *
4
+ * log level: DEBUG < INFO < WARN < ERROR
5
+ *
6
+ * Features:
7
+ * 1. daemonLog(category, msg, level) — explicit per-category logging
8
+ * 2. installGlobalInterceptor() — Auto-intercept console.log (once on daemon start)
9
+ * 3. Recent log ring buffer — for remote transmission via P2P/WS
10
+ * 4. File logging — ~/Library/Logs/adhdev/daemon.log (10MB rolling)
11
+ *
12
+ * use:
13
+ * import { daemonLog, LOG } from './daemon-logger';
14
+ * LOG.info('CDP', 'Connected to cursor on port 9333');
15
+ * LOG.debug('StatusReport', 'P2P heartbeat sent');
16
+ * LOG.warn('IdeInstance', 'onTick error: ...');
17
+ * LOG.error('Server', 'WebSocket disconnected');
18
+ */
19
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
20
+ export declare function setLogLevel(level: LogLevel): void;
21
+ export declare function getLogLevel(): LogLevel;
22
+ export interface LogEntry {
23
+ ts: number;
24
+ level: LogLevel;
25
+ category: string;
26
+ message: string;
27
+ }
28
+ /** Get recent N logs (for remote transmission) */
29
+ export declare function getRecentLogs(count?: number, minLevel?: LogLevel): LogEntry[];
30
+ /** Ring buffer current size */
31
+ export declare function getLogBufferSize(): number;
32
+ /**
33
+ * Explicit per-category logging
34
+ * level filter apply, File logging, Ring buffer save
35
+ */
36
+ export declare function daemonLog(category: string, msg: string, level?: LogLevel): void;
37
+ /**
38
+ * Scoped logger instance for a specific component.
39
+ * Created via LOG.forComponent('CDP:cursor').
40
+ */
41
+ export interface ScopedLogger {
42
+ debug: (msg: string) => void;
43
+ info: (msg: string) => void;
44
+ warn: (msg: string) => void;
45
+ error: (msg: string) => void;
46
+ /** Returns a plain (msg: string) => void function at the given level.
47
+ * Useful as logFn callback for ProviderLoader, DaemonStatusReporter, etc. */
48
+ asLogFn: (level?: LogLevel) => (msg: string) => void;
49
+ }
50
+ /**
51
+ * LOG — unified logging API
52
+ *
53
+ * Usage:
54
+ * LOG.info('CDP', 'Connected to cursor on port 9333');
55
+ * LOG.debug('StatusReport', 'P2P heartbeat sent');
56
+ *
57
+ * Component-scoped logger:
58
+ * const log = LOG.forComponent('ACP:cursor');
59
+ * log.info('Session created');
60
+ * log.debug('Heartbeat');
61
+ *
62
+ * As callback for external components:
63
+ * new ProviderLoader({ logFn: LOG.forComponent('Provider').asLogFn() });
64
+ * new DaemonStatusReporter({ logFn: LOG.forComponent('Status').asLogFn() });
65
+ */
66
+ export declare const LOG: {
67
+ debug: (category: string, msg: string) => void;
68
+ info: (category: string, msg: string) => void;
69
+ warn: (category: string, msg: string) => void;
70
+ error: (category: string, msg: string) => void;
71
+ /**
72
+ * Create a scoped logger for a specific component.
73
+ * Category is baked in so callers only pass the message.
74
+ */
75
+ forComponent(category: string): ScopedLogger;
76
+ };
77
+ /**
78
+ * console.log/warn/error global interceptor install
79
+ * Prevent recording in places not using daemonLog.
80
+ * daemon start when 1time call.
81
+ */
82
+ export declare function installGlobalInterceptor(): void;
83
+ /** current log file path (dateper) */
84
+ export declare function getLogPath(): string;
85
+ /** LOG_PATH — backward compat (current date file) */
86
+ export declare const LOG_PATH: string;
87
+ export declare const LOG_DIR_PATH: string;
@@ -0,0 +1,101 @@
1
+ /**
2
+ * AcpProviderInstance — ACP (Agent Client Protocol) Provider runtime instance
3
+ *
4
+ * Spawns ACP agent process and communicates via the official ACP SDK.
5
+ * Uses ClientSideConnection + ndJsonStream for structured protocol communication.
6
+ *
7
+ * ACP spec: https://agentclientprotocol.com
8
+ * ACP SDK: @agentclientprotocol/sdk@0.16.1
9
+ *
10
+ * lifecycle:
11
+ * 1. init() → Spawn agent process + ACP initialize handshake
12
+ * 2. onTick() → no-op (ACP event based)
13
+ * 3. getState() → ProviderState return (dashboard for display)
14
+ * 4. onEvent('send_message') → session/prompt transmit
15
+ * 5. dispose() → kill process
16
+ */
17
+ import type { ProviderModule, ContentBlock } from './contracts.js';
18
+ import type { ProviderInstance, AcpProviderState, InstanceContext } from './provider-instance.js';
19
+ export declare class AcpProviderInstance implements ProviderInstance {
20
+ private cliArgs;
21
+ readonly type: string;
22
+ readonly category: "acp";
23
+ private readonly log;
24
+ private provider;
25
+ private context;
26
+ private settings;
27
+ private events;
28
+ private monitor;
29
+ private process;
30
+ private connection;
31
+ private sessionId;
32
+ private messages;
33
+ private currentStatus;
34
+ private lastStatus;
35
+ private generatingStartedAt;
36
+ private agentCapabilities;
37
+ private currentModel;
38
+ private currentMode;
39
+ private activeToolCalls;
40
+ private stopReason;
41
+ private partialContent;
42
+ /** Rich content blocks accumulated during streaming */
43
+ private partialBlocks;
44
+ /** Tool calls collected during current turn */
45
+ private turnToolCalls;
46
+ private errorMessage;
47
+ private errorReason;
48
+ private stderrBuffer;
49
+ private spawnedAt;
50
+ private configOptions;
51
+ private availableModes;
52
+ /** Static config mode — agent doesn't support config/* methods */
53
+ private useStaticConfig;
54
+ /** Current config selections (for spawnArgBuilder) */
55
+ private selectedConfig;
56
+ private workingDir;
57
+ private instanceId;
58
+ constructor(provider: ProviderModule, workingDir: string, cliArgs?: string[]);
59
+ init(context: InstanceContext): Promise<void>;
60
+ onTick(): Promise<void>;
61
+ getState(): AcpProviderState;
62
+ onEvent(event: string, data?: any): void;
63
+ getInstanceId(): string;
64
+ private parseConfigOptions;
65
+ private parseModes;
66
+ setConfigOption(category: string, value: string): Promise<void>;
67
+ setMode(modeId: string): Promise<void>;
68
+ /** Static config: kill process and restart with new args */
69
+ private restartWithNewConfig;
70
+ /** Update settings at runtime (called when user changes settings from dashboard) */
71
+ updateSettings(newSettings: Record<string, any>): void;
72
+ dispose(): void;
73
+ private spawnAgent;
74
+ private createClient;
75
+ private initialize;
76
+ private createSession;
77
+ sendPrompt(text: string, contentBlocks?: ContentBlock[]): Promise<void>;
78
+ private cancelSession;
79
+ private permissionResolvers;
80
+ private resolvePermission;
81
+ private handleSessionUpdate;
82
+ /** Handle legacy session/update formats (pre-standardization compat) */
83
+ private handleLegacyUpdate;
84
+ /** Map SDK ToolCallStatus to internal status */
85
+ private mapToolCallStatus;
86
+ /** Truncate content for transport (text: 2000 chars, images preserved) */
87
+ private truncateContent;
88
+ /** Build ContentBlock[] from current partial state */
89
+ private buildPartialBlocks;
90
+ /** Finalize streaming content into an assistant message */
91
+ private finalizeAssistantMessage;
92
+ /** Convert ACP ToolCallContent[] to our ToolCallContent[] */
93
+ private convertToolCallContent;
94
+ private detectStatusTransition;
95
+ private pushEvent;
96
+ private flushEvents;
97
+ get cliType(): string;
98
+ get cliName(): string;
99
+ /** ACP Agent capabilities (available after initialize) */
100
+ getCapabilities(): Record<string, any>;
101
+ }
@@ -0,0 +1,43 @@
1
+ /**
2
+ * CliProviderInstance — Runtime instance for CLI Provider
3
+ *
4
+ * Lifecycle layer on top of ProviderCliAdapter.
5
+ * collectCliData() + status transition logic from daemon-status.ts moved here.
6
+ */
7
+ import type { ProviderModule } from './contracts.js';
8
+ import type { ProviderInstance, ProviderState, InstanceContext } from './provider-instance.js';
9
+ import { ProviderCliAdapter } from '../cli-adapters/provider-cli-adapter.js';
10
+ import type { PtyTransportFactory } from '../cli-adapters/pty-transport.js';
11
+ export declare class CliProviderInstance implements ProviderInstance {
12
+ private provider;
13
+ private workingDir;
14
+ private cliArgs;
15
+ readonly type: string;
16
+ readonly category: "cli";
17
+ private adapter;
18
+ private context;
19
+ private events;
20
+ private lastStatus;
21
+ private generatingStartedAt;
22
+ private settings;
23
+ private monitor;
24
+ private generatingDebounceTimer;
25
+ private generatingDebouncePending;
26
+ private lastApprovalEventAt;
27
+ private historyWriter;
28
+ readonly instanceId: string;
29
+ constructor(provider: ProviderModule, workingDir: string, cliArgs?: string[], instanceId?: string, transportFactory?: PtyTransportFactory);
30
+ init(context: InstanceContext): Promise<void>;
31
+ onTick(): Promise<void>;
32
+ getState(): ProviderState;
33
+ onEvent(event: string, data?: any): void;
34
+ dispose(): void;
35
+ private completedDebounceTimer;
36
+ private completedDebouncePending;
37
+ private detectStatusTransition;
38
+ private pushEvent;
39
+ private flushEvents;
40
+ getAdapter(): ProviderCliAdapter;
41
+ get cliType(): string;
42
+ get cliName(): string;
43
+ }