@oro.ad/nuxt-claude-devtools 1.2.0 → 1.3.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.
Files changed (115) hide show
  1. package/README.md +105 -13
  2. package/dist/client/200.html +1 -1
  3. package/dist/client/404.html +1 -1
  4. package/dist/client/_nuxt/B8uzckkK.js +1 -0
  5. package/dist/client/_nuxt/{CPQSDiF7.js → BAb1fJOF.js} +4 -4
  6. package/dist/client/_nuxt/BB1-kxmm.js +1 -0
  7. package/dist/client/_nuxt/BMZIbUUD.js +1 -0
  8. package/dist/client/_nuxt/BSF2Vz9o.js +1 -0
  9. package/dist/client/_nuxt/BSVkH7b6.js +1 -0
  10. package/dist/client/_nuxt/{08Mb3FOO.js → BYp73eMl.js} +1 -1
  11. package/dist/client/_nuxt/B_BoWmnX.js +1 -0
  12. package/dist/client/_nuxt/BcZxFXBD.js +1 -0
  13. package/dist/client/_nuxt/BflmC3YB.js +1 -0
  14. package/dist/client/_nuxt/BnXQTjo-.js +1 -0
  15. package/dist/client/_nuxt/C--9REmc.js +1 -0
  16. package/dist/client/_nuxt/CDQtmRaX.js +1 -0
  17. package/dist/client/_nuxt/CHeJJZL9.js +1 -0
  18. package/dist/client/_nuxt/{CSlPuO5s.js → COus5Ssl.js} +1 -1
  19. package/dist/client/_nuxt/{o1jjB-UO.js → CPA0s6N9.js} +1 -1
  20. package/dist/client/_nuxt/CRkq21kc.js +1 -0
  21. package/dist/client/_nuxt/Cgba93Y9.js +1 -0
  22. package/dist/client/_nuxt/D2l4TRxW.js +1 -0
  23. package/dist/client/_nuxt/DC_XB519.js +1 -0
  24. package/dist/client/_nuxt/DEys9N1G.js +1 -0
  25. package/dist/client/_nuxt/{b4Upel01.js → DGQ4s7ae.js} +1 -1
  26. package/dist/client/_nuxt/DH8Ugy8E.js +1 -0
  27. package/dist/client/_nuxt/DSt96JPY.js +4 -0
  28. package/dist/client/_nuxt/DbJLoP3G.js +1 -0
  29. package/dist/client/_nuxt/DeGmaFBY.js +1 -0
  30. package/dist/client/_nuxt/DgfRwrFR.js +1 -0
  31. package/dist/client/_nuxt/{CLKqRoht.js → DolUcBed.js} +1 -1
  32. package/dist/client/_nuxt/M6QPYocW.js +1 -0
  33. package/dist/client/_nuxt/QumocfwJ.js +1 -0
  34. package/dist/client/_nuxt/TQi6eIO6.js +1 -0
  35. package/dist/client/_nuxt/V4UvAcd3.js +1 -0
  36. package/dist/client/_nuxt/builds/latest.json +1 -1
  37. package/dist/client/_nuxt/builds/meta/2be12f06-336a-4fdd-b982-2f6c682c14a6.json +1 -0
  38. package/dist/client/_nuxt/d8BPa19J.js +1 -0
  39. package/dist/client/_nuxt/entry.BMxUr06A.css +1 -0
  40. package/dist/client/_nuxt/qbS8UemQ.js +1 -0
  41. package/dist/client/_nuxt/wDw60tEC.js +10 -0
  42. package/dist/client/_nuxt/xEjB6ozD.js +1 -0
  43. package/dist/client/agents/index.html +1 -1
  44. package/dist/client/commands/index.html +1 -1
  45. package/dist/client/docs/index.html +1 -1
  46. package/dist/client/index.html +1 -1
  47. package/dist/client/mcp/index.html +1 -1
  48. package/dist/client/plugins/index.html +1 -0
  49. package/dist/client/settings/index.html +1 -0
  50. package/dist/client/skills/index.html +1 -1
  51. package/dist/module.d.mts +12 -1
  52. package/dist/module.json +1 -1
  53. package/dist/module.mjs +27 -5
  54. package/dist/runtime/constants.d.ts +29 -0
  55. package/dist/runtime/constants.js +5 -0
  56. package/dist/runtime/overlay/components/ChatOverlay.d.vue.ts +7 -0
  57. package/dist/runtime/overlay/components/ChatOverlay.vue +893 -0
  58. package/dist/runtime/overlay/components/ChatOverlay.vue.d.ts +7 -0
  59. package/dist/runtime/overlay/components/MarkdownContent.d.vue.ts +6 -0
  60. package/dist/runtime/overlay/components/MarkdownContent.vue +31 -0
  61. package/dist/runtime/overlay/components/MarkdownContent.vue.d.ts +6 -0
  62. package/dist/runtime/overlay/components/ToolCallBlock.d.vue.ts +8 -0
  63. package/dist/runtime/overlay/components/ToolCallBlock.vue +77 -0
  64. package/dist/runtime/overlay/components/ToolCallBlock.vue.d.ts +8 -0
  65. package/dist/runtime/overlay/plugin.client.d.ts +6 -0
  66. package/dist/runtime/overlay/plugin.client.js +29 -0
  67. package/dist/runtime/server/agents-manager.d.ts +17 -4
  68. package/dist/runtime/server/agents-manager.js +38 -109
  69. package/dist/runtime/server/base-resource-manager.d.ts +90 -0
  70. package/dist/runtime/server/base-resource-manager.js +201 -0
  71. package/dist/runtime/server/claude-session.d.ts +11 -1
  72. package/dist/runtime/server/claude-session.js +246 -27
  73. package/dist/runtime/server/commands-manager.d.ts +12 -4
  74. package/dist/runtime/server/commands-manager.js +25 -100
  75. package/dist/runtime/server/constants.d.ts +94 -0
  76. package/dist/runtime/server/constants.js +18 -0
  77. package/dist/runtime/server/docs-manager.d.ts +7 -0
  78. package/dist/runtime/server/docs-manager.js +112 -3
  79. package/dist/runtime/server/history-manager.d.ts +1 -0
  80. package/dist/runtime/server/history-manager.js +25 -3
  81. package/dist/runtime/server/plugins/socket.io.js +5 -3
  82. package/dist/runtime/server/plugins-manager.d.ts +84 -0
  83. package/dist/runtime/server/plugins-manager.js +338 -0
  84. package/dist/runtime/server/settings-manager.d.ts +17 -0
  85. package/dist/runtime/server/settings-manager.js +70 -0
  86. package/dist/runtime/server/share-manager.d.ts +24 -0
  87. package/dist/runtime/server/share-manager.js +96 -0
  88. package/dist/runtime/server/skills-manager.d.ts +18 -4
  89. package/dist/runtime/server/skills-manager.js +32 -159
  90. package/dist/runtime/shared/composables/useClaudeChat.d.ts +35 -0
  91. package/dist/runtime/shared/composables/useClaudeChat.js +264 -0
  92. package/dist/runtime/shared/composables/useShare.d.ts +42 -0
  93. package/dist/runtime/shared/composables/useShare.js +192 -0
  94. package/dist/runtime/shared/composables/useVoiceInput.d.ts +8 -0
  95. package/dist/runtime/shared/composables/useVoiceInput.js +77 -0
  96. package/dist/runtime/shared/constants.d.ts +28 -0
  97. package/dist/runtime/shared/constants.js +6 -0
  98. package/dist/runtime/shared/index.d.ts +9 -0
  99. package/dist/runtime/shared/index.js +5 -0
  100. package/dist/runtime/shared/types.d.ts +48 -0
  101. package/dist/runtime/shared/types.js +0 -0
  102. package/dist/runtime/types.d.ts +2 -0
  103. package/dist/types.d.mts +1 -1
  104. package/package.json +5 -3
  105. package/dist/client/_nuxt/BMi2eT6G.js +0 -1
  106. package/dist/client/_nuxt/BiBLVxWh.js +0 -1
  107. package/dist/client/_nuxt/BnRGpZsC.js +0 -8
  108. package/dist/client/_nuxt/C2GhPw5d.js +0 -7
  109. package/dist/client/_nuxt/D8683igF.js +0 -7
  110. package/dist/client/_nuxt/DBIw6BGF.js +0 -1
  111. package/dist/client/_nuxt/DCgjfr8H.js +0 -9
  112. package/dist/client/_nuxt/bl5iU4Kz.js +0 -1
  113. package/dist/client/_nuxt/builds/meta/35284331-5e85-46e0-9058-988fea05336c.json +0 -1
  114. package/dist/client/_nuxt/entry.BhHeZ_Nj.css +0 -1
  115. package/dist/client/_nuxt/nKfsBgPE.js +0 -4
package/README.md CHANGED
@@ -9,18 +9,30 @@ Nuxt DevTools integration for [Claude Code](https://claude.ai/code) AI assistant
9
9
 
10
10
  ## Features
11
11
 
12
+ ### Core
12
13
  - **Chat Interface** — Interactive chat with Claude AI directly in DevTools
14
+ - **Overlay Mode** — Lightweight floating chat panel that works without DevTools (`devtools: false`)
13
15
  - **Streaming Responses** — Real-time streaming output from Claude
14
- - **Context Chips** — Send viewport size, browser info, and routing context with messages
15
- - **Component Picker** — Select Vue components from the page to add as context
16
+ - **Voice Input** — Speech-to-text for hands-free messaging
16
17
  - **Session Management** — Start new conversations or continue previous ones
17
18
  - **Chat History** — Browse and restore previous conversations
19
+
20
+ ### Context & Integration
21
+ - **Context Chips** — Send viewport size, browser info, and routing context with messages
22
+ - **Component Picker** — Select Vue components from the page to add as context
23
+ - **LLMS Sources** — Configure external documentation URLs (llms.txt format)
24
+
25
+ ### Extensibility
18
26
  - **Skills** — Markdown-based skills to extend Claude's capabilities (`.claude/skills/<name>/SKILL.md`)
19
27
  - **Subagents** — Specialized AI agents for delegated tasks (`.claude/agents/<name>.md`)
20
28
  - **Slash Commands** — Custom commands with YAML frontmatter (`.claude/commands/<name>.md`)
21
29
  - **Documentation** — Manage project docs that Claude can reference (`.claude/docs/`)
22
30
  - **MCP Servers** — Manage Model Context Protocol servers (add, remove, list)
31
+
32
+ ### Collaboration & Access
33
+ - **Collaborative Mode** — Share chat sessions with team members via link
23
34
  - **Tunnel Support** — Remote access via cloudflared tunnel
35
+ - **Mobile Support** — Responsive bottom-sheet UI with swipe gestures
24
36
 
25
37
  ## Prerequisites
26
38
 
@@ -73,6 +85,29 @@ export default defineNuxtConfig({
73
85
  | `claude.command` | `string` | `'claude'` | Path to Claude CLI executable |
74
86
  | `claude.args` | `string[]` | `[]` | Additional arguments for Claude CLI |
75
87
 
88
+ ## Overlay Mode
89
+
90
+ When you don't need full DevTools integration, use overlay mode for a lightweight chat experience:
91
+
92
+ ```ts
93
+ export default defineNuxtConfig({
94
+ modules: ['@oro.ad/nuxt-claude-devtools'],
95
+
96
+ devtools: {
97
+ enabled: false, // Disable DevTools
98
+ },
99
+
100
+ claudeDevtools: {
101
+ enabled: true,
102
+ },
103
+ })
104
+ ```
105
+
106
+ The overlay appears as a floating button (FAB) in the corner of your app:
107
+ - **Desktop**: Draggable floating panel, `Ctrl+Shift+K` to toggle
108
+ - **Mobile**: Full-width bottom sheet with swipe-to-close
109
+ - **Features**: Voice input, slash commands, markdown rendering, collaborative sharing
110
+
76
111
  ## Usage
77
112
 
78
113
  ### Chat Interface
@@ -201,6 +236,34 @@ Example MCP servers:
201
236
  - **GitHub**: `npx -y @modelcontextprotocol/server-github`
202
237
  - **Nuxt UI**: `https://ui.nuxt.com/mcp` (HTTP)
203
238
 
239
+ ### Collaborative Mode
240
+
241
+ Share your chat session with team members:
242
+
243
+ 1. Click the **Share** button in the chat header
244
+ 2. Enter a nickname (required for collaboration)
245
+ 3. Copy and share the generated link
246
+ 4. Team members opening the link join the same session
247
+
248
+ Features:
249
+ - Real-time message sync between all participants
250
+ - Nicknames displayed on messages from other users
251
+ - Own messages appear on the right (green), others on the left (purple)
252
+ - Share links can include pre-set nicknames via `oro_share_nickname` URL parameter
253
+
254
+ ### LLMS Sources
255
+
256
+ Configure external documentation URLs in llms.txt format:
257
+
258
+ 1. Go to the **Docs** tab in DevTools
259
+ 2. Add URLs to documentation sources
260
+ 3. Claude can fetch and use these when answering questions
261
+
262
+ Supported formats:
263
+ - Direct markdown URLs
264
+ - llms.txt manifest files
265
+ - API documentation endpoints
266
+
204
267
  ## Architecture
205
268
 
206
269
  ```
@@ -215,10 +278,22 @@ Example MCP servers:
215
278
  │ │ - /skills Skills manager │ │
216
279
  │ │ - /agents Subagents manager │ │
217
280
  │ │ - /commands Slash commands manager │ │
218
- │ │ - /docs Documentation viewer │ │
281
+ │ │ - /docs Documentation & LLMS sources │ │
219
282
  │ │ - /mcp MCP servers config │ │
283
+ │ │ - /plugins Plugin marketplace │ │
220
284
  │ └───────────────────────────────────────────────────┘ │
221
285
  └─────────────────────────────────────────────────────────┘
286
+ │ │
287
+ │ Socket.IO │ (or)
288
+ ▼ ▼
289
+ ┌──────────────────────┐ ┌──────────────────────────────┐
290
+ │ Chat Overlay │ │ Multiple Clients │
291
+ │ (Floating Panel) │ │ (Collaborative Mode) │
292
+ │ │ │ │
293
+ │ - Desktop: Draggable│ │ Client A ◄──┐ │
294
+ │ - Mobile: Bottom │ │ Client B ◄──┼── Shared │
295
+ │ sheet with swipe │ │ Client C ◄──┘ Session │
296
+ └──────────────────────┘ └──────────────────────────────┘
222
297
 
223
298
  │ Socket.IO
224
299
 
@@ -226,15 +301,16 @@ Example MCP servers:
226
301
  │ Claude Session Server │
227
302
  │ ┌─────────────────┐ ┌─────────────────────────────┐│
228
303
  │ │ Socket.IO Hub │───▶│ Claude CLI Process ││
229
- │ │ │ │ (spawn with --continue) ││
304
+ │ │ │ │ (spawn with --resume) ││
230
305
  │ │ Managers: │ └─────────────────────────────┘│
231
306
  │ │ - Skills │ │
232
307
  │ │ - Agents │ ┌─────────────────────────────┐│
233
308
  │ │ - Commands │ │ File Storage ││
234
- │ │ - Docs │ │ .claude/skills/ ││
235
- │ │ - History │ │ .claude/agents/ ││
236
- └─────────────────┘ │ .claude/commands/ ││
237
- │ .claude/docs/ ││
309
+ │ │ - Docs │ │ .claude-devtools/ ││
310
+ │ │ - History │ │ .claude/skills/ ││
311
+ │ - Share │ │ .claude/agents/ ││
312
+ - Plugins │ │ .claude/commands/ ││
313
+ │ └─────────────────┘ │ .claude/docs/ ││
238
314
  │ └─────────────────────────────┘│
239
315
  └─────────────────────────────────────────────────────────┘
240
316
  ```
@@ -287,27 +363,43 @@ npm run lint
287
363
  │ ├── devtools.ts # DevTools UI setup
288
364
  │ └── runtime/
289
365
  │ ├── logger.ts # Logging utility
366
+ │ ├── overlay/ # Lightweight chat overlay
367
+ │ │ └── components/
368
+ │ │ ├── ChatOverlay.vue # Main overlay component
369
+ │ │ ├── MarkdownContent.vue # Markdown renderer
370
+ │ │ └── ToolCallBlock.vue # Tool call display
371
+ │ ├── shared/ # Shared code (overlay + client)
372
+ │ │ ├── composables/
373
+ │ │ │ ├── useClaudeChat.ts # Chat logic
374
+ │ │ │ ├── useVoiceInput.ts # Speech recognition
375
+ │ │ │ └── useShare.ts # Collaborative sharing
376
+ │ │ ├── types.ts # TypeScript types
377
+ │ │ └── constants.ts # Shared constants
290
378
  │ └── server/
291
379
  │ ├── claude-session.ts # Socket.IO server & Claude process
292
380
  │ ├── skills-manager.ts # Skills CRUD operations
293
381
  │ ├── agents-manager.ts # Agents CRUD operations
294
382
  │ ├── commands-manager.ts # Commands CRUD operations
295
- │ ├── docs-manager.ts # Documentation management
296
- └── history-manager.ts # Chat history management
383
+ │ ├── docs-manager.ts # Documentation & LLMS management
384
+ ├── history-manager.ts # Chat history management
385
+ │ ├── share-manager.ts # Collaborative session management
386
+ │ └── plugins-manager.ts # Plugin marketplace
297
387
  ├── client/ # DevTools panel UI (Nuxt app)
298
388
  │ ├── pages/
299
389
  │ │ ├── index.vue # Chat interface
300
390
  │ │ ├── skills.vue # Skills manager
301
391
  │ │ ├── agents.vue # Subagents manager
302
392
  │ │ ├── commands.vue # Slash commands manager
303
- │ │ ├── docs.vue # Documentation viewer
304
- │ │ └── mcp.vue # MCP servers management
393
+ │ │ ├── docs.vue # Documentation & LLMS viewer
394
+ │ │ ├── mcp.vue # MCP servers management
395
+ │ │ └── plugins.vue # Plugin marketplace
305
396
  │ ├── composables/
306
397
  │ │ ├── useClaudeChat.ts # Socket, messages, session
307
398
  │ │ ├── useMessageContext.ts # Context chips logic
308
399
  │ │ ├── useVoiceInput.ts # Speech recognition
309
400
  │ │ ├── useAutocomplete.ts # Docs/commands autocomplete
310
- │ │ └── useComponentPicker.ts # Component selection
401
+ │ │ ├── useComponentPicker.ts # Component selection
402
+ │ │ └── useShare.ts # Collaborative sharing
311
403
  │ └── nuxt.config.ts
312
404
  └── playground/ # Development playground
313
405
  ```
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__claude-devtools/_nuxt/entry.BhHeZ_Nj.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__claude-devtools/_nuxt/nKfsBgPE.js"><script type="module" src="/__claude-devtools/_nuxt/nKfsBgPE.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{claudeDevtoolsBc:{tunnel:""}},app:{baseURL:"/__claude-devtools",buildId:"35284331-5e85-46e0-9058-988fea05336c",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1769481734083,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__claude-devtools/_nuxt/entry.BMxUr06A.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__claude-devtools/_nuxt/DSt96JPY.js"><script type="module" src="/__claude-devtools/_nuxt/DSt96JPY.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{claudeDevtoolsBc:{tunnel:""}},app:{baseURL:"/__claude-devtools",buildId:"2be12f06-336a-4fdd-b982-2f6c682c14a6",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1769952369240,false]</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__claude-devtools/_nuxt/entry.BhHeZ_Nj.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__claude-devtools/_nuxt/nKfsBgPE.js"><script type="module" src="/__claude-devtools/_nuxt/nKfsBgPE.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{claudeDevtoolsBc:{tunnel:""}},app:{baseURL:"/__claude-devtools",buildId:"35284331-5e85-46e0-9058-988fea05336c",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1769481734084,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__claude-devtools/_nuxt/entry.BMxUr06A.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__claude-devtools/_nuxt/DSt96JPY.js"><script type="module" src="/__claude-devtools/_nuxt/DSt96JPY.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{claudeDevtoolsBc:{tunnel:""}},app:{baseURL:"/__claude-devtools",buildId:"2be12f06-336a-4fdd-b982-2f6c682c14a6",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1769952369240,false]</script></body></html>
@@ -0,0 +1 @@
1
+ import{g as O,U as q,z as j,r as B,e as k,j as T,V as N,W as U,X as E,Y as I,R as A,Z as L,$ as V,a0 as w,a1 as D,s as b,a2 as _,a3 as F,S as H,a4 as z,a5 as W,a6 as M,a7 as $}from"./DSt96JPY.js";const G=(...t)=>t.find(o=>o!==void 0);function Q(t){const o=t.componentName||"NuxtLink";function v(e){return typeof e=="string"&&e.startsWith("#")}function S(e,u,f){const r=f??t.trailingSlash;if(!e||r!=="append"&&r!=="remove")return e;if(typeof e=="string")return R(e,r);const l="path"in e&&e.path!==void 0?e.path:u(e).path;return{...e,name:void 0,path:R(l,r)}}function C(e){const u=q(),f=H(),r=b(()=>!!e.target&&e.target!=="_self"),l=b(()=>{const i=e.to||e.href||"";return typeof i=="string"&&_(i,{acceptRelative:!0})}),m=L("RouterLink"),h=typeof m!="string"?m.useLink:void 0,c=b(()=>{if(e.external)return!0;const i=e.to||e.href||"";return typeof i=="object"?!1:i===""||l.value}),n=b(()=>{const i=e.to||e.href||"";return c.value?i:S(i,u.resolve,e.trailingSlash)}),g=c.value?void 0:h?.({...e,to:n}),y=b(()=>{const i=e.trailingSlash??t.trailingSlash;if(!n.value||l.value||v(n.value))return n.value;if(c.value){const p=typeof n.value=="object"&&"path"in n.value?w(n.value):n.value,x=typeof p=="object"?u.resolve(p).href:p;return R(x,i)}return typeof n.value=="object"?u.resolve(n.value)?.href??null:R(F(f.app.baseURL,n.value),i)});return{to:n,hasTarget:r,isAbsoluteUrl:l,isExternal:c,href:y,isActive:g?.isActive??b(()=>n.value===u.currentRoute.value.path),isExactActive:g?.isExactActive??b(()=>n.value===u.currentRoute.value.path),route:g?.route??b(()=>u.resolve(n.value)),async navigate(i){await z(y.value,{replace:e.replace,external:c.value||r.value})}}}return O({name:o,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:C,setup(e,{slots:u}){const f=q(),{to:r,href:l,navigate:m,isExternal:h,hasTarget:c,isAbsoluteUrl:n}=C(e),g=j(!1),y=B(null),i=s=>{y.value=e.custom?s?.$el?.nextElementSibling:s?.$el};function p(s){return!g.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===s:e.prefetchOn?.[s]??t.prefetchOn?.[s])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!Z()}async function x(s=k()){if(g.value)return;g.value=!0;const d=typeof r.value=="string"?r.value:h.value?w(r.value):f.resolve(r.value).fullPath,a=h.value?new URL(d,window.location.href).href:d;await Promise.all([s.hooks.callHook("link:prefetch",a).catch(()=>{}),!h.value&&!c.value&&D(r.value,f).catch(()=>{})])}if(p("visibility")){const s=k();let d,a=null;T(()=>{const P=X();N(()=>{d=U(()=>{y?.value?.tagName&&(a=P.observe(y.value,async()=>{a?.(),a=null,await x(s)}))})})}),E(()=>{d&&I(d),a?.(),a=null})}return()=>{if(!h.value&&!c.value&&!v(r.value)){const a={ref:i,to:r.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(p("interaction")&&(a.onPointerenter=x.bind(null,void 0),a.onFocus=x.bind(null,void 0)),g.value&&(a.class=e.prefetchedClass||t.prefetchedClass),a.rel=e.rel||void 0),A(L("RouterLink"),a,u.default)}const s=e.target||null,d=G(e.noRel?"":e.rel,t.externalRelAttribute,n.value||c.value?"noopener noreferrer":"")||null;return e.custom?u.default?u.default({href:l.value,navigate:m,prefetch:x,get route(){if(!l.value)return;const a=new URL(l.value,window.location.href);return{path:a.pathname,fullPath:a.pathname,get query(){return V(a.search)},hash:a.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:l.value}},rel:d,target:s,isExternal:h.value||c.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:y,href:l.value||null,rel:d,target:s,onClick:a=>{if(!(h.value||c.value))return a.preventDefault(),e.replace?f.replace(l.value):f.push(l.value)}},u.default?.())}}})}const K=Q($);function R(t,o){const v=o==="append"?W:M;return _(t)&&!t.startsWith("http")?t:v(t,!0)}function X(){const t=k();if(t._observer)return t._observer;let o=null;const v=new Map,S=(e,u)=>(o||=new IntersectionObserver(f=>{for(const r of f){const l=v.get(r.target);(r.isIntersecting||r.intersectionRatio>0)&&l&&l()}}),v.set(e,u),o.observe(e),()=>{v.delete(e),o?.unobserve(e),v.size===0&&(o?.disconnect(),o=null)});return t._observer={observe:S}}const Y=/2g/;function Z(){const t=navigator.connection;return!!(t&&(t.saveData||Y.test(t.effectiveType)))}export{K as _};
@@ -1,12 +1,12 @@
1
- import{_ as me}from"./bl5iU4Kz.js";import{u as fe,a as pe,l as be,b as xe,_ as ge,c as ye}from"./BiBLVxWh.js";import{_ as ke}from"./CSlPuO5s.js";import{_ as _e}from"./DBIw6BGF.js";import{g as Ce,r as c,q as we,j as Le,k as De,c as i,a as t,b as l,w as d,d as o,n as V,T as Ue,o as n,l as x,t as p,s as G,F as _,m as H,x as J,p as K,y as he}from"./nKfsBgPE.js";const Ae={class:"relative flex flex-col h-screen n-bg-base"},Se={class:"flex items-center justify-between p-4"},Ee={class:"flex items-center gap-3"},Ve={class:"text-xl font-bold flex items-center gap-2"},Me={class:"flex items-center gap-2"},Ne={class:"px-4 flex gap-2 border-b border-neutral-200 dark:border-neutral-800"},je={class:"flex-1 overflow-auto p-4"},$e={key:0,class:"h-full flex flex-col"},Te={class:"flex items-center justify-between mb-4"},Fe={class:"text-lg font-semibold flex items-center gap-2"},Pe={key:0,class:"text-xs opacity-40 mt-1"},Re={class:"flex gap-2"},Be={key:0,class:"mb-4"},ze={class:"flex-1 n-bg-active rounded-lg overflow-hidden"},Ie={key:1,class:"h-full p-4 overflow-auto"},We={key:2,class:"h-full flex items-center justify-center opacity-50"},qe={class:"text-center"},Ye={key:1,class:"flex gap-4 h-full"},Ge={class:"w-64 flex-shrink-0 space-y-4"},He={key:0,class:"n-bg-active rounded-lg p-4 opacity-50 text-sm"},Je={key:0,class:"text-xs opacity-50 font-medium px-2 pt-2"},Ke=["onClick"],Oe={class:"flex items-center justify-between"},Qe={class:"flex items-center gap-2 truncate"},Xe={class:"truncate"},Ze={class:"text-xs opacity-40 pl-6"},et={class:"flex-1 flex flex-col n-bg-active rounded-lg overflow-hidden"},tt={class:"p-4 border-b border-neutral-200 dark:border-neutral-800"},lt={key:0,class:"mb-4"},ot={class:"space-y-4"},nt={class:"flex-1 p-4"},st={class:"p-4 border-t border-neutral-200 dark:border-neutral-800 flex gap-2"},at={class:"p-4 border-b border-neutral-200 dark:border-neutral-800 flex items-center justify-between"},it={class:"font-bold"},ut={class:"text-xs opacity-50"},dt={class:"flex gap-2"},rt={class:"flex-1 p-4 overflow-auto"},ct={key:2,class:"flex-1 flex items-center justify-center opacity-50"},vt={class:"text-center"},mt={key:2,class:"space-y-4"},ft={key:0,class:"n-bg-active rounded-lg p-4"},pt={key:0,class:"mb-4"},bt={class:"space-y-4"},xt={class:"flex gap-2"},gt={key:1,class:"n-bg-active rounded-lg p-4 opacity-50"},yt={key:2,class:"space-y-2"},kt={class:"flex items-start justify-between"},_t={class:"flex-1"},Ct={class:"font-bold flex items-center gap-2"},wt={class:"text-sm opacity-70 font-mono mt-1"},Lt={key:0,class:"text-sm opacity-50 mt-1"},Dt={class:"text-xs opacity-40 mt-2"},Mt=Ce({__name:"docs",setup(Ut){const W=fe(),{log:C}=pe("docs"),a=c(null),w=c(!1),M=c(!1),q=c([]),v=c(null),y=c(!1),g=c(""),N=c(!1),L=c(""),j=c(""),Y=c([]),h=c(!1),A=c(""),$=c(""),T=c(""),S=c(""),F=c(!1),P=c(null),E=c(!1),k=c(""),m=c(""),b=c("claudemd"),X=we(()=>{const u={"":[]};for(const e of q.value){const B=e.path.split("/");if(B.length>1){const r=B.slice(0,-1).join("/");u[r]||(u[r]=[]),u[r].push(e)}else u[""].push(e)}return u});function Z(){return W.isActive.value&&W.origin.value?W.origin.value:window.location.origin}function ee(){const u=Z();C("Connecting to socket at",u),a.value=be(u,{path:"/__claude_devtools_socket",transports:["websocket","polling"],reconnection:!0,reconnectionAttempts:5}),a.value.on("connect",()=>{C("Connected"),w.value=!0,O()}),a.value.on("disconnect",()=>{C("Disconnected"),w.value=!1}),a.value.on("docs:list",e=>{C("Docs list received",e.length),q.value=e,M.value=!1}),a.value.on("docs:file",e=>{e&&(v.value=e,g.value=e.content)}),a.value.on("docs:saved",e=>{e.success&&e.file?(v.value=e.file,g.value=e.file.content,y.value=!1,N.value=!1,L.value="",j.value="",m.value=""):m.value=e.error||"Failed to save"}),a.value.on("docs:deleted",e=>{e.success&&v.value?.path===e.path&&(v.value=null,y.value=!1)}),a.value.on("llms:list",e=>{C("LLMS list received",e.length),Y.value=e}),a.value.on("llms:added",e=>{e.success?(h.value=!1,A.value="",$.value="",T.value="",m.value=""):m.value=e.error||"Failed to add"}),a.value.on("claudemd:data",e=>{C("CLAUDE.md data received",e.exists),S.value=e.content,F.value=e.exists,P.value=e.updatedAt,k.value=e.content}),a.value.on("claudemd:saved",e=>{e.success?(S.value=e.content||"",F.value=!0,P.value=e.updatedAt||null,k.value=e.content||"",E.value=!1,m.value=""):m.value=e.error||"Failed to save"})}function O(){a.value&&(M.value=!0,a.value.emit("docs:list"),a.value.emit("llms:list"),a.value.emit("claudemd:get"))}function te(){k.value=S.value,E.value=!0}function le(){a.value&&a.value.emit("claudemd:save",k.value)}function oe(){k.value=S.value,E.value=!1}function ne(u){v.value=u,g.value=u.content,y.value=!1}function se(){v.value&&(g.value=v.value.content,y.value=!0)}function ae(){a.value&&v.value&&a.value.emit("docs:save",{path:v.value.path,content:g.value})}function ie(){v.value&&(g.value=v.value.content),y.value=!1}function ue(){if(!L.value.trim()){m.value="Path is required";return}a.value&&a.value.emit("docs:save",{path:L.value.trim(),content:j.value||`# ${L.value.split("/").pop()?.replace(".md","")||"New Doc"}
1
+ import{_ as me}from"./B8uzckkK.js";import{_ as fe}from"./QumocfwJ.js";import{_ as pe}from"./M6QPYocW.js";import{_ as be}from"./C--9REmc.js";import{_ as xe}from"./COus5Ssl.js";import{_ as ge}from"./CDQtmRaX.js";import{g as ye,r as c,s as ke,j as _e,k as Ce,c as i,a as t,b as l,w as d,d as o,q as V,T as we,o as n,m as x,t as p,l as K,F as _,n as O,x as Y,p as G,y as Le}from"./DSt96JPY.js";import{u as De,a as Ue,l as he,S as Ae}from"./DeGmaFBY.js";const Se={class:"relative flex flex-col h-screen n-bg-base"},Ee={class:"flex items-center justify-between p-4"},Ve={class:"flex items-center gap-3"},Me={class:"text-xl font-bold flex items-center gap-2"},Ne={class:"flex items-center gap-2"},je={class:"px-4 flex gap-2 border-b border-neutral-200 dark:border-neutral-800"},$e={class:"flex-1 overflow-auto p-4"},Te={key:0,class:"h-full flex flex-col"},Fe={class:"flex items-center justify-between mb-4"},Pe={class:"text-lg font-semibold flex items-center gap-2"},Re={key:0,class:"text-xs opacity-40 mt-1"},Be={class:"flex gap-2"},ze={key:0,class:"mb-4"},Ie={class:"flex-1 n-bg-active rounded-lg overflow-hidden"},We={key:1,class:"h-full p-4 overflow-auto"},qe={key:2,class:"h-full flex items-center justify-center opacity-50"},He={class:"text-center"},Ke={key:1,class:"flex gap-4 h-full"},Oe={class:"w-64 flex-shrink-0 space-y-4"},Ye={key:0,class:"n-bg-active rounded-lg p-4 opacity-50 text-sm"},Ge={key:0,class:"text-xs opacity-50 font-medium px-2 pt-2"},Je=["onClick"],Qe={class:"flex items-center justify-between"},Xe={class:"flex items-center gap-2 truncate"},Ze={class:"truncate"},et={class:"text-xs opacity-40 pl-6"},tt={class:"flex-1 flex flex-col n-bg-active rounded-lg overflow-hidden"},lt={class:"p-4 border-b border-neutral-200 dark:border-neutral-800"},ot={key:0,class:"mb-4"},nt={class:"space-y-4"},st={class:"flex-1 p-4"},at={class:"p-4 border-t border-neutral-200 dark:border-neutral-800 flex gap-2"},it={class:"p-4 border-b border-neutral-200 dark:border-neutral-800 flex items-center justify-between"},ut={class:"font-bold"},dt={class:"text-xs opacity-50"},rt={class:"flex gap-2"},ct={class:"flex-1 p-4 overflow-auto"},vt={key:2,class:"flex-1 flex items-center justify-center opacity-50"},mt={class:"text-center"},ft={key:2,class:"space-y-4"},pt={key:0,class:"n-bg-active rounded-lg p-4"},bt={key:0,class:"mb-4"},xt={class:"space-y-4"},gt={class:"flex gap-2"},yt={key:1,class:"n-bg-active rounded-lg p-4 opacity-50"},kt={key:2,class:"space-y-2"},_t={class:"flex items-start justify-between"},Ct={class:"flex-1"},wt={class:"font-bold flex items-center gap-2"},Lt={class:"text-sm opacity-70 font-mono mt-1"},Dt={key:0,class:"text-sm opacity-50 mt-1"},Ut={class:"text-xs opacity-40 mt-2"},Tt=ye({__name:"docs",setup(ht){const W=De(),{log:C}=Ue("docs"),a=c(null),w=c(!1),M=c(!1),q=c([]),v=c(null),y=c(!1),g=c(""),N=c(!1),L=c(""),j=c(""),H=c([]),h=c(!1),A=c(""),$=c(""),T=c(""),S=c(""),F=c(!1),P=c(null),E=c(!1),k=c(""),m=c(""),b=c("claudemd"),X=ke(()=>{const u={"":[]};for(const e of q.value){const B=e.path.split("/");if(B.length>1){const r=B.slice(0,-1).join("/");u[r]||(u[r]=[]),u[r].push(e)}else u[""].push(e)}return u});function Z(){return W.isActive.value&&W.origin.value?W.origin.value:window.location.origin}function ee(){const u=Z();C("Connecting to socket at",u),a.value=he(u,{path:Ae,transports:["websocket","polling"],reconnection:!0,reconnectionAttempts:5}),a.value.on("connect",()=>{C("Connected"),w.value=!0,J()}),a.value.on("disconnect",()=>{C("Disconnected"),w.value=!1}),a.value.on("docs:list",e=>{C("Docs list received",e.length),q.value=e,M.value=!1}),a.value.on("docs:file",e=>{e&&(v.value=e,g.value=e.content)}),a.value.on("docs:saved",e=>{e.success&&e.file?(v.value=e.file,g.value=e.file.content,y.value=!1,N.value=!1,L.value="",j.value="",m.value=""):m.value=e.error||"Failed to save"}),a.value.on("docs:deleted",e=>{e.success&&v.value?.path===e.path&&(v.value=null,y.value=!1)}),a.value.on("llms:list",e=>{C("LLMS list received",e.length),H.value=e}),a.value.on("llms:added",e=>{e.success?(h.value=!1,A.value="",$.value="",T.value="",m.value=""):m.value=e.error||"Failed to add"}),a.value.on("claudemd:data",e=>{C("CLAUDE.md data received",e.exists),S.value=e.content,F.value=e.exists,P.value=e.updatedAt,k.value=e.content}),a.value.on("claudemd:saved",e=>{e.success?(S.value=e.content||"",F.value=!0,P.value=e.updatedAt||null,k.value=e.content||"",E.value=!1,m.value=""):m.value=e.error||"Failed to save"})}function J(){a.value&&(M.value=!0,a.value.emit("docs:list"),a.value.emit("llms:list"),a.value.emit("claudemd:get"))}function te(){k.value=S.value,E.value=!0}function le(){a.value&&a.value.emit("claudemd:save",k.value)}function oe(){k.value=S.value,E.value=!1}function ne(u){v.value=u,g.value=u.content,y.value=!1}function se(){v.value&&(g.value=v.value.content,y.value=!0)}function ae(){a.value&&v.value&&a.value.emit("docs:save",{path:v.value.path,content:g.value})}function ie(){v.value&&(g.value=v.value.content),y.value=!1}function ue(){if(!L.value.trim()){m.value="Path is required";return}a.value&&a.value.emit("docs:save",{path:L.value.trim(),content:j.value||`# ${L.value.split("/").pop()?.replace(".md","")||"New Doc"}
2
2
 
3
- `})}function de(u){confirm(`Delete "${u}"?`)&&a.value&&a.value.emit("docs:delete",u)}function re(){if(!A.value.trim()){m.value="URL is required";return}let u=A.value.trim();!u.startsWith("http://")&&!u.startsWith("https://")&&(u="https://"+u),a.value&&a.value.emit("llms:add",{url:u,title:$.value.trim()||void 0,description:T.value.trim()||void 0})}function ce(u){confirm(`Remove "${u}"?`)&&a.value&&a.value.emit("llms:remove",u)}function R(u){return new Date(u).toLocaleDateString()}return Le(()=>{ee()}),De(()=>{a.value&&a.value.disconnect()}),(u,e)=>{const B=me,r=ge,f=xe,D=ye,Q=ke,z=_e;return n(),i("div",Ae,[t("div",Se,[t("div",Ee,[l(B,{class:"text-sm opacity-50 hover:opacity-100",to:"/"},{default:d(()=>[...e[14]||(e[14]=[o(" ← Chat ",-1)])]),_:1}),t("h1",Ve,[l(r,{class:"text-purple",icon:"carbon:document"}),e[15]||(e[15]=o(" Docs & LLMS ",-1))])]),t("div",Me,[l(f,{disabled:!w.value||M.value,n:"gray",onClick:O},{default:d(()=>[l(r,{class:V([{"animate-spin":M.value},"mr-1"]),icon:"carbon:restart"},null,8,["class"]),e[16]||(e[16]=o(" Refresh ",-1))]),_:1},8,["disabled"])])]),t("div",Ne,[t("button",{class:V([b.value==="claudemd"?"border-b-2 border-green-500 text-green-500":"opacity-60","px-4 py-2 font-medium"]),onClick:e[0]||(e[0]=s=>b.value="claudemd")},[l(r,{class:"mr-1",icon:"carbon:document-tasks"}),e[17]||(e[17]=o(" CLAUDE.md ",-1))],2),t("button",{class:V([b.value==="docs"?"border-b-2 border-purple-500 text-purple-500":"opacity-60","px-4 py-2 font-medium"]),onClick:e[1]||(e[1]=s=>b.value="docs")},[l(r,{class:"mr-1",icon:"carbon:folder"}),e[18]||(e[18]=o(" .claude/docs ",-1))],2),t("button",{class:V([b.value==="llms"?"border-b-2 border-blue-500 text-blue-500":"opacity-60","px-4 py-2 font-medium"]),onClick:e[2]||(e[2]=s=>b.value="llms")},[l(r,{class:"mr-1",icon:"carbon:link"}),e[19]||(e[19]=o(" LLMS Sources ",-1))],2)]),t("div",je,[l(Ue,{appear:"",mode:"out-in",name:"page"},{default:d(()=>[b.value==="claudemd"?(n(),i("div",$e,[t("div",Te,[t("div",null,[t("h2",Fe,[l(r,{icon:"carbon:document-tasks"}),e[20]||(e[20]=o(" CLAUDE.md ",-1))]),e[21]||(e[21]=t("p",{class:"text-sm opacity-50"}," Project-level instructions for Claude. Located at project root. ",-1)),P.value?(n(),i("p",Pe," Updated: "+p(R(P.value)),1)):x("",!0)]),t("div",Re,[E.value?(n(),i(_,{key:0},[l(f,{n:"green",onClick:le},{default:d(()=>[l(r,{class:"mr-1",icon:"carbon:save"}),e[22]||(e[22]=o(" Save ",-1))]),_:1}),l(f,{n:"gray",onClick:oe},{default:d(()=>[...e[23]||(e[23]=[o(" Cancel ",-1)])]),_:1})],64)):(n(),G(f,{key:1,disabled:!w.value,n:"blue",onClick:te},{default:d(()=>[l(r,{class:"mr-1",icon:"carbon:edit"}),o(" "+p(F.value?"Edit":"Create"),1)]),_:1},8,["disabled"]))])]),m.value&&b.value==="claudemd"?(n(),i("div",Be,[l(D,{icon:"carbon:warning",n:"red"},{default:d(()=>[o(p(m.value),1)]),_:1})])):x("",!0),t("div",ze,[E.value?H((n(),i("textarea",{key:0,"onUpdate:modelValue":e[3]||(e[3]=s=>k.value=s),class:"w-full h-full p-4 font-mono text-sm n-bg-base resize-none focus:outline-none",placeholder:`# CLAUDE.md
3
+ `})}function de(u){confirm(`Delete "${u}"?`)&&a.value&&a.value.emit("docs:delete",u)}function re(){if(!A.value.trim()){m.value="URL is required";return}let u=A.value.trim();!u.startsWith("http://")&&!u.startsWith("https://")&&(u="https://"+u),a.value&&a.value.emit("llms:add",{url:u,title:$.value.trim()||void 0,description:T.value.trim()||void 0})}function ce(u){confirm(`Remove "${u}"?`)&&a.value&&a.value.emit("llms:remove",u)}function R(u){return new Date(u).toLocaleDateString()}return _e(()=>{ee()}),Ce(()=>{a.value&&a.value.disconnect()}),(u,e)=>{const B=me,r=fe,f=pe,D=be,Q=xe,z=ge;return n(),i("div",Se,[t("div",Ee,[t("div",Ve,[l(B,{class:"text-sm opacity-50 hover:opacity-100",to:"/"},{default:d(()=>[...e[14]||(e[14]=[o(" ← Chat ",-1)])]),_:1}),t("h1",Me,[l(r,{class:"text-purple",icon:"carbon:document"}),e[15]||(e[15]=o(" Docs & LLMS ",-1))])]),t("div",Ne,[l(f,{disabled:!w.value||M.value,n:"gray",onClick:J},{default:d(()=>[l(r,{class:V([{"animate-spin":M.value},"mr-1"]),icon:"carbon:restart"},null,8,["class"]),e[16]||(e[16]=o(" Refresh ",-1))]),_:1},8,["disabled"])])]),t("div",je,[t("button",{class:V([b.value==="claudemd"?"border-b-2 border-green-500 text-green-500":"opacity-60","px-4 py-2 font-medium"]),onClick:e[0]||(e[0]=s=>b.value="claudemd")},[l(r,{class:"mr-1",icon:"carbon:document-tasks"}),e[17]||(e[17]=o(" CLAUDE.md ",-1))],2),t("button",{class:V([b.value==="docs"?"border-b-2 border-purple-500 text-purple-500":"opacity-60","px-4 py-2 font-medium"]),onClick:e[1]||(e[1]=s=>b.value="docs")},[l(r,{class:"mr-1",icon:"carbon:folder"}),e[18]||(e[18]=o(" .claude/docs ",-1))],2),t("button",{class:V([b.value==="llms"?"border-b-2 border-blue-500 text-blue-500":"opacity-60","px-4 py-2 font-medium"]),onClick:e[2]||(e[2]=s=>b.value="llms")},[l(r,{class:"mr-1",icon:"carbon:link"}),e[19]||(e[19]=o(" LLMS Sources ",-1))],2)]),t("div",$e,[l(we,{appear:"",mode:"out-in",name:"page"},{default:d(()=>[b.value==="claudemd"?(n(),i("div",Te,[t("div",Fe,[t("div",null,[t("h2",Pe,[l(r,{icon:"carbon:document-tasks"}),e[20]||(e[20]=o(" CLAUDE.md ",-1))]),e[21]||(e[21]=t("p",{class:"text-sm opacity-50"}," Project-level instructions for Claude. Located at project root. ",-1)),P.value?(n(),i("p",Re," Updated: "+p(R(P.value)),1)):x("",!0)]),t("div",Be,[E.value?(n(),i(_,{key:0},[l(f,{n:"green",onClick:le},{default:d(()=>[l(r,{class:"mr-1",icon:"carbon:save"}),e[22]||(e[22]=o(" Save ",-1))]),_:1}),l(f,{n:"gray",onClick:oe},{default:d(()=>[...e[23]||(e[23]=[o(" Cancel ",-1)])]),_:1})],64)):(n(),K(f,{key:1,disabled:!w.value,n:"blue",onClick:te},{default:d(()=>[l(r,{class:"mr-1",icon:"carbon:edit"}),o(" "+p(F.value?"Edit":"Create"),1)]),_:1},8,["disabled"]))])]),m.value&&b.value==="claudemd"?(n(),i("div",ze,[l(D,{icon:"carbon:warning",n:"red"},{default:d(()=>[o(p(m.value),1)]),_:1})])):x("",!0),t("div",Ie,[E.value?O((n(),i("textarea",{key:0,"onUpdate:modelValue":e[3]||(e[3]=s=>k.value=s),class:"w-full h-full p-4 font-mono text-sm n-bg-base resize-none focus:outline-none",placeholder:`# CLAUDE.md
4
4
 
5
5
  Write project-level instructions for Claude here...
6
6
 
7
7
  Example:
8
8
  - This is a Vue 3 + Nuxt project
9
9
  - Use TypeScript
10
- - Follow existing code style`},null,512)),[[J,k.value]]):F.value?(n(),i("div",Ie,[l(Q,{content:S.value,class:"max-w-none"},null,8,["content"])])):(n(),i("div",We,[t("div",qe,[l(r,{class:"text-4xl mb-2",icon:"carbon:document-add"}),e[24]||(e[24]=t("p",null,"No CLAUDE.md file yet",-1)),e[25]||(e[25]=t("p",{class:"text-sm"},' Click "Create" to add project instructions ',-1))])]))]),l(D,{class:"mt-4",icon:"carbon:information",n:"gray"},{default:d(()=>[...e[26]||(e[26]=[o(" CLAUDE.md contains project-level instructions that Claude reads automatically. Use it to define coding standards, project structure, and preferences. ",-1)])]),_:1})])):b.value==="docs"?(n(),i("div",Ye,[t("div",Ge,[l(f,{disabled:!w.value,class:"w-full",n:"purple",onClick:e[4]||(e[4]=s=>{N.value=!0,v.value=null})},{default:d(()=>[l(r,{class:"mr-1",icon:"carbon:add"}),e[27]||(e[27]=o(" New Doc ",-1))]),_:1},8,["disabled"]),l(D,{class:"text-xs",icon:"carbon:information",n:"gray"},{default:d(()=>[...e[28]||(e[28]=[o(" Files are stored in ",-1),t("code",{class:"font-mono"},".claude/docs/",-1),t("br",null,null,-1),o(" Use ",-1),t("code",{class:"font-mono text-blue-500"},"@docs/filename",-1),o(" in chat to attach. ",-1)])]),_:1}),q.value.length===0?(n(),i("div",He,[...e[29]||(e[29]=[o(" No doc files yet. ",-1),t("br",null,null,-1),o(" Create one to get started. ",-1)])])):x("",!0),(n(!0),i(_,null,K(X.value,(s,I)=>(n(),i("div",{key:I,class:"space-y-1"},[I?(n(),i("div",Je,p(I)+"/ ",1)):x("",!0),(n(!0),i(_,null,K(s,U=>(n(),i("div",{key:U.path,class:V([v.value?.path===U.path?"n-bg-active ring-1 ring-purple-500":"hover:n-bg-active","rounded-lg p-2 cursor-pointer group"]),onClick:ve=>ne(U)},[t("div",Oe,[t("div",Qe,[l(r,{class:"opacity-50",icon:"carbon:document"}),t("span",Xe,p(U.name),1)]),l(f,{class:"opacity-0 group-hover:opacity-100",n:"red xs",onClick:he(ve=>de(U.path),["stop"])},{default:d(()=>[l(r,{icon:"carbon:trash-can"})]),_:1},8,["onClick"])]),t("div",Ze,p(R(U.updatedAt)),1)],10,Ke))),128))]))),128))]),t("div",et,[N.value?(n(),i(_,{key:0},[t("div",tt,[e[32]||(e[32]=t("h3",{class:"font-bold mb-4"}," Create New Doc ",-1)),m.value?(n(),i("div",lt,[l(D,{icon:"carbon:warning",n:"red"},{default:d(()=>[o(p(m.value),1)]),_:1})])):x("",!0),t("div",ot,[t("div",null,[e[30]||(e[30]=t("label",{class:"block text-sm font-medium mb-1"},"Path",-1)),l(z,{modelValue:L.value,"onUpdate:modelValue":e[5]||(e[5]=s=>L.value=s),class:"w-full font-mono",placeholder:"e.g. api/endpoints.md or readme.md"},null,8,["modelValue"]),e[31]||(e[31]=t("div",{class:"text-xs opacity-50 mt-1"}," Use / for subdirectories. .md extension added automatically. ",-1))])])]),t("div",nt,[e[33]||(e[33]=t("label",{class:"block text-sm font-medium mb-1"},"Content (optional)",-1)),H(t("textarea",{"onUpdate:modelValue":e[6]||(e[6]=s=>j.value=s),class:"w-full h-full min-h-[200px] p-3 font-mono text-sm n-bg-base rounded-lg border border-neutral-200 dark:border-neutral-800 resize-none",placeholder:`# Your doc title
10
+ - Follow existing code style`},null,512)),[[Y,k.value]]):F.value?(n(),i("div",We,[l(Q,{content:S.value,class:"max-w-none"},null,8,["content"])])):(n(),i("div",qe,[t("div",He,[l(r,{class:"text-4xl mb-2",icon:"carbon:document-add"}),e[24]||(e[24]=t("p",null,"No CLAUDE.md file yet",-1)),e[25]||(e[25]=t("p",{class:"text-sm"},' Click "Create" to add project instructions ',-1))])]))]),l(D,{class:"mt-4",icon:"carbon:information",n:"gray"},{default:d(()=>[...e[26]||(e[26]=[o(" CLAUDE.md contains project-level instructions that Claude reads automatically. Use it to define coding standards, project structure, and preferences. ",-1)])]),_:1})])):b.value==="docs"?(n(),i("div",Ke,[t("div",Oe,[l(f,{disabled:!w.value,class:"w-full",n:"purple",onClick:e[4]||(e[4]=s=>{N.value=!0,v.value=null})},{default:d(()=>[l(r,{class:"mr-1",icon:"carbon:add"}),e[27]||(e[27]=o(" New Doc ",-1))]),_:1},8,["disabled"]),l(D,{class:"text-xs",icon:"carbon:information",n:"gray"},{default:d(()=>[...e[28]||(e[28]=[o(" Files are stored in ",-1),t("code",{class:"font-mono"},".claude/docs/",-1),t("br",null,null,-1),o(" Use ",-1),t("code",{class:"font-mono text-blue-500"},"@docs/filename",-1),o(" in chat to attach. ",-1)])]),_:1}),q.value.length===0?(n(),i("div",Ye,[...e[29]||(e[29]=[o(" No doc files yet. ",-1),t("br",null,null,-1),o(" Create one to get started. ",-1)])])):x("",!0),(n(!0),i(_,null,G(X.value,(s,I)=>(n(),i("div",{key:I,class:"space-y-1"},[I?(n(),i("div",Ge,p(I)+"/ ",1)):x("",!0),(n(!0),i(_,null,G(s,U=>(n(),i("div",{key:U.path,class:V([v.value?.path===U.path?"n-bg-active ring-1 ring-purple-500":"hover:n-bg-active","rounded-lg p-2 cursor-pointer group"]),onClick:ve=>ne(U)},[t("div",Qe,[t("div",Xe,[l(r,{class:"opacity-50",icon:"carbon:document"}),t("span",Ze,p(U.name),1)]),l(f,{class:"opacity-0 group-hover:opacity-100",n:"red xs",onClick:Le(ve=>de(U.path),["stop"])},{default:d(()=>[l(r,{icon:"carbon:trash-can"})]),_:1},8,["onClick"])]),t("div",et,p(R(U.updatedAt)),1)],10,Je))),128))]))),128))]),t("div",tt,[N.value?(n(),i(_,{key:0},[t("div",lt,[e[32]||(e[32]=t("h3",{class:"font-bold mb-4"}," Create New Doc ",-1)),m.value?(n(),i("div",ot,[l(D,{icon:"carbon:warning",n:"red"},{default:d(()=>[o(p(m.value),1)]),_:1})])):x("",!0),t("div",nt,[t("div",null,[e[30]||(e[30]=t("label",{class:"block text-sm font-medium mb-1"},"Path",-1)),l(z,{modelValue:L.value,"onUpdate:modelValue":e[5]||(e[5]=s=>L.value=s),class:"w-full font-mono",placeholder:"e.g. api/endpoints.md or readme.md"},null,8,["modelValue"]),e[31]||(e[31]=t("div",{class:"text-xs opacity-50 mt-1"}," Use / for subdirectories. .md extension added automatically. ",-1))])])]),t("div",st,[e[33]||(e[33]=t("label",{class:"block text-sm font-medium mb-1"},"Content (optional)",-1)),O(t("textarea",{"onUpdate:modelValue":e[6]||(e[6]=s=>j.value=s),class:"w-full h-full min-h-[200px] p-3 font-mono text-sm n-bg-base rounded-lg border border-neutral-200 dark:border-neutral-800 resize-none",placeholder:`# Your doc title
11
11
 
12
- Write your documentation here...`},null,512),[[J,j.value]])]),t("div",st,[l(f,{n:"purple",onClick:ue},{default:d(()=>[...e[34]||(e[34]=[o(" Create ",-1)])]),_:1}),l(f,{n:"gray",onClick:e[7]||(e[7]=s=>{N.value=!1,m.value=""})},{default:d(()=>[...e[35]||(e[35]=[o(" Cancel ",-1)])]),_:1})])],64)):v.value?(n(),i(_,{key:1},[t("div",at,[t("div",null,[t("h3",it,p(v.value.path),1),t("div",ut," Updated: "+p(R(v.value.updatedAt)),1)]),t("div",dt,[y.value?(n(),i(_,{key:0},[l(f,{n:"green",onClick:ae},{default:d(()=>[l(r,{class:"mr-1",icon:"carbon:save"}),e[36]||(e[36]=o(" Save ",-1))]),_:1}),l(f,{n:"gray",onClick:ie},{default:d(()=>[...e[37]||(e[37]=[o(" Cancel ",-1)])]),_:1})],64)):(n(),G(f,{key:1,n:"blue",onClick:se},{default:d(()=>[l(r,{class:"mr-1",icon:"carbon:edit"}),e[38]||(e[38]=o(" Edit ",-1))]),_:1}))])]),t("div",rt,[y.value?H((n(),i("textarea",{key:0,"onUpdate:modelValue":e[8]||(e[8]=s=>g.value=s),class:"w-full h-full min-h-[300px] p-3 font-mono text-sm n-bg-base rounded-lg border border-neutral-200 dark:border-neutral-800 resize-none"},null,512)),[[J,g.value]]):(n(),G(Q,{key:1,content:v.value.content,class:"max-w-none"},null,8,["content"]))])],64)):(n(),i("div",ct,[t("div",vt,[l(r,{class:"text-4xl mb-2",icon:"carbon:document"}),e[39]||(e[39]=t("p",null,"Select a doc file or create a new one",-1))])]))])])):b.value==="llms"?(n(),i("div",mt,[l(f,{disabled:!w.value,n:"blue",onClick:e[9]||(e[9]=s=>h.value=!0)},{default:d(()=>[l(r,{class:"mr-1",icon:"carbon:add"}),e[40]||(e[40]=o(" Add LLMS Source ",-1))]),_:1},8,["disabled"]),h.value?(n(),i("div",ft,[e[47]||(e[47]=t("h3",{class:"font-bold mb-4"}," Add LLMS Source ",-1)),m.value?(n(),i("div",pt,[l(D,{icon:"carbon:warning",n:"red"},{default:d(()=>[o(p(m.value),1)]),_:1})])):x("",!0),t("div",bt,[t("div",null,[e[41]||(e[41]=t("label",{class:"block text-sm font-medium mb-1"},"URL",-1)),l(z,{modelValue:A.value,"onUpdate:modelValue":e[10]||(e[10]=s=>A.value=s),class:"w-full font-mono",placeholder:"e.g. https://example.com/llms.txt"},null,8,["modelValue"]),e[42]||(e[42]=t("div",{class:"text-xs opacity-50 mt-1"}," URL to the llms.txt file ",-1))]),t("div",null,[e[43]||(e[43]=t("label",{class:"block text-sm font-medium mb-1"},"Title (optional)",-1)),l(z,{modelValue:$.value,"onUpdate:modelValue":e[11]||(e[11]=s=>$.value=s),class:"w-full",placeholder:"e.g. Example Documentation"},null,8,["modelValue"])]),t("div",null,[e[44]||(e[44]=t("label",{class:"block text-sm font-medium mb-1"},"Description (optional)",-1)),l(z,{modelValue:T.value,"onUpdate:modelValue":e[12]||(e[12]=s=>T.value=s),class:"w-full",placeholder:"e.g. API documentation and guides"},null,8,["modelValue"])]),t("div",xt,[l(f,{n:"blue",onClick:re},{default:d(()=>[...e[45]||(e[45]=[o(" Add ",-1)])]),_:1}),l(f,{n:"gray",onClick:e[13]||(e[13]=s=>{h.value=!1,m.value=""})},{default:d(()=>[...e[46]||(e[46]=[o(" Cancel ",-1)])]),_:1})])])])):x("",!0),Y.value.length===0&&!h.value?(n(),i("div",gt,[...e[48]||(e[48]=[o(" No LLMS sources configured. ",-1),t("br",null,null,-1),o(" Add external llms.txt URLs to provide context to Claude. ",-1)])])):(n(),i("div",yt,[(n(!0),i(_,null,K(Y.value,s=>(n(),i("div",{key:s.url,class:"n-bg-active rounded-lg p-4"},[t("div",kt,[t("div",_t,[t("div",Ct,[l(r,{class:"text-blue",icon:"carbon:link"}),o(" "+p(s.title||s.domain),1)]),t("div",wt,p(s.url),1),s.description?(n(),i("div",Lt,p(s.description),1)):x("",!0),t("div",Dt," Added: "+p(R(s.addedAt)),1)]),l(f,{n:"red",onClick:I=>ce(s.url)},{default:d(()=>[l(r,{icon:"carbon:trash-can"})]),_:1},8,["onClick"])])]))),128))])),l(D,{icon:"carbon:information",n:"blue"},{default:d(()=>[...e[49]||(e[49]=[o(" LLMS sources are external llms.txt files that provide documentation context. Claude can use these to better understand APIs and libraries you're working with. ",-1)])]),_:1})])):x("",!0)]),_:1})])])}}});export{Mt as default};
12
+ Write your documentation here...`},null,512),[[Y,j.value]])]),t("div",at,[l(f,{n:"purple",onClick:ue},{default:d(()=>[...e[34]||(e[34]=[o(" Create ",-1)])]),_:1}),l(f,{n:"gray",onClick:e[7]||(e[7]=s=>{N.value=!1,m.value=""})},{default:d(()=>[...e[35]||(e[35]=[o(" Cancel ",-1)])]),_:1})])],64)):v.value?(n(),i(_,{key:1},[t("div",it,[t("div",null,[t("h3",ut,p(v.value.path),1),t("div",dt," Updated: "+p(R(v.value.updatedAt)),1)]),t("div",rt,[y.value?(n(),i(_,{key:0},[l(f,{n:"green",onClick:ae},{default:d(()=>[l(r,{class:"mr-1",icon:"carbon:save"}),e[36]||(e[36]=o(" Save ",-1))]),_:1}),l(f,{n:"gray",onClick:ie},{default:d(()=>[...e[37]||(e[37]=[o(" Cancel ",-1)])]),_:1})],64)):(n(),K(f,{key:1,n:"blue",onClick:se},{default:d(()=>[l(r,{class:"mr-1",icon:"carbon:edit"}),e[38]||(e[38]=o(" Edit ",-1))]),_:1}))])]),t("div",ct,[y.value?O((n(),i("textarea",{key:0,"onUpdate:modelValue":e[8]||(e[8]=s=>g.value=s),class:"w-full h-full min-h-[300px] p-3 font-mono text-sm n-bg-base rounded-lg border border-neutral-200 dark:border-neutral-800 resize-none"},null,512)),[[Y,g.value]]):(n(),K(Q,{key:1,content:v.value.content,class:"max-w-none"},null,8,["content"]))])],64)):(n(),i("div",vt,[t("div",mt,[l(r,{class:"text-4xl mb-2",icon:"carbon:document"}),e[39]||(e[39]=t("p",null,"Select a doc file or create a new one",-1))])]))])])):b.value==="llms"?(n(),i("div",ft,[l(f,{disabled:!w.value,n:"blue",onClick:e[9]||(e[9]=s=>h.value=!0)},{default:d(()=>[l(r,{class:"mr-1",icon:"carbon:add"}),e[40]||(e[40]=o(" Add LLMS Source ",-1))]),_:1},8,["disabled"]),h.value?(n(),i("div",pt,[e[47]||(e[47]=t("h3",{class:"font-bold mb-4"}," Add LLMS Source ",-1)),m.value?(n(),i("div",bt,[l(D,{icon:"carbon:warning",n:"red"},{default:d(()=>[o(p(m.value),1)]),_:1})])):x("",!0),t("div",xt,[t("div",null,[e[41]||(e[41]=t("label",{class:"block text-sm font-medium mb-1"},"URL",-1)),l(z,{modelValue:A.value,"onUpdate:modelValue":e[10]||(e[10]=s=>A.value=s),class:"w-full font-mono",placeholder:"e.g. https://example.com/llms.txt"},null,8,["modelValue"]),e[42]||(e[42]=t("div",{class:"text-xs opacity-50 mt-1"}," URL to the llms.txt file ",-1))]),t("div",null,[e[43]||(e[43]=t("label",{class:"block text-sm font-medium mb-1"},"Title (optional)",-1)),l(z,{modelValue:$.value,"onUpdate:modelValue":e[11]||(e[11]=s=>$.value=s),class:"w-full",placeholder:"e.g. Example Documentation"},null,8,["modelValue"])]),t("div",null,[e[44]||(e[44]=t("label",{class:"block text-sm font-medium mb-1"},"Description (optional)",-1)),l(z,{modelValue:T.value,"onUpdate:modelValue":e[12]||(e[12]=s=>T.value=s),class:"w-full",placeholder:"e.g. API documentation and guides"},null,8,["modelValue"])]),t("div",gt,[l(f,{n:"blue",onClick:re},{default:d(()=>[...e[45]||(e[45]=[o(" Add ",-1)])]),_:1}),l(f,{n:"gray",onClick:e[13]||(e[13]=s=>{h.value=!1,m.value=""})},{default:d(()=>[...e[46]||(e[46]=[o(" Cancel ",-1)])]),_:1})])])])):x("",!0),H.value.length===0&&!h.value?(n(),i("div",yt,[...e[48]||(e[48]=[o(" No LLMS sources configured. ",-1),t("br",null,null,-1),o(" Add external llms.txt URLs to provide context to Claude. ",-1)])])):(n(),i("div",kt,[(n(!0),i(_,null,G(H.value,s=>(n(),i("div",{key:s.url,class:"n-bg-active rounded-lg p-4"},[t("div",_t,[t("div",Ct,[t("div",wt,[l(r,{class:"text-blue",icon:"carbon:link"}),o(" "+p(s.title||s.domain),1)]),t("div",Lt,p(s.url),1),s.description?(n(),i("div",Dt,p(s.description),1)):x("",!0),t("div",Ut," Added: "+p(R(s.addedAt)),1)]),l(f,{n:"red",onClick:I=>ce(s.url)},{default:d(()=>[l(r,{icon:"carbon:trash-can"})]),_:1},8,["onClick"])])]))),128))])),l(D,{icon:"carbon:information",n:"blue"},{default:d(()=>[...e[49]||(e[49]=[o(" LLMS sources are external llms.txt files that provide documentation context. Claude can use these to better understand APIs and libraries you're working with. ",-1)])]),_:1})])):x("",!0)]),_:1})])])}}});export{Tt as default};
@@ -0,0 +1 @@
1
+ import{_ as w}from"./D2l4TRxW.js";import{_ as E}from"./BcZxFXBD.js";import{_ as $}from"./DolUcBed.js";import{_ as V}from"./COus5Ssl.js";import{g as y,c as i,a as n,m as d,l,w as c,t as r,F as v,p,b as g,o as e,d as u}from"./DSt96JPY.js";import{_ as B}from"./QumocfwJ.js";import"./B8uzckkK.js";import"./M6QPYocW.js";import"./CHeJJZL9.js";import"./C--9REmc.js";import"./CDQtmRaX.js";import"./DEys9N1G.js";const C={class:"flex-1 p-4 overflow-auto"},F={class:"space-y-4"},N={class:"flex flex-wrap gap-2"},S={class:"text-xs opacity-50"},A={key:0},D={class:"flex flex-wrap gap-1"},h={key:1},j={class:"flex flex-wrap gap-1"},L=y({__name:"AgentView",props:{agent:{},formattedDate:{}},setup(t){return(f,o)=>{const m=$,a=V;return e(),i("div",C,[n("div",F,[n("div",N,[t.agent.model?(e(),l(m,{key:0,n:"purple"},{default:c(()=>[u(" Model: "+r(t.agent.model),1)]),_:1})):d("",!0)]),n("div",S," Updated: "+r(t.formattedDate),1),t.agent.tools&&t.agent.tools.length>0?(e(),i("div",A,[o[0]||(o[0]=n("div",{class:"text-sm font-medium opacity-50 mb-1"}," Tools ",-1)),n("div",D,[(e(!0),i(v,null,p(t.agent.tools,s=>(e(),l(m,{key:s,class:"font-mono text-xs",n:"blue"},{default:c(()=>[u(r(s),1)]),_:2},1024))),128))])])):d("",!0),t.agent.skills&&t.agent.skills.length>0?(e(),i("div",h,[o[1]||(o[1]=n("div",{class:"text-sm font-medium opacity-50 mb-1"}," Skills ",-1)),n("div",j,[(e(!0),i(v,null,p(t.agent.skills,s=>(e(),l(m,{key:s,class:"text-xs",n:"orange"},{default:c(()=>[u(r(s),1)]),_:2},1024))),128))])])):d("",!0),n("div",null,[o[2]||(o[2]=n("div",{class:"text-sm font-medium opacity-50 mb-2"}," System Prompt ",-1)),g(a,{content:t.agent.prompt,class:"max-w-none"},null,8,["content"])])])])}}}),M=Object.assign(L,{__name:"AgentView"}),T={key:0},H={key:1,class:"flex-1 flex items-center justify-center opacity-50"},I={class:"text-center"},Y=y({__name:"[name]",props:{agent:{},isEditing:{type:Boolean},editForm:{},formError:{},formatDate:{type:Function},availableSkills:{}},emits:["startEditing","save","cancel"],setup(t,{emit:f}){const o=f;return(m,a)=>{const s=w,_=E,k=M,b=B;return t.agent?(e(),i("div",T,[g(s,{description:t.agent.description,"is-editing":t.isEditing,readonly:t.agent.source!=="project",source:t.agent.source,title:t.agent.name,icon:"carbon:bot","icon-color":"text-purple-500","show-icon":"",onCancel:a[0]||(a[0]=x=>o("cancel")),onEdit:a[1]||(a[1]=x=>o("startEditing")),onSave:a[2]||(a[2]=x=>o("save"))},null,8,["description","is-editing","readonly","source","title"]),t.isEditing?(e(),l(_,{key:0,"available-skills":t.availableSkills,error:t.formError,"model-value":t.editForm,mode:"edit"},null,8,["available-skills","error","model-value"])):(e(),l(k,{key:1,agent:t.agent,"formatted-date":t.formatDate(t.agent.updatedAt)},null,8,["agent","formatted-date"]))])):(e(),i("div",H,[n("div",I,[g(b,{class:"text-4xl mb-2 animate-pulse",icon:"carbon:bot"}),a[3]||(a[3]=n("p",null,"Loading agent...",-1))])]))}}});export{Y as default};
@@ -0,0 +1 @@
1
+ import{_ as u}from"./B8uzckkK.js";import{_ as h}from"./QumocfwJ.js";import{_ as g}from"./DolUcBed.js";import{g as p,c as i,a as t,b as l,l as y,m as C,w as d,d as n,q as m,t as r,M as s,o as a}from"./DSt96JPY.js";const B={class:"flex flex-col h-screen n-bg-base overflow-hidden"},v={class:"flex items-center justify-between p-4"},w={class:"flex items-center gap-3"},k={class:"text-xl font-bold flex items-center gap-2"},N={class:"flex items-center gap-2"},b={class:"flex-1 overflow-auto p-4"},$=p({__name:"PageLayout",props:{title:{},icon:{},color:{},showConnectionBadge:{type:Boolean},isConnected:{type:Boolean},centered:{type:Boolean},maxWidth:{}},setup(e){return(o,c)=>{const _=u,f=h,x=g;return a(),i("div",B,[t("div",v,[t("div",w,[l(_,{class:"text-sm opacity-50 hover:opacity-100",to:"/"},{default:d(()=>[...c[0]||(c[0]=[n(" ← Chat ",-1)])]),_:1}),t("h1",k,[l(f,{class:m(`text-${e.color}-500`),icon:e.icon},null,8,["class","icon"]),n(" "+r(e.title),1)]),e.showConnectionBadge?(a(),y(x,{key:0,n:e.isConnected?"green":"red"},{default:d(()=>[n(r(e.isConnected?"Connected":"Disconnected"),1)]),_:1},8,["n"])):C("",!0)]),t("div",N,[s(o.$slots,"actions")])]),t("div",b,[e.centered?(a(),i("div",{key:0,class:m([e.maxWidth||"max-w-2xl","mx-auto"])},[s(o.$slots,"default")],2)):s(o.$slots,"default",{key:1})])])}}}),P=Object.assign($,{__name:"PageLayout"});export{P as _};
@@ -0,0 +1 @@
1
+ import{u as P,_ as j,a as A}from"./DgfRwrFR.js";import{_ as G}from"./DC_XB519.js";import{g as H,s as J,l as s,w as f,E as o,G as M,H as U,o as a,I as Y,J as z,c as g,m as K,a as w,d as C,F as O,p as Q}from"./DSt96JPY.js";import"./QumocfwJ.js";import"./M6QPYocW.js";import"./B8uzckkK.js";import"./DolUcBed.js";import"./C--9REmc.js";import"./BMZIbUUD.js";import"./DeGmaFBY.js";import"./CHeJJZL9.js";import"./CDQtmRaX.js";const W={key:0,class:"n-bg-active rounded-lg p-4 opacity-50 text-sm"},X={class:"space-y-1"},ue=H({__name:"commands",setup(Z){const v=M(),i=U(),{isConnected:h,isLoading:d,items:m,isEditing:N,showNewForm:c,formError:u,newForm:l,editForm:S,load:x,select:y,startEditing:F,save:p,cancelEditing:k,deleteItem:E,showNew:T,formatDate:b}=P({resourceName:"commands",loggerName:"commands",createDefaultForm:()=>({name:"",description:"",content:"",allowedTools:""}),resourceToForm:e=>({name:e.name,description:e.description||"",content:e.content,allowedTools:e.allowedTools?.join(", ")||""}),validateForm:e=>e.name?e.content?null:"Content is required":"Name is required",transformFormForSave:e=>{const n=e.allowedTools.split(",").map(r=>r.trim()).filter(r=>r.length>0);return{name:e.name,content:e.content,description:e.description||void 0,allowedTools:n.length>0?n:void 0}}}),_=J(()=>{const e=v.params.name;return e&&m.value.find(n=>n.name===e)||null});function D(e){y(e),i.push(`/commands/${e.name}`)}function R(e){E(e,`Delete command "/${e}"?`)}function V(){T(),i.push("/commands")}function L(){c.value=!1}return(e,n)=>{const r=A,B=G,$=z,I=j;return a(),s(I,{title:"Slash Commands",icon:"carbon:terminal",color:"green","is-connected":o(h),"is-loading":o(d),"info-tip":"Slash commands are markdown files with YAML frontmatter.","storage-path":".claude/commands/<name>.md","empty-message":"No slash commands yet. Create one to get started.","empty-editor-message":"Select a command or create a new one","new-button-label":"New Command",onNew:V,onRefresh:o(x)},{list:f(()=>[o(m).length===0&&!o(d)?(a(),g("div",W,[...n[1]||(n[1]=[C(" No slash commands yet. ",-1),w("br",null,null,-1),C(" Create one to get started. ",-1)])])):K("",!0),w("div",X,[(a(!0),g(O,null,Q(o(m),t=>(a(),s(r,{key:t.name,selected:_.value?.name===t.name,name:t.name,description:t.description,source:t.source,icon:"carbon:terminal",color:"green","mono-name":"","name-prefix":"/",onSelect:q=>D(t),onDelete:q=>R(t.name)},null,8,["selected","name","description","source","onSelect","onDelete"]))),128))])]),editor:f(()=>[o(c)?(a(),s(B,{key:0,modelValue:o(l),"onUpdate:modelValue":n[0]||(n[0]=t=>Y(l)?l.value=t:null),mode:"create",error:o(u),onSave:o(p),onCancel:L},null,8,["modelValue","error","onSave"])):(a(),s($,{key:1,command:_.value,"is-editing":o(N),"edit-form":o(S),"form-error":o(u),"format-date":o(b),onStartEditing:o(F),onSave:o(p),onCancel:o(k)},null,8,["command","is-editing","edit-form","form-error","format-date","onStartEditing","onSave","onCancel"]))]),_:1},8,["is-connected","is-loading","onRefresh"])}}});export{ue as default};
@@ -0,0 +1 @@
1
+ import{_ as s}from"./QumocfwJ.js";import{g as n,c as a,a as t,b as c,o as i}from"./DSt96JPY.js";const r={class:"flex-1 flex items-center justify-center opacity-50"},l={class:"text-center"},f=n({__name:"index",setup(_){return(p,e)=>{const o=s;return i(),a("div",r,[t("div",l,[c(o,{class:"text-4xl mb-2",icon:"carbon:application"}),e[0]||(e[0]=t("p",null,"Select a plugin to view details",-1))])])}}});export{f as default};
@@ -1 +1 @@
1
- import{_ as s}from"./bl5iU4Kz.js";import{_ as a,c as i,o as u,a as t,t as n,b as c,w as l,d}from"./nKfsBgPE.js";import{u as f}from"./b4Upel01.js";const p={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},m={class:"max-w-520px text-center"},h=["textContent"],g=["textContent"],b=["textContent"],x={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Page not found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(e){const r=e;return f({title:`${r.statusCode} - ${r.statusMessage} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,_)=>{const o=s;return u(),i("div",p,[t("div",m,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:n(e.statusCode)},null,8,h),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:n(e.statusMessage)},null,8,g),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:n(e.description)},null,8,b),t("div",x,[c(o,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:l(()=>[d(n(e.backHome),1)]),_:1})])])])}}},N=a(y,[["__scopeId","data-v-8c88d9ea"]]);export{N as default};
1
+ import{_ as s}from"./B8uzckkK.js";import{_ as a,c as i,o as u,a as t,t as n,b as c,w as l,d}from"./DSt96JPY.js";import{u as f}from"./DGQ4s7ae.js";const p={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},m={class:"max-w-520px text-center"},h=["textContent"],g=["textContent"],b=["textContent"],x={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Page not found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(e){const r=e;return f({title:`${r.statusCode} - ${r.statusMessage} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,_)=>{const o=s;return u(),i("div",p,[t("div",m,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:n(e.statusCode)},null,8,h),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:n(e.statusMessage)},null,8,g),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:n(e.description)},null,8,b),t("div",x,[c(o,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:l(()=>[d(n(e.backHome),1)]),_:1})])])])}}},N=a(y,[["__scopeId","data-v-8c88d9ea"]]);export{N as default};
@@ -0,0 +1 @@
1
+ import{_ as y}from"./D2l4TRxW.js";import{_ as w}from"./DbJLoP3G.js";import{_ as E}from"./DolUcBed.js";import{_ as $}from"./COus5Ssl.js";import{g as _,c as r,a as i,b as m,l,m as u,w as k,t as a,o as n,d as f}from"./DSt96JPY.js";import{_ as b}from"./QumocfwJ.js";import"./B8uzckkK.js";import"./M6QPYocW.js";import"./CHeJJZL9.js";import"./C--9REmc.js";import"./CDQtmRaX.js";import"./DEys9N1G.js";const V={class:"flex-1 p-4 overflow-auto"},B={class:"flex flex-wrap gap-2 mb-4"},C={class:"text-xs opacity-50 mb-4"},N=_({__name:"SkillView",props:{skill:{},formattedDate:{}},setup(t){return(c,o)=>{const s=E,e=$;return n(),r("div",V,[i("div",B,[t.skill.model?(n(),l(s,{key:0,n:"blue"},{default:k(()=>[f(" Model: "+a(t.skill.model),1)]),_:1})):u("",!0),t.skill.argumentHint?(n(),l(s,{key:1,n:"gray"},{default:k(()=>[f(" Arg: "+a(t.skill.argumentHint),1)]),_:1})):u("",!0)]),i("div",C," Updated: "+a(t.formattedDate),1),m(e,{content:t.skill.content,class:"max-w-none"},null,8,["content"])])}}}),S=Object.assign(N,{__name:"SkillView"}),D={key:0},h={key:1,class:"flex-1 flex items-center justify-center opacity-50"},F={class:"text-center"},J=_({__name:"[name]",props:{skill:{},isEditing:{type:Boolean},editForm:{},formError:{},formatDate:{type:Function}},emits:["startEditing","save","cancel"],setup(t,{emit:c}){const o=c;return(s,e)=>{const g=y,x=w,p=S,v=b;return t.skill?(n(),r("div",D,[m(g,{title:t.skill.name,description:t.skill.description,"is-editing":t.isEditing,readonly:t.skill.source!=="project",source:t.skill.source,icon:"carbon:lightning","icon-color":"text-orange-500","show-icon":"",onEdit:e[0]||(e[0]=d=>o("startEditing")),onSave:e[1]||(e[1]=d=>o("save")),onCancel:e[2]||(e[2]=d=>o("cancel"))},null,8,["title","description","is-editing","readonly","source"]),t.isEditing?(n(),l(x,{key:0,"model-value":t.editForm,mode:"edit",error:t.formError},null,8,["model-value","error"])):(n(),l(p,{key:1,skill:t.skill,"formatted-date":t.formatDate(t.skill.updatedAt)},null,8,["skill","formatted-date"]))])):(n(),r("div",h,[i("div",F,[m(v,{class:"text-4xl mb-2 animate-pulse",icon:"carbon:lightning"}),e[3]||(e[3]=i("p",null,"Loading skill...",-1))])]))}}});export{J as default};
@@ -0,0 +1 @@
1
+ import{_ as C}from"./CHeJJZL9.js";import{_}from"./CDQtmRaX.js";import{_ as S}from"./DEys9N1G.js";import{_ as N}from"./M6QPYocW.js";import{g as $,K as v,L as B,s as U,c as s,a as l,m as i,b as a,E as p,F as f,p as F,n as M,x as D,w as k,o as n,q as O,t as T,d as x}from"./DSt96JPY.js";const A={class:"flex-1 overflow-auto"},E={class:"p-4 border-b border-neutral-200 dark:border-neutral-800"},L={key:0,class:"font-bold mb-4"},q={class:"space-y-4"},z={key:0},G={key:1},j={class:"flex flex-wrap gap-2"},H=["onClick"],I={class:"p-4"},K={key:0,class:"p-4 border-t border-neutral-200 dark:border-neutral-800 flex gap-2 flex-shrink-0"},P=$({__name:"AgentForm",props:v({mode:{},error:{},availableSkills:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:v(["save","cancel"],["update:modelValue"]),setup(r){const c=r,o=B(r,"modelValue"),g=[{value:"",label:"Default"},{value:"sonnet",label:"Sonnet (fast)"},{value:"opus",label:"Opus (powerful)"},{value:"haiku",label:"Haiku (fastest)"}],m=U(()=>c.mode==="create");function V(d){const e=o.value.skills.indexOf(d);e>=0?o.value.skills.splice(e,1):o.value.skills.push(d)}return(d,e)=>{const w=C,u=_,y=S,b=N;return n(),s(f,null,[l("div",A,[l("div",E,[p(m)?(n(),s("h3",L," Create New Subagent ")):i("",!0),a(w,{error:r.error||"",class:"mb-4"},null,8,["error"]),l("div",q,[p(m)?(n(),s("div",z,[e[7]||(e[7]=l("label",{class:"block text-sm font-medium mb-1"},"Name",-1)),a(u,{modelValue:o.value.name,"onUpdate:modelValue":e[0]||(e[0]=t=>o.value.name=t),class:"w-full font-mono",placeholder:"e.g. reviewer, test-runner, docs-writer"},null,8,["modelValue"]),e[8]||(e[8]=l("div",{class:"text-xs opacity-50 mt-1"}," Use lowercase with hyphens (kebab-case) ",-1))])):i("",!0),l("div",null,[e[9]||(e[9]=l("label",{class:"block text-sm font-medium mb-1"},"Description",-1)),a(u,{modelValue:o.value.description,"onUpdate:modelValue":e[1]||(e[1]=t=>o.value.description=t),class:"w-full",placeholder:"Brief description of what this agent does"},null,8,["modelValue"])]),l("div",null,[e[10]||(e[10]=l("label",{class:"block text-sm font-medium mb-1"},"Model (optional)",-1)),a(y,{modelValue:o.value.model,"onUpdate:modelValue":e[2]||(e[2]=t=>o.value.model=t),options:g,class:"w-full"},null,8,["modelValue"])]),l("div",null,[e[11]||(e[11]=l("label",{class:"block text-sm font-medium mb-1"},"Tools (optional)",-1)),a(u,{modelValue:o.value.tools,"onUpdate:modelValue":e[3]||(e[3]=t=>o.value.tools=t),class:"w-full font-mono",placeholder:"e.g. Read, Grep, Glob, Bash"},null,8,["modelValue"]),e[12]||(e[12]=l("div",{class:"text-xs opacity-50 mt-1"}," Comma-separated list. Leave empty for all tools. ",-1))]),r.availableSkills&&r.availableSkills.length>0?(n(),s("div",G,[e[13]||(e[13]=l("label",{class:"block text-sm font-medium mb-1"},"Skills",-1)),l("div",j,[(n(!0),s(f,null,F(r.availableSkills,t=>(n(),s("button",{key:t,class:O([o.value.skills.includes(t)?"bg-orange-500 text-white":"n-bg-base","px-2 py-1 rounded text-sm border border-neutral-200 dark:border-neutral-700"]),type:"button",onClick:R=>V(t)},T(t),11,H))),128))]),e[14]||(e[14]=l("div",{class:"text-xs opacity-50 mt-1"}," Click to add/remove skills. Skills will be preloaded for the agent. ",-1))])):i("",!0)])]),l("div",I,[e[15]||(e[15]=l("label",{class:"block text-sm font-medium mb-1"},"System Prompt",-1)),M(l("textarea",{"onUpdate:modelValue":e[4]||(e[4]=t=>o.value.prompt=t),class:"w-full min-h-[200px] p-3 font-mono text-sm n-bg-base rounded-lg border border-neutral-200 dark:border-neutral-800 resize-y",placeholder:"Write the system prompt for this agent..."},null,512),[[D,o.value.prompt]])])]),p(m)?(n(),s("div",K,[a(b,{n:"purple",onClick:e[5]||(e[5]=t=>d.$emit("save"))},{default:k(()=>[...e[16]||(e[16]=[x(" Create Agent ",-1)])]),_:1}),a(b,{n:"gray",onClick:e[6]||(e[6]=t=>d.$emit("cancel"))},{default:k(()=>[...e[17]||(e[17]=[x(" Cancel ",-1)])]),_:1})])):i("",!0)],64)}}}),Z=Object.assign(P,{__name:"AgentForm"});export{Z as _};
@@ -0,0 +1 @@
1
+ import{_ as A}from"./QumocfwJ.js";import{_ as R}from"./M6QPYocW.js";import{_ as j}from"./DolUcBed.js";import{g as E,r as d,s as F,B as H,j as I,k as U,l as k,w as a,G as q,H as z,o as l,a as o,c as y,m as b,b as c,d as _,t as v,F as G,p as J,q as C,J as K}from"./DSt96JPY.js";import{_ as M}from"./BMZIbUUD.js";import{u as O,a as Q,l as W,S as X}from"./DeGmaFBY.js";import"./B8uzckkK.js";const Y={class:"flex gap-4 h-full"},Z={class:"w-72 flex-shrink-0 space-y-4 overflow-hidden"},ee={class:"text-sm font-medium opacity-50 mb-2 flex items-center gap-2"},te={key:0,class:"text-xs opacity-50"},ne={class:"space-y-1 px-1"},se=["onClick"],oe={class:"flex items-center gap-2"},ae={class:"font-medium truncate"},le={class:"flex flex-wrap gap-1 mt-1 pl-6"},ce={class:"flex-1 flex flex-col n-bg-active rounded-lg overflow-hidden"},ge=E({__name:"plugins",setup(ie){const m=O(),{log:i}=Q("plugins"),N=q(),B=z(),t=d(null),f=d(!1),u=d(!1),r=d([]),p=d(null),g=F(()=>{const e=N.params.id;return e&&r.value.find(n=>n.id===e||n.name===e)||null});function S(){return m.isActive.value&&m.origin.value?m.origin.value:window.location.origin}function $(){const e=S();i("Connecting to socket at",e),t.value=W(e,{path:X,transports:["websocket","polling"],reconnection:!0,reconnectionAttempts:5}),t.value.on("connect",()=>{i("Connected to socket"),f.value=!0,w()}),t.value.on("disconnect",()=>{i("Disconnected from socket"),f.value=!1}),t.value.on("plugins:list",n=>{i("Plugins list received",n),r.value=n,u.value=!1}),t.value.on("plugins:get",n=>{i("Plugin details received",n),p.value=n})}function w(){t.value&&(u.value=!0,t.value.emit("plugins:list"))}function D(e){p.value=null,B.push(`/plugins/${e.id}`),t.value&&e.cachePath&&t.value.emit("plugins:get",e.id)}function P(e){switch(e){case"user":return"purple";case"project":return"green";case"local":return"blue";case"managed":return"gray";default:return"gray"}}return H(g,e=>{e&&t.value&&e.cachePath&&(p.value=null,t.value.emit("plugins:get",e.id))}),I(()=>{$()}),U(()=>{t.value&&t.value.disconnect()}),(e,n)=>{const x=A,L=R,h=j,T=K,V=M;return l(),k(V,{color:"cyan",icon:"carbon:application",title:"Plugins"},{actions:a(()=>[c(L,{disabled:!f.value||u.value,n:"gray",onClick:w},{default:a(()=>[c(x,{class:C([{"animate-spin":u.value},"mr-1"]),icon:"carbon:restart"},null,8,["class"]),n[0]||(n[0]=_(" Refresh ",-1))]),_:1},8,["disabled"])]),default:a(()=>[o("div",Y,[o("div",Z,[o("div",null,[o("div",ee,[c(x,{icon:"carbon:application"}),_(" Installed Plugins ("+v(r.value.length)+") ",1)]),r.value.length===0&&!u.value?(l(),y("div",te," No plugins installed ")):b("",!0),o("div",ne,[(l(!0),y(G,null,J(r.value,s=>(l(),y("div",{key:s.id,class:C([[g.value?.id===s.id?"n-bg-active ring-1 ring-cyan-500":"hover:n-bg-active",!s.enabled&&"opacity-50"],"rounded-lg p-2 cursor-pointer"]),onClick:ue=>D(s)},[o("div",oe,[c(x,{class:C(s.enabled?"text-cyan-500":"text-gray-400"),icon:"carbon:application"},null,8,["class"]),o("span",ae,v(s.name),1)]),o("div",le,[c(h,{n:P(s.scope),class:"text-xs"},{default:a(()=>[_(v(s.scope),1)]),_:2},1032,["n"]),s.enabled?b("",!0):(l(),k(h,{key:0,class:"text-xs",n:"red"},{default:a(()=>[...n[1]||(n[1]=[_(" disabled ",-1)])]),_:1})),s.manifest?.version?(l(),k(h,{key:1,class:"text-xs",n:"gray"},{default:a(()=>[_(" v"+v(s.manifest.version),1)]),_:2},1024)):b("",!0)])],10,se))),128))])])]),o("div",ce,[c(T,{plugin:g.value,"plugin-details":p.value,"get-scope-color":P},null,8,["plugin","plugin-details"])])])]),_:1})}}});export{ge as default};
@@ -0,0 +1 @@
1
+ import{_ as p}from"./QumocfwJ.js";import{_ as y}from"./DolUcBed.js";import{_ as b}from"./B8uzckkK.js";import{g as v,c as s,a as n,m as a,b as c,t as i,l as r,w as m,F as h,d as u,p as x,o as t}from"./DSt96JPY.js";const k={key:0,class:"overflow-y-auto"},_={class:"p-4 border-b border-neutral-200 dark:border-neutral-800"},D={class:"flex items-center gap-3"},N={class:"text-lg font-bold"},w={class:"text-sm opacity-50"},C={key:0,class:"mt-2 text-sm opacity-70"},B={class:"flex flex-wrap gap-2 mt-3"},$={key:1,class:"mt-2 text-xs opacity-50"},L={key:2,class:"mt-1"},S=["href"],V={class:"flex-1 p-4 overflow-auto"},F={key:0,class:"mb-6"},j={class:"text-sm font-medium opacity-50 mb-2 flex items-center gap-2"},A={class:"space-y-1"},P={class:"font-mono text-sm text-orange-500"},T={key:0,class:"text-xs opacity-50 mt-1"},E={key:1,class:"mb-6"},I={class:"text-sm font-medium opacity-50 mb-2 flex items-center gap-2"},q={class:"space-y-1"},z={class:"font-mono text-sm text-green-500"},G={key:0,class:"text-xs opacity-50 mt-1"},H={key:2,class:"mb-6"},J={class:"text-sm font-medium opacity-50 mb-2 flex items-center gap-2"},K={class:"space-y-1"},M={class:"font-medium text-sm text-purple-500"},O={key:0,class:"text-xs opacity-50 mt-1"},Q={key:3,class:"text-center opacity-50 py-8"},R={key:1,class:"flex items-center justify-center h-full opacity-50"},U={key:2,class:"text-center opacity-50 py-8"},W={key:1,class:"flex-1 flex items-center justify-center opacity-50"},X={class:"text-center"},se=v({__name:"[id]",props:{plugin:{},pluginDetails:{},getScopeColor:{type:Function}},setup(e){return(Y,o)=>{const d=p,g=y,f=b;return e.plugin?(t(),s("div",k,[n("div",_,[n("div",D,[c(d,{class:"text-2xl text-cyan-500",icon:"carbon:application"}),n("div",null,[n("h2",N,i(e.plugin.name),1),n("div",w,i(e.plugin.marketplace),1)])]),e.plugin.manifest?.description?(t(),s("p",C,i(e.plugin.manifest.description),1)):a("",!0),n("div",B,[c(g,{n:e.getScopeColor(e.plugin.scope)},{default:m(()=>[u(i(e.plugin.scope)+" scope ",1)]),_:1},8,["n"]),c(g,{n:e.plugin.enabled?"green":"red"},{default:m(()=>[u(i(e.plugin.enabled?"enabled":"disabled"),1)]),_:1},8,["n"]),e.plugin.manifest?.version?(t(),r(g,{key:0,n:"gray"},{default:m(()=>[u(" v"+i(e.plugin.manifest.version),1)]),_:1})):a("",!0),e.plugin.manifest?.license?(t(),r(g,{key:1,n:"gray"},{default:m(()=>[u(i(e.plugin.manifest.license),1)]),_:1})):a("",!0)]),e.plugin.manifest?.author?.name?(t(),s("div",$," Author: "+i(e.plugin.manifest.author.name),1)):a("",!0),e.plugin.manifest?.homepage?(t(),s("div",L,[n("a",{href:e.plugin.manifest.homepage,class:"text-xs text-cyan-500 hover:underline",target:"_blank"},i(e.plugin.manifest.homepage),9,S)])):a("",!0)]),n("div",V,[e.pluginDetails?(t(),s(h,{key:0},[e.pluginDetails.skills.length>0?(t(),s("div",F,[n("h3",j,[c(d,{icon:"carbon:lightning"}),u(" Skills ("+i(e.pluginDetails.skills.length)+") ",1)]),n("div",A,[(t(!0),s(h,null,x(e.pluginDetails.skills,l=>(t(),r(f,{key:l.fullName,to:`/skills/${l.fullName}`,class:"n-bg-base rounded p-2 block hover:ring-1 hover:ring-orange-500 transition-all"},{default:m(()=>[n("div",P," /"+i(l.fullName),1),l.description?(t(),s("div",T,i(l.description),1)):a("",!0)]),_:2},1032,["to"]))),128))])])):a("",!0),e.pluginDetails.commands.length>0?(t(),s("div",E,[n("h3",I,[c(d,{icon:"carbon:terminal"}),u(" Commands ("+i(e.pluginDetails.commands.length)+") ",1)]),n("div",q,[(t(!0),s(h,null,x(e.pluginDetails.commands,l=>(t(),r(f,{key:l.fullName,to:`/commands/${l.fullName}`,class:"n-bg-base rounded p-2 block hover:ring-1 hover:ring-green-500 transition-all"},{default:m(()=>[n("div",z," /"+i(l.fullName),1),l.description?(t(),s("div",G,i(l.description),1)):a("",!0)]),_:2},1032,["to"]))),128))])])):a("",!0),e.pluginDetails.agents.length>0?(t(),s("div",H,[n("h3",J,[c(d,{icon:"carbon:bot"}),u(" Agents ("+i(e.pluginDetails.agents.length)+") ",1)]),n("div",K,[(t(!0),s(h,null,x(e.pluginDetails.agents,l=>(t(),r(f,{key:l.name,to:`/agents/${l.name}`,class:"n-bg-base rounded p-2 block hover:ring-1 hover:ring-purple-500 transition-all"},{default:m(()=>[n("div",M,i(l.name),1),l.description?(t(),s("div",O,i(l.description),1)):a("",!0)]),_:2},1032,["to"]))),128))])])):a("",!0),e.pluginDetails.skills.length===0&&e.pluginDetails.commands.length===0&&e.pluginDetails.agents.length===0?(t(),s("div",Q,[c(d,{class:"text-4xl mb-2",icon:"carbon:folder"}),o[0]||(o[0]=n("p",null,"No skills, commands, or agents in this plugin",-1))])):a("",!0)],64)):e.plugin.cachePath?(t(),s("div",R,[c(d,{class:"animate-spin mr-2",icon:"carbon:circle-dash"}),o[1]||(o[1]=u(" Loading plugin details... ",-1))])):(t(),s("div",U,[c(d,{class:"text-4xl mb-2",icon:"carbon:warning"}),o[2]||(o[2]=n("p",null,"Plugin not found in cache",-1)),o[3]||(o[3]=n("p",{class:"text-xs mt-1"}," The plugin may need to be re-installed ",-1))]))])])):(t(),s("div",W,[n("div",X,[c(d,{class:"text-4xl mb-2 animate-pulse",icon:"carbon:application"}),o[4]||(o[4]=n("p",null,"Loading plugin...",-1))])]))}}});export{se as default};
@@ -0,0 +1 @@
1
+ import{_ as c}from"./QumocfwJ.js";import{c as a,o as n,M as s,a as i,l as r,m as l}from"./DSt96JPY.js";const m={class:"n-tip n-tip-base"},u={__name:"NTip",props:{icon:{type:String,required:!1}},setup(e){return(o,p)=>{const t=c;return n(),a("div",m,[s(o.$slots,"icon",{},()=>[e.icon?(n(),r(t,{key:0,icon:e.icon,class:"n-tip-icon"},null,8,["icon"])):l("",!0)]),i("div",null,[s(o.$slots,"default")])])}}};export{u as _};
@@ -0,0 +1 @@
1
+ import{_ as w}from"./QumocfwJ.js";import{B as T,N as A,r as I,s as q,O as h,E as B,D as M,c as O,o as k,M as C,n as j,l as D,m as F,P as L,a as R,Q as J,I as W}from"./DSt96JPY.js";const _=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const G=e=>typeof e<"u",U=Object.prototype.toString,Q=e=>U.call(e)==="[object Object]",x=()=>{};function N(e){return Array.isArray(e)?e:[e]}function z(e,s,c){return T(e,s,{...c,immediate:!0})}const V=_?window:void 0;function E(e){var s;const c=h(e);return(s=c?.$el)!==null&&s!==void 0?s:c}function P(...e){const s=(o,i,r,a)=>(o.addEventListener(i,r,a),()=>o.removeEventListener(i,r,a)),c=q(()=>{const o=N(h(e[0])).filter(i=>i!=null);return o.every(i=>typeof i!="string")?o:void 0});return z(()=>{var o,i;return[(o=(i=c.value)===null||i===void 0?void 0:i.map(r=>E(r)))!==null&&o!==void 0?o:[V].filter(r=>r!=null),N(h(c.value?e[1]:e[0])),N(B(c.value?e[2]:e[1])),h(c.value?e[3]:e[2])]},([o,i,r,a],v,d)=>{if(!o?.length||!i?.length||!r?.length)return;const y=Q(a)?{...a}:a,$=o.flatMap(f=>i.flatMap(u=>r.map(m=>s(f,u,m,y))));d(()=>{$.forEach(f=>f())})},{flush:"post"})}function ee(e,s,c={}){const{window:o=V,ignore:i=[],capture:r=!0,detectIframe:a=!1,controls:v=!1}=c;if(!o)return v?{stop:x,cancel:x,trigger:x}:x;let d=!0;const y=t=>h(i).some(l=>{if(typeof l=="string")return Array.from(o.document.querySelectorAll(l)).some(n=>n===t.target||t.composedPath().includes(n));{const n=E(l);return n&&(t.target===n||t.composedPath().includes(n))}});function $(t){const l=h(t);return l&&l.$.subTree.shapeFlag===16}function f(t,l){const n=h(t),p=n.$.subTree&&n.$.subTree.children;return p==null||!Array.isArray(p)?!1:p.some(g=>g.el===l.target||l.composedPath().includes(g.el))}const u=t=>{const l=E(e);if(t.target!=null&&!(!(l instanceof Element)&&$(e)&&f(e,t))&&!(!l||l===t.target||t.composedPath().includes(l))){if("detail"in t&&t.detail===0&&(d=!y(t)),!d){d=!0;return}s(t)}};let m=!1;const b=[P(o,"click",t=>{m||(m=!0,setTimeout(()=>{m=!1},0),u(t))},{passive:!0,capture:r}),P(o,"pointerdown",t=>{const l=E(e);d=!y(t)&&!!(l&&!t.composedPath().includes(l))},{passive:!0}),a&&P(o,"blur",t=>{setTimeout(()=>{var l;const n=E(e);((l=o.document.activeElement)===null||l===void 0?void 0:l.tagName)==="IFRAME"&&!n?.contains(o.document.activeElement)&&s(t)},0)},{passive:!0})].filter(Boolean),S=()=>b.forEach(t=>t());return v?{stop:S,cancel:()=>{d=!1},trigger:t=>{d=!0,u(t),d=!1}}:S}function H(e){return JSON.parse(JSON.stringify(e))}function K(e,s,c,o={}){var i,r;const{clone:a=!1,passive:v=!1,eventName:d,deep:y=!1,defaultValue:$,shouldEmit:f}=o,u=A(),m=c||u?.emit||(u==null||(i=u.$emit)===null||i===void 0?void 0:i.bind(u))||(u==null||(r=u.proxy)===null||r===void 0||(r=r.$emit)===null||r===void 0?void 0:r.bind(u?.proxy));let b=d;b=b||`update:${s.toString()}`;const S=n=>a?typeof a=="function"?a(n):H(n):n,t=()=>G(e[s])?S(e[s]):$,l=n=>{f?f(n)&&m(b,n):m(b,n)};if(v){const n=I(t());let p=!1;return T(()=>e[s],g=>{p||(p=!0,n.value=S(g),M(()=>p=!1))}),T(n,g=>{!p&&(g!==e[s]||y)&&l(g)},{deep:y}),n}else return q({get(){return t()},set(n){l(n)}})}const X={class:"n-text-input flex flex items-center border n-border-base rounded n-bg-base py-1 pl-1 pr-2 focus-within:border-context focus-within:n-focus-base"},te={__name:"NTextInput",props:{modelValue:{type:[String,Number],required:!1,default:""},icon:{type:String,required:!1},placeholder:{type:String,required:!1},disabled:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},readonly:{type:Boolean,required:!1},type:{type:String,required:!1,default:"text"}},emits:["keydown","keyup","change"],setup(e,{emit:s}){const i=K(e,"modelValue",s,{passive:!0});return(r,a)=>{const v=w;return k(),O("div",X,[C(r.$slots,"icon",{},()=>[e.icon?(k(),D(v,{key:0,icon:e.icon,class:"ml-0.3em mr-0.1em text-1.1em op50"},null,8,["icon"])):F("",!0)]),j(R("input",J({"onUpdate:modelValue":a[0]||(a[0]=d=>W(i)?i.value=d:null)},r.$props,{class:"ml-0.4em w-full flex-auto n-bg-base !outline-none"}),null,16),[[L,B(i)]])])}}};export{te as _,ee as o};
@@ -0,0 +1 @@
1
+ import{_ as a}from"./C--9REmc.js";import{g as s,c as n,m as t,o as c,b as m,w as _,d as i,t as p,q as l}from"./DSt96JPY.js";const d=s({__name:"FormError",props:{error:{},class:{}},setup(e){return(r,f)=>{const o=a;return e.error?(c(),n("div",{key:0,class:l(r.$props.class)},[m(o,{icon:"carbon:warning",n:"red"},{default:_(()=>[i(p(e.error),1)]),_:1})],2)):t("",!0)}}}),x=Object.assign(d,{__name:"FormError"});export{x as _};
@@ -1,4 +1,4 @@
1
- import{g as de,q as xe,c as be,o as we}from"./nKfsBgPE.js";function D(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var R=D();function se(n){R=n}var _={exec:()=>null};function p(n,e=""){let r=typeof n=="string"?n:n.source,s={replace:(t,i)=>{let l=typeof i=="string"?i:i.source;return l=l.replace(x.caret,"$1"),r=r.replace(t,l),s},getRegex:()=>new RegExp(r,e)};return s}var me=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),x={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:n=>new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}#`),htmlBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}<(?:[a-z].*>|!--)`,"i")},ye=/^(?:[ \t]*(?:\n|$))+/,$e=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Re=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,P=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Se=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,O=/(?:[*+-]|\d{1,9}[.)])/,le=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ie=p(le).replace(/bull/g,O).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Te=p(le).replace(/bull/g,O).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),H=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,ze=/^[^\n]+/,j=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Ae=p(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",j).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),_e=p(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,O).getRegex(),B="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",N=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Pe=p("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",N).replace("tag",B).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ae=p(H).replace("hr",P).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",B).getRegex(),Ie=p(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ae).getRegex(),G={blockquote:Ie,code:$e,def:Ae,fences:Re,heading:Se,hr:P,html:Pe,lheading:ie,list:_e,newline:ye,paragraph:ae,table:_,text:ze},V=p("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",P).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",B).getRegex(),Ce={...G,lheading:Te,table:V,paragraph:p(H).replace("hr",P).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",V).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",B).getRegex()},Le={...G,html:p(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",N).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:_,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:p(H).replace("hr",P).replace("heading",` *#{1,6} *[^
1
+ import{g as de,s as xe,c as be,o as we}from"./DSt96JPY.js";function D(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var R=D();function se(n){R=n}var _={exec:()=>null};function p(n,e=""){let r=typeof n=="string"?n:n.source,s={replace:(t,i)=>{let l=typeof i=="string"?i:i.source;return l=l.replace(x.caret,"$1"),r=r.replace(t,l),s},getRegex:()=>new RegExp(r,e)};return s}var me=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),x={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:n=>new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}#`),htmlBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}<(?:[a-z].*>|!--)`,"i")},ye=/^(?:[ \t]*(?:\n|$))+/,$e=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Re=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,P=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Se=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,O=/(?:[*+-]|\d{1,9}[.)])/,le=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ie=p(le).replace(/bull/g,O).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Te=p(le).replace(/bull/g,O).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),H=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,ze=/^[^\n]+/,j=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Ae=p(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",j).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),_e=p(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,O).getRegex(),B="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",N=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Pe=p("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",N).replace("tag",B).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ae=p(H).replace("hr",P).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",B).getRegex(),Ie=p(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ae).getRegex(),G={blockquote:Ie,code:$e,def:Ae,fences:Re,heading:Se,hr:P,html:Pe,lheading:ie,list:_e,newline:ye,paragraph:ae,table:_,text:ze},V=p("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",P).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",B).getRegex(),Ce={...G,lheading:Te,table:V,paragraph:p(H).replace("hr",P).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",V).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",B).getRegex()},Le={...G,html:p(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",N).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:_,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:p(H).replace("hr",P).replace("heading",` *#{1,6} *[^
2
2
  ]`).replace("lheading",ie).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},ve=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Be=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,oe=/^( {2,}|\\)\n(?!\s*$)/,Ee=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,E=/[\p{P}\p{S}]/u,X=/[\s\p{P}\p{S}]/u,ce=/[^\s\p{P}\p{S}]/u,qe=p(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,X).getRegex(),he=/(?!~)[\p{P}\p{S}]/u,Ze=/(?!~)[\s\p{P}\p{S}]/u,Me=/(?:[^\s\p{P}\p{S}]|~)/u,Qe=p(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",me?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),pe=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,De=p(pe,"u").replace(/punct/g,E).getRegex(),Oe=p(pe,"u").replace(/punct/g,he).getRegex(),ue="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",He=p(ue,"gu").replace(/notPunctSpace/g,ce).replace(/punctSpace/g,X).replace(/punct/g,E).getRegex(),je=p(ue,"gu").replace(/notPunctSpace/g,Me).replace(/punctSpace/g,Ze).replace(/punct/g,he).getRegex(),Ne=p("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,ce).replace(/punctSpace/g,X).replace(/punct/g,E).getRegex(),Ge=p(/\\(punct)/,"gu").replace(/punct/g,E).getRegex(),Xe=p(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Fe=p(N).replace("(?:-->|$)","-->").getRegex(),We=p("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Fe).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),C=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,Ue=p(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",C).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),ge=p(/^!?\[(label)\]\[(ref)\]/).replace("label",C).replace("ref",j).getRegex(),ke=p(/^!?\[(ref)\](?:\[\])?/).replace("ref",j).getRegex(),Je=p("reflink|nolink(?!\\()","g").replace("reflink",ge).replace("nolink",ke).getRegex(),Y=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,F={_backpedal:_,anyPunctuation:Ge,autolink:Xe,blockSkip:Qe,br:oe,code:Be,del:_,emStrongLDelim:De,emStrongRDelimAst:He,emStrongRDelimUnd:Ne,escape:ve,link:Ue,nolink:ke,punctuation:qe,reflink:ge,reflinkSearch:Je,tag:We,text:Ee,url:_},Ke={...F,link:p(/^!?\[(label)\]\((.*?)\)/).replace("label",C).getRegex(),reflink:p(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",C).getRegex()},Z={...F,emStrongRDelimAst:je,emStrongLDelim:Oe,url:p(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Y).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:p(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Y).getRegex()},Ve={...Z,br:p(oe).replace("{2,}","*").getRegex(),text:p(Z.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},I={normal:G,gfm:Ce,pedantic:Le},T={normal:F,gfm:Z,breaks:Ve,pedantic:Ke},Ye={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ee=n=>Ye[n];function y(n,e){if(e){if(x.escapeTest.test(n))return n.replace(x.escapeReplace,ee)}else if(x.escapeTestNoEncode.test(n))return n.replace(x.escapeReplaceNoEncode,ee);return n}function te(n){try{n=encodeURI(n).replace(x.percentDecode,"%")}catch{return null}return n}function re(n,e){let r=n.replace(x.findPipe,(i,l,o)=>{let a=!1,h=l;for(;--h>=0&&o[h]==="\\";)a=!a;return a?"|":" |"}),s=r.split(x.splitPipe),t=0;if(s[0].trim()||s.shift(),s.length>0&&!s.at(-1)?.trim()&&s.pop(),e)if(s.length>e)s.splice(e);else for(;s.length<e;)s.push("");for(;t<s.length;t++)s[t]=s[t].trim().replace(x.slashPipe,"|");return s}function z(n,e,r){let s=n.length;if(s===0)return"";let t=0;for(;t<s&&n.charAt(s-t-1)===e;)t++;return n.slice(0,s-t)}function et(n,e){if(n.indexOf(e[1])===-1)return-1;let r=0;for(let s=0;s<n.length;s++)if(n[s]==="\\")s++;else if(n[s]===e[0])r++;else if(n[s]===e[1]&&(r--,r<0))return s;return r>0?-2:-1}function ne(n,e,r,s,t){let i=e.href,l=e.title||null,o=n[1].replace(t.other.outputLinkReplace,"$1");s.state.inLink=!0;let a={type:n[0].charAt(0)==="!"?"image":"link",raw:r,href:i,title:l,text:o,tokens:s.inlineTokens(o)};return s.state.inLink=!1,a}function tt(n,e,r){let s=n.match(r.other.indentCodeCompensation);if(s===null)return e;let t=s[1];return e.split(`
3
3
  `).map(i=>{let l=i.match(r.other.beginningSpace);if(l===null)return i;let[o]=l;return o.length>=t.length?i.slice(t.length):i}).join(`
4
4
  `)}var L=class{options;rules;lexer;constructor(n){this.options=n||R}space(n){let e=this.rules.block.newline.exec(n);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(n){let e=this.rules.block.code.exec(n);if(e){let r=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?r:z(r,`
@@ -1 +1 @@
1
- import{_ as o,c as s,o as a,a as t,t as r}from"./nKfsBgPE.js";import{u as i}from"./b4Upel01.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},c={class:"max-w-520px text-center"},l=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return i({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,h)=>(a(),s("div",u,[t("div",c,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.statusCode)},null,8,l),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusMessage)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},x=o(f,[["__scopeId","data-v-c415ba6a"]]);export{x as default};
1
+ import{_ as o,c as s,o as a,a as t,t as r}from"./DSt96JPY.js";import{u as i}from"./DGQ4s7ae.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},c={class:"max-w-520px text-center"},l=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return i({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,h)=>(a(),s("div",u,[t("div",c,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.statusCode)},null,8,l),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusMessage)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},x=o(f,[["__scopeId","data-v-c415ba6a"]]);export{x as default};
@@ -0,0 +1 @@
1
+ import{_ as S}from"./QumocfwJ.js";import{_ as F}from"./C--9REmc.js";import{_ as N}from"./BMZIbUUD.js";import{u as j,a as A,l as B,S as T}from"./DeGmaFBY.js";import{g as L,r,j as V,k as D,l as E,w as x,o as a,a as e,b as c,d as s,c as u,m as U,F as p,q as _,p as P,t as $}from"./DSt96JPY.js";import"./B8uzckkK.js";import"./DolUcBed.js";const q={class:"space-y-6"},z={class:"n-bg-active rounded-lg p-6"},H={class:"text-lg font-semibold mb-4 flex items-center gap-2"},I={class:"space-y-4"},K={class:"flex-1"},M={class:"text-sm opacity-60"},O={class:"ml-4"},G={key:0,class:"text-sm text-purple-500 flex items-center gap-2"},J={class:"n-bg-active rounded-lg p-6"},Q={class:"font-medium mb-3 flex items-center gap-2"},R={class:"flex flex-wrap gap-2"},st=L({__name:"settings",setup(W){const d=j(),{log:i}=A("settings"),o=r(null),l=r(!1),g=r(!1),n=r({criticalFiles:{autoConfirm:!1}});function b(){return d.isActive.value&&d.origin.value?d.origin.value:window.location.origin}function w(){const m=b();i("Connecting to socket at",m),o.value=B(m,{path:T,transports:["websocket","polling"],reconnection:!0,reconnectionAttempts:5}),o.value.on("connect",()=>{i("Connected to socket"),l.value=!0,o.value?.emit("settings:get")}),o.value.on("disconnect",()=>{i("Disconnected from socket"),l.value=!1}),o.value.on("settings:get",t=>{i("Settings received",t),n.value=t}),o.value.on("settings:updated",t=>{i("Settings updated",t),n.value=t,g.value=!1})}function h(){!o.value||!l.value||(g.value=!0,o.value.emit("settings:update",n.value))}function k(){n.value.criticalFiles.autoConfirm=!n.value.criticalFiles.autoConfirm,h()}return V(()=>{w()}),D(()=>{o.value?.disconnect()}),(m,t)=>{const f=S,C=F,y=N;return a(),E(y,{title:"Settings",icon:"carbon:settings",color:"purple","show-connection-badge":"","is-connected":l.value,centered:"","max-width":"max-w-2xl"},{default:x(()=>[e("div",q,[e("div",z,[e("h2",H,[c(f,{class:"text-orange",icon:"carbon:warning"}),t[0]||(t[0]=s(" Critical Files Behavior ",-1))]),t[3]||(t[3]=e("p",{class:"text-sm opacity-70 mb-4"}," Configure how Claude handles changes to critical configuration files (nuxt.config.ts, app.config.ts, etc.) that trigger a Nuxt restart. ",-1)),e("div",I,[e("div",{class:"flex items-center justify-between p-4 rounded-lg border border-neutral-200 dark:border-neutral-700 cursor-pointer hover:border-purple-500/50 transition-colors",onClick:k},[e("div",K,[t[1]||(t[1]=e("div",{class:"font-medium mb-1"}," Auto-confirm critical file changes ",-1)),e("div",M,[n.value.criticalFiles.autoConfirm?(a(),u(p,{key:0},[s(" Claude will automatically proceed with changes without asking for confirmation. ")],64)):(a(),u(p,{key:1},[s(" Claude will ask for your confirmation before modifying critical files. ")],64))])]),e("div",O,[e("div",{class:_(["w-12 h-6 rounded-full transition-colors relative",n.value.criticalFiles.autoConfirm?"bg-purple-500":"bg-neutral-300 dark:bg-neutral-600"])},[e("div",{class:_(["absolute top-1 w-4 h-4 rounded-full bg-white transition-transform",n.value.criticalFiles.autoConfirm?"translate-x-7":"translate-x-1"])},null,2)],2)])]),g.value?(a(),u("div",G,[c(f,{class:"animate-spin",icon:"carbon:rotate"}),t[2]||(t[2]=s(" Saving... ",-1))])):U("",!0)])]),c(C,{n:"blue"},{default:x(()=>[...t[4]||(t[4]=[e("strong",null,"Note:",-1),s(" Settings are stored in ",-1),e("code",{class:"text-xs bg-blue-500/20 px-1 rounded"},".claude-devtools/settings.json",-1),s(" and the CLAUDE.md instructions are updated automatically when you change settings. ",-1)])]),_:1}),e("div",J,[e("h3",Q,[c(f,{class:"text-yellow",icon:"carbon:document"}),t[5]||(t[5]=s(" Files that trigger Nuxt restart: ",-1))]),e("div",R,[(a(),u(p,null,P(["nuxt.config.ts","nuxt.config.js","app.config.ts","app.config.js",".nuxtrc","tsconfig.json"],v=>e("code",{key:v,class:"text-xs px-2 py-1 bg-yellow-500/10 text-yellow-600 dark:text-yellow-400 rounded"},$(v),1)),64))])])])]),_:1},8,["is-connected"])}}});export{st as default};
@@ -0,0 +1 @@
1
+ import{_ as j}from"./QumocfwJ.js";import{_ as R}from"./M6QPYocW.js";import{_ as q}from"./C--9REmc.js";import{_ as D}from"./CHeJJZL9.js";import{_ as H}from"./CDQtmRaX.js";import{_ as I}from"./DolUcBed.js";import{_ as z}from"./BMZIbUUD.js";import{g as K,r as m,j as O,k as G,l as J,o as a,w as r,a as o,b as n,c as i,m as U,d as u,n as b,v as x,F as y,p as Q,t as v,q as W}from"./DSt96JPY.js";import{u as X,a as Y,l as Z,S as h}from"./DeGmaFBY.js";import"./B8uzckkK.js";const ee={class:"space-y-4"},oe={key:0,class:"n-bg-active rounded-lg p-4"},te={class:"space-y-4"},le={class:"flex gap-4"},ne={class:"flex items-center gap-2"},se={class:"flex items-center gap-2"},ae={class:"flex items-center gap-2"},re={key:1},ue={class:"flex gap-4"},ie={class:"flex items-center gap-2"},de={class:"flex items-center gap-2"},me={class:"flex gap-2 pt-2"},pe={key:1,class:"n-bg-active rounded-lg p-4 opacity-50"},ve={key:2,class:"space-y-2"},ce={class:"font-bold flex items-center gap-2"},fe={class:"text-sm opacity-70 font-mono"},Pe=K({__name:"mcp",setup(ge){const S=X(),{log:_}=Y("mcp"),s=m(null),k=m(!1),c=m(!1),V=m([]),f=m(!1),t=m({name:"",transport:"stdio",command:"",args:"",url:"",scope:"local"}),p=m("");function A(){return S.isActive.value&&S.origin.value?S.origin.value:window.location.origin}function M(){const d=A();_("Connecting to socket at",d),s.value=Z(d,{path:h,transports:["websocket","polling"],reconnection:!0,reconnectionAttempts:5}),s.value.on("connect",()=>{_("Connected to socket"),k.value=!0,N()}),s.value.on("disconnect",()=>{_("Disconnected from socket"),k.value=!1}),s.value.on("mcp:list",e=>{_("MCP list received",e),V.value=e,c.value=!1}),s.value.on("mcp:added",e=>{e.success?(f.value=!1,P()):p.value=e.error||"Failed to add MCP server"}),s.value.on("mcp:removed",e=>{e.success||alert(`Failed to remove: ${e.error}`)})}function N(){s.value&&(c.value=!0,s.value.emit("mcp:list"))}function P(){t.value={name:"",transport:"stdio",command:"",args:"",url:"",scope:"local"},p.value=""}function $(){if(!t.value.name){p.value="Name is required";return}if(t.value.transport==="stdio"&&!t.value.command){p.value="Command is required for stdio transport";return}if((t.value.transport==="http"||t.value.transport==="sse")&&!t.value.url){p.value="URL is required for HTTP/SSE transport";return}if(s.value){const d=t.value.args.split(" ").map(e=>e.trim()).filter(e=>e.length>0);s.value.emit("mcp:add",{name:t.value.name,transport:t.value.transport,command:t.value.command,args:d,url:t.value.url,scope:t.value.scope})}}function F(d){confirm(`Remove MCP server "${d.name}"?`)&&s.value&&s.value.emit("mcp:remove",{name:d.name})}return O(()=>{M()}),G(()=>{s.value&&s.value.disconnect()}),(d,e)=>{const w=j,g=R,L=q,B=D,C=H,T=I,E=z;return a(),J(E,{title:"MCP Servers",icon:"carbon:plug",color:"blue"},{actions:r(()=>[n(g,{disabled:!k.value,n:"blue",onClick:e[0]||(e[0]=l=>f.value=!0)},{default:r(()=>[n(w,{class:"mr-1",icon:"carbon:add"}),e[11]||(e[11]=u(" Add Server ",-1))]),_:1},8,["disabled"]),n(g,{disabled:!k.value||c.value,n:"gray",onClick:N},{default:r(()=>[n(w,{class:W([{"animate-spin":c.value},"mr-1"]),icon:"carbon:restart"},null,8,["class"]),e[12]||(e[12]=u(" Refresh ",-1))]),_:1},8,["disabled"])]),default:r(()=>[o("div",ee,[n(L,{class:"text-sm",icon:"carbon:information",n:"blue"},{default:r(()=>[...e[13]||(e[13]=[u(" Model Context Protocol (MCP) servers extend Claude's capabilities with custom tools and data sources. ",-1)])]),_:1}),f.value?(a(),i("div",oe,[e[27]||(e[27]=o("h3",{class:"font-bold mb-4"}," Add MCP Server ",-1)),n(B,{error:p.value,class:"mb-4"},null,8,["error"]),o("div",te,[o("div",null,[e[14]||(e[14]=o("label",{class:"block text-sm font-medium mb-1"},"Name",-1)),n(C,{modelValue:t.value.name,"onUpdate:modelValue":e[1]||(e[1]=l=>t.value.name=l),class:"w-full",placeholder:"e.g. github, nuxt-ui-remote"},null,8,["modelValue"])]),o("div",null,[e[18]||(e[18]=o("label",{class:"block text-sm font-medium mb-1"},"Transport",-1)),o("div",le,[o("label",ne,[b(o("input",{"onUpdate:modelValue":e[2]||(e[2]=l=>t.value.transport=l),name:"transport",type:"radio",value:"stdio"},null,512),[[x,t.value.transport]]),e[15]||(e[15]=o("span",null,"stdio",-1))]),o("label",se,[b(o("input",{"onUpdate:modelValue":e[3]||(e[3]=l=>t.value.transport=l),name:"transport",type:"radio",value:"http"},null,512),[[x,t.value.transport]]),e[16]||(e[16]=o("span",null,"HTTP",-1))]),o("label",ae,[b(o("input",{"onUpdate:modelValue":e[4]||(e[4]=l=>t.value.transport=l),name:"transport",type:"radio",value:"sse"},null,512),[[x,t.value.transport]]),e[17]||(e[17]=o("span",null,"SSE",-1))])])]),t.value.transport==="stdio"?(a(),i(y,{key:0},[o("div",null,[e[19]||(e[19]=o("label",{class:"block text-sm font-medium mb-1"},"Command",-1)),n(C,{modelValue:t.value.command,"onUpdate:modelValue":e[5]||(e[5]=l=>t.value.command=l),class:"w-full font-mono",placeholder:"e.g. npx"},null,8,["modelValue"])]),o("div",null,[e[20]||(e[20]=o("label",{class:"block text-sm font-medium mb-1"},"Arguments",-1)),n(C,{modelValue:t.value.args,"onUpdate:modelValue":e[6]||(e[6]=l=>t.value.args=l),class:"w-full font-mono",placeholder:"e.g. -y @modelcontextprotocol/server-github"},null,8,["modelValue"])])],64)):U("",!0),t.value.transport==="http"||t.value.transport==="sse"?(a(),i("div",re,[e[21]||(e[21]=o("label",{class:"block text-sm font-medium mb-1"},"URL",-1)),n(C,{modelValue:t.value.url,"onUpdate:modelValue":e[7]||(e[7]=l=>t.value.url=l),class:"w-full font-mono",placeholder:"e.g. https://ui.nuxt.com/mcp"},null,8,["modelValue"])])):U("",!0),o("div",null,[e[24]||(e[24]=o("label",{class:"block text-sm font-medium mb-1"},"Scope",-1)),o("div",ue,[o("label",ie,[b(o("input",{"onUpdate:modelValue":e[8]||(e[8]=l=>t.value.scope=l),name:"scope",type:"radio",value:"local"},null,512),[[x,t.value.scope]]),e[22]||(e[22]=o("span",null,"Local (this project)",-1))]),o("label",de,[b(o("input",{"onUpdate:modelValue":e[9]||(e[9]=l=>t.value.scope=l),name:"scope",type:"radio",value:"global"},null,512),[[x,t.value.scope]]),e[23]||(e[23]=o("span",null,"User (all projects)",-1))])])]),o("div",me,[n(g,{n:"green",onClick:$},{default:r(()=>[...e[25]||(e[25]=[u(" Add Server ",-1)])]),_:1}),n(g,{n:"gray",onClick:e[10]||(e[10]=l=>{f.value=!1,P()})},{default:r(()=>[...e[26]||(e[26]=[u(" Cancel ",-1)])]),_:1})])])])):U("",!0),V.value.length===0&&!f.value&&!c.value?(a(),i("div",pe,' No MCP servers configured. Click "Add Server" to get started. ')):(a(),i("div",ve,[(a(!0),i(y,null,Q(V.value,l=>(a(),i("div",{key:l.name,class:"n-bg-active rounded-lg p-4 flex items-center justify-between"},[o("div",null,[o("div",ce,[u(v(l.name)+" ",1),n(T,{n:l.transport==="stdio"?"gray":"blue",class:"text-xs"},{default:r(()=>[u(v(l.transport),1)]),_:2},1032,["n"]),n(T,{n:l.scope==="local"?"green":"purple",class:"text-xs"},{default:r(()=>[u(v(l.scope),1)]),_:2},1032,["n"])]),o("div",fe,[l.transport==="stdio"?(a(),i(y,{key:0},[u(v(l.command)+" "+v(l.args?.join(" ")),1)],64)):(a(),i(y,{key:1},[u(v(l.url),1)],64))])]),n(g,{n:"red",onClick:be=>F(l)},{default:r(()=>[n(w,{icon:"carbon:trash-can"})]),_:1},8,["onClick"])]))),128))]))])]),_:1})}}});export{Pe as default};