@evandu/super-pi 0.1.63 → 0.1.64

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.
@@ -382,16 +382,14 @@ export function createHttpServer(options) {
382
382
  json(403, { error: result.message });
383
383
  return;
384
384
  }
385
- // Validate cwd is a known workspace. Path comparison is normalized so Windows case
386
- // differences or trailing separators do not produce a false "unknown workspace" failure
387
- // when the extension hands back the same directory the server handed to it at spawn.
388
- const normalized = (value) => value.replace(/[\\/]+/g, "/").replace(/\/+$/, "").toLowerCase();
389
- const normalizedCwd = normalized(cwd);
390
- const workspace = store.snapshot().workspaces.find((w) => normalized(w.path) === normalizedCwd);
391
- if (!workspace) {
392
- json(400, { error: `cwd is not a known workspace: ${cwd} (known: ${store.snapshot().workspaces.map((w) => w.path).join(" | ")})` });
393
- return;
394
- }
385
+ // The `cwd` here is the directory the Pi child was launched in - which is the conversation's
386
+ // workspace, already authenticated by the per-conversation capability check above. Validating it
387
+ // against the workspace list looked cheap, but Windows path normalization (8.3 short names, UNC
388
+ // prefixes, drive-letter case, separator styles) routinely produces the same path in two different
389
+ // strings and a strict equality check refused valid calls; a relaxed comparison is no longer
390
+ // providing a security boundary that the capability check is not already providing. The trust
391
+ // decision is the one above; this stays as a no-op.
392
+ void cwd;
395
393
  // Set up the background task record BEFORE spawning, so the UI shows it immediately
396
394
  const { randomUUID } = await import("node:crypto");
397
395
  const sessionId = `exec_${randomUUID()}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evandu/super-pi",
3
- "version": "0.1.63",
3
+ "version": "0.1.64",
4
4
  "description": "Web control plane and companion for Pi",
5
5
  "license": "MIT",
6
6
  "type": "module",