@agentdeck/bridge 1.0.24 → 1.2.0
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/README.md +14 -6
- package/assets/fonts/NOTICE-PocketSansWorld.md +10 -0
- package/assets/fonts/OFL-PocketSansWorld.txt +93 -0
- package/assets/fonts/PocketSansWorld_12.cpfont +0 -0
- package/assets/fonts/pocket-sans-world.manifest.json +49 -0
- package/assets/learning/LICENSE-CC-BY-SA-4.0.txt +10 -0
- package/assets/learning/NOTICE.md +33 -0
- package/assets/learning/jp-n3-ko.manifest.json +27 -0
- package/assets/learning/jp-n3-ko.pdl +0 -0
- package/dist/adapters/openclaw.d.ts +74 -4
- package/dist/adapters/openclaw.d.ts.map +1 -1
- package/dist/adapters/openclaw.js +235 -43
- package/dist/adapters/openclaw.js.map +1 -1
- package/dist/agent-cli-diagnostics.d.ts +20 -0
- package/dist/agent-cli-diagnostics.d.ts.map +1 -0
- package/dist/agent-cli-diagnostics.js +100 -0
- package/dist/agent-cli-diagnostics.js.map +1 -0
- package/dist/apme/adapters/openclaw-hook.d.ts +38 -10
- package/dist/apme/adapters/openclaw-hook.d.ts.map +1 -1
- package/dist/apme/adapters/openclaw-hook.js +181 -37
- package/dist/apme/adapters/openclaw-hook.js.map +1 -1
- package/dist/apme/collector.d.ts +55 -2
- package/dist/apme/collector.d.ts.map +1 -1
- package/dist/apme/collector.js +324 -37
- package/dist/apme/collector.js.map +1 -1
- package/dist/apme/dashboard-html.d.ts.map +1 -1
- package/dist/apme/dashboard-html.js +275 -35
- package/dist/apme/dashboard-html.js.map +1 -1
- package/dist/apme/http.d.ts.map +1 -1
- package/dist/apme/http.js +33 -5
- package/dist/apme/http.js.map +1 -1
- package/dist/apme/index.d.ts.map +1 -1
- package/dist/apme/index.js +6 -2
- package/dist/apme/index.js.map +1 -1
- package/dist/apme/pareto.d.ts +2 -1
- package/dist/apme/pareto.d.ts.map +1 -1
- package/dist/apme/pareto.js +15 -4
- package/dist/apme/pareto.js.map +1 -1
- package/dist/apme/recommend.d.ts +24 -1
- package/dist/apme/recommend.d.ts.map +1 -1
- package/dist/apme/recommend.js +43 -7
- package/dist/apme/recommend.js.map +1 -1
- package/dist/apme/store.d.ts +47 -1
- package/dist/apme/store.d.ts.map +1 -1
- package/dist/apme/store.js +397 -99
- package/dist/apme/store.js.map +1 -1
- package/dist/bridge-core.d.ts +25 -1
- package/dist/bridge-core.d.ts.map +1 -1
- package/dist/bridge-core.js +50 -9
- package/dist/bridge-core.js.map +1 -1
- package/dist/card-feed.d.ts +46 -1
- package/dist/card-feed.d.ts.map +1 -1
- package/dist/card-feed.js +166 -6
- package/dist/card-feed.js.map +1 -1
- package/dist/cli.d.ts +56 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +442 -34
- package/dist/cli.js.map +1 -1
- package/dist/codex-rate-limits-live.d.ts +180 -10
- package/dist/codex-rate-limits-live.d.ts.map +1 -1
- package/dist/codex-rate-limits-live.js +475 -22
- package/dist/codex-rate-limits-live.js.map +1 -1
- package/dist/daemon-build-identity.d.ts +124 -0
- package/dist/daemon-build-identity.d.ts.map +1 -0
- package/dist/daemon-build-identity.js +310 -0
- package/dist/daemon-build-identity.js.map +1 -0
- package/dist/daemon-server.d.ts +34 -6
- package/dist/daemon-server.d.ts.map +1 -1
- package/dist/daemon-server.js +876 -109
- package/dist/daemon-server.js.map +1 -1
- package/dist/daemon-takeover.d.ts +11 -0
- package/dist/daemon-takeover.d.ts.map +1 -1
- package/dist/daemon-takeover.js +62 -17
- package/dist/daemon-takeover.js.map +1 -1
- package/dist/daemon-ws-client.d.ts +1 -0
- package/dist/daemon-ws-client.d.ts.map +1 -1
- package/dist/daemon-ws-client.js +25 -16
- package/dist/daemon-ws-client.js.map +1 -1
- package/dist/daemon.js +1 -1
- package/dist/daemon.js.map +1 -1
- package/dist/esp32-serial.d.ts +18 -0
- package/dist/esp32-serial.d.ts.map +1 -1
- package/dist/esp32-serial.js +23 -1
- package/dist/esp32-serial.js.map +1 -1
- package/dist/font-pack.d.ts +15 -0
- package/dist/font-pack.d.ts.map +1 -0
- package/dist/font-pack.js +75 -0
- package/dist/font-pack.js.map +1 -0
- package/dist/glance-frame.d.ts.map +1 -1
- package/dist/glance-frame.js +5 -1
- package/dist/glance-frame.js.map +1 -1
- package/dist/hook-codex-sessions.d.ts +3 -1
- package/dist/hook-codex-sessions.d.ts.map +1 -1
- package/dist/hook-codex-sessions.js +27 -7
- package/dist/hook-codex-sessions.js.map +1 -1
- package/dist/http-auth-gate.d.ts.map +1 -1
- package/dist/http-auth-gate.js +9 -1
- package/dist/http-auth-gate.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/learning-pack.d.ts +24 -0
- package/dist/learning-pack.d.ts.map +1 -0
- package/dist/learning-pack.js +125 -0
- package/dist/learning-pack.js.map +1 -0
- package/dist/legacy-rearm-ledger.d.ts +56 -0
- package/dist/legacy-rearm-ledger.d.ts.map +1 -0
- package/dist/legacy-rearm-ledger.js +66 -0
- package/dist/legacy-rearm-ledger.js.map +1 -0
- package/dist/mdns.d.ts +33 -0
- package/dist/mdns.d.ts.map +1 -1
- package/dist/mdns.js +92 -3
- package/dist/mdns.js.map +1 -1
- package/dist/openclaw-session.d.ts.map +1 -1
- package/dist/openclaw-session.js +13 -0
- package/dist/openclaw-session.js.map +1 -1
- package/dist/openclaw-timeline-feed.d.ts +84 -0
- package/dist/openclaw-timeline-feed.d.ts.map +1 -0
- package/dist/openclaw-timeline-feed.js +162 -0
- package/dist/openclaw-timeline-feed.js.map +1 -0
- package/dist/openclaw-transcript-timeline.d.ts +103 -0
- package/dist/openclaw-transcript-timeline.d.ts.map +1 -0
- package/dist/openclaw-transcript-timeline.js +328 -0
- package/dist/openclaw-transcript-timeline.js.map +1 -0
- package/dist/pairing-knocks.d.ts +80 -0
- package/dist/pairing-knocks.d.ts.map +1 -0
- package/dist/pairing-knocks.js +312 -0
- package/dist/pairing-knocks.js.map +1 -0
- package/dist/passive-observer.d.ts +21 -1
- package/dist/passive-observer.d.ts.map +1 -1
- package/dist/passive-observer.js +37 -3
- package/dist/passive-observer.js.map +1 -1
- package/dist/pixoo/micro-glyphs.d.ts +4 -0
- package/dist/pixoo/micro-glyphs.d.ts.map +1 -1
- package/dist/pixoo/micro-glyphs.js +29 -0
- package/dist/pixoo/micro-glyphs.js.map +1 -1
- package/dist/pixoo/pixoo-font.d.ts.map +1 -1
- package/dist/pixoo/pixoo-font.js +3 -1
- package/dist/pixoo/pixoo-font.js.map +1 -1
- package/dist/pixoo/pixoo-renderer.d.ts +1 -1
- package/dist/pixoo/pixoo-renderer.d.ts.map +1 -1
- package/dist/pixoo/pixoo-renderer.js +17 -2
- package/dist/pixoo/pixoo-renderer.js.map +1 -1
- package/dist/pty-manager.d.ts +9 -0
- package/dist/pty-manager.d.ts.map +1 -1
- package/dist/pty-manager.js +63 -4
- package/dist/pty-manager.js.map +1 -1
- package/dist/relayed-usage.d.ts +98 -0
- package/dist/relayed-usage.d.ts.map +1 -0
- package/dist/relayed-usage.js +103 -0
- package/dist/relayed-usage.js.map +1 -0
- package/dist/session-aggregator.d.ts +3 -0
- package/dist/session-aggregator.d.ts.map +1 -1
- package/dist/session-aggregator.js.map +1 -1
- package/dist/session-registry.d.ts +1 -0
- package/dist/session-registry.d.ts.map +1 -1
- package/dist/surface-protocol.d.ts +84 -0
- package/dist/surface-protocol.d.ts.map +1 -0
- package/dist/surface-protocol.js +237 -0
- package/dist/surface-protocol.js.map +1 -0
- package/dist/timeline-store.d.ts +1 -1
- package/dist/timeline-store.d.ts.map +1 -1
- package/dist/timeline-store.js +16 -1
- package/dist/timeline-store.js.map +1 -1
- package/dist/tui/dashboard.d.ts.map +1 -1
- package/dist/tui/dashboard.js +8 -1
- package/dist/tui/dashboard.js.map +1 -1
- package/dist/tui/renderer.d.ts.map +1 -1
- package/dist/tui/renderer.js +35 -0
- package/dist/tui/renderer.js.map +1 -1
- package/dist/weather-config.d.ts +17 -0
- package/dist/weather-config.d.ts.map +1 -0
- package/dist/weather-config.js +54 -0
- package/dist/weather-config.js.map +1 -0
- package/dist/weather.d.ts +44 -4
- package/dist/weather.d.ts.map +1 -1
- package/dist/weather.js +223 -15
- package/dist/weather.js.map +1 -1
- package/dist/ws-server.d.ts +18 -0
- package/dist/ws-server.d.ts.map +1 -1
- package/dist/ws-server.js +95 -7
- package/dist/ws-server.js.map +1 -1
- package/fm-helper/AgentDeckFMHelper.swift +51 -5
- package/package.json +4 -3
- package/src/timebox/sync_ble.py +35 -16
package/dist/card-feed.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* broadcasts). M7 generalizes to daemon card modules; the Node daemon injects
|
|
9
9
|
* Autonomous Pocket's PULSE / NUDGE / QUEST producers into this pure builder.
|
|
10
10
|
*/
|
|
11
|
-
import type { SessionInfo, FeedCard, CardFeedResponse, CardFeedGlance, GlanceEvent, GlanceUsageRow, GlanceWeather, OutboxPushRequest, OutboxPushResponse } from '@agentdeck/shared';
|
|
11
|
+
import type { SessionInfo, FeedCard, CardFeedResponse, CardFeedGlance, GlanceEvent, GlanceUsageRow, GlanceWeather, OutboxDecision, OutboxDecisionResult, OutboxPushRequest, OutboxPushResponse } from '@agentdeck/shared';
|
|
12
12
|
import type { UsageEvent } from './types.js';
|
|
13
13
|
import { type CardModule } from './card-modules.js';
|
|
14
14
|
/** A pulled permission gate is answerable only while the PreToolUse long-poll
|
|
@@ -38,6 +38,14 @@ export declare function buildGlance(input: {
|
|
|
38
38
|
weather?: GlanceWeather;
|
|
39
39
|
events?: GlanceEvent[];
|
|
40
40
|
}): CardFeedGlance | undefined;
|
|
41
|
+
/** Wire projection for constrained portable readers.
|
|
42
|
+
*
|
|
43
|
+
* The provider weather object also carries attribution and scheduled cues for
|
|
44
|
+
* richer clients. Portable readers receive only fields they negotiated. The
|
|
45
|
+
* five-day outlook is reduced to date/WMO/min/max/rain, avoiding verbose
|
|
46
|
+
* summaries and provider metadata while still answering practical forecast
|
|
47
|
+
* questions on-device. This also keeps the response compact on dual-NIC LANs. */
|
|
48
|
+
export declare function projectPortableReaderGlance(glance: CardFeedGlance | undefined, includeOutlook?: boolean): CardFeedGlance | undefined;
|
|
41
49
|
/** FNV-1a 32-bit over the canonical feed content: cards with volatile fields
|
|
42
50
|
* stripped (see `VOLATILE_SESSION_FIELDS`) plus the glance verbatim. Matching
|
|
43
51
|
* sigs mean the device's cached deck is still exactly what the daemon would
|
|
@@ -67,17 +75,39 @@ export interface OutboxApplyDeps {
|
|
|
67
75
|
/** Card modules a `card_choice` may route to (M7). Defaults to the
|
|
68
76
|
* registered set — overridden in tests. */
|
|
69
77
|
modules?: CardModule[];
|
|
78
|
+
/** Daemon-lifetime duplicate suppression for response-loss retries. */
|
|
79
|
+
idempotency?: OutboxIdempotencyLedger;
|
|
80
|
+
}
|
|
81
|
+
/** Bounded daemon-lifetime ledger for response-loss retries. */
|
|
82
|
+
export declare class OutboxIdempotencyLedger {
|
|
83
|
+
private readonly limit;
|
|
84
|
+
private readonly outcomes;
|
|
85
|
+
constructor(limit?: number);
|
|
86
|
+
get(decision: OutboxDecision): OutboxDecisionResult | undefined;
|
|
87
|
+
remember(decision: OutboxDecision, result: OutboxDecisionResult): void;
|
|
70
88
|
}
|
|
71
89
|
/** Observed cadence within this fraction of the advertised `nextPullSec`
|
|
72
90
|
* counts as honoured — the device really slept and its timer really woke it.
|
|
73
91
|
* The XTeink boards run a drifty internal timer (no usable RTC alarm), so
|
|
74
92
|
* the band is generous; anything outside it is a wake worth looking at. */
|
|
75
93
|
export declare const PULL_CADENCE_TOLERANCE = 0.25;
|
|
94
|
+
/**
|
|
95
|
+
* A staged image always takes precedence over a full portable Feed. The
|
|
96
|
+
* device already has a durable deck on SD, while the small `unchanged`
|
|
97
|
+
* envelope is the only prerequisite for entering the resumable OTA path.
|
|
98
|
+
* Making this RSSI-independent avoids unstable threshold crossings between
|
|
99
|
+
* discovery and the redirected request.
|
|
100
|
+
*/
|
|
101
|
+
export declare function applyPullOtaBootstrap(feed: CardFeedResponse, hasFirmwareAdvert: boolean): boolean;
|
|
76
102
|
export interface FeedPullEvent {
|
|
77
103
|
/** Client IP — the only identity a `GET /feed` carries. */
|
|
78
104
|
client: string;
|
|
79
105
|
/** Board id, learned from an outbox push or the WiFi WS registry. */
|
|
80
106
|
board?: string;
|
|
107
|
+
productId?: string;
|
|
108
|
+
clientId?: string;
|
|
109
|
+
clientVersion?: string;
|
|
110
|
+
profile?: string;
|
|
81
111
|
at: number;
|
|
82
112
|
cards: number;
|
|
83
113
|
/** Cadence advertised to this client on *this* pull. */
|
|
@@ -101,6 +131,10 @@ export interface FeedPullEvent {
|
|
|
101
131
|
export interface FeedPullClient {
|
|
102
132
|
client: string;
|
|
103
133
|
board?: string;
|
|
134
|
+
productId?: string;
|
|
135
|
+
clientId?: string;
|
|
136
|
+
clientVersion?: string;
|
|
137
|
+
profile?: string;
|
|
104
138
|
pulls: number;
|
|
105
139
|
firstPullAt: number;
|
|
106
140
|
lastPullAt: number;
|
|
@@ -126,6 +160,13 @@ export interface PullTelemetry {
|
|
|
126
160
|
battMv?: number;
|
|
127
161
|
rssiDbm?: number;
|
|
128
162
|
}
|
|
163
|
+
export interface FeedPullIdentity {
|
|
164
|
+
board?: string;
|
|
165
|
+
productId?: string;
|
|
166
|
+
clientId?: string;
|
|
167
|
+
clientVersion?: string;
|
|
168
|
+
profile?: string;
|
|
169
|
+
}
|
|
129
170
|
/** Parse `batt`/`mv`/`rssi` query params, dropping anything non-numeric or
|
|
130
171
|
* out of physical range — telemetry is advisory, never trusted blindly. */
|
|
131
172
|
export declare function parsePullTelemetry(params: URLSearchParams): PullTelemetry;
|
|
@@ -138,12 +179,16 @@ export declare class FeedPullTracker {
|
|
|
138
179
|
/** Kept past the WiFi registry's 1h TTL: a client that sleeps for an hour
|
|
139
180
|
* ages out of the roster but must not lose its name here. */
|
|
140
181
|
private readonly boards;
|
|
182
|
+
private readonly identities;
|
|
141
183
|
private readonly intervalWindow;
|
|
142
184
|
constructor(opts?: {
|
|
143
185
|
historyLimit?: number;
|
|
144
186
|
});
|
|
145
187
|
/** Bind a board id to a client IP (outbox `board`, or a WiFi WS lookup). */
|
|
146
188
|
noteBoard(client: string, board?: string): void;
|
|
189
|
+
/** Bind the non-secret Surface declaration to the pulling peer for
|
|
190
|
+
* diagnostics. Token/auth material is deliberately not accepted here. */
|
|
191
|
+
noteIdentity(client: string, identity: FeedPullIdentity): void;
|
|
147
192
|
record(client: string, info: {
|
|
148
193
|
cards: number;
|
|
149
194
|
nextPullSec: number;
|
package/dist/card-feed.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-feed.d.ts","sourceRoot":"","sources":["../src/card-feed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,cAAc,EACd,aAAa,
|
|
1
|
+
{"version":3,"file":"card-feed.d.ts","sourceRoot":"","sources":["../src/card-feed.ts"],"names":[],"mappings":"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"}
|
package/dist/card-feed.js
CHANGED
|
@@ -131,6 +131,68 @@ export function buildGlance(input) {
|
|
|
131
131
|
glance.events = input.events;
|
|
132
132
|
return Object.keys(glance).length > 0 ? glance : undefined;
|
|
133
133
|
}
|
|
134
|
+
/** Wire projection for constrained portable readers.
|
|
135
|
+
*
|
|
136
|
+
* The provider weather object also carries attribution and scheduled cues for
|
|
137
|
+
* richer clients. Portable readers receive only fields they negotiated. The
|
|
138
|
+
* five-day outlook is reduced to date/WMO/min/max/rain, avoiding verbose
|
|
139
|
+
* summaries and provider metadata while still answering practical forecast
|
|
140
|
+
* questions on-device. This also keeps the response compact on dual-NIC LANs. */
|
|
141
|
+
export function projectPortableReaderGlance(glance, includeOutlook = false) {
|
|
142
|
+
if (!glance)
|
|
143
|
+
return undefined;
|
|
144
|
+
const projected = {};
|
|
145
|
+
const w = glance.weather;
|
|
146
|
+
if (w) {
|
|
147
|
+
projected.weather = {
|
|
148
|
+
...(w.place !== undefined ? { place: w.place } : {}),
|
|
149
|
+
...(w.tempC !== undefined ? { tempC: w.tempC } : {}),
|
|
150
|
+
...(w.code !== undefined ? { code: w.code } : {}),
|
|
151
|
+
...(w.summary !== undefined ? { summary: w.summary } : {}),
|
|
152
|
+
...(w.todayMinC !== undefined ? { todayMinC: w.todayMinC } : {}),
|
|
153
|
+
...(w.todayMaxC !== undefined ? { todayMaxC: w.todayMaxC } : {}),
|
|
154
|
+
...(w.rain ? {
|
|
155
|
+
rain: {
|
|
156
|
+
startHm: w.rain.startHm,
|
|
157
|
+
...(w.rain.endHm !== undefined ? { endHm: w.rain.endHm } : {}),
|
|
158
|
+
...(w.rain.probability !== undefined ? { probability: w.rain.probability } : {}),
|
|
159
|
+
},
|
|
160
|
+
} : {}),
|
|
161
|
+
...(includeOutlook && w.days && w.days.length >= 2 ? {
|
|
162
|
+
// Five columns fit the X3 portrait ribbon. Summaries are intentionally
|
|
163
|
+
// omitted here: the WMO code drives the local glyph and preserving
|
|
164
|
+
// dates/temperature/rain probability is more useful per wire byte.
|
|
165
|
+
days: w.days.slice(0, 5).map((day) => ({
|
|
166
|
+
...(day.date !== undefined ? { date: day.date } : {}),
|
|
167
|
+
...(day.code !== undefined ? { code: day.code } : {}),
|
|
168
|
+
...(day.minC !== undefined ? { minC: day.minC } : {}),
|
|
169
|
+
...(day.maxC !== undefined ? { maxC: day.maxC } : {}),
|
|
170
|
+
...(day.rainProbability !== undefined && day.rainProbability > 0
|
|
171
|
+
? { rainProbability: day.rainProbability }
|
|
172
|
+
: {}),
|
|
173
|
+
})),
|
|
174
|
+
} : w.tomorrow ? {
|
|
175
|
+
tomorrow: {
|
|
176
|
+
...(w.tomorrow.summary !== undefined ? { summary: w.tomorrow.summary } : {}),
|
|
177
|
+
...(w.tomorrow.code !== undefined ? { code: w.tomorrow.code } : {}),
|
|
178
|
+
...(w.tomorrow.minC !== undefined ? { minC: w.tomorrow.minC } : {}),
|
|
179
|
+
...(w.tomorrow.maxC !== undefined ? { maxC: w.tomorrow.maxC } : {}),
|
|
180
|
+
...(w.tomorrow.rainProbability !== undefined
|
|
181
|
+
? { rainProbability: w.tomorrow.rainProbability }
|
|
182
|
+
: {}),
|
|
183
|
+
},
|
|
184
|
+
} : {}),
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
// Provider quotas and workstation wrap-up are AgentDeck Dashboard content,
|
|
188
|
+
// not part of the current Pocket face. Omitting them is semantic projection,
|
|
189
|
+
// not lossy compression: the X3/X4 parser stores them but no Pocket renderer
|
|
190
|
+
// consumes them. Add them back only with a profile capability and UI that
|
|
191
|
+
// actually presents them.
|
|
192
|
+
if (glance.events?.length)
|
|
193
|
+
projected.events = glance.events;
|
|
194
|
+
return Object.keys(projected).length > 0 ? projected : undefined;
|
|
195
|
+
}
|
|
134
196
|
// ===== Conditional pull — the content signature =====
|
|
135
197
|
/** Fields excluded from the deck signature because they are derived from the
|
|
136
198
|
* CURRENT CLOCK rather than from content. Any such field makes the signature
|
|
@@ -210,6 +272,46 @@ export function buildCardFeed(sessions, now = Date.now(), modules = DEFAULT_CARD
|
|
|
210
272
|
const OUTBOX_ACTIONS = new Set([
|
|
211
273
|
'permission_decision', 'select_option', 'respond', 'send_prompt', 'dismiss', 'card_choice',
|
|
212
274
|
]);
|
|
275
|
+
function outboxDecisionKey(d) {
|
|
276
|
+
// `ageSec` is intentionally absent: Pocket recomputes it on each retry, so
|
|
277
|
+
// including it would turn a lost HTTP response into a second control press.
|
|
278
|
+
return JSON.stringify({
|
|
279
|
+
cardId: d.cardId,
|
|
280
|
+
sessionId: d.sessionId,
|
|
281
|
+
requestId: d.requestId,
|
|
282
|
+
action: d.action,
|
|
283
|
+
choiceId: d.choiceId,
|
|
284
|
+
decision: d.decision,
|
|
285
|
+
index: d.index,
|
|
286
|
+
value: d.value,
|
|
287
|
+
text: d.text,
|
|
288
|
+
question: d.question,
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
/** Bounded daemon-lifetime ledger for response-loss retries. */
|
|
292
|
+
export class OutboxIdempotencyLedger {
|
|
293
|
+
limit;
|
|
294
|
+
outcomes = new Map();
|
|
295
|
+
constructor(limit = 1024) {
|
|
296
|
+
this.limit = limit;
|
|
297
|
+
}
|
|
298
|
+
get(decision) {
|
|
299
|
+
const result = this.outcomes.get(outboxDecisionKey(decision));
|
|
300
|
+
return result ? { ...result } : undefined;
|
|
301
|
+
}
|
|
302
|
+
remember(decision, result) {
|
|
303
|
+
const key = outboxDecisionKey(decision);
|
|
304
|
+
if (this.outcomes.has(key))
|
|
305
|
+
this.outcomes.delete(key);
|
|
306
|
+
this.outcomes.set(key, { ...result });
|
|
307
|
+
while (this.outcomes.size > this.limit) {
|
|
308
|
+
const oldest = this.outcomes.keys().next().value;
|
|
309
|
+
if (oldest === undefined)
|
|
310
|
+
break;
|
|
311
|
+
this.outcomes.delete(oldest);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
213
315
|
function sessionIdOf(d) {
|
|
214
316
|
if (typeof d.sessionId === 'string' && d.sessionId)
|
|
215
317
|
return d.sessionId;
|
|
@@ -295,6 +397,21 @@ function applyOne(d, deps) {
|
|
|
295
397
|
* The XTeink boards run a drifty internal timer (no usable RTC alarm), so
|
|
296
398
|
* the band is generous; anything outside it is a wake worth looking at. */
|
|
297
399
|
export const PULL_CADENCE_TOLERANCE = 0.25;
|
|
400
|
+
/**
|
|
401
|
+
* A staged image always takes precedence over a full portable Feed. The
|
|
402
|
+
* device already has a durable deck on SD, while the small `unchanged`
|
|
403
|
+
* envelope is the only prerequisite for entering the resumable OTA path.
|
|
404
|
+
* Making this RSSI-independent avoids unstable threshold crossings between
|
|
405
|
+
* discovery and the redirected request.
|
|
406
|
+
*/
|
|
407
|
+
export function applyPullOtaBootstrap(feed, hasFirmwareAdvert) {
|
|
408
|
+
if (!hasFirmwareAdvert || feed.unchanged)
|
|
409
|
+
return false;
|
|
410
|
+
feed.cards = [];
|
|
411
|
+
feed.unchanged = true;
|
|
412
|
+
delete feed.glance;
|
|
413
|
+
return true;
|
|
414
|
+
}
|
|
298
415
|
/** `::ffff:192.168.68.77` and `::1` are the same peers as their v4 forms. */
|
|
299
416
|
export function normalizeClientIp(ip) {
|
|
300
417
|
const s = (ip || '').trim();
|
|
@@ -308,13 +425,16 @@ export function normalizeClientIp(ip) {
|
|
|
308
425
|
* out of physical range — telemetry is advisory, never trusted blindly. */
|
|
309
426
|
export function parsePullTelemetry(params) {
|
|
310
427
|
const out = {};
|
|
311
|
-
const
|
|
428
|
+
const battRaw = params.get('batt');
|
|
429
|
+
const batt = battRaw === null ? Number.NaN : Number(battRaw);
|
|
312
430
|
if (Number.isFinite(batt) && batt >= 0 && batt <= 100)
|
|
313
431
|
out.battPct = Math.round(batt);
|
|
314
|
-
const
|
|
432
|
+
const mvRaw = params.get('mv');
|
|
433
|
+
const mv = mvRaw === null ? Number.NaN : Number(mvRaw);
|
|
315
434
|
if (Number.isFinite(mv) && mv > 0 && mv < 10000)
|
|
316
435
|
out.battMv = Math.round(mv);
|
|
317
|
-
const
|
|
436
|
+
const rssiRaw = params.get('rssi');
|
|
437
|
+
const rssi = rssiRaw === null ? Number.NaN : Number(rssiRaw);
|
|
318
438
|
if (Number.isFinite(rssi) && rssi >= -120 && rssi < 0)
|
|
319
439
|
out.rssiDbm = Math.round(rssi);
|
|
320
440
|
return out;
|
|
@@ -328,6 +448,7 @@ export class FeedPullTracker {
|
|
|
328
448
|
/** Kept past the WiFi registry's 1h TTL: a client that sleeps for an hour
|
|
329
449
|
* ages out of the roster but must not lose its name here. */
|
|
330
450
|
boards = new Map();
|
|
451
|
+
identities = new Map();
|
|
331
452
|
intervalWindow = 16;
|
|
332
453
|
constructor(opts = {}) {
|
|
333
454
|
this.historyLimit = opts.historyLimit ?? 32;
|
|
@@ -342,14 +463,39 @@ export class FeedPullTracker {
|
|
|
342
463
|
if (st)
|
|
343
464
|
st.board = board;
|
|
344
465
|
}
|
|
466
|
+
/** Bind the non-secret Surface declaration to the pulling peer for
|
|
467
|
+
* diagnostics. Token/auth material is deliberately not accepted here. */
|
|
468
|
+
noteIdentity(client, identity) {
|
|
469
|
+
const ip = normalizeClientIp(client);
|
|
470
|
+
if (!ip)
|
|
471
|
+
return;
|
|
472
|
+
const clean = Object.fromEntries(Object.entries(identity).filter(([, value]) => typeof value === 'string' && value));
|
|
473
|
+
if (Object.keys(clean).length === 0)
|
|
474
|
+
return;
|
|
475
|
+
this.identities.set(ip, { ...this.identities.get(ip), ...clean });
|
|
476
|
+
if (clean.board)
|
|
477
|
+
this.noteBoard(ip, clean.board);
|
|
478
|
+
const state = this.states.get(ip);
|
|
479
|
+
if (state)
|
|
480
|
+
Object.assign(state, clean);
|
|
481
|
+
}
|
|
345
482
|
record(client, info) {
|
|
346
483
|
const ip = normalizeClientIp(client);
|
|
347
484
|
const at = info.now ?? Date.now();
|
|
348
485
|
const prev = this.states.get(ip);
|
|
349
486
|
const board = this.boards.get(ip) ?? prev?.board;
|
|
487
|
+
const identity = this.identities.get(ip);
|
|
350
488
|
const event = { client: ip, at, cards: info.cards, nextPullSec: info.nextPullSec };
|
|
351
489
|
if (board)
|
|
352
490
|
event.board = board;
|
|
491
|
+
if (identity?.productId)
|
|
492
|
+
event.productId = identity.productId;
|
|
493
|
+
if (identity?.clientId)
|
|
494
|
+
event.clientId = identity.clientId;
|
|
495
|
+
if (identity?.clientVersion)
|
|
496
|
+
event.clientVersion = identity.clientVersion;
|
|
497
|
+
if (identity?.profile)
|
|
498
|
+
event.profile = identity.profile;
|
|
353
499
|
if (info.unchanged)
|
|
354
500
|
event.unchanged = true;
|
|
355
501
|
const tel = info.telemetry;
|
|
@@ -379,6 +525,8 @@ export class FeedPullTracker {
|
|
|
379
525
|
prev.cadenceHonouredCount += 1;
|
|
380
526
|
if (board)
|
|
381
527
|
prev.board = board;
|
|
528
|
+
if (identity)
|
|
529
|
+
Object.assign(prev, identity);
|
|
382
530
|
if (info.unchanged)
|
|
383
531
|
prev.unchangedCount += 1;
|
|
384
532
|
if (tel?.battPct !== undefined)
|
|
@@ -391,6 +539,7 @@ export class FeedPullTracker {
|
|
|
391
539
|
else {
|
|
392
540
|
this.states.set(ip, {
|
|
393
541
|
board,
|
|
542
|
+
...identity,
|
|
394
543
|
pulls: 1,
|
|
395
544
|
firstPullAt: at,
|
|
396
545
|
lastPullAt: at,
|
|
@@ -424,6 +573,10 @@ export class FeedPullTracker {
|
|
|
424
573
|
out.push({
|
|
425
574
|
client,
|
|
426
575
|
...(st.board ? { board: st.board } : {}),
|
|
576
|
+
...(st.productId ? { productId: st.productId } : {}),
|
|
577
|
+
...(st.clientId ? { clientId: st.clientId } : {}),
|
|
578
|
+
...(st.clientVersion ? { clientVersion: st.clientVersion } : {}),
|
|
579
|
+
...(st.profile ? { profile: st.profile } : {}),
|
|
427
580
|
pulls: st.pulls,
|
|
428
581
|
firstPullAt: st.firstPullAt,
|
|
429
582
|
lastPullAt: st.lastPullAt,
|
|
@@ -443,7 +596,8 @@ export class FeedPullTracker {
|
|
|
443
596
|
/** One-line log form. `+3.2%` is the sleeping client's timer drift against the
|
|
444
597
|
* cadence the daemon advertised — the M6 power-ladder verification signal. */
|
|
445
598
|
export function formatFeedPull(ev) {
|
|
446
|
-
const
|
|
599
|
+
const product = ev.productId ? `${ev.productId}${ev.clientVersion ? ` v${ev.clientVersion}` : ''} · ` : '';
|
|
600
|
+
const who = ev.board ? `${product}${ev.board} (${ev.client})` : `${product}${ev.client}`;
|
|
447
601
|
const what = ev.unchanged ? 'unchanged' : `${ev.cards} card${ev.cards === 1 ? '' : 's'}`;
|
|
448
602
|
const tel = [
|
|
449
603
|
ev.battPct !== undefined ? `batt ${ev.battPct}%` : undefined,
|
|
@@ -465,16 +619,22 @@ export function formatFeedPull(ev) {
|
|
|
465
619
|
export function applyOutboxDecisions(req, deps) {
|
|
466
620
|
const decisions = Array.isArray(req?.decisions) ? req.decisions : [];
|
|
467
621
|
const results = decisions.map((d) => {
|
|
622
|
+
const cached = deps.idempotency?.get(d);
|
|
623
|
+
if (cached)
|
|
624
|
+
return cached;
|
|
625
|
+
let result;
|
|
468
626
|
try {
|
|
469
|
-
|
|
627
|
+
result = applyOne(d ?? {}, deps);
|
|
470
628
|
}
|
|
471
629
|
catch (err) {
|
|
472
|
-
|
|
630
|
+
result = {
|
|
473
631
|
cardId: typeof d?.cardId === 'string' ? d.cardId : '',
|
|
474
632
|
status: 'error',
|
|
475
633
|
reason: err instanceof Error ? err.message : String(err),
|
|
476
634
|
};
|
|
477
635
|
}
|
|
636
|
+
deps.idempotency?.remember(d, result);
|
|
637
|
+
return result;
|
|
478
638
|
});
|
|
479
639
|
return { ok: results.every((r) => r.status !== 'error'), results };
|
|
480
640
|
}
|
package/dist/card-feed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-feed.js","sourceRoot":"","sources":["../src/card-feed.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"card-feed.js","sourceRoot":"","sources":["../src/card-feed.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from 'commander';
|
|
3
|
+
export type LegacySessionCommand = 'claude' | 'codex' | 'opencode' | 'monitor';
|
|
4
|
+
/**
|
|
5
|
+
* User-visible compatibility notice for the legacy per-session bridge. Keep
|
|
6
|
+
* this pure so CLI tests can pin the public migration contract without starting
|
|
7
|
+
* a PTY or importing its native dependencies.
|
|
8
|
+
*/
|
|
9
|
+
export declare function managedPtyCompatibilityNotice(command: LegacySessionCommand): string[];
|
|
3
10
|
export declare function daemonPostureArgs(opts: {
|
|
4
11
|
local?: boolean;
|
|
5
12
|
loopback?: boolean;
|
|
@@ -17,6 +24,19 @@ export declare const ESP32_OTA_BY_TARGET: Record<string, {
|
|
|
17
24
|
* and future targeting still works. Exported for testing.
|
|
18
25
|
*/
|
|
19
26
|
export declare function resolveEsp32OtaDaemonTarget(target: string): string;
|
|
27
|
+
export interface CliOtaIdentity {
|
|
28
|
+
productId: string;
|
|
29
|
+
board: string;
|
|
30
|
+
updateChannel: string;
|
|
31
|
+
}
|
|
32
|
+
export declare function inlineOtaPayload(target: string, firmwareB64: string, opts?: {
|
|
33
|
+
stage?: boolean;
|
|
34
|
+
identity?: CliOtaIdentity;
|
|
35
|
+
}): Record<string, unknown>;
|
|
36
|
+
/** Resolve one exact OTA namespace from an integration manifest. Ambiguity is
|
|
37
|
+
* an error: a release command must never guess which product or channel owns
|
|
38
|
+
* an image. */
|
|
39
|
+
export declare function resolveOtaIdentityFromManifest(manifestPath: string, board: string, productId?: string, updateChannel?: string): CliOtaIdentity;
|
|
20
40
|
/** Env var holding extra args for the spawned agent command, per agent type. */
|
|
21
41
|
declare const AGENT_ARGS_ENV: Record<'claude-code' | 'codex-cli' | 'opencode', string>;
|
|
22
42
|
/**
|
|
@@ -53,6 +73,42 @@ export declare function weaveAgentCommand(agentType: keyof typeof AGENT_ARGS_ENV
|
|
|
53
73
|
*/
|
|
54
74
|
export declare function resolveAgentCommand(agentType: keyof typeof AGENT_ARGS_ENV, command: string, envArgsEnabled: boolean, env?: NodeJS.ProcessEnv): string;
|
|
55
75
|
declare const program: Command;
|
|
76
|
+
/**
|
|
77
|
+
* Poll until a daemon reporting `pid` answers `/health`, or give up.
|
|
78
|
+
*
|
|
79
|
+
* The pid comparison is the load-bearing part: probing the port alone can be
|
|
80
|
+
* satisfied by the daemon we were trying to REPLACE (a stop that silently
|
|
81
|
+
* failed), which would report a restart that never happened. The fallback-port
|
|
82
|
+
* sweep exists because the daemon is allowed to land elsewhere when it cannot
|
|
83
|
+
* win its preferred port — that is a different outcome from "did not start",
|
|
84
|
+
* and the caller says so rather than calling it a failure.
|
|
85
|
+
*/
|
|
86
|
+
export declare function waitForDaemonPid(pid: number, preferredPort: number, probeHealth: (port: number) => Promise<{
|
|
87
|
+
pid?: number;
|
|
88
|
+
} | null>, readDaemonInfo: () => {
|
|
89
|
+
httpPort?: number;
|
|
90
|
+
port?: number;
|
|
91
|
+
} | null, findDaemonPort: () => number | null, timeoutMs?: number,
|
|
92
|
+
/**
|
|
93
|
+
* Is the spawned child still running?
|
|
94
|
+
*
|
|
95
|
+
* A derived timeout is still a guess, and this one was wrong twice: the
|
|
96
|
+
* budget has to cover not just the child's port-reclaim wait but its
|
|
97
|
+
* incumbent negotiation first — a Swift daemon standing down costs up to
|
|
98
|
+
* `EXIT_WAIT_MS + BINDABLE_WAIT_MS` before `startDaemon` is even reached, so
|
|
99
|
+
* the whole worst case runs past a minute. Giving up early prints
|
|
100
|
+
* "restart FAILED" while the daemon is coming up, and the user's natural
|
|
101
|
+
* retry then kills it.
|
|
102
|
+
*
|
|
103
|
+
* "The child is still running" is a real condition rather than a derived one,
|
|
104
|
+
* so `timeoutMs` becomes a floor: while the child is alive we keep waiting,
|
|
105
|
+
* and only a child that EXITED without a matching pid is a failure. The
|
|
106
|
+
* ceiling still bounds a child that hangs forever.
|
|
107
|
+
*/
|
|
108
|
+
isChildAlive?: () => boolean, ceilingMs?: number, onStillWaiting?: (pid: number) => void): Promise<{
|
|
109
|
+
pid: number;
|
|
110
|
+
port: number;
|
|
111
|
+
} | null>;
|
|
56
112
|
export declare function runCli(argv?: string[]): Promise<void>;
|
|
57
113
|
export { program };
|
|
58
114
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|