clay-server 2.43.0 → 2.44.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.
@@ -155,8 +155,8 @@ function attachConnection(ctx) {
155
155
  // Initial per-user preference: how to render Claude sessions.
156
156
  if (usersModule && typeof usersModule.getClaudeOpenMode === "function") {
157
157
  var _comUid = (wsUser && wsUser.id) || null;
158
- var _comVal = _comUid ? usersModule.getClaudeOpenMode(_comUid) : "tui";
159
- sendTo(ws, { type: "claude_open_mode_changed", claudeOpenMode: _comVal || "tui" });
158
+ var _comVal = _comUid ? usersModule.getClaudeOpenMode(_comUid) : "gui";
159
+ sendTo(ws, { type: "claude_open_mode_changed", claudeOpenMode: _comVal || "gui" });
160
160
  }
161
161
 
162
162
  // What's New: push the full entries list (for the home-page feed)
@@ -104,10 +104,10 @@ function attachSessions(ctx) {
104
104
  // Multi-user mode reads per-user storage; single-user mode falls back to
105
105
  // the daemon-level default ('gui').
106
106
  function getClaudeOpenModeForWs(ws) {
107
- if (!usersModule || typeof usersModule.getClaudeOpenMode !== "function") return "tui";
107
+ if (!usersModule || typeof usersModule.getClaudeOpenMode !== "function") return "gui";
108
108
  var uid = ws && ws._clayUser ? ws._clayUser.id : null;
109
- if (!uid) return "tui";
110
- try { return usersModule.getClaudeOpenMode(uid) || "tui"; } catch (e) { return "tui"; }
109
+ if (!uid) return "gui";
110
+ try { return usersModule.getClaudeOpenMode(uid) || "gui"; } catch (e) { return "gui"; }
111
111
  }
112
112
 
113
113
  // Resolve the home directory where Claude Code writes JSONL for a
@@ -360,6 +360,15 @@
360
360
  color: var(--text-muted);
361
361
  }
362
362
 
363
+ /* Padded body for cards that hold free content (not a toggle/field row),
364
+ so their inset matches the 16px used by toggle rows above/below. */
365
+ #user-settings .settings-card-body {
366
+ padding: 14px 16px;
367
+ }
368
+ #user-settings .settings-card-body > .settings-label:first-child {
369
+ margin-bottom: 2px;
370
+ }
371
+
363
372
  /* Auto-approve allow-list editor */
364
373
  #us-claude-allow-list {
365
374
  width: 100%;
@@ -1061,24 +1061,26 @@
1061
1061
  <label class="settings-toggle-row">
1062
1062
  <div>
1063
1063
  <span class="settings-label">Open Claude as terminal (TUI)</span>
1064
- <div class="settings-hint">Render Claude sessions in an embedded `claude` terminal instead of Clay's chat UI. Keeps usage in the Interactive billing bucket (post 2026-06-15 Agent SDK split). Applies on the next session open.</div>
1064
+ <div class="settings-hint">Render Claude sessions in an embedded <code>claude</code> terminal instead of Clay's chat UI. Applies on the next session open.</div>
1065
1065
  </div>
1066
1066
  <input type="checkbox" id="us-claude-open-mode">
1067
1067
  <span class="toggle-track"><span class="toggle-thumb"></span></span>
1068
1068
  </label>
1069
1069
  </div>
1070
1070
  <div class="settings-card">
1071
- <div class="settings-label">Auto-approved commands</div>
1072
- <div class="settings-hint">Extra patterns Clay should pre-approve in your <code>~/.claude/settings.json</code> so TUI sessions don't prompt for them. One per line. Examples: <code>Bash(npm test:*)</code>, <code>Read</code>, <code>mcp__myserver__*</code>. Clay's safe defaults (read-only tools, common git/ls/grep) are always applied on top and shown below for reference.</div>
1073
- <textarea id="us-claude-allow-list" rows="6" spellcheck="false" placeholder="Bash(npm test:*)&#10;Bash(make:*)"></textarea>
1074
- <div class="settings-allow-actions">
1075
- <button type="button" id="us-claude-allow-save" class="settings-action">Save</button>
1076
- <span id="us-claude-allow-status" class="settings-allow-status"></span>
1071
+ <div class="settings-card-body">
1072
+ <div class="settings-label">Auto-approved commands</div>
1073
+ <div class="settings-hint">Extra patterns Clay should pre-approve in your <code>~/.claude/settings.json</code> so TUI sessions don't prompt for them. One per line. Examples: <code>Bash(npm test:*)</code>, <code>Read</code>, <code>mcp__myserver__*</code>. Clay's safe defaults (read-only tools, common git/ls/grep) are always applied on top and shown below for reference.</div>
1074
+ <textarea id="us-claude-allow-list" rows="6" spellcheck="false" placeholder="Bash(npm test:*)&#10;Bash(make:*)"></textarea>
1075
+ <div class="settings-allow-actions">
1076
+ <button type="button" id="us-claude-allow-save" class="settings-action">Save</button>
1077
+ <span id="us-claude-allow-status" class="settings-allow-status"></span>
1078
+ </div>
1079
+ <details class="settings-allow-defaults">
1080
+ <summary>Show Clay's managed defaults</summary>
1081
+ <div id="us-claude-allow-managed" class="settings-allow-managed"></div>
1082
+ </details>
1077
1083
  </div>
1078
- <details class="settings-allow-defaults">
1079
- <summary>Show Clay's managed defaults</summary>
1080
- <div id="us-claude-allow-managed" class="settings-allow-managed"></div>
1081
- </details>
1082
1084
  </div>
1083
1085
  </div>
1084
1086
 
@@ -245,7 +245,10 @@ function attachPreferences(deps) {
245
245
  var CLAUDE_OPEN_MODE_RESET_MS = CLAUDE_OPEN_MODE_CUTOVER_MS;
246
246
 
247
247
  function defaultClaudeOpenMode() {
248
- return (Date.now() >= CLAUDE_OPEN_MODE_CUTOVER_MS) ? "tui" : "gui";
248
+ // Reverted to GUI: the TUI default was a hedge against the (since-cancelled)
249
+ // Agent SDK separate-credit billing. Users who explicitly picked TUI after
250
+ // the cutover keep it (isStoredPreferenceLive); everyone else gets GUI.
251
+ return "gui";
249
252
  }
250
253
 
251
254
  // A stored preference counts only if it was set on or after the reset
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clay-server",
3
- "version": "2.43.0",
3
+ "version": "2.44.0",
4
4
  "description": "Self-hosted team workspace for Claude Code and Codex. Multi-user, browser-based, with persistent AI mates.",
5
5
  "bin": {
6
6
  "clay-server": "./bin/cli.js",