@cotal-ai/web 0.90.1 → 0.92.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.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @cotal-ai/web
2
2
 
3
- The browser dashboard, as an extension package that adds the `cotal web` command. It ships inside
4
- `cotal-ai` and is seeded automatically on first run.
3
+ The browser dashboard, as an extension package that adds the `web` service preset
4
+ (`cotal service start web`). It ships inside `cotal-ai` and is seeded automatically on first run.
5
5
 
6
6
  **Tier:** `implementations/`. Peer-depends [`@cotal-ai/core`](../../packages/core) and
7
7
  [`@cotal-ai/workspace`](../../packages/workspace); self-registers on import.
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export {};
1
+ import "./service-adapter.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,25 +1,7 @@
1
1
  import { registry } from "@cotal-ai/core";
2
- import { targetFlags } from "@cotal-ai/workspace";
3
- import { web, webProcess } from "./web.js";
4
- /**
5
- * `@cotal-ai/web` — the browser observability dashboard as an operator-installed CLI extension:
6
- * `cotal ext add @cotal-ai/web` makes `cotal web` appear in help/completion/dispatch. Self-registers
7
- * into the shared core Registry on import (the extension contract); shared @cotal-ai/* packages
8
- * are peerDependencies, linked to the running binary's copies by `ext add`.
9
- */
10
- const webCommand = {
11
- kind: "command",
12
- name: "web",
13
- group: "Observe",
14
- summary: "browser observability dashboard - presence, channels, live feed",
15
- flags: [
16
- ...targetFlags,
17
- { name: "host", type: "string", value: "<host>", description: "HTTP bind and browser host (default 127.0.0.1; remote exposure is explicit)" },
18
- { name: "port", type: "string", value: "<n>", description: "HTTP port (default 7799)" },
19
- { name: "detach", type: "boolean", description: "run in the background (stop with `cotal down web`)" },
20
- { name: "no-open", type: "boolean", description: "don't open the browser" },
21
- ],
22
- run: web,
23
- };
24
- registry.register(webCommand, webProcess);
2
+ import { webProcess } from "./web.js";
3
+ import "./service-adapter.js";
4
+ // Keep the old process observation/removal descriptor for existing instances. New launches use
5
+ // the service preset; importing this package no longer registers a competing web command.
6
+ registry.register(webProcess);
25
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,GAAY;IAC1B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,iEAAiE;IAC1E,KAAK,EAAE;QACL,GAAG,WAAW;QACd,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,6EAA6E,EAAE;QAC7I,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,0BAA0B,EAAE;QACvF,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oDAAoD,EAAE;QACtG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,EAAE;KAC5E;IACD,GAAG,EAAE,GAAG;CACT,CAAC;AACF,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,sBAAsB,CAAC;AAE9B,+FAA+F;AAC/F,0FAA0F;AAC1F,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type Command } from "@cotal-ai/core";
2
+ import { type LocalProcess, type ServicePreset } from "@cotal-ai/workspace";
3
+ export declare const webServicePreset: ServicePreset;
4
+ export declare const webService: LocalProcess;
5
+ export declare const nativeWebServiceCommand: Command;
6
+ //# sourceMappingURL=service-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-adapter.d.ts","sourceRoot":"","sources":["../src/service-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuC,KAAK,OAAO,EAAmB,MAAM,gBAAgB,CAAC;AACpG,OAAO,EAIL,KAAK,YAAY,EAAE,KAAK,aAAa,EACtC,MAAM,qBAAqB,CAAC;AAe7B,eAAO,MAAM,gBAAgB,EAAE,aAG9B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,YAyBxB,CAAC;AAUF,eAAO,MAAM,uBAAuB,EAAE,OAqCrC,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { rmSync } from "node:fs";
2
+ import { dirname, isAbsolute } from "node:path";
3
+ import { registry, writeSecretFileCreateOnly } from "@cotal-ai/core";
4
+ import { CommandFailure, WEB_PIDFILE, WEB_SERVICE_ADAPTER, claimServicePid, colorEnabled, identityRecord, observeServiceStartup, oneLine, publishServiceStartup, readLocalRecordSource, readPinnedStaticCredential, resolveNativeServiceTarget, serviceOperationId, serviceStartupPath, serviceWebSessionPath, validateServiceStartupPath, } from "@cotal-ai/workspace";
5
+ import { normalizeWebHost, web, WEB_HOST, WEB_PORT } from "./web.js";
6
+ function exposure(host, port) {
7
+ if (host !== undefined && typeof host !== "string" || port !== undefined && (typeof port !== "number" || !Number.isSafeInteger(port) || port < 1 || port > 65535))
8
+ throw new CommandFailure("refused", "SCHEMA_INVALID", "the dashboard exposure requires a public host and integer port from 1 to 65535");
9
+ try {
10
+ return { host: normalizeWebHost(host), port: port === undefined ? WEB_PORT : Number(port) };
11
+ }
12
+ catch {
13
+ throw new CommandFailure("refused", "USAGE_INVALID", "the dashboard needs one reachable bind/browser host, not a wildcard or credential-bearing address");
14
+ }
15
+ }
16
+ function target(root, space, server) {
17
+ const selected = resolveNativeServiceTarget(root, space, server);
18
+ if (selected.mode !== "auth")
19
+ throw new CommandFailure("refused", "UNSUPPORTED", "this dashboard service requires a registered static-auth target and an explicit protected credential file; no user login, operator identity or open connection was substituted");
20
+ return selected;
21
+ }
22
+ export const webServicePreset = {
23
+ kind: "service-preset", name: "web", adapter: "web-service", timeoutMs: 40000,
24
+ summary: "explicit read-only dashboard with a protected credential file and private browser bootstrap",
25
+ };
26
+ export const webService = {
27
+ kind: "local-process", name: WEB_SERVICE_ADAPTER, label: "web dashboard service", order: 40,
28
+ controllerOnly: true, pidFile: WEB_PIDFILE,
29
+ service: {
30
+ abiVersion: 1, requiresCli: true, readiness: "process",
31
+ capabilities: { multiInstance: false, foreground: true, logs: true },
32
+ paths: { root: "directory", creds: "private-file" },
33
+ optionsSchema: { type: "object", additionalProperties: false, required: ["root", "creds", "read-only"], properties: {
34
+ root: { type: "string", minLength: 1, maxLength: 4096, description: "existing registered static-auth root; no signer is minted or handed to HTTP handlers" },
35
+ creds: { type: "string", minLength: 1, maxLength: 4096, description: "explicit protected credential file for the dashboard; no cached operator or seat identity fallback" },
36
+ "read-only": { type: "boolean", const: true, description: "required explicit read-only intent; no channel-purger or alternate transport is acquired" },
37
+ host: { type: "string", minLength: 1, maxLength: 253, description: `HTTP bind/browser host (default ${WEB_HOST}); remote exposure is explicit` },
38
+ port: { type: "integer", minimum: 1, maximum: 65535, description: `HTTP port (default ${WEB_PORT}); no implicit port substitution` },
39
+ server: { type: "string", minLength: 1, maxLength: 4096, description: "optional repeat of the registered broker; its TLS requirement is retained" },
40
+ } },
41
+ },
42
+ buildServiceLaunch(context) {
43
+ if (!context.cliInvocation?.length)
44
+ throw new CommandFailure("refused", "UNSUPPORTED", "the dashboard service needs the verified cotal entry; no PATH executable was substituted");
45
+ const root = String(context.options.root), creds = String(context.options.creds);
46
+ if (context.options["read-only"] !== true || context.credentialRef && context.credentialRef.path !== creds)
47
+ throw new CommandFailure("refused", "CONFLICT", "the dashboard requires explicit read-only intent and one unambiguous protected credential reference");
48
+ const selected = target(root, context.space, context.options.server), bind = exposure(context.options.host, context.options.port);
49
+ const [executable, ...self] = context.cliInvocation;
50
+ return { executable: executable, cwd: selected.root, args: [...self, ...(colorEnabled() ? [] : ["--no-color"]), "__service-web", "--root", selected.root, "--space", selected.space, "--server", selected.server, "--creds", creds, "--read-only", "--host", bind.host, "--port", String(bind.port), "--service-instance", context.instanceId, "--launch-request", context.launchRequestId, "--ready-file", serviceStartupPath(context)] };
51
+ },
52
+ async checkServiceReadiness(context) { return observeServiceStartup(context, "web-listening"); },
53
+ };
54
+ function validateChild(args) {
55
+ if (args.positionals.length || ["root", "space", "server", "creds", "host", "port", "service-instance", "launch-request", "ready-file"].some((name) => typeof args.values[name] !== "string" || !args.values[name]) || args.values["read-only"] !== true)
56
+ throw new CommandFailure("refused", "USAGE_INVALID", "the dashboard child requires a complete explicit read-only controller launch");
57
+ for (const name of ["root", "creds", "ready-file"])
58
+ if (!isAbsolute(String(args.values[name])) || /[\u0000-\u001f\u007f]/u.test(String(args.values[name])))
59
+ throw new CommandFailure("refused", "USAGE_INVALID", "native dashboard references must be absolute protected paths without terminal controls");
60
+ if (!/^[0-9]+$/.test(String(args.values.port)))
61
+ throw new CommandFailure("refused", "USAGE_INVALID", "the dashboard child needs its exact decimal port");
62
+ exposure(args.values.host, Number(args.values.port));
63
+ serviceOperationId(args.values["service-instance"]);
64
+ serviceOperationId(args.values["launch-request"]);
65
+ }
66
+ export const nativeWebServiceCommand = {
67
+ kind: "command", name: "__service-web", hidden: true, prepareMeshTarget: false,
68
+ summary: "native read-only dashboard child with private session and startup records",
69
+ flags: [
70
+ ...["root", "space", "server", "creds", "host", "port", "service-instance", "launch-request", "ready-file"].map((name) => ({ name, type: "string" })),
71
+ { name: "read-only", type: "boolean" },
72
+ ], validate: validateChild,
73
+ async run(args) {
74
+ validateChild(args);
75
+ const selected = target(String(args.values.root), String(args.values.space), String(args.values.server));
76
+ const credsPath = String(args.values.creds), readyPath = String(args.values["ready-file"]);
77
+ const instanceId = serviceOperationId(args.values["service-instance"]), launchRequestId = serviceOperationId(args.values["launch-request"]);
78
+ validateServiceStartupPath(readyPath, instanceId, launchRequestId);
79
+ const { creds } = await readPinnedStaticCredential(selected, credsPath);
80
+ const releasePid = claimServicePid({ root: selected.root, space: selected.space }, WEB_PIDFILE);
81
+ const sessionPath = serviceWebSessionPath({ space: selected.space, instanceId, launchRequestId, stateDirectory: dirname(readyPath) });
82
+ let sessionBytes;
83
+ try {
84
+ await web({ positionals: [], raw: [], values: { space: selected.space, server: selected.server, host: args.values.host, port: args.values.port, "no-open": true } }, {
85
+ connection: { root: selected.root, space: selected.space, server: selected.server, tls: selected.tlsRequired, mode: selected.mode, creds },
86
+ onSession(session) {
87
+ sessionBytes = JSON.stringify({ schemaVersion: 1, space: selected.space, instanceId, launchRequestId, process: identityRecord(process.pid), ...session }) + "\n";
88
+ writeSecretFileCreateOnly(sessionPath, sessionBytes);
89
+ process.stdout.write(`Read-only dashboard. Private browser bootstrap file: ${oneLine(sessionPath)}\n`);
90
+ },
91
+ onReady() { publishServiceStartup(readyPath, { phase: "web-listening", space: selected.space, instanceId, launchRequestId }); },
92
+ onClosed() {
93
+ if (sessionBytes !== undefined) {
94
+ const current = readLocalRecordSource(sessionPath, 16384, true);
95
+ if (current && current.toString("utf8") !== sessionBytes)
96
+ throw new CommandFailure("unknown", "OPERATION_UNKNOWN", "the private dashboard session record changed; no successor file or PID custody was removed");
97
+ if (current)
98
+ rmSync(sessionPath);
99
+ }
100
+ releasePid();
101
+ },
102
+ });
103
+ }
104
+ catch {
105
+ throw new CommandFailure("unknown", "OPERATION_UNKNOWN", "the original native dashboard startup or close was not confirmed; process/session custody was retained and no credential, callback or launch was retried");
106
+ }
107
+ },
108
+ };
109
+ registry.register(webServicePreset, webService, nativeWebServiceCommand);
110
+ //# sourceMappingURL=service-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-adapter.js","sourceRoot":"","sources":["../src/service-adapter.ts"],"names":[],"mappings":"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"}
package/dist/web/app.js CHANGED
@@ -14,6 +14,7 @@ const GLYPH = { working: "●", waiting: "◐", idle: "○", offline: "⊘" };
14
14
  const MODES = ["chat", "unicast", "anycast"];
15
15
  const isDemo = new URLSearchParams(location.search).has("demo");
16
16
 
17
+ let channelDeleteSupported = false;
17
18
  let roster = [];
18
19
  let channels = new Map(); // name -> { messages, description?, replay, replayWindow?, deliveryClass }
19
20
  let unread = new Map(); // name -> messages seen since last viewed
@@ -622,7 +623,7 @@ function renderChannel() {
622
623
  <span class="chip mode on">👥 ${plural(memberCount, "member")}</span>
623
624
  ${policy.join("")}
624
625
  ${isDemo ? `<span class="chip static" title="demo only">✦ summarize</span><span class="chip static" title="demo only">🔕 mute</span>` : ""}
625
- ${isDemo ? "" : `<span class="chip danger" id="ch-del" title="Delete this channel and all its messages">🗑 delete</span>`}
626
+ ${isDemo || !channelDeleteSupported ? "" : `<span class="chip danger" id="ch-del" title="Delete this channel and all its messages">🗑 delete</span>`}
626
627
  </div>
627
628
  </div>
628
629
  <div class="purpose">${purpose}</div>
@@ -641,7 +642,7 @@ function renderChannel() {
641
642
  // stream is irreversible. On success the channel drops from the sidebar and the view falls
642
643
  // back to all-activity; a stray live message would recreate it (deletion clears, not bans).
643
644
  async function deleteChannel(name) {
644
- if (!name || name === "*") return;
645
+ if (!channelDeleteSupported || !name || name === "*") return;
645
646
  if (!confirm(`Delete #${name} and all its messages?\n\nThis purges the channel's history and cannot be undone.`)) return;
646
647
  try {
647
648
  const r = await fetch("/api/channel/delete", {
@@ -1014,7 +1015,7 @@ async function refresh() {
1014
1015
  {
1015
1016
  name: "space",
1016
1017
  read: async () => SNAP.readJson(await fetch("/api/meta"), "space"),
1017
- apply: (meta) => { $("space").textContent = `· ${meta.space}`; document.title = `Cotal · ${meta.space}`; },
1018
+ apply: (meta) => { channelDeleteSupported = meta.channelDeleteSupported === true; $("space").textContent = `· ${meta.space}${channelDeleteSupported ? "" : " · read-only"}`; document.title = `Cotal · ${meta.space}`; },
1018
1019
  },
1019
1020
  {
1020
1021
  name: "peers",
package/dist/web.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { type ChildProcess } from "node:child_process";
2
2
  import { type IncomingMessage } from "node:http";
3
3
  import { type CotalMessage, type ParsedArgs } from "@cotal-ai/core";
4
- import { type LocalProcess, type WebSession } from "@cotal-ai/workspace";
4
+ import { type Connection, type LocalProcess, type WebSession } from "@cotal-ai/workspace";
5
5
  /** The dashboard's default port and its branded address. The server binds loopback
6
6
  * (127.0.0.1) but serves any Host, so `cotal.localhost` — which Chrome/Firefox/Edge
7
7
  * resolve to loopback with no DNS setup — just works. (Safari may not resolve
@@ -15,6 +15,9 @@ export declare const WEB_URL = "http://cotal.localhost:7799/";
15
15
  export declare const UNAUTHENTICATED = "unauthenticated";
16
16
  export declare const LAUNCH_TOKEN_ALREADY_USED = "launch-token-already-used";
17
17
  export declare const CROSS_ORIGIN = "cross-origin";
18
+ /** The class of an error for a managed service log: its name and code when each is a short
19
+ * identifier. Never its message, which can carry peer-supplied text or a request target. */
20
+ export declare function errorClassForLog(error: unknown): string;
18
21
  /** The gate. Every request passes through it before any route runs.
19
22
  *
20
23
  * WHY THIS EXISTS AT ALL: the default loopback bind keeps out other HOSTS, but it does not
@@ -250,11 +253,23 @@ export interface ActivityPage {
250
253
  * were asked for, which is the only evidence that separates filtering before the fetch from
251
254
  * filtering after it. The route is a thin caller. */
252
255
  export declare function activityBackfill(ep: ActivitySource, limit: number, deadlineMs?: number, concurrency?: number): Promise<ActivityPage>;
256
+ /** Trusted native service embedding. The supplied connection is explicitly scoped by its
257
+ * credential file; no account signer, cached operator login or purger mint is substituted. */
258
+ export interface WebServiceLifecycle {
259
+ readonly connection: Omit<Connection, "auth">;
260
+ readonly onSession: (session: WebSession) => void | Promise<void>;
261
+ readonly onReady: () => void | Promise<void>;
262
+ readonly onClosed: () => void | Promise<void>;
263
+ }
253
264
  /** A live observability dashboard for a space, served over HTTP + SSE. A read-only
254
265
  * observer endpoint (invisible to peers) feeds the page presence, channel history,
255
266
  * and a live message stream — no manager required. Bound to loopback unless the operator opts in
256
267
  * to a different host explicitly. */
257
- export declare function web(args: ParsedArgs): Promise<void>;
268
+ export declare function web(args: ParsedArgs, lifecycle?: WebServiceLifecycle): Promise<void>;
269
+ /** Write the session file. A stale `web.session` with a broader mode is set to 0o600 through the
270
+ * descriptor on every write, so the launch URL and readiness nonce never stay readable to others,
271
+ * and a symlink at the name is refused rather than followed. */
272
+ export declare function writeWebSession(path: string, session: WebSession): void;
258
273
  /** Open the persistent detached log privately even when it pre-existed with permissive metadata. */
259
274
  export declare function openDetachedLog(logPath: string): number;
260
275
  export declare function detachedArgs(raw: readonly string[], space: string, server: string): string[];
@@ -271,4 +286,7 @@ export declare function appendedLogTail(path: string, offset: number): string;
271
286
  * are refused because they do not name a destination a browser or readiness probe can honestly use. */
272
287
  export declare function normalizeWebHost(input: string | undefined): string;
273
288
  export declare function webUrl(host: string, port: number): string;
289
+ /** Best-effort open of the dashboard in the default browser. The URL is already
290
+ * printed, so a failure here is harmless — never block startup on it. `--no-input` opens nothing. */
291
+ export declare function openBrowser(url: string): void;
274
292
  //# sourceMappingURL=web.d.ts.map
package/dist/web.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAgB,KAAK,eAAe,EAAuB,MAAM,WAAW,CAAC;AAKpF,OAAO,EAcL,KAAK,YAAY,EACjB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAmBL,KAAK,UAAU,EACf,KAAK,YAAY,EAGjB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAI7B;;;+DAG+D;AAC/D,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,cAAc,CAAC;AACpC,eAAO,MAAM,OAAO,iCAAwC,CAAC;AAG7D;;wCAEwC;AACxC,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AACrE,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAa3C;6FAC6F;AAC7F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAIvD;AAiDD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAiB;;;IA+B9D,4FAA4F;eACjF,eAAe,SAAS,eAAe,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;EAqC7G;AAMD,eAAO,MAAM,UAAU,EAAE,YAUxB,CAAC;AAmDF;;+FAE+F;AAC/F,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D;8DAC8D;AAC9D,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA2B/D,CAAC;AAEF;8FAC8F;AAC9F,MAAM,WAAW,cAAc;IAC7B,YAAY,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC,CAAC;IACnF,mBAAmB,CACjB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC5C,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,YAAY,CAAA;KAAE,EAAE,CAAC,CAAC;IACrD,SAAS,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACnF;AAED;;;;;;;;;;;;;;;;;;;;;;oGAsBoG;AACpG,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAE/E;AAED;;;;;;;;;;;;;;;;;eAiBe;AACf,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;2DA0B2D;AAC3D,eAAO,MAAM,uBAAuB,IAAI,CAAC;AA2BzC;;0BAE0B;AAC1B,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAExC;;;6FAG6F;AAC7F,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAgE7C;;;;;;;;;;;;;;;;;;;;;;;kEAuBkE;AAClE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED;;;kEAGkE;AAClE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQvD;AA2BD;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BiB;AACjB,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS7E;AAED;mFACmF;AACnF,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,YAAY,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,YAAY,CAAA;KAAE,CAAC,EAAE,CAAC;IAC3G,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB;oCACgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX;;;uGAGmG;IACnG,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;uGAEmG;IACnG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;qDAUqD;AACrD,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,cAAc,EAClB,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAgC,EAC5C,WAAW,GAAE,MAAgC,GAC5C,OAAO,CAAC,YAAY,CAAC,CA2GvB;AAqCD;+FAC+F;AAC/F,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED;;;sCAGsC;AACtC,wBAAsB,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwd1F;AAuDD;;iEAEiE;AACjE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAEvE;AAED,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYvD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAa5F;AA0BD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC5F,OAAO,CAAC,UAAU,CAAC,CA8CrB;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9F;AAgBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAYpE;AAID;wGACwG;AACxG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAsBlE;AAaD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzD;AAqED;sGACsG;AACtG,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAa7C"}
package/dist/web.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { spawn } from "node:child_process";
2
2
  import { randomBytes, timingSafeEqual } from "node:crypto";
3
3
  import { createServer } from "node:http";
4
- import { closeSync, fchmodSync, fstatSync, openSync, readFileSync, readSync, rmSync, statSync, writeFileSync } from "node:fs";
4
+ import { closeSync, fstatSync, openSync, readFileSync, readSync, rmSync, statSync, writeFileSync } from "node:fs";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import { dirname, join } from "node:path";
7
- import { CotalEndpoint, deliveryOf, isEventChannel, parseSubject, spacePrefix, mintCreds, newIdentity, clearChannel, assertValidChannel, hardenPrivate, } from "@cotal-ai/core";
8
- import { c, connectOrExit, localProcessPath, parsePid, probeLiveness, probeWebReadiness, progressSignal, readWebSession, removePidPair, userViewAuth, userViewAuthOrExit, WEB_PIDFILE, WEB_READINESS_HEADER, WEB_READINESS_PATH, WEB_SESSION_FILE, writeIdentityPin, } from "@cotal-ai/workspace";
7
+ import { CotalEndpoint, deliveryOf, isEventChannel, parseSubject, spacePrefix, mintCreds, newIdentity, clearChannel, assertValidChannel, hardenPrivate, openPrivateAppend, writePrivateRecord, } from "@cotal-ai/core";
8
+ import { c, connectOrExit, inputDisabledByFlag, localProcessPath, parsePid, probeLiveness, probeWebReadiness, progressSignal, readWebSession, removePidPair, userViewAuth, userViewAuthOrExit, WEB_PIDFILE, WEB_READINESS_HEADER, WEB_READINESS_PATH, WEB_SESSION_FILE, writeIdentityPin, } from "@cotal-ai/workspace";
9
9
  const here = dirname(fileURLToPath(import.meta.url));
10
10
  /** The dashboard's default port and its branded address. The server binds loopback
11
11
  * (127.0.0.1) but serves any Host, so `cotal.localhost` — which Chrome/Firefox/Edge
@@ -34,6 +34,13 @@ const SESSION_COOKIE = "cotal_web_session";
34
34
  function pathOf(req) {
35
35
  return (req.url ?? "/").split("?")[0];
36
36
  }
37
+ /** The class of an error for a managed service log: its name and code when each is a short
38
+ * identifier. Never its message, which can carry peer-supplied text or a request target. */
39
+ export function errorClassForLog(error) {
40
+ const token = (value) => (typeof value === "string" || Number.isSafeInteger(value)) && /^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$/.test(String(value)) ? String(value) : undefined;
41
+ const parts = error instanceof Error ? [token(error.name), token(error.code)] : [];
42
+ return parts.filter(Boolean).join(" ") || "unclassified";
43
+ }
37
44
  /** Keep request diagnostics useful without copying a contiguous live launch credential into the
38
45
  * operator log, wherever it appears in the target. Match each ASCII token byte in raw or percent-
39
46
  * encoded form so paths, unrelated query fields, mixed encodings, and hex case are covered. */
@@ -181,9 +188,6 @@ export const webProcess = {
181
188
  // The exit handler removes it, but an exit handler does not run on SIGKILL — so without this the
182
189
  // credential outlives the process it authenticates.
183
190
  artifacts: [WEB_SESSION_FILE],
184
- // The dashboard starts target-resolved from any directory and claims its pidfile under the
185
- // TARGET mesh's root (`conn.root` below); `cotal down web` must resolve the same mesh.
186
- rootedAt: "target",
187
191
  };
188
192
  /** Atomically claim this mesh's web pidfile so concurrent custom-port launches cannot overwrite it,
189
193
  * then pin this process's identity beside it. The pin follows the exclusive create because
@@ -214,8 +218,8 @@ function claimPid(path) {
214
218
  throw new Error(removal
215
219
  ? `web extension removal is in progress (pid ${pid})`
216
220
  : `web dashboard is already running for this mesh (pid ${pid})`);
217
- // Stale is advice to clean the record, so it is given only for a pid proven gone or an empty husk
218
- // (which `cotal down web` clears). Anything else may still front a live process.
221
+ // Stale is advice to clean the record, so it is given only for a pid proven gone or an empty
222
+ // husk, which has no process behind it. Anything else may still front a live process.
219
223
  if (liveness === "dead" || raw === "")
220
224
  throw new Error(removal
221
225
  ? `web dashboard has a stale extension-removal reservation at ${path} - remove it and retry`
@@ -683,7 +687,7 @@ async function connectWithoutSeed(raw, values, host, port) {
683
687
  * observer endpoint (invisible to peers) feeds the page presence, channel history,
684
688
  * and a live message stream — no manager required. Bound to loopback unless the operator opts in
685
689
  * to a different host explicitly. */
686
- export async function web(args) {
690
+ export async function web(args, lifecycle) {
687
691
  const values = args.values;
688
692
  // Validate the exposure coordinates before connecting to the broker or claiming local artifacts.
689
693
  // An invalid exposure request must have no dashboard side effects.
@@ -697,12 +701,13 @@ export async function web(args) {
697
701
  // "channel-purger" view per action, so each destructive click is a fresh ledger check, and
698
702
  // `cotal actor revoke` kills the dashboard live (eviction) while a scope edit bites at the next
699
703
  // refresh.
700
- const started = await connectWithoutSeed(args.raw, values, host, port);
704
+ const started = lifecycle ? { conn: lifecycle.connection, user: undefined, pidPath: undefined, purgeCreds: undefined }
705
+ : await connectWithoutSeed(args.raw, values, host, port);
701
706
  if (!started)
702
707
  return;
703
708
  const { conn, user, pidPath, purgeCreds } = started;
704
709
  const { server, space } = conn;
705
- const sessionPath = conn.root ? localProcessPath(WEB_SESSION_FILE, { root: conn.root, space }) : undefined;
710
+ const sessionPath = !lifecycle && conn.root ? localProcessPath(WEB_SESSION_FILE, { root: conn.root, space }) : undefined;
706
711
  // Observer: never registers presence, never consumes an inbox — invisible to peers.
707
712
  const ep = new CotalEndpoint({
708
713
  space,
@@ -721,9 +726,9 @@ export async function web(args) {
721
726
  registerPresence: false,
722
727
  watchPresence: true,
723
728
  });
724
- const reportEndpoint = (e) => console.error(c.red("! " + e.message));
729
+ const reportEndpoint = (e) => console.error(c.red(lifecycle ? `! native dashboard endpoint reported an error (${errorClassForLog(e)}); diagnostic body omitted` : "! " + e.message));
725
730
  ep.on("error", reportEndpoint);
726
- ep.on("warning", (e) => console.error(c.yellow("! " + e.message)));
731
+ ep.on("warning", (e) => console.error(c.yellow(lifecycle ? `! native dashboard endpoint reported a warning (${errorClassForLog(e)}); diagnostic body omitted` : "! " + e.message)));
727
732
  await ep.start();
728
733
  // The dashboard does not yet have a manager/session-store observer. Carry the absence as data so
729
734
  // both browser renderers can say so honestly without deriving progress from the heartbeat.
@@ -847,7 +852,7 @@ export async function web(args) {
847
852
  return;
848
853
  }
849
854
  if (path === WEB_READINESS_PATH)
850
- return json(res, { space, pid: process.pid });
855
+ return json(res, { space, pid: process.pid, channelDeleteSupported: lifecycle === undefined });
851
856
  if (path === "/api/roster")
852
857
  return json(res, rosterSnapshot());
853
858
  if (path === "/api/membership") {
@@ -963,6 +968,8 @@ export async function web(args) {
963
968
  // per-delete channel-purger view (user mode), never the account seed. A wildcard / missing
964
969
  // channel is a 400.
965
970
  if (path === "/api/channel/delete" && req.method === "POST") {
971
+ if (lifecycle)
972
+ return json(res, { error: "this service was explicitly configured read-only; no channel-purger authority or alternate transport was acquired", code: "PERMISSION_DENIED" }, 403);
966
973
  const body = await readBody(req).catch((e) => {
967
974
  // A body this server DECLINED TO READ is not a body with no channel in it. Flattening the
968
975
  // refusal into `{}` here would answer "channel required", which tells the caller to add a
@@ -1023,7 +1030,7 @@ export async function web(args) {
1023
1030
  // this split, a malformed query read in the log exactly like the dashboard breaking.
1024
1031
  const status = e instanceof PayloadTooLarge ? 413 : e instanceof BadRequest ? 400 : 500;
1025
1032
  const caller = status < 500;
1026
- console.error(c[caller ? "yellow" : "red"](`${caller ? "~" : "!"} ${req.method ?? "GET"} ${requestTargetForLog(req, gate.launchToken)} ${caller ? "refused" : "failed"}: ${why}`));
1033
+ console.error(c[caller ? "yellow" : "red"](lifecycle ? `native dashboard request ${caller ? "refused" : "failed"}; diagnostic body omitted` : `${caller ? "~" : "!"} ${req.method ?? "GET"} ${requestTargetForLog(req, gate.launchToken)} ${caller ? "refused" : "failed"}: ${why}`));
1027
1034
  if (res.headersSent)
1028
1035
  return void res.end();
1029
1036
  // END THE CONNECTION A REFUSED BODY WAS RIDING ON, or the cap bounds only what the caller
@@ -1073,10 +1080,19 @@ export async function web(args) {
1073
1080
  }, 20_000);
1074
1081
  httpServer.on("error", (e) => {
1075
1082
  if (e.code === "EADDRINUSE")
1076
- console.error(c.red(`Port ${port} is in use. Pass --port <n>.`));
1083
+ console.error(c.red(lifecycle ? "native dashboard port is in use; no alternate port was selected" : `Port ${port} is in use. Pass --port <n>.`));
1077
1084
  else
1078
- console.error(c.red("! " + e.message));
1079
- process.exit(1);
1085
+ console.error(c.red(lifecycle ? "! native dashboard HTTP listener failed; diagnostic body omitted" : "! " + e.message));
1086
+ // A native listener that never bound served nothing and wrote no session, so it hands its service
1087
+ // PID custody back before exiting. Exiting here directly kept the slot, and every later start of
1088
+ // the service in this space refused LIFECYCLE_BLOCKED until `cotal down` cleared it.
1089
+ if (!lifecycle || httpServer.listening)
1090
+ process.exit(1);
1091
+ clearInterval(ping);
1092
+ void (async () => { await membershipWatch?.stop(); await ep.stop(); await lifecycle.onClosed(); })().then(() => process.exit(1), () => {
1093
+ console.error("! native dashboard shutdown did not confirm completion; original custody was retained");
1094
+ process.exit(1);
1095
+ });
1080
1096
  });
1081
1097
  await new Promise((ready) => httpServer.listen(port, host, ready));
1082
1098
  // The advertised coordinate is the coordinate the operator explicitly chose. The branded URL is
@@ -1086,6 +1102,8 @@ export async function web(args) {
1086
1102
  // that cannot be launched (headless box, wrong default) must still have a way in — and because a
1087
1103
  // token the operator cannot see is a token they cannot revoke by restarting.
1088
1104
  const launchUrl = `${url}?k=${gate.launchToken}`;
1105
+ const boundAddress = httpServer.address();
1106
+ const browserSession = { launchUrl, readiness: gate.readinessNonce, host: boundAddress.address, port: boundAddress.port };
1089
1107
  // Written AFTER listen() succeeded, so its existence means the port is ours. A detached parent
1090
1108
  // reads it for the readiness nonce and the link; an operator who lost the printed line reads it
1091
1109
  // for the link; `cotal status` reads it for the address to probe and the nonce to present. 0600 —
@@ -1093,33 +1111,24 @@ export async function web(args) {
1093
1111
  if (sessionPath) {
1094
1112
  // The socket's address, not the requested one: a hostname `--host` binds the address it resolved to.
1095
1113
  const bound = httpServer.address();
1096
- // `mode:` on writeFileSync applies at CREATION ONLY — a stale `web.session` left behind with a
1097
- // broader mode would keep it and quietly hold the launch URL and readiness nonce world-readable.
1098
- // Open, then fchmod the DESCRIPTOR (not the path, which could be re-pointed between the calls),
1099
- // so the mode is enforced on every write rather than only the first.
1100
- const sfd = openSync(sessionPath, "w", 0o600);
1101
- try {
1102
- fchmodSync(sfd, 0o600);
1103
- writeFileSync(sfd, JSON.stringify({ launchUrl, readiness: gate.readinessNonce, host: bound.address, port: bound.port }));
1104
- }
1105
- finally {
1106
- closeSync(sfd);
1107
- }
1114
+ writeWebSession(sessionPath, { launchUrl, readiness: gate.readinessNonce, host: bound.address, port: bound.port });
1108
1115
  process.once("exit", () => rmSync(sessionPath, { force: true }));
1109
1116
  }
1110
- console.log(`${c.bold("Cotal web")} - observing space ${c.bold(space)}`);
1111
- console.log(c.dim(" god-view - DMs + anycast visible"));
1112
- // A detached child's stdout and stderr are the persistent web.log. The parent reads the private
1113
- // session file and prints the link to the operator's terminal, so repeating the live credential in
1114
- // the log adds secret-at-rest exposure and no recovery value. An attached process still prints it.
1115
- if (!process.env[DETACHED_LOG_ENV]) {
1116
- printLaunchLink(launchUrl, host, port, "(Ctrl-C to stop)");
1117
- console.log(c.dim(" the link is single-use; it opens one session in one browser"));
1117
+ if (!lifecycle) {
1118
+ console.log(`${c.bold("Cotal web")} - observing space ${c.bold(space)}`);
1119
+ console.log(c.dim(" god-view - DMs + anycast visible"));
1120
+ // A detached child's stdout and stderr are the persistent web.log. The parent reads the private
1121
+ // session file and prints the link to the operator's terminal, so repeating the live credential in
1122
+ // the log adds secret-at-rest exposure and no recovery value. An attached process still prints it.
1123
+ if (!process.env[DETACHED_LOG_ENV]) {
1124
+ printLaunchLink(launchUrl, host, port, "(Ctrl-C to stop)");
1125
+ console.log(c.dim(" the link is single-use; it opens one session in one browser"));
1126
+ }
1127
+ if (!values["no-open"])
1128
+ openBrowser(launchUrl);
1118
1129
  }
1119
- if (!values["no-open"])
1120
- openBrowser(launchUrl);
1121
1130
  let shuttingDown = false;
1122
- const shutdown = async () => {
1131
+ const shutdown = async (code = 0) => {
1123
1132
  if (shuttingDown)
1124
1133
  return;
1125
1134
  shuttingDown = true;
@@ -1127,14 +1136,35 @@ export async function web(args) {
1127
1136
  await membershipWatch?.stop();
1128
1137
  for (const res of clients)
1129
1138
  res.end();
1130
- httpServer.close();
1139
+ if (lifecycle)
1140
+ await new Promise((resolve, reject) => httpServer.close((error) => error ? reject(error) : resolve()));
1141
+ else
1142
+ httpServer.close();
1131
1143
  await ep.stop();
1132
1144
  if (pidPath)
1133
1145
  releasePid(pidPath);
1134
- process.exit(0);
1146
+ await lifecycle?.onClosed();
1147
+ process.exit(code);
1135
1148
  };
1136
- process.on("SIGINT", () => void shutdown());
1137
- process.on("SIGTERM", () => void shutdown());
1149
+ const stop = () => void shutdown().catch(() => {
1150
+ console.error("! native dashboard shutdown did not confirm completion; original custody was retained");
1151
+ process.exit(1);
1152
+ });
1153
+ process.on("SIGINT", lifecycle ? stop : () => void shutdown());
1154
+ process.on("SIGTERM", lifecycle ? stop : () => void shutdown());
1155
+ if (lifecycle) {
1156
+ try {
1157
+ await lifecycle.onSession(browserSession);
1158
+ await lifecycle.onReady();
1159
+ }
1160
+ catch {
1161
+ try {
1162
+ await shutdown(1);
1163
+ }
1164
+ catch { /* Unknown close retains original process/session custody. */ }
1165
+ throw new Error("native dashboard private startup was not confirmed; no replacement was launched");
1166
+ }
1167
+ }
1138
1168
  await new Promise(() => { });
1139
1169
  }
1140
1170
  /** Launch the dashboard through this exact Cotal entrypoint, then report success only after the
@@ -1186,14 +1216,19 @@ async function launchDetachedWeb(raw, root, space, server, host, port, noOpen) {
1186
1216
  if (!noOpen)
1187
1217
  openBrowser(session.launchUrl);
1188
1218
  }
1219
+ /** Write the session file. A stale `web.session` with a broader mode is set to 0o600 through the
1220
+ * descriptor on every write, so the launch URL and readiness nonce never stay readable to others,
1221
+ * and a symlink at the name is refused rather than followed. */
1222
+ export function writeWebSession(path, session) {
1223
+ writePrivateRecord(path, JSON.stringify(session));
1224
+ }
1189
1225
  /** Open the persistent detached log privately even when it pre-existed with permissive metadata. */
1190
1226
  export function openDetachedLog(logPath) {
1191
- const logFd = openSync(logPath, "a", 0o600);
1192
- // Creation mode does not narrow a stale file. Harden the already-open descriptor before either
1193
- // child stream can write to it; then apply the core secret-file ACL convention for win32, where
1194
- // POSIX mode bits do not express privacy. Fail closed before spawning if either operation fails.
1227
+ // The private open sets a stale file to 0o600 through the descriptor before either child stream
1228
+ // can write to it, and refuses a symlink. Then apply the core secret-file ACL convention for
1229
+ // win32, where POSIX mode bits do not express privacy. Fail closed before spawning if either fails.
1230
+ const logFd = openPrivateAppend(logPath);
1195
1231
  try {
1196
- fchmodSync(logFd, 0o600);
1197
1232
  if (process.platform === "win32")
1198
1233
  hardenPrivate(logPath, "file");
1199
1234
  return logFd;
@@ -1453,8 +1488,10 @@ function noBody(path, declared) {
1453
1488
  return new PayloadTooLarge(`request body announces ${announced}, over the 0 byte limit because ${path} takes no request body`);
1454
1489
  }
1455
1490
  /** Best-effort open of the dashboard in the default browser. The URL is already
1456
- * printed, so a failure here is harmless — never block startup on it. */
1457
- function openBrowser(url) {
1491
+ * printed, so a failure here is harmless — never block startup on it. `--no-input` opens nothing. */
1492
+ export function openBrowser(url) {
1493
+ if (inputDisabledByFlag())
1494
+ return;
1458
1495
  const [cmd, args] = process.platform === "darwin"
1459
1496
  ? ["open", [url]]
1460
1497
  : process.platform === "win32"
package/dist/web.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cotal-ai/web",
3
- "description": "Cotal browser observability dashboard: adds the `web` command to the cotal CLI.",
4
- "version": "0.90.1",
3
+ "description": "Cotal browser observability dashboard as an owned service preset.",
4
+ "version": "0.92.0",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -22,9 +22,9 @@
22
22
  "@cotal-ai/workspace": "*"
23
23
  },
24
24
  "devDependencies": {
25
- "@cotal-ai/core": "0.90.1",
25
+ "@cotal-ai/core": "0.92.0",
26
26
  "@cotal-ai/smoke-kit": "0.0.0",
27
- "@cotal-ai/workspace": "0.90.1",
27
+ "@cotal-ai/workspace": "0.92.0",
28
28
  "dompurify": "^3.4.12",
29
29
  "marked": "^18.0.6"
30
30
  },