@adhdev/daemon-core 0.8.34 → 0.8.36
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.
- package/dist/boot/daemon-lifecycle.d.ts +4 -0
- package/dist/commands/router.d.ts +3 -0
- package/dist/config/config.d.ts +5 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +585 -256
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +584 -256
- package/dist/index.mjs.map +1 -1
- package/dist/shared-types.d.ts +286 -16
- package/dist/status/builders.d.ts +5 -1
- package/dist/status/normalize.d.ts +11 -1
- package/dist/status/normalize.js +36 -16
- package/dist/status/normalize.js.map +1 -1
- package/dist/status/normalize.mjs +35 -16
- package/dist/status/normalize.mjs.map +1 -1
- package/dist/status/reporter.d.ts +7 -0
- package/dist/status/snapshot.d.ts +5 -5
- package/dist/types.d.ts +1 -1
- package/node_modules/@adhdev/session-host-core/package.json +1 -1
- package/package.json +1 -1
- package/src/agent-stream/forward.d.ts +8 -0
- package/src/agent-stream/index.d.ts +6 -0
- package/src/agent-stream/manager.d.ts +60 -0
- package/src/agent-stream/poller.d.ts +41 -0
- package/src/agent-stream/provider-adapter.d.ts +36 -0
- package/src/agent-stream/types.d.ts +68 -0
- package/src/boot/daemon-lifecycle.d.ts +100 -0
- package/src/boot/daemon-lifecycle.ts +7 -0
- package/src/cdp/devtools.d.ts +51 -0
- package/src/cdp/initializer.d.ts +50 -0
- package/src/cdp/manager.d.ts +147 -0
- package/src/cdp/scanner.d.ts +58 -0
- package/src/cdp/setup.d.ts +58 -0
- package/src/cli-adapter-types.d.ts +57 -0
- package/src/cli-adapters/provider-cli-adapter.d.ts +177 -0
- package/src/cli-adapters/provider-cli-adapter.ts +115 -91
- package/src/cli-adapters/provider-cli-config.d.ts +30 -0
- package/src/cli-adapters/provider-cli-parse.d.ts +42 -0
- package/src/cli-adapters/provider-cli-runtime.d.ts +29 -0
- package/src/cli-adapters/provider-cli-shared.d.ts +158 -0
- package/src/cli-adapters/pty-transport.d.ts +48 -0
- package/src/cli-adapters/session-host-transport.d.ts +20 -0
- package/src/cli-adapters/spawn-env.d.ts +8 -0
- package/src/cli-adapters/terminal-backends/ghostty-vt-backend.d.ts +16 -0
- package/src/cli-adapters/terminal-backends/types.d.ts +18 -0
- package/src/cli-adapters/terminal-backends/xterm-backend.d.ts +17 -0
- package/src/cli-adapters/terminal-screen.d.ts +33 -0
- package/src/commands/cdp-commands.d.ts +15 -0
- package/src/commands/chat-commands.d.ts +15 -0
- package/src/commands/chat-commands.ts +192 -17
- package/src/commands/cli-manager.d.ts +94 -0
- package/src/commands/handler.d.ts +103 -0
- package/src/commands/router.d.ts +98 -0
- package/src/commands/router.ts +25 -0
- package/src/commands/stream-commands.d.ts +14 -0
- package/src/commands/stream-commands.ts +14 -10
- package/src/commands/upgrade-helper.d.ts +10 -0
- package/src/commands/workspace-commands.d.ts +11 -0
- package/src/config/chat-history.d.ts +99 -0
- package/src/config/config.d.ts +14 -0
- package/src/config/config.ts +8 -0
- package/src/config/recent-activity.d.ts +29 -0
- package/src/config/saved-sessions.d.ts +22 -0
- package/src/config/state-store.d.ts +32 -0
- package/src/config/workspaces.d.ts +0 -1
- package/src/daemon/dev-auto-implement.d.ts +43 -0
- package/src/daemon/dev-cdp-handlers.d.ts +22 -0
- package/src/daemon/dev-cli-debug.d.ts +106 -0
- package/src/daemon/dev-server-types.d.ts +43 -0
- package/src/daemon/dev-server.d.ts +140 -0
- package/src/daemon/scaffold-template.d.ts +32 -0
- package/src/daemon-core.d.ts +36 -0
- package/src/detection/cli-detector.d.ts +31 -0
- package/src/detection/ide-detector.d.ts +35 -0
- package/src/index.d.ts +83 -0
- package/src/index.ts +34 -1
- package/src/installer.d.ts +50 -0
- package/src/ipc-protocol.d.ts +111 -0
- package/src/launch.d.ts +46 -0
- package/src/logging/command-log.d.ts +31 -0
- package/src/logging/logger.d.ts +89 -0
- package/src/providers/acp-provider-instance.d.ts +102 -0
- package/src/providers/approval-utils.d.ts +7 -0
- package/src/providers/cli-provider-instance.d.ts +86 -0
- package/src/providers/contracts.d.ts +193 -1
- package/src/providers/control-effects.d.ts +4 -0
- package/src/providers/extension-provider-instance.d.ts +61 -0
- package/src/providers/ide-provider-instance.d.ts +70 -0
- package/src/providers/provider-instance-manager.d.ts +84 -0
- package/src/providers/provider-instance.d.ts +7 -1
- package/src/providers/provider-loader.d.ts +299 -0
- package/src/providers/status-monitor.d.ts +48 -0
- package/src/providers/version-archive.d.ts +52 -0
- package/src/session-host/runtime-support.d.ts +8 -0
- package/src/sessions/reconcile.d.ts +22 -0
- package/src/sessions/registry.d.ts +24 -0
- package/src/shared-types-extra.d.ts +29 -0
- package/src/shared-types.d.ts +204 -38
- package/src/shared-types.ts +319 -16
- package/src/status/builders.d.ts +33 -0
- package/src/status/builders.ts +110 -54
- package/src/status/normalize.ts +54 -19
- package/src/status/reporter.d.ts +69 -0
- package/src/status/reporter.ts +104 -26
- package/src/status/snapshot.d.ts +58 -0
- package/src/status/snapshot.ts +79 -41
- package/src/system/host-memory.d.ts +19 -0
- package/src/types.d.ts +3 -7
- package/src/types.ts +1 -1
package/src/shared-types.d.ts
CHANGED
|
@@ -33,45 +33,179 @@ export interface AgentSessionStream {
|
|
|
33
33
|
buttons: string[];
|
|
34
34
|
} | null;
|
|
35
35
|
}
|
|
36
|
+
export type ReadChatSyncMode = 'full' | 'append' | 'replace_tail' | 'noop';
|
|
37
|
+
export interface ReadChatCursor {
|
|
38
|
+
knownMessageCount?: number;
|
|
39
|
+
lastMessageSignature?: string;
|
|
40
|
+
tailLimit?: number;
|
|
41
|
+
}
|
|
42
|
+
export interface ReadChatSyncResult {
|
|
43
|
+
messages: ChatMessage[];
|
|
44
|
+
status: string;
|
|
45
|
+
title?: string;
|
|
46
|
+
activeModal?: {
|
|
47
|
+
message: string;
|
|
48
|
+
buttons: string[];
|
|
49
|
+
} | null;
|
|
50
|
+
syncMode: ReadChatSyncMode;
|
|
51
|
+
replaceFrom: number;
|
|
52
|
+
totalMessages: number;
|
|
53
|
+
lastMessageSignature: string;
|
|
54
|
+
}
|
|
55
|
+
export type TransportTopic = 'session.chat_tail' | 'machine.runtime' | 'session_host.diagnostics' | 'session.modal' | 'daemon.metadata';
|
|
56
|
+
export interface SessionChatTailSubscriptionParams extends ReadChatCursor {
|
|
57
|
+
targetSessionId: string;
|
|
58
|
+
historySessionId?: string;
|
|
59
|
+
}
|
|
60
|
+
export interface MachineRuntimeSubscriptionParams {
|
|
61
|
+
intervalMs?: number;
|
|
62
|
+
}
|
|
63
|
+
export interface SessionModalSubscriptionParams {
|
|
64
|
+
targetSessionId: string;
|
|
65
|
+
}
|
|
66
|
+
export interface DaemonMetadataSubscriptionParams {
|
|
67
|
+
includeSessions?: boolean;
|
|
68
|
+
}
|
|
69
|
+
export interface SessionHostDiagnosticsSubscriptionParams {
|
|
70
|
+
includeSessions?: boolean;
|
|
71
|
+
limit?: number;
|
|
72
|
+
intervalMs?: number;
|
|
73
|
+
}
|
|
74
|
+
export interface SessionChatTailUpdate extends ReadChatSyncResult {
|
|
75
|
+
topic: 'session.chat_tail';
|
|
76
|
+
key: string;
|
|
77
|
+
sessionId: string;
|
|
78
|
+
historySessionId?: string;
|
|
79
|
+
seq: number;
|
|
80
|
+
timestamp: number;
|
|
81
|
+
}
|
|
82
|
+
export interface MachineRuntimeUpdate {
|
|
83
|
+
topic: 'machine.runtime';
|
|
84
|
+
key: string;
|
|
85
|
+
machine: MachineInfo;
|
|
86
|
+
seq: number;
|
|
87
|
+
timestamp: number;
|
|
88
|
+
}
|
|
89
|
+
export interface SessionHostDiagnosticsUpdate {
|
|
90
|
+
topic: 'session_host.diagnostics';
|
|
91
|
+
key: string;
|
|
92
|
+
diagnostics: SessionHostDiagnosticsSnapshot;
|
|
93
|
+
seq: number;
|
|
94
|
+
timestamp: number;
|
|
95
|
+
}
|
|
96
|
+
export interface SessionModalUpdate {
|
|
97
|
+
topic: 'session.modal';
|
|
98
|
+
key: string;
|
|
99
|
+
sessionId: string;
|
|
100
|
+
status: string;
|
|
101
|
+
title?: string;
|
|
102
|
+
modalMessage?: string;
|
|
103
|
+
modalButtons?: string[];
|
|
104
|
+
seq: number;
|
|
105
|
+
timestamp: number;
|
|
106
|
+
}
|
|
107
|
+
export interface DaemonMetadataUpdate {
|
|
108
|
+
topic: 'daemon.metadata';
|
|
109
|
+
key: string;
|
|
110
|
+
daemonId: string;
|
|
111
|
+
status: StatusReportPayload;
|
|
112
|
+
userName?: string;
|
|
113
|
+
seq: number;
|
|
114
|
+
timestamp: number;
|
|
115
|
+
}
|
|
116
|
+
export interface TopicUpdateEnvelopeMap {
|
|
117
|
+
'session.chat_tail': SessionChatTailUpdate;
|
|
118
|
+
'machine.runtime': MachineRuntimeUpdate;
|
|
119
|
+
'session_host.diagnostics': SessionHostDiagnosticsUpdate;
|
|
120
|
+
'session.modal': SessionModalUpdate;
|
|
121
|
+
'daemon.metadata': DaemonMetadataUpdate;
|
|
122
|
+
}
|
|
123
|
+
export type TopicUpdateEnvelope = TopicUpdateEnvelopeMap[TransportTopic];
|
|
124
|
+
export interface SubscribeRequestMap {
|
|
125
|
+
'session.chat_tail': SessionChatTailSubscriptionParams;
|
|
126
|
+
'machine.runtime': MachineRuntimeSubscriptionParams;
|
|
127
|
+
'session_host.diagnostics': SessionHostDiagnosticsSubscriptionParams;
|
|
128
|
+
'session.modal': SessionModalSubscriptionParams;
|
|
129
|
+
'daemon.metadata': DaemonMetadataSubscriptionParams;
|
|
130
|
+
}
|
|
131
|
+
export type SubscribeRequest = {
|
|
132
|
+
[K in TransportTopic]: {
|
|
133
|
+
type: 'subscribe';
|
|
134
|
+
topic: K;
|
|
135
|
+
key: string;
|
|
136
|
+
params: SubscribeRequestMap[K];
|
|
137
|
+
};
|
|
138
|
+
}[TransportTopic];
|
|
139
|
+
export type UnsubscribeRequest = {
|
|
140
|
+
[K in TransportTopic]: {
|
|
141
|
+
type: 'unsubscribe';
|
|
142
|
+
topic: K;
|
|
143
|
+
key: string;
|
|
144
|
+
};
|
|
145
|
+
}[TransportTopic];
|
|
146
|
+
export type StandaloneWsStatusPayload = StatusReportPayload;
|
|
36
147
|
export type SessionTransport = 'cdp-page' | 'cdp-webview' | 'pty' | 'acp';
|
|
37
148
|
export type SessionKind = 'workspace' | 'agent';
|
|
38
149
|
export type SessionCapability = 'read_chat' | 'send_message' | 'new_session' | 'list_sessions' | 'switch_session' | 'resolve_action' | 'terminal_io' | 'resize_terminal' | 'change_model' | 'set_mode' | 'set_thought_level';
|
|
150
|
+
import type { RuntimeWriteOwner, RuntimeAttachedClient, SessionStatus } from './shared-types-extra.js';
|
|
151
|
+
export type { RuntimeWriteOwner, RuntimeAttachedClient, SessionStatus } from './shared-types-extra.js';
|
|
39
152
|
export interface SessionEntry {
|
|
40
153
|
id: string;
|
|
41
154
|
parentId: string | null;
|
|
42
155
|
providerType: string;
|
|
43
|
-
providerName
|
|
156
|
+
providerName?: string;
|
|
44
157
|
providerSessionId?: string;
|
|
45
158
|
kind: SessionKind;
|
|
46
159
|
transport: SessionTransport;
|
|
47
|
-
status:
|
|
160
|
+
status: SessionStatus;
|
|
48
161
|
title: string;
|
|
49
|
-
workspace
|
|
162
|
+
workspace?: string | null;
|
|
50
163
|
runtimeKey?: string;
|
|
51
164
|
runtimeDisplayName?: string;
|
|
52
165
|
runtimeWorkspaceLabel?: string;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
runtimeAttachedClients?: {
|
|
58
|
-
clientId: string;
|
|
59
|
-
type: 'daemon' | 'web' | 'local-terminal';
|
|
60
|
-
readOnly: boolean;
|
|
61
|
-
}[];
|
|
166
|
+
/** CLI only: active presentation mode */
|
|
167
|
+
mode?: 'terminal' | 'chat';
|
|
168
|
+
runtimeWriteOwner?: RuntimeWriteOwner | null;
|
|
169
|
+
runtimeAttachedClients?: RuntimeAttachedClient[];
|
|
62
170
|
resume?: ProviderResumeCapability;
|
|
63
171
|
activeChat: _ActiveChatData | null;
|
|
64
|
-
capabilities
|
|
172
|
+
capabilities?: SessionCapability[];
|
|
65
173
|
cdpConnected?: boolean;
|
|
66
174
|
currentModel?: string;
|
|
67
175
|
currentPlan?: string;
|
|
68
176
|
currentAutoApprove?: string;
|
|
69
177
|
acpConfigOptions?: AcpConfigOption[];
|
|
70
178
|
acpModes?: AcpMode[];
|
|
179
|
+
/** Dynamic control current values (generic key-value) */
|
|
71
180
|
controlValues?: Record<string, string | number | boolean>;
|
|
181
|
+
/** Provider-declared controls schema (transmitted once, cached by frontend) */
|
|
72
182
|
providerControls?: ProviderControlSchema[];
|
|
73
183
|
errorMessage?: string;
|
|
74
184
|
errorReason?: _ProviderErrorReason;
|
|
185
|
+
lastUpdated?: number;
|
|
186
|
+
unread?: boolean;
|
|
187
|
+
lastSeenAt?: number;
|
|
188
|
+
inboxBucket?: RecentSessionBucket;
|
|
189
|
+
surfaceHidden?: boolean;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Compact session metadata stored in UserSessionDO and reused by server-side
|
|
193
|
+
* status/convenience APIs. This intentionally excludes rich UI-only fields.
|
|
194
|
+
*/
|
|
195
|
+
export interface CompactSessionEntry {
|
|
196
|
+
id: string;
|
|
197
|
+
parentId: string | null;
|
|
198
|
+
providerType: string;
|
|
199
|
+
providerName: string;
|
|
200
|
+
kind: SessionKind;
|
|
201
|
+
transport: SessionTransport;
|
|
202
|
+
status: SessionStatus;
|
|
203
|
+
title: string;
|
|
204
|
+
workspace: string | null;
|
|
205
|
+
cdpConnected?: boolean;
|
|
206
|
+
currentModel?: string;
|
|
207
|
+
currentPlan?: string;
|
|
208
|
+
currentAutoApprove?: string;
|
|
75
209
|
}
|
|
76
210
|
/** Available provider information */
|
|
77
211
|
export interface AvailableProviderInfo {
|
|
@@ -80,6 +214,8 @@ export interface AvailableProviderInfo {
|
|
|
80
214
|
category: 'ide' | 'extension' | 'cli' | 'acp';
|
|
81
215
|
displayName: string;
|
|
82
216
|
icon: string;
|
|
217
|
+
installed?: boolean;
|
|
218
|
+
detectedPath?: string | null;
|
|
83
219
|
}
|
|
84
220
|
/** ACP config option (model/mode/thought_level selection) */
|
|
85
221
|
export interface AcpConfigOption {
|
|
@@ -99,39 +235,54 @@ export interface AcpMode {
|
|
|
99
235
|
name: string;
|
|
100
236
|
description?: string;
|
|
101
237
|
}
|
|
102
|
-
/** Provider control schema
|
|
238
|
+
/** Provider control schema transmitted to frontend */
|
|
103
239
|
export interface ProviderControlSchema {
|
|
104
240
|
id: string;
|
|
105
|
-
type: 'select' | 'toggle' | 'cycle' | 'slider' | 'action';
|
|
241
|
+
type: 'select' | 'toggle' | 'cycle' | 'slider' | 'action' | 'display';
|
|
106
242
|
label: string;
|
|
107
243
|
icon?: string;
|
|
108
244
|
placement: 'bar' | 'header' | 'menu';
|
|
109
|
-
|
|
245
|
+
/** Static options (for select/cycle) */
|
|
246
|
+
options?: {
|
|
247
|
+
value: string;
|
|
248
|
+
label: string;
|
|
249
|
+
description?: string;
|
|
250
|
+
group?: string;
|
|
251
|
+
}[];
|
|
252
|
+
/** Dynamic options — frontend should call listScript to load */
|
|
110
253
|
dynamic?: boolean;
|
|
254
|
+
/** Script name to list options */
|
|
111
255
|
listScript?: string;
|
|
256
|
+
/** Script name to change value (value-based controls) */
|
|
112
257
|
setScript?: string;
|
|
258
|
+
/** Field name in readChat result for current value */
|
|
113
259
|
readFrom?: string;
|
|
260
|
+
/** Default value */
|
|
114
261
|
defaultValue?: string | number | boolean;
|
|
262
|
+
/** Script name to invoke (action type) */
|
|
115
263
|
invokeScript?: string;
|
|
264
|
+
/** How to display action result */
|
|
116
265
|
resultDisplay?: 'toast' | 'inline' | 'none';
|
|
266
|
+
/** Slider range */
|
|
117
267
|
min?: number;
|
|
118
268
|
max?: number;
|
|
119
269
|
step?: number;
|
|
270
|
+
/** Sort order */
|
|
120
271
|
order?: number;
|
|
121
272
|
}
|
|
122
273
|
/** Machine hardware/OS info (reported by daemon, displayed by web) */
|
|
123
274
|
export interface MachineInfo {
|
|
124
275
|
hostname: string;
|
|
125
276
|
platform: string;
|
|
126
|
-
arch
|
|
127
|
-
cpus
|
|
128
|
-
totalMem
|
|
129
|
-
freeMem
|
|
277
|
+
arch?: string;
|
|
278
|
+
cpus?: number;
|
|
279
|
+
totalMem?: number;
|
|
280
|
+
freeMem?: number;
|
|
130
281
|
/** macOS: reclaimable-inclusive; prefer for UI used% */
|
|
131
282
|
availableMem?: number;
|
|
132
|
-
loadavg
|
|
133
|
-
uptime
|
|
134
|
-
release
|
|
283
|
+
loadavg?: number[];
|
|
284
|
+
uptime?: number;
|
|
285
|
+
release?: string;
|
|
135
286
|
}
|
|
136
287
|
/** Detected IDE on a machine */
|
|
137
288
|
export interface DetectedIdeInfo {
|
|
@@ -141,13 +292,9 @@ export interface DetectedIdeInfo {
|
|
|
141
292
|
running: boolean;
|
|
142
293
|
path?: string;
|
|
143
294
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
lastUsedAt: number;
|
|
148
|
-
kind?: string;
|
|
149
|
-
agentType?: string;
|
|
150
|
-
}
|
|
295
|
+
export type { RecentSessionBucket, TerminalBackendStatus } from './shared-types-extra.js';
|
|
296
|
+
import type { RecentSessionBucket } from './shared-types-extra.js';
|
|
297
|
+
import type { TerminalBackendStatus } from './shared-types-extra.js';
|
|
151
298
|
export interface RecentLaunchEntry {
|
|
152
299
|
id: string;
|
|
153
300
|
providerType: string;
|
|
@@ -159,21 +306,38 @@ export interface RecentLaunchEntry {
|
|
|
159
306
|
currentModel?: string;
|
|
160
307
|
lastLaunchedAt: number;
|
|
161
308
|
}
|
|
309
|
+
/** Compact machine payload broadcast by UserSessionDO to cloud dashboards. */
|
|
310
|
+
export interface CompactDaemonEntry {
|
|
311
|
+
id: string;
|
|
312
|
+
type?: string;
|
|
313
|
+
machineId?: string;
|
|
314
|
+
platform?: string;
|
|
315
|
+
hostname?: string;
|
|
316
|
+
nickname?: string;
|
|
317
|
+
p2p?: StatusReportPayload['p2p'];
|
|
318
|
+
cdpConnected?: boolean;
|
|
319
|
+
timestamp?: number;
|
|
320
|
+
version?: string;
|
|
321
|
+
serverVersion?: string;
|
|
322
|
+
versionMismatch?: boolean;
|
|
323
|
+
terminalBackend?: TerminalBackendStatus;
|
|
324
|
+
detectedIdes?: DetectedIdeInfo[];
|
|
325
|
+
availableProviders?: AvailableProviderInfo[];
|
|
326
|
+
sessions?: CompactSessionEntry[];
|
|
327
|
+
}
|
|
162
328
|
export interface StatusReportPayload {
|
|
163
|
-
/**
|
|
329
|
+
/** Unique daemon instance identifier */
|
|
164
330
|
instanceId: string;
|
|
165
|
-
/** Daemon version */
|
|
166
|
-
version
|
|
167
|
-
/** Daemon mode flag */
|
|
168
|
-
daemonMode: boolean;
|
|
331
|
+
/** Daemon version (metadata/full snapshots only) */
|
|
332
|
+
version?: string;
|
|
169
333
|
/** Machine info */
|
|
170
334
|
machine: MachineInfo;
|
|
171
335
|
/** Machine nickname (user-set) */
|
|
172
336
|
machineNickname?: string | null;
|
|
173
337
|
/** Timestamp */
|
|
174
338
|
timestamp: number;
|
|
175
|
-
/** Detected IDEs on this machine */
|
|
176
|
-
detectedIdes
|
|
339
|
+
/** Detected IDEs on this machine (metadata snapshot only) */
|
|
340
|
+
detectedIdes?: DetectedIdeInfo[];
|
|
177
341
|
/** P2P state */
|
|
178
342
|
p2p?: {
|
|
179
343
|
available: boolean;
|
|
@@ -188,6 +352,8 @@ export interface StatusReportPayload {
|
|
|
188
352
|
defaultWorkspaceId?: string | null;
|
|
189
353
|
defaultWorkspacePath?: string | null;
|
|
190
354
|
terminalSizingMode?: 'measured' | 'fit';
|
|
191
|
-
workspaceActivity?: WorkspaceActivity[];
|
|
192
355
|
recentLaunches?: RecentLaunchEntry[];
|
|
356
|
+
terminalBackend?: TerminalBackendStatus;
|
|
357
|
+
/** Available providers (present in StatusSnapshot, optional in raw payload) */
|
|
358
|
+
availableProviders?: AvailableProviderInfo[];
|
|
193
359
|
}
|