@songsid/agend 2.3.2-beta.2 → 2.3.2-beta.4

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 (110) hide show
  1. package/dist/agent-cli.js +21 -2
  2. package/dist/agent-cli.js.map +1 -1
  3. package/dist/agent-endpoint.js +5 -0
  4. package/dist/agent-endpoint.js.map +1 -1
  5. package/dist/auth-api.js +2 -0
  6. package/dist/auth-api.js.map +1 -1
  7. package/dist/backend/kiro.d.ts +21 -1
  8. package/dist/backend/kiro.js +89 -1
  9. package/dist/backend/kiro.js.map +1 -1
  10. package/dist/channel/adapters/discord.js +7 -4
  11. package/dist/channel/adapters/discord.js.map +1 -1
  12. package/dist/channel/mcp-tools.js +4 -0
  13. package/dist/channel/mcp-tools.js.map +1 -1
  14. package/dist/classic-channel-manager.d.ts +5 -0
  15. package/dist/classic-channel-manager.js +14 -1
  16. package/dist/classic-channel-manager.js.map +1 -1
  17. package/dist/config-validator.js +22 -5
  18. package/dist/config-validator.js.map +1 -1
  19. package/dist/config.js +6 -1
  20. package/dist/config.js.map +1 -1
  21. package/dist/daemon.js +16 -4
  22. package/dist/daemon.js.map +1 -1
  23. package/dist/dashboard-permissions.d.ts +20 -6
  24. package/dist/dashboard-permissions.js +58 -9
  25. package/dist/dashboard-permissions.js.map +1 -1
  26. package/dist/fleet-manager.d.ts +16 -1
  27. package/dist/fleet-manager.js +183 -21
  28. package/dist/fleet-manager.js.map +1 -1
  29. package/dist/general-knowledge/skills/web-appearance/SKILL.canvas-worker-off.md +24 -1
  30. package/dist/general-knowledge/skills/web-appearance/SKILL.md +24 -1
  31. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +8 -3
  32. package/dist/instance-config-impact.js +10 -5
  33. package/dist/instance-config-impact.js.map +1 -1
  34. package/dist/instance-lifecycle.d.ts +8 -0
  35. package/dist/instance-lifecycle.js +5 -3
  36. package/dist/instance-lifecycle.js.map +1 -1
  37. package/dist/locale.js +2 -6
  38. package/dist/locale.js.map +1 -1
  39. package/dist/notice-delivery.d.ts +15 -0
  40. package/dist/notice-delivery.js +37 -0
  41. package/dist/notice-delivery.js.map +1 -0
  42. package/dist/outbound-schemas.d.ts +20 -0
  43. package/dist/outbound-schemas.js +17 -0
  44. package/dist/outbound-schemas.js.map +1 -1
  45. package/dist/public-web-gateway.js +1 -1
  46. package/dist/public-web-gateway.js.map +1 -1
  47. package/dist/quickstart.js +2 -0
  48. package/dist/quickstart.js.map +1 -1
  49. package/dist/reply-triggers.d.ts +2 -0
  50. package/dist/reply-triggers.js +3 -0
  51. package/dist/reply-triggers.js.map +1 -0
  52. package/dist/settings-api.js +27 -4
  53. package/dist/settings-api.js.map +1 -1
  54. package/dist/settings-change.js +17 -14
  55. package/dist/settings-change.js.map +1 -1
  56. package/dist/settings-effect.js +7 -1
  57. package/dist/settings-effect.js.map +1 -1
  58. package/dist/settings-instance-patch.js +4 -1
  59. package/dist/settings-instance-patch.js.map +1 -1
  60. package/dist/setup-host.js +2 -1
  61. package/dist/setup-host.js.map +1 -1
  62. package/dist/setup-wizard.js +2 -0
  63. package/dist/setup-wizard.js.map +1 -1
  64. package/dist/tool-permissions.js +10 -0
  65. package/dist/tool-permissions.js.map +1 -1
  66. package/dist/topic-commands.js +2 -1
  67. package/dist/topic-commands.js.map +1 -1
  68. package/dist/turn-reply-guard.d.ts +1 -1
  69. package/dist/turn-reply-guard.js +1 -1
  70. package/dist/turn-reply-guard.js.map +1 -1
  71. package/dist/types.d.ts +16 -6
  72. package/dist/ui/chat-strings.js +2 -2
  73. package/dist/ui/fleet-office-editor.js +10 -6
  74. package/dist/ui/fleet-office-layout.js +34 -28
  75. package/dist/ui/fleet-office-model.js +6 -3
  76. package/dist/ui/fleet-office-overview.js +2 -2
  77. package/dist/ui/fleet-office-pack.d.ts +3 -1
  78. package/dist/ui/fleet-office-pack.js +58 -7
  79. package/dist/ui/fleet-office-skin.js +13 -4
  80. package/dist/ui/fleet-office-store.js +27 -1
  81. package/dist/ui/fleet-office-view.js +5 -4
  82. package/dist/ui/fleet-office-zones.js +155 -6
  83. package/dist/ui/fleet-office.js +169 -41
  84. package/dist/ui/panel-chat.js +8 -1
  85. package/dist/ui/panel-settings.js +32 -10
  86. package/dist/ui/settings-dialogs.js +8 -1
  87. package/dist/ui/settings-model.js +14 -6
  88. package/dist/ui/settings-registry.js +4 -0
  89. package/dist/ui/settings-strings.js +14 -0
  90. package/dist/ui/shared/app-i18n.js +2 -0
  91. package/dist/ui/shared/app-shell.js +14 -6
  92. package/dist/ui/shared/app-stream.js +2 -1
  93. package/dist/ui/shared/app.css +20 -2
  94. package/dist/ui/shared/side-panel.js +95 -0
  95. package/dist/web-api.d.ts +3 -0
  96. package/dist/web-api.js +11 -0
  97. package/dist/web-api.js.map +1 -1
  98. package/dist/web-auth.js +1 -1
  99. package/dist/web-auth.js.map +1 -1
  100. package/dist/web-office-acts.d.ts +173 -0
  101. package/dist/web-office-acts.js +285 -0
  102. package/dist/web-office-acts.js.map +1 -0
  103. package/dist/web-office-skins.d.ts +1 -1
  104. package/dist/web-office-skins.js +1 -1
  105. package/dist/web-office-skins.js.map +1 -1
  106. package/dist/web-settings-patch.d.ts +2 -1
  107. package/dist/web-settings-patch.js +4 -1
  108. package/dist/web-settings-patch.js.map +1 -1
  109. package/package.json +1 -1
  110. package/templates/windows-shortcuts.ps1 +11 -2
package/dist/web-auth.js CHANGED
@@ -361,7 +361,7 @@ function authorize(req, url, token, sessions, opts) {
361
361
  * default and then touch nothing at all.
362
362
  */
363
363
  // #1665: /ui/prefs is read by the page when another device changed a preference — the page's doing, not the person's.
364
- const PASSIVE_GET_PATHS = new Set(["/ui/poll", "/ui/events", "/api/profiles", "/api/ai-usage", "/ui/prefs", "/ui/preview-status", "/ui/steps", "/ui/traffic", "/ui/authorization", "/ui/offices"]); // #1918: the public link polls traffic; the Office view reads offices again when the stream says they changed
364
+ const PASSIVE_GET_PATHS = new Set(["/ui/poll", "/ui/events", "/api/profiles", "/api/ai-usage", "/ui/prefs", "/ui/preview-status", "/ui/steps", "/ui/traffic", "/ui/authorization", "/ui/offices", "/ui/office-acts"]); // #1918: the public link polls traffic; the Office view reads offices again when the stream says they changed (and its agents' acts, #2578)
365
365
  const PASSIVE_GET_PANE = /^\/api\/pane\/[^/]+$/;
366
366
  /** #1630: the pictures a page draws (avatars, server emoji) and the emoji list are loaded by the page, not done by a person. */
367
367
  const PASSIVE_GET_IMAGES = /^\/ui\/(?:img\/(?:bot|avatar|emoji)\/[^/]+|emojis|mentions)$/; // #1682: mention names too
@@ -1 +1 @@
1
- {"version":3,"file":"web-auth.js","sourceRoot":"","sources":["../src/web-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-auth.js","sourceRoot":"","sources":["../src/web-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * #2578: an agent sees and directs its own character in Fleet → Org chart → Office — office_view (the stored offices
3
+ * it is in: who is there, in what state, and the spots it may walk to) and office_set (walk to a seat, a waypoint or a
4
+ * person; say a line; hold a pose; for a few seconds). Its own only: the caller is the instance its IPC connection or
5
+ * agent token belongs to, never anything the call says. The `office` dashboard feature (dashboard-permissions.ts) is
6
+ * off until a person switches it on; the fleet's sinks refuse both tools before they reach here.
7
+ *
8
+ * An act is kept in memory, one per instance (a new office_set replaces it; `clear` ends it; a fleet restart forgets
9
+ * them all), and is live while `until` is ahead (wall clock, the page's): every change — set, clear, expiry — goes to
10
+ * every page as the `office_acts` SSE event, and GET /ui/office-acts reads the same list. The page draws it until new
11
+ * work begins (fleet-office.js actLive: the turn it was set in, and idle after it, keep it; working again after that, or
12
+ * after acting while idle, ends it), its instance is called or asleep, or bedtime puts it to bed: an act never hides real
13
+ * work.
14
+ *
15
+ * Spots come from the office's skin: a pack the host keeps (web-office-skins.ts), with the office's layout overrides on
16
+ * it (applyOverrides — the page's own rule); a built-in style (pixel, studio) or a pack without stateZones draws desks,
17
+ * with none: there the line and the pose show, and `go` is refused (nobody walks; review). A seat is "area:index", its
18
+ * index in the area's seat list from 0, as office_view lists it.
19
+ *
20
+ * office_set is limited per instance (OfficeActLimiter: 6 a minute, 60 an hour, monotonic, memory only), like the
21
+ * appearance limiter: checked before anything is validated, counted only once the act is in place; a refusal says when
22
+ * the next call may come (cooldown_ms). office_view is not limited.
23
+ */
24
+ import { type CheckedPack } from "./ui/fleet-office-pack.js";
25
+ import type { Office } from "./web-office-store.js";
26
+ export declare const OFFICE_ACT_LIMITS: {
27
+ readonly perMinute: 6;
28
+ readonly perHour: 60;
29
+ readonly say: 40;
30
+ readonly minSeconds: 5;
31
+ readonly maxSeconds: 120;
32
+ readonly defaultSeconds: 30;
33
+ };
34
+ export declare const OFFICE_POSES: readonly ["idle", "working", "needs", "paused"];
35
+ export type OfficePose = typeof OFFICE_POSES[number];
36
+ /** One instance's act: where it walks (a point, or a person the page finds), what it says, how it stands, and until when. */
37
+ export interface OfficeAct {
38
+ instance: string;
39
+ office: string;
40
+ x?: number;
41
+ y?: number;
42
+ person?: string;
43
+ say?: string;
44
+ pose?: OfficePose;
45
+ /** Wall-clock ms: when it was set, and when it ends. */
46
+ since: number;
47
+ until: number;
48
+ /** The instance's dashboard state when it was set: set while idle, working is new work and ends it (actLive). */
49
+ state: string;
50
+ }
51
+ export interface OfficeSpots {
52
+ seats: Array<{
53
+ area: string;
54
+ index: number;
55
+ x: number;
56
+ y: number;
57
+ }>;
58
+ waypoints: Array<{
59
+ id: string;
60
+ x: number;
61
+ y: number;
62
+ }>;
63
+ npcs: Array<{
64
+ id: string;
65
+ label: string | null;
66
+ x: number;
67
+ y: number;
68
+ }>;
69
+ door: {
70
+ x: number;
71
+ y: number;
72
+ } | null;
73
+ }
74
+ /** `walks`: a zones style, where characters walk; on desks (false) only say and pose show. */
75
+ export interface OfficeSeen {
76
+ id: string;
77
+ name: string;
78
+ skin: string;
79
+ walks: boolean;
80
+ members: Array<{
81
+ name: string;
82
+ display_name?: string;
83
+ state: string;
84
+ }>;
85
+ spots: OfficeSpots;
86
+ }
87
+ /** The chart an office's members are read against: every instance the dashboard lists, and fleet.yaml's teams. */
88
+ export interface OfficeChart {
89
+ names: readonly string[];
90
+ teams: ReadonlyArray<{
91
+ name: string;
92
+ members: readonly string[];
93
+ }>;
94
+ }
95
+ export interface OfficeActsDeps {
96
+ /** The stored offices (web-office-store.ts; none when its file is unreadable). */
97
+ offices(): Office[];
98
+ /** A pack the host keeps, checked, or null (a built-in style, or a pack since deleted). */
99
+ pack(id: string): CheckedPack | null;
100
+ chart(): OfficeChart;
101
+ /**
102
+ * A snapshot of the people, read once per call: an instance's dashboard state as the org chart shows it (fleet-org.js
103
+ * orgState: needs, crashed, stuck, starting, queued, working, idle, paused, stopped, missing) and its display name.
104
+ */
105
+ people(): {
106
+ stateOf(name: string): string;
107
+ displayName(name: string): string | undefined;
108
+ };
109
+ /** The live acts changed: every page hears it (`office_acts`). */
110
+ changed(acts: OfficeAct[]): void;
111
+ }
112
+ export type OfficeAnswer = Record<string, unknown>;
113
+ /**
114
+ * A stored office's members, as the page reads them (fleet-office-model.js membersOf): instance names, or `team:<name>`
115
+ * for a team's members; none means everyone the dashboard lists. A name the chart does not have is left out.
116
+ */
117
+ export declare function officeMembers(office: Pick<Office, "members">, chart: OfficeChart): string[];
118
+ /** Whether an office's style walks its people (a pack with stateZones, as the page's `zones`); else it draws desks. */
119
+ export declare const officeWalks: (pack: CheckedPack | null) => boolean;
120
+ /** The spots of an office's skin: a kept zones pack's, with the office's overrides on it; a desks style's are none. */
121
+ export declare function officeSpots(office: Pick<Office, "skin" | "overrides">, pack: CheckedPack | null): OfficeSpots;
122
+ /** How often one instance may call office_set: 6 a minute and 60 an hour, accepted calls only (monotonic clock). */
123
+ export declare class OfficeActLimiter {
124
+ private readonly now;
125
+ private readonly limits;
126
+ private readonly calls;
127
+ constructor(now?: () => number, limits?: {
128
+ perMinute: number;
129
+ perHour: number;
130
+ });
131
+ private recent;
132
+ /** Ms until `instance` may call again (0: now). Changes nothing. */
133
+ waitMs(instance: string): number;
134
+ /** Count an accepted call. */
135
+ record(instance: string): void;
136
+ forget(instance: string): void;
137
+ }
138
+ export declare class OfficeActs {
139
+ private readonly deps;
140
+ readonly limiter: OfficeActLimiter;
141
+ private readonly acts;
142
+ private timer;
143
+ /** The wall clock an act's since / until are on (the page's). */
144
+ private readonly now;
145
+ constructor(deps: OfficeActsDeps, opts?: {
146
+ limiter?: OfficeActLimiter;
147
+ now?: () => number;
148
+ });
149
+ /** Drop the acts that ended; true when one did. */
150
+ private prune;
151
+ /** One timer, for the next act to end: it is dropped then and every page hears it. */
152
+ private schedule;
153
+ private announce;
154
+ /** The live acts (until ahead), the most recently set last: GET /ui/office-acts and the `office_acts` event. */
155
+ live(): OfficeAct[];
156
+ /** This instance's live act, or null. */
157
+ actOf(instance: string): OfficeAct | null;
158
+ /** The stored offices `instance` is a member of, in their stored order. */
159
+ private officesOf;
160
+ private seen;
161
+ /** The office a call names, or the only one it is in; else a refusal naming them. */
162
+ private pick;
163
+ /** office_view { office? }: the offices it is in, its act and when office_set may be called again. */
164
+ view(instance: string, raw: Record<string, unknown>): OfficeAnswer;
165
+ /** office_set { office?, go?, say?, pose?, seconds?, clear? }: its own act, placed (replacing one), or cleared. */
166
+ set(instance: string, raw: Record<string, unknown>): OfficeAnswer;
167
+ /** An instance was removed: its act and its counters go. */
168
+ forget(instance: string): void;
169
+ /** Stop the expiry timer (the fleet stopping; a test). */
170
+ close(): void;
171
+ /** The dispatcher both doors share (typed IPC from the daemon, the agent endpoint for agend-agent). */
172
+ handle(instance: string, tool: string, args: Record<string, unknown>): OfficeAnswer;
173
+ }
@@ -0,0 +1,285 @@
1
+ /**
2
+ * #2578: an agent sees and directs its own character in Fleet → Org chart → Office — office_view (the stored offices
3
+ * it is in: who is there, in what state, and the spots it may walk to) and office_set (walk to a seat, a waypoint or a
4
+ * person; say a line; hold a pose; for a few seconds). Its own only: the caller is the instance its IPC connection or
5
+ * agent token belongs to, never anything the call says. The `office` dashboard feature (dashboard-permissions.ts) is
6
+ * off until a person switches it on; the fleet's sinks refuse both tools before they reach here.
7
+ *
8
+ * An act is kept in memory, one per instance (a new office_set replaces it; `clear` ends it; a fleet restart forgets
9
+ * them all), and is live while `until` is ahead (wall clock, the page's): every change — set, clear, expiry — goes to
10
+ * every page as the `office_acts` SSE event, and GET /ui/office-acts reads the same list. The page draws it until new
11
+ * work begins (fleet-office.js actLive: the turn it was set in, and idle after it, keep it; working again after that, or
12
+ * after acting while idle, ends it), its instance is called or asleep, or bedtime puts it to bed: an act never hides real
13
+ * work.
14
+ *
15
+ * Spots come from the office's skin: a pack the host keeps (web-office-skins.ts), with the office's layout overrides on
16
+ * it (applyOverrides — the page's own rule); a built-in style (pixel, studio) or a pack without stateZones draws desks,
17
+ * with none: there the line and the pose show, and `go` is refused (nobody walks; review). A seat is "area:index", its
18
+ * index in the area's seat list from 0, as office_view lists it.
19
+ *
20
+ * office_set is limited per instance (OfficeActLimiter: 6 a minute, 60 an hour, monotonic, memory only), like the
21
+ * appearance limiter: checked before anything is validated, counted only once the act is in place; a refusal says when
22
+ * the next call may come (cooldown_ms). office_view is not limited.
23
+ */
24
+ import { applyOverrides } from "./ui/fleet-office-pack.js";
25
+ import { OfficeSetArgs, OfficeViewArgs, validateArgs } from "./outbound-schemas.js";
26
+ export const OFFICE_ACT_LIMITS = { perMinute: 6, perHour: 60, say: 40, minSeconds: 5, maxSeconds: 120, defaultSeconds: 30 };
27
+ export const OFFICE_POSES = ["idle", "working", "needs", "paused"];
28
+ const MINUTE_MS = 60_000, HOUR_MS = 60 * MINUTE_MS;
29
+ // Control characters, line breaks, and the invisible and direction-changing ones (zero-width, bidi embeddings/isolates).
30
+ const CONTROL = /[\u0000-\u001f\u007f-\u009f\u200b-\u200f\u2028-\u202e\u2060-\u2069\ufeff]/;
31
+ /**
32
+ * A stored office's members, as the page reads them (fleet-office-model.js membersOf): instance names, or `team:<name>`
33
+ * for a team's members; none means everyone the dashboard lists. A name the chart does not have is left out.
34
+ */
35
+ export function officeMembers(office, chart) {
36
+ const listed = new Set([...chart.names, ...chart.teams.flatMap(t => t.members)]);
37
+ if (!office.members.length)
38
+ return [...listed];
39
+ const out = [];
40
+ for (const m of office.members) {
41
+ const team = m.startsWith("team:") ? chart.teams.find(t => t.name === m.slice(5)) : undefined;
42
+ for (const n of team ? team.members : listed.has(m) ? [m] : [])
43
+ if (!out.includes(n))
44
+ out.push(n);
45
+ }
46
+ return out;
47
+ }
48
+ /** Whether an office's style walks its people (a pack with stateZones, as the page's `zones`); else it draws desks. */
49
+ export const officeWalks = (pack) => !!pack?.stateZones;
50
+ /** The spots of an office's skin: a kept zones pack's, with the office's overrides on it; a desks style's are none. */
51
+ export function officeSpots(office, pack) {
52
+ if (!pack || !officeWalks(pack))
53
+ return { seats: [], waypoints: [], npcs: [], door: null };
54
+ const applied = applyOverrides(pack, office.overrides ?? null);
55
+ const p = applied.ok ? applied.pack : pack;
56
+ return {
57
+ seats: Object.values(p.areas).flatMap(a => a.seats.map((s, index) => ({ area: a.name, index, x: s.x, y: s.y }))),
58
+ waypoints: p.waypoints.map(w => ({ id: w.id, x: w.x, y: w.y })),
59
+ npcs: p.furniture.map(f => ({ id: f.id, label: f.label ?? null, x: f.x, y: f.y })),
60
+ door: { x: p.door.x, y: p.door.y },
61
+ };
62
+ }
63
+ /** How often one instance may call office_set: 6 a minute and 60 an hour, accepted calls only (monotonic clock). */
64
+ export class OfficeActLimiter {
65
+ now;
66
+ limits;
67
+ calls = new Map();
68
+ constructor(now = () => performance.now(), limits = OFFICE_ACT_LIMITS) {
69
+ this.now = now;
70
+ this.limits = limits;
71
+ }
72
+ recent(instance, now) {
73
+ const kept = (this.calls.get(instance) ?? []).filter(t => now - t < HOUR_MS);
74
+ if (kept.length)
75
+ this.calls.set(instance, kept);
76
+ else
77
+ this.calls.delete(instance);
78
+ return kept;
79
+ }
80
+ /** Ms until `instance` may call again (0: now). Changes nothing. */
81
+ waitMs(instance) {
82
+ const now = this.now(), kept = this.recent(instance, now), waits = [0];
83
+ const minute = kept.filter(t => now - t < MINUTE_MS);
84
+ if (minute.length >= this.limits.perMinute)
85
+ waits.push(MINUTE_MS - (now - minute[minute.length - this.limits.perMinute]));
86
+ if (kept.length >= this.limits.perHour)
87
+ waits.push(HOUR_MS - (now - kept[kept.length - this.limits.perHour]));
88
+ return Math.max(0, Math.ceil(Math.max(...waits)));
89
+ }
90
+ /** Count an accepted call. */
91
+ record(instance) { const now = this.now(); this.calls.set(instance, [...this.recent(instance, now), now]); }
92
+ forget(instance) { this.calls.delete(instance); }
93
+ }
94
+ const refuse = (error, message, extra = {}) => ({ error, message, ...extra });
95
+ export class OfficeActs {
96
+ deps;
97
+ limiter;
98
+ acts = new Map();
99
+ timer = null;
100
+ /** The wall clock an act's since / until are on (the page's). */
101
+ now;
102
+ constructor(deps, opts = {}) {
103
+ this.deps = deps;
104
+ this.limiter = opts.limiter ?? new OfficeActLimiter();
105
+ this.now = opts.now ?? (() => Date.now());
106
+ }
107
+ /** Drop the acts that ended; true when one did. */
108
+ prune() {
109
+ const now = this.now();
110
+ let dropped = false;
111
+ for (const [name, act] of this.acts)
112
+ if (act.until <= now) {
113
+ this.acts.delete(name);
114
+ dropped = true;
115
+ }
116
+ return dropped;
117
+ }
118
+ /** One timer, for the next act to end: it is dropped then and every page hears it. */
119
+ schedule() {
120
+ if (this.timer) {
121
+ clearTimeout(this.timer);
122
+ this.timer = null;
123
+ }
124
+ if (!this.acts.size)
125
+ return;
126
+ const next = Math.min(...[...this.acts.values()].map(a => a.until));
127
+ this.timer = setTimeout(() => { this.timer = null; if (this.prune())
128
+ this.announce();
129
+ else
130
+ this.schedule(); }, Math.max(0, next - this.now()) + 5);
131
+ this.timer.unref?.();
132
+ }
133
+ announce() {
134
+ this.schedule();
135
+ try {
136
+ this.deps.changed(this.live());
137
+ }
138
+ catch { /* a page reads GET /ui/office-acts on opening */ }
139
+ }
140
+ /** The live acts (until ahead), the most recently set last: GET /ui/office-acts and the `office_acts` event. */
141
+ live() {
142
+ if (this.prune())
143
+ queueMicrotask(() => this.announce());
144
+ return [...this.acts.values()].map(a => ({ ...a }));
145
+ }
146
+ /** This instance's live act, or null. */
147
+ actOf(instance) {
148
+ const a = this.acts.get(instance);
149
+ return a && a.until > this.now() ? { ...a } : null;
150
+ }
151
+ /** The stored offices `instance` is a member of, in their stored order. */
152
+ officesOf(instance) {
153
+ const chart = this.deps.chart();
154
+ return this.deps.offices().filter(o => officeMembers(o, chart).includes(instance));
155
+ }
156
+ seen(o, people) {
157
+ const members = officeMembers(o, this.deps.chart()).map(name => {
158
+ const display = people.displayName(name);
159
+ return { name, ...(display ? { display_name: display } : {}), state: people.stateOf(name) };
160
+ });
161
+ const pack = this.deps.pack(o.skin);
162
+ return { id: o.id, name: o.name, skin: o.skin, walks: officeWalks(pack), members, spots: officeSpots(o, pack) };
163
+ }
164
+ /** The office a call names, or the only one it is in; else a refusal naming them. */
165
+ pick(wanted, mine) {
166
+ if (!mine.length)
167
+ return { refused: refuse("no_office", "You are in no stored office (Fleet → Org chart → Office): a person adds you to one first.") };
168
+ const ids = mine.map(o => `${o.id} (${o.name})`).join(", ");
169
+ if (wanted !== undefined) {
170
+ const o = mine.find(m => m.id === wanted);
171
+ return o ? { office: o } : { refused: refuse("office", `You are not in an office "${wanted}". Yours: ${ids}.`) };
172
+ }
173
+ if (mine.length > 1)
174
+ return { refused: refuse("office_required", `You are in ${mine.length} offices; name one with office: ${ids}.`) };
175
+ return { office: mine[0] };
176
+ }
177
+ /** office_view { office? }: the offices it is in, its act and when office_set may be called again. */
178
+ view(instance, raw) {
179
+ const v = validateArgs(OfficeViewArgs, raw ?? {}, "office_view");
180
+ if (!v.ok)
181
+ return refuse("invalid", v.error);
182
+ let shown = this.officesOf(instance);
183
+ if (v.data.office !== undefined) {
184
+ const one = this.pick(v.data.office, shown);
185
+ if ("refused" in one)
186
+ return one.refused;
187
+ shown = [one.office];
188
+ }
189
+ const people = this.deps.people();
190
+ return { offices: shown.map(o => this.seen(o, people)), act: this.actOf(instance), cooldown_ms: this.limiter.waitMs(instance) };
191
+ }
192
+ /** office_set { office?, go?, say?, pose?, seconds?, clear? }: its own act, placed (replacing one), or cleared. */
193
+ set(instance, raw) {
194
+ const wait = this.limiter.waitMs(instance);
195
+ if (wait > 0)
196
+ return refuse("rate_limited", `Too many office_set calls (at most ${OFFICE_ACT_LIMITS.perMinute} a minute, ${OFFICE_ACT_LIMITS.perHour} an hour); try again in ${Math.ceil(wait / 1000)} s.`, { cooldown_ms: wait });
197
+ const v = validateArgs(OfficeSetArgs, raw ?? {}, "office_set");
198
+ if (!v.ok)
199
+ return refuse("invalid", v.error);
200
+ const a = v.data;
201
+ const targets = a.go ? ["seat", "waypoint", "person"].filter(k => a.go[k] !== undefined) : [];
202
+ if (a.go && targets.length !== 1)
203
+ return refuse("go", "go: exactly one of seat, waypoint or person.");
204
+ if (a.clear !== undefined && a.clear !== true)
205
+ return refuse("clear", "clear: true, or leave it out.");
206
+ if (a.clear && (a.go || a.say !== undefined || a.pose || a.seconds !== undefined))
207
+ return refuse("clear", "clear: true goes alone.");
208
+ if (!a.clear && !a.go && a.say === undefined && !a.pose)
209
+ return refuse("nothing", "Nothing to do: give go, say or pose (or clear: true).");
210
+ let say;
211
+ if (a.say !== undefined) {
212
+ say = a.say.trim();
213
+ if (!say || [...say].length > OFFICE_ACT_LIMITS.say || CONTROL.test(say))
214
+ return refuse("say", `say: 1–${OFFICE_ACT_LIMITS.say} characters on one line, no control characters.`);
215
+ }
216
+ if (a.seconds !== undefined && (!Number.isFinite(a.seconds) || a.seconds < OFFICE_ACT_LIMITS.minSeconds || a.seconds > OFFICE_ACT_LIMITS.maxSeconds)) {
217
+ return refuse("seconds", `seconds: ${OFFICE_ACT_LIMITS.minSeconds} to ${OFFICE_ACT_LIMITS.maxSeconds}.`);
218
+ }
219
+ const mine = this.officesOf(instance);
220
+ if (a.clear) {
221
+ // Ending its own act needs nothing else: not an office named, not even being in one still (it may have been taken
222
+ // out of every office since it acted).
223
+ const had = this.acts.delete(instance);
224
+ this.limiter.record(instance);
225
+ if (had)
226
+ this.announce();
227
+ return { cleared: had, act: null, cooldown_ms: this.limiter.waitMs(instance) };
228
+ }
229
+ const picked = this.pick(a.office, mine);
230
+ if ("refused" in picked)
231
+ return picked.refused;
232
+ const o = picked.office;
233
+ let point, person;
234
+ if (a.go) {
235
+ const pack = this.deps.pack(o.skin);
236
+ // A desks style (a built-in one, or a pack without stateZones) walks nobody: refused, not accepted to do nothing (review).
237
+ if (!officeWalks(pack))
238
+ return refuse("go", `go: ${o.id} is drawn as desks (its style "${o.skin}"): nobody walks there. say and pose still show.`);
239
+ const spots = officeSpots(o, pack);
240
+ if (a.go.seat !== undefined) {
241
+ const m = /^([A-Za-z0-9_-]{1,40}):(\d{1,3})$/.exec(a.go.seat), seat = m ? spots.seats.find(s => s.area === m[1] && s.index === Number(m[2])) : undefined;
242
+ if (!seat)
243
+ return refuse("seat", spots.seats.length ? `go.seat: "${a.go.seat}" is not a seat of ${o.id}; office_view lists them as "area:index".` : `go.seat: ${o.id} has no seats to walk to (its style "${o.skin}" has none).`);
244
+ point = { x: seat.x, y: seat.y };
245
+ }
246
+ else if (a.go.waypoint !== undefined) {
247
+ const w = spots.waypoints.find(p => p.id === a.go.waypoint);
248
+ if (!w)
249
+ return refuse("waypoint", spots.waypoints.length ? `go.waypoint: "${a.go.waypoint}" is not a waypoint of ${o.id}; office_view lists them.` : `go.waypoint: ${o.id} has no waypoints.`);
250
+ point = { x: w.x, y: w.y };
251
+ }
252
+ else {
253
+ const who = a.go.person;
254
+ if (who === instance)
255
+ return refuse("person", "go.person: someone other than you.");
256
+ if (!officeMembers(o, this.deps.chart()).includes(who))
257
+ return refuse("person", `go.person: "${who}" is not in ${o.id}; office_view lists its members.`);
258
+ person = who;
259
+ }
260
+ }
261
+ const since = this.now(), seconds = a.seconds ?? OFFICE_ACT_LIMITS.defaultSeconds;
262
+ const act = { instance, office: o.id, ...(point ?? {}), ...(person ? { person } : {}), ...(say ? { say } : {}), ...(a.pose ? { pose: a.pose } : {}),
263
+ since, until: since + Math.round(seconds * 1000), state: this.deps.people().stateOf(instance) };
264
+ this.acts.delete(instance); // the newest last
265
+ this.acts.set(instance, act);
266
+ this.limiter.record(instance);
267
+ this.announce();
268
+ return { act: { ...act }, cooldown_ms: this.limiter.waitMs(instance) };
269
+ }
270
+ /** An instance was removed: its act and its counters go. */
271
+ forget(instance) { this.limiter.forget(instance); if (this.acts.delete(instance))
272
+ this.announce(); }
273
+ /** Stop the expiry timer (the fleet stopping; a test). */
274
+ close() { if (this.timer)
275
+ clearTimeout(this.timer); this.timer = null; }
276
+ /** The dispatcher both doors share (typed IPC from the daemon, the agent endpoint for agend-agent). */
277
+ handle(instance, tool, args) {
278
+ if (tool === "office_view")
279
+ return this.view(instance, args);
280
+ if (tool === "office_set")
281
+ return this.set(instance, args);
282
+ return { error: "unknown_tool" };
283
+ }
284
+ }
285
+ //# sourceMappingURL=web-office-acts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-office-acts.js","sourceRoot":"","sources":["../src/web-office-acts.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type CheckedPack } from "./ui/fleet-office-pack.js";
2
2
  export declare const SKIN_LIMITS: {
3
- readonly packs: 8;
3
+ readonly packs: 16;
4
4
  readonly files: 64;
5
5
  readonly fileBytes: number;
6
6
  readonly packBytes: number;
@@ -22,7 +22,7 @@ import { imageSize, sniffMedia, stripMetadata } from "./web-image-meta.js";
22
22
  import { checkSkinPack, own, packImages, packStrips } from "./ui/fleet-office-pack.js";
23
23
  const MiB = 1024 * 1024;
24
24
  export const SKIN_LIMITS = {
25
- packs: 8, files: 64, fileBytes: 2 * MiB, packBytes: 6 * MiB, manifestBytes: 64 * 1024, side: 4096, pixels: 16 * MiB, name: 60, src: 200,
25
+ packs: 16, files: 64, fileBytes: 2 * MiB, packBytes: 6 * MiB, manifestBytes: 64 * 1024, side: 4096, pixels: 16 * MiB, name: 60, src: 200,
26
26
  };
27
27
  /** The most an upload's body may be: every picture's base64 (4/3) plus the manifest and the envelope. */
28
28
  export const SKIN_WIRE_BYTES = Math.ceil((SKIN_LIMITS.packBytes * 4) / 3) + SKIN_LIMITS.manifestBytes + 64 * 1024;