@songsid/agend 2.2.0 → 2.3.0-beta.1

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 (271) hide show
  1. package/dist/agent-cli.js +248 -2
  2. package/dist/agent-cli.js.map +1 -1
  3. package/dist/agent-endpoint.d.ts +2 -0
  4. package/dist/agent-endpoint.js +25 -0
  5. package/dist/agent-endpoint.js.map +1 -1
  6. package/dist/agent-file-read.d.ts +30 -0
  7. package/dist/agent-file-read.js +129 -0
  8. package/dist/agent-file-read.js.map +1 -0
  9. package/dist/agent-whats-new.js +13 -0
  10. package/dist/agent-whats-new.js.map +1 -1
  11. package/dist/atomic-write.js +9 -1
  12. package/dist/atomic-write.js.map +1 -1
  13. package/dist/auth-api.js +17 -0
  14. package/dist/auth-api.js.map +1 -1
  15. package/dist/backend/antigravity.js +3 -3
  16. package/dist/backend/antigravity.js.map +1 -1
  17. package/dist/backend/launch-effort.js +1 -1
  18. package/dist/backend/launch-effort.js.map +1 -1
  19. package/dist/backend/muse.js +10 -2
  20. package/dist/backend/muse.js.map +1 -1
  21. package/dist/channel/adapters/discord.d.ts +2 -0
  22. package/dist/channel/adapters/discord.js +17 -2
  23. package/dist/channel/adapters/discord.js.map +1 -1
  24. package/dist/channel/adapters/telegram.d.ts +8 -1
  25. package/dist/channel/adapters/telegram.js +74 -4
  26. package/dist/channel/adapters/telegram.js.map +1 -1
  27. package/dist/channel/mcp-tools.js +34 -0
  28. package/dist/channel/mcp-tools.js.map +1 -1
  29. package/dist/channel/types.d.ts +15 -0
  30. package/dist/config-validator.js +17 -1
  31. package/dist/config-validator.js.map +1 -1
  32. package/dist/daemon.js +244 -20
  33. package/dist/daemon.js.map +1 -1
  34. package/dist/fleet-context.d.ts +5 -0
  35. package/dist/fleet-manager.d.ts +89 -0
  36. package/dist/fleet-manager.js +401 -25
  37. package/dist/fleet-manager.js.map +1 -1
  38. package/dist/general-knowledge/skills/web-appearance/SKILL.md +258 -0
  39. package/dist/instance-avatar.js +3 -0
  40. package/dist/instance-avatar.js.map +1 -1
  41. package/dist/instance-config-impact.js +3 -0
  42. package/dist/instance-config-impact.js.map +1 -1
  43. package/dist/instance-lifecycle.js +9 -4
  44. package/dist/instance-lifecycle.js.map +1 -1
  45. package/dist/needs-you-hub.d.ts +4 -0
  46. package/dist/needs-you-hub.js +31 -6
  47. package/dist/needs-you-hub.js.map +1 -1
  48. package/dist/needs-you.d.ts +1 -13
  49. package/dist/needs-you.js +3 -37
  50. package/dist/needs-you.js.map +1 -1
  51. package/dist/outbound-handlers.d.ts +5 -0
  52. package/dist/outbound-handlers.js +30 -9
  53. package/dist/outbound-handlers.js.map +1 -1
  54. package/dist/outbound-schemas.d.ts +64 -0
  55. package/dist/outbound-schemas.js +50 -0
  56. package/dist/outbound-schemas.js.map +1 -1
  57. package/dist/public-web-gateway.js +14 -0
  58. package/dist/public-web-gateway.js.map +1 -1
  59. package/dist/repo-worktree-guard.d.ts +36 -0
  60. package/dist/repo-worktree-guard.js +143 -0
  61. package/dist/repo-worktree-guard.js.map +1 -0
  62. package/dist/scheduler/scheduler.d.ts +58 -1
  63. package/dist/scheduler/scheduler.js +176 -10
  64. package/dist/scheduler/scheduler.js.map +1 -1
  65. package/dist/settings-api.js +74 -1
  66. package/dist/settings-api.js.map +1 -1
  67. package/dist/settings-change.js +8 -0
  68. package/dist/settings-change.js.map +1 -1
  69. package/dist/settings-effect.js +16 -2
  70. package/dist/settings-effect.js.map +1 -1
  71. package/dist/settings-http-confirmation.js +5 -0
  72. package/dist/settings-http-confirmation.js.map +1 -1
  73. package/dist/tool-permissions.js +50 -0
  74. package/dist/tool-permissions.js.map +1 -1
  75. package/dist/topic-commands.d.ts +10 -6
  76. package/dist/topic-commands.js +21 -17
  77. package/dist/topic-commands.js.map +1 -1
  78. package/dist/topic-link.d.ts +128 -0
  79. package/dist/topic-link.js +269 -0
  80. package/dist/topic-link.js.map +1 -0
  81. package/dist/types.d.ts +13 -0
  82. package/dist/ui/app-effects.js +187 -0
  83. package/dist/ui/chat-effect-posters.js +42 -0
  84. package/dist/ui/chat-effects.js +72 -0
  85. package/dist/ui/chat-live-replies.js +58 -0
  86. package/dist/ui/chat-render.js +4 -4
  87. package/dist/ui/chat-store.js +9 -3
  88. package/dist/ui/chat-strings.js +15 -0
  89. package/dist/ui/chat-thread.js +47 -21
  90. package/dist/ui/chat-tour.js +1 -1
  91. package/dist/ui/effect-trial-controller.js +119 -0
  92. package/dist/ui/effect-trial-offer.js +31 -0
  93. package/dist/ui/effect-trial-panel.js +37 -0
  94. package/dist/ui/image-lightbox.js +1 -1
  95. package/dist/ui/panel-chat.js +85 -17
  96. package/dist/ui/panel-details.js +18 -5
  97. package/dist/ui/panel-fleet.js +3 -3
  98. package/dist/ui/panel-log.js +6 -6
  99. package/dist/ui/panel-needs.js +3 -3
  100. package/dist/ui/panel-settings.js +8 -5
  101. package/dist/ui/preview-panel.js +25 -9
  102. package/dist/ui/settings-appearance.js +325 -0
  103. package/dist/ui/settings-effects.js +201 -0
  104. package/dist/ui/settings-mods.js +257 -0
  105. package/dist/ui/settings-owner-effects.js +80 -0
  106. package/dist/ui/settings-strings.js +245 -0
  107. package/dist/ui/shared/agend-auth.js +27 -3
  108. package/dist/ui/shared/agent-widget.js +248 -0
  109. package/dist/ui/shared/app-i18n.js +2 -0
  110. package/dist/ui/shared/app-prefs.js +30 -10
  111. package/dist/ui/shared/app-route.js +23 -1
  112. package/dist/ui/shared/app-session.js +1 -1
  113. package/dist/ui/shared/app-shell.js +29 -16
  114. package/dist/ui/shared/app-store.js +2 -0
  115. package/dist/ui/shared/app-stream.js +12 -7
  116. package/dist/ui/shared/app-themes.js +188 -0
  117. package/dist/ui/shared/app.css +214 -1
  118. package/dist/ui/shared/app.js +6 -0
  119. package/dist/ui/shared/card-strings.js +28 -0
  120. package/dist/ui/shared/effect-app-runtime.js +248 -0
  121. package/dist/ui/shared/effect-baseline.js +64 -0
  122. package/dist/ui/shared/effect-chat-runtime.js +154 -0
  123. package/dist/ui/shared/effect-cursor.js +125 -0
  124. package/dist/ui/shared/effect-frame.js +127 -0
  125. package/dist/ui/shared/effect-geometry.js +122 -0
  126. package/dist/ui/shared/effect-host-style.js +10 -0
  127. package/dist/ui/shared/effect-owner-regions.js +74 -0
  128. package/dist/ui/shared/effect-owner-source.js +115 -0
  129. package/dist/ui/shared/effect-policy.js +137 -0
  130. package/dist/ui/shared/effect-poster-reader.js +98 -0
  131. package/dist/ui/shared/effect-posters.js +117 -0
  132. package/dist/ui/shared/effect-profiler.js +162 -0
  133. package/dist/ui/shared/effect-profiles.js +65 -0
  134. package/dist/ui/shared/effect-registry.js +496 -0
  135. package/dist/ui/shared/effect-runtime-loader.js +234 -0
  136. package/dist/ui/shared/effect-safety.js +153 -0
  137. package/dist/ui/shared/effect-stock-snapshot.js +34 -0
  138. package/dist/ui/shared/effect-stock-trust.js +165 -0
  139. package/dist/ui/shared/effect-trial-source.js +103 -0
  140. package/dist/ui/shared/effect-trial-stage.js +147 -0
  141. package/dist/ui/shared/header-tools.js +1 -1
  142. package/dist/ui/shared/identity-card.js +202 -0
  143. package/dist/ui/shared/identity-color.js +261 -0
  144. package/dist/ui/shared/instance-nav.js +22 -14
  145. package/dist/ui/shared/owner-css.js +221 -0
  146. package/dist/ui/shared/owner-effect-prefs.js +117 -0
  147. package/dist/ui/shared/panel-view.js +81 -8
  148. package/dist/ui/shared/signin.js +2 -0
  149. package/dist/ui/shared/ui-dialog.js +1 -1
  150. package/dist/ui/shared/ui-icons.js +2 -0
  151. package/dist/ui/shared/ui-menu.js +1 -1
  152. package/dist/ui/shared/ui-toast.js +1 -1
  153. package/dist/ui/shared/view-strings.js +30 -0
  154. package/dist/ui/signin.html +1 -0
  155. package/dist/view-api.d.ts +29 -0
  156. package/dist/view-api.js +188 -8
  157. package/dist/view-api.js.map +1 -1
  158. package/dist/web-api.d.ts +42 -0
  159. package/dist/web-api.js +896 -36
  160. package/dist/web-api.js.map +1 -1
  161. package/dist/web-appearance-limits.d.ts +82 -0
  162. package/dist/web-appearance-limits.js +83 -0
  163. package/dist/web-appearance-limits.js.map +1 -0
  164. package/dist/web-appearance-policy.d.ts +66 -0
  165. package/dist/web-appearance-policy.js +94 -0
  166. package/dist/web-appearance-policy.js.map +1 -0
  167. package/dist/web-appearance-tools.d.ts +50 -0
  168. package/dist/web-appearance-tools.js +105 -0
  169. package/dist/web-appearance-tools.js.map +1 -0
  170. package/dist/web-appearance-view.d.ts +99 -0
  171. package/dist/web-appearance-view.js +163 -0
  172. package/dist/web-appearance-view.js.map +1 -0
  173. package/dist/web-appearance.d.ts +79 -0
  174. package/dist/web-appearance.js +298 -0
  175. package/dist/web-appearance.js.map +1 -0
  176. package/dist/web-asset-parts.d.ts +98 -0
  177. package/dist/web-asset-parts.js +133 -0
  178. package/dist/web-asset-parts.js.map +1 -0
  179. package/dist/web-auth.js +17 -1
  180. package/dist/web-auth.js.map +1 -1
  181. package/dist/web-card.d.ts +96 -0
  182. package/dist/web-card.js +232 -0
  183. package/dist/web-card.js.map +1 -0
  184. package/dist/web-chat-history.d.ts +13 -0
  185. package/dist/web-chat-history.js +23 -2
  186. package/dist/web-chat-history.js.map +1 -1
  187. package/dist/web-effect-bundle.d.ts +28 -0
  188. package/dist/web-effect-bundle.js +126 -0
  189. package/dist/web-effect-bundle.js.map +1 -0
  190. package/dist/web-effect-canonical.d.ts +8 -0
  191. package/dist/web-effect-canonical.js +27 -0
  192. package/dist/web-effect-canonical.js.map +1 -0
  193. package/dist/web-effect-library.d.ts +114 -0
  194. package/dist/web-effect-library.js +530 -0
  195. package/dist/web-effect-library.js.map +1 -0
  196. package/dist/web-effect-poster.d.ts +8 -0
  197. package/dist/web-effect-poster.js +52 -0
  198. package/dist/web-effect-poster.js.map +1 -0
  199. package/dist/web-effect-profiles.d.ts +118 -0
  200. package/dist/web-effect-profiles.js +180 -0
  201. package/dist/web-effect-profiles.js.map +1 -0
  202. package/dist/web-effect-service.d.ts +86 -0
  203. package/dist/web-effect-service.js +312 -0
  204. package/dist/web-effect-service.js.map +1 -0
  205. package/dist/web-effect-tools.d.ts +47 -0
  206. package/dist/web-effect-tools.js +126 -0
  207. package/dist/web-effect-tools.js.map +1 -0
  208. package/dist/web-effect-trials.d.ts +86 -0
  209. package/dist/web-effect-trials.js +204 -0
  210. package/dist/web-effect-trials.js.map +1 -0
  211. package/dist/web-effect-upload.d.ts +29 -0
  212. package/dist/web-effect-upload.js +190 -0
  213. package/dist/web-effect-upload.js.map +1 -0
  214. package/dist/web-effect-worker.d.ts +8 -0
  215. package/dist/web-effect-worker.js +170 -0
  216. package/dist/web-effect-worker.js.map +1 -0
  217. package/dist/web-effect.d.ts +89 -0
  218. package/dist/web-effect.js +132 -0
  219. package/dist/web-effect.js.map +1 -0
  220. package/dist/web-identity-color.d.ts +87 -0
  221. package/dist/web-identity-color.js +209 -0
  222. package/dist/web-identity-color.js.map +1 -0
  223. package/dist/web-identity-palette.d.ts +113 -0
  224. package/dist/web-identity-palette.js +84 -0
  225. package/dist/web-identity-palette.js.map +1 -0
  226. package/dist/web-image-meta.d.ts +25 -0
  227. package/dist/web-image-meta.js +200 -0
  228. package/dist/web-image-meta.js.map +1 -0
  229. package/dist/web-mod-agent.d.ts +50 -0
  230. package/dist/web-mod-agent.js +203 -0
  231. package/dist/web-mod-agent.js.map +1 -0
  232. package/dist/web-mod-bundle.d.ts +144 -0
  233. package/dist/web-mod-bundle.js +464 -0
  234. package/dist/web-mod-bundle.js.map +1 -0
  235. package/dist/web-mod-export.d.ts +59 -0
  236. package/dist/web-mod-export.js +79 -0
  237. package/dist/web-mod-export.js.map +1 -0
  238. package/dist/web-mod-store.d.ts +283 -0
  239. package/dist/web-mod-store.js +624 -0
  240. package/dist/web-mod-store.js.map +1 -0
  241. package/dist/web-org.d.ts +3 -3
  242. package/dist/web-org.js +11 -17
  243. package/dist/web-org.js.map +1 -1
  244. package/dist/web-owner-css-store.d.ts +180 -0
  245. package/dist/web-owner-css-store.js +384 -0
  246. package/dist/web-owner-css-store.js.map +1 -0
  247. package/dist/web-owner-css.d.ts +58 -0
  248. package/dist/web-owner-css.js +552 -0
  249. package/dist/web-owner-css.js.map +1 -0
  250. package/dist/web-prefs.d.ts +48 -0
  251. package/dist/web-prefs.js +209 -33
  252. package/dist/web-prefs.js.map +1 -1
  253. package/dist/web-preview.d.ts +9 -1
  254. package/dist/web-preview.js +24 -7
  255. package/dist/web-preview.js.map +1 -1
  256. package/dist/web-settings-patch.d.ts +18 -0
  257. package/dist/web-settings-patch.js +51 -0
  258. package/dist/web-settings-patch.js.map +1 -1
  259. package/dist/web-shell-routes.d.ts +1 -1
  260. package/dist/web-shell-routes.js +1 -1
  261. package/dist/web-shell-routes.js.map +1 -1
  262. package/dist/web-theme-store.d.ts +218 -0
  263. package/dist/web-theme-store.js +516 -0
  264. package/dist/web-theme-store.js.map +1 -0
  265. package/dist/web-theme.d.ts +121 -0
  266. package/dist/web-theme.js +407 -0
  267. package/dist/web-theme.js.map +1 -0
  268. package/dist/web-widget.d.ts +72 -0
  269. package/dist/web-widget.js +245 -0
  270. package/dist/web-widget.js.map +1 -0
  271. package/package.json +1 -1
@@ -105,6 +105,11 @@ export interface FleetContext {
105
105
  * keep working (they fall back to the receiving adapter).
106
106
  */
107
107
  getInstanceAdapterId?(instanceName: string): string | undefined;
108
+ /** #1990: a message for world `worldId`'s group with its place tokens rendered (fleet-manager.ts renderPlaces). */
109
+ renderPlaces?(worldId: string | undefined, text: string, opts?: import("./channel/types.js").SendOpts): {
110
+ text: string;
111
+ opts?: import("./channel/types.js").SendOpts;
112
+ };
108
113
  changeInstancePauseState(name: string, action: "pause" | "wake"): Promise<"paused" | "awake" | "not_idle">;
109
114
  startInstance(name: string, config: InstanceConfig, topicMode: boolean): Promise<void>;
110
115
  /** #1716: resolves whether the stop ended background work that was running. */
@@ -57,10 +57,21 @@ import { type LogAnswer, type LogQuery } from "./log-service.js";
57
57
  import { WebChatHistory } from "./web-chat-history.js";
58
58
  import { SeenUsers, type MentionNames, type MentionQuery } from "./web-mentions.js";
59
59
  import { WebPrefsStore } from "./web-prefs.js";
60
+ import { OwnerCssStore } from "./web-owner-css-store.js";
61
+ import { ThemeStore } from "./web-theme-store.js";
62
+ import { WebAppearance } from "./web-appearance.js";
63
+ import { WebEffectLibrary } from "./web-effect-library.js";
64
+ import { WebEffectTrials } from "./web-effect-trials.js";
65
+ import { WebEffectService } from "./web-effect-service.js";
66
+ import { WebEffectProfiles } from "./web-effect-profiles.js";
67
+ import { WebEffectTools } from "./web-effect-tools.js";
60
68
  import { type WebAccount } from "./web-profile.js";
61
69
  import type { WebPerson as WebPersonView } from "./web-api.js";
62
70
  import { ReplyButtonsController } from "./reply-buttons-controller.js";
63
71
  import { WebFileLedger } from "./web-upload.js";
72
+ import { AppearanceTools } from "./web-appearance-tools.js";
73
+ import { ModStore } from "./web-mod-store.js";
74
+ import { AgentMods } from "./web-mod-agent.js";
64
75
  import { type CachedImage } from "./web-images.js";
65
76
  import { type RawConfigPatch } from "./settings-api.js";
66
77
  import { type AgentEndpointContext } from "./agent-endpoint.js";
@@ -512,6 +523,57 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
512
523
  */
513
524
  private webNameReserved;
514
525
  private webNameTaken;
526
+ private themeStoreInstance?;
527
+ private webAppearanceService?;
528
+ /** #1629: every instance's theme, placements, assets and lock (web-themes.json). */
529
+ get themeStore(): ThemeStore;
530
+ /** #1629: the theme tools, a person's reset and lock, and the one appearance rate limiter (shared with effects). */
531
+ get webAppearance(): WebAppearance;
532
+ private effectLibraryInstance?;
533
+ private effectTrialsInstance?;
534
+ /** Lazy, single-owner storage. Register every host reference source before any operation can collect. */
535
+ get effectLibrary(): WebEffectLibrary;
536
+ /** Volatile Try offers and session-bound runs share this library. */
537
+ get effectTrials(): WebEffectTrials;
538
+ private effectProfilesInstance?;
539
+ get effectProfiles(): WebEffectProfiles;
540
+ private effectServiceInstance?;
541
+ get effectService(): WebEffectService;
542
+ private effectToolsService?;
543
+ /** Caller identity is supplied only by the owned IPC connection / verified agent endpoint token. */
544
+ get effectTools(): WebEffectTools;
545
+ private appearanceToolsService?;
546
+ /** #1629 r4 §1: get_web_appearance / preview_web_appearance — the caller's own look, resolved as the page resolves it. */
547
+ get appearanceTools(): AppearanceTools;
548
+ /** #1958: a profile, card or colour write (view-api.ts) landed: every open page gets a fresh status frame. */
549
+ identityChanged(): void;
550
+ /** A fleet.yaml instance (own key) or a ClassicBot room, now (#1629: a person's reset/lock names one). */
551
+ isKnownInstance(name: string): boolean;
552
+ private modStore?;
553
+ /**
554
+ * #1629 r4-5 / B2: installed mods use the same validated library and scoped holder claims as direct uploads.
555
+ */
556
+ get mods(): ModStore;
557
+ private agentModsService?;
558
+ /** #1629 r4-5b: export_web_mod / propose_web_mod — the caller's own look as a file, and a proposal for a person. */
559
+ get agentMods(): AgentMods;
560
+ /**
561
+ * #1629 r4-5c: an effect as this person may carry it away in an export — their own claim, or one a person shared —
562
+ * read with their principal (Sol's ACL). Being able to view or run a placed effect never grants packaging someone
563
+ * else's private claim: the library's reference read is runtime access, not an export path. Null: not theirs.
564
+ */
565
+ modPlacedEffect(person: string, id: string): {
566
+ name: string;
567
+ files: ReadonlyMap<string, Uint8Array>;
568
+ } | null;
569
+ /** #1629 r4-5: an instance's card text as every viewer sees it (a person's fields over the agent's). */
570
+ modCardText(name: string): {
571
+ tagline?: string;
572
+ bio?: string;
573
+ };
574
+ private ownerCssStore?;
575
+ /** #1629 r4 §3: each person's own CSS; which version is in force is their `css.active` in the web preferences. */
576
+ get ownerCss(): OwnerCssStore;
515
577
  get webPrefs(): WebPrefsStore;
516
578
  /**
517
579
  * Read from disk on every access rather than cached at startup: `agend
@@ -1506,6 +1568,22 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1506
1568
  private disposeSettingsAdapter;
1507
1569
  /** Restart a channel adapter after fatal error with infinite retry + 60s cap */
1508
1570
  private restartAdapter;
1571
+ /**
1572
+ * #1990: how a reader in world `worldId`'s group reaches a place token's target — undefined (plain text) for another
1573
+ * world's instance, an instance without a fleet topic (a ClassicBot room may be anywhere), or an id no link is built
1574
+ * from. Discord: the channel mention; Telegram: the topic URL (General's topic included).
1575
+ */
1576
+ private placeLink;
1577
+ /** #1990: a message for world `worldId`'s group with its place tokens rendered (links as text or Telegram entities). */
1578
+ renderPlaces(worldId: string | undefined, text: string, opts?: import("./channel/types.js").SendOpts): {
1579
+ text: string;
1580
+ opts?: import("./channel/types.js").SendOpts;
1581
+ };
1582
+ /** #1990: renderPlaces for the world that owns `instanceName`'s topic. */
1583
+ renderPlacesFor(instanceName: string, text: string, opts?: import("./channel/types.js").SendOpts): {
1584
+ text: string;
1585
+ opts?: import("./channel/types.js").SendOpts;
1586
+ };
1509
1587
  /** Handle inbound message — transcribe voice if present, then route */
1510
1588
  private findGeneralInstance;
1511
1589
  /**
@@ -1724,6 +1802,12 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1724
1802
  */
1725
1803
  private refuseTypedIpc;
1726
1804
  private dispatchTypedIpc;
1805
+ /**
1806
+ * #1629: the caller's own web theme over IPC (the agent endpoint calls the same service). `name` is the instance this
1807
+ * IPC connection belongs to — never anything the message says. A refusal is a result the agent reads (its `error`
1808
+ * and what to do), not a transport error.
1809
+ */
1810
+ private handleWebTheme;
1727
1811
  /** `list_emojis` / `set_persona_emoji` / `preview_emojis` / `list_stickers` / `preview_stickers` over IPC; the agent endpoint calls the same methods. */
1728
1812
  private handlePersonaEmoji;
1729
1813
  private handleScheduleCrud;
@@ -1759,6 +1843,8 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
1759
1843
  handleListStickersHttp(instance: string, args: Record<string, unknown>): Promise<unknown>;
1760
1844
  handlePreviewStickersHttp(instance: string, args: Record<string, unknown>): Promise<unknown>;
1761
1845
  handleSetPersonaEmojiHttp(instance: string, args: Record<string, unknown>): Promise<unknown>;
1846
+ /** #1629: `agend-agent theme …` — the same service as the tools; `instance` is the token's. */
1847
+ handleWebThemeHttp(instance: string, tool: string, args: Record<string, unknown>): Promise<unknown>;
1762
1848
  handlePreviewEmojisHttp(instance: string, args: Record<string, unknown>): Promise<unknown>;
1763
1849
  handleSetDescriptionHttp(instance: string, description: string): Promise<unknown>;
1764
1850
  private summarizeToolCall;
@@ -2309,6 +2395,7 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2309
2395
  label: string;
2310
2396
  }>;
2311
2397
  expiresAt: number;
2398
+ links?: import("./topic-link.js").TextLink[];
2312
2399
  }>;
2313
2400
  /**
2314
2401
  * A click on a prompt in the web dashboard (web track C4). It is the platform click, made by the
@@ -2744,6 +2831,8 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
2744
2831
  private restoreWebChat;
2745
2832
  /** #1565: who an instance is, for its web chat file: its working directory, or its ClassicBot room; null if neither. */
2746
2833
  private webChatOwner;
2834
+ /** The only Try-card publisher: no arbitrary SSE sender/role can manufacture this metadata. */
2835
+ private publishEffectTrial;
2747
2836
  /** Push an SSE event to all connected Web UI clients. */
2748
2837
  emitSseEvent(event: string, data: unknown): void;
2749
2838
  listClaimedTasks(assignee: string): Array<{