@songsid/agend 2.3.2-beta.10 → 2.3.2-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-cli.js +48 -0
- package/dist/agent-cli.js.map +1 -1
- package/dist/agent-endpoint.js +6 -0
- package/dist/agent-endpoint.js.map +1 -1
- package/dist/agent-whats-new.js +3 -0
- package/dist/agent-whats-new.js.map +1 -1
- package/dist/backend/kiro-classic-archive.d.ts +52 -0
- package/dist/backend/kiro-classic-archive.js +444 -0
- package/dist/backend/kiro-classic-archive.js.map +1 -0
- package/dist/backend/kiro-identity.d.ts +19 -0
- package/dist/backend/kiro-identity.js +43 -0
- package/dist/backend/kiro-identity.js.map +1 -1
- package/dist/backend/kiro-migration-verify.d.ts +10 -0
- package/dist/backend/kiro-migration-verify.js +52 -0
- package/dist/backend/kiro-migration-verify.js.map +1 -0
- package/dist/backend/kiro-v2-store-worker.js +21 -1
- package/dist/backend/kiro-v2-store-worker.js.map +1 -1
- package/dist/backend/kiro-v2-store.d.ts +8 -0
- package/dist/backend/kiro-v2-store.js.map +1 -1
- package/dist/backend/kiro.d.ts +99 -1
- package/dist/backend/kiro.js +352 -18
- package/dist/backend/kiro.js.map +1 -1
- package/dist/backend/types.d.ts +49 -0
- package/dist/backend/types.js +9 -0
- package/dist/backend/types.js.map +1 -1
- package/dist/channel/ipc-timeouts.js +3 -0
- package/dist/channel/ipc-timeouts.js.map +1 -1
- package/dist/channel/mcp-tools.js +12 -0
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/cli.js +33 -0
- package/dist/cli.js.map +1 -1
- package/dist/config-validator.js +2 -0
- package/dist/config-validator.js.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/daemon.d.ts +45 -0
- package/dist/daemon.js +342 -19
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard-permissions.d.ts +15 -4
- package/dist/dashboard-permissions.js +49 -23
- package/dist/dashboard-permissions.js.map +1 -1
- package/dist/fleet-control-audit.d.ts +1 -1
- package/dist/fleet-control-audit.js +3 -0
- package/dist/fleet-control-audit.js.map +1 -1
- package/dist/fleet-manager.d.ts +61 -2
- package/dist/fleet-manager.js +421 -28
- package/dist/fleet-manager.js.map +1 -1
- package/dist/general-knowledge/skills/kiro-engine-migration/SKILL.md +10 -0
- package/dist/general-knowledge/skills/web-appearance/SKILL.canvas-worker-off.md +25 -0
- package/dist/general-knowledge/skills/web-appearance/SKILL.md +25 -0
- package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +12 -2
- package/dist/general-knowledge/skills/web-dashboard/SKILL.md +12 -2
- package/dist/instance-config-impact.js +2 -2
- package/dist/instance-config-impact.js.map +1 -1
- package/dist/instance-lifecycle.d.ts +4 -0
- package/dist/instance-lifecycle.js +7 -0
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/kiro-migrate.d.ts +11 -0
- package/dist/kiro-migrate.js +86 -31
- package/dist/kiro-migrate.js.map +1 -1
- package/dist/kiro-session-proof.d.ts +41 -0
- package/dist/kiro-session-proof.js +89 -0
- package/dist/kiro-session-proof.js.map +1 -0
- package/dist/kiro-tui-forensic.d.ts +5 -0
- package/dist/kiro-tui-forensic.js +3 -3
- package/dist/kiro-tui-forensic.js.map +1 -1
- package/dist/locale.js +142 -0
- package/dist/locale.js.map +1 -1
- package/dist/log-service.js +1 -1
- package/dist/log-service.js.map +1 -1
- package/dist/needs-you.d.ts +3 -1
- package/dist/needs-you.js +4 -2
- package/dist/needs-you.js.map +1 -1
- package/dist/office-share.d.ts +12 -2
- package/dist/office-share.js +27 -2
- package/dist/office-share.js.map +1 -1
- package/dist/outbound-schemas.d.ts +39 -0
- package/dist/outbound-schemas.js +29 -0
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/remote-card-prompt.d.ts +38 -0
- package/dist/remote-card-prompt.js +86 -0
- package/dist/remote-card-prompt.js.map +1 -0
- package/dist/settings-change.js +8 -5
- package/dist/settings-change.js.map +1 -1
- package/dist/settings-instance-patch.js +1 -1
- package/dist/settings-instance-patch.js.map +1 -1
- package/dist/tool-permissions.js +17 -0
- package/dist/tool-permissions.js.map +1 -1
- package/dist/transcript-sources.d.ts +1 -0
- package/dist/transcript-sources.js +2 -1
- package/dist/transcript-sources.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/ui/chat-store.js +3 -2
- package/dist/ui/chat-strings.js +2 -2
- package/dist/ui/fleet-office-editor.js +54 -2
- package/dist/ui/fleet-office-layout.js +44 -7
- package/dist/ui/fleet-office-pack.d.ts +6 -1
- package/dist/ui/fleet-office-pack.js +101 -15
- package/dist/ui/fleet-office-store.js +43 -0
- package/dist/ui/fleet-office-zones.js +64 -13
- package/dist/ui/fleet-office.js +5 -3
- package/dist/ui/panel-chat.js +14 -2
- package/dist/ui/panel-log.js +2 -2
- package/dist/ui/panel-needs.js +1 -1
- package/dist/ui/panel-settings.js +5 -5
- package/dist/ui/settings-model.js +17 -9
- package/dist/ui/settings-strings.js +2 -0
- package/dist/ui/shared/app-i18n.js +2 -2
- package/dist/ui/shared/app-stream.js +1 -1
- package/dist/ui/shared/app.css +18 -2
- package/dist/web-api.d.ts +5 -1
- package/dist/web-api.js +91 -3
- package/dist/web-api.js.map +1 -1
- package/dist/web-office-acts.js +2 -2
- package/dist/web-office-acts.js.map +1 -1
- package/dist/web-office-pack-read.d.ts +35 -0
- package/dist/web-office-pack-read.js +252 -0
- package/dist/web-office-pack-read.js.map +1 -0
- package/dist/web-office-pack-tools.d.ts +232 -0
- package/dist/web-office-pack-tools.js +754 -0
- package/dist/web-office-pack-tools.js.map +1 -0
- package/dist/web-office-skins.d.ts +68 -4
- package/dist/web-office-skins.js +318 -33
- package/dist/web-office-skins.js.map +1 -1
- package/dist/web-office-store.d.ts +5 -2
- package/dist/web-office-store.js +41 -15
- package/dist/web-office-store.js.map +1 -1
- package/package.json +1 -1
package/dist/web-office-acts.js
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* appearance limiter: checked before anything is validated, counted only once the act is in place; a refusal says when
|
|
22
22
|
* the next call may come (cooldown_ms). office_view is not limited.
|
|
23
23
|
*/
|
|
24
|
-
import { applyOverrides, fitNight } from "./ui/fleet-office-pack.js";
|
|
24
|
+
import { applyOverrides, fitNight, fitSeatFor } from "./ui/fleet-office-pack.js";
|
|
25
25
|
import { OfficeSetArgs, OfficeViewArgs, validateArgs } from "./outbound-schemas.js";
|
|
26
26
|
export const OFFICE_ACT_LIMITS = { perMinute: 6, perHour: 60, say: 40, minSeconds: 5, maxSeconds: 120, defaultSeconds: 30 };
|
|
27
27
|
export const OFFICE_POSES = ["idle", "working", "needs", "paused"];
|
|
@@ -51,7 +51,7 @@ export const officeWalks = (pack) => !!pack?.stateZones;
|
|
|
51
51
|
export function officeSpots(office, pack) {
|
|
52
52
|
if (!pack || !officeWalks(pack))
|
|
53
53
|
return { seats: [], waypoints: [], npcs: [], door: null };
|
|
54
|
-
const applied = applyOverrides(pack, fitNight(pack, office.overrides ?? null)); // #2665: a night place the pack lost: left out
|
|
54
|
+
const applied = applyOverrides(pack, fitSeatFor(pack, fitNight(pack, office.overrides ?? null))); // #2665/#2691: a night place or seat the pack lost: left out
|
|
55
55
|
const p = applied.ok ? applied.pack : pack;
|
|
56
56
|
return {
|
|
57
57
|
seats: Object.values(p.areas).flatMap(a => a.seats.map((s, index) => ({ area: a.name, index, x: s.x, y: s.y }))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-office-acts.js","sourceRoot":"","sources":["../src/web-office-acts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"web-office-acts.js","sourceRoot":"","sources":["../src/web-office-acts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type AgentFileContext } from "./agent-file-read.js";
|
|
2
|
+
/** One batch: at most 16 packs and 100 MiB of pictures (the hourly budget, OFFICE_PACK_TOOL_LIMITS, is 200 MiB). */
|
|
3
|
+
export declare const PACK_BATCH_LIMITS: {
|
|
4
|
+
readonly packs: 16;
|
|
5
|
+
readonly bytes: number;
|
|
6
|
+
};
|
|
7
|
+
/** The most a batch's wire document may be: its pictures as base64, plus each manifest and room for the envelope. */
|
|
8
|
+
export declare const PACK_BATCH_WIRE_BYTES: number;
|
|
9
|
+
export interface PackSource {
|
|
10
|
+
manifest: Record<string, unknown>;
|
|
11
|
+
name?: string;
|
|
12
|
+
files: Map<string, Buffer>;
|
|
13
|
+
}
|
|
14
|
+
export type PackRead = {
|
|
15
|
+
ok: true;
|
|
16
|
+
packs: PackSource[];
|
|
17
|
+
bytes: number;
|
|
18
|
+
} | {
|
|
19
|
+
ok: false;
|
|
20
|
+
reason: string;
|
|
21
|
+
};
|
|
22
|
+
export interface PackReadContext extends AgentFileContext {
|
|
23
|
+
sharedDir?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Read the packs `args` names (office_pack_check / office_pack_upload's dir, manifest + files, or packs: [...]).
|
|
27
|
+
* Returns them, or the first reason one cannot be read (which pack, in a batch).
|
|
28
|
+
*/
|
|
29
|
+
export declare function readPackSources(args: Record<string, unknown>, ctx: PackReadContext): Promise<PackRead>;
|
|
30
|
+
/** The batch as the wire carries it: { packs: [{ manifest, name?, files: { <src>: <base64> } }] }, or null when too large. */
|
|
31
|
+
export declare function encodePackBatch(packs: readonly PackSource[]): Buffer | null;
|
|
32
|
+
/** Send an encoded batch in parts (each answered before the next); `options` ride on part 0. Returns the last answer. */
|
|
33
|
+
export declare function sendPackBatchInParts(bytes: Buffer, options: Record<string, unknown>, send: (args: Record<string, unknown>) => Promise<Record<string, unknown>>): Promise<Record<string, unknown>>;
|
|
34
|
+
/** Read, encode and send: what the daemon and the CLI both do for office_pack_check / office_pack_upload. */
|
|
35
|
+
export declare function sendPackSources(args: Record<string, unknown>, ctx: PackReadContext, send: (args: Record<string, unknown>) => Promise<Record<string, unknown>>): Promise<Record<string, unknown>>;
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #2692: a skin pack an agent hands to office_pack_check / office_pack_upload, read on the agent's side (the daemon, or
|
|
3
|
+
* `agend-agent office pack-…`) — the fleet receives bytes, never a path (as set_web_theme_asset and upload_web_effect).
|
|
4
|
+
*
|
|
5
|
+
* A pack is a folder (`dir`: its manifest.json and the pictures the manifest names, at those paths) or a manifest with
|
|
6
|
+
* each picture's path (`manifest` + `files`); `packs: [...]` carries several as one batch. Every path is resolved with
|
|
7
|
+
* realpath — symlinks followed — and must then be inside the agent's working directory (and not AgEnD state the agent may
|
|
8
|
+
* not read: agentFileScope, as an effect directory) or the fleet's shared folder (<AgEnD home>/shared). Only manifest.json
|
|
9
|
+
* and the files the manifest names (packImages) are read, each a regular file within the pack's caps (SKIN_LIMITS);
|
|
10
|
+
* nothing is written. The manifest is checked here only to know which files to read: the fleet checks everything again.
|
|
11
|
+
*
|
|
12
|
+
* The wire: the batch as one JSON document — { packs: [{ manifest, name?, files: { <src>: <base64> } }] } — sent in parts
|
|
13
|
+
* of ASSET_PART_BYTES (each fits the fleet IPC's line and the agent endpoint's body), each answered before the next:
|
|
14
|
+
* { data_b64, part: { index, count, bytes, sha256, upload? }, drop_invalid_overrides? } (options on part 0 only)
|
|
15
|
+
* The fleet keeps one unfinished batch per instance and tool (OfficePackUploads, web-office-pack-tools.ts).
|
|
16
|
+
*/
|
|
17
|
+
import { constants as fsConstants } from "node:fs";
|
|
18
|
+
import { open, realpath, stat } from "node:fs/promises";
|
|
19
|
+
import { isAbsolute, join, resolve, sep } from "node:path";
|
|
20
|
+
import { createHash } from "node:crypto";
|
|
21
|
+
import { agentFileScope } from "./agent-file-read.js";
|
|
22
|
+
import { checkSkinPack, packImages } from "./ui/fleet-office-pack.js";
|
|
23
|
+
import { SKIN_LIMITS, skinFileNameOk } from "./web-office-skins.js";
|
|
24
|
+
import { ASSET_PART_BYTES } from "./web-asset-parts.js";
|
|
25
|
+
const MiB = 1024 * 1024;
|
|
26
|
+
/** One batch: at most 16 packs and 100 MiB of pictures (the hourly budget, OFFICE_PACK_TOOL_LIMITS, is 200 MiB). */
|
|
27
|
+
export const PACK_BATCH_LIMITS = { packs: SKIN_LIMITS.packs, bytes: 100 * MiB };
|
|
28
|
+
/** The most a batch's wire document may be: its pictures as base64, plus each manifest and room for the envelope. */
|
|
29
|
+
export const PACK_BATCH_WIRE_BYTES = Math.ceil((PACK_BATCH_LIMITS.bytes * 4) / 3) + PACK_BATCH_LIMITS.packs * (SKIN_LIMITS.manifestBytes + 64 * 1024);
|
|
30
|
+
const under = (path, root) => path === root || path.startsWith(root.endsWith(sep) ? root : root + sep);
|
|
31
|
+
const isObj = (v) => !!v && typeof v === "object" && !Array.isArray(v);
|
|
32
|
+
const SOURCE_KEYS = ["dir", "manifest", "files", "name"];
|
|
33
|
+
/** A regular file, opened without waiting (O_NONBLOCK, O_NOCTTY), read whole when it is at most `max` bytes. */
|
|
34
|
+
async function readBounded(path, max, label) {
|
|
35
|
+
let handle;
|
|
36
|
+
try {
|
|
37
|
+
handle = await open(path, fsConstants.O_RDONLY | (fsConstants.O_NONBLOCK ?? 0) | (fsConstants.O_NOCTTY ?? 0));
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return { ok: false, reason: `${label}: cannot be read` };
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
const info = await handle.stat();
|
|
44
|
+
if (!info.isFile())
|
|
45
|
+
return { ok: false, reason: `${label}: not a regular file` };
|
|
46
|
+
if (info.size > max)
|
|
47
|
+
return { ok: false, reason: `${label}: larger than ${max >= MiB ? `${max / MiB} MiB` : `${Math.floor(max / 1024)} KiB`}` };
|
|
48
|
+
const buf = Buffer.alloc(info.size + 1);
|
|
49
|
+
let got = 0;
|
|
50
|
+
for (;;) {
|
|
51
|
+
const { bytesRead } = await handle.read(buf, got, buf.length - got, got);
|
|
52
|
+
if (!bytesRead)
|
|
53
|
+
break;
|
|
54
|
+
got += bytesRead;
|
|
55
|
+
if (got > info.size)
|
|
56
|
+
return { ok: false, reason: `${label}: changed while it was read` };
|
|
57
|
+
}
|
|
58
|
+
return { ok: true, bytes: buf.subarray(0, got) };
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return { ok: false, reason: `${label}: cannot be read` };
|
|
62
|
+
}
|
|
63
|
+
finally {
|
|
64
|
+
await handle.close().catch(() => { });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/** The roots a pack may be read from: the working directory (minus AgEnD state it may not read) and the shared folder. */
|
|
68
|
+
async function rootsOf(ctx) {
|
|
69
|
+
const roots = [];
|
|
70
|
+
if (ctx.workspace) {
|
|
71
|
+
try {
|
|
72
|
+
const scope = await agentFileScope(ctx);
|
|
73
|
+
roots.push({ root: scope.workspace, allowed: p => !scope.stateBlocked(p) });
|
|
74
|
+
}
|
|
75
|
+
catch { /* no readable working directory: the shared folder only */ }
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
roots.push({ root: await realpath(ctx.sharedDir ?? join(ctx.stateDir, "shared")), allowed: () => true });
|
|
79
|
+
}
|
|
80
|
+
catch { /* none */ }
|
|
81
|
+
return roots;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Read the packs `args` names (office_pack_check / office_pack_upload's dir, manifest + files, or packs: [...]).
|
|
85
|
+
* Returns them, or the first reason one cannot be read (which pack, in a batch).
|
|
86
|
+
*/
|
|
87
|
+
export async function readPackSources(args, ctx) {
|
|
88
|
+
const batch = args.packs !== undefined;
|
|
89
|
+
if (batch && (args.dir !== undefined || args.manifest !== undefined || args.files !== undefined || args.name !== undefined)) {
|
|
90
|
+
return { ok: false, reason: "packs: [...] goes alone (put dir, or manifest + files, inside each)" };
|
|
91
|
+
}
|
|
92
|
+
const items = batch ? args.packs : [Object.fromEntries(SOURCE_KEYS.filter(k => args[k] !== undefined).map(k => [k, args[k]]))];
|
|
93
|
+
if (!Array.isArray(items) || !items.length)
|
|
94
|
+
return { ok: false, reason: "give dir, or manifest + files, or packs: [...]" };
|
|
95
|
+
if (items.length > PACK_BATCH_LIMITS.packs)
|
|
96
|
+
return { ok: false, reason: `at most ${PACK_BATCH_LIMITS.packs} packs in one batch` };
|
|
97
|
+
const roots = await rootsOf(ctx);
|
|
98
|
+
if (!roots.length)
|
|
99
|
+
return { ok: false, reason: "neither your working directory nor the fleet's shared folder can be read" };
|
|
100
|
+
const where = (real) => roots.find(r => under(real, r.root) && r.allowed(real));
|
|
101
|
+
/** A path the agent named (relative: to its working directory), resolved and inside an allowed root. */
|
|
102
|
+
const resolveIn = async (p, label) => {
|
|
103
|
+
if (typeof p !== "string" || !p.trim() || p.includes("\0"))
|
|
104
|
+
return { ok: false, reason: `${label}: a path` };
|
|
105
|
+
const named = isAbsolute(p) ? p : resolve(ctx.workspace ?? roots[0].root, p);
|
|
106
|
+
let real;
|
|
107
|
+
try {
|
|
108
|
+
real = await realpath(named);
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return { ok: false, reason: `${label}: ${p.slice(0, 200)} does not exist` };
|
|
112
|
+
}
|
|
113
|
+
const r = where(real);
|
|
114
|
+
return r ? { ok: true, real, root: r.root } : { ok: false, reason: `${label}: ${p.slice(0, 200)} is outside your working directory and the fleet's shared folder` };
|
|
115
|
+
};
|
|
116
|
+
const packs = [];
|
|
117
|
+
let total = 0;
|
|
118
|
+
for (const [i, item] of items.entries()) {
|
|
119
|
+
const at = batch ? `packs[${i}]` : "pack";
|
|
120
|
+
if (!isObj(item))
|
|
121
|
+
return { ok: false, reason: `${at}: an object` };
|
|
122
|
+
const extra = Object.keys(item).find(k => !SOURCE_KEYS.includes(k));
|
|
123
|
+
if (extra !== undefined)
|
|
124
|
+
return { ok: false, reason: `${at}: unknown key "${extra}"` };
|
|
125
|
+
if (item.name !== undefined && typeof item.name !== "string")
|
|
126
|
+
return { ok: false, reason: `${at}.name: a string` };
|
|
127
|
+
let manifest, base = null;
|
|
128
|
+
const paths = new Map();
|
|
129
|
+
if (item.dir !== undefined) {
|
|
130
|
+
if (item.manifest !== undefined || item.files !== undefined)
|
|
131
|
+
return { ok: false, reason: `${at}: dir, or manifest + files — not both` };
|
|
132
|
+
const d = await resolveIn(item.dir, `${at}.dir`);
|
|
133
|
+
if (!d.ok)
|
|
134
|
+
return d;
|
|
135
|
+
try {
|
|
136
|
+
if (!(await stat(d.real)).isDirectory())
|
|
137
|
+
return { ok: false, reason: `${at}.dir: not a folder` };
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
return { ok: false, reason: `${at}.dir: cannot be read` };
|
|
141
|
+
}
|
|
142
|
+
base = d;
|
|
143
|
+
let mPath;
|
|
144
|
+
try {
|
|
145
|
+
mPath = await realpath(join(d.real, "manifest.json"));
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
return { ok: false, reason: `${at}.dir: no manifest.json in it` };
|
|
149
|
+
}
|
|
150
|
+
if (!under(mPath, d.root) || !where(mPath))
|
|
151
|
+
return { ok: false, reason: `${at}: manifest.json leads outside the allowed folders` };
|
|
152
|
+
const m = await readBounded(mPath, SKIN_LIMITS.manifestBytes, `${at}: manifest.json`);
|
|
153
|
+
if (!m.ok)
|
|
154
|
+
return m;
|
|
155
|
+
try {
|
|
156
|
+
manifest = JSON.parse(m.bytes.toString("utf8"));
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return { ok: false, reason: `${at}: manifest.json is not JSON` };
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
else if (item.manifest !== undefined) {
|
|
163
|
+
if (!isObj(item.files))
|
|
164
|
+
return { ok: false, reason: `${at}: with manifest, files: { "<name the manifest uses>": "<path to it>" }` };
|
|
165
|
+
manifest = item.manifest;
|
|
166
|
+
for (const [src, p] of Object.entries(item.files))
|
|
167
|
+
paths.set(src, p);
|
|
168
|
+
}
|
|
169
|
+
else
|
|
170
|
+
return { ok: false, reason: `${at}: give dir, or manifest + files` };
|
|
171
|
+
const checked = checkSkinPack(manifest);
|
|
172
|
+
if (!checked.ok)
|
|
173
|
+
return { ok: false, reason: `${at}: manifest — ${checked.error}` };
|
|
174
|
+
const named = packImages(checked.pack);
|
|
175
|
+
if (!base) {
|
|
176
|
+
const unused = [...paths.keys()].find(src => !named.includes(src));
|
|
177
|
+
if (unused !== undefined)
|
|
178
|
+
return { ok: false, reason: `${at}.files: ${unused.slice(0, 200)} — the manifest does not name it` };
|
|
179
|
+
}
|
|
180
|
+
const files = new Map();
|
|
181
|
+
let packBytes = 0;
|
|
182
|
+
for (const src of named) {
|
|
183
|
+
if (!skinFileNameOk(src))
|
|
184
|
+
return { ok: false, reason: `${at}: ${src.slice(0, 200)} — letters, digits, . _ - and /, no hidden or empty part, ending .png` };
|
|
185
|
+
let real;
|
|
186
|
+
if (base) {
|
|
187
|
+
try {
|
|
188
|
+
real = await realpath(join(base.real, src));
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
return { ok: false, reason: `${at}: ${src} — named by the manifest, not in the folder` };
|
|
192
|
+
}
|
|
193
|
+
if (!under(real, base.root) || !where(real))
|
|
194
|
+
return { ok: false, reason: `${at}: ${src} leads outside the allowed folders` };
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
if (!paths.has(src))
|
|
198
|
+
return { ok: false, reason: `${at}.files: ${src} — named by the manifest, not given` };
|
|
199
|
+
const r = await resolveIn(paths.get(src), `${at}.files.${src}`);
|
|
200
|
+
if (!r.ok)
|
|
201
|
+
return r;
|
|
202
|
+
real = r.real;
|
|
203
|
+
}
|
|
204
|
+
const f = await readBounded(real, SKIN_LIMITS.fileBytes, `${at}: ${src}`);
|
|
205
|
+
if (!f.ok)
|
|
206
|
+
return f;
|
|
207
|
+
packBytes += f.bytes.length;
|
|
208
|
+
total += f.bytes.length;
|
|
209
|
+
if (packBytes > SKIN_LIMITS.packBytes)
|
|
210
|
+
return { ok: false, reason: `${at}: more than ${SKIN_LIMITS.packBytes / MiB} MiB of pictures` };
|
|
211
|
+
if (total > PACK_BATCH_LIMITS.bytes)
|
|
212
|
+
return { ok: false, reason: `the batch: more than ${PACK_BATCH_LIMITS.bytes / MiB} MiB of pictures — send fewer packs at once` };
|
|
213
|
+
files.set(src, f.bytes);
|
|
214
|
+
}
|
|
215
|
+
packs.push({ manifest: manifest, ...(typeof item.name === "string" ? { name: item.name } : {}), files });
|
|
216
|
+
}
|
|
217
|
+
return { ok: true, packs, bytes: total };
|
|
218
|
+
}
|
|
219
|
+
/** The batch as the wire carries it: { packs: [{ manifest, name?, files: { <src>: <base64> } }] }, or null when too large. */
|
|
220
|
+
export function encodePackBatch(packs) {
|
|
221
|
+
const doc = { packs: packs.map(p => ({ manifest: p.manifest, ...(p.name !== undefined ? { name: p.name } : {}), files: Object.fromEntries([...p.files].map(([k, v]) => [k, v.toString("base64")])) })) };
|
|
222
|
+
const bytes = Buffer.from(JSON.stringify(doc));
|
|
223
|
+
return bytes.length <= PACK_BATCH_WIRE_BYTES ? bytes : null;
|
|
224
|
+
}
|
|
225
|
+
/** Send an encoded batch in parts (each answered before the next); `options` ride on part 0. Returns the last answer. */
|
|
226
|
+
export async function sendPackBatchInParts(bytes, options, send) {
|
|
227
|
+
const sha256 = createHash("sha256").update(bytes).digest("hex"), count = Math.max(1, Math.ceil(bytes.length / ASSET_PART_BYTES));
|
|
228
|
+
let upload, answer = {};
|
|
229
|
+
for (let index = 0; index < count; index++) {
|
|
230
|
+
answer = await send({ ...(index === 0 ? options : {}), data_b64: bytes.subarray(index * ASSET_PART_BYTES, (index + 1) * ASSET_PART_BYTES).toString("base64"),
|
|
231
|
+
part: { index, count, bytes: bytes.length, sha256, ...(upload ? { upload } : {}) } });
|
|
232
|
+
if (typeof answer.error === "string")
|
|
233
|
+
return answer;
|
|
234
|
+
if (index < count - 1) {
|
|
235
|
+
if (typeof answer.upload !== "string")
|
|
236
|
+
return { error: "upload", message: "The fleet did not accept the part." };
|
|
237
|
+
upload = answer.upload;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
return answer;
|
|
241
|
+
}
|
|
242
|
+
/** Read, encode and send: what the daemon and the CLI both do for office_pack_check / office_pack_upload. */
|
|
243
|
+
export async function sendPackSources(args, ctx, send) {
|
|
244
|
+
const read = await readPackSources(args, ctx);
|
|
245
|
+
if (!read.ok)
|
|
246
|
+
return { error: "pack_read", message: read.reason };
|
|
247
|
+
const bytes = encodePackBatch(read.packs);
|
|
248
|
+
if (!bytes)
|
|
249
|
+
return { error: "pack_read", message: "the batch is too large for one call: send fewer packs at once" };
|
|
250
|
+
return sendPackBatchInParts(bytes, args.drop_invalid_overrides === undefined ? {} : { drop_invalid_overrides: args.drop_invalid_overrides }, send);
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=web-office-pack-read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-office-pack-read.js","sourceRoot":"","sources":["../src/web-office-pack-read.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAyB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AACxB,oHAAoH;AACpH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,EAAW,CAAC;AACzF,qHAAqH;AACrH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,KAAK,GAAG,CAAC,WAAW,CAAC,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAMtJ,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AACvH,MAAM,KAAK,GAAG,CAAC,CAAU,EAAgC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9G,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAEzD,gHAAgH;AAChH,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,GAAW,EAAE,KAAa;IACjE,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QAAC,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,GAAG,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IACtH,MAAM,CAAC;QAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,kBAAkB,EAAE,CAAC;IAAC,CAAC;IACnE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,sBAAsB,EAAE,CAAC;QACjF,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAChJ,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,SAAS,CAAC;YACR,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;YACzE,IAAI,CAAC,SAAS;gBAAE,MAAM;YACtB,GAAG,IAAI,SAAS,CAAC;YACjB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,6BAA6B,EAAE,CAAC;QAC3F,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,kBAAkB,EAAE,CAAC;IAAC,CAAC;YAC7D,CAAC;QAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAAC,CAAC;AACnD,CAAC;AAED,0HAA0H;AAC1H,KAAK,UAAU,OAAO,CAAC,GAAoB;IACzC,MAAM,KAAK,GAA4D,EAAE,CAAC;IAC1E,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC,CAAC,2DAA2D,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC;QAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACtI,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAA6B,EAAE,GAAoB;IACvF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;IACvC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;QAC5H,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qEAAqE,EAAE,CAAC;IACtG,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/H,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gDAAgD,EAAE,CAAC;IAC3H,IAAI,KAAK,CAAC,MAAM,GAAG,iBAAiB,CAAC,KAAK;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,iBAAiB,CAAC,KAAK,qBAAqB,EAAE,CAAC;IAClI,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,0EAA0E,EAAE,CAAC;IAC5H,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,wGAAwG;IACxG,MAAM,SAAS,GAAG,KAAK,EAAE,CAAU,EAAE,KAAa,EAAqF,EAAE;QACvI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,UAAU,EAAE,CAAC;QAC7G,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YAAC,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAAC,CAAC;QAC5H,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kEAAkE,EAAE,CAAC;IACtK,CAAC,CAAC;IACF,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,KAAK,GAAG,EAAE,CAAC;QACvF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC;QACnH,IAAI,QAAiB,EAAE,IAAI,GAA0C,IAAI,CAAC;QAC1E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,uCAAuC,EAAE,CAAC;YACxI,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,CAAC,CAAC;YACpB,IAAI,CAAC;gBAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;oBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,sBAAsB,EAAE,CAAC;YAAC,CAAC;YAC9K,IAAI,GAAG,CAAC,CAAC;YACT,IAAI,KAAa,CAAC;YAClB,IAAI,CAAC;gBAAC,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,8BAA8B,EAAE,CAAC;YAAC,CAAC;YAC3I,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,mDAAmD,EAAE,CAAC;YACnI,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;YACtF,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,CAAC,CAAC;YACpB,IAAI,CAAC;gBAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,6BAA6B,EAAE,CAAC;YAAC,CAAC;QACtI,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,wEAAwE,EAAE,CAAC;YACpI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzB,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAW,CAAC,CAAC;QACjF,CAAC;;YAAM,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,iCAAiC,EAAE,CAAC;QAC5E,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACpF,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACnE,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kCAAkC,EAAE,CAAC;QACjI,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,uEAAuE,EAAE,CAAC;YAC3J,IAAI,IAAY,CAAC;YACjB,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC;oBAAC,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,6CAA6C,EAAE,CAAC;gBAAC,CAAC;gBACxJ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,oCAAoC,EAAE,CAAC;YAC/H,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,qCAAqC,EAAE,CAAC;gBAC5G,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC;gBAChE,IAAI,CAAC,CAAC,CAAC,EAAE;oBAAE,OAAO,CAAC,CAAC;gBACpB,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,CAAC,CAAC;YACpB,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YACrD,IAAI,SAAS,GAAG,WAAW,CAAC,SAAS;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,WAAW,CAAC,SAAS,GAAG,GAAG,kBAAkB,EAAE,CAAC;YACvI,IAAI,KAAK,GAAG,iBAAiB,CAAC,KAAK;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,wBAAwB,iBAAiB,CAAC,KAAK,GAAG,GAAG,6CAA6C,EAAE,CAAC;YACtK,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAmC,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACtI,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED,8HAA8H;AAC9H,MAAM,UAAU,eAAe,CAAC,KAA4B;IAC1D,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACzM,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED,yHAAyH;AACzH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAa,EAAE,OAAgC,EAAE,IAAyE;IACnK,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;IACjI,IAAI,MAA0B,EAAE,MAAM,GAA4B,EAAE,CAAC;IACrE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3C,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,gBAAgB,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1J,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACxF,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QACpD,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;YAAC,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;YAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAAC,CAAC;IACtK,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,6GAA6G;AAC7G,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAA6B,EAAE,GAAoB,EAAE,IAAyE;IAClK,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAClE,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,+DAA+D,EAAE,CAAC;IACpH,OAAO,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,sBAAsB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,IAAI,CAAC,CAAC;AACrJ,CAAC"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { type CheckedPack } from "./ui/fleet-office-pack.js";
|
|
2
|
+
import { type OfficeSkinStore } from "./web-office-skins.js";
|
|
3
|
+
import type { Office, OfficeStore } from "./web-office-store.js";
|
|
4
|
+
export declare const OFFICE_PACK_TOOL_LIMITS: {
|
|
5
|
+
readonly batchesPerHour: 20;
|
|
6
|
+
readonly bytesPerHour: number;
|
|
7
|
+
/** Pending changes waiting for an admin's yes: at most 8 in the fleet, 200 MiB of pictures, each for 24 hours. */
|
|
8
|
+
readonly pending: 8;
|
|
9
|
+
readonly pendingBytes: number;
|
|
10
|
+
readonly pendingMs: number;
|
|
11
|
+
/** The log keeps its newest entries: at most this many lines once it passes 512 KiB. */
|
|
12
|
+
readonly logLines: 500;
|
|
13
|
+
readonly logBytes: number;
|
|
14
|
+
};
|
|
15
|
+
export declare const OFFICE_PACK_APPROVALS: readonly ["apply", "approve"];
|
|
16
|
+
export type OfficePackApproval = typeof OFFICE_PACK_APPROVALS[number];
|
|
17
|
+
/** Until an admin chooses: every change waits for a yes. */
|
|
18
|
+
export declare const OFFICE_PACK_APPROVAL_DEFAULT: OfficePackApproval;
|
|
19
|
+
/** The built-in styles an office may be drawn in besides a kept pack (fleet-office-skin.js BUILT_IN_SKINS). */
|
|
20
|
+
export declare const BUILT_IN_STYLES: readonly ["pixel", "studio", "cozy"];
|
|
21
|
+
export declare const OFFICE_PACK_TOOLS: readonly ["office_pack_check", "office_pack_upload", "office_pack_delete", "office_pack_restore", "office_pack_list", "office_set_style"];
|
|
22
|
+
export type OfficePackAnswer = Record<string, unknown>;
|
|
23
|
+
export declare const mib: (bytes: number) => string;
|
|
24
|
+
/**
|
|
25
|
+
* One office's override entry that does not fit a pack: `entry` is what is dropped — "seats.desks", "furniture.rack",
|
|
26
|
+
* "furnitureNight.rack", one seat's reservation "seatFor.desks.0" (#2691), or "seatFor.desks" for an area's empty
|
|
27
|
+
* reservation map. "overrides" (UNDROPPABLE) when the layout fails as a whole but no single entry does: never dropped.
|
|
28
|
+
*/
|
|
29
|
+
export interface OverrideConflict {
|
|
30
|
+
office: string;
|
|
31
|
+
name: string;
|
|
32
|
+
entry: string;
|
|
33
|
+
rule: string;
|
|
34
|
+
}
|
|
35
|
+
/** A conflict no exact drop clears: the change is refused even with drop_invalid_overrides (never a whole layout lost). */
|
|
36
|
+
export declare const UNDROPPABLE = "overrides";
|
|
37
|
+
export declare const undroppable: (conflicts: readonly OverrideConflict[]) => boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Each stored office whose overrides were made on `pack` (overrides.pack: the ones PUT /ui/offices checks against it),
|
|
40
|
+
* put on it whole (applyOverrides, as that save does — every entry, the reservations too), and where that fails entry
|
|
41
|
+
* by entry: what does not fit. When the entries found are dropped the rest must fit whole; if not (a rule between
|
|
42
|
+
* entries), the office's conflict is UNDROPPABLE instead, and the change is refused.
|
|
43
|
+
*/
|
|
44
|
+
export declare function overrideConflicts(offices: readonly Office[], pack: CheckedPack): OverrideConflict[];
|
|
45
|
+
/** The offices with exactly those entries dropped (an office left with nothing but `pack` loses its overrides). An UNDROPPABLE conflict is never passed here. */
|
|
46
|
+
export declare function dropConflicts(offices: readonly Office[], conflicts: readonly OverrideConflict[]): Office[];
|
|
47
|
+
/** How many dropped entries a notice names; the rest are counted. */
|
|
48
|
+
export declare const DROPS_SHOWN = 6;
|
|
49
|
+
/**
|
|
50
|
+
* What a change drops, for its notice (an admin approving from General sees it): the count, then each office with its
|
|
51
|
+
* entries — "Ops: seats.desks, furniture.rack; Den: …" — the first DROPS_SHOWN entries, "…and N more" after them.
|
|
52
|
+
*/
|
|
53
|
+
export declare function dropsText(conflicts: readonly OverrideConflict[]): string;
|
|
54
|
+
/** How much one agent may change: batches and bytes an hour (accepted calls only; a monotonic clock; memory only). */
|
|
55
|
+
export declare class OfficePackBatchLimiter {
|
|
56
|
+
private readonly now;
|
|
57
|
+
private readonly limits;
|
|
58
|
+
private readonly batches;
|
|
59
|
+
constructor(now?: () => number, limits?: {
|
|
60
|
+
batchesPerHour: number;
|
|
61
|
+
bytesPerHour: number;
|
|
62
|
+
});
|
|
63
|
+
private recent;
|
|
64
|
+
/** Whether a batch of `bytes` may go now; else the ms until it may (never: larger than the hour's budget). */
|
|
65
|
+
check(instance: string, bytes: number): {
|
|
66
|
+
ok: true;
|
|
67
|
+
} | {
|
|
68
|
+
ok: false;
|
|
69
|
+
retry_after_ms: number | null;
|
|
70
|
+
why: string;
|
|
71
|
+
};
|
|
72
|
+
record(instance: string, bytes: number): void;
|
|
73
|
+
/** What is left of the hour's budget. */
|
|
74
|
+
left(instance: string): {
|
|
75
|
+
batches: number;
|
|
76
|
+
bytes: number;
|
|
77
|
+
};
|
|
78
|
+
forget(instance: string): void;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The receiving side of web-office-pack-read.ts's parts: one unfinished batch per instance and tool, dropped after a
|
|
82
|
+
* minute without a part; at most 8 at once and twice a batch's wire size in memory. The caller is the connection's
|
|
83
|
+
* instance, never a field of a part; no path is ever accepted.
|
|
84
|
+
*/
|
|
85
|
+
export declare class OfficePackUploads {
|
|
86
|
+
private readonly clock;
|
|
87
|
+
private readonly pending;
|
|
88
|
+
constructor(clock?: () => number);
|
|
89
|
+
forget(instance: string): void;
|
|
90
|
+
accept(instance: string, tool: string, args: Record<string, unknown>): {
|
|
91
|
+
done: false;
|
|
92
|
+
answer: OfficePackAnswer;
|
|
93
|
+
} | {
|
|
94
|
+
done: true;
|
|
95
|
+
doc: unknown;
|
|
96
|
+
options: Record<string, unknown>;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/** A pending change's view (no picture bytes): the page, the notice and office_pack_list show it. */
|
|
100
|
+
export interface PackChangeView {
|
|
101
|
+
id: string;
|
|
102
|
+
instance: string;
|
|
103
|
+
at: number;
|
|
104
|
+
expires_at: number;
|
|
105
|
+
action: "upload" | "delete" | "restore" | "style";
|
|
106
|
+
packs: Array<{
|
|
107
|
+
id: string;
|
|
108
|
+
name: string;
|
|
109
|
+
files?: number;
|
|
110
|
+
bytes?: number;
|
|
111
|
+
replaces?: string | null;
|
|
112
|
+
}>;
|
|
113
|
+
office?: string;
|
|
114
|
+
style?: string;
|
|
115
|
+
keep_previous?: boolean;
|
|
116
|
+
drop_invalid_overrides?: boolean;
|
|
117
|
+
drops?: OverrideConflict[];
|
|
118
|
+
}
|
|
119
|
+
export interface PackLogEntry {
|
|
120
|
+
at: string;
|
|
121
|
+
by: string;
|
|
122
|
+
action: string;
|
|
123
|
+
pack?: string;
|
|
124
|
+
name?: string;
|
|
125
|
+
version?: string;
|
|
126
|
+
files?: number;
|
|
127
|
+
bytes?: number;
|
|
128
|
+
manifest_sha256?: string;
|
|
129
|
+
pictures?: Record<string, string>;
|
|
130
|
+
previous_kept?: boolean;
|
|
131
|
+
replaced_version?: string | null;
|
|
132
|
+
office?: string;
|
|
133
|
+
style?: string;
|
|
134
|
+
dropped_overrides?: OverrideConflict[];
|
|
135
|
+
change?: string;
|
|
136
|
+
approved_by?: string;
|
|
137
|
+
approval?: string;
|
|
138
|
+
outcome?: string;
|
|
139
|
+
}
|
|
140
|
+
export interface OfficePackToolsDeps {
|
|
141
|
+
skins: OfficeSkinStore;
|
|
142
|
+
offices: OfficeStore;
|
|
143
|
+
/** The agents whose `office_packs` feature is on (the Office page shows them). */
|
|
144
|
+
allowedAgents(): string[];
|
|
145
|
+
/** Tell the fleet's admins (General): one short message; with `pending`, the change waits for their yes (buttons). */
|
|
146
|
+
notice(text: string, pending?: PackChangeView): void;
|
|
147
|
+
/** A pending change was decided or expired (its notice's buttons are retired with `text`). */
|
|
148
|
+
settled(id: string, text: string): void;
|
|
149
|
+
/** What changed, for every page: the packs' rev, the offices' rev, the agent changes (pending, approval, log). */
|
|
150
|
+
changed(what: {
|
|
151
|
+
skins?: string;
|
|
152
|
+
offices?: number;
|
|
153
|
+
changes?: boolean;
|
|
154
|
+
}): void;
|
|
155
|
+
logger?: {
|
|
156
|
+
info(obj: object, msg: string): void;
|
|
157
|
+
warn(obj: object, msg: string): void;
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
export declare class OfficePackTools {
|
|
161
|
+
private readonly deps;
|
|
162
|
+
readonly limiter: OfficePackBatchLimiter;
|
|
163
|
+
readonly uploads: OfficePackUploads;
|
|
164
|
+
private readonly pending;
|
|
165
|
+
private readonly now;
|
|
166
|
+
private approvalCache;
|
|
167
|
+
constructor(deps: OfficePackToolsDeps, opts?: {
|
|
168
|
+
limiter?: OfficePackBatchLimiter;
|
|
169
|
+
uploads?: OfficePackUploads;
|
|
170
|
+
now?: () => number;
|
|
171
|
+
});
|
|
172
|
+
private get settingsPath();
|
|
173
|
+
private get logPath();
|
|
174
|
+
/** The admins' choice: "apply" (at once) or "approve" (a pending change until an admin's yes). Kept beside the packs. */
|
|
175
|
+
approval(): OfficePackApproval;
|
|
176
|
+
setApproval(mode: unknown, by: string): {
|
|
177
|
+
ok: true;
|
|
178
|
+
approval: OfficePackApproval;
|
|
179
|
+
} | {
|
|
180
|
+
ok: false;
|
|
181
|
+
error: string;
|
|
182
|
+
};
|
|
183
|
+
/** Append one entry to the log (and the fleet log); the newest are kept once it grows past its cap. */
|
|
184
|
+
private log;
|
|
185
|
+
/** The newest log entries first. */
|
|
186
|
+
logEntries(limit?: number): PackLogEntry[];
|
|
187
|
+
/** A version's digests: the manifest's sha256 and each picture's (its kept bytes), from the upload or from disk. */
|
|
188
|
+
private digest;
|
|
189
|
+
private recordOf;
|
|
190
|
+
private sweep;
|
|
191
|
+
/** The pending changes (all, or one agent's). */
|
|
192
|
+
pendingViews(instance?: string): PackChangeView[];
|
|
193
|
+
/** GET /ui/office-pack-changes: what the Office page shows an admin. */
|
|
194
|
+
changes(): {
|
|
195
|
+
approval: OfficePackApproval;
|
|
196
|
+
agents: string[];
|
|
197
|
+
pending: PackChangeView[];
|
|
198
|
+
log: PackLogEntry[];
|
|
199
|
+
};
|
|
200
|
+
/** The tool call, from the instance its connection (or agent token) belongs to. */
|
|
201
|
+
handle(instance: string, tool: string, args: Record<string, unknown>): OfficePackAnswer;
|
|
202
|
+
private list;
|
|
203
|
+
/** The batch document, each pack checked as the web upload checks it. */
|
|
204
|
+
private decode;
|
|
205
|
+
/** Whether the checked packs may go in now: the pack count, the disk budget, the offices' overrides. */
|
|
206
|
+
private fit;
|
|
207
|
+
private check;
|
|
208
|
+
/** A change from an agent: judged, counted, then applied at once or held for an admin's yes. */
|
|
209
|
+
private submit;
|
|
210
|
+
private logFields;
|
|
211
|
+
/** What a change would do, or why it cannot: the packs it names (for the view), the override entries it drops. */
|
|
212
|
+
private judge;
|
|
213
|
+
/** Make the change (judged again first). Its answer for the agent, and a one-line summary for the notice. */
|
|
214
|
+
private apply;
|
|
215
|
+
/**
|
|
216
|
+
* An admin's yes or no on a pending change (the Office page, or the notice's buttons). A yes judges it again and
|
|
217
|
+
* applies it; what happened is the answer (and the notice's new text).
|
|
218
|
+
*/
|
|
219
|
+
decide(id: string, decision: "approve" | "reject", by: string): {
|
|
220
|
+
ok: true;
|
|
221
|
+
text: string;
|
|
222
|
+
applied?: OfficePackAnswer;
|
|
223
|
+
} | {
|
|
224
|
+
ok: false;
|
|
225
|
+
status: 404 | 409;
|
|
226
|
+
error: string;
|
|
227
|
+
text: string;
|
|
228
|
+
};
|
|
229
|
+
forget(instance: string): void;
|
|
230
|
+
}
|
|
231
|
+
/** One line for a notice: what a pending change would do. */
|
|
232
|
+
export declare function summaryOf(v: PackChangeView): string;
|