@very_aq/codex-cli-web 0.0.14 → 0.0.16

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@very_aq/codex-cli-web",
3
- "version": "0.0.14",
3
+ "version": "0.0.16",
4
4
  "private": false,
5
5
  "bin": {
6
6
  "ccw": "bin/ccw.js"
@@ -22,7 +22,8 @@
22
22
  "codex:generate": "npm -w server run codex:generate",
23
23
  "start": "node server/dist/index.js",
24
24
  "test": "npm -w server test",
25
- "prepack": "npm run build"
25
+ "prepack": "npm run build",
26
+ "update": "npm version patch --no-git-tag-version && npm publish --access public "
26
27
  },
27
28
  "dependencies": {
28
29
  "better-sqlite3": "^11.8.1",
@@ -0,0 +1,9 @@
1
+ import type * as fs from "node:fs/promises";
2
+ export type FsOps = Pick<typeof fs, "mkdir" | "stat">;
3
+ /**
4
+ * 确保目录存在:
5
+ * - 已存在且为目录:直接返回(避免对 Windows 盘符根目录 `C:\` 等路径执行 mkdir 触发 EPERM)
6
+ * - 不存在(ENOENT):创建目录(recursive)
7
+ * - 已存在但不是目录:抛出与 cwd 校验一致的错误格式
8
+ */
9
+ export declare function ensureDirectoryExists(fsOps: FsOps, dirPath: string): Promise<void>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureDirectoryExists = ensureDirectoryExists;
4
+ /**
5
+ * 确保目录存在:
6
+ * - 已存在且为目录:直接返回(避免对 Windows 盘符根目录 `C:\` 等路径执行 mkdir 触发 EPERM)
7
+ * - 不存在(ENOENT):创建目录(recursive)
8
+ * - 已存在但不是目录:抛出与 cwd 校验一致的错误格式
9
+ */
10
+ async function ensureDirectoryExists(fsOps, dirPath) {
11
+ const existingStat = await fsOps
12
+ .stat(dirPath)
13
+ .then((st) => st)
14
+ .catch((error) => {
15
+ const code = String(error?.code ?? "");
16
+ if (code === "ENOENT")
17
+ return null;
18
+ throw error;
19
+ });
20
+ if (existingStat) {
21
+ if (!existingStat.isDirectory()) {
22
+ throw new Error(`cwd is not a directory: ${dirPath}`);
23
+ }
24
+ return;
25
+ }
26
+ await fsOps.mkdir(dirPath, { recursive: true });
27
+ }
28
+ //# sourceMappingURL=fsSafeMkdir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fsSafeMkdir.js","sourceRoot":"","sources":["../../src/workspace/fsSafeMkdir.ts"],"names":[],"mappings":";;AAUA,sDAkBC;AAxBD;;;;;GAKG;AACI,KAAK,UAAU,qBAAqB,CAAC,KAAY,EAAE,OAAe;IACvE,MAAM,YAAY,GAAG,MAAM,KAAK;SAC7B,IAAI,CAAC,OAAO,CAAC;SACb,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;SAChB,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACnC,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IAEL,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC"}
@@ -10,6 +10,7 @@ const node_path_1 = __importDefault(require("node:path"));
10
10
  const env_1 = require("../env");
11
11
  const accessControl_1 = require("./accessControl");
12
12
  const cwdSwitchLogger_1 = require("./cwdSwitchLogger");
13
+ const fsSafeMkdir_1 = require("./fsSafeMkdir");
13
14
  function normalizeWorkspaceDirInputs(rawWorkspaceDirs) {
14
15
  const input = Array.isArray(rawWorkspaceDirs) ? rawWorkspaceDirs : [];
15
16
  return input.map((dir) => String(dir ?? "").trim()).filter(Boolean);
@@ -73,7 +74,7 @@ async function assertWorkspaceCreateTargetAllowed(workspaceDir, user) {
73
74
  async function ensureWorkspaceDirectoryExists(workspaceDir, user) {
74
75
  const allowedTargetWorkspaceDir = await assertWorkspaceCreateTargetAllowed(workspaceDir, user);
75
76
  // 路径不存在时自动创建;存在时保持幂等。
76
- await promises_1.default.mkdir(allowedTargetWorkspaceDir, { recursive: true });
77
+ await (0, fsSafeMkdir_1.ensureDirectoryExists)(promises_1.default, allowedTargetWorkspaceDir);
77
78
  }
78
79
  function createUserWorkspaceRoutes(opts) {
79
80
  const router = express_1.default.Router();
@@ -1 +1 @@
1
- {"version":3,"file":"userWorkspaceRoutes.js","sourceRoot":"","sources":["../../src/workspace/userWorkspaceRoutes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"userWorkspaceRoutes.js","sourceRoot":"","sources":["../../src/workspace/userWorkspaceRoutes.ts"],"names":[],"mappings":"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"}