clay-server 2.31.0 → 2.32.0-beta.10

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 (82) hide show
  1. package/lib/browser-mcp-server.js +32 -44
  2. package/lib/codex-defaults.js +18 -0
  3. package/lib/debate-mcp-server.js +14 -31
  4. package/lib/mcp-local.js +31 -1
  5. package/lib/project-connection.js +9 -6
  6. package/lib/project-debate.js +8 -0
  7. package/lib/project-filesystem.js +47 -1
  8. package/lib/project-http.js +75 -8
  9. package/lib/project-mate-interaction.js +102 -16
  10. package/lib/project-mcp.js +4 -0
  11. package/lib/project-notifications.js +9 -0
  12. package/lib/project-sessions.js +94 -51
  13. package/lib/project-user-message.js +12 -7
  14. package/lib/project.js +234 -99
  15. package/lib/public/app.js +135 -454
  16. package/lib/public/codex-avatar.png +0 -0
  17. package/lib/public/css/debate.css +3 -2
  18. package/lib/public/css/filebrowser.css +91 -1
  19. package/lib/public/css/icon-strip.css +21 -5
  20. package/lib/public/css/input.css +338 -104
  21. package/lib/public/css/mates.css +43 -0
  22. package/lib/public/css/mention.css +48 -4
  23. package/lib/public/css/menus.css +1 -1
  24. package/lib/public/css/messages.css +2 -0
  25. package/lib/public/css/notifications-center.css +26 -0
  26. package/lib/public/css/tooltip.css +47 -0
  27. package/lib/public/index.html +78 -26
  28. package/lib/public/modules/app-connection.js +138 -37
  29. package/lib/public/modules/app-cursors.js +18 -17
  30. package/lib/public/modules/app-debate-ui.js +9 -9
  31. package/lib/public/modules/app-dm.js +175 -131
  32. package/lib/public/modules/app-favicon.js +28 -26
  33. package/lib/public/modules/app-header.js +79 -68
  34. package/lib/public/modules/app-home-hub.js +55 -47
  35. package/lib/public/modules/app-loop-ui.js +34 -18
  36. package/lib/public/modules/app-loop-wizard.js +6 -6
  37. package/lib/public/modules/app-messages.js +199 -153
  38. package/lib/public/modules/app-misc.js +23 -12
  39. package/lib/public/modules/app-notifications.js +119 -9
  40. package/lib/public/modules/app-panels.js +203 -49
  41. package/lib/public/modules/app-projects.js +161 -150
  42. package/lib/public/modules/app-rate-limit.js +5 -4
  43. package/lib/public/modules/app-rendering.js +149 -101
  44. package/lib/public/modules/app-skills-install.js +4 -4
  45. package/lib/public/modules/context-sources.js +102 -66
  46. package/lib/public/modules/dom-refs.js +21 -0
  47. package/lib/public/modules/filebrowser.js +173 -2
  48. package/lib/public/modules/input.js +122 -0
  49. package/lib/public/modules/markdown.js +5 -1
  50. package/lib/public/modules/mate-sidebar.js +38 -0
  51. package/lib/public/modules/mention.js +24 -6
  52. package/lib/public/modules/scheduler.js +1 -1
  53. package/lib/public/modules/sidebar-mates.js +79 -35
  54. package/lib/public/modules/sidebar-mobile.js +34 -30
  55. package/lib/public/modules/sidebar-projects.js +60 -57
  56. package/lib/public/modules/sidebar-sessions.js +75 -69
  57. package/lib/public/modules/sidebar.js +12 -20
  58. package/lib/public/modules/skills.js +8 -9
  59. package/lib/public/modules/sticky-notes.js +1 -2
  60. package/lib/public/modules/store.js +9 -2
  61. package/lib/public/modules/stt.js +4 -1
  62. package/lib/public/modules/terminal.js +12 -0
  63. package/lib/public/modules/tools.js +18 -13
  64. package/lib/public/modules/tooltip.js +32 -5
  65. package/lib/sdk-bridge.js +562 -1114
  66. package/lib/sdk-message-processor.js +150 -135
  67. package/lib/sdk-worker.js +4 -0
  68. package/lib/server-dm.js +1 -0
  69. package/lib/server.js +86 -1
  70. package/lib/sessions.js +81 -37
  71. package/lib/ws-schema.js +2 -0
  72. package/lib/yoke/adapters/claude-worker.js +559 -0
  73. package/lib/yoke/adapters/claude.js +1483 -0
  74. package/lib/yoke/adapters/codex.js +1121 -0
  75. package/lib/yoke/adapters/gemini.js +709 -0
  76. package/lib/yoke/codex-app-server.js +307 -0
  77. package/lib/yoke/index.js +199 -0
  78. package/lib/yoke/instructions.js +62 -0
  79. package/lib/yoke/interface.js +98 -0
  80. package/lib/yoke/mcp-bridge-server.js +294 -0
  81. package/lib/yoke/package.json +7 -0
  82. package/package.json +3 -1
@@ -6,6 +6,7 @@
6
6
  var tooltipEl = null;
7
7
  var showTimer = null;
8
8
  var SHOW_DELAY = 120;
9
+ var currentTarget = null;
9
10
 
10
11
  function initTooltips() {
11
12
  // Create singleton tooltip element
@@ -18,14 +19,17 @@ function initTooltips() {
18
19
 
19
20
  // Delegate hover events on document for [data-tip]
20
21
  document.addEventListener("mouseover", function (e) {
21
- var target = e.target.closest("[data-tip]");
22
+ var target = e.target.closest("[data-tip], [data-tip-html]");
22
23
  if (!target) return;
24
+ if (target === currentTarget) return; // already showing for this target
23
25
  scheduleShow(target);
24
26
  });
25
27
 
26
28
  document.addEventListener("mouseout", function (e) {
27
- var target = e.target.closest("[data-tip]");
29
+ var target = e.target.closest("[data-tip], [data-tip-html]");
28
30
  if (!target) return;
31
+ // Only hide if we're leaving the target entirely (not moving to a child)
32
+ if (e.relatedTarget && target.contains(e.relatedTarget)) return;
29
33
  cancelShow();
30
34
  hideTooltip();
31
35
  });
@@ -80,10 +84,32 @@ function cancelShow() {
80
84
 
81
85
  function showTooltipAt(target) {
82
86
  if (!tooltipEl) return;
87
+ // Suppress tooltip when an associated popover/picker is open
88
+ var suppressSel = target.getAttribute("data-tip-suppress-when-open");
89
+ if (suppressSel) {
90
+ var openEl = document.querySelector(suppressSel);
91
+ if (openEl && !openEl.classList.contains("hidden")) return;
92
+ }
93
+ var html = target.getAttribute("data-tip-html");
83
94
  var text = target.getAttribute("data-tip");
84
- if (!text) return;
85
-
86
- tooltipEl.textContent = text;
95
+ if (!html && !text) return;
96
+ currentTarget = target;
97
+
98
+ if (html) {
99
+ tooltipEl.innerHTML = html;
100
+ tooltipEl.classList.add("multi-line");
101
+ // Render any lucide icons inside the tooltip
102
+ if (typeof window !== "undefined" && window.lucide && window.lucide.createIcons) {
103
+ window.lucide.createIcons({ icons: window.lucide.icons, nameAttr: "data-lucide", root: tooltipEl });
104
+ }
105
+ } else {
106
+ tooltipEl.textContent = text;
107
+ if (text.indexOf("\n") !== -1) {
108
+ tooltipEl.classList.add("multi-line");
109
+ } else {
110
+ tooltipEl.classList.remove("multi-line");
111
+ }
112
+ }
87
113
  tooltipEl.style.top = "-9999px";
88
114
  tooltipEl.style.left = "0";
89
115
  tooltipEl.style.right = "";
@@ -120,6 +146,7 @@ function hideTooltip() {
120
146
  if (tooltipEl) {
121
147
  tooltipEl.classList.remove("visible");
122
148
  }
149
+ currentTarget = null;
123
150
  }
124
151
 
125
152
  export { initTooltips, registerTooltip };