@songsid/agend 2.3.0-beta.7 → 2.3.0-beta.9
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/agent-cli-instructions.md +2 -1
- package/dist/agent-cli.js +3 -0
- package/dist/agent-cli.js.map +1 -1
- package/dist/agent-whats-new.js +2 -0
- package/dist/agent-whats-new.js.map +1 -1
- package/dist/channel/mcp-tools.js +3 -3
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/daemon.d.ts +2 -0
- package/dist/daemon.js +29 -9
- package/dist/daemon.js.map +1 -1
- package/dist/decision-list.d.ts +25 -0
- package/dist/decision-list.js +30 -0
- package/dist/decision-list.js.map +1 -0
- package/dist/fleet-manager.d.ts +9 -2
- package/dist/fleet-manager.js +44 -12
- package/dist/fleet-manager.js.map +1 -1
- package/dist/fleet-traffic.d.ts +36 -0
- package/dist/fleet-traffic.js +100 -0
- package/dist/fleet-traffic.js.map +1 -1
- package/dist/general-knowledge/skills/web-appearance/SKILL.md +17 -10
- package/dist/general-knowledge/skills/web-dashboard/SKILL.md +32 -13
- package/dist/instance-config-impact.js +1 -0
- package/dist/instance-config-impact.js.map +1 -1
- package/dist/outbound-handlers.js +4 -1
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/outbound-schemas.d.ts +6 -4
- package/dist/outbound-schemas.js +7 -3
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/settings-api.js +4 -0
- package/dist/settings-api.js.map +1 -1
- package/dist/settings-change.js +4 -0
- package/dist/settings-change.js.map +1 -1
- package/dist/settings-effect.js +2 -0
- package/dist/settings-effect.js.map +1 -1
- package/dist/tool-permissions.js +9 -42
- package/dist/tool-permissions.js.map +1 -1
- package/dist/ui/app-effects.js +9 -5
- package/dist/ui/chat-ambient.js +8 -7
- package/dist/ui/chat-effect-posters.js +3 -2
- package/dist/ui/chat-effects.js +22 -15
- package/dist/ui/chat-render.js +5 -2
- package/dist/ui/chat-strings.js +6 -4
- package/dist/ui/chat-thread.js +134 -17
- package/dist/ui/effect-trial-controller.js +13 -8
- package/dist/ui/fleet-canvas.js +54 -18
- package/dist/ui/fleet-org.js +3 -3
- package/dist/ui/fleet-traffic.js +156 -37
- package/dist/ui/fleet-usage.js +401 -0
- package/dist/ui/panel-chat.js +101 -47
- package/dist/ui/panel-fleet.js +6 -5
- package/dist/ui/panel-settings.js +6 -1
- package/dist/ui/settings-owner-effects.js +1 -1
- package/dist/ui/settings-strings.js +2 -0
- package/dist/ui/shared/agend-auth.js +1 -1
- package/dist/ui/shared/app-route.js +1 -1
- package/dist/ui/shared/app-stream.js +3 -2
- package/dist/ui/shared/app.css +89 -9
- package/dist/ui/shared/effect-app-runtime.js +3 -3
- package/dist/ui/shared/effect-chat-runtime.js +1 -1
- package/dist/ui/shared/effect-policy.js +5 -6
- package/dist/ui/shared/effect-profiler.js +31 -9
- package/dist/ui/shared/effect-registry.js +23 -31
- package/dist/ui/shared/effect-stock-snapshot.js +9 -0
- package/dist/ui/shared/effect-stock-trust.js +37 -6
- package/dist/ui/shared/effect-trial-source.js +1 -1
- package/dist/ui/shared/effect-trial-stage.js +27 -21
- package/dist/ui/shared/effect-trial.css +1 -1
- package/dist/ui/shared/fx-motion.js +12 -3
- package/dist/ui/shared/tokens.css +9 -3
- package/dist/ui/shared/usage-dialog.js +8 -0
- package/dist/ui/shared/view-strings.js +4 -0
- package/dist/ui/web-terminal/terminal.css +4 -4
- package/dist/usage-report.d.ts +12 -1
- package/dist/usage-report.js +39 -8
- package/dist/usage-report.js.map +1 -1
- package/dist/web-ambient.js +9 -2
- package/dist/web-ambient.js.map +1 -1
- package/dist/web-api.d.ts +2 -0
- package/dist/web-api.js +8 -3
- package/dist/web-api.js.map +1 -1
- package/dist/web-settings-patch.d.ts +3 -1
- package/dist/web-settings-patch.js +4 -1
- package/dist/web-settings-patch.js.map +1 -1
- package/dist/web-shell-routes.d.ts +1 -1
- package/dist/web-shell-routes.js +1 -1
- package/dist/web-shell-routes.js.map +1 -1
- package/dist/workflow-templates/default.md +1 -1
- package/package.json +1 -1
package/dist/fleet-traffic.d.ts
CHANGED
|
@@ -36,3 +36,39 @@ export declare class TrafficLog {
|
|
|
36
36
|
snapshot(pending: readonly TrafficItem[]): TrafficItem[];
|
|
37
37
|
private prune;
|
|
38
38
|
}
|
|
39
|
+
export type DelegationState = "open" | "done" | "expired" | "cancelled";
|
|
40
|
+
/** A delegation as the page draws it: `age_ms` how long it has been open (the page's own clock times its expiry). */
|
|
41
|
+
export interface Delegation {
|
|
42
|
+
id: string;
|
|
43
|
+
from: string;
|
|
44
|
+
to: string;
|
|
45
|
+
state: DelegationState;
|
|
46
|
+
age_ms: number;
|
|
47
|
+
}
|
|
48
|
+
/** How long a delegation waits for its report before the canvas gives up on it ("no report yet"), and how many are open. */
|
|
49
|
+
export declare const DELEGATION_TTL_MS: number;
|
|
50
|
+
export declare const DELEGATIONS_MAX = 100;
|
|
51
|
+
/**
|
|
52
|
+
* The delegations open now. `note(row, item)` takes each traffic item with its row (for the correlation id, never sent
|
|
53
|
+
* on): a task delivery's admission opens one (keyed for its report by correlation id and the two names; its id is the
|
|
54
|
+
* delivery's own, so a new task with the same correlation id is a new delegation); that delivery failing or being
|
|
55
|
+
* cancelled takes it back; a report from the worker to the delegator with the same correlation id closes it. Each
|
|
56
|
+
* delivery counts once, at its first state: a later state of a task delivery that already opened one — delivered or
|
|
57
|
+
* consumed after its report came back, or after it expired — never opens it again, and a later state of a report never
|
|
58
|
+
* closes the next task of the same correlation id and pair. Returns the news, for the stream. The oldest go first past DELEGATIONS_MAX; an open
|
|
59
|
+
* one past DELEGATION_TTL_MS expires.
|
|
60
|
+
*/
|
|
61
|
+
export declare class Delegations {
|
|
62
|
+
private readonly monotonic;
|
|
63
|
+
private readonly open;
|
|
64
|
+
/** The deliveries (their traffic ids) already handled — tasks that opened one, reports taken: bounded, oldest out. */
|
|
65
|
+
private readonly handled;
|
|
66
|
+
constructor(monotonic?: () => number);
|
|
67
|
+
private ended;
|
|
68
|
+
note(row: Pick<OutboxDelivery, "correlationId">, item: TrafficItem): Delegation[];
|
|
69
|
+
private noteHandled;
|
|
70
|
+
/** What is open now (after expiring the ones past the TTL — the stream is told by the next note). */
|
|
71
|
+
snapshot(): Delegation[];
|
|
72
|
+
/** Expire what has waited past the TTL; returns the news. */
|
|
73
|
+
sweep(): Delegation[];
|
|
74
|
+
}
|
package/dist/fleet-traffic.js
CHANGED
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
* - Never a delivery id or any text: an opaque id (a hash of the delivery id) and the two instance names. A broadcast's
|
|
9
9
|
* items (one row per recipient) share an opaque `op`, so the page can draw them as one fan-out.
|
|
10
10
|
* - An instance whose cross_instance_visibility is "hidden" takes no part: a message to or from it is not shown.
|
|
11
|
+
* - The work, not just the message (Delegations): a task opens a delegation, delegator → worker, that stays open until
|
|
12
|
+
* the worker's report with the same correlation id comes back (the other way), so "who is working for whom" is on the
|
|
13
|
+
* canvas for as long as it is true, a reload or the public link included. Opaque ids again (a hash of the correlation
|
|
14
|
+
* id and the two names); capped, and given up after DELEGATION_TTL_MS with "no report yet".
|
|
11
15
|
*/
|
|
12
16
|
import { createHash } from "node:crypto";
|
|
13
17
|
import { crossInstanceVisibility } from "./cross-instance-notice.js";
|
|
@@ -93,4 +97,100 @@ export class TrafficLog {
|
|
|
93
97
|
this.items.delete(this.items.keys().next().value);
|
|
94
98
|
}
|
|
95
99
|
}
|
|
100
|
+
/** How long a delegation waits for its report before the canvas gives up on it ("no report yet"), and how many are open. */
|
|
101
|
+
export const DELEGATION_TTL_MS = 4 * 3_600_000;
|
|
102
|
+
export const DELEGATIONS_MAX = 100;
|
|
103
|
+
/** The pair a report closes: correlation id, delegator, worker. */
|
|
104
|
+
const pairKey = (correlationId, from, to) => `${correlationId}\u0000${from}\u0000${to}`;
|
|
105
|
+
const DEAD = new Set(["failed", "cancelled"]);
|
|
106
|
+
/** How many deliveries are remembered as handled: a task that opened one, a report that was taken (#2135 review). */
|
|
107
|
+
const HANDLED_MAX = 2000;
|
|
108
|
+
/**
|
|
109
|
+
* The delegations open now. `note(row, item)` takes each traffic item with its row (for the correlation id, never sent
|
|
110
|
+
* on): a task delivery's admission opens one (keyed for its report by correlation id and the two names; its id is the
|
|
111
|
+
* delivery's own, so a new task with the same correlation id is a new delegation); that delivery failing or being
|
|
112
|
+
* cancelled takes it back; a report from the worker to the delegator with the same correlation id closes it. Each
|
|
113
|
+
* delivery counts once, at its first state: a later state of a task delivery that already opened one — delivered or
|
|
114
|
+
* consumed after its report came back, or after it expired — never opens it again, and a later state of a report never
|
|
115
|
+
* closes the next task of the same correlation id and pair. Returns the news, for the stream. The oldest go first past DELEGATIONS_MAX; an open
|
|
116
|
+
* one past DELEGATION_TTL_MS expires.
|
|
117
|
+
*/
|
|
118
|
+
export class Delegations {
|
|
119
|
+
monotonic;
|
|
120
|
+
open = new Map();
|
|
121
|
+
/** The deliveries (their traffic ids) already handled — tasks that opened one, reports taken: bounded, oldest out. */
|
|
122
|
+
handled = new Set();
|
|
123
|
+
constructor(monotonic = () => performance.now()) {
|
|
124
|
+
this.monotonic = monotonic;
|
|
125
|
+
}
|
|
126
|
+
ended(d, state) {
|
|
127
|
+
return { id: d.id, from: d.from, to: d.to, state, age_ms: Math.max(0, this.monotonic() - d.openedMs) };
|
|
128
|
+
}
|
|
129
|
+
note(row, item) {
|
|
130
|
+
const news = this.sweep();
|
|
131
|
+
const corr = row.correlationId;
|
|
132
|
+
if (!corr || (item.kind !== "task" && item.kind !== "report"))
|
|
133
|
+
return news;
|
|
134
|
+
if (item.kind === "task") {
|
|
135
|
+
const key = pairKey(corr, item.from, item.to), cur = this.open.get(key);
|
|
136
|
+
if (DEAD.has(item.state)) {
|
|
137
|
+
if (cur && cur.task === item.id) {
|
|
138
|
+
this.open.delete(key);
|
|
139
|
+
news.push(this.ended(cur, "cancelled"));
|
|
140
|
+
}
|
|
141
|
+
return news;
|
|
142
|
+
}
|
|
143
|
+
if (this.handled.has(item.id))
|
|
144
|
+
return news; // a later state of a delivery that opened one already
|
|
145
|
+
this.noteHandled(item.id);
|
|
146
|
+
if (cur)
|
|
147
|
+
return news; // one is open for this pair and correlation: its report closes it
|
|
148
|
+
const d = { id: trafficId(`del:${item.id}`), task: item.id, from: item.from, to: item.to, openedMs: this.monotonic() };
|
|
149
|
+
this.open.set(key, d);
|
|
150
|
+
news.push({ id: d.id, from: d.from, to: d.to, state: "open", age_ms: 0 });
|
|
151
|
+
while (this.open.size > DELEGATIONS_MAX) {
|
|
152
|
+
const [oldKey, old] = this.open.entries().next().value;
|
|
153
|
+
this.open.delete(oldKey);
|
|
154
|
+
news.push(this.ended(old, "expired"));
|
|
155
|
+
}
|
|
156
|
+
return news;
|
|
157
|
+
}
|
|
158
|
+
// A report closes the task it answers: same correlation id, the other way round — once, at its first state (its later
|
|
159
|
+
// states are the same report, not an answer to a newer task).
|
|
160
|
+
if (this.handled.has(item.id))
|
|
161
|
+
return news;
|
|
162
|
+
this.noteHandled(item.id);
|
|
163
|
+
if (DEAD.has(item.state))
|
|
164
|
+
return news;
|
|
165
|
+
const key = pairKey(corr, item.to, item.from), d = this.open.get(key);
|
|
166
|
+
if (d) {
|
|
167
|
+
this.open.delete(key);
|
|
168
|
+
news.push(this.ended(d, "done"));
|
|
169
|
+
}
|
|
170
|
+
return news;
|
|
171
|
+
}
|
|
172
|
+
noteHandled(deliveryId) {
|
|
173
|
+
this.handled.delete(deliveryId);
|
|
174
|
+
this.handled.add(deliveryId);
|
|
175
|
+
while (this.handled.size > HANDLED_MAX)
|
|
176
|
+
this.handled.delete(this.handled.values().next().value);
|
|
177
|
+
}
|
|
178
|
+
/** What is open now (after expiring the ones past the TTL — the stream is told by the next note). */
|
|
179
|
+
snapshot() {
|
|
180
|
+
this.sweep();
|
|
181
|
+
const now = this.monotonic();
|
|
182
|
+
return [...this.open.values()].map((d) => ({ id: d.id, from: d.from, to: d.to, state: "open", age_ms: Math.max(0, now - d.openedMs) }));
|
|
183
|
+
}
|
|
184
|
+
/** Expire what has waited past the TTL; returns the news. */
|
|
185
|
+
sweep() {
|
|
186
|
+
const now = this.monotonic(), out = [];
|
|
187
|
+
for (const [key, d] of this.open) {
|
|
188
|
+
if (now - d.openedMs < DELEGATION_TTL_MS)
|
|
189
|
+
continue;
|
|
190
|
+
this.open.delete(key);
|
|
191
|
+
out.push(this.ended(d, "expired"));
|
|
192
|
+
}
|
|
193
|
+
return out;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
96
196
|
//# sourceMappingURL=fleet-traffic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-traffic.js","sourceRoot":"","sources":["../src/fleet-traffic.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fleet-traffic.js","sourceRoot":"","sources":["../src/fleet-traffic.ts"],"names":[],"mappings":"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"}
|
|
@@ -408,15 +408,22 @@ smallest valid `effect.json`:
|
|
|
408
408
|
localhost requirement. Signed-in public/guest viewers may read and play only current effects in chats they can see;
|
|
409
409
|
this grants no library management, personal-slot, private-image, Trial or profile access. Their Chat header has a
|
|
410
410
|
browser-local show/off switch, including on phones, and an inline recovery action. It never writes host preferences.
|
|
411
|
-
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
411
|
+
- Playback starts without an empty-page FPS calibration. Safe mode, hidden tabs and the viewer's show switch still
|
|
412
|
+
stop it. **Effects: follow the system's reduced-motion setting** is device-local and **off by default**, shared with
|
|
413
|
+
ambient effects. The OS request alone does not block playback; data saver is informational. A one-time chat note
|
|
414
|
+
offers to follow reduced motion, and a motion refusal offers **Play effects anyway** right there, including public/guest
|
|
415
|
+
viewers. Safe mode offers **Leave safe mode**. A poster may replace unsupported playback or a chosen motion block
|
|
416
|
+
(see Static Chat fallback). Menus/dialogs stop `front` effects temporarily.
|
|
417
|
+
- A layout refusal keeps its local code in the Chat notice and Effects dialog (for example `stock_order_unknown`);
|
|
418
|
+
the browser console also names it. Report that code rather than repeatedly applying the effect. A failed Try leaves
|
|
419
|
+
its stop code on the offer card. Pointer-leave does not stop Try; window blur, closing, navigation or lost stage proof do.
|
|
420
|
+
Agent playback summaries still contain only the closed reporting reasons, never raw local diagnostics.
|
|
421
|
+
- **Safety pause** — it measures the page's responsiveness, not your Worker's CPU. Host rAF observations learn a live
|
|
422
|
+
cadence during warm-up, then fix the mount's floor at 90% of a faster observed cadence, capped at 55 fps (50 on a
|
|
423
|
+
constrained device). A steady 30 Hz display has a 27 fps floor. This is not an empty-page health certificate; uniformly
|
|
424
|
+
slow startup can look like a low-refresh display. Where reported, long tasks may take at most 50 ms a second (25 ms
|
|
425
|
+
constrained); unknown observations never count as free. Overlapping 2-second windows are judged at most once a second
|
|
426
|
+
after warm-up, and three bad judgements in a row pause the effect (`host_budget`).
|
|
420
427
|
- Only a viewer's explicit **Resume** restarts a safety-paused effect, and it doesn't clear the history: three such
|
|
421
428
|
pauses within 24 hours turn the effect **off** for that viewer's browser and device class, across tabs and reloads,
|
|
422
429
|
and Resume then refuses. It doesn't come back by itself after 24 hours.
|
|
@@ -465,7 +472,7 @@ as permission to run or fetch an effect, and do not keep retrying an unavailable
|
|
|
465
472
|
|
|
466
473
|
## Static Chat fallback
|
|
467
474
|
|
|
468
|
-
When Worker/transport support is unavailable, motion
|
|
475
|
+
When Worker/transport support is unavailable, the chosen motion preference prevents playback, or the page has no playback session,
|
|
469
476
|
a current chat placement with a poster can show its static PNG **behind** the content; a front declaration does not
|
|
470
477
|
make its poster foreground. No poster means nothing is drawn. Safe mode and the viewer's show switch hide posters
|
|
471
478
|
too; unknown stock ordering refuses paint. Explicit Pause, queued effects and a failed live read are not replaced by
|
|
@@ -115,8 +115,10 @@ workspace `inbox/`; an unused upload is deleted after 30 minutes.
|
|
|
115
115
|
**In replies.** Images inline; video and audio play inline; Markdown, CSV, JSON, code and text files get a **Show**
|
|
116
116
|
card (200 lines, then "Show all … lines"); other files download. Code blocks have a language tag, **Wrap** and
|
|
117
117
|
**Copy**, and fold after 30 lines. Each reply has **Copy this reply**. Markdown: headings, lists, quotes, bold/italic/
|
|
118
|
-
strike, links, and tables (header row plus separator, alignment, up to 20 columns). Discord mentions
|
|
119
|
-
as
|
|
118
|
+
strike, links, and tables (header row plus separator, alignment, up to 20 columns). Discord mentions show as names;
|
|
119
|
+
a Discord server emoji (`<:name:id>`) of the fleet's servers shows as its picture, and any other (or one whose picture
|
|
120
|
+
can't load) as `:name:`. Unicode emoji are drawn by the system's colour emoji font under every theme font (boxes on
|
|
121
|
+
Linux mean no colour emoji font is installed). There is no @-autocomplete in the composer.
|
|
120
122
|
|
|
121
123
|
**Buttons and polls.** An agent's reply can carry up to 10 buttons ("Choices"); a click shows as a 🔘 chip and the
|
|
122
124
|
agent receives `[button] <label>` (with `(value: …)` when it differs). Buttons expire after 24 h ("Expired — reply in
|
|
@@ -182,10 +184,13 @@ Click a team header to fold it. **Find** dims everything that doesn't match. A c
|
|
|
182
184
|
and backend; clicking it opens the chat. List mode adds the description, model, a link to the Discord thread or
|
|
183
185
|
Telegram topic, and **Open chat**.
|
|
184
186
|
|
|
185
|
-
**Live traffic** (**Live** switch, on by default; **Key** explains it): a line for each message between instances.
|
|
187
|
+
**Live traffic** (**Live** switch, on by default; **Key** in the toolbar explains it, as a strip above the canvas): a line for each message between instances.
|
|
186
188
|
Colour by kind — task (delegate_task) purple, send/query/update teal, report pink, broadcast orange; between teams
|
|
187
|
-
(zoomed out) slate. Dotted = queued, dashed with a moving pulse = being delivered, grey fading for
|
|
188
|
-
"×N" = several messages share a line
|
|
189
|
+
(zoomed out) slate. Dotted = queued, dashed with a moving pulse = being delivered, grey fading for 12 s = delivered or
|
|
190
|
+
read. "×N" = several messages share a line; failed ones belong in Needs you. A `delegate_task` also draws the work: a
|
|
191
|
+
slow-moving purple line, delegator → worker, **in progress** until the worker's `report_result` with the same
|
|
192
|
+
correlation id comes back (then one pink line returns); none after 4 h fades as **no report yet**. Reloads and the
|
|
193
|
+
public link show the open ones. Every line ends on a card or a folded team's box. No message
|
|
189
194
|
text is ever shown; instances with `cross_instance_visibility: hidden` are left out. On a public link it refreshes
|
|
190
195
|
every 5 s.
|
|
191
196
|
|
|
@@ -231,7 +236,8 @@ expired (rewrote), tokens rewritten, expiry cost, keep-warm pings and their cost
|
|
|
231
236
|
days). Money is list price (date shown); quota effects are estimates. `get_cache_report` gives the fleet to General,
|
|
232
237
|
coordinators and full-profile instances, and each other instance only its own row.
|
|
233
238
|
|
|
234
|
-
**The usage report** (the `get_usage_report` tool
|
|
239
|
+
**The usage report** (the `get_usage_report` tool, and Fleet → **Usage**, `/ui/fleet/usage`, #2122; the ◔ dialog's
|
|
240
|
+
**By agent →** opens it). Per instance (or backend,
|
|
235
241
|
model, credential profile, team): input, output, cache read and cache write tokens, requests, delivered messages,
|
|
236
242
|
and an amount, over today / 7d / month / all / custom days in the fleet's timezone. **Every amount is the
|
|
237
243
|
API-equivalent at list price — not money spent** (subscriptions aren't billed per token): say "API-equivalent", never
|
|
@@ -246,7 +252,13 @@ backend or profile keeps its history as it was. `notMeasured` lists kiro and the
|
|
|
246
252
|
they are never a $0 row, and what such an instance measured before still shows. Messages are counted per instance, so
|
|
247
253
|
by backend they go under its backend now. Coverage only says "read" for a catch-up that listed and read every source
|
|
248
254
|
(an unreadable directory or transcript is not covered, never a 0). Scope as
|
|
249
|
-
`get_cache_report`. The dashboard reaches it over the public link only with `web.usage_report_on_public_link: true
|
|
255
|
+
`get_cache_report`. The dashboard reaches it over the public link only with `web.usage_report_on_public_link: true`
|
|
256
|
+
(Settings → Web → **Usage report over the public link**, applies at once; otherwise the page says "Not offered over
|
|
257
|
+
the public link" and links to that switch on the dashboard reached directly); guests never. The page adds a daily trend (top 5 and
|
|
258
|
+
others), a heatmap that tells a day read with nothing used from a day not collected, and **Download CSV** (the shown
|
|
259
|
+
answer's daily rows, with the basis). Claude subagent (sidechain) turns aren't counted yet. A long range whose daily rows
|
|
260
|
+
are too many says from which date the charts and the CSV start (the totals stay whole); a day used only by an unpriced
|
|
261
|
+
model is "used, not priced"; after a timezone change each day keeps the zone it was made in, and the page says so.
|
|
250
262
|
|
|
251
263
|
**Keep-warm** means sending a small turn before the cache expires so the next real turn reads it instead of
|
|
252
264
|
rewriting it. **Today it is only a simulation and a recommendation** — AgEnD sends no keep-warm pings (#1469 is
|
|
@@ -350,8 +362,8 @@ For an agent changing its *own* look, the `web-appearance` skill has the tools a
|
|
|
350
362
|
Settings → **Web appearance**, card by card:
|
|
351
363
|
- **Agents' themes** — **Show agents' themes, effects and widgets**; off, every chat looks the same and pictures and
|
|
352
364
|
ring colours fall back to the bots' own (all devices). **Effects: follow the system's reduced-motion setting** (this
|
|
353
|
-
device only, off by default): on, ambient effects stay still while the system asks for reduced
|
|
354
|
-
|
|
365
|
+
device only, off by default): on, both ambient and Canvas Worker effects stay still while the system asks for reduced
|
|
366
|
+
motion. Otherwise both play, with one shared one-time chat note and a local action to follow the system.
|
|
355
367
|
- **Ambient effects** — an agent's falling petals, snow, rising lanterns, twinkles or stars on a click, drawn behind
|
|
356
368
|
its chat by the dashboard (data only, no consent needed). They show by default, the public link too; the chat's ⋯
|
|
357
369
|
menu says why one is not showing (choosing the line fixes it there) and offers **Clear the ambient effect** /
|
|
@@ -377,13 +389,13 @@ Settings → **Web appearance**, card by card:
|
|
|
377
389
|
**Allow HTML previews**, its listener and port. Signed-in public/guest viewers can play current effects in chats they
|
|
378
390
|
may see, without library, personal-slot, Trial or profile grants. Their Chat header offers a browser-local show/off
|
|
379
391
|
switch and recovery, on desktop and phone; it never changes host preferences. A Try sample starts on a signed-in non-public admin's
|
|
380
|
-
click, with no extra consent. The show switch, safe mode, hidden tab, browser support
|
|
381
|
-
data
|
|
392
|
+
click, with no extra consent. The show switch, safe mode, hidden tab, browser support and live performance guard remain.
|
|
393
|
+
No startup FPS calibration; data saver does not block. Reduced motion blocks only if this device chose to follow it.
|
|
382
394
|
A blocked placement keeps an exact named notice. On ordinary dashboard sessions, Show/custom-CSS actions open
|
|
383
395
|
**Web appearance**. Public/guest Show-off has **Turn effects on here**; a guest CSS refusal offers Reload.
|
|
384
396
|
An unavailable
|
|
385
|
-
isolated transport offers Reload, never an HTML-preview setup step.
|
|
386
|
-
unknown codes. Codes stay local; agents get only closed recent blocked reasons without viewer identifiers or counts.
|
|
397
|
+
isolated transport offers Reload, never an HTML-preview setup step. A motion refusal offers **Play effects anyway**;
|
|
398
|
+
safe mode offers **Leave safe mode**. The dialog names loading, safety and raw unknown codes. Codes stay local; agents get only closed recent blocked reasons without viewer identifiers or counts.
|
|
387
399
|
- **Identity card upload limits** — portrait and banner size limits and per-agent picture quota
|
|
388
400
|
(`web.appearance.*`); lowering applies at once, raising waits for an admin.
|
|
389
401
|
- **Restore defaults** — resets this host's appearance settings (it lists what it resets first).
|
|
@@ -447,3 +459,10 @@ no instance uses that provider.
|
|
|
447
459
|
**Settings won't change something.** Over a public link, Web settings and appearance are read only; a loosening
|
|
448
460
|
change waits for an admin's confirmation in General chat; a value in the "Set in fleet.yaml" list must be edited in
|
|
449
461
|
fleet.yaml (Developer tab, or the file) and `agend reload`.
|
|
462
|
+
|
|
463
|
+
### Canvas Worker playback diagnostics
|
|
464
|
+
|
|
465
|
+
If an effect cannot play, the Chat notice and Effects dialog show its local refusal code. A failed Try retains its stop
|
|
466
|
+
code on the offer card; the browser console also names refusals. Include the code when reporting a problem. Long chat
|
|
467
|
+
history is checked separately from the bounded set of current paint holes. Moving the pointer away does not stop Try;
|
|
468
|
+
window blur, navigation, closing or loss of the verified stage does. Local raw codes are not sent in agent summaries.
|
|
@@ -80,6 +80,7 @@ const CLASSIC_FIELDS = [
|
|
|
80
80
|
const FLEET_FIELD_IMPACTS = {
|
|
81
81
|
"web.echo_to_channel": "now",
|
|
82
82
|
"web.log_tab": "now",
|
|
83
|
+
"web.usage_report_on_public_link": "now",
|
|
83
84
|
"web.public_link.allow_public": "now",
|
|
84
85
|
"web.public_link.ttl_minutes": "now",
|
|
85
86
|
"web.public_link.protocol": "now",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-config-impact.js","sourceRoot":"","sources":["../src/instance-config-impact.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"instance-config-impact.js","sourceRoot":"","sources":["../src/instance-config-impact.ts"],"names":[],"mappings":"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"}
|
|
@@ -522,7 +522,8 @@ const listInstances = (ctx, rawArgs, respond, meta) => {
|
|
|
522
522
|
}
|
|
523
523
|
if (filterName) {
|
|
524
524
|
const lowerName = filterName.toLowerCase();
|
|
525
|
-
allInstances = allInstances.filter(i => i.name.toLowerCase().includes(lowerName)
|
|
525
|
+
allInstances = allInstances.filter(i => i.name.toLowerCase().includes(lowerName) ||
|
|
526
|
+
(i.display_name?.toLowerCase().includes(lowerName) ?? false));
|
|
526
527
|
}
|
|
527
528
|
if (filterBackend) {
|
|
528
529
|
allInstances = allInstances.filter(i => i.backend === filterBackend);
|
|
@@ -552,6 +553,7 @@ const listInstances = (ctx, rawArgs, respond, meta) => {
|
|
|
552
553
|
const compactInstances = allInstances.map(i => ({
|
|
553
554
|
name: i.name,
|
|
554
555
|
status: i.status,
|
|
556
|
+
...(i.display_name ? { display_name: i.display_name } : {}),
|
|
555
557
|
backend: i.backend,
|
|
556
558
|
model: i.model,
|
|
557
559
|
kind: i.kind,
|
|
@@ -603,6 +605,7 @@ const describeInstance = (ctx, rawArgs, respond) => {
|
|
|
603
605
|
name: targetName,
|
|
604
606
|
type: "instance",
|
|
605
607
|
kind: "fleet-topic",
|
|
608
|
+
display_name: config.display_name ?? null,
|
|
606
609
|
description: config.description ?? null,
|
|
607
610
|
tags: config.tags ?? [],
|
|
608
611
|
working_directory: config.working_directory,
|