clay-server 2.27.0-beta.14 → 2.27.0-beta.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.
@@ -569,6 +569,10 @@ function attachMateInteraction(ctx) {
569
569
  onDone: mentionCallbacks.onDone,
570
570
  onError: mentionCallbacks.onError,
571
571
  canUseTool: function (toolName, input, toolOpts) {
572
+ // Full-auto mode: auto-approve everything except AskUserQuestion
573
+ if (sm.currentPermissionMode === "bypassPermissions" && toolName !== "AskUserQuestion") {
574
+ return Promise.resolve({ behavior: "allow", updatedInput: input });
575
+ }
572
576
  // Use the shared whitelist from sdk-bridge (read-only tools + safe bash commands)
573
577
  var whitelisted = sdk.checkToolWhitelist(toolName, input);
574
578
  if (whitelisted) return Promise.resolve(whitelisted);
@@ -701,6 +701,16 @@ function renderMobileSessionsInto(container) {
701
701
  });
702
702
  container.appendChild(newBtn);
703
703
 
704
+ var importBtn = document.createElement("button");
705
+ importBtn.className = "mobile-session-new";
706
+ importBtn.innerHTML = '<i data-lucide="import" style="width:16px;height:16px"></i> Import session';
707
+ importBtn.addEventListener("click", function () {
708
+ closeMobileSheet();
709
+ var targetBtn = document.getElementById("resume-session-btn");
710
+ if (targetBtn) setTimeout(function () { targetBtn.click(); }, 250);
711
+ });
712
+ container.appendChild(importBtn);
713
+
704
714
  // Partition: loop sessions vs normal sessions (same logic as desktop renderSessionList)
705
715
  var sessions = getCachedSessions();
706
716
  var loopGroups = {};
package/lib/sdk-bridge.js CHANGED
@@ -1038,6 +1038,12 @@ function createSDKBridge(opts) {
1038
1038
  }
1039
1039
 
1040
1040
  function handleCanUseTool(session, toolName, input, opts) {
1041
+ // Full-auto mode: auto-approve everything except AskUserQuestion
1042
+ // (which still needs to go through the user interaction flow).
1043
+ if (sm.currentPermissionMode === "bypassPermissions" && toolName !== "AskUserQuestion") {
1044
+ return Promise.resolve({ behavior: "allow", updatedInput: input });
1045
+ }
1046
+
1041
1047
  // Ralph Loop execution: auto-approve all tools, deny interactive ones.
1042
1048
  // Crafting sessions are interactive — user and Claude collaborate to build PROMPT.md / JUDGE.md.
1043
1049
  if (session.loop && session.loop.active && session.loop.role !== "crafting") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clay-server",
3
- "version": "2.27.0-beta.14",
3
+ "version": "2.27.0-beta.16",
4
4
  "description": "Self-hosted Claude Code in your browser. Multi-session, multi-user, push notifications.",
5
5
  "bin": {
6
6
  "clay-server": "./bin/cli.js",