@mono-agent/web 0.12.0

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 (53) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +169 -0
  3. package/dist/contracts.d.ts +151 -0
  4. package/dist/contracts.d.ts.map +1 -0
  5. package/dist/contracts.js +11 -0
  6. package/dist/contracts.js.map +1 -0
  7. package/dist/discovery.d.ts +17 -0
  8. package/dist/discovery.d.ts.map +1 -0
  9. package/dist/discovery.js +137 -0
  10. package/dist/discovery.js.map +1 -0
  11. package/dist/errors.d.ts +9 -0
  12. package/dist/errors.d.ts.map +1 -0
  13. package/dist/errors.js +25 -0
  14. package/dist/errors.js.map +1 -0
  15. package/dist/index.d.ts +14 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +10 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/operator-client.d.ts +42 -0
  20. package/dist/operator-client.d.ts.map +1 -0
  21. package/dist/operator-client.js +257 -0
  22. package/dist/operator-client.js.map +1 -0
  23. package/dist/server.d.ts +22 -0
  24. package/dist/server.d.ts.map +1 -0
  25. package/dist/server.js +566 -0
  26. package/dist/server.js.map +1 -0
  27. package/dist/service.d.ts +89 -0
  28. package/dist/service.d.ts.map +1 -0
  29. package/dist/service.js +644 -0
  30. package/dist/service.js.map +1 -0
  31. package/dist/state-paths.d.ts +25 -0
  32. package/dist/state-paths.d.ts.map +1 -0
  33. package/dist/state-paths.js +226 -0
  34. package/dist/state-paths.js.map +1 -0
  35. package/dist/store.d.ts +112 -0
  36. package/dist/store.d.ts.map +1 -0
  37. package/dist/store.js +953 -0
  38. package/dist/store.js.map +1 -0
  39. package/package.json +48 -0
  40. package/webapp/dist/apple-touch-icon.png +0 -0
  41. package/webapp/dist/assets/assistant-ui-CU4gqU0g.js +70 -0
  42. package/webapp/dist/assets/index-Ck3BY0Ti.js +47 -0
  43. package/webapp/dist/assets/index-CoB6Xwh-.css +1 -0
  44. package/webapp/dist/assets/markdown-qFW9VWmB.js +18 -0
  45. package/webapp/dist/assets/workbox-window.prod.es5-BBnX5xw4.js +2 -0
  46. package/webapp/dist/favicon.ico +0 -0
  47. package/webapp/dist/icon-192.png +0 -0
  48. package/webapp/dist/icon-512.png +0 -0
  49. package/webapp/dist/icon.svg +22 -0
  50. package/webapp/dist/index.html +20 -0
  51. package/webapp/dist/manifest.webmanifest +1 -0
  52. package/webapp/dist/sw.js +1 -0
  53. package/webapp/dist/workbox-9c191d2f.js +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export interface WebStatePathOptions {
2
+ /** Explicit test/embedding seam. Production callers should omit this fixed-root override. */
3
+ readonly stateDir?: string;
4
+ /** Accepted for API consistency; environment variables never redirect persistent state or reset targets. */
5
+ readonly env?: Readonly<Record<string, string | undefined>>;
6
+ }
7
+ export interface WebStatePaths {
8
+ readonly root: string;
9
+ readonly database: string;
10
+ readonly uploads: string;
11
+ readonly logs: string;
12
+ readonly marker: string;
13
+ readonly leaseDatabase: string;
14
+ }
15
+ export interface WebStateLease {
16
+ release(): Promise<void>;
17
+ }
18
+ export declare function defaultWebStateDir(): string;
19
+ export declare function resolveWebStatePaths(options?: WebStatePathOptions): WebStatePaths;
20
+ export declare function prepareWebStatePaths(options?: WebStatePathOptions): Promise<WebStatePaths>;
21
+ /** Initialize/verify the fixed web state root without acquiring the server lease. */
22
+ export declare function prepareWebState(options?: WebStatePathOptions): Promise<void>;
23
+ export declare function acquireWebStateLease(paths: WebStatePaths): Promise<WebStateLease>;
24
+ export declare function resetWebState(options?: WebStatePathOptions): Promise<void>;
25
+ //# sourceMappingURL=state-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-paths.d.ts","sourceRoot":"","sources":["../src/state-paths.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,mBAAmB;IAClC,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,4GAA4G;IAC5G,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,mBAAwB,GAAG,aAAa,CAYrF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC,CA2BpG;AAED,qFAAqF;AACrF,wBAAsB,eAAe,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtF;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAsBvF;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBpF"}
@@ -0,0 +1,226 @@
1
+ import { chmod, lstat, mkdir, open, readFile, realpath, rm, stat, unlink } from "node:fs/promises";
2
+ import { homedir } from "node:os";
3
+ import { basename, dirname, isAbsolute, resolve } from "node:path";
4
+ import { DatabaseSync } from "node:sqlite";
5
+ import { WebConsoleError } from "./errors.js";
6
+ const STATE_MARKER = ".mono-agent-web-state";
7
+ const LEASE_DATABASE = "lease.sqlite";
8
+ const MARKER_SCHEMA = 1;
9
+ export function defaultWebStateDir() {
10
+ return resolve(homedir(), ".mono-agent", "web");
11
+ }
12
+ export function resolveWebStatePaths(options = {}) {
13
+ // Deliberately do not consult MONO_AGENT_WEB_STATE_DIR: reset must never turn
14
+ // an inherited environment variable into recursive-delete authority.
15
+ const root = resolve(options.stateDir ?? defaultWebStateDir());
16
+ return {
17
+ root,
18
+ database: resolve(root, "state.sqlite"),
19
+ uploads: resolve(root, "uploads"),
20
+ logs: resolve(root, "logs"),
21
+ marker: resolve(root, STATE_MARKER),
22
+ leaseDatabase: resolve(root, LEASE_DATABASE),
23
+ };
24
+ }
25
+ export async function prepareWebStatePaths(options = {}) {
26
+ const paths = resolveWebStatePaths(options);
27
+ assertStructurallySafeTarget(paths.root);
28
+ const existed = await pathExists(paths.root);
29
+ if (existed) {
30
+ await verifyDirectory(paths.root);
31
+ await verifyMarker(paths);
32
+ }
33
+ else {
34
+ const parent = dirname(paths.root);
35
+ if (options.stateDir === undefined && parent === resolve(homedir(), ".mono-agent")) {
36
+ await mkdir(parent, { recursive: true, mode: 0o700 });
37
+ }
38
+ else {
39
+ await verifyDirectory(parent);
40
+ }
41
+ await verifyCanonicalChain(parent);
42
+ await mkdir(paths.root, { mode: 0o700 });
43
+ await writeMarker(paths);
44
+ }
45
+ await verifyCanonicalChain(paths.root);
46
+ await verifyOwnedDirectory(paths.root);
47
+ await Promise.all([
48
+ ensureOwnedChildDirectory(paths.uploads),
49
+ ensureOwnedChildDirectory(paths.logs),
50
+ ]);
51
+ await prepareLeaseDatabase(paths);
52
+ await chmod(paths.root, 0o700);
53
+ return paths;
54
+ }
55
+ /** Initialize/verify the fixed web state root without acquiring the server lease. */
56
+ export async function prepareWebState(options = {}) {
57
+ await prepareWebStatePaths(options);
58
+ }
59
+ export async function acquireWebStateLease(paths) {
60
+ await verifyMarker(paths);
61
+ await verifyOwnedRegularFile(paths.leaseDatabase);
62
+ const database = new DatabaseSync(paths.leaseDatabase, { timeout: 0 });
63
+ try {
64
+ database.exec("PRAGMA locking_mode = EXCLUSIVE; BEGIN EXCLUSIVE;");
65
+ }
66
+ catch {
67
+ database.close();
68
+ throw new WebConsoleError("web_service_running", "The web service state is already in use.", 409);
69
+ }
70
+ let released = false;
71
+ return {
72
+ async release() {
73
+ if (released)
74
+ return;
75
+ released = true;
76
+ try {
77
+ database.exec("ROLLBACK");
78
+ }
79
+ finally {
80
+ database.close();
81
+ }
82
+ },
83
+ };
84
+ }
85
+ export async function resetWebState(options = {}) {
86
+ const paths = resolveWebStatePaths(options);
87
+ assertStructurallySafeTarget(paths.root);
88
+ await verifyCanonicalChain(paths.root);
89
+ await verifyOwnedDirectory(paths.root);
90
+ await verifyMarker(paths);
91
+ const lease = await acquireWebStateLease(paths);
92
+ try {
93
+ // Preserve the root, ownership marker, worker.lock, and service lifecycle
94
+ // artifacts. Reset only console-owned conversation/settings/upload data.
95
+ await Promise.all([
96
+ removeOwnedFile(paths.database),
97
+ removeOwnedFile(`${paths.database}-wal`),
98
+ removeOwnedFile(`${paths.database}-shm`),
99
+ ]);
100
+ await verifyDirectory(paths.uploads);
101
+ await verifyCanonicalChain(paths.uploads);
102
+ await verifyOwnedDirectory(paths.uploads);
103
+ await rm(paths.uploads, { recursive: true, force: false });
104
+ await mkdir(paths.uploads, { mode: 0o700 });
105
+ }
106
+ finally {
107
+ await lease.release();
108
+ }
109
+ }
110
+ async function removeOwnedFile(path) {
111
+ const info = await lstat(path).catch(() => undefined);
112
+ if (info === undefined)
113
+ return;
114
+ if (!info.isFile() || info.isSymbolicLink()) {
115
+ throw new WebConsoleError("invalid_state_root", `Refusing to remove non-file web state data: ${path}`, 409);
116
+ }
117
+ verifyOwner(info.uid, path);
118
+ await unlink(path);
119
+ }
120
+ async function writeMarker(paths) {
121
+ const handle = await open(paths.marker, "wx", 0o600);
122
+ try {
123
+ await handle.writeFile(JSON.stringify({ schema: MARKER_SCHEMA, kind: "mono-agent-web-state" }), "utf8");
124
+ await handle.sync();
125
+ }
126
+ finally {
127
+ await handle.close();
128
+ }
129
+ }
130
+ async function prepareLeaseDatabase(paths) {
131
+ const existing = await lstat(paths.leaseDatabase).catch(() => undefined);
132
+ if (existing !== undefined && (!existing.isFile() || existing.isSymbolicLink())) {
133
+ throw new WebConsoleError("invalid_state_root", "Web lease database must be a regular file.", 409);
134
+ }
135
+ if (existing !== undefined) {
136
+ verifyOwner(existing.uid, paths.leaseDatabase);
137
+ await chmod(paths.leaseDatabase, 0o600);
138
+ return;
139
+ }
140
+ const database = new DatabaseSync(paths.leaseDatabase, { timeout: 5_000 });
141
+ try {
142
+ database.exec("PRAGMA journal_mode = DELETE; CREATE TABLE IF NOT EXISTS lease_guard (id INTEGER PRIMARY KEY CHECK (id = 1));");
143
+ }
144
+ finally {
145
+ database.close();
146
+ }
147
+ await chmod(paths.leaseDatabase, 0o600);
148
+ }
149
+ async function verifyOwnedRegularFile(path) {
150
+ const info = await lstat(path).catch(() => undefined);
151
+ if (info === undefined || !info.isFile() || info.isSymbolicLink()) {
152
+ throw new WebConsoleError("invalid_state_root", `Expected an owner-private file at ${path}.`, 409);
153
+ }
154
+ verifyOwner(info.uid, path);
155
+ }
156
+ async function verifyMarker(paths) {
157
+ const info = await lstat(paths.marker).catch(() => undefined);
158
+ if (info === undefined || !info.isFile() || info.isSymbolicLink()) {
159
+ throw new WebConsoleError("invalid_state_root", `Web state marker is missing at ${paths.root}.`, 409);
160
+ }
161
+ verifyOwner(info.uid, paths.marker);
162
+ let marker;
163
+ try {
164
+ marker = JSON.parse(await readFile(paths.marker, "utf8"));
165
+ }
166
+ catch {
167
+ throw new WebConsoleError("invalid_state_root", `Web state marker is invalid at ${paths.root}.`, 409);
168
+ }
169
+ const record = typeof marker === "object" && marker !== null ? marker : undefined;
170
+ if (record?.schema !== MARKER_SCHEMA || record.kind !== "mono-agent-web-state") {
171
+ throw new WebConsoleError("invalid_state_root", `Web state marker is invalid at ${paths.root}.`, 409);
172
+ }
173
+ }
174
+ async function ensureOwnedChildDirectory(path) {
175
+ const existing = await lstat(path).catch(() => undefined);
176
+ if (existing === undefined)
177
+ await mkdir(path, { mode: 0o700 });
178
+ else if (!existing.isDirectory() || existing.isSymbolicLink()) {
179
+ throw new WebConsoleError("invalid_state_root", `Refusing non-directory web state path: ${path}`, 409);
180
+ }
181
+ await verifyOwnedDirectory(path);
182
+ await chmod(path, 0o700);
183
+ }
184
+ async function verifyDirectory(path) {
185
+ const info = await lstat(path).catch(() => undefined);
186
+ if (info === undefined || !info.isDirectory() || info.isSymbolicLink()) {
187
+ throw new WebConsoleError("invalid_state_root", `Expected a real directory at ${path}.`, 409);
188
+ }
189
+ }
190
+ async function verifyOwnedDirectory(path) {
191
+ const info = await stat(path);
192
+ if (!info.isDirectory())
193
+ throw new WebConsoleError("invalid_state_root", `Expected a directory at ${path}.`, 409);
194
+ verifyOwner(info.uid, path);
195
+ }
196
+ async function verifyCanonicalChain(path) {
197
+ const canonical = await realpath(path);
198
+ if (canonical !== resolve(path)) {
199
+ throw new WebConsoleError("invalid_state_root", `Web state path contains a symbolic-link hop: ${path}`, 409);
200
+ }
201
+ }
202
+ function verifyOwner(uid, path) {
203
+ const currentUid = typeof process.getuid === "function" ? process.getuid() : undefined;
204
+ if (currentUid !== undefined && uid !== currentUid) {
205
+ throw new WebConsoleError("invalid_state_owner", `Web state path is not owned by the current user: ${path}`, 409);
206
+ }
207
+ }
208
+ function assertStructurallySafeTarget(target) {
209
+ const normalized = resolve(target);
210
+ const home = resolve(homedir());
211
+ if (!isAbsolute(normalized)
212
+ || normalized === resolve("/")
213
+ || normalized === home
214
+ || dirname(normalized) === normalized
215
+ || basename(normalized).length === 0) {
216
+ throw new WebConsoleError("unsafe_reset_target", `Refusing unsafe web state path: ${normalized}`, 400);
217
+ }
218
+ }
219
+ async function pathExists(path) {
220
+ return lstat(path).then(() => true, (error) => {
221
+ if (error.code === "ENOENT")
222
+ return false;
223
+ throw error;
224
+ });
225
+ }
226
+ //# sourceMappingURL=state-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-paths.js","sourceRoot":"","sources":["../src/state-paths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ import type { AgentStreamWireFrame } from "@mono-agent/agent-contracts";
2
+ import { type WebAgentSummary, type WebAttachment, type WebMessage, type WebThread, type WebThreadDetail } from "./contracts.js";
3
+ import { type WebStatePathOptions, type WebStatePaths } from "./state-paths.js";
4
+ export interface StoredAttachment {
5
+ readonly id: string;
6
+ readonly threadId?: string;
7
+ readonly messageId?: string;
8
+ readonly name: string;
9
+ readonly contentType: string;
10
+ readonly sizeBytes: number;
11
+ readonly kind: "image" | "document";
12
+ readonly status: "staged" | "committed";
13
+ readonly uploaded: boolean;
14
+ readonly storageName: string;
15
+ readonly createdAt: string;
16
+ readonly updatedAt: string;
17
+ }
18
+ export interface OpenWebStoreOptions extends WebStatePathOptions {
19
+ readonly clock?: () => Date;
20
+ }
21
+ export interface CreateStoredUploadInput {
22
+ readonly name: string;
23
+ readonly contentType: string;
24
+ readonly kind: "image" | "document";
25
+ readonly declaredSize?: number;
26
+ }
27
+ export interface BeginStoredTurnInput {
28
+ readonly threadId: string;
29
+ readonly text: string;
30
+ readonly attachmentIds: readonly string[];
31
+ readonly model?: string;
32
+ readonly effort?: string;
33
+ }
34
+ export interface BeginStoredTurnResult {
35
+ readonly turnId: string;
36
+ readonly conversationId: string;
37
+ readonly text: string;
38
+ readonly userMessageId: string;
39
+ readonly assistantMessageId: string;
40
+ readonly attachments: readonly StoredAttachment[];
41
+ readonly thread: WebThread;
42
+ }
43
+ export declare class WebStore {
44
+ readonly paths: WebStatePaths;
45
+ private readonly database;
46
+ private readonly clock;
47
+ private closed;
48
+ private constructor();
49
+ static open(options?: OpenWebStoreOptions): Promise<WebStore>;
50
+ static openPrepared(paths: WebStatePaths, options?: Pick<OpenWebStoreOptions, "clock">): Promise<WebStore>;
51
+ close(): void;
52
+ replaceAgents(agents: readonly WebAgentSummary[]): void;
53
+ listAgents(): WebAgentSummary[];
54
+ getAgent(sourceId: string): WebAgentSummary | undefined;
55
+ setAgentPinned(sourceId: string, pinned: boolean): WebAgentSummary;
56
+ createThread(sourceId: string): WebThread;
57
+ listThreads(): WebThread[];
58
+ getThread(id: string): WebThread | undefined;
59
+ getThreadDetail(id: string): WebThreadDetail | undefined;
60
+ currentThreadId(): string | undefined;
61
+ selectThread(id: string): void;
62
+ patchThread(id: string, patch: {
63
+ readonly title?: string;
64
+ readonly archived?: boolean;
65
+ }): WebThread;
66
+ createUpload(input: CreateStoredUploadInput): StoredAttachment;
67
+ markUploadComplete(id: string, sizeBytes: number): StoredAttachment;
68
+ getStoredAttachment(id: string): StoredAttachment | undefined;
69
+ stagedUploadUsage(): {
70
+ readonly count: number;
71
+ readonly bytes: number;
72
+ };
73
+ attachmentPath(attachment: Pick<StoredAttachment, "storageName">): string;
74
+ removeStagedAttachment(id: string): Promise<void>;
75
+ purgeStagedAttachments(before: string): Promise<number>;
76
+ purgePartialUploadFiles(before?: string): Promise<number>;
77
+ beginTurn(input: BeginStoredTurnInput): BeginStoredTurnResult;
78
+ applyStreamFrame(turnId: string, frame: AgentStreamWireFrame): WebMessage;
79
+ applyStreamFrames(turnId: string, frames: readonly AgentStreamWireFrame[]): WebMessage;
80
+ completeTurn(turnId: string, finalText?: string, metadata?: Readonly<Record<string, unknown>>): WebThreadDetail;
81
+ failTurn(turnId: string, error: {
82
+ readonly message: string;
83
+ readonly code?: string;
84
+ readonly cancelled?: boolean;
85
+ }): WebThreadDetail;
86
+ interruptTurn(turnId: string, message?: string): WebThreadDetail;
87
+ activeTurn(threadId: string): {
88
+ readonly id: string;
89
+ readonly conversationId: string;
90
+ } | undefined;
91
+ listActiveTurnIds(): string[];
92
+ threadIdForTurn(turnId: string): string | undefined;
93
+ private initialize;
94
+ private validateStorage;
95
+ private recoverInterruptedTurns;
96
+ private finishTurn;
97
+ private mapThread;
98
+ private mapMessage;
99
+ private latestRunState;
100
+ private lastMessagePreview;
101
+ private requireThread;
102
+ private requireThreadDetail;
103
+ private requireTurn;
104
+ private requireMessage;
105
+ private requireStoredAttachment;
106
+ private recordThreadRevision;
107
+ private setSetting;
108
+ private transaction;
109
+ private now;
110
+ }
111
+ export declare function toWebAttachment(attachment: StoredAttachment): WebAttachment;
112
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}