@agentdeck/shared 0.1.0 → 0.2.3
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/LICENSE +21 -0
- package/dist/adapter.d.ts +18 -3
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +62 -0
- package/dist/adapter.js.map +1 -1
- package/dist/command-builders.d.ts +35 -0
- package/dist/command-builders.d.ts.map +1 -0
- package/dist/command-builders.js +75 -0
- package/dist/command-builders.js.map +1 -0
- package/dist/connection-status.d.ts +42 -0
- package/dist/connection-status.d.ts.map +1 -0
- package/dist/connection-status.js +52 -0
- package/dist/connection-status.js.map +1 -0
- package/dist/d200h-layout.d.ts +131 -0
- package/dist/d200h-layout.d.ts.map +1 -0
- package/dist/d200h-layout.js +627 -0
- package/dist/d200h-layout.js.map +1 -0
- package/dist/design-tokens.d.ts +259 -0
- package/dist/design-tokens.d.ts.map +1 -0
- package/dist/design-tokens.js +156 -0
- package/dist/design-tokens.js.map +1 -0
- package/dist/eval-schema.d.ts +235 -0
- package/dist/eval-schema.d.ts.map +1 -0
- package/dist/eval-schema.js +23 -0
- package/dist/eval-schema.js.map +1 -0
- package/dist/format-utils.d.ts +52 -0
- package/dist/format-utils.d.ts.map +1 -0
- package/dist/format-utils.js +165 -0
- package/dist/format-utils.js.map +1 -0
- package/dist/gateway-protocol.d.ts +391 -0
- package/dist/gateway-protocol.d.ts.map +1 -0
- package/dist/gateway-protocol.js +19 -0
- package/dist/gateway-protocol.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -1
- package/dist/llm-settings.d.ts +52 -0
- package/dist/llm-settings.d.ts.map +1 -0
- package/dist/llm-settings.js +118 -0
- package/dist/llm-settings.js.map +1 -0
- package/dist/net-utils.d.ts +2 -1
- package/dist/net-utils.d.ts.map +1 -1
- package/dist/net-utils.js +100 -3
- package/dist/net-utils.js.map +1 -1
- package/dist/pricing.d.ts +45 -0
- package/dist/pricing.d.ts.map +1 -0
- package/dist/pricing.js +93 -0
- package/dist/pricing.js.map +1 -0
- package/dist/protocol.d.ts +496 -2
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +30 -1
- package/dist/protocol.js.map +1 -1
- package/dist/sample.d.ts +152 -0
- package/dist/sample.d.ts.map +1 -0
- package/dist/sample.js +22 -0
- package/dist/sample.js.map +1 -0
- package/dist/session-utils.d.ts +142 -0
- package/dist/session-utils.d.ts.map +1 -0
- package/dist/session-utils.js +304 -0
- package/dist/session-utils.js.map +1 -0
- package/dist/state-colors.d.ts +16 -0
- package/dist/state-colors.d.ts.map +1 -0
- package/dist/state-colors.js +48 -0
- package/dist/state-colors.js.map +1 -0
- package/dist/states.d.ts +2 -0
- package/dist/states.d.ts.map +1 -1
- package/dist/states.js +6 -1
- package/dist/states.js.map +1 -1
- package/dist/svg-renderers/agent-logos.d.ts +45 -0
- package/dist/svg-renderers/agent-logos.d.ts.map +1 -0
- package/dist/svg-renderers/agent-logos.js +238 -0
- package/dist/svg-renderers/agent-logos.js.map +1 -0
- package/dist/svg-renderers/index.d.ts +4 -0
- package/dist/svg-renderers/index.d.ts.map +1 -0
- package/dist/svg-renderers/index.js +4 -0
- package/dist/svg-renderers/index.js.map +1 -0
- package/dist/svg-renderers/session-slot-renderer.d.ts +78 -0
- package/dist/svg-renderers/session-slot-renderer.d.ts.map +1 -0
- package/dist/svg-renderers/session-slot-renderer.js +506 -0
- package/dist/svg-renderers/session-slot-renderer.js.map +1 -0
- package/dist/svg-renderers/text-utils.d.ts +29 -0
- package/dist/svg-renderers/text-utils.d.ts.map +1 -0
- package/dist/svg-renderers/text-utils.js +122 -0
- package/dist/svg-renderers/text-utils.js.map +1 -0
- package/dist/telemetry-envelope.d.ts +108 -0
- package/dist/telemetry-envelope.d.ts.map +1 -0
- package/dist/telemetry-envelope.js +34 -0
- package/dist/telemetry-envelope.js.map +1 -0
- package/dist/timeline-icons.d.ts +70 -0
- package/dist/timeline-icons.d.ts.map +1 -0
- package/dist/timeline-icons.js +161 -0
- package/dist/timeline-icons.js.map +1 -0
- package/dist/timeline-label.d.ts +38 -0
- package/dist/timeline-label.d.ts.map +1 -0
- package/dist/timeline-label.js +95 -0
- package/dist/timeline-label.js.map +1 -0
- package/dist/timeline-markdown.d.ts +80 -0
- package/dist/timeline-markdown.d.ts.map +1 -0
- package/dist/timeline-markdown.js +221 -0
- package/dist/timeline-markdown.js.map +1 -0
- package/dist/timeline-summarizer.d.ts +37 -0
- package/dist/timeline-summarizer.d.ts.map +1 -0
- package/dist/timeline-summarizer.js +125 -0
- package/dist/timeline-summarizer.js.map +1 -0
- package/dist/timeline.d.ts +135 -0
- package/dist/timeline.d.ts.map +1 -0
- package/dist/timeline.js +633 -0
- package/dist/timeline.js.map +1 -0
- package/dist/voice-paths.d.ts +4 -0
- package/dist/voice-paths.d.ts.map +1 -1
- package/dist/voice-paths.js +5 -0
- package/dist/voice-paths.js.map +1 -1
- package/package.json +9 -3
package/dist/protocol.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { State, PermissionMode, PromptOption } from './states.js';
|
|
2
2
|
import type { AgentType, AgentCapabilities } from './adapter.js';
|
|
3
|
+
import type { TimelineEntry } from './timeline.js';
|
|
3
4
|
export type BillingType = 'subscription' | 'api' | 'unknown';
|
|
4
5
|
export interface ModelCatalogEntry {
|
|
6
|
+
key: string;
|
|
5
7
|
name: string;
|
|
6
8
|
role: 'default' | `fallback-${number}` | 'configured';
|
|
7
9
|
available: boolean;
|
|
@@ -14,29 +16,177 @@ export interface OcSessionStatus {
|
|
|
14
16
|
sessionId?: string;
|
|
15
17
|
[key: string]: unknown;
|
|
16
18
|
}
|
|
19
|
+
export interface ButtonSlotState {
|
|
20
|
+
slot: number;
|
|
21
|
+
title: string;
|
|
22
|
+
subtitle?: string;
|
|
23
|
+
bgColor: string;
|
|
24
|
+
textColor: string;
|
|
25
|
+
enabled: boolean;
|
|
26
|
+
icon?: string;
|
|
27
|
+
badge?: string;
|
|
28
|
+
action?: string;
|
|
29
|
+
dim?: boolean;
|
|
30
|
+
}
|
|
31
|
+
export interface ButtonStateEvent {
|
|
32
|
+
type: 'button_state';
|
|
33
|
+
buttons: ButtonSlotState[];
|
|
34
|
+
}
|
|
35
|
+
export interface EncoderSlotState {
|
|
36
|
+
slot: number;
|
|
37
|
+
encoderType: 'utility' | 'action' | 'usage' | 'voice';
|
|
38
|
+
header: string;
|
|
39
|
+
value?: string;
|
|
40
|
+
icon?: string;
|
|
41
|
+
accentColor: string;
|
|
42
|
+
progress?: number;
|
|
43
|
+
counter?: string;
|
|
44
|
+
detail?: string;
|
|
45
|
+
voiceState?: 'idle' | 'recording' | 'transcribing' | 'error' | 'review';
|
|
46
|
+
recordingMs?: number;
|
|
47
|
+
transcription?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface EncoderStateEvent {
|
|
50
|
+
type: 'encoder_state';
|
|
51
|
+
encoders: EncoderSlotState[];
|
|
52
|
+
takeoverActive: boolean;
|
|
53
|
+
}
|
|
54
|
+
export interface DeckSlotConfig {
|
|
55
|
+
slot: number;
|
|
56
|
+
actionType: string;
|
|
57
|
+
settings?: Record<string, unknown>;
|
|
58
|
+
}
|
|
59
|
+
export interface DeckSlotMapEvent {
|
|
60
|
+
type: 'deck_slot_map';
|
|
61
|
+
buttons: DeckSlotConfig[];
|
|
62
|
+
encoders: DeckSlotConfig[];
|
|
63
|
+
}
|
|
64
|
+
export interface OllamaModel {
|
|
65
|
+
name: string;
|
|
66
|
+
size: number;
|
|
67
|
+
sizeVram: number;
|
|
68
|
+
}
|
|
69
|
+
export interface OllamaStatus {
|
|
70
|
+
available: boolean;
|
|
71
|
+
models: OllamaModel[];
|
|
72
|
+
}
|
|
73
|
+
export interface SubscriptionInfo {
|
|
74
|
+
name: string;
|
|
75
|
+
until?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface AntigravityStatusInfo {
|
|
78
|
+
planName?: string;
|
|
79
|
+
availableCredits?: number;
|
|
80
|
+
minimumCreditAmountForUsage?: number;
|
|
81
|
+
subscriptionActiveUntil?: string;
|
|
82
|
+
}
|
|
83
|
+
/** One Codex (ChatGPT) rate-limit window, mirroring the Claude 5h/7d shape.
|
|
84
|
+
* Sourced from the user's own local Codex session rollout files — Codex CLI
|
|
85
|
+
* writes these snapshots itself, so this is local-file data, not an API call. */
|
|
86
|
+
export interface CodexRateLimitWindow {
|
|
87
|
+
usedPercent: number;
|
|
88
|
+
/** Rolling window length in minutes (primary ≈ 300 = 5h, secondary ≈ 10080 = 7d). */
|
|
89
|
+
windowMinutes: number;
|
|
90
|
+
/** ISO-8601 reset instant (converted from the rollout's unix `resets_at`). */
|
|
91
|
+
resetsAt?: string;
|
|
92
|
+
/** True when this window's snapshot has expired (its `resets_at` slid into the
|
|
93
|
+
* past with no fresher Codex activity). The passive rollout read is frozen, so
|
|
94
|
+
* the percent is last-known-only — renderers should dim the gauge and show a
|
|
95
|
+
* "stale" marker instead of a misleading "now" countdown. Set centrally in
|
|
96
|
+
* `buildUsageEvent`; `resetsAt` is cleared at the same time so no formatter
|
|
97
|
+
* prints "now". */
|
|
98
|
+
stale?: boolean;
|
|
99
|
+
}
|
|
100
|
+
/** Codex credits balance, the metering Codex reports for credit-based plans
|
|
101
|
+
* (e.g. `limit_id: "premium"`) where the rolling 5h/7d windows are null.
|
|
102
|
+
* Mirrors the rollout's `rate_limits.credits` block. */
|
|
103
|
+
export interface CodexCredits {
|
|
104
|
+
/** Whether the plan has any credit allowance configured. */
|
|
105
|
+
hasCredits: boolean;
|
|
106
|
+
/** Unlimited credits (no balance ceiling). */
|
|
107
|
+
unlimited: boolean;
|
|
108
|
+
/** Remaining balance — Codex reports this as a string (e.g. "0"). */
|
|
109
|
+
balance?: string;
|
|
110
|
+
}
|
|
111
|
+
/** Codex usage limits parsed from local rollout files. `primary` is the short
|
|
112
|
+
* (5h-style) window, `secondary` the long (weekly) window — same idea as the
|
|
113
|
+
* Claude 5h/7d gauges. Credit-based plans report `primary`/`secondary` as null
|
|
114
|
+
* and convey usage via `credits` + `limitId` instead. */
|
|
115
|
+
export interface CodexRateLimits {
|
|
116
|
+
primary?: CodexRateLimitWindow;
|
|
117
|
+
secondary?: CodexRateLimitWindow;
|
|
118
|
+
/** Plan tier reported alongside the limits (e.g. "plus", "pro"). */
|
|
119
|
+
planType?: string;
|
|
120
|
+
/** Limit identifier reported by Codex (e.g. "premium" for credit-based plans). */
|
|
121
|
+
limitId?: string;
|
|
122
|
+
/** Credit balance for credit-based plans (present when windows are null). */
|
|
123
|
+
credits?: CodexCredits;
|
|
124
|
+
/** ISO-8601 mtime of the rollout file this snapshot was read from. A secondary
|
|
125
|
+
* freshness anchor — the per-window `stale` flag is the authoritative signal. */
|
|
126
|
+
capturedAt?: string;
|
|
127
|
+
}
|
|
17
128
|
export interface StateUpdateEvent {
|
|
18
129
|
type: 'state_update';
|
|
19
130
|
state: State;
|
|
20
131
|
permissionMode: PermissionMode;
|
|
21
132
|
agentType?: AgentType;
|
|
133
|
+
/** Session ID associated with this state payload; may move with hook activity. */
|
|
134
|
+
sessionId?: string;
|
|
135
|
+
/** Session explicitly focused by the user; visual selection should use this. */
|
|
136
|
+
focusedSessionId?: string;
|
|
22
137
|
agentCapabilities?: AgentCapabilities;
|
|
23
138
|
currentTool?: string;
|
|
24
139
|
toolInput?: string;
|
|
25
140
|
toolProgress?: string;
|
|
26
141
|
projectName?: string;
|
|
27
142
|
modelName?: string;
|
|
143
|
+
effortLevel?: string;
|
|
28
144
|
billingType?: BillingType;
|
|
29
145
|
options?: PromptOption[];
|
|
30
146
|
promptType?: 'yes_no' | 'yes_no_always' | 'multi_select' | 'diff_review';
|
|
31
147
|
question?: string;
|
|
32
148
|
navigable?: boolean;
|
|
33
149
|
cursorIndex?: number;
|
|
150
|
+
/** Set when the focused session has a gated PreToolUse permission pending
|
|
151
|
+
* device approval — clients reply with `permission_decision { requestId }`
|
|
152
|
+
* instead of `select_option`. See bridge/src/permission-resolver.ts. */
|
|
153
|
+
requestId?: string;
|
|
34
154
|
suggestedPrompt?: string;
|
|
35
155
|
modelCatalog?: ModelCatalogEntry[];
|
|
36
156
|
sessionStatus?: OcSessionStatus;
|
|
37
157
|
remoteUrl?: string;
|
|
38
158
|
/** Authenticated WS URL for remote pairing (ws://ip:port?token=hex) */
|
|
39
159
|
pairingUrl?: string;
|
|
160
|
+
/** Number of OpenClaw backend worker sessions (multi-agent) */
|
|
161
|
+
workerSessionCount?: number;
|
|
162
|
+
/** Ollama process status + running models */
|
|
163
|
+
ollamaStatus?: OllamaStatus;
|
|
164
|
+
/** MLX local server model list */
|
|
165
|
+
mlxModels?: string[];
|
|
166
|
+
/** Subscription-backed authenticated services */
|
|
167
|
+
subscriptions?: SubscriptionInfo[];
|
|
168
|
+
/** Local Antigravity IDE quota summary, when available */
|
|
169
|
+
antigravityStatus?: AntigravityStatusInfo;
|
|
170
|
+
/** OpenClaw Gateway reachability (port 18789) */
|
|
171
|
+
gatewayAvailable?: boolean;
|
|
172
|
+
/** OpenClaw Gateway authenticated adapter connection */
|
|
173
|
+
gatewayConnected?: boolean;
|
|
174
|
+
/** OpenClaw Gateway has doctor warnings/errors */
|
|
175
|
+
gatewayHasError?: boolean;
|
|
176
|
+
/** OpenClaw Gateway auth/pairing state */
|
|
177
|
+
gatewayAuthStatus?: 'gateway_not_found' | 'gateway_reachable' | 'gateway_token_missing' | 'pairing_required' | 'approval_pending' | 'connected' | 'auth_failed' | 'token_mismatch' | 'device_auth_invalid' | 'unsupported_protocol';
|
|
178
|
+
/** OpenClaw device pairing request id, when Gateway requires approval */
|
|
179
|
+
gatewayAuthRequestId?: string;
|
|
180
|
+
/** Human-readable OpenClaw auth/pairing diagnostic */
|
|
181
|
+
gatewayAuthMessage?: string;
|
|
182
|
+
/** Daemon-owned hardware/module health, intentionally loose for cross-version clients */
|
|
183
|
+
moduleHealth?: Record<string, unknown>;
|
|
184
|
+
/** Voice assistant pipeline state (wake word → STT → LLM → TTS) */
|
|
185
|
+
voiceAssistantState?: VoiceAssistantState;
|
|
186
|
+
/** Transcribed user speech (processing/speaking) */
|
|
187
|
+
voiceAssistantText?: string;
|
|
188
|
+
/** LLM response text (speaking) */
|
|
189
|
+
voiceAssistantResponseText?: string;
|
|
40
190
|
}
|
|
41
191
|
export interface PromptOptionsEvent {
|
|
42
192
|
type: 'prompt_options';
|
|
@@ -64,6 +214,21 @@ export interface UsageEvent {
|
|
|
64
214
|
extraUsageMonthlyLimit?: number;
|
|
65
215
|
extraUsageUsedCredits?: number;
|
|
66
216
|
extraUsageUtilization?: number;
|
|
217
|
+
oauthConnected?: boolean;
|
|
218
|
+
ollamaStatus?: OllamaStatus;
|
|
219
|
+
usageStale?: boolean;
|
|
220
|
+
tokenStatus?: 'valid' | 'expired' | 'missing' | 'unknown';
|
|
221
|
+
codexAuthMode?: string;
|
|
222
|
+
codexWebAuthConnected?: boolean;
|
|
223
|
+
codexPlanType?: string;
|
|
224
|
+
codexAccountId?: string;
|
|
225
|
+
codexSubscriptionActiveUntil?: string;
|
|
226
|
+
codexLastRefreshAt?: string;
|
|
227
|
+
codexRateLimits?: CodexRateLimits;
|
|
228
|
+
modelCatalog?: ModelCatalogEntry[];
|
|
229
|
+
mlxModels?: string[];
|
|
230
|
+
subscriptions?: SubscriptionInfo[];
|
|
231
|
+
antigravityStatus?: AntigravityStatusInfo;
|
|
67
232
|
}
|
|
68
233
|
export interface ConnectionEvent {
|
|
69
234
|
type: 'connection';
|
|
@@ -80,7 +245,230 @@ export interface VoiceStateEvent {
|
|
|
80
245
|
text?: string;
|
|
81
246
|
error?: string;
|
|
82
247
|
}
|
|
83
|
-
export type
|
|
248
|
+
export type VoiceAssistantState = 'idle' | 'listening' | 'processing' | 'speaking' | 'disabled';
|
|
249
|
+
export interface VoiceAssistantStateEvent {
|
|
250
|
+
type: 'voice_assistant_state';
|
|
251
|
+
state: VoiceAssistantState;
|
|
252
|
+
deviceId?: string;
|
|
253
|
+
/** Transcribed user speech */
|
|
254
|
+
text?: string;
|
|
255
|
+
/** LLM response text */
|
|
256
|
+
responseText?: string;
|
|
257
|
+
}
|
|
258
|
+
export interface WakeWordDetectedEvent {
|
|
259
|
+
type: 'wake_word_detected';
|
|
260
|
+
deviceId: string;
|
|
261
|
+
timestamp: number;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Per-broadcast instruction telling downstream devices HOW to dim when the
|
|
265
|
+
* host display sleeps. Resolved by the daemon from the `displaySleepDim`
|
|
266
|
+
* settings.json key and embedded in every `display_state` event so that
|
|
267
|
+
* Pixoo / D200H / ESP32 dumb-apply a single consistent snapshot.
|
|
268
|
+
* Absent ⇒ legacy behavior (full-off when displayOn=false).
|
|
269
|
+
*/
|
|
270
|
+
export interface DisplayDimInstruction {
|
|
271
|
+
/** Master toggle. false ⇒ leave devices at their normal brightness. */
|
|
272
|
+
enabled: boolean;
|
|
273
|
+
/** 'off' ⇒ brightness 0; 'min' ⇒ dim to `level`. */
|
|
274
|
+
mode: 'off' | 'min';
|
|
275
|
+
/** Minimum-brightness percent (1-100). Ignored when mode='off'. */
|
|
276
|
+
level: number;
|
|
277
|
+
}
|
|
278
|
+
export interface DisplayStateEvent {
|
|
279
|
+
type: 'display_state';
|
|
280
|
+
displayOn: boolean;
|
|
281
|
+
/** How to dim on sleep. Absent ⇒ legacy full-off. */
|
|
282
|
+
dim?: DisplayDimInstruction;
|
|
283
|
+
}
|
|
284
|
+
export interface SessionInfo {
|
|
285
|
+
id: string;
|
|
286
|
+
port: number;
|
|
287
|
+
pid?: number;
|
|
288
|
+
projectName: string;
|
|
289
|
+
agentType?: AgentType;
|
|
290
|
+
alive: boolean;
|
|
291
|
+
state?: string;
|
|
292
|
+
modelName?: string;
|
|
293
|
+
effortLevel?: string;
|
|
294
|
+
startedAt?: string;
|
|
295
|
+
currentTool?: string;
|
|
296
|
+
groupSize?: number;
|
|
297
|
+
foldedSessionIds?: string[];
|
|
298
|
+
controlMode?: 'managed' | 'observed';
|
|
299
|
+
cwd?: string;
|
|
300
|
+
currentTask?: string;
|
|
301
|
+
/** Daemon-synthesized "what is this agent doing right now" one-liner — a shared
|
|
302
|
+
* source so glance surfaces (XTeink X3 rows, TRMNL list) render the same text. */
|
|
303
|
+
activity?: string;
|
|
304
|
+
goal?: string;
|
|
305
|
+
contextPercent?: number;
|
|
306
|
+
totalTokens?: number;
|
|
307
|
+
question?: string;
|
|
308
|
+
requestId?: string;
|
|
309
|
+
promptType?: 'yes_no' | 'yes_no_always' | 'multi_select' | 'diff_review';
|
|
310
|
+
options?: PromptOption[];
|
|
311
|
+
elapsedSec?: number;
|
|
312
|
+
}
|
|
313
|
+
export interface SessionsListEvent {
|
|
314
|
+
type: 'sessions_list';
|
|
315
|
+
sessions: SessionInfo[];
|
|
316
|
+
}
|
|
317
|
+
export interface TimelineEventMsg {
|
|
318
|
+
type: 'timeline_event';
|
|
319
|
+
entry: TimelineEntry;
|
|
320
|
+
upsert?: boolean;
|
|
321
|
+
}
|
|
322
|
+
export interface TimelineHistoryMsg {
|
|
323
|
+
type: 'timeline_history';
|
|
324
|
+
entries: TimelineEntry[];
|
|
325
|
+
/** Set when this history is a reply to `query_session_timeline` — scopes the
|
|
326
|
+
* entries to one session so reconnecting glance devices (XTeink X3) can fill a
|
|
327
|
+
* per-session Detail view on demand instead of waiting for live events. */
|
|
328
|
+
sessionId?: string;
|
|
329
|
+
}
|
|
330
|
+
/** A single evaluation score on a completed run. */
|
|
331
|
+
export interface ApmeEvalRow {
|
|
332
|
+
layer: 'deterministic' | 'llm_judge' | 'vibe' | 'turn_judge' | 'task_judge' | 'trajectory';
|
|
333
|
+
metric: string;
|
|
334
|
+
score: number;
|
|
335
|
+
rubricVer?: number;
|
|
336
|
+
judgeModel?: string;
|
|
337
|
+
createdAt: number;
|
|
338
|
+
}
|
|
339
|
+
/** A run that has finished evaluation. */
|
|
340
|
+
export interface ApmeRunSummary {
|
|
341
|
+
runId: string;
|
|
342
|
+
sessionId: string;
|
|
343
|
+
agentType: AgentType;
|
|
344
|
+
modelId?: string;
|
|
345
|
+
projectName?: string;
|
|
346
|
+
taskPrompt?: string;
|
|
347
|
+
taskCategory?: string;
|
|
348
|
+
outcome?: 'committed' | 'abandoned' | 'iterated' | 'ab_winner' | 'ab_loser' | 'interrupted' | 'exploratory' | 'pending';
|
|
349
|
+
compositeScore?: number;
|
|
350
|
+
startedAt: number;
|
|
351
|
+
endedAt?: number;
|
|
352
|
+
inputTokens?: number;
|
|
353
|
+
outputTokens?: number;
|
|
354
|
+
costUsd?: number;
|
|
355
|
+
exitCode?: number;
|
|
356
|
+
overallScore?: number;
|
|
357
|
+
evals: ApmeEvalRow[];
|
|
358
|
+
}
|
|
359
|
+
/** Bridge → clients — fires when a run completes evaluation (layer 1 or 2). */
|
|
360
|
+
export interface ApmeEvalEvent {
|
|
361
|
+
type: 'apme_eval';
|
|
362
|
+
run: ApmeRunSummary;
|
|
363
|
+
}
|
|
364
|
+
export interface ApmeModelScorecard {
|
|
365
|
+
agentType: AgentType;
|
|
366
|
+
modelId: string;
|
|
367
|
+
runs: number;
|
|
368
|
+
avgOverall?: number;
|
|
369
|
+
avgTestsPass?: number;
|
|
370
|
+
totalCost?: number;
|
|
371
|
+
costPerQuality?: number;
|
|
372
|
+
}
|
|
373
|
+
/** Bridge → clients — scorecard refresh (broadcast after eval completes or on demand). */
|
|
374
|
+
export interface ApmeScorecardEvent {
|
|
375
|
+
type: 'apme_scorecard';
|
|
376
|
+
scorecards: ApmeModelScorecard[];
|
|
377
|
+
}
|
|
378
|
+
export interface ApmeRecommendation {
|
|
379
|
+
modelId: string;
|
|
380
|
+
agentType: AgentType;
|
|
381
|
+
expectedScore: number;
|
|
382
|
+
expectedCostUsd: number;
|
|
383
|
+
confidence: number;
|
|
384
|
+
rationale: string;
|
|
385
|
+
}
|
|
386
|
+
/** Bridge → clients — model recommendation for the next task (on-demand / context-aware). */
|
|
387
|
+
export interface ApmeRecommendationEvent {
|
|
388
|
+
type: 'apme_recommendation';
|
|
389
|
+
taskKind?: string;
|
|
390
|
+
candidates: ApmeRecommendation[];
|
|
391
|
+
}
|
|
392
|
+
export interface WifiProvisionMessage {
|
|
393
|
+
type: 'wifi_provision';
|
|
394
|
+
ssid: string;
|
|
395
|
+
password: string;
|
|
396
|
+
bridgeIp: string;
|
|
397
|
+
bridgePort: number;
|
|
398
|
+
authToken: string;
|
|
399
|
+
}
|
|
400
|
+
export interface DeviceInfoMessage {
|
|
401
|
+
type: 'device_info';
|
|
402
|
+
board: string;
|
|
403
|
+
version: string;
|
|
404
|
+
buildHash?: string;
|
|
405
|
+
buildEpoch?: number;
|
|
406
|
+
wifiConfigured: boolean;
|
|
407
|
+
wifiConnected: boolean;
|
|
408
|
+
/** True when firmware intentionally powered WiFi down because USB serial is primary. */
|
|
409
|
+
wifiRadioParked?: boolean;
|
|
410
|
+
/** Board uptime in seconds at the moment the info frame was emitted. */
|
|
411
|
+
uptimeSec?: number;
|
|
412
|
+
/** ESP-IDF reset reason as a stable diagnostic string, e.g. "brownout" or "panic". */
|
|
413
|
+
resetReason?: string;
|
|
414
|
+
/** Raw esp_reset_reason_t numeric code for cases not covered by resetReason. */
|
|
415
|
+
resetReasonCode?: number;
|
|
416
|
+
ip?: string;
|
|
417
|
+
otaSupported?: boolean;
|
|
418
|
+
otaSlotCount?: number;
|
|
419
|
+
otaSlotSize?: number;
|
|
420
|
+
otaFreeSketchSpace?: number;
|
|
421
|
+
otaReason?: string;
|
|
422
|
+
}
|
|
423
|
+
export interface WifiProvisionAckMessage {
|
|
424
|
+
type: 'wifi_provision_ack';
|
|
425
|
+
success: boolean;
|
|
426
|
+
ip?: string;
|
|
427
|
+
error?: string;
|
|
428
|
+
}
|
|
429
|
+
export interface WifiStatusMessage {
|
|
430
|
+
type: 'wifi_status';
|
|
431
|
+
connected: boolean;
|
|
432
|
+
ssid?: string;
|
|
433
|
+
ip?: string;
|
|
434
|
+
}
|
|
435
|
+
export interface Esp32OtaBeginEvent {
|
|
436
|
+
type: 'esp32_ota_begin';
|
|
437
|
+
otaId: string;
|
|
438
|
+
size: number;
|
|
439
|
+
md5: string;
|
|
440
|
+
}
|
|
441
|
+
export interface Esp32OtaChunkEvent {
|
|
442
|
+
type: 'esp32_ota_chunk';
|
|
443
|
+
otaId: string;
|
|
444
|
+
seq: number;
|
|
445
|
+
offset: number;
|
|
446
|
+
data: string;
|
|
447
|
+
}
|
|
448
|
+
export interface Esp32OtaEndEvent {
|
|
449
|
+
type: 'esp32_ota_end';
|
|
450
|
+
otaId: string;
|
|
451
|
+
}
|
|
452
|
+
export interface Esp32OtaAbortEvent {
|
|
453
|
+
type: 'esp32_ota_abort';
|
|
454
|
+
otaId: string;
|
|
455
|
+
}
|
|
456
|
+
export interface Esp32OtaAckCommand {
|
|
457
|
+
type: 'esp32_ota_ack';
|
|
458
|
+
otaId: string;
|
|
459
|
+
stage: 'begin' | 'chunk' | 'end' | 'abort';
|
|
460
|
+
seq?: number;
|
|
461
|
+
offset?: number;
|
|
462
|
+
written?: number;
|
|
463
|
+
}
|
|
464
|
+
export interface Esp32OtaErrorCommand {
|
|
465
|
+
type: 'esp32_ota_error';
|
|
466
|
+
error: string;
|
|
467
|
+
otaId?: string;
|
|
468
|
+
stage?: string;
|
|
469
|
+
}
|
|
470
|
+
export type ESP32ToHostMessage = DeviceInfoMessage | WifiProvisionAckMessage | WifiStatusMessage | Esp32OtaAckCommand | Esp32OtaErrorCommand;
|
|
471
|
+
export type BridgeEvent = StateUpdateEvent | PromptOptionsEvent | UsageEvent | ConnectionEvent | UserPromptEvent | VoiceStateEvent | VoiceAssistantStateEvent | WakeWordDetectedEvent | DisplayStateEvent | SessionsListEvent | EncoderStateEvent | DeckSlotMapEvent | ButtonStateEvent | TimelineEventMsg | TimelineHistoryMsg | ApmeEvalEvent | ApmeScorecardEvent | ApmeRecommendationEvent | Esp32OtaBeginEvent | Esp32OtaChunkEvent | Esp32OtaEndEvent | Esp32OtaAbortEvent;
|
|
84
472
|
export interface ResponseCommand {
|
|
85
473
|
type: 'respond';
|
|
86
474
|
value: string;
|
|
@@ -88,6 +476,7 @@ export interface ResponseCommand {
|
|
|
88
476
|
export interface SelectOptionCommand {
|
|
89
477
|
type: 'select_option';
|
|
90
478
|
index: number;
|
|
479
|
+
sessionId?: string;
|
|
91
480
|
}
|
|
92
481
|
export interface NavigateOptionCommand {
|
|
93
482
|
type: 'navigate_option';
|
|
@@ -114,17 +503,122 @@ export interface VoiceCommand {
|
|
|
114
503
|
export interface QueryUsageCommand {
|
|
115
504
|
type: 'query_usage';
|
|
116
505
|
}
|
|
506
|
+
/** Request a session's recent timeline. The daemon replies (to the requester
|
|
507
|
+
* only) with a `timeline_history` carrying that session's entries. Lets a
|
|
508
|
+
* device that connects mid-session fill its per-session Detail view. */
|
|
509
|
+
export interface QuerySessionTimelineCommand {
|
|
510
|
+
type: 'query_session_timeline';
|
|
511
|
+
sessionId: string;
|
|
512
|
+
/** Optional epoch-ms lower bound; omit for the full retained history. */
|
|
513
|
+
since?: number;
|
|
514
|
+
}
|
|
117
515
|
export interface DiagCommand {
|
|
118
516
|
type: 'diag';
|
|
119
517
|
action: 'dump' | 'analyze';
|
|
120
518
|
}
|
|
121
|
-
export
|
|
519
|
+
export interface UtilityCommand {
|
|
520
|
+
type: 'utility';
|
|
521
|
+
action: 'adjust_volume' | 'toggle_mute' | 'adjust_brightness' | 'media_play_pause' | 'media_next' | 'media_prev';
|
|
522
|
+
value?: number;
|
|
523
|
+
}
|
|
524
|
+
export interface SwitchAgentCommand {
|
|
525
|
+
type: 'switch_agent';
|
|
526
|
+
agent: 'openclaw' | 'claude-code';
|
|
527
|
+
}
|
|
528
|
+
export interface FocusSessionCommand {
|
|
529
|
+
type: 'focus_session';
|
|
530
|
+
sessionId: string;
|
|
531
|
+
}
|
|
532
|
+
export interface ClearSessionFocusCommand {
|
|
533
|
+
type: 'clear_session_focus';
|
|
534
|
+
}
|
|
535
|
+
/** APME vibe check — user approves or rejects a completed run's output quality. */
|
|
536
|
+
export interface ApmeVibeFeedbackCommand {
|
|
537
|
+
type: 'apme_vibe';
|
|
538
|
+
runId: string;
|
|
539
|
+
verdict: 'approve' | 'reject' | 'neutral';
|
|
540
|
+
note?: string;
|
|
541
|
+
}
|
|
542
|
+
/** Ask bridge/daemon for model recommendation given a task context. */
|
|
543
|
+
export interface ApmeRecommendCommand {
|
|
544
|
+
type: 'apme_recommend';
|
|
545
|
+
taskKind?: string;
|
|
546
|
+
budgetUsd?: number;
|
|
547
|
+
latencyBudgetMs?: number;
|
|
548
|
+
preferLocal?: boolean;
|
|
549
|
+
}
|
|
550
|
+
/**
|
|
551
|
+
* Self-announcement from a rich UI client (Elgato Stream Deck plugin, a
|
|
552
|
+
* future Android companion app, etc.) so the daemon can surface the
|
|
553
|
+
* hardware under its rightful Downstream row instead of treating every
|
|
554
|
+
* WS connection as an anonymous dashboard viewer. Sent once per connect,
|
|
555
|
+
* immediately after the WebSocket opens. Daemon wipes the cached entry
|
|
556
|
+
* when the WS connection closes.
|
|
557
|
+
*/
|
|
558
|
+
export interface ClientRegisterCommand {
|
|
559
|
+
type: 'client_register';
|
|
560
|
+
/** Short stable id — "streamdeck-plugin", "android-companion", etc. */
|
|
561
|
+
clientType: string;
|
|
562
|
+
/** Human-readable label for the surface (appears verbatim in diagnostics). */
|
|
563
|
+
clientLabel?: string;
|
|
564
|
+
/** Physical device roster this client is driving, if any. */
|
|
565
|
+
devices?: Array<{
|
|
566
|
+
id: string;
|
|
567
|
+
name: string;
|
|
568
|
+
/** "streamdeck" | "streamdeckplus" | "streamdeckmini" | ... — free-form. */
|
|
569
|
+
family?: string;
|
|
570
|
+
columns?: number;
|
|
571
|
+
rows?: number;
|
|
572
|
+
}>;
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* Session-scoped command — daemon forwards the inner command to the specified session's bridge.
|
|
576
|
+
* Enables direct control of a specific session from any client (MenuBarExtra, Dashboard, etc.)
|
|
577
|
+
*/
|
|
578
|
+
export interface SessionCommand {
|
|
579
|
+
type: 'session_command';
|
|
580
|
+
sessionId: string;
|
|
581
|
+
command: {
|
|
582
|
+
type: string;
|
|
583
|
+
[key: string]: unknown;
|
|
584
|
+
};
|
|
585
|
+
}
|
|
586
|
+
/**
|
|
587
|
+
* Device approval decision for a gated PreToolUse permission request (observed
|
|
588
|
+
* sessions). The daemon holds the hook's HTTP response open keyed by
|
|
589
|
+
* `requestId`; this command resolves it into a Claude Code permission decision.
|
|
590
|
+
* See bridge/src/permission-resolver.ts.
|
|
591
|
+
*/
|
|
592
|
+
export interface PermissionDecisionCommand {
|
|
593
|
+
type: 'permission_decision';
|
|
594
|
+
requestId: string;
|
|
595
|
+
decision: 'allow' | 'deny';
|
|
596
|
+
}
|
|
597
|
+
export type PluginCommand = ResponseCommand | SelectOptionCommand | NavigateOptionCommand | SendPromptCommand | SwitchModeCommand | InterruptCommand | EscapeCommand | VoiceCommand | QueryUsageCommand | QuerySessionTimelineCommand | DiagCommand | UtilityCommand | SwitchAgentCommand | FocusSessionCommand | ClearSessionFocusCommand | SessionCommand | ClientRegisterCommand | ApmeVibeFeedbackCommand | ApmeRecommendCommand | PermissionDecisionCommand | Esp32OtaAckCommand | Esp32OtaErrorCommand;
|
|
122
598
|
export interface HookEvent {
|
|
123
599
|
event: string;
|
|
124
600
|
data: Record<string, unknown>;
|
|
125
601
|
}
|
|
602
|
+
/** Events forwarded to display-only devices (Pixoo64) */
|
|
603
|
+
export declare const DISPLAY_FORWARDED_EVENTS: Set<string>;
|
|
604
|
+
/** Events forwarded to serial devices (ESP32) — display events + timeline */
|
|
605
|
+
export declare const SERIAL_FORWARDED_EVENTS: Set<string>;
|
|
126
606
|
export declare const BRIDGE_WS_PORT = 9120;
|
|
127
607
|
export declare const BRIDGE_HTTP_PORT = 9120;
|
|
128
608
|
export declare const RECONNECT_INTERVAL_MS = 3000;
|
|
609
|
+
/** Plugin reconnect backoff ladder. Advances on each failed attempt, resets on `connected`. */
|
|
610
|
+
export declare const RECONNECT_BACKOFF_MS: readonly number[];
|
|
129
611
|
export declare const STUCK_TIMEOUT_MS: number;
|
|
612
|
+
/** Backstop for AWAITING_* states. Longer than STUCK_TIMEOUT_MS because a user
|
|
613
|
+
* can legitimately leave a permission/option/diff prompt unanswered for a
|
|
614
|
+
* while; this only fires when a managed PTY session never sees the recovery
|
|
615
|
+
* spinner/idle (parser miss) and no follow-up hook arrives. */
|
|
616
|
+
export declare const AWAITING_STUCK_TIMEOUT_MS: number;
|
|
617
|
+
export declare const WS_PING_INTERVAL_MS = 15000;
|
|
618
|
+
export declare const WS_ACTIVITY_TIMEOUT_MS = 30000;
|
|
619
|
+
/** Soft-stale threshold: shorter than WS_ACTIVITY_TIMEOUT_MS so a client can dim
|
|
620
|
+
* its last-known render (and flag it as stale) before the hard disconnect. The
|
|
621
|
+
* daemon pings every WS_PING_INTERVAL_MS, so this only trips when the daemon
|
|
622
|
+
* genuinely stops responding. Mirrors the 20s stale window in the TUI/Apple. */
|
|
623
|
+
export declare const WS_STALE_TIMEOUT_MS = 20000;
|
|
130
624
|
//# sourceMappingURL=protocol.d.ts.map
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.js
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
// ===== Constants =====
|
|
2
|
+
/** Events forwarded to display-only devices (Pixoo64) */
|
|
3
|
+
export const DISPLAY_FORWARDED_EVENTS = new Set([
|
|
4
|
+
'state_update',
|
|
5
|
+
'usage_update',
|
|
6
|
+
'sessions_list',
|
|
7
|
+
'connection',
|
|
8
|
+
'display_state',
|
|
9
|
+
]);
|
|
10
|
+
/** Events forwarded to serial devices (ESP32) — display events + timeline */
|
|
11
|
+
export const SERIAL_FORWARDED_EVENTS = new Set([
|
|
12
|
+
...DISPLAY_FORWARDED_EVENTS,
|
|
13
|
+
'timeline_event',
|
|
14
|
+
'timeline_history',
|
|
15
|
+
'set_orientation',
|
|
16
|
+
]);
|
|
2
17
|
export const BRIDGE_WS_PORT = 9120;
|
|
3
18
|
export const BRIDGE_HTTP_PORT = 9120; // Same port, different path
|
|
4
19
|
export const RECONNECT_INTERVAL_MS = 3000;
|
|
5
|
-
|
|
20
|
+
/** Plugin reconnect backoff ladder. Advances on each failed attempt, resets on `connected`. */
|
|
21
|
+
export const RECONNECT_BACKOFF_MS = [1000, 2000, 4000, 8000];
|
|
22
|
+
export const STUCK_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes (PROCESSING hang)
|
|
23
|
+
/** Backstop for AWAITING_* states. Longer than STUCK_TIMEOUT_MS because a user
|
|
24
|
+
* can legitimately leave a permission/option/diff prompt unanswered for a
|
|
25
|
+
* while; this only fires when a managed PTY session never sees the recovery
|
|
26
|
+
* spinner/idle (parser miss) and no follow-up hook arrives. */
|
|
27
|
+
export const AWAITING_STUCK_TIMEOUT_MS = 10 * 60 * 1000; // 10 minutes
|
|
28
|
+
export const WS_PING_INTERVAL_MS = 15_000;
|
|
29
|
+
export const WS_ACTIVITY_TIMEOUT_MS = 30_000;
|
|
30
|
+
/** Soft-stale threshold: shorter than WS_ACTIVITY_TIMEOUT_MS so a client can dim
|
|
31
|
+
* its last-known render (and flag it as stale) before the hard disconnect. The
|
|
32
|
+
* daemon pings every WS_PING_INTERVAL_MS, so this only trips when the daemon
|
|
33
|
+
* genuinely stops responding. Mirrors the 20s stale window in the TUI/Apple. */
|
|
34
|
+
export const WS_STALE_TIMEOUT_MS = 20_000;
|
|
6
35
|
//# sourceMappingURL=protocol.js.map
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAuwBA,wBAAwB;AAExB,yDAAyD;AACzD,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IAC9C,cAAc;IACd,cAAc;IACd,eAAe;IACf,YAAY;IACZ,eAAe;CAChB,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IAC7C,GAAG,wBAAwB;IAC3B,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;CAClB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,4BAA4B;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAC1C,+FAA+F;AAC/F,MAAM,CAAC,MAAM,oBAAoB,GAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,8BAA8B;AAC7E;;;gEAGgE;AAChE,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AACtE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAC7C;;;iFAGiF;AACjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC"}
|