@open-mercato/cezar 0.9.0-pr613.707 → 0.9.0-pr613.720
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/runs/store.d.ts +6 -0
- package/dist/runs/store.js +14 -4
- package/dist/runs/store.js.map +1 -1
- package/dist/server/server.d.ts +41 -0
- package/dist/server/server.js +179 -7
- package/dist/server/server.js.map +1 -1
- package/dist/server/ws.d.ts +85 -0
- package/dist/server/ws.js +218 -0
- package/dist/server/ws.js.map +1 -0
- package/dist/workflows/run.d.ts +14 -2
- package/dist/workflows/run.js +23 -7
- package/dist/workflows/run.js.map +1 -1
- package/package.json +3 -1
- package/web/dist/assets/{centered-state-DwnVWj2e.js → centered-state-Dk2G08OJ.js} +11 -11
- package/web/dist/assets/{commit-list-DBbx79pC.js → commit-list-BKRBe1ff.js} +1 -1
- package/web/dist/assets/compare-variants-Bq2xz2fs.js +1 -0
- package/web/dist/assets/{diff-view-B1jVDRqq.js → diff-view-CkMgiFu7.js} +3 -3
- package/web/dist/assets/{dist-1Q1znrM-.js → dist-DC3TJo3T.js} +1 -1
- package/web/dist/assets/{git-toolbar-phpbme3d.js → git-toolbar-UlSZn5es.js} +1 -1
- package/web/dist/assets/github-DBh90_iJ.js +1 -0
- package/web/dist/assets/index-CnKovf8X.js +30 -0
- package/web/dist/assets/{project-router-CrjY47cE.js → project-router-CXmL3t6s.js} +1 -1
- package/web/dist/assets/repo-git-DxiRi6Yb.js +1 -0
- package/web/dist/assets/{run-diff-D-xhOPzF.js → run-diff--h26dNkM.js} +2 -2
- package/web/dist/assets/run-header-Dd1rcmYQ.js +1 -0
- package/web/dist/assets/skills-CDFOI2T0.js +1 -0
- package/web/dist/assets/{tab-link-CjrfFqyu.js → tab-link-Q8NhDqnE.js} +1 -1
- package/web/dist/assets/{task-changes-_J3CuQV6.js → task-changes-Br9m92qA.js} +1 -1
- package/web/dist/assets/{task-commits--usrWUiu.js → task-commits-X6in-wzM.js} +1 -1
- package/web/dist/assets/{task-files-DQNKWq6f.js → task-files-CcY-n69O.js} +2 -2
- package/web/dist/assets/task-thread-CVzUk0IU.js +9 -0
- package/web/dist/assets/{use-desktop-DoDFp4Zj.js → use-desktop-CGRVLDX2.js} +2 -2
- package/web/dist/assets/workflows-CfOJtoSO.js +11 -0
- package/web/dist/index.html +4 -4
- package/web/dist/assets/compare-variants-D3WW0_bW.js +0 -1
- package/web/dist/assets/github-CV6J3d6Y.js +0 -1
- package/web/dist/assets/index-C1nhvw8u.js +0 -30
- package/web/dist/assets/repo-git-CHeqei_G.js +0 -1
- package/web/dist/assets/run-header-plqdr2Co.js +0 -1
- package/web/dist/assets/skills-BT202M8s.js +0 -1
- package/web/dist/assets/task-thread-eJELJuki.js +0 -9
- package/web/dist/assets/workflows-DvEPP1eE.js +0 -11
package/dist/runs/store.d.ts
CHANGED
|
@@ -169,6 +169,10 @@ declare const runRecordSchema: z.ZodObject<{
|
|
|
169
169
|
* cross-checked output. Display tier — never gates actions. */
|
|
170
170
|
prNumber: z.ZodOptional<z.ZodNumber>;
|
|
171
171
|
issueNumber: z.ZodOptional<z.ZodNumber>;
|
|
172
|
+
/** Provenance for an `issueNumber` seeded by referenced-issue discovery.
|
|
173
|
+
* Persisted so ambiguity can revoke only the janitor's own value, including
|
|
174
|
+
* after a restart. Any prompt, namer, or marker write clears this flag. */
|
|
175
|
+
referencedIssueNumberSeeded: z.ZodOptional<z.ZodBoolean>;
|
|
172
176
|
/** Who owns the display title: `user` (PATCH rename — never auto-overwritten),
|
|
173
177
|
* `marker` (agent-declared via `CEZ:TITLE`, spec 2026-07-18-task-ref-markers —
|
|
174
178
|
* beats the namer, silences live refresh) or `auto` (namer-owned — a later
|
|
@@ -307,6 +311,7 @@ declare const runRecordSchema: z.ZodObject<{
|
|
|
307
311
|
referencedPullRequestUrl?: string | undefined;
|
|
308
312
|
prNumber?: number | undefined;
|
|
309
313
|
issueNumber?: number | undefined;
|
|
314
|
+
referencedIssueNumberSeeded?: boolean | undefined;
|
|
310
315
|
titleOrigin?: "auto" | "marker" | "user" | undefined;
|
|
311
316
|
markerRefs?: {
|
|
312
317
|
pr?: number | undefined;
|
|
@@ -377,6 +382,7 @@ declare const runRecordSchema: z.ZodObject<{
|
|
|
377
382
|
referencedPullRequestUrl?: string | undefined;
|
|
378
383
|
prNumber?: number | undefined;
|
|
379
384
|
issueNumber?: number | undefined;
|
|
385
|
+
referencedIssueNumberSeeded?: boolean | undefined;
|
|
380
386
|
titleOrigin?: "auto" | "marker" | "user" | undefined;
|
|
381
387
|
markerRefs?: {
|
|
382
388
|
pr?: number | undefined;
|
package/dist/runs/store.js
CHANGED
|
@@ -101,6 +101,10 @@ const runRecordSchema = z.object({
|
|
|
101
101
|
* cross-checked output. Display tier — never gates actions. */
|
|
102
102
|
prNumber: z.number().optional(),
|
|
103
103
|
issueNumber: z.number().optional(),
|
|
104
|
+
/** Provenance for an `issueNumber` seeded by referenced-issue discovery.
|
|
105
|
+
* Persisted so ambiguity can revoke only the janitor's own value, including
|
|
106
|
+
* after a restart. Any prompt, namer, or marker write clears this flag. */
|
|
107
|
+
referencedIssueNumberSeeded: z.boolean().optional(),
|
|
104
108
|
/** Who owns the display title: `user` (PATCH rename — never auto-overwritten),
|
|
105
109
|
* `marker` (agent-declared via `CEZ:TITLE`, spec 2026-07-18-task-ref-markers —
|
|
106
110
|
* beats the namer, silences live refresh) or `auto` (namer-owned — a later
|
|
@@ -369,6 +373,9 @@ export class RunStore extends EventEmitter {
|
|
|
369
373
|
const run = this.runs.get(id);
|
|
370
374
|
if (!run)
|
|
371
375
|
return undefined;
|
|
376
|
+
if (Object.prototype.hasOwnProperty.call(patch, 'issueNumber')) {
|
|
377
|
+
delete run.referencedIssueNumberSeeded;
|
|
378
|
+
}
|
|
372
379
|
Object.assign(run, this.redactPatch(patch));
|
|
373
380
|
this.touch(run);
|
|
374
381
|
return run;
|
|
@@ -541,14 +548,15 @@ export class RunStore extends EventEmitter {
|
|
|
541
548
|
const n = Number(run.referencedIssueUrl.split('/').pop());
|
|
542
549
|
if (Number.isInteger(n) && n > 0) {
|
|
543
550
|
run.issueNumber = n;
|
|
551
|
+
run.referencedIssueNumberSeeded = true;
|
|
544
552
|
numberChanged = true;
|
|
545
553
|
}
|
|
546
554
|
}
|
|
547
|
-
else if (!run.referencedIssueUrl && prev && run.
|
|
555
|
+
else if (!run.referencedIssueUrl && prev && run.referencedIssueNumberSeeded) {
|
|
548
556
|
// Ambiguity revoked the resolution — take back the number this janitor
|
|
549
|
-
// seeded from it
|
|
550
|
-
// documented residual). No chip beats a wrong chip.
|
|
557
|
+
// seeded from it. No chip beats a wrong chip.
|
|
551
558
|
delete run.issueNumber;
|
|
559
|
+
delete run.referencedIssueNumberSeeded;
|
|
552
560
|
numberChanged = true;
|
|
553
561
|
}
|
|
554
562
|
}
|
|
@@ -573,8 +581,10 @@ export class RunStore extends EventEmitter {
|
|
|
573
581
|
};
|
|
574
582
|
if (refs.pr !== undefined)
|
|
575
583
|
run.prNumber = refs.pr;
|
|
576
|
-
if (refs.issue !== undefined)
|
|
584
|
+
if (refs.issue !== undefined) {
|
|
577
585
|
run.issueNumber = refs.issue;
|
|
586
|
+
delete run.referencedIssueNumberSeeded;
|
|
587
|
+
}
|
|
578
588
|
if (run.markerRefs.pr !== undefined) {
|
|
579
589
|
run.referencedPullRequestUrl = resolveReferencedRef(run.referencedPrCandidates ?? [], run.task, run.markerRefs.pr);
|
|
580
590
|
}
|
package/dist/runs/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/runs/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/runs/store.ts"],"names":[],"mappings":"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"}
|
package/dist/server/server.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IncomingMessage } from 'node:http';
|
|
1
2
|
import { Hono } from 'hono';
|
|
2
3
|
import { type ServerType } from '@hono/node-server';
|
|
3
4
|
import { RunnerModelCatalog } from '../core/runner-model-catalog.js';
|
|
@@ -8,6 +9,7 @@ import { type ProjectListEntry } from '../workspace/projects.js';
|
|
|
8
9
|
import { WorkspaceSemaphore } from '../workspace/semaphore.js';
|
|
9
10
|
import { type CloneRunner } from './checkout.js';
|
|
10
11
|
import { ProjectContexts } from './project-context.js';
|
|
12
|
+
import { type SocketHub, type WsUpgradeVerdict } from './ws.js';
|
|
11
13
|
export interface ServerDeps {
|
|
12
14
|
repoRoot: string;
|
|
13
15
|
store: RunStore;
|
|
@@ -55,6 +57,11 @@ export interface ServerDeps {
|
|
|
55
57
|
/** Process-wide Open Mercato skills update detector. Injected in tests and
|
|
56
58
|
* shared by every workspace route/project; createApp owns the default. */
|
|
57
59
|
skillsUpdate?: SkillsUpdateService;
|
|
60
|
+
/** WebSocket subscription hub (`/api/ws`, src/server/ws.ts). `createApp`
|
|
61
|
+
* only registers topics on it — `startServer` builds one and attaches it
|
|
62
|
+
* to the HTTP server it binds. Optional so legacy callers/tests change
|
|
63
|
+
* nothing: no hub, no topics, and the HTTP surface is byte-identical. */
|
|
64
|
+
socketHub?: SocketHub;
|
|
58
65
|
}
|
|
59
66
|
/** One row of the mirrored project-route table. */
|
|
60
67
|
export interface ProjectRouteInfo {
|
|
@@ -164,6 +171,40 @@ export declare class WorkspaceEventBus {
|
|
|
164
171
|
}
|
|
165
172
|
export declare function createApp(deps: ServerDeps): Hono;
|
|
166
173
|
export declare function startServer(deps: ServerDeps, port: number): ServerType;
|
|
174
|
+
/**
|
|
175
|
+
* The WebSocket twin of the `/api/*` request-origin guard (#426), applied
|
|
176
|
+
* before the `/api/ws` handshake. WebSocket is NOT subject to CORS — any web
|
|
177
|
+
* page may open `ws://127.0.0.1:<port>/api/ws` and, unlike a forced HTTP GET,
|
|
178
|
+
* would get to READ what comes back — so this guard is load-bearing:
|
|
179
|
+
*
|
|
180
|
+
* 1. Host allowlist (local mode): a non-loopback Host is a DNS-rebound
|
|
181
|
+
* request; kill it before the handshake. Same anchored
|
|
182
|
+
* `isLoopbackHostHeader` rules as the HTTP guard.
|
|
183
|
+
* 2. Origin check: browsers always attach `Origin` to a WS handshake. A
|
|
184
|
+
* same-authority Origin is the cockpit itself. A LOOPBACK origin with a
|
|
185
|
+
* loopback Host is also admitted — that is the `npm run dev` Vite proxy
|
|
186
|
+
* (`changeOrigin` rewrites Host, the browser's `localhost:5173` Origin
|
|
187
|
+
* survives). Unlike the HTTP write guard we cannot REQUIRE `Sec-Fetch-Site`
|
|
188
|
+
* here — Safari sends no `Sec-Fetch-*` at all and requiring it would lock
|
|
189
|
+
* the dev proxy out of it — but we do honor it when it is there: Chromium
|
|
190
|
+
* does send it on a WS handshake, and page JS cannot forge it (forbidden
|
|
191
|
+
* header name), so a cross-port attacker page announcing `same-site` is
|
|
192
|
+
* rejected on the browser that ships it while Safari/Firefox still fall
|
|
193
|
+
* back to the loopback rule. Best available, not fail-open.
|
|
194
|
+
* No Origin at all is a non-browser client — same stance as the HTTP guard.
|
|
195
|
+
*
|
|
196
|
+
* The loopback-origin fallback still admits, on a browser that sends no
|
|
197
|
+
* `Sec-Fetch-Site`, a page served from ANOTHER loopback port. That is no longer
|
|
198
|
+
* a caveat the caller must remember: the verdict carries a `trusted` flag, and
|
|
199
|
+
* the hub only lets an UNtrusted connection subscribe to topics a publisher
|
|
200
|
+
* marked `loopbackReadable`. `health` is flagged so (the CORS-open discovery
|
|
201
|
+
* payload, #431); every other topic stays trusted-only by default, so a topic
|
|
202
|
+
* carrying run or repo content is mechanically unreachable from a foreign local
|
|
203
|
+
* page without any per-topic vigilance. A connection is `trusted` when it is
|
|
204
|
+
* provably the cockpit itself: a same-authority Origin, a no-Origin native
|
|
205
|
+
* client, or a dev proxy the browser vouches for via `Sec-Fetch-Site`.
|
|
206
|
+
*/
|
|
207
|
+
export declare function verifyWsUpgrade(req: IncomingMessage, bindHost?: string): WsUpgradeVerdict;
|
|
167
208
|
/** True for session ids safe to splice into the take-over command (see above). */
|
|
168
209
|
export declare function isSafeSessionId(sessionId: string): boolean;
|
|
169
210
|
/**
|
package/dist/server/server.js
CHANGED
|
@@ -38,6 +38,7 @@ import { reviewGateEnabled } from '../runs/review-gate.js';
|
|
|
38
38
|
import { readUiState, uiStatePath } from '../ui-state.js';
|
|
39
39
|
import { expandTilde } from '../paths.js';
|
|
40
40
|
import { isLoopbackHostHeader, normalizeHostname, resolveCapabilities } from './capabilities.js';
|
|
41
|
+
import { createSocketHub } from './ws.js';
|
|
41
42
|
import { browseDirectory, isInsideBrowseRoot, isLexicallyInsideBrowseRoot, resolveBrowseRoot } from './fs-browse.js';
|
|
42
43
|
import { resolveForge } from './forge/index.js';
|
|
43
44
|
import { fetchGithub, fetchGithubComments } from './github.js';
|
|
@@ -495,8 +496,9 @@ export function createApp(deps) {
|
|
|
495
496
|
const resolveBootProject = async (projects) => {
|
|
496
497
|
if (bootProjectCache)
|
|
497
498
|
return bootProjectCache;
|
|
499
|
+
let registry = projects ?? [];
|
|
498
500
|
try {
|
|
499
|
-
|
|
501
|
+
registry = projects ?? (await loadWorkspaceConfig()).projects;
|
|
500
502
|
const real = await realpath(bootRoot).catch(() => bootRoot);
|
|
501
503
|
const match = registry.find((p) => p.root === real || p.root === bootRoot);
|
|
502
504
|
if (match)
|
|
@@ -505,7 +507,7 @@ export function createApp(deps) {
|
|
|
505
507
|
catch {
|
|
506
508
|
// unreadable workspace — fall through to the slug fallback below
|
|
507
509
|
}
|
|
508
|
-
return bootProjectCache ?? allocateProjectSlug(bootRoot,
|
|
510
|
+
return bootProjectCache ?? allocateProjectSlug(bootRoot, registry.map((project) => project.id));
|
|
509
511
|
};
|
|
510
512
|
// Health's workspace garnish: id+name ONLY — never `root` (#431, see the
|
|
511
513
|
// health route). Reads only the registry file; no per-root status probes,
|
|
@@ -766,7 +768,10 @@ export function createApp(deps) {
|
|
|
766
768
|
}
|
|
767
769
|
await next();
|
|
768
770
|
});
|
|
769
|
-
|
|
771
|
+
// One builder for both transports: `GET /api/health` (the authoritative,
|
|
772
|
+
// CORS-open discovery endpoint) and the `health` topic on `/api/ws` below
|
|
773
|
+
// push the byte-identical shape, so the two can never drift.
|
|
774
|
+
const healthSnapshot = async () => {
|
|
770
775
|
const [checks, repo, config, workspace] = await Promise.all([
|
|
771
776
|
detectEnvironment(),
|
|
772
777
|
getRepoInfo(bootRoot),
|
|
@@ -777,7 +782,7 @@ export function createApp(deps) {
|
|
|
777
782
|
// externally-depended-on JSON in the app (BACKWARD_COMPATIBILITY.md §2).
|
|
778
783
|
const forge = resolveForge(repo);
|
|
779
784
|
const caps = capabilities();
|
|
780
|
-
return
|
|
785
|
+
return {
|
|
781
786
|
version,
|
|
782
787
|
latestVersion: update?.latest,
|
|
783
788
|
// Health is CORS-open and, in hosted mode, reachable off the loopback —
|
|
@@ -805,8 +810,104 @@ export function createApp(deps) {
|
|
|
805
810
|
// unreadable workspace degrades to `projects: []`.
|
|
806
811
|
projects: workspace.projects,
|
|
807
812
|
bootProject: workspace.bootProject,
|
|
808
|
-
}
|
|
809
|
-
}
|
|
813
|
+
};
|
|
814
|
+
};
|
|
815
|
+
// ---- server-side health cache (stale-while-revalidate) -------------------
|
|
816
|
+
// The snapshot is expensive: ~0.8 s of agent-CLI `--version` probes plus
|
|
817
|
+
// ~0.4 s of git. Paying that on the browser's FIRST `GET /api/health` is
|
|
818
|
+
// exactly the few-seconds-blank the cockpit showed at load. So on the live
|
|
819
|
+
// server the snapshot is computed at the server's OWN pace: both the GET and
|
|
820
|
+
// the WS `health` topic serve the cached value immediately and revalidate
|
|
821
|
+
// behind the response, and the cache is pre-warmed at boot so that first
|
|
822
|
+
// request lands on a warm value instead of the cold compute.
|
|
823
|
+
const HEALTH_TTL_MS = 5_000;
|
|
824
|
+
// The staleness CEILING, which is a different job from the TTL above. The TTL
|
|
825
|
+
// decides how often a revalidation is kicked off; on its own it bounds nothing,
|
|
826
|
+
// because the revalidation is fire-and-forget. While a cockpit holds the
|
|
827
|
+
// `health` topic the publisher's interval keeps the cache warm and the two are
|
|
828
|
+
// the same number — but the normal state of a background `cezar serve` is NO
|
|
829
|
+
// subscriber, and then nothing refreshes the cache at all: the next `GET
|
|
830
|
+
// /api/health`, an hour later, would answer with the boot pre-warm's payload
|
|
831
|
+
// and only the request AFTER it would see the truth. That endpoint is the
|
|
832
|
+
// bookmarklet contract (BACKWARD_COMPATIBILITY.md §2, "the most
|
|
833
|
+
// externally-depended-on JSON in the app") and `repo.branch` going stale is
|
|
834
|
+
// literally #369, so past this age correctness beats the latency win and the
|
|
835
|
+
// read waits for the compute. `refreshHealth` dedupes, so waiting costs one.
|
|
836
|
+
const HEALTH_MAX_STALE_MS = 60_000;
|
|
837
|
+
let healthCache;
|
|
838
|
+
let healthInFlight;
|
|
839
|
+
// Set while the topic has a subscriber; a change a refresh detects is pushed
|
|
840
|
+
// here (a noop when nobody is listening).
|
|
841
|
+
let publishHealth = () => { };
|
|
842
|
+
const refreshHealth = () => {
|
|
843
|
+
// Dedupe: a GET's background revalidation and the topic's interval tick
|
|
844
|
+
// share ONE compute (and one set of CLI spawns) rather than racing two.
|
|
845
|
+
if (healthInFlight)
|
|
846
|
+
return healthInFlight;
|
|
847
|
+
healthInFlight = (async () => {
|
|
848
|
+
try {
|
|
849
|
+
const payload = await healthSnapshot();
|
|
850
|
+
const body = JSON.stringify(payload);
|
|
851
|
+
const changed = body !== healthCache?.body;
|
|
852
|
+
healthCache = { at: Date.now(), payload, body };
|
|
853
|
+
if (changed)
|
|
854
|
+
publishHealth(payload); // only a real change reaches the wire
|
|
855
|
+
return payload;
|
|
856
|
+
}
|
|
857
|
+
finally {
|
|
858
|
+
healthInFlight = undefined;
|
|
859
|
+
}
|
|
860
|
+
})();
|
|
861
|
+
return healthInFlight;
|
|
862
|
+
};
|
|
863
|
+
// The read the GET and the topic snapshot share. On the live server (a hub is
|
|
864
|
+
// injected) it answers from cache instantly and revalidates behind the
|
|
865
|
+
// response; without a hub — a bare app in tests — there is no refresher
|
|
866
|
+
// keeping a cache coherent, so it computes fresh, exactly as before.
|
|
867
|
+
const readHealth = async () => {
|
|
868
|
+
if (!deps.socketHub)
|
|
869
|
+
return healthSnapshot();
|
|
870
|
+
if (!healthCache)
|
|
871
|
+
return refreshHealth(); // first ever: nothing to serve yet
|
|
872
|
+
const age = Date.now() - healthCache.at;
|
|
873
|
+
if (age > HEALTH_MAX_STALE_MS)
|
|
874
|
+
return refreshHealth(); // too old to serve — wait for the truth
|
|
875
|
+
if (age > HEALTH_TTL_MS)
|
|
876
|
+
void refreshHealth(); // stale: refresh, don't wait on it
|
|
877
|
+
return healthCache.payload;
|
|
878
|
+
};
|
|
879
|
+
app.get('/api/health', async (c) => c.json(await readHealth()));
|
|
880
|
+
// The push twin of the poll it replaced (#369): while at least one cockpit
|
|
881
|
+
// holds the `health` topic the server re-reads the snapshot on the old 5 s
|
|
882
|
+
// cadence and broadcasts ONLY when it changed — a `git checkout` in a
|
|
883
|
+
// terminal reaches every open tab within a tick — and an idle workspace (no
|
|
884
|
+
// subscriber) runs no timer. Nothing server-side watches `.git/HEAD`, so the
|
|
885
|
+
// interval stays the honest mechanism; it just lives behind the socket now
|
|
886
|
+
// instead of N tabs × 5 s HTTP polls. Every tick and every subscriber read
|
|
887
|
+
// goes through the cache above, so N subscribers still cost one compute.
|
|
888
|
+
deps.socketHub?.registerTopic('health', {
|
|
889
|
+
snapshot: readHealth,
|
|
890
|
+
start: (publish) => {
|
|
891
|
+
publishHealth = publish;
|
|
892
|
+
const timer = setInterval(() => void refreshHealth(), HEALTH_TTL_MS);
|
|
893
|
+
timer.unref?.();
|
|
894
|
+
return () => {
|
|
895
|
+
clearInterval(timer);
|
|
896
|
+
publishHealth = () => { };
|
|
897
|
+
};
|
|
898
|
+
},
|
|
899
|
+
},
|
|
900
|
+
// health IS the CORS-open discovery payload (#431), so it is the one topic
|
|
901
|
+
// safe for any local page — including a cross-port page admitted by the
|
|
902
|
+
// loopback fallback on a no-Sec-Fetch browser. Every other (future) topic
|
|
903
|
+
// keeps the default: trusted connections only.
|
|
904
|
+
{ loopbackReadable: true });
|
|
905
|
+
// Pre-warm on the live-server path only (startServer injects the hub; a bare
|
|
906
|
+
// app in tests does not, so tests never spawn the probes here): the cache
|
|
907
|
+
// fills while the browser is still downloading the bundle, so its first
|
|
908
|
+
// `GET /api/health` reads a warm value instead of the cold ~1 s compute.
|
|
909
|
+
if (deps.socketHub)
|
|
910
|
+
void refreshHealth();
|
|
810
911
|
// Host capability, not project state: one installed/authenticated Codex CLI
|
|
811
912
|
// and one in-memory cache are shared by every registered workspace.
|
|
812
913
|
app.get('/api/models', async (c) => {
|
|
@@ -3012,7 +3113,10 @@ export function createApp(deps) {
|
|
|
3012
3113
|
export function startServer(deps, port) {
|
|
3013
3114
|
const workspaceEvents = deps.workspaceEvents ?? new WorkspaceEventBus();
|
|
3014
3115
|
const skillsUpdate = deps.skillsUpdate ?? new SkillsUpdateService({ invalidateCatalog: refreshTeamSkills });
|
|
3015
|
-
|
|
3116
|
+
// The subscription hub rides the same HTTP server (one port, zero config):
|
|
3117
|
+
// createApp registers the topics, the `upgrade` hook below owns the socket.
|
|
3118
|
+
const socketHub = deps.socketHub ?? createSocketHub();
|
|
3119
|
+
const app = createApp({ ...deps, workspaceEvents, skillsUpdate, socketHub });
|
|
3016
3120
|
// SECURITY: default to loopback. This server executes agents locally and its endpoints are
|
|
3017
3121
|
// same-origin-trusted (only /api/health is CORS-open); binding to a non-loopback host would
|
|
3018
3122
|
// expose an agent-executing box to the network. `bindHost` exists only for a deliberate
|
|
@@ -3045,8 +3149,76 @@ export function startServer(deps, port) {
|
|
|
3045
3149
|
}).catch(() => undefined);
|
|
3046
3150
|
});
|
|
3047
3151
|
server.once('close', () => { unsubscribe(); coordinator.stop(); });
|
|
3152
|
+
socketHub.attach(server, (req) => verifyWsUpgrade(req, deps.bindHost));
|
|
3048
3153
|
return server;
|
|
3049
3154
|
}
|
|
3155
|
+
/**
|
|
3156
|
+
* The WebSocket twin of the `/api/*` request-origin guard (#426), applied
|
|
3157
|
+
* before the `/api/ws` handshake. WebSocket is NOT subject to CORS — any web
|
|
3158
|
+
* page may open `ws://127.0.0.1:<port>/api/ws` and, unlike a forced HTTP GET,
|
|
3159
|
+
* would get to READ what comes back — so this guard is load-bearing:
|
|
3160
|
+
*
|
|
3161
|
+
* 1. Host allowlist (local mode): a non-loopback Host is a DNS-rebound
|
|
3162
|
+
* request; kill it before the handshake. Same anchored
|
|
3163
|
+
* `isLoopbackHostHeader` rules as the HTTP guard.
|
|
3164
|
+
* 2. Origin check: browsers always attach `Origin` to a WS handshake. A
|
|
3165
|
+
* same-authority Origin is the cockpit itself. A LOOPBACK origin with a
|
|
3166
|
+
* loopback Host is also admitted — that is the `npm run dev` Vite proxy
|
|
3167
|
+
* (`changeOrigin` rewrites Host, the browser's `localhost:5173` Origin
|
|
3168
|
+
* survives). Unlike the HTTP write guard we cannot REQUIRE `Sec-Fetch-Site`
|
|
3169
|
+
* here — Safari sends no `Sec-Fetch-*` at all and requiring it would lock
|
|
3170
|
+
* the dev proxy out of it — but we do honor it when it is there: Chromium
|
|
3171
|
+
* does send it on a WS handshake, and page JS cannot forge it (forbidden
|
|
3172
|
+
* header name), so a cross-port attacker page announcing `same-site` is
|
|
3173
|
+
* rejected on the browser that ships it while Safari/Firefox still fall
|
|
3174
|
+
* back to the loopback rule. Best available, not fail-open.
|
|
3175
|
+
* No Origin at all is a non-browser client — same stance as the HTTP guard.
|
|
3176
|
+
*
|
|
3177
|
+
* The loopback-origin fallback still admits, on a browser that sends no
|
|
3178
|
+
* `Sec-Fetch-Site`, a page served from ANOTHER loopback port. That is no longer
|
|
3179
|
+
* a caveat the caller must remember: the verdict carries a `trusted` flag, and
|
|
3180
|
+
* the hub only lets an UNtrusted connection subscribe to topics a publisher
|
|
3181
|
+
* marked `loopbackReadable`. `health` is flagged so (the CORS-open discovery
|
|
3182
|
+
* payload, #431); every other topic stays trusted-only by default, so a topic
|
|
3183
|
+
* carrying run or repo content is mechanically unreachable from a foreign local
|
|
3184
|
+
* page without any per-topic vigilance. A connection is `trusted` when it is
|
|
3185
|
+
* provably the cockpit itself: a same-authority Origin, a no-Origin native
|
|
3186
|
+
* client, or a dev proxy the browser vouches for via `Sec-Fetch-Site`.
|
|
3187
|
+
*/
|
|
3188
|
+
export function verifyWsUpgrade(req, bindHost) {
|
|
3189
|
+
const host = req.headers.host;
|
|
3190
|
+
const hostName = hostnameOfHost(host);
|
|
3191
|
+
const hosted = !resolveCapabilities(process.env, bindHost).localHandoff;
|
|
3192
|
+
if (!hosted && !isLoopbackHostHeader(hostName))
|
|
3193
|
+
return false;
|
|
3194
|
+
const origin = req.headers.origin;
|
|
3195
|
+
if (origin === undefined)
|
|
3196
|
+
return { trusted: true }; // non-browser client — no Origin to spoof
|
|
3197
|
+
// Scheme-checked, like the HTTP guard's comparison: `authorityOfOrigin` is
|
|
3198
|
+
// null for anything that is not an http(s) URL, so the opaque `"null"` origin
|
|
3199
|
+
// of a sandboxed iframe AND a `ftp://127.0.0.1`-shaped one both stay out
|
|
3200
|
+
// rather than reaching the loopback test below on hostname alone.
|
|
3201
|
+
const originAuthority = authorityOfOrigin(origin);
|
|
3202
|
+
const originHost = hostnameOfOrigin(origin);
|
|
3203
|
+
if (originAuthority === null || !originHost)
|
|
3204
|
+
return false;
|
|
3205
|
+
if (originAuthority === authorityOfHost(host))
|
|
3206
|
+
return { trusted: true }; // the cockpit itself
|
|
3207
|
+
// The dev-proxy fallback. An explicit `cross-site`/`same-site` is an attacker
|
|
3208
|
+
// page on another local port and is refused even though both ends are
|
|
3209
|
+
// loopback; anything else needs loopback on both ends to get in at all.
|
|
3210
|
+
const fetchSite = req.headers['sec-fetch-site'];
|
|
3211
|
+
if (fetchSite !== undefined && fetchSite !== 'same-origin')
|
|
3212
|
+
return false;
|
|
3213
|
+
if (!isLoopbackHostHeader(originHost) || !isLoopbackHostHeader(hostName))
|
|
3214
|
+
return false;
|
|
3215
|
+
// Loopback on both ends, admitted. If the browser vouches it is same-origin
|
|
3216
|
+
// (`Sec-Fetch-Site: same-origin`, unforgeable by page JS), this is the dev
|
|
3217
|
+
// proxy on Chromium → trust it. An ABSENT header is a browser that ships no
|
|
3218
|
+
// metadata (Safari/Firefox), where the dev proxy and a foreign local page are
|
|
3219
|
+
// indistinguishable: admit as UNTRUSTED so only `loopbackReadable` topics show.
|
|
3220
|
+
return { trusted: fetchSite === 'same-origin' };
|
|
3221
|
+
}
|
|
3050
3222
|
/** The bare hostname of a `Host` header — see `normalizeHostname`. `''` when the
|
|
3051
3223
|
* header is absent, which no allowlist matches. */
|
|
3052
3224
|
function hostnameOfHost(host) {
|