@cloudcli-ai/cloudcli 1.33.0 → 1.33.1

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 (31) hide show
  1. package/dist/assets/{index-skXSjBje.js → index-BsyL_xmI.js} +257 -260
  2. package/dist/assets/index-FSP9Hz7V.css +32 -0
  3. package/dist/index.html +2 -2
  4. package/dist/modelConstants.js +8 -1
  5. package/dist-server/server/index.js +103 -48
  6. package/dist-server/server/index.js.map +1 -1
  7. package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js +3 -0
  8. package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js.map +1 -1
  9. package/dist-server/server/modules/providers/list/claude/claude-models.provider.js +9 -4
  10. package/dist-server/server/modules/providers/list/claude/claude-models.provider.js.map +1 -1
  11. package/dist-server/server/modules/providers/services/provider-models.service.js +27 -0
  12. package/dist-server/server/modules/providers/services/provider-models.service.js.map +1 -1
  13. package/dist-server/server/modules/providers/tests/provider-models.service.test.js +28 -0
  14. package/dist-server/server/modules/providers/tests/provider-models.service.test.js.map +1 -1
  15. package/dist-server/server/modules/websocket/services/shell-websocket.service.js +9 -2
  16. package/dist-server/server/modules/websocket/services/shell-websocket.service.js.map +1 -1
  17. package/dist-server/server/modules/websocket/services/websocket-auth.service.js +6 -2
  18. package/dist-server/server/modules/websocket/services/websocket-auth.service.js.map +1 -1
  19. package/dist-server/server/modules/websocket/services/websocket-server.service.js +18 -0
  20. package/dist-server/server/modules/websocket/services/websocket-server.service.js.map +1 -1
  21. package/package.json +3 -2
  22. package/public/modelConstants.js +8 -1
  23. package/server/index.js +115 -56
  24. package/server/modules/providers/list/claude/claude-auth.provider.ts +4 -0
  25. package/server/modules/providers/list/claude/claude-models.provider.ts +9 -4
  26. package/server/modules/providers/services/provider-models.service.ts +33 -0
  27. package/server/modules/providers/tests/provider-models.service.test.ts +31 -0
  28. package/server/modules/websocket/services/shell-websocket.service.ts +13 -2
  29. package/server/modules/websocket/services/websocket-auth.service.ts +7 -2
  30. package/server/modules/websocket/services/websocket-server.service.ts +18 -0
  31. package/dist/assets/index-MOIvpy53.css +0 -32
@@ -97,6 +97,34 @@ test('provider models are cached for the three-day ttl', async () => {
97
97
  await rm(tempRoot, { recursive: true, force: true });
98
98
  }
99
99
  });
100
+ test('claude provider models are always loaded directly from the provider', async () => {
101
+ const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'provider-model-cache-claude-direct-'));
102
+ let loadCount = 0;
103
+ try {
104
+ const service = createProviderModelsService({
105
+ cachePath: path.join(tempRoot, 'models-cache.json'),
106
+ resolveProvider: (provider) => ({
107
+ models: {
108
+ getSupportedModels: async () => {
109
+ loadCount += 1;
110
+ return createModels(`${provider}-${loadCount}`);
111
+ },
112
+ getCurrentActiveModel: async () => createCurrentActiveModel(`${provider}-active`),
113
+ changeActiveModel: async (input) => createSessionActiveModelChange(provider, input),
114
+ },
115
+ }),
116
+ });
117
+ const first = await service.getProviderModels('claude');
118
+ const second = await service.getProviderModels('claude');
119
+ assert.equal(loadCount, 2);
120
+ assert.equal(first.models.DEFAULT, 'claude-1');
121
+ assert.equal(second.models.DEFAULT, 'claude-2');
122
+ assert.equal(second.cache.source, 'fresh');
123
+ }
124
+ finally {
125
+ await rm(tempRoot, { recursive: true, force: true });
126
+ }
127
+ });
100
128
  test('provider model cache is persisted across service instances', async () => {
101
129
  const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'provider-model-cache-file-'));
102
130
  const cachePath = path.join(tempRoot, 'models-cache.json');
@@ -1 +1 @@
1
- {"version":3,"file":"provider-models.service.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/provider-models.service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-models.service.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/provider-models.service.test.ts"],"names":[],"mappings":"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"}
@@ -124,6 +124,7 @@ export function handleShellConnection(ws, dependencies) {
124
124
  const hasSession = readBoolean(data.hasSession);
125
125
  const provider = readString(data.provider, 'claude');
126
126
  const initialCommand = readString(data.initialCommand);
127
+ const forceRestart = readBoolean(data.forceRestart);
127
128
  const isPlainShell = readBoolean(data.isPlainShell) ||
128
129
  (!!initialCommand && !hasSession) ||
129
130
  provider === 'plain-shell';
@@ -137,7 +138,7 @@ export function handleShellConnection(ws, dependencies) {
137
138
  ? `_cmd_${Buffer.from(initialCommand).toString('base64').slice(0, 16)}`
138
139
  : '';
139
140
  ptySessionKey = `${projectPath}_${sessionId ?? 'default'}${commandSuffix}`;
140
- if (isLoginCommand) {
141
+ if (isLoginCommand || forceRestart) {
141
142
  const oldSession = ptySessionsMap.get(ptySessionKey);
142
143
  if (oldSession) {
143
144
  if (oldSession.timeoutId) {
@@ -147,7 +148,7 @@ export function handleShellConnection(ws, dependencies) {
147
148
  ptySessionsMap.delete(ptySessionKey);
148
149
  }
149
150
  }
150
- const existingSession = isLoginCommand ? null : ptySessionsMap.get(ptySessionKey);
151
+ const existingSession = isLoginCommand || forceRestart ? null : ptySessionsMap.get(ptySessionKey);
151
152
  if (existingSession) {
152
153
  shellProcess = existingSession.pty;
153
154
  if (existingSession.timeoutId) {
@@ -265,6 +266,9 @@ export function handleShellConnection(ws, dependencies) {
265
266
  return;
266
267
  }
267
268
  const session = ptySessionsMap.get(ptySessionKey);
269
+ if (session && session.pty !== shellProcess) {
270
+ return;
271
+ }
268
272
  if (session && session.ws && session.ws.readyState === WebSocket.OPEN) {
269
273
  session.ws.send(JSON.stringify({
270
274
  type: 'output',
@@ -331,6 +335,9 @@ export function handleShellConnection(ws, dependencies) {
331
335
  }
332
336
  session.ws = null;
333
337
  session.timeoutId = setTimeout(() => {
338
+ if (ptySessionsMap.get(ptySessionKey) !== session) {
339
+ return;
340
+ }
334
341
  session.pty.kill();
335
342
  ptySessionsMap.delete(ptySessionKey);
336
343
  }, PTY_SESSION_TIMEOUT);
@@ -1 +1 @@
1
- {"version":3,"file":"shell-websocket.service.js","sourceRoot":"","sources":["../../../../../server/modules/websocket/services/shell-websocket.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-websocket.service.js","sourceRoot":"","sources":["../../../../../server/modules/websocket/services/shell-websocket.service.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,12 @@
3
3
  */
4
4
  export function verifyWebSocketClient(info, dependencies) {
5
5
  const request = info.req;
6
- console.log('WebSocket connection attempt to:', request.url);
6
+ const upgradeUrl = new URL(request.url ?? '/', 'http://localhost');
7
+ const loggedUrl = new URL(upgradeUrl);
8
+ if (loggedUrl.searchParams.has('token')) {
9
+ loggedUrl.searchParams.set('token', 'REDACTED');
10
+ }
11
+ console.log('WebSocket connection attempt to:', `${loggedUrl.pathname}${loggedUrl.search}`);
7
12
  // Platform mode: use the first DB user and skip token checks.
8
13
  if (dependencies.isPlatform) {
9
14
  const user = dependencies.authenticateWebSocket(null);
@@ -16,7 +21,6 @@ export function verifyWebSocketClient(info, dependencies) {
16
21
  return true;
17
22
  }
18
23
  // OSS mode: read JWT from query string first, then Authorization header.
19
- const upgradeUrl = new URL(request.url ?? '/', 'http://localhost');
20
24
  const token = upgradeUrl.searchParams.get('token') ??
21
25
  request.headers.authorization?.split(' ')[1] ??
22
26
  null;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-auth.service.js","sourceRoot":"","sources":["../../../../../server/modules/websocket/services/websocket-auth.service.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAA4E,EAC5E,YAAuC;IAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAoC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAE7D,8DAA8D;IAC9D,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,sDAAsD,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yEAAyE;IACzE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACnE,MAAM,KAAK,GACT,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC;IAEP,MAAM,IAAI,GAAG,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"websocket-auth.service.js","sourceRoot":"","sources":["../../../../../server/modules/websocket/services/websocket-auth.service.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAA4E,EAC5E,YAAuC;IAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAoC,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5F,8DAA8D;IAC9D,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,sDAAsD,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yEAAyE;IACzE,MAAM,KAAK,GACT,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC;IAEP,MAAM,IAAI,GAAG,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -13,6 +13,24 @@ export function createWebSocketServer(server, dependencies) {
13
13
  verifyClient: ((info) => verifyWebSocketClient(info, dependencies.verifyClient)),
14
14
  });
15
15
  wss.on('connection', (ws, request) => {
16
+ // Keep WebSocket alive across reverse-proxy idle timeouts (Cloudflare ~100s,
17
+ // AWS ALB 60s, nginx 60s, etc.). Without app-level pings these connections
18
+ // are silently torn down even when the UI is active, causing repeated
19
+ // reconnect cycles. ws library heartbeat is opt-in.
20
+ const HEARTBEAT_INTERVAL_MS = 30_000;
21
+ const heartbeat = setInterval(() => {
22
+ if (ws.readyState === ws.OPEN) {
23
+ try {
24
+ ws.ping();
25
+ }
26
+ catch {
27
+ // socket may have been closed concurrently — interval will be cleared below
28
+ }
29
+ }
30
+ }, HEARTBEAT_INTERVAL_MS);
31
+ const stopHeartbeat = () => clearInterval(heartbeat);
32
+ ws.on('close', stopHeartbeat);
33
+ ws.on('error', stopHeartbeat);
16
34
  const incomingRequest = request;
17
35
  const url = incomingRequest.url ?? '/';
18
36
  const pathname = new URL(url, 'http://localhost').pathname;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-server.service.js","sourceRoot":"","sources":["../../../../../server/modules/websocket/services/websocket-server.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAiC,MAAM,IAAI,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAUhG;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAkB,EAClB,YAAyC;IAEzC,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;QAC9B,MAAM;QACN,YAAY,EAAE,CAAC,CACb,IAA4E,EAC5E,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;KAC7D,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;QACnC,MAAM,eAAe,GAAG,OAAwC,CAAC;QACjE,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,IAAI,GAAG,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC;QAE3D,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,qBAAqB,CAAC,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,oBAAoB,CAAC,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC;QACxD,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"websocket-server.service.js","sourceRoot":"","sources":["../../../../../server/modules/websocket/services/websocket-server.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAiC,MAAM,IAAI,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAUhG;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAkB,EAClB,YAAyC;IAEzC,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;QAC9B,MAAM;QACN,YAAY,EAAE,CAAC,CACb,IAA4E,EAC5E,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;KAC7D,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;QACnC,6EAA6E;QAC7E,2EAA2E;QAC3E,sEAAsE;QACtE,oDAAoD;QACpD,MAAM,qBAAqB,GAAG,MAAM,CAAC;QACrC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,IAAI,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,EAAE,CAAC,IAAI,EAAE,CAAC;gBACZ,CAAC;gBAAC,MAAM,CAAC;oBACP,4EAA4E;gBAC9E,CAAC;YACH,CAAC;QACH,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAC1B,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACrD,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC9B,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAE9B,MAAM,eAAe,GAAG,OAAwC,CAAC;QACjE,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,IAAI,GAAG,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC;QAE3D,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,qBAAqB,CAAC,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,oBAAoB,CAAC,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC;QACxD,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudcli-ai/cloudcli",
3
- "version": "1.33.0",
3
+ "version": "1.33.1",
4
4
  "description": "A web-based UI for Claude Code CLI",
5
5
  "type": "module",
6
6
  "main": "dist-server/server/index.js",
@@ -67,7 +67,7 @@
67
67
  "author": "CloudCLI UI Contributors",
68
68
  "license": "AGPL-3.0-or-later",
69
69
  "dependencies": {
70
- "@anthropic-ai/claude-agent-sdk": "^0.2.116",
70
+ "@anthropic-ai/claude-agent-sdk": "^0.3.165",
71
71
  "@codemirror/lang-css": "^6.3.1",
72
72
  "@codemirror/lang-html": "^6.4.9",
73
73
  "@codemirror/lang-javascript": "^6.2.4",
@@ -96,6 +96,7 @@
96
96
  "cmdk": "^1.1.1",
97
97
  "cors": "^2.8.5",
98
98
  "cross-spawn": "^7.0.3",
99
+ "dompurify": "^3.4.7",
99
100
  "express": "^4.18.2",
100
101
  "fuse.js": "^7.0.0",
101
102
  "gray-matter": "^4.0.3",
@@ -11,7 +11,8 @@ export const CLAUDE_MODELS = {
11
11
  {
12
12
  value: "default",
13
13
  label: "Default (recommended)",
14
- description: "Use the default model (currently Opus 4.7 (1M context)) · $5/$25 per Mtok",
14
+ description:
15
+ "Use the default model (currently Opus 4.8 (1M context)) · $5/$25 per Mtok",
15
16
  },
16
17
  {
17
18
  value: "sonnet",
@@ -23,6 +24,12 @@ export const CLAUDE_MODELS = {
23
24
  label: "Sonnet (1M context)",
24
25
  description: "Sonnet 4.6 for long sessions · $3/$15 per Mtok",
25
26
  },
27
+ {
28
+ value: "opus[1m]",
29
+ label: "Opus 4.8 (1M context)",
30
+ description:
31
+ "Opus 4.8 with 1M context · Most capable for complex work · $5/$25 per Mtok",
32
+ },
26
33
  {
27
34
  value: "haiku",
28
35
  label: "Haiku",
package/server/index.js CHANGED
@@ -1483,74 +1483,133 @@ function permToRwx(perm) {
1483
1483
  return r + w + x;
1484
1484
  }
1485
1485
 
1486
- async function getFileTree(dirPath, maxDepth = 3, currentDepth = 0, showHidden = true) {
1487
- // Using fsPromises from import
1488
- const items = [];
1489
-
1490
- try {
1491
- const entries = await fsPromises.readdir(dirPath, { withFileTypes: true });
1492
-
1493
- for (const entry of entries) {
1494
- // Debug: log all entries including hidden files
1495
-
1496
-
1497
- // Skip heavy build directories and VCS directories
1498
- if (entry.name === 'node_modules' ||
1499
- entry.name === 'dist' ||
1500
- entry.name === 'build' ||
1501
- entry.name === '.git' ||
1502
- entry.name === '.svn' ||
1503
- entry.name === '.hg') continue;
1486
+ // Directories that are almost never interesting for a project tree but can
1487
+ // contain tens of thousands of files. Skipping them before recursion keeps
1488
+ // traversal time bounded on large monorepos and high-latency filesystems
1489
+ // (NFS / SMB).
1490
+ const IGNORED_DIRS = new Set([
1491
+ // JS / TS toolchains
1492
+ 'node_modules', 'dist', 'build', '.next', '.nuxt', '.cache', '.parcel-cache',
1493
+ // VCS
1494
+ '.git', '.svn', '.hg',
1495
+ // Python
1496
+ '__pycache__', '.pytest_cache', '.mypy_cache', '.tox', 'venv', '.venv',
1497
+ // Rust / Go / Java / Ruby
1498
+ 'target', 'vendor',
1499
+ // Build output / IDE
1500
+ '.gradle', '.idea', 'coverage', '.nyc_output'
1501
+ ]);
1502
+
1503
+ const DEFAULT_FS_CONCURRENCY = 64;
1504
+ const parsedFsConcurrency = Number.parseInt(process.env.FS_CONCURRENCY || '', 10);
1505
+ const FS_CONCURRENCY = Number.isFinite(parsedFsConcurrency) && parsedFsConcurrency > 0
1506
+ ? parsedFsConcurrency
1507
+ : DEFAULT_FS_CONCURRENCY;
1508
+ let activeFsOperations = 0;
1509
+ const pendingFsOperations = [];
1510
+
1511
+ async function acquire() {
1512
+ if (activeFsOperations < FS_CONCURRENCY) {
1513
+ activeFsOperations += 1;
1514
+ return;
1515
+ }
1504
1516
 
1505
- const itemPath = path.join(dirPath, entry.name);
1506
- const item = {
1507
- name: entry.name,
1508
- path: itemPath,
1509
- type: entry.isDirectory() ? 'directory' : 'file'
1510
- };
1517
+ await new Promise((resolve) => {
1518
+ pendingFsOperations.push(resolve);
1519
+ });
1520
+ }
1511
1521
 
1512
- // Get file stats for additional metadata
1513
- try {
1514
- const stats = await fsPromises.stat(itemPath);
1515
- item.size = stats.size;
1516
- item.modified = stats.mtime.toISOString();
1517
-
1518
- // Convert permissions to rwx format
1519
- const mode = stats.mode;
1520
- const ownerPerm = (mode >> 6) & 7;
1521
- const groupPerm = (mode >> 3) & 7;
1522
- const otherPerm = mode & 7;
1523
- item.permissions = ((mode >> 6) & 7).toString() + ((mode >> 3) & 7).toString() + (mode & 7).toString();
1524
- item.permissionsRwx = permToRwx(ownerPerm) + permToRwx(groupPerm) + permToRwx(otherPerm);
1525
- } catch (statError) {
1526
- // If stat fails, provide default values
1527
- item.size = 0;
1528
- item.modified = null;
1529
- item.permissions = '000';
1530
- item.permissionsRwx = '---------';
1531
- }
1522
+ function release() {
1523
+ const next = pendingFsOperations.shift();
1524
+ if (next) {
1525
+ next();
1526
+ return;
1527
+ }
1532
1528
 
1533
- if (entry.isDirectory() && currentDepth < maxDepth) {
1534
- // Recursively get subdirectories but limit depth
1535
- try {
1536
- // Check if we can access the directory before trying to read it
1537
- await fsPromises.access(item.path, fs.constants.R_OK);
1538
- item.children = await getFileTree(item.path, maxDepth, currentDepth + 1, showHidden);
1539
- } catch (e) {
1540
- // Silently skip directories we can't access (permission denied, etc.)
1541
- item.children = [];
1542
- }
1543
- }
1529
+ activeFsOperations = Math.max(0, activeFsOperations - 1);
1530
+ }
1544
1531
 
1545
- items.push(item);
1532
+ async function getFileTree(dirPath, maxDepth = 3, currentDepth = 0, showHidden = true) {
1533
+ // Using fsPromises from import
1534
+ let entries;
1535
+ try {
1536
+ await acquire();
1537
+ try {
1538
+ entries = await fsPromises.readdir(dirPath, { withFileTypes: true });
1539
+ } finally {
1540
+ release();
1546
1541
  }
1547
1542
  } catch (error) {
1548
1543
  // Only log non-permission errors to avoid spam
1549
1544
  if (error.code !== 'EACCES' && error.code !== 'EPERM') {
1550
1545
  console.error('Error reading directory:', error);
1551
1546
  }
1547
+ return [];
1552
1548
  }
1553
1549
 
1550
+ const filteredEntries = entries.filter((entry) => !(entry.isDirectory() && IGNORED_DIRS.has(entry.name)));
1551
+
1552
+ // Process every entry in parallel. On high-latency filesystems (NFS/SMB)
1553
+ // serial stat() was the real bottleneck — issuing them concurrently lets
1554
+ // the kernel pipeline the round-trips and the recursive calls overlap too.
1555
+ const items = await Promise.all(filteredEntries.map(async (entry) => {
1556
+ const itemPath = path.join(dirPath, entry.name);
1557
+ const item = {
1558
+ name: entry.name,
1559
+ path: itemPath,
1560
+ type: entry.isDirectory() ? 'directory' : 'file'
1561
+ };
1562
+
1563
+ // Get file stats for additional metadata
1564
+ try {
1565
+ await acquire();
1566
+ try {
1567
+ const stats = await fsPromises.lstat(itemPath);
1568
+ item.size = stats.size;
1569
+ item.modified = stats.mtime.toISOString();
1570
+
1571
+ // Mark symlinks so UI can distinguish them
1572
+ if (stats.isSymbolicLink()) {
1573
+ item.isSymlink = true;
1574
+ }
1575
+
1576
+ // Convert permissions to rwx format
1577
+ const mode = stats.mode;
1578
+ const ownerPerm = (mode >> 6) & 7;
1579
+ const groupPerm = (mode >> 3) & 7;
1580
+ const otherPerm = mode & 7;
1581
+ item.permissions =
1582
+ ((mode >> 6) & 7).toString() +
1583
+ ((mode >> 3) & 7).toString() +
1584
+ (mode & 7).toString();
1585
+ item.permissionsRwx =
1586
+ permToRwx(ownerPerm) +
1587
+ permToRwx(groupPerm) +
1588
+ permToRwx(otherPerm);
1589
+ } finally {
1590
+ release();
1591
+ }
1592
+ } catch (statError) {
1593
+ // If stat fails, provide default values
1594
+ item.size = 0;
1595
+ item.modified = null;
1596
+ item.permissions = '000';
1597
+ item.permissionsRwx = '---------';
1598
+ }
1599
+
1600
+ if (entry.isDirectory() && currentDepth < maxDepth) {
1601
+ // Recurse. Let readdir's own EACCES bubble up through the catch in
1602
+ // the recursive call rather than doing a separate access() probe
1603
+ // (which doubled the round-trip count on SMB without adding info).
1604
+ // The recursive call starts with a bounded readdir; holding a permit
1605
+ // for the whole subtree can deadlock when sibling directories are
1606
+ // waiting on their own children.
1607
+ item.children = await getFileTree(itemPath, maxDepth, currentDepth + 1, showHidden);
1608
+ }
1609
+
1610
+ return item;
1611
+ }));
1612
+
1554
1613
  return items.sort((a, b) => {
1555
1614
  if (a.type !== b.type) {
1556
1615
  return a.type === 'directory' ? -1 : 1;
@@ -83,6 +83,10 @@ export class ClaudeProviderAuth implements IProviderAuth {
83
83
  private async checkCredentials(): Promise<ClaudeCredentialsStatus> {
84
84
  const missingCredentialsError = 'Claude CLI is not authenticated. Run claude /login or configure ANTHROPIC_API_KEY.';
85
85
 
86
+ if (process.env.ANTHROPIC_AUTH_TOKEN?.trim()) {
87
+ return { authenticated: true, email: 'Auth Token', method: 'api_key' };
88
+ }
89
+
86
90
  if (process.env.ANTHROPIC_API_KEY?.trim()) {
87
91
  return { authenticated: true, email: 'API Key Auth', method: 'api_key' };
88
92
  }
@@ -18,18 +18,23 @@ export const CLAUDE_FALLBACK_MODELS: ProviderModelsDefinition = {
18
18
  {
19
19
  value: 'default',
20
20
  label: 'Default (recommended)',
21
- description: 'Use the default model (currently Opus 4.7 (1M context)) · $5/$25 per Mtok',
21
+ description: 'Use the default model (currently Opus 4.8 (1M context)) · $5/$25 per Mtok',
22
22
  },
23
23
  {
24
- value: 'sonnet',
25
- label: 'Sonnet',
26
- description: 'Sonnet 4.6 · Best for everyday tasks · $3/$15 per Mtok',
24
+ value: "sonnet",
25
+ label: "Sonnet",
26
+ description: "Sonnet 4.6 · Best for everyday tasks · $3/$15 per Mtok",
27
27
  },
28
28
  {
29
29
  value: 'sonnet[1m]',
30
30
  label: 'Sonnet (1M context)',
31
31
  description: 'Sonnet 4.6 for long sessions · $3/$15 per Mtok',
32
32
  },
33
+ {
34
+ value: 'opus[1m]',
35
+ label: 'Opus 4.8 (1M context)',
36
+ description: 'Opus 4.8 with 1M context · Most capable for complex work · $5/$25 per Mtok',
37
+ },
33
38
  {
34
39
  value: 'haiku',
35
40
  label: 'Haiku',
@@ -17,6 +17,7 @@ import { readProviderSessionActiveModelChange } from '@/shared/utils.js';
17
17
 
18
18
  export const PROVIDER_MODELS_CACHE_TTL_MS = 3 * 24 * 60 * 60 * 1000;
19
19
  const PROVIDER_MODELS_CACHE_VERSION = 1;
20
+ const UNCACHED_PROVIDERS = new Set<LLMProvider>(['claude']);
20
21
 
21
22
  type ProviderModelsServiceDependencies = {
22
23
  resolveProvider?: (provider: LLMProvider) => Pick<IProvider, 'models'>;
@@ -232,10 +233,42 @@ export const createProviderModelsService = (dependencies: ProviderModelsServiceD
232
233
  return request;
233
234
  };
234
235
 
236
+ const loadDirectModels = (
237
+ provider: LLMProvider,
238
+ ): Promise<ProviderModelsResult> => {
239
+ const request = resolveProvider(provider).models.getSupportedModels()
240
+ .then((models) => {
241
+ const currentTime = now();
242
+ return {
243
+ models,
244
+ cache: {
245
+ updatedAt: new Date(currentTime).toISOString(),
246
+ expiresAt: new Date(currentTime).toISOString(),
247
+ source: 'fresh' as const,
248
+ },
249
+ };
250
+ })
251
+ .finally(() => {
252
+ pendingRequests.delete(provider);
253
+ });
254
+
255
+ pendingRequests.set(provider, request);
256
+ return request;
257
+ };
258
+
235
259
  const getProviderModels = async (
236
260
  provider: LLMProvider,
237
261
  options: ProviderModelsOptions = {},
238
262
  ): Promise<ProviderModelsResult> => {
263
+ if (UNCACHED_PROVIDERS.has(provider)) {
264
+ const pendingRequest = pendingRequests.get(provider);
265
+ if (pendingRequest) {
266
+ return pendingRequest;
267
+ }
268
+
269
+ return loadDirectModels(provider);
270
+ }
271
+
239
272
  if (options.bypassCache) {
240
273
  const pendingRequest = pendingRequests.get(provider);
241
274
  if (pendingRequest) {
@@ -130,6 +130,37 @@ test('provider models are cached for the three-day ttl', async () => {
130
130
  }
131
131
  });
132
132
 
133
+ test('claude provider models are always loaded directly from the provider', async () => {
134
+ const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'provider-model-cache-claude-direct-'));
135
+ let loadCount = 0;
136
+
137
+ try {
138
+ const service = createProviderModelsService({
139
+ cachePath: path.join(tempRoot, 'models-cache.json'),
140
+ resolveProvider: (provider) => ({
141
+ models: {
142
+ getSupportedModels: async () => {
143
+ loadCount += 1;
144
+ return createModels(`${provider}-${loadCount}`);
145
+ },
146
+ getCurrentActiveModel: async () => createCurrentActiveModel(`${provider}-active`),
147
+ changeActiveModel: async (input) => createSessionActiveModelChange(provider, input),
148
+ },
149
+ }),
150
+ });
151
+
152
+ const first = await service.getProviderModels('claude');
153
+ const second = await service.getProviderModels('claude');
154
+
155
+ assert.equal(loadCount, 2);
156
+ assert.equal(first.models.DEFAULT, 'claude-1');
157
+ assert.equal(second.models.DEFAULT, 'claude-2');
158
+ assert.equal(second.cache.source, 'fresh');
159
+ } finally {
160
+ await rm(tempRoot, { recursive: true, force: true });
161
+ }
162
+ });
163
+
133
164
  test('provider model cache is persisted across service instances', async () => {
134
165
  const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'provider-model-cache-file-'));
135
166
  const cachePath = path.join(tempRoot, 'models-cache.json');