@songsid/agend 2.3.0-beta.6 → 2.3.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/dist/agent-cli-instructions.md +1 -1
  2. package/dist/agent-cli.js +21 -2
  3. package/dist/agent-cli.js.map +1 -1
  4. package/dist/agent-endpoint.js +4 -0
  5. package/dist/agent-endpoint.js.map +1 -1
  6. package/dist/agent-file-read.js +68 -8
  7. package/dist/agent-file-read.js.map +1 -1
  8. package/dist/agent-whats-new.js +4 -0
  9. package/dist/agent-whats-new.js.map +1 -1
  10. package/dist/auth-api.js +3 -1
  11. package/dist/auth-api.js.map +1 -1
  12. package/dist/authority/authority-state.d.ts +38 -0
  13. package/dist/authority/authority-state.js +114 -0
  14. package/dist/authority/authority-state.js.map +1 -0
  15. package/dist/authority/session-authorizations.d.ts +43 -0
  16. package/dist/authority/session-authorizations.js +102 -0
  17. package/dist/authority/session-authorizations.js.map +1 -0
  18. package/dist/authority/web-authority.d.ts +31 -11
  19. package/dist/authority/web-authority.js +39 -12
  20. package/dist/authority/web-authority.js.map +1 -1
  21. package/dist/cache-ledger.d.ts +16 -3
  22. package/dist/cache-ledger.js +33 -13
  23. package/dist/cache-ledger.js.map +1 -1
  24. package/dist/cache-service.d.ts +55 -3
  25. package/dist/cache-service.js +152 -16
  26. package/dist/cache-service.js.map +1 -1
  27. package/dist/channel/mcp-tools.js +13 -7
  28. package/dist/channel/mcp-tools.js.map +1 -1
  29. package/dist/classic-channel-manager.d.ts +2 -2
  30. package/dist/classic-channel-manager.js +2 -6
  31. package/dist/classic-channel-manager.js.map +1 -1
  32. package/dist/config-validator.js +10 -4
  33. package/dist/config-validator.js.map +1 -1
  34. package/dist/daemon.d.ts +2 -0
  35. package/dist/daemon.js +31 -9
  36. package/dist/daemon.js.map +1 -1
  37. package/dist/delivery-outbox.d.ts +8 -0
  38. package/dist/delivery-outbox.js +7 -1
  39. package/dist/delivery-outbox.js.map +1 -1
  40. package/dist/fleet-manager.d.ts +109 -2
  41. package/dist/fleet-manager.js +280 -12
  42. package/dist/fleet-manager.js.map +1 -1
  43. package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +2 -1
  44. package/dist/general-knowledge/skills/multi-channel/SKILL.md +2 -1
  45. package/dist/general-knowledge/skills/web-appearance/SKILL.md +89 -30
  46. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +62 -8
  47. package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +1 -1
  48. package/dist/human-delivery-receipts.d.ts +14 -0
  49. package/dist/human-delivery-receipts.js +42 -6
  50. package/dist/human-delivery-receipts.js.map +1 -1
  51. package/dist/instance-config-impact.js +1 -0
  52. package/dist/instance-config-impact.js.map +1 -1
  53. package/dist/instance-names.d.ts +4 -0
  54. package/dist/instance-names.js +12 -0
  55. package/dist/instance-names.js.map +1 -0
  56. package/dist/instructions.d.ts +8 -1
  57. package/dist/instructions.js +9 -2
  58. package/dist/instructions.js.map +1 -1
  59. package/dist/locale.js +52 -0
  60. package/dist/locale.js.map +1 -1
  61. package/dist/outbound-handlers.d.ts +6 -0
  62. package/dist/outbound-handlers.js +49 -2
  63. package/dist/outbound-handlers.js.map +1 -1
  64. package/dist/outbound-schemas.d.ts +57 -1
  65. package/dist/outbound-schemas.js +34 -2
  66. package/dist/outbound-schemas.js.map +1 -1
  67. package/dist/public-web-gateway.js +8 -2
  68. package/dist/public-web-gateway.js.map +1 -1
  69. package/dist/rollout-index.d.ts +5 -0
  70. package/dist/rollout-index.js +26 -5
  71. package/dist/rollout-index.js.map +1 -1
  72. package/dist/settings-api.d.ts +6 -0
  73. package/dist/settings-api.js +54 -1
  74. package/dist/settings-api.js.map +1 -1
  75. package/dist/settings-change.js +31 -0
  76. package/dist/settings-change.js.map +1 -1
  77. package/dist/settings-effect.js +10 -1
  78. package/dist/settings-effect.js.map +1 -1
  79. package/dist/tool-permissions.d.ts +0 -7
  80. package/dist/tool-permissions.js +73 -5
  81. package/dist/tool-permissions.js.map +1 -1
  82. package/dist/topic-commands.d.ts +2 -1
  83. package/dist/topic-commands.js +2 -4
  84. package/dist/topic-commands.js.map +1 -1
  85. package/dist/types.d.ts +13 -2
  86. package/dist/ui/app-effects.js +46 -28
  87. package/dist/ui/chat-ambient.js +307 -0
  88. package/dist/ui/chat-effect-posters.js +8 -8
  89. package/dist/ui/chat-effects.js +51 -22
  90. package/dist/ui/chat-strings.js +21 -6
  91. package/dist/ui/chat-thread.js +1 -1
  92. package/dist/ui/fleet-usage.js +401 -0
  93. package/dist/ui/panel-chat.js +22 -9
  94. package/dist/ui/panel-fleet.js +6 -5
  95. package/dist/ui/panel-settings.js +10 -2
  96. package/dist/ui/settings-appearance.js +8 -0
  97. package/dist/ui/settings-mods.js +19 -6
  98. package/dist/ui/settings-owner-effects.js +3 -3
  99. package/dist/ui/settings-strings.js +30 -0
  100. package/dist/ui/settings-web-authority.js +91 -0
  101. package/dist/ui/shared/app-route.js +1 -1
  102. package/dist/ui/shared/app-session.js +2 -0
  103. package/dist/ui/shared/app-shell.js +2 -1
  104. package/dist/ui/shared/app-themes.js +24 -6
  105. package/dist/ui/shared/app.css +95 -0
  106. package/dist/ui/shared/effect-app-runtime.js +68 -19
  107. package/dist/ui/shared/effect-chat-runtime.js +16 -3
  108. package/dist/ui/shared/effect-frame.js +17 -3
  109. package/dist/ui/shared/effect-policy.js +18 -5
  110. package/dist/ui/shared/effect-profiler.js +31 -9
  111. package/dist/ui/shared/effect-registry.js +17 -41
  112. package/dist/ui/shared/effect-stock-trust.js +4 -4
  113. package/dist/ui/shared/effect-trial-stage.js +18 -7
  114. package/dist/ui/shared/fx-motion.js +67 -0
  115. package/dist/ui/shared/usage-dialog.js +8 -0
  116. package/dist/ui/shared/view-strings.js +4 -0
  117. package/dist/ui/shared/web-authorize.js +151 -0
  118. package/dist/usage-report.d.ts +158 -0
  119. package/dist/usage-report.js +226 -0
  120. package/dist/usage-report.js.map +1 -0
  121. package/dist/usage-rollup.d.ts +51 -0
  122. package/dist/usage-rollup.js +168 -0
  123. package/dist/usage-rollup.js.map +1 -0
  124. package/dist/web-ambient.d.ts +72 -0
  125. package/dist/web-ambient.js +154 -0
  126. package/dist/web-ambient.js.map +1 -0
  127. package/dist/web-api.d.ts +33 -0
  128. package/dist/web-api.js +148 -18
  129. package/dist/web-api.js.map +1 -1
  130. package/dist/web-appearance-tools.d.ts +3 -0
  131. package/dist/web-appearance-tools.js +18 -3
  132. package/dist/web-appearance-tools.js.map +1 -1
  133. package/dist/web-appearance-view.d.ts +14 -2
  134. package/dist/web-appearance-view.js +32 -5
  135. package/dist/web-appearance-view.js.map +1 -1
  136. package/dist/web-appearance.d.ts +15 -1
  137. package/dist/web-appearance.js +77 -1
  138. package/dist/web-appearance.js.map +1 -1
  139. package/dist/web-asset-parts.d.ts +2 -2
  140. package/dist/web-asset-parts.js +3 -3
  141. package/dist/web-asset-parts.js.map +1 -1
  142. package/dist/web-auth.js +3 -1
  143. package/dist/web-auth.js.map +1 -1
  144. package/dist/web-effect-bootstrap.d.ts +12 -0
  145. package/dist/web-effect-bootstrap.js +49 -0
  146. package/dist/web-effect-bootstrap.js.map +1 -0
  147. package/dist/web-effect-bundle.js +46 -1
  148. package/dist/web-effect-bundle.js.map +1 -1
  149. package/dist/web-effect-playback.d.ts +30 -0
  150. package/dist/web-effect-playback.js +71 -0
  151. package/dist/web-effect-playback.js.map +1 -0
  152. package/dist/web-effect-profiles.d.ts +4 -4
  153. package/dist/web-effect-service.d.ts +11 -4
  154. package/dist/web-effect-service.js +25 -4
  155. package/dist/web-effect-service.js.map +1 -1
  156. package/dist/web-effect-tools.d.ts +1 -0
  157. package/dist/web-effect-tools.js +2 -1
  158. package/dist/web-effect-tools.js.map +1 -1
  159. package/dist/web-effect-worker.d.ts +1 -1
  160. package/dist/web-effect-worker.js +2 -2
  161. package/dist/web-effect-worker.js.map +1 -1
  162. package/dist/web-guest-access.js +3 -1
  163. package/dist/web-guest-access.js.map +1 -1
  164. package/dist/web-mod-agent.js +5 -1
  165. package/dist/web-mod-agent.js.map +1 -1
  166. package/dist/web-mod-bundle.d.ts +9 -1
  167. package/dist/web-mod-bundle.js +62 -3
  168. package/dist/web-mod-bundle.js.map +1 -1
  169. package/dist/web-mod-export.d.ts +9 -0
  170. package/dist/web-mod-export.js +21 -0
  171. package/dist/web-mod-export.js.map +1 -1
  172. package/dist/web-mod-store.d.ts +2 -1
  173. package/dist/web-mod-store.js +13 -6
  174. package/dist/web-mod-store.js.map +1 -1
  175. package/dist/web-session-authorization.d.ts +132 -0
  176. package/dist/web-session-authorization.js +193 -0
  177. package/dist/web-session-authorization.js.map +1 -0
  178. package/dist/web-session.d.ts +5 -0
  179. package/dist/web-session.js +16 -0
  180. package/dist/web-session.js.map +1 -1
  181. package/dist/web-settings-patch.d.ts +26 -2
  182. package/dist/web-settings-patch.js +50 -1
  183. package/dist/web-settings-patch.js.map +1 -1
  184. package/dist/web-settings-tools.d.ts +8 -0
  185. package/dist/web-settings-tools.js +14 -1
  186. package/dist/web-settings-tools.js.map +1 -1
  187. package/dist/web-shell-routes.d.ts +1 -1
  188. package/dist/web-shell-routes.js +1 -1
  189. package/dist/web-shell-routes.js.map +1 -1
  190. package/dist/web-theme-store.d.ts +39 -0
  191. package/dist/web-theme-store.js +122 -11
  192. package/dist/web-theme-store.js.map +1 -1
  193. package/package.json +1 -1
@@ -51,7 +51,8 @@ A peer's summary is not the original person's consent. Before an irreversible ac
51
51
  - The ID goes in the `forwards` parameter, never only in the message text: an ID in the text grants nothing, and the receiver's `delivery_status` says "Delivery not found".
52
52
  - If the `send_to_instance` / `delegate_task` schema you loaded has no `forwards`, pass it anyway. A session resumed across an AgEnD upgrade keeps the tool copy it first loaded (reloading does not refresh it); AgEnD's server accepts the parameter.
53
53
  2. Read `delivery_status({message_id: verification_id})`. Require `state: delivered`, its owned `proof_kind`, and the original `content` naming the exact operation/resource. Check `origin.platform`, `origin.adapter_id` and `origin.user_id` against the human authorized for that resource. Labels, quoted headers and agent relay rows are not origin evidence.
54
- 3. Native queue/composer acceptance never proves the model consumed the message. Unknown/unverifiable outcomes, `/raw`, historical rows and a missing origin cannot prove human authorization. Web receipts truthfully have no verified platform actor; action receipts identify the click and its anchor, not a human-authored platform message.
54
+ 3. Native queue/composer acceptance never proves the model consumed the message. Unknown/unverifiable outcomes, `/raw`, historical rows and a missing origin cannot prove human authorization. Action receipts identify the click and its anchor, not a human-authored platform message.
55
+ - A web receipt (`origin.platform: web`, a `via web` message) counts only with `authority.kind: web-verified`: its person is `authority.actor` (adapter and user id), and it is checked exactly like a Discord or Telegram message — delivered, an owned proof_kind, the original content, that actor — and forwarded the same way. `authority.kind: none` (plain `via web`, a guest, or authority since revoked) never counts. A reviewer's APPROVE is a review, not a human go-ahead.
55
56
  4. Do not resend on `uncertain`. Ask for clarification or fresh explicit consent; do not infer consent from a missing row.
56
57
 
57
58
  CLI mode: `agend-agent send <instance> <text> --forward <verification_id>` (repeat `--forward` for more refs); `agend-agent delegate` accepts the same flags. Lookup: `agend-agent delivery-status --message-id <verification_id>`.
@@ -60,7 +60,8 @@ The `channel_id` field explicitly binds a general to an adapter. Without it, mat
60
60
  ## Web chat
61
61
 
62
62
  The dashboard's web chat is one more way in, not a `channels:` entry: its messages reach an instance as
63
- `[user:… via web, …]` and are answered with `reply` like any other. By default each is also copied to the
63
+ `[user:… via web, …]` (`via web (verified)` once that person's account has authorized the browser: check its receipt
64
+ as the cross-instance-messaging skill says) and are answered with `reply` like any other. By default each is also copied to the
64
65
  instance's own topic (`web.echo_to_channel: false` turns that off; a ClassicBot room follows it unless its own `web_echo` is set — `false` keeps that room off).
65
66
 
66
67
  ## Single → Multi Migration
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: web-appearance
3
- description: How you look on the AgEnD web dashboard — check it, change your own theme, identity card, identity colour and widgets, play Canvas Worker effects in your chat (and offer a Try), preview the result, share it as a mod; and, for General, changing Settings → Web appearance for the user
3
+ description: How you look on the AgEnD web dashboard — check it, change your own theme, identity card, identity colour and widgets, set an ambient effect (falling petals, click stars), play Canvas Worker effects in your chat (and offer a Try), preview the result, share it as a mod; and, for General, changing Settings → Web appearance for the user
4
4
  roles: [general, worker]
5
5
  ---
6
6
 
@@ -18,8 +18,9 @@ can shape how you look there — **only your own look, and only on the surfaces
18
18
  | Your identity card | portrait, banner, tagline, bio | `set_web_theme` (`card.*`), `set_web_theme_asset` |
19
19
  | Your identity colour | the colour people find you by in the sidebar, and where it shows (name, bar, ring) | `set_web_theme` (`identity`) |
20
20
  | Your chat header strip and Details page | widgets: small panels of facts the dashboard draws | `set_web_widget`, `remove_web_widget` |
21
+ | An ambient effect in your chat | falling petals, snow, rising lanterns, twinkles, stars where a person clicks — data only, drawn by the dashboard | `set_web_ambient`, `clear_web_ambient` |
21
22
  | A file of your look | a mod: export yours, or propose one for a person | `export_web_mod`, `propose_web_mod` |
22
- | Effects in your chat | Canvas Worker animations, and Try cards a local admin may start | `upload_web_effect`, `apply_web_effect`, `preview_web_effect`, … (see Effects) |
23
+ | Effects in your chat | Canvas Worker animations, and Try cards an admin outside the public link may start | `upload_web_effect`, `apply_web_effect`, `preview_web_effect`, … (see Effects) |
23
24
 
24
25
  None of these tools takes a target: they always act on you. You can't change another instance, the dashboard's own
25
26
  chrome, a person's sidebar widget, or a person's custom CSS.
@@ -45,6 +46,7 @@ of this skill).
45
46
  | `custom_css` | `save` (with `text`): goes **on trial** on their screens (it goes back by itself unless kept); `keep` (the trial), `revert` (the trial), `use` (with `version`: an earlier saved one, at once), `off` | `{ what: "custom_css", action: "save", text: "…" }`; ask how it looks, then `keep` only when they say so |
46
47
  | `mod` | an agent's proposal: `review` (instance → `stage`, `plan`, `plan_hash`), then `install` (stage, plan_hash, `include`: the parts, `target`: the agent); `cancel`, `dismiss`, `uninstall` (id) | review, show the user the plan, install only what they asked for — never custom CSS unasked. A person has one review open at a time: while theirs is open (`mod_review_open`) ask them to finish it; a mod they imported from a file is theirs to install (`mod_not_from_an_agent`) |
47
48
  | `effect` | `apply` (instance, id, params?) or `remove` (instance, id?) an effect on a chat | |
49
+ | `ambient` | one agent's ambient effect, set for the user: `ambient` is the same spec as `set_web_ambient`'s (it replaces the one of its kind, and the agent can't change it after); `ambient: null` clears (`which`: `loop` or `click`, default both) | `{ what: "ambient", instance: "atlas", ambient: { preset: "fall", glyphs: ["🌸","❀","✿"] } }` |
48
50
  | `effect_slot` | a person's `sidebar` / `header` / `page` / `box` / `cursor` effect (an id, or null) | |
49
51
  | `restore_defaults` | the host settings back to their defaults, and the person's custom CSS off | |
50
52
 
@@ -133,6 +135,7 @@ the id is the hash of what is kept, so the same picture is the same id.
133
135
  | `avatar` | png, jpeg, webp, gif | 256 KiB, 4096 px a side |
134
136
  | `portrait` | png, jpeg, webp | set by the fleet (default 1024×1536, 1.5 MiB) |
135
137
  | `banner` | png, jpeg, webp | set by the fleet (default 1600×600, 768 KiB) |
138
+ | `glyph` | png, webp, gif | 64 KiB, 128 px a side; at most 4 (for `set_web_ambient`'s `glyphs`) |
136
139
 
137
140
  A picture holds one slot: upload it again for another slot only if it is a different picture. `get_web_theme`'s
138
141
  `limits.asset_slots` has the limits in force and `limits.asset_quota` how many pictures you may keep. A picture your
@@ -214,6 +217,42 @@ in it can be clicked or focused.
214
217
 
215
218
  Then, as you go: `set_web_widget { "slot": "chat_header", "data": { "tests": 75 } }`.
216
219
 
220
+ ## Ambient effects
221
+
222
+ An ambient effect is **data only**: you choose a preset and its glyphs, the dashboard draws them. No code runs, so it
223
+ needs no Try, no preview consent and no measurement — use it for petals, snow, lanterns, sparkles and stars on a click.
224
+ Use a Canvas Worker effect (below) only for what a preset can't express.
225
+
226
+ `set_web_ambient { preset, glyphs, colors?, count?, duration?, size?, sway?, spread?, rotate?, opacity? }`:
227
+
228
+ | `preset` | What it draws | `count` | `duration` (seconds, [min, max]) |
229
+ |---|---|---|---|
230
+ | `fall` | glyphs drifting down behind your chat, endlessly | 1..24 particles (default 12) | 4..30 (default [9, 19]) |
231
+ | `rise` | the same, drifting up | 1..24 (12) | 4..30 ([9, 19]) |
232
+ | `twinkle` | glyphs pulsing in place | 1..24 (12) | 1..10 ([2, 5]) |
233
+ | `burst-on-click` | glyphs scattering from where a person clicks or taps in your chat | 4..16 per click (10) | 0.3..2 ([0.5, 0.9]) |
234
+
235
+ - `glyphs`: 1..4, picked at random per particle — a string of 1..2 characters (an emoji, `✦`, `❀`), or `{ "asset": id }`,
236
+ a picture you uploaded with `set_web_theme_asset` to the `glyph` slot.
237
+ - `colors`: 0..5 `#rrggbb` for text glyphs (default: your accent). `size`: [min, max] px, 10..40 (default [14, 22]).
238
+ `sway`: sideways drift for fall and rise, 0..80 px (40). `spread`: how far a burst scatters, [min, max] 20..120 px
239
+ ([34, 90]). `rotate`: 0..720 degrees over a run (300). `opacity`: [start, peak, end], each 0..1 ([0, 0.85, 0.15]).
240
+ - Your chat holds **one looping ambient** (`fall`, `rise` or `twinkle`) **and one `burst-on-click`**: setting one
241
+ replaces only its own kind. `clear_web_ambient { which? }` clears `loop`, `click`, or both.
242
+ - It is drawn **behind your messages** and never takes a click (a burst shows over them for a moment, then is gone).
243
+ - Who sees it: everyone who shows agents' looks, the public link included. Not with "Show agents' themes, effects and
244
+ widgets" off, `?safe=1`, or on a device that chose to follow the system's reduced-motion setting while
245
+ the system asks for it. A hidden tab pauses it.
246
+ - Like a theme: a change for the rate limit, refused while a person locked your look; one a person set is theirs
247
+ (`person_placed`). A person's Reset of your theme clears it. `get_web_appearance` shows it, and
248
+ `preview_web_appearance` draws the looping one, still, behind the bubbles.
249
+
250
+ ```json
251
+ { "preset": "fall", "glyphs": ["🌸", "❀", "✿"], "colors": ["#f4a7b9", "#ffd1dc"], "count": 12, "duration": [9, 19] }
252
+ ```
253
+
254
+ Then stars on a click, alongside: `set_web_ambient { "preset": "burst-on-click", "glyphs": ["✦", "✧"] }`.
255
+
217
256
  ## Mods
218
257
 
219
258
  A mod is one file, `<name>-<version>.agendmod.json`, that carries a look: a theme with its pictures, card text,
@@ -223,7 +262,7 @@ everything in a mod and ticks what to apply.
223
262
  - `export_web_mod { name, version, title? }` writes **your own** look to `.agend/mods/<name>-<version>.agendmod.json`
224
263
  in your working directory and returns `{ path, bytes }`. It carries your theme with its pictures, the effects your
225
264
  theme places (with their params) when they are yours or shared with you, your own card text (not a person's card
226
- fields), and the widgets you placed. A person's private effect placed on you stays out (`effects_omitted` counts it).
265
+ fields), the widgets and ambient effects you set yourself. A person's private effect placed on you stays out (`effects_omitted` counts it).
227
266
  It never carries custom CSS or the sidebar widget, which are a person's. `name` is a-z, 0-9 and -, `version` is
228
267
  MAJOR.MINOR.PATCH.
229
268
  - `propose_web_mod { file }` sends a mod file from your working directory (at most 8 MiB) for a person to review. It
@@ -234,9 +273,9 @@ everything in a mod and ticks what to apply.
234
273
  or remove it (`person_placed`).
235
274
 
236
275
  The file format: `{ "format": "agend-mod", "v": 1, "manifest": { name, version, title, description?, author?,
237
- requires?: { agend: ">=X.Y.Z" }, contents: { theme?, identity?, widgets?: { chat_header?, details? }, effects? } },
276
+ requires?: { agend: ">=X.Y.Z" }, contents: { theme?, identity?, widgets?: { chat_header?, details? }, ambient?, effects? } },
238
277
  "files": { "<path>": { "sha256", "b64" } } }`. Every file is listed with its sha256 and used by exactly one part, paths
239
- are lowercase with no `..`, and a theme names its pictures by path. The easiest way to get one right is to set your look
278
+ are lowercase with no `..`, and a theme names its pictures by path (an ambient's glyph pictures too: `{ "asset": "<path>" }`). The easiest way to get one right is to set your look
240
279
  with the tools above, then `export_web_mod`.
241
280
 
242
281
  ## Limits
@@ -247,6 +286,7 @@ with the tools above, then `export_web_mod`.
247
286
  each file's own caps still apply; using a picture in your theme is a change.
248
287
  - Widget values (`set_web_widget` with `data` only): at least **10 s** apart, at most **180 an hour**, apart from the
249
288
  above.
289
+ - `set_web_ambient` and `clear_web_ambient` are changes.
250
290
  - Effects: `apply_web_effect` and `remove_web_effect` are changes; `upload_web_effect` and `propose_web_mod` are not
251
291
  counted.
252
292
  At most 10 effects and 8 MiB of your own, at most two placed in your chat.
@@ -261,17 +301,22 @@ with the tools above, then `export_web_mod`.
261
301
 
262
302
  From a shell: `agend-agent theme get|set key=value…|set --json '<patch>'|clear <path>…|asset <slot> <file>|reset`,
263
303
  `agend-agent appearance`, `agend-agent appearance preview [light|dark]`, and
264
- `agend-agent widget set <slot> '<spec json>' ['<data json>']|data <slot> '<data json>'|remove [slot]`, and
304
+ `agend-agent widget set <slot> '<spec json>' ['<data json>']|data <slot> '<data json>'|remove [slot]`,
305
+ `agend-agent ambient set '<spec json>'|clear [loop|click]`, and
265
306
  `agend-agent mod export <name> <version> [title]|propose <file>`.
266
307
 
267
308
  ## Files in your working directory
268
309
 
269
310
  Asset uploads, effect directories and mod proposals must be inside your working directory. For an external project,
270
- use files there as before. For your own AgEnD-managed `~/.agend/workspaces/<your-instance-name>` (ClassicBot and
271
- instances without a project directory), ordinary files there also work; no staging folder is required.
272
-
273
- General, adapter-specific General (such as `general-telegram`), and other configured working directories inside the
274
- AgEnD state directory must stage inputs under **`web-assets/` or `web-effects/`**. For example, put a banner at
311
+ use files there as before. For your own AgEnD-managed workspace under `~/.agend/workspaces/`, ordinary files there
312
+ also work; no staging folder is required. This includes the standard `<your-instance-name>` folder (ClassicBot and
313
+ instances without a project directory) and an exclusively configured folder with another name, such as instance
314
+ `alpha` with `working_directory: ~/.agend/workspaces/alpha-home` in `fleet.yaml`. Its canonical configured path must
315
+ not overlap another instance's configured or standard workspace, including persisted ClassicBot peers that are
316
+ stopped or paused. The `workspaces/` root itself is not a workspace.
317
+
318
+ General, adapter-specific General (such as `general-telegram`), and other configured working directories elsewhere
319
+ inside the AgEnD state directory must stage inputs under **`web-assets/` or `web-effects/`**. For example, put a banner at
275
320
  `web-assets/banner.png` or an effect package at `web-effects/sparks/`, relative to that working directory. Its root
276
321
  and backend configuration folders are not upload areas. Generated previews and exported mods still use the fixed
277
322
  `.agend/appearance/` and `.agend/mods/` directories and can be read back or proposed there.
@@ -295,7 +340,8 @@ these local checks prevent accidental uploads, but do not isolate shells running
295
340
  ## Effects
296
341
 
297
342
  A Canvas Worker effect is a small animation drawn by code that runs in an isolated Worker: no page, no DOM, no
298
- network. You place effects **only in your own chat**; a person can place them in the regions an effect's manifest
343
+ network. For petals, snow or stars on a click, an ambient effect (above) is simpler and plays without a Try. You place
344
+ effects **only in your own chat**; a person can place them in the regions an effect's manifest
299
345
  allows. None of these tools takes a target.
300
346
 
301
347
  **The package** (CW1): a directory in your working directory with `effect.json` and `worker.js`, optionally
@@ -332,7 +378,11 @@ smallest valid `effect.json`:
332
378
  - `upload_web_effect { dir }` → `{ id, warnings }`. Uploads are not counted; the effect's own size caps apply.
333
379
  **Your own** copies are at most **10 effects and 8 MiB**; effects a person shared with you don't count.
334
380
  - `list_web_effects` — your own effects and those a person shared with you: `id`, `name`, `title`, `regions`, `layer`,
335
- `bytes`, `latest_profile`.
381
+ `bytes`, `latest_profile`. A currently placed effect also has `playback`: `status: "reported_blocked"` with closed
382
+ `reasons`, or `status: "unknown"`. `get_web_appearance.effects` lists your current placements with the same projection.
383
+ This means **some recent viewers reported blocked**, not all viewers and not a live permission or health check.
384
+ Observations expire after five minutes and stay in memory. Agents receive no viewer identifiers, counts, device/OS,
385
+ text, URLs or observation timestamps. Unknown means unknown; do not keep reapplying to bypass a viewer's choice.
336
386
  - `apply_web_effect { id, params? }` places one in your chat, **at most two at a time**, with the declared `params`
337
387
  (unknown or out of range → `effect_params`; regions without `chat` → `effect_region`). `remove_web_effect { id? }`
338
388
  takes one out, or all of them. Both are changes (30 s apart, 10 an hour), and are refused while a person has locked
@@ -354,14 +404,22 @@ smallest valid `effect.json`:
354
404
 
355
405
  - At most **3** effects play at once, at most **2** of them `front` (1 and 1 on a constrained device); the rest wait
356
406
  (`frame_limit`, `front_limit`).
357
- - Nothing plays in safe mode, over a temporary public link, with reduced motion or save-data, on a hidden page, while
358
- the viewer has effects off, or before they consent to previews. A `poster.png` may then show behind the chat (see
359
- Static Chat fallback). A visible menu or dialog stops `front` effects; these stops lift by themselves.
360
- - **Safety pause** — it measures the page's responsiveness, not your Worker's CPU. The page's frame-rate floor is
361
- 90% of what it measured before the effect started, capped at 55 fps (50 on a constrained device), so a 30 Hz screen
362
- has a 27 fps floor. Where the browser reports them, long tasks may take at most 50 ms a second (25 ms constrained);
363
- unknown timing doesn't count as free. Overlapping 2-second windows are judged at most once a second after a warm-up,
364
- and three bad judgements in a row pause the effect (`host_budget`).
407
+ - CW uses an opaque isolated document on the dashboard listener: no HTML-preview consent, separate preview port or
408
+ localhost requirement. Signed-in public/guest viewers may read and play only current effects in chats they can see;
409
+ this grants no library management, personal-slot, private-image, Trial or profile access. Their Chat header has a
410
+ browser-local show/off switch, including on phones, and an inline recovery action. It never writes host preferences.
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
+ - **Safety pause** — it measures the page's responsiveness, not your Worker's CPU. Host rAF observations learn a live
418
+ cadence during warm-up, then fix the mount's floor at 90% of a faster observed cadence, capped at 55 fps (50 on a
419
+ constrained device). A steady 30 Hz display has a 27 fps floor. This is not an empty-page health certificate; uniformly
420
+ slow startup can look like a low-refresh display. Where reported, long tasks may take at most 50 ms a second (25 ms
421
+ constrained); unknown observations never count as free. Overlapping 2-second windows are judged at most once a second
422
+ after warm-up, and three bad judgements in a row pause the effect (`host_budget`).
365
423
  - Only a viewer's explicit **Resume** restarts a safety-paused effect, and it doesn't clear the history: three such
366
424
  pauses within 24 hours turn the effect **off** for that viewer's browser and device class, across tabs and reloads,
367
425
  and Resume then refuses. It doesn't come back by itself after 24 hours.
@@ -382,22 +440,23 @@ from being collected until cleared. This is deliberately stricter than chat plac
382
440
  a personal choice keeps following its person's current own/shared access, while a chat preserves the exact effect
383
441
  placed there. A reference is not a sharing or export grant. Do not keep retrying a denied personal selection.
384
442
 
385
- Owner selectors are available in Settings → Web appearance. With effects and preview consent enabled, personal
386
- page/header/sidebar/box choices play across supported stock pages in the same pool as local signed-in Chat.
387
- Web appearance offers slot Pause/Resume and unavailable/Clear controls. The personal cursor uses a static PNG on the host shell after the same consent: no Worker/code read or frame slot. It preserves explicit pointer/text/resize cursors, falls back while dragging or on failure, and has status/Clear rather than Worker Pause/Resume. Before revealing paint, the host must prove stock content
443
+ Owner selectors are available in Settings → Web appearance. With effects enabled, personal page/header/sidebar/box choices play across supported stock pages in the same pool
444
+ as signed-in Chat. HTML-preview consent and its service are not involved.
445
+ Web appearance offers slot Pause/Resume and unavailable/Clear controls. The personal cursor uses a static PNG on the host shell without HTML-preview consent: no Worker/code read or frame slot. It preserves explicit pointer/text/resize cursors, falls back while dragging or on failure, and has status/Clear rather than Worker Pause/Resume. Before revealing paint, the host must prove stock content
388
446
  ordering and trust paint coverage. Agent front effects must remain paused when custom CSS is active, loading or
389
447
  unknown; a person sees the reason and can open the causing setting. Human placements retain their exemption from
390
448
  that agent restriction, and behind effects still require proven ordering. Saving a placement alone is not proof of
391
449
  playback.
392
450
 
393
- Visible menus, dialogs, Keep/tour notices and focused inputs suppress all foreground effects; a human placement
394
- does not bypass those host safety gates. Unknown stock layout refuses admission. A trusted foreground plane is
451
+ Visible menus, dialogs and Keep/tour notices suppress foreground effects; a human placement does not bypass them.
452
+ Editable focus suppresses pointer signals, not unrelated drawing. Protected controls stay clipped out of front paint;
453
+ keyboard events never enter the Worker. Unknown stock layout refuses admission. A trusted foreground plane is
395
454
  deferred to #1940; do not keep reapplying an agent front while custom CSS is on, loading or unknown.
396
455
 
397
- ### Try: offer first, local admin click to start
456
+ ### Try: offer first, signed-in admin click to start
398
457
 
399
458
  `preview_web_effect({id})` posts a volatile Try card in your own web chat, using your current own/shared read rights. It starts nothing and changes no appearance. The sample is physically clipped inside its own host panel or sheet. Only an explicit
400
- click by a signed-in **local admin** may start it; never an agent, public link, header token or automatic action.
459
+ click by a signed-in **admin outside the public link** may start it (localhost is not required); never an agent, public link, header token or automatic action.
401
460
  The host owns a visible Trial label and Stop control. Closing the panel/sheet, navigating, window blur, or another
402
461
  menu/dialog stops it. The explicit Try click consents to this sample only; no global HTML-preview opt-in is needed or changed.
403
462
  The host isolates the Trial controls and clipped stage in a closed Shadow DOM with fixed styles and reset typography.
@@ -409,12 +468,12 @@ as permission to run or fetch an effect, and do not keep retrying an unavailable
409
468
 
410
469
  ## Static Chat fallback
411
470
 
412
- When preview is unavailable, consent is missing, motion/data settings prevent playback, or the page is a public link,
471
+ When Worker/transport support is unavailable, the chosen motion preference prevents playback, or the page has no playback session,
413
472
  a current chat placement with a poster can show its static PNG **behind** the content; a front declaration does not
414
473
  make its poster foreground. No poster means nothing is drawn. Safe mode and the viewer's show switch hide posters
415
474
  too; unknown stock ordering refuses paint. Explicit Pause, queued effects and a failed live read are not replaced by
416
475
  this surface fallback. A failed static read/decode stops its poster pool until a changed revision or page reload;
417
- there is no automatic network retry. The public link offers no Effects playback controls or Worker code.
476
+ there is no automatic network retry. Public viewers can read current Chat Worker code, with fresh session/exposure/placement checks; they acquire no library or personal-slot grant. They have no placement-management or Try controls.
418
477
 
419
478
  The public-link show switch is this browser's choice, kept separately from boot-cached host defaults; it never writes
420
479
  a host preference. The ordinary signed-in switch keeps its existing host preference. Do not depend on decoration to
@@ -11,7 +11,7 @@ English UI labels (the page also has 中文). Before you state a value the user
11
11
  it: `get_fleet_config` shows fleet.yaml; this skill gives defaults. Never invent a control that is not listed here.
12
12
  Never tell anyone to kill `wslrelay` or run `wsl --shutdown` (see Troubleshooting).
13
13
 
14
- For how *you* look on the dashboard (theme, identity card, colour, widgets, effects, mods), load `web-appearance`.
14
+ For how *you* look on the dashboard (theme, identity card, colour, widgets, ambient effects, effects, mods), load `web-appearance`.
15
15
 
16
16
  ## Index
17
17
 
@@ -25,7 +25,7 @@ For how *you* look on the dashboard (theme, identity card, colour, widgets, effe
25
25
  | subscription meters, plan badges, profiles, keep-warm, prompt cache | [Usage and the cache report](#usage-and-the-cache-report) |
26
26
  | what an agent did step by step | [The Log tab](#the-log-tab) |
27
27
  | any Settings control | [Settings](#settings) |
28
- | themes, cards, widgets, effects, mods | [Web appearance](#web-appearance) |
28
+ | themes, cards, widgets, ambient effects (petals, click stars), effects, mods | [Web appearance](#web-appearance) |
29
29
  | blank page, preview refused, link fails, signed out, "live" missing | [Troubleshooting](#troubleshooting) |
30
30
 
31
31
  Addresses: the dashboard is served on the host at `http://localhost:<health_port>` (default 19280), on 127.0.0.1
@@ -55,7 +55,8 @@ days). The code arrives by DM. Limits: one a minute and five an hour per browser
55
55
  `trycloudflare.com`), default 120 minutes (`web.public_link.ttl_minutes`, at most 480; `protocol` http2/quic/auto).
56
56
  Close it with **Close public link** → **Close link (signs public browsers out)**, `/web revoke`, or let it expire.
57
57
  A public link is limited on purpose: no live stream (the page polls), no custom CSS, and Settings → Web, appearance,
58
- mods, effects, schedule edits and preference writes are refused. HTML previews work over it through a second tunnel
58
+ mods, effect-library/personal-selection management, schedule edits and preference writes are refused. Current in-scope
59
+ Chat effect metadata/code reads are allowed, with session/epoch/exposure checks; the public viewer’s show switch is browser-local. HTML previews work over it through a second tunnel
59
60
  of their own (`web.preview_on_public_link`, default on).
60
61
 
61
62
  **Sessions.**
@@ -79,7 +80,21 @@ sees only the agents they can already use in chat: their connection's fleet topi
79
80
  only `web.guests.open_instances`), their own Telegram private ClassicBot room, and ClassicBot group rooms while their
80
81
  membership is verified, minus any `web.guests.narrow`. They can chat there unless `web.guests.chat` is false, never send
81
82
  a command (text starting with `/` is refused), and the agent sees them as `via web (guest)`. A guest's app has no Fleet,
82
- View, Settings or Needs you. To invite someone: turn it on, then tell them to send `/web`.
83
+ View, Settings or Needs you. To invite someone: turn it on, then tell them to send `/web`. The Guests card is not in
84
+ Settings over the public link.
85
+
86
+ **Web authority (#1939, 2.3 beta).** A signed-in fleet admin's browser can speak as their own Discord or Telegram
87
+ account. Under the composer (and in the session menu) the line says **Not verified · Authorize this browser**. Pressing it
88
+ sends a card to that account's DM, saying which browser (device, on this computer or the network, when, until when), with
89
+ **Confirm** and **Not me**. A card left for 5 minutes is marked expired on the card, and the line offers Authorize
90
+ again. Confirm within 5 minutes and the line says **Verified · speaks as you until …**. That
91
+ browser's messages then carry the account's authority in their delivery receipt for `max_session_hours` (default 48).
92
+ Not me signs that browser out, also after Confirm, from the same card. At most one card waits per browser, and 3 an hour
93
+ per account. Never on the public link or for a guest; when a browser can't be authorized, the line says why (with a
94
+ link to Settings when the switch or "Only this computer" is the reason). Settings → Web → **Web authority**
95
+ (`web.verified_authority`, on by default) has the switch, **Only this computer can authorize** (`loopback_only`), the
96
+ hours, the authorized sessions, and **Revoke web authority** (or `/web revoke`). Every change there applies at once.
97
+ Agents then see that browser's messages as `via web (verified)` and check their receipt like a Discord or Telegram message.
83
98
 
84
99
  ## Chat
85
100
 
@@ -216,6 +231,30 @@ expired (rewrote), tokens rewritten, expiry cost, keep-warm pings and their cost
216
231
  days). Money is list price (date shown); quota effects are estimates. `get_cache_report` gives the fleet to General,
217
232
  coordinators and full-profile instances, and each other instance only its own row.
218
233
 
234
+ **The usage report** (the `get_usage_report` tool, and Fleet → **Usage**, `/ui/fleet/usage`, #2122; the ◔ dialog's
235
+ **By agent →** opens it). Per instance (or backend,
236
+ model, credential profile, team): input, output, cache read and cache write tokens, requests, delivered messages,
237
+ and an amount, over today / 7d / month / all / custom days in the fleet's timezone. **Every amount is the
238
+ API-equivalent at list price — not money spent** (subscriptions aren't billed per token): say "API-equivalent", never
239
+ "spent". Measured for Claude Code and Codex. Marks to repeat in words:
240
+ - `cache_write_not_reported`: Codex records no cache writes, so they are neither shown as 0 nor priced.
241
+ - `not_priced`: the tokens are shown, the amount isn't.
242
+ - `source_unknown`: read before #2122, when which backend and profile read it was not recorded (backend and profile
243
+ "unknown" — never today's).
244
+
245
+ Each hour keeps the backend whose reader read it and the profile it was read under, so an instance that changes
246
+ backend or profile keeps its history as it was. `notMeasured` lists kiro and the other backends with their reason;
247
+ they are never a $0 row, and what such an instance measured before still shows. Messages are counted per instance, so
248
+ by backend they go under its backend now. Coverage only says "read" for a catch-up that listed and read every source
249
+ (an unreadable directory or transcript is not covered, never a 0). Scope as
250
+ `get_cache_report`. The dashboard reaches it over the public link only with `web.usage_report_on_public_link: true`
251
+ (Settings → Web → **Usage report over the public link**, applies at once; otherwise the page says "Not offered over
252
+ the public link" and links to that switch on the dashboard reached directly); guests never. The page adds a daily trend (top 5 and
253
+ others), a heatmap that tells a day read with nothing used from a day not collected, and **Download CSV** (the shown
254
+ answer's daily rows, with the basis). Claude subagent (sidechain) turns aren't counted yet. A long range whose daily rows
255
+ are too many says from which date the charts and the CSV start (the totals stay whole); a day used only by an unpriced
256
+ model is "used, not priced"; after a timezone change each day keeps the zone it was made in, and the page says so.
257
+
219
258
  **Keep-warm** means sending a small turn before the cache expires so the next real turn reads it instead of
220
259
  rewriting it. **Today it is only a simulation and a recommendation** — AgEnD sends no keep-warm pings (#1469 is
221
260
  still being designed). If the report says **Switch to 1-hour cache**, the remedy is
@@ -317,7 +356,14 @@ Shown read-only ("Set in fleet.yaml"): `web.allowed_hosts`, `view_access`, `noti
317
356
  For an agent changing its *own* look, the `web-appearance` skill has the tools and limits. What a person sees in
318
357
  Settings → **Web appearance**, card by card:
319
358
  - **Agents' themes** — **Show agents' themes, effects and widgets**; off, every chat looks the same and pictures and
320
- ring colours fall back to the bots' own (all devices).
359
+ ring colours fall back to the bots' own (all devices). **Effects: follow the system's reduced-motion setting** (this
360
+ device only, off by default): on, both ambient and Canvas Worker effects stay still while the system asks for reduced
361
+ motion. Otherwise both play, with one shared one-time chat note and a local action to follow the system.
362
+ - **Ambient effects** — an agent's falling petals, snow, rising lanterns, twinkles or stars on a click, drawn behind
363
+ its chat by the dashboard (data only, no consent needed). They show by default, the public link too; the chat's ⋯
364
+ menu says why one is not showing (choosing the line fixes it there) and offers **Clear the ambient effect** /
365
+ **Clear the click effect**. With the system asking for reduced motion, the chat says once per device that effects
366
+ are on, with **Turn off here**. General can set or clear one for the user (`set_web_settings`, `what: "ambient"`).
321
367
  - **Identity colours** — each agent's colour in the sidebar comes from, in order: a person's pick (⋯ menu →
322
368
  Colour…), the agent's own, its bot's Discord role colour, or an automatic soft colour. Choose where it shows (Name /
323
369
  Left bar / Ring) or **Turn off colours** (the picks are kept).
@@ -334,9 +380,17 @@ Settings → **Web appearance**, card by card:
334
380
  Uninstalling removes the mod, not what it applied.
335
381
  - **Effects** — the effect library (upload a folder with `effect.json` and `worker.js`, up to 1 MiB), save one for a
336
382
  chat, share your copy; **Your effect choices** for Sidebar / Header / Page / Box (each with Pause / Resume and
337
- Clear) and a Cursor (its state, and Clear). Placed and saved effects play only with the HTML-preview consent
338
- (**Allow HTML previews**); a Try sample is different — a local admin's click on its card consents to that one
339
- sample only, with no global opt-in.
383
+ Clear) and a Cursor (its state, and Clear). CW uses the dashboard's opaque isolated document, independently of
384
+ **Allow HTML previews**, its listener and port. Signed-in public/guest viewers can play current effects in chats they
385
+ may see, without library, personal-slot, Trial or profile grants. Their Chat header offers a browser-local show/off
386
+ switch and recovery, on desktop and phone; it never changes host preferences. A Try sample starts on a signed-in non-public admin's
387
+ click, with no extra consent. The show switch, safe mode, hidden tab, browser support and live performance guard remain.
388
+ No startup FPS calibration; data saver does not block. Reduced motion blocks only if this device chose to follow it.
389
+ A blocked placement keeps an exact named notice. On ordinary dashboard sessions, Show/custom-CSS actions open
390
+ **Web appearance**. Public/guest Show-off has **Turn effects on here**; a guest CSS refusal offers Reload.
391
+ An unavailable
392
+ isolated transport offers Reload, never an HTML-preview setup step. A motion refusal offers **Play effects anyway**;
393
+ 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.
340
394
  - **Identity card upload limits** — portrait and banner size limits and per-agent picture quota
341
395
  (`web.appearance.*`); lowering applies at once, raising waits for an admin.
342
396
  - **Restore defaults** — resets this host's appearance settings (it lists what it resets first).
@@ -42,4 +42,4 @@ Do not put user-facing results only in terminal text; the fleet report is the de
42
42
 
43
43
  ## Relayed human approval
44
44
 
45
- For an irreversible action based on relayed consent, request an explicit `forwards` edge for the original human `verification_id`, then read its original content and origin with `delivery_status`. Each hop needs a forward; a peer's summary or a mentioned ID grants nothing. When you relay it, put the ID in `forwards` (even if your loaded copy of the tool's schema lacks the parameter: the server accepts it), not in the text. Require delivered and an owned proof_kind, and verify the actual platform/adapter/actor plus the exact resource. Hidden/expired/uncertain receipts are not consent and must not trigger a resend. See the cross-instance-messaging skill.
45
+ For an irreversible action based on relayed consent, request an explicit `forwards` edge for the original human `verification_id`, then read its original content and origin with `delivery_status`. Each hop needs a forward; a peer's summary or a mentioned ID grants nothing. When you relay it, put the ID in `forwards` (even if your loaded copy of the tool's schema lacks the parameter: the server accepts it), not in the text. Require delivered and an owned proof_kind, and verify the actual platform/adapter/actor plus the exact resource. Hidden/expired/uncertain receipts are not consent and must not trigger a resend. A web receipt (`origin.platform: web`, a `via web` message) counts only with `authority.kind: web-verified`: its person is `authority.actor` (adapter and user id), and it is checked exactly like a Discord or Telegram message — delivered, an owned proof_kind, the original content, that actor — and forwarded the same way. `authority.kind: none` (plain `via web`, a guest, or authority since revoked) never counts. A reviewer's APPROVE is a review, not a human go-ahead. See the cross-instance-messaging skill.
@@ -82,6 +82,20 @@ export declare function getHumanReceipt(db: Database.Database, id: string): Huma
82
82
  export declare function bindHumanReceipt(db: Database.Database, id: string, target: string, ownerKey: string, wire: string, managerBootId: string): HumanReceiptRow;
83
83
  /** An owned unknown result may close pending evidence; it never grants or overwrites a positive proof. */
84
84
  export declare function settleHumanReceipt(db: Database.Database, id: string, target: string, ownerKey: string, proof: unknown, currentOwnerKey: string | null): boolean;
85
+ /** #2122: delivered messages per instance and UTC hour in [from, to) — what the usage report counts as messages. */
86
+ export declare function deliveredMessageHours(db: Database.Database, from: number, to: number): Array<{
87
+ instance: string;
88
+ hour: number;
89
+ count: number;
90
+ }>;
91
+ /** #2122: drop message counts older than the usage rollup keeps (400 days). */
92
+ export declare function pruneMessageHours(db: Database.Database, before: number): number;
93
+ /**
94
+ * #1939 §10: the highest revocation epoch any stored receipt was stamped with (0: none) — every web receipt, web-verified or
95
+ * none, carries the epoch in force when it was written. The authority state must never be behind it: a state file deleted
96
+ * or restored from an older copy would otherwise bring revoked receipts back.
97
+ */
98
+ export declare function maxWebAuthorityEpoch(db: Database.Database): number;
85
99
  /** Read-only operator compatibility: an older database simply has no human receipts. */
86
100
  export declare function queryHumanReceipt(db: Database.Database, caller: string | null, selector: DeliveryStatusSelector): DeliveryStatusPage | null;
87
101
  /** Preserve the existing sanitizer in one place; receipts hash these actual prepared bytes. */
@@ -55,6 +55,8 @@ export function initializeHumanReceipts(db) {
55
55
  "state TEXT NOT NULL CHECK (state IN ('queued','delivered','uncertain')),",
56
56
  "proof_tag TEXT,proof_mode TEXT,created_at TEXT NOT NULL,updated_at TEXT NOT NULL,delivered_at TEXT);",
57
57
  "CREATE INDEX IF NOT EXISTS idx_human_receipt_retention ON human_delivery_receipts(updated_at);",
58
+ // #2122 §5.4: delivered messages per instance per UTC hour, counted where a receipt becomes delivered (kept 400 days).
59
+ "CREATE TABLE IF NOT EXISTS usage_message_hours (instance TEXT NOT NULL, hour INTEGER NOT NULL, count INTEGER NOT NULL, PRIMARY KEY (instance, hour));",
58
60
  ].join("\n"));
59
61
  // #1939: added in place; rows from before keep NULL, which reads as their platform's meaning.
60
62
  const columns = db.prepare("PRAGMA table_info(human_delivery_receipts)").all();
@@ -124,12 +126,42 @@ export function settleHumanReceipt(db, id, target, ownerKey, proof, currentOwner
124
126
  && humanBodyHash(row.wire_body) === row.wire_sha256 && humanBodyHash(row.original_body) === row.original_sha256)
125
127
  positive = proof;
126
128
  }
127
- const now = new Date().toISOString();
128
- db.prepare("UPDATE human_delivery_receipts SET state=?,proof_tag=?,proof_mode=?,updated_at=?,delivered_at=? WHERE receipt_id=? AND state!='delivered'")
129
+ const at = new Date(), now = at.toISOString();
130
+ const moved = db.prepare("UPDATE human_delivery_receipts SET state=?,proof_tag=?,proof_mode=?,updated_at=?,delivered_at=? WHERE receipt_id=? AND state!='delivered'")
129
131
  .run(positive ? "delivered" : "uncertain", positive?.tag ?? null, positive?.mode ?? null, now, positive ? now : null, id);
132
+ // #2122 §5.4: the first move to delivered — from queued or from uncertain — counts once, in this transaction, in the
133
+ // hour of its real delivered_at. A receipt already delivered never got here (the guard above and the UPDATE's own).
134
+ if (positive && moved.changes === 1) {
135
+ db.prepare("INSERT INTO usage_message_hours (instance, hour, count) VALUES (?, ?, 1) ON CONFLICT(instance, hour) DO UPDATE SET count = count + 1")
136
+ .run(row.target_instance, Math.floor(at.getTime() / 3_600_000) * 3_600_000);
137
+ }
130
138
  return positive !== null;
131
139
  })();
132
140
  }
141
+ /** #2122: delivered messages per instance and UTC hour in [from, to) — what the usage report counts as messages. */
142
+ export function deliveredMessageHours(db, from, to) {
143
+ const table = db.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='usage_message_hours'").get();
144
+ if (!table)
145
+ return [];
146
+ return db.prepare("SELECT instance, hour, count FROM usage_message_hours WHERE hour >= ? AND hour < ?").all(from, to);
147
+ }
148
+ /** #2122: drop message counts older than the usage rollup keeps (400 days). */
149
+ export function pruneMessageHours(db, before) {
150
+ const table = db.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='usage_message_hours'").get();
151
+ if (!table)
152
+ return 0;
153
+ return db.prepare("DELETE FROM usage_message_hours WHERE hour < ?").run(before).changes;
154
+ }
155
+ /**
156
+ * #1939 §10: the highest revocation epoch any stored receipt was stamped with (0: none) — every web receipt, web-verified or
157
+ * none, carries the epoch in force when it was written. The authority state must never be behind it: a state file deleted
158
+ * or restored from an older copy would otherwise bring revoked receipts back.
159
+ */
160
+ export function maxWebAuthorityEpoch(db) {
161
+ const row = db.prepare("SELECT MAX(CAST(json_extract(authority_json,'$.authority_epoch') AS INTEGER)) AS epoch FROM human_delivery_receipts "
162
+ + "WHERE authority_json IS NOT NULL AND json_valid(authority_json)").get();
163
+ return Number.isSafeInteger(row?.epoch) && row.epoch > 0 ? row.epoch : 0;
164
+ }
133
165
  /** Read-only operator compatibility: an older database simply has no human receipts. */
134
166
  export function queryHumanReceipt(db, caller, selector) {
135
167
  const table = db.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='human_delivery_receipts'").get();
@@ -149,11 +181,11 @@ export function queryHumanReceipt(db, caller, selector) {
149
181
  .get(row.receipt_id, caller))
150
182
  return { items: [], next_cursor: null };
151
183
  const origin = JSON.parse(row.origin_json);
152
- // #1939 S1: who authorized it, next to origin and proof_kind (delivery evidence); a web-session receipt names its account.
184
+ // #1939 S1: who authorized it, next to origin and proof_kind (delivery evidence); a web-verified receipt names its account.
153
185
  const authority = receiptAuthority(origin, row.authority_json ?? null);
154
186
  const item = {
155
187
  delivery_id: row.receipt_id, operation_id: row.receipt_id, correlation_id: null,
156
- source_instance: authority.kind === "web-session" && authority.actor
188
+ source_instance: authority.kind === "web-verified" && authority.actor
157
189
  ? "human:web:" + authority.actor.adapter_id + ":" + authority.actor.user_id
158
190
  : "human:" + origin.platform + ":" + (origin.user_id ?? "unknown"),
159
191
  target_instance: row.target_instance, kind: "human_inbound", state: row.state, attempt_no: 0,
@@ -189,8 +221,12 @@ export function steerInboundEnvelope(inbound) {
189
221
  export const BTW_INBOUND_PREFIX = "[BTW — side question from the user. Answer it separately without changing or interrupting the CURRENT work.]\n";
190
222
  /** One formatter for human wire bytes and their immutable evidence snapshot. */
191
223
  export function formatHumanInboundMessage(content, meta, mode) {
192
- // #1920: a guest's web message says so — recognition only, like every web message (authority none).
193
- const via = meta.source ? " via " + meta.source + (meta.source === "web" && meta.web_guest === "1" ? " (guest)" : "") : "";
224
+ // #1920: a guest's web message says so — recognition only (authority none). #1939 S3: "(verified)" when its receipt
225
+ // carries web-verified authority (set with the receipt, FleetManager.humanReceiptPayload) — a hint: agents read the
226
+ // receipt before acting on it as the person.
227
+ const web = meta.source === "web";
228
+ const label = web && meta.web_guest === "1" ? " (guest)" : web && meta.web_verified === "1" ? " (verified)" : "";
229
+ const via = meta.source ? " via " + meta.source + label : "";
194
230
  const idTag = meta.user_id ? ", id:" + meta.user_id : "";
195
231
  let body = "[user:" + (meta.user || "unknown") + via + idTag + "] " + content;
196
232
  if (meta.pending_reactions)
@@ -1 +1 @@
1
- {"version":3,"file":"human-delivery-receipts.js","sourceRoot":"","sources":["../src/human-delivery-receipts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"human-delivery-receipts.js","sourceRoot":"","sources":["../src/human-delivery-receipts.ts"],"names":[],"mappings":"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"}
@@ -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":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAM9C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,YAAY,GAA4B,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAElF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsC,IAAI,GAAG,CAAuB;IACvG,eAAe;IACf,wBAAwB;IACxB,iBAAiB;IACjB,kBAAkB;IAClB,UAAU;IACV,cAAc;IACd,aAAa;IACb,MAAM;IACN,WAAW;IACX,sFAAsF;IACtF,2BAA2B;CAC5B,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAChE,CAAC,eAAe,EAAE,wBAAwB,CAAW;KACnD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CACpD,CAAC;AAEF;;;GAGG;AACH,MAAM,0BAA0B,GAAwB,IAAI,GAAG,CAAC;IAC9D,UAAU;IACV,YAAY;IACZ,eAAe;CAChB,CAAC,CAAC;AAEH,wDAAwD;AACxD,MAAM,eAAe,GAAG;IACtB,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB;IACtE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe;IACzE,eAAe,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,WAAW;IACzE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU;IACjE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB;IAC7D,0EAA0E;IAC1E,kEAAkE;IAClE,eAAe;IACf,2BAA2B;CACnB,CAAC;AAEX,2DAA2D;AAC3D,MAAM,cAAc,GAAG;IACrB,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe;IACvD,wBAAwB,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB;IACvE,UAAU;CACF,CAAC;AAEX;;;GAGG;AACH,MAAM,mBAAmB,GAA2C;IAClE,qBAAqB,EAAE,KAAK;IAC5B,aAAa,EAAE,KAAK;IACpB,iCAAiC,EAAE,KAAK;IACxC,8BAA8B,EAAE,KAAK;IACrC,6BAA6B,EAAE,KAAK;IACpC,0BAA0B,EAAE,KAAK;IACjC,+EAA+E;IAC/E,kCAAkC,EAAE,KAAK;IACzC,8BAA8B,EAAE,KAAK;IACrC,oGAAoG;IACpG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,gBAAgB;QAC/I,sBAAsB,EAAE,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAc,CAAC,CAAC,CAAC;IACpG,sBAAsB,EAAE,KAAK;IAC7B,0BAA0B,EAAE,KAAK;IACjC,iBAAiB,EAAE,KAAK;IACxB,gBAAgB,EAAE,OAAO;IACzB,2BAA2B,EAAE,OAAO;IACpC,oCAAoC,EAAE,OAAO;IAC7C,gHAAgH;IAChH,2GAA2G;IAC3G,qCAAqC,EAAE,KAAK;IAC5C,yBAAyB,EAAE,OAAO;IAClC,wBAAwB,EAAE,OAAO;IACjC,qBAAqB,EAAE,OAAO;IAC9B,wBAAwB,EAAE,OAAO;IACjC,iBAAiB,EAAE,OAAO;CAC3B,CAAC;AAEF,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,MAAsB;IAIvD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAwE,EAAE,CAAC;QACzH,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,KAAc,CAAC;IACzE,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvB,CAAC;AAED;mEACmE;AACnE,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,wBAAwB;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IAC9E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAuB,EACvB,IAAoB;IAEpB,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,gEAAgE;IAChE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,IAAI,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IACxD,OAAO,wBAAwB,CAAC,GAAG,CAAC,GAA2B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAuB,EAAE,QAAuC;IAC1F,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrF,OAAO,YAAY,CAAC,KAAK,CAAE,CAAC;AAC9B,CAAC;AASD,qDAAqD;AACrD,MAAM,UAAU,yBAAyB;IACvC,MAAM,OAAO,GAAiC,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACzE,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACtD,wEAAwE;QACxE,sEAAsE;QACtE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAClG,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACpD,OAAO,CAAC,oBAAoB,GAAG,EAAE,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAC1C,CAAC"}