windows-development-sandbox 1.18.0 → 1.18.2

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.
@@ -2,8 +2,8 @@
2
2
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
3
3
  import {
4
4
  run
5
- } from "./chunk-BKF43GJ3.js";
6
- import "./chunk-YD3A67RS.js";
5
+ } from "./chunk-IIHL7W6B.js";
6
+ import "./chunk-MQIA7GNB.js";
7
7
 
8
8
  // src/bin/agent-sandbox.ts
9
9
  run(process.argv.slice(2));
@@ -228,7 +228,7 @@ import {
228
228
  withOperationCommands,
229
229
  working,
230
230
  writeJson
231
- } from "./chunk-YD3A67RS.js";
231
+ } from "./chunk-MQIA7GNB.js";
232
232
 
233
233
  // node_modules/commander/lib/error.js
234
234
  var require_error = __commonJS({
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
2
  import {
3
3
  attach
4
- } from "./chunk-YD3A67RS.js";
4
+ } from "./chunk-MQIA7GNB.js";
5
5
  export {
6
6
  attach
7
7
  };
@@ -56853,12 +56853,13 @@ import fs48 from "node:fs";
56853
56853
  import path67 from "node:path";
56854
56854
  var LOGIN_KINDS = ["subscription", "console", "api-key"];
56855
56855
  var API_KEY = /^sk-ant-api\d{2}-[A-Za-z0-9_-]{20,400}$/;
56856
+ var API_USER_KEY = /^sk-ant-usr\d{2}-[A-Za-z0-9_-]{20,400}$/;
56856
56857
  function apiKeyProblem(key3) {
56857
- if (API_KEY.test(key3)) return null;
56858
+ if (API_KEY.test(key3) || API_USER_KEY.test(key3)) return null;
56858
56859
  if (key3.startsWith("sk-ant-oat"))
56859
56860
  return "That is a Claude subscription token (from claude setup-token), not an API key. Save the subscription login instead.";
56860
56861
  if (key3.startsWith("sk-ant-admin")) return "That is an Admin key: it cannot run Claude. Make an API key instead.";
56861
- return "An Anthropic API key starts with sk-ant-api and has only letters, digits, - and _ (copy it from the Claude Console).";
56862
+ return "An Anthropic API key starts with sk-ant-api or sk-ant-usr and has only letters, digits, - and _ (copy it from the Claude Console).";
56862
56863
  }
56863
56864
  function maskApiKey(key3) {
56864
56865
  return "sk-ant-..." + key3.slice(-4);
@@ -80441,7 +80442,7 @@ async function attachOpened(ctx, session) {
80441
80442
  nextStep("sandbox attach " + session);
80442
80443
  return 0;
80443
80444
  }
80444
- const { attach: attach2 } = await import("./chunk-Z5D32FN3.js");
80445
+ const { attach: attach2 } = await import("./chunk-M4OM632I.js");
80445
80446
  return attach2({ ...ctx, options: { ...ctx.options, positionals: [session] } });
80446
80447
  }
80447
80448
  function definitionHandler(def) {
@@ -2,8 +2,8 @@
2
2
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
3
3
  import {
4
4
  run
5
- } from "./chunk-BKF43GJ3.js";
6
- import "./chunk-YD3A67RS.js";
5
+ } from "./chunk-IIHL7W6B.js";
6
+ import "./chunk-MQIA7GNB.js";
7
7
 
8
8
  // src/bin/claude-host.ts
9
9
  var args = process.argv.slice(2);
@@ -2,8 +2,8 @@
2
2
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
3
3
  import {
4
4
  run
5
- } from "./chunk-BKF43GJ3.js";
6
- import "./chunk-YD3A67RS.js";
5
+ } from "./chunk-IIHL7W6B.js";
6
+ import "./chunk-MQIA7GNB.js";
7
7
 
8
8
  // src/bin/claude-sbx.ts
9
9
  run(process.argv.slice(2), { harness: "claude" });
@@ -2,8 +2,8 @@
2
2
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
3
3
  import {
4
4
  run
5
- } from "./chunk-BKF43GJ3.js";
6
- import "./chunk-YD3A67RS.js";
5
+ } from "./chunk-IIHL7W6B.js";
6
+ import "./chunk-MQIA7GNB.js";
7
7
 
8
8
  // src/bin/codex-sbx.ts
9
9
  run(process.argv.slice(2), { harness: "codex" });
@@ -2,8 +2,8 @@
2
2
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
3
3
  import {
4
4
  run
5
- } from "./chunk-BKF43GJ3.js";
6
- import "./chunk-YD3A67RS.js";
5
+ } from "./chunk-IIHL7W6B.js";
6
+ import "./chunk-MQIA7GNB.js";
7
7
 
8
8
  // src/bin/gemini-sbx.ts
9
9
  run(process.argv.slice(2), { harness: "gemini" });
@@ -2,8 +2,8 @@
2
2
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
3
3
  import {
4
4
  run
5
- } from "./chunk-BKF43GJ3.js";
6
- import "./chunk-YD3A67RS.js";
5
+ } from "./chunk-IIHL7W6B.js";
6
+ import "./chunk-MQIA7GNB.js";
7
7
 
8
8
  // src/bin/sandbox.ts
9
9
  run(process.argv.slice(2));
@@ -2,8 +2,8 @@
2
2
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
3
3
  import {
4
4
  run
5
- } from "./chunk-BKF43GJ3.js";
6
- import "./chunk-YD3A67RS.js";
5
+ } from "./chunk-IIHL7W6B.js";
6
+ import "./chunk-MQIA7GNB.js";
7
7
 
8
8
  // src/bin/sbx-hide.ts
9
9
  run(process.argv.slice(2), { command: "hide" });
@@ -2,8 +2,8 @@
2
2
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
3
3
  import {
4
4
  run
5
- } from "./chunk-BKF43GJ3.js";
6
- import "./chunk-YD3A67RS.js";
5
+ } from "./chunk-IIHL7W6B.js";
6
+ import "./chunk-MQIA7GNB.js";
7
7
 
8
8
  // src/bin/sbx-show.ts
9
9
  run(process.argv.slice(2), { command: "show" });
@@ -15,15 +15,16 @@ import { assertNoLinks, fail, fileExists, isLink, removeLink, tryReadJson, write
15
15
  export const LOGIN_KINDS = ['subscription', 'console', 'api-key'];
16
16
  /** sk-ant-api03-...: a normal Anthropic API key (letters, digits, - and _, which is what Claude Code accepts). */
17
17
  const API_KEY = /^sk-ant-api\d{2}-[A-Za-z0-9_-]{20,400}$/;
18
+ const API_USER_KEY = /^sk-ant-usr\d{2}-[A-Za-z0-9_-]{20,400}$/;
18
19
  /** What is wrong with a typed or found API key, or null when it has the right shape. Never quotes the key. */
19
20
  export function apiKeyProblem(key) {
20
- if (API_KEY.test(key))
21
+ if (API_KEY.test(key) || API_USER_KEY.test(key))
21
22
  return null;
22
23
  if (key.startsWith('sk-ant-oat'))
23
24
  return 'That is a Claude subscription token (from claude setup-token), not an API key. Save the subscription login instead.';
24
25
  if (key.startsWith('sk-ant-admin'))
25
26
  return 'That is an Admin key: it cannot run Claude. Make an API key instead.';
26
- return 'An Anthropic API key starts with sk-ant-api and has only letters, digits, - and _ (copy it from the Claude Console).';
27
+ return 'An Anthropic API key starts with sk-ant-api or sk-ant-usr and has only letters, digits, - and _ (copy it from the Claude Console).';
27
28
  }
28
29
  /** The most of a key that is ever shown: sk-ant-...abcd. */
29
30
  export function maskApiKey(key) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windows-development-sandbox",
3
- "version": "1.18.0",
3
+ "version": "1.18.2",
4
4
  "description": "A disposable Windows Sandbox for development, with or without an AI agent (Claude Code, Codex, Gemini, opencode, ...): the folder you run it from is the workspace, toolchains and databases for your project install themselves, and nothing else on your PC is reachable.",
5
5
  "type": "module",
6
6
  "license": "MIT",