@ccpocket/bridge 1.63.5 → 1.64.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.
Files changed (43) hide show
  1. package/README.md +5 -1
  2. package/dist/bridge-port.d.ts +2 -0
  3. package/dist/bridge-port.js +20 -0
  4. package/dist/bridge-port.js.map +1 -0
  5. package/dist/cli-args.js +3 -0
  6. package/dist/cli-args.js.map +1 -1
  7. package/dist/cli.js +8 -2
  8. package/dist/cli.js.map +1 -1
  9. package/dist/codex-permissions.d.ts +10 -0
  10. package/dist/codex-permissions.js +62 -0
  11. package/dist/codex-permissions.js.map +1 -0
  12. package/dist/codex-process.d.ts +1 -1
  13. package/dist/codex-process.js +8 -2
  14. package/dist/codex-process.js.map +1 -1
  15. package/dist/git-operations.d.ts +13 -0
  16. package/dist/git-operations.js +171 -3
  17. package/dist/git-operations.js.map +1 -1
  18. package/dist/index.js +22 -16
  19. package/dist/index.js.map +1 -1
  20. package/dist/parser.d.ts +2 -0
  21. package/dist/parser.js +6 -3
  22. package/dist/parser.js.map +1 -1
  23. package/dist/path-utils.d.ts +1 -0
  24. package/dist/path-utils.js +16 -0
  25. package/dist/path-utils.js.map +1 -1
  26. package/dist/sdk-process.d.ts +16 -1
  27. package/dist/sdk-process.js +126 -23
  28. package/dist/sdk-process.js.map +1 -1
  29. package/dist/server-listen.d.ts +2 -0
  30. package/dist/server-listen.js +23 -0
  31. package/dist/server-listen.js.map +1 -0
  32. package/dist/session.js +18 -4
  33. package/dist/session.js.map +1 -1
  34. package/dist/sessions-index.js +96 -11
  35. package/dist/sessions-index.js.map +1 -1
  36. package/dist/setup-launchd.js +3 -2
  37. package/dist/setup-launchd.js.map +1 -1
  38. package/dist/setup-systemd.js +3 -2
  39. package/dist/setup-systemd.js.map +1 -1
  40. package/dist/websocket.d.ts +32 -5
  41. package/dist/websocket.js +432 -150
  42. package/dist/websocket.js.map +1 -1
  43. package/package.json +1 -1
package/README.md CHANGED
@@ -38,7 +38,7 @@ ccpocket-bridge --version
38
38
  | `BRIDGE_PORT` | `8765` | WebSocket port |
39
39
  | `BRIDGE_HOST` | `0.0.0.0` | Bind address |
40
40
  | `BRIDGE_API_KEY` | (none) | API key authentication (enabled when set) |
41
- | `BRIDGE_ALLOWED_DIRS` | `$HOME` | Comma-separated list of project directories the Bridge may access |
41
+ | `BRIDGE_ALLOWED_DIRS` | `$HOME` | Comma-separated list of project directories the Bridge may access; set exactly to `*` to allow any directory |
42
42
  | `BRIDGE_PUBLIC_WS_URL` | (none) | Public `ws://` / `wss://` URL used for startup deep link and QR code |
43
43
  | `BRIDGE_CODEX_APP_SERVER_MODE` | `private` | Experimental Codex app-server mode: `private`, `managed`, or `external` |
44
44
  | `BRIDGE_CODEX_SHARED_APP_SERVER_URL` | `ws://127.0.0.1:8767` in `managed` mode | Experimental shared Codex app-server URL for Codex CLI co-presence |
@@ -47,6 +47,10 @@ ccpocket-bridge --version
47
47
  | `BRIDGE_DISABLE_MDNS` | (none) | Disable mDNS auto-discovery advertisement (enabled when set) |
48
48
  | `BRIDGE_PROMPT_HISTORY_FILE` | `$HOME/.ccpocket/prompt-history-v2.json` | Custom prompt history store path |
49
49
  | `BRIDGE_RECENT_SESSIONS_PROFILE` | (none) | Log recent-session index timing when set to `1` or `true` |
50
+ | `BRIDGE_FILE_LIST_MAX_ENTRIES` | `5000` | Maximum file and directory entries returned to a client; non-positive or invalid values use the default |
51
+ | `BRIDGE_FILE_LIST_MAX_BYTES` | `524288` | Maximum serialized path bytes returned in a client file list; non-positive or invalid values use the default |
52
+ | `BRIDGE_DELTA_BATCH_MS` | `100` | Milliseconds to batch streaming deltas per connected client; set to `0` to disable batching |
53
+ | `BRIDGE_DELTA_BATCH_MAX_CHARS` | `4096` | Maximum Unicode characters per batched streaming payload; non-positive or invalid values use the default |
50
54
  | `DIFF_IMAGE_AUTO_DISPLAY_KB` | `1024` (1 MB) | Auto-display diff images up to this size, in KB |
51
55
  | `DIFF_IMAGE_MAX_SIZE_MB` | `5` (5 MB) | Maximum diff image size available for on-demand loading, in MB |
52
56
  | `ANTHROPIC_API_KEY` | (none) | Claude Agent SDK API key used for Claude sessions |
@@ -0,0 +1,2 @@
1
+ export declare const DEFAULT_BRIDGE_PORT = 8765;
2
+ export declare function parseBridgePort(rawPort?: string): number;
@@ -0,0 +1,20 @@
1
+ export const DEFAULT_BRIDGE_PORT = 8765;
2
+ const MIN_BRIDGE_PORT = 1;
3
+ const MAX_BRIDGE_PORT = 65535;
4
+ function invalidBridgePortMessage(rawPort) {
5
+ return `Invalid BRIDGE_PORT "${rawPort}": expected an integer between ${MIN_BRIDGE_PORT} and ${MAX_BRIDGE_PORT}.`;
6
+ }
7
+ export function parseBridgePort(rawPort = process.env.BRIDGE_PORT ?? String(DEFAULT_BRIDGE_PORT)) {
8
+ const normalized = rawPort.trim();
9
+ if (!/^\d+$/.test(normalized)) {
10
+ throw new Error(invalidBridgePortMessage(rawPort));
11
+ }
12
+ const port = Number(normalized);
13
+ if (!Number.isSafeInteger(port) ||
14
+ port < MIN_BRIDGE_PORT ||
15
+ port > MAX_BRIDGE_PORT) {
16
+ throw new Error(invalidBridgePortMessage(rawPort));
17
+ }
18
+ return port;
19
+ }
20
+ //# sourceMappingURL=bridge-port.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-port.js","sourceRoot":"","sources":["../src/bridge-port.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B,SAAS,wBAAwB,CAAC,OAAe;IAC/C,OAAO,wBAAwB,OAAO,kCAAkC,eAAe,QAAQ,eAAe,GAAG,CAAC;AACpH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC,mBAAmB,CAAC;IAEhE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAChC,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;QAC3B,IAAI,GAAG,eAAe;QACtB,IAAI,GAAG,eAAe,EACtB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/cli-args.js CHANGED
@@ -39,6 +39,9 @@ export function parseCliArgs(args) {
39
39
  flags.set(name, args[i + 1]);
40
40
  i += 1;
41
41
  }
42
+ else {
43
+ flags.set(name, "");
44
+ }
42
45
  continue;
43
46
  }
44
47
  if (BOOLEAN_FLAGS.has(name) ||
@@ -1 +1 @@
1
- {"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -4,6 +4,9 @@ import { platform } from "node:os";
4
4
  import { startServer } from "./index.js";
5
5
  import { getPackageVersion } from "./version.js";
6
6
  import { hasFlag, parseCliArgs, parseFlag } from "./cli-args.js";
7
+ function startupErrorMessage(err) {
8
+ return err instanceof Error ? err.message : String(err);
9
+ }
7
10
  const args = process.argv.slice(2);
8
11
  const parsed = parseCliArgs(args);
9
12
  function printHelp() {
@@ -123,7 +126,7 @@ else {
123
126
  const codexSharedAppServerUrl = parseFlag(parsed, "codex-shared-app-server-url");
124
127
  const codexAppServerPort = parseFlag(parsed, "codex-app-server-port");
125
128
  const codexAppServerUrl = parseFlag(parsed, "codex-app-server-url");
126
- if (port)
129
+ if (port !== undefined)
127
130
  process.env.BRIDGE_PORT = port;
128
131
  if (host)
129
132
  process.env.BRIDGE_HOST = host;
@@ -145,6 +148,9 @@ else {
145
148
  }
146
149
  if (hasFlag(parsed, "no-mdns"))
147
150
  process.env.BRIDGE_DISABLE_MDNS = "1";
148
- startServer();
151
+ startServer().catch((err) => {
152
+ console.error(`[bridge] Failed to start: ${startupErrorMessage(err)}`);
153
+ process.exit(1);
154
+ });
149
155
  }
150
156
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { CodexPermissionsMode } from "./parser.js";
2
+ export interface CodexPermissionSettings {
3
+ codexPermissionsMode?: string;
4
+ approvalPolicy?: string;
5
+ approvalsReviewer?: string;
6
+ sandboxMode?: string;
7
+ }
8
+ export declare function normalizeCodexPermissionsMode(value?: string): CodexPermissionsMode | undefined;
9
+ export declare function deriveCodexPermissionsMode(settings?: CodexPermissionSettings): CodexPermissionsMode | undefined;
10
+ export declare function withDerivedCodexPermissionsMode<T extends CodexPermissionSettings>(settings: T | undefined): T | undefined;
@@ -0,0 +1,62 @@
1
+ export function normalizeCodexPermissionsMode(value) {
2
+ switch (value) {
3
+ case "default":
4
+ case "autoReview":
5
+ case "fullAccess":
6
+ case "custom":
7
+ return value;
8
+ default:
9
+ return undefined;
10
+ }
11
+ }
12
+ export function deriveCodexPermissionsMode(settings) {
13
+ if (!settings)
14
+ return undefined;
15
+ const explicit = normalizeCodexPermissionsMode(settings.codexPermissionsMode);
16
+ if (explicit)
17
+ return explicit;
18
+ if (settings.codexPermissionsMode !== undefined)
19
+ return "custom";
20
+ if (settings.approvalPolicy === undefined ||
21
+ settings.sandboxMode === undefined) {
22
+ return undefined;
23
+ }
24
+ const sandboxMode = switchCodexSandboxMode(settings.sandboxMode);
25
+ if (settings.approvalPolicy === "never" &&
26
+ sandboxMode === "danger-full-access") {
27
+ return "fullAccess";
28
+ }
29
+ if (settings.approvalPolicy === "on-request" &&
30
+ sandboxMode === "workspace-write") {
31
+ if (settings.approvalsReviewer === "auto_review" ||
32
+ settings.approvalsReviewer === "guardian_subagent") {
33
+ return "autoReview";
34
+ }
35
+ if (settings.approvalsReviewer === undefined ||
36
+ settings.approvalsReviewer === "user") {
37
+ return "default";
38
+ }
39
+ }
40
+ return "custom";
41
+ }
42
+ function switchCodexSandboxMode(value) {
43
+ switch (value) {
44
+ case "danger-full-access":
45
+ case "off":
46
+ return "danger-full-access";
47
+ case "workspace-write":
48
+ case "on":
49
+ return "workspace-write";
50
+ case "read-only":
51
+ return "read-only";
52
+ default:
53
+ return undefined;
54
+ }
55
+ }
56
+ export function withDerivedCodexPermissionsMode(settings) {
57
+ if (!settings)
58
+ return undefined;
59
+ const mode = deriveCodexPermissionsMode(settings);
60
+ return mode ? { ...settings, codexPermissionsMode: mode } : settings;
61
+ }
62
+ //# sourceMappingURL=codex-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-permissions.js","sourceRoot":"","sources":["../src/codex-permissions.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,6BAA6B,CAC3C,KAAc;IAEd,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC;QACf;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAAkC;IAElC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,QAAQ,GAAG,6BAA6B,CAC5C,QAAQ,CAAC,oBAAoB,CAC9B,CAAC;IACF,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAEjE,IACE,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,QAAQ,CAAC,WAAW,KAAK,SAAS,EAClC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,sBAAsB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjE,IACE,QAAQ,CAAC,cAAc,KAAK,OAAO;QACnC,WAAW,KAAK,oBAAoB,EACpC,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IACE,QAAQ,CAAC,cAAc,KAAK,YAAY;QACxC,WAAW,KAAK,iBAAiB,EACjC,CAAC;QACD,IACE,QAAQ,CAAC,iBAAiB,KAAK,aAAa;YAC5C,QAAQ,CAAC,iBAAiB,KAAK,mBAAmB,EAClD,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IACE,QAAQ,CAAC,iBAAiB,KAAK,SAAS;YACxC,QAAQ,CAAC,iBAAiB,KAAK,MAAM,EACrC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAc;IAEd,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,oBAAoB,CAAC;QAC1B,KAAK,KAAK;YACR,OAAO,oBAAoB,CAAC;QAC9B,KAAK,iBAAiB,CAAC;QACvB,KAAK,IAAI;YACP,OAAO,iBAAiB,CAAC;QAC3B,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,QAAuB;IAEvB,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,IAAI,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvE,CAAC"}
@@ -11,7 +11,7 @@ export interface CodexStartOptions {
11
11
  codexPermissionsMode?: "default" | "autoReview" | "fullAccess" | "custom";
12
12
  sandboxMode?: "read-only" | "workspace-write" | "danger-full-access";
13
13
  model?: string;
14
- modelReasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh";
14
+ modelReasoningEffort?: string;
15
15
  networkAccessEnabled?: boolean;
16
16
  webSearchMode?: "disabled" | "cached" | "live";
17
17
  collaborationMode?: "plan" | "default";
@@ -2149,9 +2149,15 @@ function extractReasoningEfforts(raw) {
2149
2149
  const seen = new Set();
2150
2150
  const efforts = [];
2151
2151
  for (const value of values) {
2152
- if (typeof value !== "string")
2152
+ const effort = typeof value === "string"
2153
+ ? value
2154
+ : value && typeof value === "object"
2155
+ ? (value.reasoningEffort ??
2156
+ value.effort)
2157
+ : undefined;
2158
+ if (typeof effort !== "string")
2153
2159
  continue;
2154
- const normalized = value.trim();
2160
+ const normalized = effort.trim();
2155
2161
  if (!normalized || seen.has(normalized))
2156
2162
  continue;
2157
2163
  seen.add(normalized);