agent-orcha 0.0.5 → 0.0.7

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 (264) hide show
  1. package/README.md +194 -1277
  2. package/dist/lib/agents/agent-executor.d.ts +4 -2
  3. package/dist/lib/agents/agent-executor.d.ts.map +1 -1
  4. package/dist/lib/agents/agent-executor.js +68 -52
  5. package/dist/lib/agents/agent-executor.js.map +1 -1
  6. package/dist/lib/agents/agent-loader.d.ts +3 -0
  7. package/dist/lib/agents/agent-loader.d.ts.map +1 -1
  8. package/dist/lib/agents/agent-loader.js +10 -1
  9. package/dist/lib/agents/agent-loader.js.map +1 -1
  10. package/dist/lib/agents/react-loop.d.ts.map +1 -1
  11. package/dist/lib/agents/react-loop.js +180 -142
  12. package/dist/lib/agents/react-loop.js.map +1 -1
  13. package/dist/lib/agents/types.d.ts +181 -18
  14. package/dist/lib/agents/types.d.ts.map +1 -1
  15. package/dist/lib/agents/types.js +18 -2
  16. package/dist/lib/agents/types.js.map +1 -1
  17. package/dist/lib/functions/function-loader.d.ts +2 -0
  18. package/dist/lib/functions/function-loader.d.ts.map +1 -1
  19. package/dist/lib/functions/function-loader.js +10 -0
  20. package/dist/lib/functions/function-loader.js.map +1 -1
  21. package/dist/lib/integrations/email.d.ts +38 -0
  22. package/dist/lib/integrations/email.d.ts.map +1 -0
  23. package/dist/lib/integrations/email.js +249 -0
  24. package/dist/lib/integrations/email.js.map +1 -0
  25. package/dist/lib/integrations/integration-manager.d.ts +5 -0
  26. package/dist/lib/integrations/integration-manager.d.ts.map +1 -1
  27. package/dist/lib/integrations/integration-manager.js +53 -3
  28. package/dist/lib/integrations/integration-manager.js.map +1 -1
  29. package/dist/lib/integrations/types.d.ts +187 -4
  30. package/dist/lib/integrations/types.d.ts.map +1 -1
  31. package/dist/lib/integrations/types.js +24 -1
  32. package/dist/lib/integrations/types.js.map +1 -1
  33. package/dist/lib/knowledge/knowledge-store.d.ts +6 -0
  34. package/dist/lib/knowledge/knowledge-store.d.ts.map +1 -1
  35. package/dist/lib/knowledge/knowledge-store.js +71 -4
  36. package/dist/lib/knowledge/knowledge-store.js.map +1 -1
  37. package/dist/lib/knowledge/loaders/file-loaders.d.ts +8 -2
  38. package/dist/lib/knowledge/loaders/file-loaders.d.ts.map +1 -1
  39. package/dist/lib/knowledge/loaders/file-loaders.js +89 -60
  40. package/dist/lib/knowledge/loaders/file-loaders.js.map +1 -1
  41. package/dist/lib/knowledge/loaders/web-loader.d.ts +12 -3
  42. package/dist/lib/knowledge/loaders/web-loader.d.ts.map +1 -1
  43. package/dist/lib/knowledge/loaders/web-loader.js +56 -22
  44. package/dist/lib/knowledge/loaders/web-loader.js.map +1 -1
  45. package/dist/lib/knowledge/types.d.ts +56 -20
  46. package/dist/lib/knowledge/types.d.ts.map +1 -1
  47. package/dist/lib/knowledge/types.js +18 -3
  48. package/dist/lib/knowledge/types.js.map +1 -1
  49. package/dist/lib/llm/llm-call-logger.d.ts +3 -1
  50. package/dist/lib/llm/llm-call-logger.d.ts.map +1 -1
  51. package/dist/lib/llm/llm-call-logger.js +31 -26
  52. package/dist/lib/llm/llm-call-logger.js.map +1 -1
  53. package/dist/lib/llm/llm-config.d.ts +8 -0
  54. package/dist/lib/llm/llm-config.d.ts.map +1 -1
  55. package/dist/lib/llm/llm-config.js +3 -1
  56. package/dist/lib/llm/llm-config.js.map +1 -1
  57. package/dist/lib/llm/llm-factory.d.ts.map +1 -1
  58. package/dist/lib/llm/llm-factory.js +3 -0
  59. package/dist/lib/llm/llm-factory.js.map +1 -1
  60. package/dist/lib/llm/providers/anthropic-chat-model.d.ts +5 -1
  61. package/dist/lib/llm/providers/anthropic-chat-model.d.ts.map +1 -1
  62. package/dist/lib/llm/providers/anthropic-chat-model.js +118 -42
  63. package/dist/lib/llm/providers/anthropic-chat-model.js.map +1 -1
  64. package/dist/lib/llm/providers/gemini-chat-model.d.ts +3 -2
  65. package/dist/lib/llm/providers/gemini-chat-model.d.ts.map +1 -1
  66. package/dist/lib/llm/providers/gemini-chat-model.js +83 -24
  67. package/dist/lib/llm/providers/gemini-chat-model.js.map +1 -1
  68. package/dist/lib/llm/providers/openai-chat-model.d.ts +10 -1
  69. package/dist/lib/llm/providers/openai-chat-model.d.ts.map +1 -1
  70. package/dist/lib/llm/providers/openai-chat-model.js +233 -32
  71. package/dist/lib/llm/providers/openai-chat-model.js.map +1 -1
  72. package/dist/lib/logger.d.ts.map +1 -1
  73. package/dist/lib/logger.js +0 -1
  74. package/dist/lib/logger.js.map +1 -1
  75. package/dist/lib/mcp/mcp-client.d.ts.map +1 -1
  76. package/dist/lib/mcp/mcp-client.js +5 -3
  77. package/dist/lib/mcp/mcp-client.js.map +1 -1
  78. package/dist/lib/mcp/types.d.ts +0 -9
  79. package/dist/lib/mcp/types.d.ts.map +1 -1
  80. package/dist/lib/mcp/types.js +1 -2
  81. package/dist/lib/mcp/types.js.map +1 -1
  82. package/dist/lib/memory/memory-manager.d.ts +1 -0
  83. package/dist/lib/memory/memory-manager.d.ts.map +1 -1
  84. package/dist/lib/memory/memory-manager.js +9 -0
  85. package/dist/lib/memory/memory-manager.js.map +1 -1
  86. package/dist/lib/orchestrator.d.ts +2 -8
  87. package/dist/lib/orchestrator.d.ts.map +1 -1
  88. package/dist/lib/orchestrator.js +96 -3
  89. package/dist/lib/orchestrator.js.map +1 -1
  90. package/dist/lib/sandbox/cdp-client.d.ts +14 -0
  91. package/dist/lib/sandbox/cdp-client.d.ts.map +1 -0
  92. package/dist/lib/sandbox/cdp-client.js +113 -0
  93. package/dist/lib/sandbox/cdp-client.js.map +1 -0
  94. package/dist/lib/sandbox/html-to-markdown.d.ts +9 -1
  95. package/dist/lib/sandbox/html-to-markdown.d.ts.map +1 -1
  96. package/dist/lib/sandbox/html-to-markdown.js +67 -10
  97. package/dist/lib/sandbox/html-to-markdown.js.map +1 -1
  98. package/dist/lib/sandbox/index.d.ts +5 -0
  99. package/dist/lib/sandbox/index.d.ts.map +1 -1
  100. package/dist/lib/sandbox/index.js +4 -0
  101. package/dist/lib/sandbox/index.js.map +1 -1
  102. package/dist/lib/sandbox/page-readiness.d.ts +37 -0
  103. package/dist/lib/sandbox/page-readiness.d.ts.map +1 -0
  104. package/dist/lib/sandbox/page-readiness.js +235 -0
  105. package/dist/lib/sandbox/page-readiness.js.map +1 -0
  106. package/dist/lib/sandbox/sandbox-browser.d.ts +4 -0
  107. package/dist/lib/sandbox/sandbox-browser.d.ts.map +1 -0
  108. package/dist/lib/sandbox/sandbox-browser.js +303 -0
  109. package/dist/lib/sandbox/sandbox-browser.js.map +1 -0
  110. package/dist/lib/sandbox/sandbox-file.d.ts +4 -0
  111. package/dist/lib/sandbox/sandbox-file.d.ts.map +1 -0
  112. package/dist/lib/sandbox/sandbox-file.js +168 -0
  113. package/dist/lib/sandbox/sandbox-file.js.map +1 -0
  114. package/dist/lib/sandbox/sandbox-shell.d.ts +4 -0
  115. package/dist/lib/sandbox/sandbox-shell.d.ts.map +1 -0
  116. package/dist/lib/sandbox/sandbox-shell.js +93 -0
  117. package/dist/lib/sandbox/sandbox-shell.js.map +1 -0
  118. package/dist/lib/sandbox/sandbox-web.d.ts.map +1 -1
  119. package/dist/lib/sandbox/sandbox-web.js +37 -22
  120. package/dist/lib/sandbox/sandbox-web.js.map +1 -1
  121. package/dist/lib/sandbox/types.d.ts +9 -0
  122. package/dist/lib/sandbox/types.d.ts.map +1 -1
  123. package/dist/lib/sandbox/types.js +1 -0
  124. package/dist/lib/sandbox/types.js.map +1 -1
  125. package/dist/lib/sandbox/vision-browser.d.ts +4 -0
  126. package/dist/lib/sandbox/vision-browser.d.ts.map +1 -0
  127. package/dist/lib/sandbox/vision-browser.js +289 -0
  128. package/dist/lib/sandbox/vision-browser.js.map +1 -0
  129. package/dist/lib/skills/skill-loader.d.ts +2 -0
  130. package/dist/lib/skills/skill-loader.d.ts.map +1 -1
  131. package/dist/lib/skills/skill-loader.js +12 -1
  132. package/dist/lib/skills/skill-loader.js.map +1 -1
  133. package/dist/lib/tasks/task-manager.d.ts +3 -1
  134. package/dist/lib/tasks/task-manager.d.ts.map +1 -1
  135. package/dist/lib/tasks/task-manager.js +11 -0
  136. package/dist/lib/tasks/task-manager.js.map +1 -1
  137. package/dist/lib/tasks/task-store.d.ts +1 -1
  138. package/dist/lib/tasks/task-store.d.ts.map +1 -1
  139. package/dist/lib/tasks/task-store.js.map +1 -1
  140. package/dist/lib/tasks/types.d.ts +18 -0
  141. package/dist/lib/tasks/types.d.ts.map +1 -1
  142. package/dist/lib/tools/built-in/integration-tools.d.ts +4 -0
  143. package/dist/lib/tools/built-in/integration-tools.d.ts.map +1 -0
  144. package/dist/lib/tools/built-in/integration-tools.js +47 -0
  145. package/dist/lib/tools/built-in/integration-tools.js.map +1 -0
  146. package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.d.ts.map +1 -1
  147. package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.js +12 -6
  148. package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.js.map +1 -1
  149. package/dist/lib/tools/built-in/knowledge-sql.tool.d.ts.map +1 -1
  150. package/dist/lib/tools/built-in/knowledge-sql.tool.js +4 -3
  151. package/dist/lib/tools/built-in/knowledge-sql.tool.js.map +1 -1
  152. package/dist/lib/tools/built-in/query-validators.d.ts.map +1 -1
  153. package/dist/lib/tools/built-in/query-validators.js +4 -0
  154. package/dist/lib/tools/built-in/query-validators.js.map +1 -1
  155. package/dist/lib/tools/workspace/workspace-tools.d.ts +1 -0
  156. package/dist/lib/tools/workspace/workspace-tools.d.ts.map +1 -1
  157. package/dist/lib/tools/workspace/workspace-tools.js +39 -0
  158. package/dist/lib/tools/workspace/workspace-tools.js.map +1 -1
  159. package/dist/lib/triggers/cron-trigger.d.ts +1 -1
  160. package/dist/lib/triggers/cron-trigger.d.ts.map +1 -1
  161. package/dist/lib/triggers/cron-trigger.js.map +1 -1
  162. package/dist/lib/triggers/trigger-manager.d.ts +1 -0
  163. package/dist/lib/triggers/trigger-manager.d.ts.map +1 -1
  164. package/dist/lib/triggers/trigger-manager.js +26 -0
  165. package/dist/lib/triggers/trigger-manager.js.map +1 -1
  166. package/dist/lib/triggers/webhook-trigger.d.ts +1 -1
  167. package/dist/lib/triggers/webhook-trigger.d.ts.map +1 -1
  168. package/dist/lib/triggers/webhook-trigger.js.map +1 -1
  169. package/dist/lib/types/llm-types.d.ts +22 -4
  170. package/dist/lib/types/llm-types.d.ts.map +1 -1
  171. package/dist/lib/types/llm-types.js +50 -0
  172. package/dist/lib/types/llm-types.js.map +1 -1
  173. package/dist/lib/types/tool-factory.d.ts +2 -2
  174. package/dist/lib/types/tool-factory.d.ts.map +1 -1
  175. package/dist/lib/types/tool-factory.js.map +1 -1
  176. package/dist/lib/utils/env-substitution.d.ts +6 -0
  177. package/dist/lib/utils/env-substitution.d.ts.map +1 -0
  178. package/dist/lib/utils/env-substitution.js +15 -0
  179. package/dist/lib/utils/env-substitution.js.map +1 -0
  180. package/dist/lib/workflows/react-workflow-executor.js +3 -3
  181. package/dist/lib/workflows/react-workflow-executor.js.map +1 -1
  182. package/dist/lib/workflows/types.d.ts +10 -10
  183. package/dist/lib/workflows/workflow-loader.d.ts +3 -0
  184. package/dist/lib/workflows/workflow-loader.d.ts.map +1 -1
  185. package/dist/lib/workflows/workflow-loader.js +10 -1
  186. package/dist/lib/workflows/workflow-loader.js.map +1 -1
  187. package/dist/public/chat.html +114 -0
  188. package/dist/public/index.html +157 -0
  189. package/dist/public/src/components/AgentComposer.js +807 -0
  190. package/dist/public/src/components/AgentsView.js +740 -317
  191. package/dist/public/src/components/AppRoot.js +30 -5
  192. package/dist/public/src/components/GraphView.js +372 -288
  193. package/dist/public/src/components/IdeView.js +163 -7
  194. package/dist/public/src/components/MonitorView.js +139 -1
  195. package/dist/public/src/components/StandaloneChat.js +889 -0
  196. package/dist/public/src/components/WorkflowsView.js +180 -28
  197. package/dist/public/src/services/ApiService.js +7 -2
  198. package/dist/public/src/services/SessionStore.js +83 -0
  199. package/dist/public/src/store.js +0 -2
  200. package/dist/public/src/utils/markdown.js +13 -0
  201. package/dist/src/cli/index.js +7 -4
  202. package/dist/src/cli/index.js.map +1 -1
  203. package/dist/src/middleware/auth.d.ts.map +1 -1
  204. package/dist/src/middleware/auth.js +28 -6
  205. package/dist/src/middleware/auth.js.map +1 -1
  206. package/dist/src/middleware/rate-limit.d.ts +8 -0
  207. package/dist/src/middleware/rate-limit.d.ts.map +1 -0
  208. package/dist/src/middleware/rate-limit.js +21 -0
  209. package/dist/src/middleware/rate-limit.js.map +1 -0
  210. package/dist/src/routes/agents.route.d.ts.map +1 -1
  211. package/dist/src/routes/agents.route.js +136 -10
  212. package/dist/src/routes/agents.route.js.map +1 -1
  213. package/dist/src/routes/chat.route.d.ts +3 -0
  214. package/dist/src/routes/chat.route.d.ts.map +1 -0
  215. package/dist/src/routes/chat.route.js +155 -0
  216. package/dist/src/routes/chat.route.js.map +1 -0
  217. package/dist/src/routes/files.route.d.ts.map +1 -1
  218. package/dist/src/routes/files.route.js +37 -2
  219. package/dist/src/routes/files.route.js.map +1 -1
  220. package/dist/src/routes/llm.route.d.ts.map +1 -1
  221. package/dist/src/routes/llm.route.js +40 -5
  222. package/dist/src/routes/llm.route.js.map +1 -1
  223. package/dist/src/routes/tasks.route.d.ts.map +1 -1
  224. package/dist/src/routes/tasks.route.js +15 -1
  225. package/dist/src/routes/tasks.route.js.map +1 -1
  226. package/dist/src/routes/vnc.route.d.ts +3 -0
  227. package/dist/src/routes/vnc.route.d.ts.map +1 -0
  228. package/dist/src/routes/vnc.route.js +49 -0
  229. package/dist/src/routes/vnc.route.js.map +1 -0
  230. package/dist/src/server.d.ts.map +1 -1
  231. package/dist/src/server.js +5 -1
  232. package/dist/src/server.js.map +1 -1
  233. package/dist/templates/Demo.md +152 -0
  234. package/dist/templates/README.md +12 -3
  235. package/dist/templates/agents/architect.agent.yaml +20 -12
  236. package/dist/templates/agents/chatbot.agent.yaml +23 -26
  237. package/dist/templates/agents/corporate.agent.yaml +65 -0
  238. package/dist/templates/agents/investment-analyst.agent.yaml +80 -0
  239. package/dist/templates/agents/music-librarian.agent.yaml +70 -0
  240. package/dist/templates/agents/network-security.agent.yaml +82 -0
  241. package/dist/templates/agents/transport-security.agent.yaml +70 -0
  242. package/dist/templates/agents/web-engineer.agent.yaml +99 -0
  243. package/dist/templates/agents/web-pilot.agent.yaml +58 -0
  244. package/dist/templates/knowledge/music-store/LICENSE.md +11 -0
  245. package/dist/templates/knowledge/music-store/musicstore.sqlite +0 -0
  246. package/dist/templates/knowledge/music-store/tables.png +0 -0
  247. package/dist/templates/knowledge/music-store.knowledge.yaml +138 -0
  248. package/dist/templates/knowledge/org-chart/personnel.csv +21 -21
  249. package/dist/templates/knowledge/org-chart.knowledge.yaml +4 -0
  250. package/dist/templates/knowledge/pet-store.knowledge.yaml +3 -0
  251. package/dist/templates/knowledge/security-incidents/incidents.json +55935 -0
  252. package/dist/templates/knowledge/security-incidents.knowledge.yaml +46 -0
  253. package/dist/templates/knowledge/{example.knowledge.yaml → transcripts.knowledge.yaml} +9 -5
  254. package/dist/templates/knowledge/transport-ot/systems.csv +117 -0
  255. package/dist/templates/knowledge/transport-ot.knowledge.yaml +55 -0
  256. package/dist/templates/llm.json +7 -30
  257. package/dist/templates/mcp.json +7 -4
  258. package/dist/templates/skills/orcha-builder/SKILL.md +106 -226
  259. package/dist/templates/skills/pii-guard/SKILL.md +22 -0
  260. package/dist/templates/skills/sandbox/SKILL.md +25 -48
  261. package/dist/templates/skills/web-pilot/SKILL.md +51 -0
  262. package/package.json +8 -3
  263. package/dist/templates/agents/knowledge-broker.agent.yaml +0 -39
  264. package/dist/templates/agents/sandbox.agent.yaml +0 -56
@@ -47,6 +47,9 @@
47
47
  <!-- Ace Editor -->
48
48
  <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.32.6/ace.js"></script>
49
49
 
50
+ <!-- js-yaml -->
51
+ <script src="https://cdn.jsdelivr.net/npm/js-yaml@4.1.0/dist/js-yaml.min.js"></script>
52
+
50
53
  <!-- vis.js Network (graph visualization) -->
51
54
  <script src="https://unpkg.com/vis-network@9.1.9/standalone/umd/vis-network.min.js"></script>
52
55
 
@@ -194,6 +197,24 @@
194
197
  animation: pulse-dot 1.5s ease-in-out infinite;
195
198
  }
196
199
 
200
+ @keyframes fadeIn {
201
+ from { opacity: 0; }
202
+ to { opacity: 1; }
203
+ }
204
+ @keyframes slideUp {
205
+ from { opacity: 0; transform: translateY(8px); }
206
+ to { opacity: 1; transform: translateY(0); }
207
+ }
208
+ .modal-backdrop { animation: fadeIn 0.15s ease-out; }
209
+ .modal-content { animation: slideUp 0.2s ease-out; }
210
+
211
+ /* Sidebar slide for mobile */
212
+ @keyframes slideInLeft {
213
+ from { transform: translateX(-100%); }
214
+ to { transform: translateX(0); }
215
+ }
216
+ .sidebar-open { animation: slideInLeft 0.2s ease-out; }
217
+
197
218
  .markdown-content blockquote {
198
219
  border-left: 3px solid #475569;
199
220
  padding-left: 1em;
@@ -216,6 +237,142 @@
216
237
  background: rgba(255, 255, 255, 0.05);
217
238
  font-weight: 600;
218
239
  }
240
+
241
+ /* Welcome orca */
242
+ .welcome-container {
243
+ display: flex;
244
+ flex-direction: column;
245
+ align-items: center;
246
+ justify-content: center;
247
+ height: 100%;
248
+ gap: 2rem;
249
+ }
250
+
251
+ .welcome-orca {
252
+ width: 200px;
253
+ height: 140px;
254
+ animation: orca-swim 4s ease-in-out infinite;
255
+ filter: drop-shadow(0 0 12px rgba(0, 255, 255, 0.3));
256
+ }
257
+
258
+ .welcome-orca .orca-body {
259
+ fill: none;
260
+ stroke: #0ff;
261
+ stroke-width: 1.5;
262
+ stroke-linejoin: round;
263
+ stroke-linecap: round;
264
+ opacity: 0.7;
265
+ }
266
+
267
+ .welcome-orca .orca-detail {
268
+ fill: none;
269
+ stroke: #0ff;
270
+ stroke-width: 1;
271
+ opacity: 0.4;
272
+ }
273
+
274
+ .welcome-orca .orca-eye {
275
+ fill: #0ff;
276
+ opacity: 0.8;
277
+ }
278
+
279
+ .welcome-orca .orca-patch {
280
+ fill: rgba(0, 255, 255, 0.08);
281
+ stroke: #0ff;
282
+ stroke-width: 0.8;
283
+ opacity: 0.4;
284
+ }
285
+
286
+ @keyframes orca-swim {
287
+ 0%, 100% { transform: translateY(0) rotate(0deg); }
288
+ 30% { transform: translateY(-10px) rotate(-1.5deg); }
289
+ 70% { transform: translateY(10px) rotate(1.5deg); }
290
+ }
291
+
292
+ .welcome-text {
293
+ color: #67e8f9;
294
+ font-size: 0.95rem;
295
+ opacity: 0.7;
296
+ text-align: center;
297
+ letter-spacing: 0.05em;
298
+ }
299
+
300
+ /* Session reset banner */
301
+ .session-reset-banner {
302
+ display: flex;
303
+ align-items: center;
304
+ gap: 12px;
305
+ padding: 16px 0;
306
+ margin: 8px 0;
307
+ }
308
+
309
+ .session-reset-line {
310
+ flex: 1;
311
+ height: 1px;
312
+ background: #f59e0b33;
313
+ }
314
+
315
+ .session-reset-label {
316
+ display: flex;
317
+ align-items: center;
318
+ gap: 6px;
319
+ color: #f59e0b;
320
+ font-size: 0.75rem;
321
+ white-space: nowrap;
322
+ opacity: 0.8;
323
+ }
324
+
325
+ /* Tools popover */
326
+ .tools-badge-wrapper {
327
+ position: relative;
328
+ display: inline-flex;
329
+ }
330
+
331
+ .tools-popover {
332
+ display: none;
333
+ position: absolute;
334
+ top: calc(100% + 6px);
335
+ left: 50%;
336
+ transform: translateX(-50%);
337
+ background: #1e293b;
338
+ border: 1px solid #334155;
339
+ border-radius: 8px;
340
+ padding: 6px 0;
341
+ min-width: 180px;
342
+ max-height: 240px;
343
+ overflow-y: auto;
344
+ z-index: 50;
345
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
346
+ }
347
+
348
+ .tools-popover::before {
349
+ content: '';
350
+ position: absolute;
351
+ top: -4px;
352
+ left: 50%;
353
+ transform: translateX(-50%) rotate(45deg);
354
+ width: 8px;
355
+ height: 8px;
356
+ background: #1e293b;
357
+ border-left: 1px solid #334155;
358
+ border-top: 1px solid #334155;
359
+ }
360
+
361
+ .tools-badge-wrapper:hover .tools-popover {
362
+ display: block;
363
+ }
364
+
365
+ .tools-popover-item {
366
+ padding: 4px 12px;
367
+ font-size: 0.75rem;
368
+ color: #cbd5e1;
369
+ font-family: 'JetBrains Mono', monospace;
370
+ white-space: nowrap;
371
+ }
372
+
373
+ .tools-popover-item:hover {
374
+ background: #334155;
375
+ }
219
376
  </style>
220
377
  </head>
221
378