@loicngr/kobo 1.7.6 → 1.7.8

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 (110) hide show
  1. package/AGENTS.md +29 -0
  2. package/README.md +146 -4
  3. package/dist/mcp-server/kobo-tasks-server.js +27 -0
  4. package/dist/server/index.js +2 -0
  5. package/dist/server/routes/health.js +14 -0
  6. package/dist/server/routes/voice.js +149 -0
  7. package/dist/server/routes/workspaces.js +33 -9
  8. package/dist/server/services/agent/engines/claude-code/capabilities.js +7 -0
  9. package/dist/server/services/agent/engines/codex/capabilities.js +18 -0
  10. package/dist/server/services/agent/engines/codex/client.js +36 -0
  11. package/dist/server/services/agent/engines/codex/engine.js +276 -0
  12. package/dist/server/services/agent/engines/codex/event-mapper.js +473 -0
  13. package/dist/server/services/agent/engines/codex/jsonrpc/peer.js +60 -0
  14. package/dist/server/services/agent/engines/codex/jsonrpc/transport.js +31 -0
  15. package/dist/server/services/agent/engines/codex/options-builder.js +81 -0
  16. package/dist/server/services/agent/engines/codex/protocol/types.js +11 -0
  17. package/dist/server/services/agent/engines/codex/server-requests.js +99 -0
  18. package/dist/server/services/agent/engines/codex/spawn.js +27 -0
  19. package/dist/server/services/agent/engines/registry.js +2 -0
  20. package/dist/server/services/agent/orchestrator.js +1 -1
  21. package/dist/server/services/settings-service.js +125 -6
  22. package/dist/server/services/transcription-service.js +206 -0
  23. package/dist/server/utils/paths.js +7 -0
  24. package/dist/shared/codex-models.js +43 -0
  25. package/package.json +13 -10
  26. package/src/client/dist/spa/assets/ActivityFeed-CPZdjJpH.js +8 -0
  27. package/src/client/dist/spa/assets/{ActivityFeed-tE4LVYck.css → ActivityFeed-WjiQ9716.css} +1 -1
  28. package/src/client/dist/spa/assets/{ClosePopup-D_UAdwkA.js → ClosePopup-C5JlH6Hy.js} +1 -1
  29. package/src/client/dist/spa/assets/CreatePage-CdfbFlXf.js +2 -0
  30. package/src/client/dist/spa/assets/CreatePage-ZyBHUbl0.css +1 -0
  31. package/src/client/dist/spa/assets/{DiffViewer-CblFgn8w.js → DiffViewer-DkiP6nWz.js} +3 -3
  32. package/src/client/dist/spa/assets/HealthPage-BHGZJTgS.js +1 -0
  33. package/src/client/dist/spa/assets/{MainLayout-DhaYycak.js → MainLayout-C0tClQZl.js} +17 -17
  34. package/src/client/dist/spa/assets/{MainLayout-drolsINz.css → MainLayout-DKnTGN_Q.css} +1 -1
  35. package/src/client/dist/spa/assets/{QBadge-DWH42dbo.js → QBadge-C7r6oPSi.js} +1 -1
  36. package/src/client/dist/spa/assets/{QBtn-a6jxWjmW.js → QBtn-DEuWKHbR.js} +1 -1
  37. package/src/client/dist/spa/assets/{QCheckbox-D5jfsxLV.js → QCheckbox-BvHfXBFY.js} +1 -1
  38. package/src/client/dist/spa/assets/{QChip-ByxK0Tuf.js → QChip-erWIZgxW.js} +1 -1
  39. package/src/client/dist/spa/assets/{QExpansionItem-CH1ipL9n.js → QExpansionItem-CW6sPoP9.js} +1 -1
  40. package/src/client/dist/spa/assets/QIcon-qfJNZLIW.js +1 -0
  41. package/src/client/dist/spa/assets/{QInput-Cm5-AGQ4.js → QInput-DCJEwE8V.js} +1 -1
  42. package/src/client/dist/spa/assets/{QItemLabel-DrTxqTqV.js → QItemLabel-CHkgkZVj.js} +1 -1
  43. package/src/client/dist/spa/assets/{QItemSection-5YpFpPDm.js → QItemSection-CQUDd0Vg.js} +1 -1
  44. package/src/client/dist/spa/assets/{QList-D0FtnQJI.js → QList-BbnN_oNX.js} +1 -1
  45. package/src/client/dist/spa/assets/{QMenu-B4xMxMGd.js → QMenu-CaVfoMu6.js} +1 -1
  46. package/src/client/dist/spa/assets/{QPage-DFi3K093.js → QPage-Co2h9wd_.js} +1 -1
  47. package/src/client/dist/spa/assets/{QRadio-B3aKjCVu.js → QRadio-DJxOyOA3.js} +1 -1
  48. package/src/client/dist/spa/assets/QSpace-DKIph84L.js +1 -0
  49. package/src/client/dist/spa/assets/{QSpinnerDots-CszPQQ9J.js → QSpinnerDots-Bfl2RMy4.js} +1 -1
  50. package/src/client/dist/spa/assets/{QTabPanels-D2ks0UIA.js → QTabPanels-E66qDYmr.js} +1 -1
  51. package/src/client/dist/spa/assets/{QToggle-1-N9qWq4.js → QToggle-DNOTC_3a.js} +1 -1
  52. package/src/client/dist/spa/assets/{QTooltip-fDNzBEfN.js → QTooltip-DYey0zHV.js} +1 -1
  53. package/src/client/dist/spa/assets/{SearchPage-cZTwP4Lf.js → SearchPage-BaI3iU58.js} +1 -1
  54. package/src/client/dist/spa/assets/SettingsPage-BqBOQKeM.js +9 -0
  55. package/src/client/dist/spa/assets/SettingsPage-Zeu2cZqi.css +1 -0
  56. package/src/client/dist/spa/assets/{TouchPan-DoE24Io3.js → TouchPan-DQILDzd3.js} +1 -1
  57. package/src/client/dist/spa/assets/WorkspacePage-C9eT5LAo.css +1 -0
  58. package/src/client/dist/spa/assets/WorkspacePage-DqMyUSFG.js +4 -0
  59. package/src/client/dist/spa/assets/{build-path-tree-B1Lvvqto.js → build-path-tree-BpcCBm9A.js} +1 -1
  60. package/src/client/dist/spa/assets/{cssMode-BFLYiiEw.js → cssMode-BaeNVqUm.js} +1 -1
  61. package/src/client/dist/spa/assets/{documents-kx0vLfSG.js → documents-soWtna0O.js} +1 -1
  62. package/src/client/dist/spa/assets/{editor.api-2asmmhth.js → editor.api-DMLl_PBy.js} +1 -1
  63. package/src/client/dist/spa/assets/{editor.main-ChCYZyez.js → editor.main-D2pRsQAX.js} +3 -3
  64. package/src/client/dist/spa/assets/{AutoLoopChip-w8D77bI5.js → engineFeatures-RffgP255.js} +1 -1
  65. package/src/client/dist/spa/assets/{expand-template-CXQFkQOJ.js → expand-template-z2wIJOD2.js} +1 -1
  66. package/src/client/dist/spa/assets/{formatters-DCAQ6ANJ.js → formatters-guwb-rzl.js} +1 -1
  67. package/src/client/dist/spa/assets/{freemarker2-BaBL9E9G.js → freemarker2-Bh6ItnVy.js} +1 -1
  68. package/src/client/dist/spa/assets/{handlebars-BxDour4L.js → handlebars-D8OXeysi.js} +1 -1
  69. package/src/client/dist/spa/assets/{html-C6hnkfIL.js → html-9Y1AHhvw.js} +1 -1
  70. package/src/client/dist/spa/assets/{htmlMode-9zT3-dmz.js → htmlMode-z00se0fQ.js} +1 -1
  71. package/src/client/dist/spa/assets/i18n-C-VMW7h5.js +1 -0
  72. package/src/client/dist/spa/assets/index-BLlWqEZC.js +2 -0
  73. package/src/client/dist/spa/assets/{javascript-C3YjvKbE.js → javascript-D0LSb7WU.js} +1 -1
  74. package/src/client/dist/spa/assets/{jsonMode-DcJDgMzf.js → jsonMode-BSmyaoX3.js} +1 -1
  75. package/src/client/dist/spa/assets/{liquid-CsT8SjJM.js → liquid-BsY5UXNl.js} +1 -1
  76. package/src/client/dist/spa/assets/{mdx-CT3yVSyc.js → mdx-BUcXih4e.js} +1 -1
  77. package/src/client/dist/spa/assets/{monaco.contribution-DKGNz1oQ.js → monaco.contribution-DrpufOT3.js} +2 -2
  78. package/src/client/dist/spa/assets/{notifications-OnPq4FrH.js → notifications-C255ApfS.js} +1 -1
  79. package/src/client/dist/spa/assets/permissionModes-BocOmzU8.js +1 -0
  80. package/src/client/dist/spa/assets/{purify.es-CPieV82n.js → purify.es-aV6SU8N4.js} +1 -1
  81. package/src/client/dist/spa/assets/{python-Ca5miKgj.js → python-C0PoB7M8.js} +1 -1
  82. package/src/client/dist/spa/assets/{razor-7qzusGRc.js → razor-Bu0-fwxD.js} +1 -1
  83. package/src/client/dist/spa/assets/{render-chat-markdown-Bqq2G-yI.js → render-chat-markdown-DALCdDVE.js} +1 -1
  84. package/src/client/dist/spa/assets/runtime-core.esm-bundler-9Z0QAO_7.js +1 -0
  85. package/src/client/dist/spa/assets/{tsMode-BdvO8jZ2.js → tsMode-Blc1d2dp.js} +1 -1
  86. package/src/client/dist/spa/assets/{typescript-BfVNzhgs.js → typescript-CV4ME9fo.js} +1 -1
  87. package/src/client/dist/spa/assets/{use-checkbox-D7zmRxGI.js → use-checkbox-y_fOkYZN.js} +1 -1
  88. package/src/client/dist/spa/assets/{use-id-CuaR1RiE.js → use-id-_7wiRcgb.js} +1 -1
  89. package/src/client/dist/spa/assets/{use-panel-D-8nAQns.js → use-panel-DCPiSURS.js} +1 -1
  90. package/src/client/dist/spa/assets/use-quasar-DQYS47mh.js +1 -0
  91. package/src/client/dist/spa/assets/{vue-i18n-BcfTCFFS.js → vue-i18n-DI-gS-CC.js} +1 -1
  92. package/src/client/dist/spa/assets/{xml-DGNXGqXL.js → xml-DLYRBBbI.js} +1 -1
  93. package/src/client/dist/spa/assets/{yaml-CtAtOyt5.js → yaml-QIBjI5Dl.js} +1 -1
  94. package/src/client/dist/spa/index.html +12 -12
  95. package/src/mcp-server/kobo-tasks-server.ts +27 -0
  96. package/src/client/dist/spa/assets/ActivityFeed-BboSPm4b.js +0 -7
  97. package/src/client/dist/spa/assets/CreatePage-BDObLDJc.js +0 -2
  98. package/src/client/dist/spa/assets/CreatePage-DssmsAsV.css +0 -1
  99. package/src/client/dist/spa/assets/HealthPage-CBSw7e5q.js +0 -1
  100. package/src/client/dist/spa/assets/QIcon-BJuyqdsT.js +0 -1
  101. package/src/client/dist/spa/assets/QSpace-CLtL3aPy.js +0 -1
  102. package/src/client/dist/spa/assets/SettingsPage-C1efO0VM.js +0 -1
  103. package/src/client/dist/spa/assets/SettingsPage-CMyeQ9_u.css +0 -1
  104. package/src/client/dist/spa/assets/WorkspacePage-3jcof896.js +0 -4
  105. package/src/client/dist/spa/assets/WorkspacePage-CCtIrBiR.css +0 -1
  106. package/src/client/dist/spa/assets/i18n-CLY0XI9-.js +0 -1
  107. package/src/client/dist/spa/assets/index-D6wj_wQ9.js +0 -2
  108. package/src/client/dist/spa/assets/models-BsjWUKqM.js +0 -1
  109. package/src/client/dist/spa/assets/runtime-core.esm-bundler-C3IgBgY5.js +0 -1
  110. package/src/client/dist/spa/assets/use-quasar-Sdcq6zzV.js +0 -1
@@ -1,14 +1,14 @@
1
- <!DOCTYPE html><html><head><title>Kōbō</title><link rel=icon type=image/svg+xml href=/favicon.svg><meta charset=utf-8><meta name=description content="Kōbō — multi-workspace agent manager for Claude Code"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width,height=device-height"> <script type="module" crossorigin src="/assets/index-D6wj_wQ9.js"></script>
2
- <link rel="modulepreload" crossorigin href="/assets/runtime-core.esm-bundler-C3IgBgY5.js">
3
- <link rel="modulepreload" crossorigin href="/assets/vue-i18n-BcfTCFFS.js">
4
- <link rel="modulepreload" crossorigin href="/assets/QIcon-BJuyqdsT.js">
5
- <link rel="modulepreload" crossorigin href="/assets/use-id-CuaR1RiE.js">
6
- <link rel="modulepreload" crossorigin href="/assets/QBtn-a6jxWjmW.js">
7
- <link rel="modulepreload" crossorigin href="/assets/QInput-Cm5-AGQ4.js">
8
- <link rel="modulepreload" crossorigin href="/assets/use-checkbox-D7zmRxGI.js">
9
- <link rel="modulepreload" crossorigin href="/assets/QCheckbox-D5jfsxLV.js">
10
- <link rel="modulepreload" crossorigin href="/assets/QRadio-B3aKjCVu.js">
11
- <link rel="modulepreload" crossorigin href="/assets/QToggle-1-N9qWq4.js">
12
- <link rel="modulepreload" crossorigin href="/assets/notifications-OnPq4FrH.js">
1
+ <!DOCTYPE html><html><head><title>Kōbō</title><link rel=icon type=image/svg+xml href=/favicon.svg><meta charset=utf-8><meta name=description content="Kōbō — multi-workspace agent manager for Claude Code"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width,height=device-height"> <script type="module" crossorigin src="/assets/index-BLlWqEZC.js"></script>
2
+ <link rel="modulepreload" crossorigin href="/assets/runtime-core.esm-bundler-9Z0QAO_7.js">
3
+ <link rel="modulepreload" crossorigin href="/assets/vue-i18n-DI-gS-CC.js">
4
+ <link rel="modulepreload" crossorigin href="/assets/QIcon-qfJNZLIW.js">
5
+ <link rel="modulepreload" crossorigin href="/assets/use-id-_7wiRcgb.js">
6
+ <link rel="modulepreload" crossorigin href="/assets/QBtn-DEuWKHbR.js">
7
+ <link rel="modulepreload" crossorigin href="/assets/QInput-DCJEwE8V.js">
8
+ <link rel="modulepreload" crossorigin href="/assets/use-checkbox-y_fOkYZN.js">
9
+ <link rel="modulepreload" crossorigin href="/assets/QCheckbox-BvHfXBFY.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/QRadio-DJxOyOA3.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/QToggle-DNOTC_3a.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/notifications-C255ApfS.js">
13
13
  <link rel="stylesheet" crossorigin href="/assets/index-eX_lKHSg.css">
14
14
  </head><body><div id=q-app></div></body></html>
@@ -148,6 +148,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
148
148
  description:
149
149
  'CALL FIRST on any non-trivial turn to know what the user wants done and what is already completed. Returns every task and acceptance criterion for the current workspace with its id and status. Re-call periodically (before marking something done, or after the user asks for a status) to stay in sync with user-added or external updates.',
150
150
  inputSchema: { type: 'object', properties: {}, required: [] },
151
+ annotations: { readOnlyHint: true, openWorldHint: false },
151
152
  },
152
153
  {
153
154
  name: 'mark_task_done',
@@ -160,12 +161,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
160
161
  },
161
162
  required: ['task_id'],
162
163
  },
164
+ annotations: { destructiveHint: false, openWorldHint: false },
163
165
  },
164
166
  {
165
167
  name: 'mark_auto_loop_ready',
166
168
  description:
167
169
  'CALL ONLY at the end of a `/kobo-prep-autoloop` grooming session, once all tasks look atomic and implementable in one session. Flips a flag on the workspace that unlocks the auto-loop toggle in the UI. Do NOT call during normal sessions.',
168
170
  inputSchema: { type: 'object', properties: {}, required: [] },
171
+ annotations: { destructiveHint: false, openWorldHint: false },
169
172
  },
170
173
  {
171
174
  name: 'create_task',
@@ -182,6 +185,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
182
185
  },
183
186
  required: ['title'],
184
187
  },
188
+ annotations: { destructiveHint: false, openWorldHint: false },
185
189
  },
186
190
  {
187
191
  name: 'update_task',
@@ -204,6 +208,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
204
208
  },
205
209
  required: ['task_id'],
206
210
  },
211
+ annotations: { destructiveHint: false, openWorldHint: false },
207
212
  },
208
213
  {
209
214
  name: 'delete_task',
@@ -216,12 +221,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
216
221
  },
217
222
  required: ['task_id'],
218
223
  },
224
+ annotations: { destructiveHint: false, openWorldHint: false },
219
225
  },
220
226
  {
221
227
  name: 'get_workspace_info',
222
228
  description:
223
229
  'CALL EARLY in a session to confirm project path, working/source branch, worktree path, model, and notion link. Cheap read — useful when the user refers to "this workspace" or when you need the worktree path to locate files.',
224
230
  inputSchema: { type: 'object', properties: {}, required: [] },
231
+ annotations: { readOnlyHint: true, openWorldHint: false },
225
232
  },
226
233
  {
227
234
  name: 'set_workspace_agent_description',
@@ -237,6 +244,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
237
244
  },
238
245
  required: ['description'],
239
246
  },
247
+ annotations: { destructiveHint: false, openWorldHint: false },
240
248
  },
241
249
  {
242
250
  name: 'cron_create',
@@ -272,6 +280,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
272
280
  },
273
281
  required: ['expression', 'prompt'],
274
282
  },
283
+ annotations: { destructiveHint: false, openWorldHint: false },
275
284
  },
276
285
  {
277
286
  name: 'cron_delete',
@@ -284,17 +293,20 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
284
293
  },
285
294
  required: ['id'],
286
295
  },
296
+ annotations: { destructiveHint: false, openWorldHint: false },
287
297
  },
288
298
  {
289
299
  name: 'cron_list',
290
300
  description: 'List all crons currently armed on THIS workspace, including their next and last fire times.',
291
301
  inputSchema: { type: 'object', properties: {}, additionalProperties: false },
302
+ annotations: { readOnlyHint: true, openWorldHint: false },
292
303
  },
293
304
  {
294
305
  name: 'get_git_info',
295
306
  description:
296
307
  'CALL BEFORE creating a PR, committing in batches, or reporting progress to the user. Returns commit count ahead of source, files changed, insertions/deletions, and existing PR URL if any.',
297
308
  inputSchema: { type: 'object', properties: {}, required: [] },
309
+ annotations: { readOnlyHint: true, openWorldHint: false },
298
310
  },
299
311
  {
300
312
  name: 'set_workspace_status',
@@ -311,29 +323,34 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
311
323
  },
312
324
  required: ['status'],
313
325
  },
326
+ annotations: { destructiveHint: false, openWorldHint: false },
314
327
  },
315
328
  {
316
329
  name: 'get_notion_ticket',
317
330
  description:
318
331
  'CALL when the user references "the ticket", "the Notion page", or when you need the source-of-truth text for the mission. Returns the Notion URL + locally-extracted ticket content from .ai/thoughts/.',
319
332
  inputSchema: { type: 'object', properties: {}, required: [] },
333
+ annotations: { readOnlyHint: true, openWorldHint: false },
320
334
  },
321
335
  {
322
336
  name: 'get_dev_server_status',
323
337
  description:
324
338
  'CALL BEFORE asking the user whether the app is running, or when your change is dev-server-sensitive. Returns running/stopped/starting/error + URL, port, container names.',
325
339
  inputSchema: { type: 'object', properties: {}, required: [] },
340
+ annotations: { readOnlyHint: true, openWorldHint: false },
326
341
  },
327
342
  {
328
343
  name: 'start_dev_server',
329
344
  description: 'CALL WHEN the user asks you to test the running app and the dev server is stopped.',
330
345
  inputSchema: { type: 'object', properties: {}, required: [] },
346
+ annotations: { destructiveHint: false, openWorldHint: false },
331
347
  },
332
348
  {
333
349
  name: 'stop_dev_server',
334
350
  description:
335
351
  'CALL WHEN the user explicitly asks to stop the dev server, or before destructive operations that require a clean boot.',
336
352
  inputSchema: { type: 'object', properties: {}, required: [] },
353
+ annotations: { destructiveHint: false, openWorldHint: false },
337
354
  },
338
355
  {
339
356
  name: 'get_dev_server_logs',
@@ -346,12 +363,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
346
363
  },
347
364
  required: [],
348
365
  },
366
+ annotations: { readOnlyHint: true, openWorldHint: false },
349
367
  },
350
368
  {
351
369
  name: 'list_workspace_images',
352
370
  description:
353
371
  'CALL WHEN the user mentions "the screenshot", "the attached image", or when you need to reference a previously-uploaded image. Returns uid, originalName, relativePath, createdAt for every image in .ai/images/.',
354
372
  inputSchema: { type: 'object', properties: {}, required: [] },
373
+ annotations: { readOnlyHint: true, openWorldHint: false },
355
374
  },
356
375
  {
357
376
  name: 'get_settings',
@@ -367,6 +386,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
367
386
  },
368
387
  required: [],
369
388
  },
389
+ annotations: { readOnlyHint: true, openWorldHint: false },
370
390
  },
371
391
  // ── Knowledge / context tools ─────────────────────────────────────────────
372
392
  {
@@ -374,6 +394,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
374
394
  description:
375
395
  'CALL EARLY on a new session to discover plans, specs, and thoughts previously written for this workspace. Recursively lists every .md under docs/plans/, docs/superpowers/, and .ai/thoughts/. Before writing a new plan, check if one already exists.',
376
396
  inputSchema: { type: 'object', properties: {}, required: [] },
397
+ annotations: { readOnlyHint: true, openWorldHint: false },
377
398
  },
378
399
  {
379
400
  name: 'read_document',
@@ -390,6 +411,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
390
411
  },
391
412
  required: ['path'],
392
413
  },
414
+ annotations: { readOnlyHint: true, openWorldHint: false },
393
415
  },
394
416
  {
395
417
  name: 'log_thought',
@@ -407,6 +429,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
407
429
  },
408
430
  required: ['title', 'content'],
409
431
  },
432
+ annotations: { destructiveHint: false, openWorldHint: false },
410
433
  },
411
434
  {
412
435
  name: 'search_codebase',
@@ -429,12 +452,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
429
452
  },
430
453
  required: ['query'],
431
454
  },
455
+ annotations: { readOnlyHint: true, openWorldHint: false },
432
456
  },
433
457
  {
434
458
  name: 'get_session_usage',
435
459
  description:
436
460
  'CALL when you need to self-regulate on long missions — returns token/cost totals for the workspace lifetime and for the currently running agent_session. Useful before spawning heavy subagents or deep reasoning on already-expensive sessions.',
437
461
  inputSchema: { type: 'object', properties: {}, required: [] },
462
+ annotations: { readOnlyHint: true, openWorldHint: false },
438
463
  },
439
464
  {
440
465
  name: 'schedule_wakeup',
@@ -458,12 +483,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
458
483
  },
459
484
  required: ['delaySeconds', 'prompt'],
460
485
  },
486
+ annotations: { destructiveHint: false, openWorldHint: false },
461
487
  },
462
488
  {
463
489
  name: 'cancel_wakeup',
464
490
  description:
465
491
  'CALL to cancel any pending wakeup on this workspace (e.g. the condition you were waiting on resolved early, or you decided not to continue). Idempotent — safe to call when nothing is pending.',
466
492
  inputSchema: { type: 'object', properties: {}, required: [] },
493
+ annotations: { destructiveHint: false, openWorldHint: false },
467
494
  },
468
495
  ],
469
496
  }))
@@ -1,7 +0,0 @@
1
- import{E as e,F as t,H as n,L as r,M as i,Q as a,U as o,_t as s,bt as c,d as l,f as u,g as d,h as f,l as p,p as m,r as h,rt as g,u as _,v,yt as y}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{U as b,l as x,t as S}from"./QIcon-BJuyqdsT.js";import{c as C,s as w}from"./notifications-OnPq4FrH.js";import{t as T}from"./QBtn-a6jxWjmW.js";import{n as E}from"./vue-i18n-BcfTCFFS.js";import{d as D,g as O,l as k,p as A}from"./index-D6wj_wQ9.js";import{t as j}from"./QSpinnerDots-CszPQQ9J.js";import{t as M}from"./QTooltip-fDNzBEfN.js";import{t as N}from"./QExpansionItem-CH1ipL9n.js";import{n as ee,r as te,t as P}from"./render-chat-markdown-Bqq2G-yI.js";import{n as F}from"./purify.es-CPieV82n.js";import{t as I}from"./documents-kx0vLfSG.js";import{t as L}from"./_plugin-vue_export-helper-Cj6tcsj6.js";function ne(e,t,n=!0){let r=[],i=new Map,a=new Map;for(let n=0;n<e.length;n++){let o=e[n],s=t?.[n];switch(o.kind){case`message:text`:{let e=i.get(o.messageId);if(e)e.text+=o.text,e.streaming=o.streaming;else{let e={type:`text`,messageId:o.messageId,text:o.text,streaming:o.streaming,ts:s};i.set(o.messageId,e),r.push(e)}break}case`message:end`:{let e=i.get(o.messageId);e&&(e.streaming=!1);break}case`message:thinking`:r.push({type:`thinking`,messageId:o.messageId,text:o.text,ts:s});break;case`tool:call`:{let e={type:`tool`,toolCallId:o.toolCallId,name:o.name,input:o.input,ts:s};a.set(o.toolCallId,e),r.push(e);break}case`tool:result`:{let e=a.get(o.toolCallId);e&&(e.result={output:o.output,isError:o.isError});break}case`session:started`:r.push({type:`session`,kind:`started`,detail:{engineSessionId:o.engineSessionId,model:o.model},ts:s});break;case`session:ended`:r.push({type:`session`,kind:`ended`,detail:{reason:o.reason,exitCode:o.exitCode},ts:s});break;case`session:compacted`:r.push({type:`session`,kind:`compacted`,ts:s});break;case`session:brainstorm-complete`:case`session:user-input-requested`:case`message:raw`:case`skills:discovered`:case`usage`:case`rate_limit`:case`subagent:progress`:case`error`:break;default:}}let o=null;for(let e of r)e.type===`text`&&e.streaming&&(o&&(o.streaming=!1),o=e);return o&&!n&&(o.streaming=!1),r}function re(e,t){if(t.length===0)return e;let n=t.map(e=>({type:`user`,content:e.content,sender:e.sender,ts:e.ts})),r=[...e,...n];r.sort((e,t)=>{let n=e.ts??``,r=t.ts??``;return n===r?0:n?r?n<r?-1:1:-1:1});let i;for(let e of r)e.type===`user`&&e.sender!==`system-prompt`&&e.ts&&(!i||e.ts>i)&&(i=e.ts);if(i)for(let e of r)e.type===`text`&&e.streaming&&(!e.ts||e.ts<i)&&(e.streaming=!1);return r}function R(e){switch(e.type){case`user`:return e.sender===`system-prompt`?`system-prompt`:`user`;case`session`:return`session`;default:return`agent`}}function ie(e){let t=[],n=null;for(let r of e){let e=R(r),i=e===`session`||e===`system-prompt`;!n||n.speaker!==e||i?(n={speaker:e,ts:r.ts,items:[r]},t.push(n),i&&(n=null)):n.items.push(r)}return t}var z={class:`text-caption text-grey-6`},B=v({__name:`SessionEventItem`,props:{item:{}},setup(e){let n=e,r=p(()=>{switch(n.item.kind){case`started`:return`session.started`;case`ended`:return`session.ended`;case`compacted`:return`session.compacted`;default:return`session.started`}});return(e,n)=>(t(),m(`span`,z,c(e.$t(r.value)),1))}});function V(e,t){if(t.length===0||e.length===0)return e;let n=[...t].sort((e,t)=>t.length-e.length),r=new DOMParser().parseFromString(`<div>${e}</div>`,`text/html`),i=r.body.firstChild;if(!i)return e;function a(e){if(e.nodeType===Node.TEXT_NODE){ae(e,n,r);return}if(e.nodeName===`A`)return;let t=Array.from(e.childNodes);for(let e of t)a(e)}return a(i),i.innerHTML}function ae(e,t,n){let r=e.textContent??``;if(!t.some(e=>r.includes(e)))return;let i=n.createDocumentFragment(),a=0;for(;a<r.length;){let e=H(r,a,t);if(!e){i.appendChild(n.createTextNode(r.slice(a)));break}e.index>a&&i.appendChild(n.createTextNode(r.slice(a,e.index)));let o=n.createElement(`a`);o.className=`document-link`,o.setAttribute(`data-document-path`,e.path),o.setAttribute(`href`,`#`),o.textContent=e.path,i.appendChild(o),a=e.index+e.path.length}e.parentNode?.replaceChild(i,e)}function H(e,t,n){let r=null;for(let i of n){let n=e.indexOf(i,t);n<0||(!r||n<r.index||n===r.index&&i.length>r.path.length)&&(r={index:n,path:i})}return r}var U=[`innerHTML`],W=L(v({__name:`TextMessageItem`,props:{item:{}},setup(e){let n=e,r=I(),i=k(),a=p(()=>{let e=i.selectedWorkspaceId;return e?r.documentsFor(e).map(e=>e.path):[]}),o=p(()=>ee(V(F.parse(n.item.text,{async:!1,breaks:!0,gfm:!0}),a.value),{addAttr:[`data-document-path`]}));function s(e){let t=e.target?.closest(`.document-link`);if(!t)return;e.preventDefault();let n=t.getAttribute(`data-document-path`),a=i.selectedWorkspaceId;!n||!a||r.openDocumentByPath(a,n)}return(n,r)=>(t(),m(`div`,{class:`markdown-message`,onClick:s},[_(`div`,{innerHTML:o.value},null,8,U),e.item.streaming?(t(),l(x,{key:0,size:`xs`,class:`q-ml-xs`})):u(``,!0)]))}}),[[`__scopeId`,`data-v-1b7bd8ca`]]),oe={key:0,class:`text-caption text-grey-5`,style:{"font-style":`italic`}},G=[`innerHTML`],K={key:1,style:{"white-space":`pre-wrap`}},se=L(v({__name:`ThinkingItem`,props:{item:{}},setup(e){let n=e,r=p(()=>n.item.text.trim().slice(0,100)),i=p(()=>n.item.text.trim().length>0),a=p(()=>n.item.text.trim().length>100),s=p(()=>P(n.item.text));return(n,d)=>i.value?(t(),m(`div`,oe,[a.value?(t(),l(N,{key:0,dense:``,"dense-toggle":``,label:r.value,"header-class":`text-grey-5 text-caption`,style:{"font-style":`italic`}},{default:o(()=>[_(`div`,{class:`q-py-xs markdown-thinking`,innerHTML:s.value},null,8,G)]),_:1},8,[`label`])):(t(),m(`span`,K,c(e.item.text),1))])):u(``,!0)}}),[[`__scopeId`,`data-v-7f45ed94`]]);function ce(e,t){let n=e.split(`
2
- `),r=t.split(`
3
- `),i=n.length,a=r.length,o=Array.from({length:i+1},()=>Array(a+1).fill(0));for(let e=i-1;e>=0;e--)for(let t=a-1;t>=0;t--)n[e]===r[t]?o[e][t]=o[e+1][t+1]+1:o[e][t]=Math.max(o[e+1][t],o[e][t+1]);let s=[],c=0,l=0;for(;c<i&&l<a;)n[c]===r[l]?(s.push({type:`context`,content:n[c]}),c++,l++):o[c+1][l]>=o[c][l+1]?(s.push({type:`del`,content:n[c]}),c++):(s.push({type:`add`,content:r[l]}),l++);for(;c<i;)s.push({type:`del`,content:n[c++]});for(;l<a;)s.push({type:`add`,content:r[l++]});return s}function q(e,t){if(!t||typeof t!=`object`)return null;let n=t;if(e===`Edit`){let e=n.file_path;if(!e)return null;let t=n.old_string??``,r=n.new_string??``;return{toolName:`Edit`,filePath:e,oldString:t,newString:r,replaceAll:n.replace_all??!1,additions:r?r.split(`
4
- `).length:0,deletions:t?t.split(`
5
- `).length:0}}if(e===`Write`){let e=n.file_path;if(!e)return null;let t=n.content??``;return{toolName:`Write`,filePath:e,content:t,additions:t?t.split(`
6
- `).length:0,deletions:0}}if(e===`Bash`){let e=(n.command??``).match(/^\s*rm\s+(?:-[a-zA-Z]*\s+)*(.+)/);if(e)return{toolName:`Bash:rm`,filePath:e[1].trim().replace(/["']/g,``),additions:0,deletions:1}}return null}function le(e,t){if(!e||!t?.projectPath)return e;let n=t.worktreePath;if(n){let t=J(e,n);if(t!==e)return t}let r=J(e,`${t.projectPath}/${C}/${t.workingBranch}`);return r===e?J(e,t.projectPath):r}function J(e,t){if(!t)return e;let n=ue(t);return n?e.replace(RegExp(`${n}[\\\\/]+`,`g`),``).replace(RegExp(`${n}(?=\\s|$|["'\`])`,`g`),`.`):e}function ue(e){let t=e.replace(/[\\/]+$/,``);return t?`${/^[\\/]+/.test(t)?`[\\\\/]+`:``}${t.split(/[\\/]+/).filter(Boolean).map(Y).join(`[\\\\/]+`)}`:``}function Y(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}var X={class:`tool-name`},de=[`title`],fe={key:0,class:`tool-stat-add`},Z={key:1,class:`tool-stat-del`},Q={class:`diff-sign`},$={class:`tool-name`},pe=[`title`],me=L(v({__name:`ToolCallItem`,props:{item:{}},setup(e){let i=e,o=a(!1),g=k(),v=p(()=>q(i.item.name,i.item.input)),y=p(()=>v.value?le(v.value.filePath,g.selectedWorkspace):``),x={Bash:`terminal`,Read:`description`,Edit:`edit`,Write:`edit_note`,MultiEdit:`edit`,Glob:`folder_open`,Grep:`manage_search`,LS:`list`,Skill:`auto_awesome`,Task:`hub`,Agent:`hub`,TodoWrite:`checklist`,TodoRead:`checklist`,ToolSearch:`search`,WebFetch:`public`,WebSearch:`travel_explore`,NotebookRead:`book`,NotebookEdit:`edit_note`,SendMessage:`send`,ExitPlanMode:`check_circle_outline`,KillShell:`stop_circle`,BashOutput:`terminal`},C=p(()=>x[i.item.name]??`build`),w=p(()=>{if(v.value)return``;let e=i.item.input,t=T(e);return t?le(t,g.selectedWorkspace):``});function T(e){if(!e||typeof e!=`object`)return typeof e==`string`?e:``;let t=e;for(let e of[`file_path`,`path`,`command`,`pattern`,`query`,`url`,`skill`,`description`,`subject`,`prompt`]){let n=t[e];if(typeof n==`string`&&n.length>0)return n}for(let e of Object.values(t))if(typeof e==`string`&&e.length>0)return e;return``}let E=p(()=>{let e=v.value;return e?e.toolName===`Edit`&&e.oldString!==void 0&&e.newString!==void 0?ce(e.oldString,e.newString):e.toolName===`Write`&&e.content!==void 0?e.content.split(`
7
- `).map(e=>({type:`add`,content:e})):e.toolName===`Bash:rm`?[{type:`del`,content:`File deleted`}]:null:null}),D=p(()=>{let e=i.item.result;if(!e)return``;if(typeof e.output==`string`)return e.output;try{return JSON.stringify(e.output)}catch{return String(e.output)}}),O=new Set([`Read`]),A=p(()=>!!(i.item.result&&D.value)&&(!O.has(i.item.name)||i.item.result?.isError===!0));function j(){o.value=!o.value}return n(()=>i.item.result?.isError===!0,e=>{e&&(o.value=!0)},{immediate:!0}),(n,i)=>v.value?(t(),m(`div`,{key:0,class:s([`tool-row`,{"tool-row-expanded":o.value}])},[_(`div`,{class:`tool-header`,onClick:j},[d(S,{name:C.value,size:`14px`,class:`tool-icon`},null,8,[`name`]),_(`span`,X,c(v.value.toolName===`Bash:rm`?`Bash`:v.value.toolName),1),_(`span`,{class:`tool-path`,title:v.value.filePath},c(y.value),9,de),v.value.additions>0?(t(),m(`span`,fe,`+`+c(v.value.additions),1)):u(``,!0),v.value.deletions>0?(t(),m(`span`,Z,`-`+c(v.value.deletions),1)):u(``,!0),e.item.result?.isError?(t(),l(S,{key:2,name:`error_outline`,color:`negative`,size:`xs`,class:`q-ml-xs`})):e.item.result?(t(),l(S,{key:3,name:`check`,color:`positive`,size:`xs`,class:`q-ml-xs`})):u(``,!0),d(S,{name:o.value?`expand_less`:`expand_more`,size:`xs`,class:`q-ml-auto text-grey-6`},null,8,[`name`])]),o.value&&E.value?(t(),m(`div`,{key:0,class:`tool-diff`,onClick:i[0]||=b(()=>{},[`stop`])},[(t(!0),m(h,null,r(E.value,(e,n)=>(t(),m(`div`,{key:n,class:s([`diff-line`,{"diff-del":e.type===`del`,"diff-add":e.type===`add`,"diff-context":e.type===`context`}])},[_(`span`,Q,c(e.type===`del`?`-`:e.type===`add`?`+`:` `),1),f(c(e.content),1)],2))),128))])):u(``,!0)],2)):(t(),m(`div`,{key:1,class:s([`tool-row tool-row-generic`,{"tool-row-expanded":o.value,"tool-row--toggleable":A.value}])},[_(`div`,{class:`tool-header`,onClick:i[1]||=e=>A.value&&j()},[d(S,{name:C.value,size:`14px`,class:`tool-icon`},null,8,[`name`]),_(`span`,$,c(e.item.name),1),w.value?(t(),m(`span`,{key:0,class:`tool-arg`,title:T(e.item.input)||w.value},c(w.value),9,pe)):u(``,!0),e.item.result?.isError?(t(),l(S,{key:1,name:`error_outline`,color:`negative`,size:`xs`,class:`q-ml-auto`})):e.item.result?(t(),l(S,{key:2,name:`check`,color:`positive`,size:`xs`,class:`q-ml-auto`})):u(``,!0),A.value?(t(),l(S,{key:3,name:o.value?`expand_less`:`expand_more`,size:`xs`,class:`q-ml-xs text-grey-6`},null,8,[`name`])):u(``,!0)]),o.value&&A.value?(t(),m(`div`,{key:0,class:`tool-output`,onClick:i[2]||=b(()=>{},[`stop`])},c(D.value),1)):u(``,!0)],2))}}),[[`__scopeId`,`data-v-b1fcd20d`]]);function he(e,t){return t?e.replace(/\[image:\s+([^\]]+)\]/g,(e,n)=>{let r=String(n).trim();return/^(\.ai\/images\/|images\/)/.test(r)?`![${r}](${`/api/workspaces/${encodeURIComponent(t)}/images/file?path=${encodeURIComponent(r)}`})`:e}):e}var ge=[`innerHTML`],_e=[`innerHTML`],ve=[`src`],ye=L(v({__name:`UserMessageItem`,props:{item:{}},setup(e){let n=e,r=k(),i=p(()=>n.item.sender===`system-prompt`),s=p(()=>P(he(n.item.content,r.selectedWorkspaceId??``))),c=a(null),f=a(!1);function g(e){let t=e.target;if(t?.tagName!==`IMG`)return;let n=t;n.src&&(c.value=n.src,f.value=!0)}return(e,n)=>(t(),m(h,null,[i.value?(t(),l(N,{key:0,dense:``,"dense-toggle":``,label:e.$t(`chat.systemPrompt`),"header-class":`text-grey-5 text-caption`},{default:o(()=>[_(`div`,{class:`q-py-xs markdown-user-prompt`,innerHTML:s.value},null,8,ge)]),_:1},8,[`label`])):(t(),m(`div`,{key:1,class:`markdown-message`,onClick:g},[_(`div`,{innerHTML:s.value},null,8,_e)])),d(O,{modelValue:f.value,"onUpdate:modelValue":n[1]||=e=>f.value=e},{default:o(()=>[c.value?(t(),m(`img`,{key:0,src:c.value,alt:``,class:`image-lightbox-img`,onClick:n[0]||=e=>f.value=!1},null,8,ve)):u(``,!0)]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-f34be4c5`]]),be={class:`turn-header`},xe={key:0,class:`turn-time`},Se={class:`turn-time turn-time-updated`},Ce={key:2,class:`turn-actions`},we={class:`turn-body`},Te={key:0,class:`turn-scroll-top`},Ee=L(v({__name:`TurnCard`,props:{turn:{}},emits:[`scrollTo`],setup(e,{emit:n}){let i=e,v=n,{t:b}=E(),x=a(null);function C(){let e=x.value;if(!e)return;let t=e.closest(`.q-scrollarea`)?.querySelector(`.q-scrollarea__content`);if(!t){e.scrollIntoView({behavior:`smooth`,block:`start`});return}let n=e.getBoundingClientRect().top-t.getBoundingClientRect().top;v(`scrollTo`,Math.max(0,n-8))}let w=p(()=>{switch(i.turn.speaker){case`user`:return{label:b(`chat.you`),accent:`#ce93d8`,badgeClass:`turn-badge-user`};case`agent`:return{label:b(`chat.agent`),accent:`#7986cb`,badgeClass:`turn-badge-agent`};case`system-prompt`:return{label:b(`chat.systemPrompt`),accent:`#757575`,badgeClass:`turn-badge-system`};case`session`:return{label:b(`chat.session`),accent:`#616161`,badgeClass:`turn-badge-session`}}});function D(e,t=!1){if(!e)return``;let n=new Date(e);return Number.isNaN(n.getTime())?``:n.toLocaleTimeString(void 0,t?{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}:{hour:`2-digit`,minute:`2-digit`})}let O=p(()=>D(i.turn.ts)),k=p(()=>{let e=i.turn.items;if(e.length===0)return null;for(let t=e.length-1;t>=0;t--){let n=e[t].ts;if(n)return n}return null}),A=p(()=>{let e=i.turn.ts,t=k.value;if(!t||!e||t===e)return``;let n=new Date(e).getTime(),r=new Date(t).getTime();return Number.isNaN(n)||Number.isNaN(r)||r<=n?``:D(t,r-n<6e4)}),j=p(()=>A.value!==``),N=p(()=>i.turn.items.filter(e=>e.type===`tool`).length);return(n,i)=>(t(),m(`div`,{ref_key:`cardEl`,ref:x,class:s([`turn-card`,{"turn-card--user":e.turn.speaker===`user`}]),style:y({"--turn-accent":w.value.accent})},[_(`div`,be,[_(`span`,{class:s([`turn-badge`,w.value.badgeClass])},c(w.value.label),3),O.value?(t(),m(`span`,xe,c(O.value),1)):u(``,!0),j.value?(t(),m(h,{key:1},[d(S,{name:`arrow_forward`,size:`10px`,color:`grey-7`,class:`turn-time-arrow`}),_(`span`,Se,[f(c(A.value)+` `,1),d(M,null,{default:o(()=>[f(c(g(b)(`chat.lastUpdatedAt`,{time:A.value})),1)]),_:1})])],64)):u(``,!0),N.value>0?(t(),m(`span`,Ce,` · `+c(g(b)(`chat.nActions`,{n:N.value})),1)):u(``,!0)]),_(`div`,we,[(t(!0),m(h,null,r(e.turn.items,(e,n)=>(t(),m(h,{key:n},[e.type===`text`?(t(),l(W,{key:0,item:e},null,8,[`item`])):e.type===`thinking`?(t(),l(se,{key:1,item:e},null,8,[`item`])):e.type===`tool`?(t(),l(me,{key:2,item:e},null,8,[`item`])):e.type===`user`?(t(),l(ye,{key:3,item:e},null,8,[`item`])):e.type===`session`?(t(),l(B,{key:4,item:e},null,8,[`item`])):u(``,!0)],64))),128))]),e.turn.items.length>4?(t(),m(`div`,Te,[d(T,{flat:``,round:``,dense:``,size:`xs`,icon:`arrow_upward`,color:`grey-6`,class:`turn-scroll-top-btn`,onClick:C},{default:o(()=>[d(M,null,{default:o(()=>[f(c(g(b)(`chat.scrollToTurnTop`)),1)]),_:1})]),_:1})])):u(``,!0)],6))}}),[[`__scopeId`,`data-v-4729e0cc`]]),De={key:0,class:`activity-feed-switching`},Oe={key:1,class:`activity-feed-wrap`},ke={key:0,class:`text-center q-py-sm text-caption text-grey-6`},Ae={class:`q-pa-md`},je={key:1,class:`q-px-md q-pb-md`},Me={class:`activity-feed-nav-cluster`},Ne=60,Pe=200,Fe=200,Ie=400,Le=200,Re=L(v({__name:`ActivityFeed`,props:{workspaceId:{}},setup(s){let g=s,v=A(),y=w(),b=k(),S=p(()=>b.selectedSessionId),C=p(()=>b.sessions.find(e=>e.id===S.value)?.engineSessionId??null),E=p(()=>{let e=b.sessions;return e.length===0?!1:S.value===e[e.length-1].id});function O(e){return S.value?e?e===S.value||e===C.value:E.value:!0}let M=p(()=>(b.activityFeeds[g.workspaceId]??[]).filter(e=>e.type===`text`&&typeof e.content==`string`&&O(e.sessionId)).map(e=>({content:e.content,sender:e.meta?.sender??`user`,ts:e.timestamp,sessionId:e.sessionId}))),ee=p(()=>D(b.workspaces.find(e=>e.id===g.workspaceId)?.status)),P=p(()=>{let e=v.eventsFor(g.workspaceId),t=v.timestampsFor(g.workspaceId),n=v.sessionIdsFor(g.workspaceId),r=[],i=[];for(let a=0;a<e.length;a++)O(n[a])&&(r.push(e[a]),i.push(t[a]));let a=re(ne(r,i,ee.value),M.value);return ie(y.showVerboseSystemMessages?a:a.filter(e=>e.type!==`session`))}),F=p(()=>y.showVerboseSystemMessages?v.eventsFor(g.workspaceId).filter(e=>e.kind===`message:raw`).map(e=>e.content):[]),I=a(null),L=a(!0),R=a(!1),z=!1,B=a(!0),V=a(new Map);function ae(e){L.value=e.verticalSize-e.verticalPosition-e.verticalContainerSize<=Ne,z&&e.verticalPosition<=Pe&&!R.value&&U()&&G()}function H(e,t){return`${e}:${t}`}function U(){let e=S.value;return e?V.value.get(H(g.workspaceId,e))??!0:v.hasMoreOlderFor(g.workspaceId)}function W(e,t,n){V.value.set(H(e,t),n)}function oe(e){if(!S.value)return v.oldestIdFor(e);let t=v.eventIdsFor(e),n=v.sessionIdsFor(e);for(let e=0;e<t.length;e++){if(!O(n[e]))continue;let r=t[e];if(r)return r}}async function G(){let t=g.workspaceId,n=S.value,r=oe(t);if(!r)return;R.value=!0;let i=Date.now();try{let i=I.value;await e();let a=i?.getScroll().verticalSize??0,o=i?.getScroll().verticalPosition??0,s=new URLSearchParams({before:r,limit:`200`});n&&s.set(`session`,n);let c=fetch(`/api/workspaces/${t}/events?${s.toString()}`),l=new Promise(e=>setTimeout(e,Fe)),[u]=await Promise.all([c,l]);if(!u.ok){n?W(t,n,!1):v.prepend(t,[],[],{oldestId:r,hasMoreOlder:!1});return}let d=await u.json(),f=d.events??[],p=f.filter(e=>e.type===`agent:event`&&e.workspaceId===t),m=f.filter(e=>e.type===`user:message`&&e.workspaceId===t),h=p.map(e=>e.payload),g=p.map(e=>e.createdAt),_=p.map(e=>e.sessionId??null),y=p.map(e=>e.id),x=f.length>0?f[0].id:r;n&&W(t,n,d.hasMore),v.prepend(t,h,g,{oldestId:x,hasMoreOlder:n?v.hasMoreOlderFor(t):d.hasMore,sessionIds:_,eventIds:y});for(let e of m){let n=e.payload;typeof n.content==`string`&&b.addActivityItem(t,{id:e.id,type:`text`,content:n.content,timestamp:e.createdAt,sessionId:e.sessionId??void 0,meta:{sender:n.sender??`user`}})}if(await e(),i){let e=i.getScroll().verticalSize-a;if(e>0){let t=Math.max(o+e,Pe+50);i.setScrollPosition(`vertical`,t,0)}}}catch(e){console.error(`[ActivityFeed] failed to load older events:`,e)}finally{let e=Date.now()-i,t=Math.max(0,Fe-e);await new Promise(e=>setTimeout(e,t+Ie)),R.value=!1}}async function K(t=0){await e();let n=I.value;if(!n)return;let r=n.getScroll();n.setScrollPosition(`vertical`,r.verticalSize,t)}function se(e){let t=I.value;t&&t.setScrollPosition(`vertical`,Math.max(0,e),250)}let ce=a([]),q=a(null);function le(){let e=P.value,t=ce.value,n=[];if(t.length===e.length){for(let r=0;r<e.length;r++){if(e[r].speaker!==`user`)continue;let i=t[r]?.$el;i&&n.push(i)}if(n.length>0)return n}let r=q.value?.parentElement;if(r){let e=r.querySelectorAll(`.turn-card--user`);for(let t of e)n.push(t)}return n}function J(){let e=I.value;if(!e)return null;let t=q.value;if(!t)return null;let n=e.getScroll().verticalPosition,r=t.getBoundingClientRect().top,i=null;for(let e of le()){let t=e.getBoundingClientRect().top-r;if(t<n-40)i=t;else break}return i}async function ue(){let t=I.value;if(!t)return;let n=J();if(n===null)for(let t=0;t<15&&U();t++){for(;R.value;)await new Promise(e=>setTimeout(e,50));if(await G(),await e(),n=J(),n!==null)break}n!==null&&t.setScrollPosition(`vertical`,Math.max(0,n-12),250)}async function Y(){z=!1,await e(),await K(0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{z=!0})})}let X=p(()=>{let e=v.sessionIdsFor(g.workspaceId);if(!S.value)return e.length;let t=0;for(let n of e)O(n)&&t++;return t}),de=p(()=>v.eventsFor(g.workspaceId).length);async function fe(){B.value=!0;let e=Date.now();await new Promise(e=>setTimeout(e,Le));let t=e+5e3;for(;de.value===0&&Date.now()<t;)await new Promise(e=>setTimeout(e,50));B.value=!1}n(B,async e=>{!e&&X.value>0&&await Y(),!e&&X.value===0&&S.value&&$()}),i(()=>{fe(),X.value>0&&Y(),S.value&&$()});let Z=!1;n(X,async(e,t)=>{if(!Z&&e>0){Z=!0,await Y();return}e>t&&L.value&&!R.value&&await K(180)}),n(()=>g.workspaceId,()=>{L.value=!0,Z=!1,z=!1,fe(),X.value>0&&Y()}),n(()=>b.selectedSessionId,async()=>{L.value=!0,z=!1,await Y(),$()});let Q=new Set;async function $(){let t=S.value;if(!t||X.value>0)return;let n=H(g.workspaceId,t);if(!Q.has(n)){Q.add(n);try{let n=await fetch(`/api/workspaces/${g.workspaceId}/events?session=${encodeURIComponent(t)}&limit=500`);if(!n.ok)return;let r=await n.json(),i=r.events??[];if(i.length===0)return;let a=i.filter(e=>e.type===`agent:event`&&e.workspaceId===g.workspaceId),o=i.filter(e=>e.type===`user:message`&&e.workspaceId===g.workspaceId),s=a.map(e=>e.payload),c=a.map(e=>e.createdAt),l=a.map(e=>e.sessionId??null),u=a.map(e=>e.id);W(g.workspaceId,t,r.hasMore),s.length>0&&v.prepend(g.workspaceId,s,c,{oldestId:i[0].id,hasMoreOlder:v.hasMoreOlderFor(g.workspaceId),sessionIds:l,eventIds:u});for(let e of o){let t=e.payload;typeof t.content==`string`&&b.addActivityItem(g.workspaceId,{id:e.id,type:`text`,content:t.content,timestamp:e.createdAt,sessionId:e.sessionId??void 0,meta:{sender:t.sender??`user`}})}await e(),await K(0)}catch(e){console.error(`[ActivityFeed] fetchSessionIfMissing failed:`,e),Q.delete(n)}}}n(p(()=>M.value.filter(e=>e.sender!==`system-prompt`).length),async(e,t)=>{e>t&&(L.value=!0,await K(180))});async function pe(){L.value=!0,await K(250)}return(e,n)=>B.value?(t(),m(`div`,De,[d(j,{size:`40px`,color:`indigo-4`})])):(t(),m(`div`,Oe,[d(te,{ref_key:`scrollRef`,ref:I,class:`activity-feed-scroll`,onScroll:ae},{default:o(()=>[_(`div`,{ref_key:`contentOriginRef`,ref:q,class:`content-origin-marker`},null,512),R.value?(t(),m(`div`,ke,[d(x,{size:`sm`}),f(` `+c(e.$t(`activity.loading_older`)),1)])):u(``,!0),_(`div`,Ae,[(t(!0),m(h,null,r(P.value,(e,n)=>(t(),l(Ee,{key:n,ref_for:!0,ref_key:`turnRefs`,ref:ce,turn:e,onScrollTo:se},null,8,[`turn`]))),128))]),F.value.length?(t(),m(`div`,je,[d(N,{label:e.$t(`activity.raw_lines`,{n:F.value.length}),dense:``},{default:o(()=>[(t(!0),m(h,null,r(F.value,(e,n)=>(t(),m(`div`,{key:n,class:`text-caption text-grey q-pa-xs`},c(e),1))),128))]),_:1},8,[`label`])])):u(``,!0)]),_:1},512),_(`div`,Me,[L.value?u(``,!0):(t(),l(T,{key:0,round:``,dense:``,unelevated:``,color:`grey-9`,"text-color":`grey-3`,icon:`arrow_downward`,size:`sm`,class:`activity-feed-nav-btn`,title:e.$t(`activity.scroll_to_bottom`),onClick:pe},null,8,[`title`])),d(T,{round:``,dense:``,unelevated:``,color:`grey-9`,"text-color":`grey-3`,icon:`arrow_upward`,size:`sm`,class:`activity-feed-nav-btn`,title:e.$t(`activity.prev_user_message`),onClick:ue},null,8,[`title`])])]))}}),[[`__scopeId`,`data-v-9e905178`]]);export{Re as default};
@@ -1,2 +0,0 @@
1
- import{E as e,F as t,H as n,L as r,M as ee,N as te,Q as i,T as ne,U as a,_t as re,bt as o,d as s,f as c,g as l,h as u,l as d,p as f,r as ie,rt as p,u as m,v as ae,vt as oe,x as se}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{H as ce,R as le,U as ue,t as h}from"./QIcon-BJuyqdsT.js";import{r as g}from"./use-id-CuaR1RiE.js";import{s as de}from"./notifications-OnPq4FrH.js";import{t as _}from"./QBtn-a6jxWjmW.js";import{n as fe}from"./vue-i18n-BcfTCFFS.js";import{t as v}from"./QInput-Cm5-AGQ4.js";import{a as pe,h as me,l as he,s as ge}from"./index-D6wj_wQ9.js";import{n as y,t as b}from"./QItemSection-5YpFpPDm.js";import{t as x}from"./QItemLabel-DrTxqTqV.js";import{t as S}from"./QTooltip-fDNzBEfN.js";import{t as _e}from"./QExpansionItem-CH1ipL9n.js";import{t as ve}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as ye}from"./QSpace-CLtL3aPy.js";import{t as be}from"./use-quasar-Sdcq6zzV.js";import{n as C,t as xe}from"./models-BsjWUKqM.js";import{t as Se}from"./QPage-DFi3K093.js";import{i as Ce,n as we,r as Te,t as Ee}from"./expand-template-CXQFkQOJ.js";var w=`kobo:create-page-prefs`;function De(){try{let e=localStorage.getItem(w);return e===null?void 0:JSON.parse(e)}catch{return}}function T(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Oe(){let e=De();if(!T(e))return{};let t={};return typeof e.projectPath==`string`&&e.projectPath.length>0&&(t.projectPath=e.projectPath),typeof e.autoLoop==`boolean`&&(t.autoLoop=e.autoLoop),t}function ke(e){try{localStorage.setItem(w,JSON.stringify(e))}catch{}}var Ae={class:`create-inner`},je={class:`create-title text-center text-weight-bold q-mb-lg text-grey-3`},Me={class:`create-card rounded-borders`},Ne={class:`card-top-bar row items-center q-px-md q-py-xs`},Pe={class:`model-badge cursor-default row items-center q-gutter-xs`},Fe={class:`text-indigo-3 text-weight-medium text-caption`},Ie={key:0,class:`notion-url-wrap`},Le={key:0,class:`notion-error text-caption q-px-md q-pb-xs text-red-5`},Re={key:1,class:`notion-valid text-caption q-px-md q-pb-xs text-green-4`},ze={key:2,class:`notion-peek-choice q-px-md q-pb-sm`},Be={class:`text-caption text-grey-4 q-mb-sm`},Ve={class:`row q-gutter-sm`},He={class:`peek-card-text`},Ue={class:`peek-card-title`},We={class:`peek-card-desc`},Ge={class:`peek-card-text`},Ke={class:`peek-card-title`},qe={class:`peek-card-desc`},Je={key:0,class:`sentry-url-wrap`},Ye={key:0,class:`sentry-error text-caption q-px-md q-pb-xs text-red-5`},Xe={key:1,class:`sentry-valid text-caption q-px-md q-pb-xs text-red-4`},Ze={class:`card-name-wrap`},Qe={class:`card-textarea-wrap`},$e={class:`manual-hint q-px-md q-py-sm text-caption text-grey-6`},et={class:`q-pa-sm manual-section-body`},tt={class:`row items-center q-gutter-sm q-mb-sm`},nt={class:`col text-caption text-grey-4`},rt={class:`q-pa-sm manual-section-body`},it={class:`row items-center q-gutter-sm q-mb-sm`},at={class:`col text-caption text-grey-4`},ot={class:`card-bottom-bar`},st={class:`row q-col-gutter-xs q-px-xs`},ct={key:0,class:`col-12 col-sm-6 col-md-3`},lt={class:`bottom-select-label row items-center no-wrap`},ut={class:`col-12 col-sm-6 col-md-3`},dt={class:`bottom-select-label row items-center no-wrap`},ft={class:`col-12 col-sm-6 col-md-3`},pt={class:`bottom-select-label row items-center no-wrap`},mt={class:`col-12 col-md-3`},ht={class:`bottom-select-label row items-center no-wrap`},gt={class:`row q-col-gutter-xs q-pa-xs col-12 items-center justify-center`},_t={class:`col-12 col-md-auto`},vt={class:`col-12 col-md-auto`},yt={class:`col-12 col-md-auto`},bt={class:`row q-col-gutter-xs q-px-xs bottom-row-git`},xt={class:`col-12 col-md-4`},St={key:0,class:`col-12 col-md-4`},Ct={class:`bottom-select-label row items-center no-wrap`},wt={key:1,class:`col-12 col-md-4`},Tt={class:`bottom-select-label row items-center no-wrap`},Et={class:`col-12 col-md-4`},Dt={class:`bottom-select-label row items-center no-wrap`},Ot={class:`row justify-center q-px-sm q-py-sm`},kt={class:`create-hint text-center text-body2 q-mt-md text-grey-8`},E=ve(ae({__name:`CreatePage`,setup(ae){let ve=pe(),w=be(),De=he(),T=de(),{t:E}=fe(),At=i([]),jt=i(``),D=i(``),Mt=i(null),O=i(``),k=i(!1),A=i(`claude-opus-4-7`),j=i(`auto`),M=i(``),N=i(null),Nt=i(`feature`),P=i(!1),Pt=i([]),F=i(`claude-code`),Ft=d(()=>Pt.value.find(e=>e.id===F.value)),It=d(()=>Pt.value.map(e=>({value:e.id,label:e.displayName}))),Lt=[{label:`feature/`,value:`feature`},{label:`fix/`,value:`fix`},{label:`hotfix/`,value:`hotfix`},{label:`chore/`,value:`chore`},{label:`refactor/`,value:`refactor`},{label:`docs/`,value:`docs`},{label:`test/`,value:`test`}],Rt=[`plan`,`bypass`,`strict`,`interactive`];function zt(e){let t=e?T.getProjectByPath(e):void 0,n=t?.agentPermissionMode;if(typeof n==`string`&&Rt.includes(n))return n;let r=T.global.defaultPermissionMode;return Rt.includes(r)?r:r===`plan`?`plan`:t?.dangerouslySkipPermissions??T.global.dangerouslySkipPermissions??!0?`bypass`:`interactive`}let I=i(zt(``)),Bt=d(()=>{switch(I.value){case`plan`:return`visibility`;case`bypass`:return`flash_on`;case`strict`:return`lock`;case`interactive`:return`security`}}),Vt=d(()=>(Ft.value?.capabilities.permissionModes??Rt).map(e=>({value:e,label:E(`agentPermissionMode.${e}`),disabled:e===`plan`&&J.value}))),L=i([]),Ht=i([]),Ut=i(!1),Wt=i(!1);function Gt(e,t){t(()=>{Ht.value=e?L.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):L.value})}let Kt=me();function qt(){return Mt.value?.nativeEl??null}let{showSkills:Jt,selectedSkillIndex:R,groupedDropdown:Yt,flatDropdown:z,fetchSkills:Xt,detectSlashFragment:Zt,replaceFragmentWith:Qt,closeDropdown:$t}=Te(D,qt,{excludeKoboCommands:!0});Xt(),n(D,async()=>{await e(),await Zt()});function en(e){if(e.type===`template`){let t=Kt.templates.find(t=>t.slug===e.name);if(!t)return;Qt(we(t.content,Ee({workspace:null,gitStats:null,sessionName:null}))),$t();return}Qt(`/${e.name} `),$t()}function tn(e){!Jt.value||z.value.length===0||(e.key===`ArrowDown`?(e.preventDefault(),R.value=(R.value+1)%z.value.length):e.key===`ArrowUp`?(e.preventDefault(),R.value=(R.value-1+z.value.length)%z.value.length):e.key===`Enter`&&!e.shiftKey&&!e.ctrlKey&&!e.metaKey?(e.preventDefault(),en(z.value[R.value])):e.key===`Escape`&&(e.preventDefault(),$t()))}let nn=d(()=>xe.map(e=>({label:E(e.i18nLabelKey),value:e.value,description:E(e.i18nDescriptionKey)})));function B(e){let t=e.indexOf(`:`);return t>=0?e.slice(t+1).trim():e}let rn=d(()=>[{label:B(E(`reasoning.auto`)),value:`auto`,description:E(`reasoning.autoDescription`)},{label:B(E(`reasoning.low`)),value:`low`,description:E(`reasoning.lowDescription`)},{label:B(E(`reasoning.medium`)),value:`medium`,description:E(`reasoning.mediumDescription`)},{label:B(E(`reasoning.high`)),value:`high`,description:E(`reasoning.highDescription`)},{label:B(E(`reasoning.xhigh`)),value:`xhigh`,description:E(`reasoning.xhighDescription`)},{label:B(E(`reasoning.max`)),value:`max`,description:E(`reasoning.maxDescription`)}]),V=d(()=>O.value.trim().startsWith(`https://www.notion.so/`)),an=d(()=>/[?&]p=[0-9a-f]{32}(?:[&#]|$)/i.test(O.value)),H=i(`panel`);function on(){let e=O.value.trim();return H.value===`parent`&&an.value?e.replace(/([?&])p=[0-9a-f]{32}(?=[&#]|$)/i,`$1`).replace(/([?&])pm=[a-z]+(?=[&#]|$)/i,`$1`).replace(/[?&]+$/,``).replace(/\?&/,`?`):e}let U=i([]),W=i([]),G=i(``),K=i(``),sn=d(()=>!k.value||!V.value);function cn(){let e=G.value.trim();e&&(U.value.push(e),G.value=``)}function ln(e){U.value.splice(e,1)}function un(){let e=K.value.trim();e&&(W.value.push(e),K.value=``)}function dn(e){W.value.splice(e,1)}function fn(){k.value=!k.value,k.value||(O.value=``)}let q=i(!1),J=i(!1);n(()=>J.value,e=>{e&&I.value!==`bypass`&&(I.value=`bypass`,w.notify({type:`info`,message:E(`agentPermissionMode.autoLoopLocked`),timeout:4e3}))});let Y=i(``),X=d(()=>/\/issues\/\d+/.test(Y.value.trim()));function pn(){q.value=!q.value,q.value||(Y.value=``)}let Z=i(!1),Q=i(null),$=i([]),mn=i(!1);async function hn(){if(!M.value.trim()){$.value=[];return}mn.value=!0;try{$.value=await De.fetchOrphanWorktrees(M.value.trim())}catch{$.value=[]}finally{mn.value=!1}}function gn(){Z.value=!Z.value,Z.value?(k.value=!1,O.value=``,q.value=!1,Y.value=``,P.value=!0,hn()):Q.value=null}n(M,()=>{Q.value=null,Z.value&&hn()}),n(Q,e=>{if(!e)return;let t=$.value.find(t=>t.path===e);t&&(N.value=t.suggestedSourceBranch),P.value=!0});async function _n(e){if(!e.trim()){L.value=[],N.value=null;return}Ut.value=!0;try{let t=await fetch(`/api/git/branches?path=${encodeURIComponent(e.trim())}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();L.value=n.local??n.branches??[],L.value.length>0&&!N.value&&(N.value=L.value[0]??null)}catch{L.value=[],N.value=null}finally{Ut.value=!1}}function vn(e){let t=T.getProjectByPath(e);t&&(t.defaultSourceBranch&&(N.value=t.defaultSourceBranch),t.defaultModel?A.value=t.defaultModel:T.global.defaultModel&&(A.value=T.global.defaultModel)),I.value=zt(e)}let yn=null;n(M,e=>{yn&&clearTimeout(yn),yn=setTimeout(()=>{N.value=null,_n(e),vn(e)},500)});function bn(e,t){t(()=>{At.value=T.projectPaths.filter(t=>t.toLowerCase().includes(e.toLowerCase()))})}ee(async()=>{await T.fetchSettings();let e=Oe();e.autoLoop===!0&&(J.value=!0),e.projectPath&&T.projectPaths.includes(e.projectPath)&&(M.value=e.projectPath),I.value=zt(M.value);try{let e=await fetch(`/api/engines`);e.ok&&(Pt.value=await e.json())}catch{}}),te(()=>{yn&&clearTimeout(yn)});function xn(e){return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().replace(/[^a-z0-9\s-]/g,``).trim().replace(/\s+/g,`-`).replace(/-+/g,`-`).substring(0,50)}function Sn(){return jt.value.trim()?jt.value.trim().substring(0,80):!k.value&&!q.value&&D.value.trim()&&(D.value.trim().split(`
2
- `)[0]??``).substring(0,80)||`workspace`}function Cn(e){let t=(e.split(`/`).pop()??``).split(`-`);t.length>1&&/^[0-9a-f]{12,}$/i.test(t[t.length-1])&&t.pop();let n=t.join(`-`).toLowerCase(),r=n.match(/tk-(\d+)/);if(r){let e=`TK-${r[1]}`,t=n.replace(/tk-\d+/i,``).replace(/-+/g,`-`).replace(/^-|-$/g,``).substring(0,40);return t?`${e}--${t}`:e}return n.substring(0,50)||`task-${Date.now()}`}function wn(){return k.value&&!V.value?E(`createPage.validationNotionUrl`):q.value&&!X.value?E(`createPage.sentryValidation`):!k.value&&!q.value&&!D.value.trim()?E(`createPage.validationDescription`):!k.value&&!q.value&&(!Sn()||Sn()===`workspace`)&&!jt.value.trim()&&!D.value.trim()?E(`createPage.validationName`):M.value.trim()?N.value?null:E(`createPage.validationBranch`):E(`createPage.validationPath`)}async function Tn(){let e=wn();if(e){w.notify({type:`negative`,message:e,position:`top`});return}if(Z.value&&!Q.value){w.notify({type:`negative`,message:E(`createPage.pickWorktreeRequired`),position:`top`});return}Wt.value=!0;try{let e=Sn(),t;t=k.value&&V.value?Cn(on()):e===`workspace`?`task-${Date.now()}`:xn(e);let n=`${Nt.value}/${t}`,r={name:e,projectPath:M.value.trim(),sourceBranch:N.value,...Z.value&&Q.value?{worktreePath:Q.value,skipSetupScript:!0}:{workingBranch:n},engine:F.value,model:A.value,reasoningEffort:j.value,...k.value&&V.value?{notionUrl:on()}:{},...q.value&&X.value?{sentryUrl:Y.value.trim()}:{},...sn.value&&U.value.length>0?{tasks:U.value}:{},...sn.value&&W.value.length>0?{acceptanceCriteria:W.value}:{},...P.value&&!Z.value?{skipSetupScript:!0}:{},...D.value.trim()?{description:D.value.trim()}:{},...J.value?{autoLoop:!0}:{},agentPermissionMode:J.value&&I.value===`plan`?`bypass`:I.value},ee=await De.createWorkspace(r);ke({projectPath:M.value.trim(),autoLoop:J.value}),ge().subscribe(ee.id),De.selectWorkspace(ee.id),ve.push({name:`workspace`,params:{id:ee.id}})}catch{w.notify({type:`negative`,message:E(`createPage.errorCreating`),position:`top`})}finally{Wt.value=!1}}return(e,n)=>(t(),s(Se,{class:`create-page flex flex-center column`},{default:a(()=>[m(`div`,Ae,[m(`div`,je,o(e.$t(`createPage.title`)),1),m(`div`,Me,[m(`div`,Ne,[m(`span`,Pe,[l(h,{name:`auto_awesome`,size:`14px`,color:`indigo-4`}),m(`span`,Fe,o(Ft.value?.displayName??e.$t(`createPage.claudeCode`)),1)]),l(ye),l(_,{flat:``,dense:``,"no-caps":``,size:`sm`,color:k.value?`green-4`:`grey-5`,class:`notion-toggle-btn text-caption rounded-borders`,disable:Z.value,onClick:fn},{default:a(()=>[l(h,{name:`description`,size:`14px`,class:`q-mr-xs`}),u(` `+o(k.value?e.$t(`createPage.notionEnabled`):e.$t(`createPage.importNotion`)),1)]),_:1},8,[`color`,`disable`]),l(_,{flat:``,dense:``,"no-caps":``,size:`sm`,color:q.value?`red-4`:`grey-5`,class:`sentry-toggle-btn text-caption rounded-borders q-ml-sm`,disable:Z.value,onClick:pn},{default:a(()=>[l(h,{name:`bug_report`,size:`14px`,class:`q-mr-xs`}),u(` `+o(q.value?e.$t(`createPage.sentryEnabled`):e.$t(`createPage.importSentry`)),1)]),_:1},8,[`color`,`disable`])]),l(g,{color:`grey-9`}),l(le,{name:`slide`},{default:a(()=>[k.value?(t(),f(`div`,Ie,[l(v,{modelValue:O.value,"onUpdate:modelValue":n[0]||=e=>O.value=e,borderless:``,dense:``,placeholder:e.$t(`createPage.notionPlaceholder`),class:`notion-url-input`,"input-class":`notion-url-input-inner`},{prepend:a(()=>[l(h,{name:`link`,size:`16px`,color:V.value?`green-4`:`grey-6`},null,8,[`color`])]),_:1},8,[`modelValue`,`placeholder`]),O.value.trim()&&!V.value?(t(),f(`div`,Le,o(e.$t(`createPage.notionValidation`)),1)):c(``,!0),V.value?(t(),f(`div`,Re,o(e.$t(`createPage.notionAutoExtract`)),1)):c(``,!0),V.value&&an.value?(t(),f(`div`,ze,[m(`div`,Be,[l(h,{name:`info`,size:`14px`,color:`indigo-4`,class:`q-mr-xs`}),u(` `+o(e.$t(`createPage.notionPanelChoiceLabel`)),1)]),m(`div`,Ve,[m(`button`,{type:`button`,class:re([`peek-card col`,{"peek-card--active":H.value===`panel`}]),onClick:n[1]||=e=>H.value=`panel`},[l(h,{name:`article`,size:`22px`,class:`peek-card-icon`}),m(`div`,He,[m(`div`,Ue,o(e.$t(`createPage.notionPanelOption`)),1),m(`div`,We,o(e.$t(`createPage.notionPanelOptionDesc`)),1)]),H.value===`panel`?(t(),s(h,{key:0,name:`check_circle`,size:`18px`,color:`indigo-4`,class:`peek-card-check`})):c(``,!0)],2),m(`button`,{type:`button`,class:re([`peek-card col`,{"peek-card--active":H.value===`parent`}]),onClick:n[2]||=e=>H.value=`parent`},[l(h,{name:`folder_open`,size:`22px`,class:`peek-card-icon`}),m(`div`,Ge,[m(`div`,Ke,o(e.$t(`createPage.notionParentOption`)),1),m(`div`,qe,o(e.$t(`createPage.notionParentOptionDesc`)),1)]),H.value===`parent`?(t(),s(h,{key:0,name:`check_circle`,size:`18px`,color:`indigo-4`,class:`peek-card-check`})):c(``,!0)],2)])])):c(``,!0)])):c(``,!0)]),_:1}),k.value?(t(),s(g,{key:0,color:`grey-9`})):c(``,!0),l(le,{name:`slide`},{default:a(()=>[q.value?(t(),f(`div`,Je,[l(v,{modelValue:Y.value,"onUpdate:modelValue":n[3]||=e=>Y.value=e,borderless:``,dense:``,placeholder:e.$t(`createPage.sentryPlaceholder`),class:`sentry-url-input`,"input-class":`sentry-url-input-inner`},{prepend:a(()=>[l(h,{name:`link`,size:`16px`,color:X.value?`red-4`:`grey-6`},null,8,[`color`])]),_:1},8,[`modelValue`,`placeholder`]),Y.value.trim()&&!X.value?(t(),f(`div`,Ye,o(e.$t(`createPage.sentryValidation`)),1)):c(``,!0),X.value?(t(),f(`div`,Xe,o(e.$t(`createPage.sentryAutoExtract`)),1)):c(``,!0)])):c(``,!0)]),_:1}),q.value?(t(),s(g,{key:1,color:`grey-9`})):c(``,!0),m(`div`,Ze,[l(v,{modelValue:jt.value,"onUpdate:modelValue":n[4]||=e=>jt.value=e,borderless:``,dense:``,placeholder:k.value&&V.value?e.$t(`createPage.workspaceName`):e.$t(`createPage.workspaceNamePlaceholder`),class:`name-input`,"input-class":`name-input-inner`},null,8,[`modelValue`,`placeholder`])]),l(g,{color:`grey-9`}),m(`div`,Qe,[l(v,{ref_key:`descriptionRef`,ref:Mt,modelValue:D.value,"onUpdate:modelValue":n[5]||=e=>D.value=e,type:`textarea`,borderless:``,autogrow:``,rows:3,placeholder:k.value?e.$t(`createPage.instructions`):e.$t(`createPage.instructionsPlaceholder`),class:`create-textarea`,"input-class":`create-textarea-input`,onKeydown:[tn,ce(ue(Tn,[`ctrl`]),[`enter`]),ce(ue(Tn,[`meta`]),[`enter`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`]),p(Jt)&&p(z).length>0?(t(),s(Ce,{key:0,class:`create-slash-popup`,"grouped-dropdown":p(Yt),"flat-dropdown":p(z),"selected-index":p(R),onSelect:en},null,8,[`grouped-dropdown`,`flat-dropdown`,`selected-index`])):c(``,!0)]),l(g,{color:`grey-9`}),sn.value?(t(),f(ie,{key:2},[m(`div`,$e,o(e.$t(`createPage.manualHint`)),1),l(_e,{dark:``,dense:``,label:e.$t(`createPage.tasks`,{count:U.value.length}),"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm`},{default:a(()=>[m(`div`,et,[m(`div`,tt,[l(v,{modelValue:G.value,"onUpdate:modelValue":n[6]||=e=>G.value=e,dark:``,dense:``,borderless:``,placeholder:e.$t(`createPage.addTask`),class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:ce(ue(cn,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),l(_,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!G.value.trim(),onClick:cn},{default:a(()=>[l(S,null,{default:a(()=>[u(o(e.$t(`tooltip.addTask`)),1)]),_:1})]),_:1},8,[`disable`])]),(t(!0),f(ie,null,r(U.value,(n,r)=>(t(),f(`div`,{key:`task-${r}`,class:`row items-center q-py-xs manual-item`},[m(`span`,nt,o(n),1),l(_,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>ln(r)},{default:a(()=>[l(S,null,{default:a(()=>[u(o(e.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])]))),128))])]),_:1},8,[`label`]),l(_e,{dark:``,dense:``,label:e.$t(`createPage.acceptanceCriteria`,{count:W.value.length}),"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm q-mb-sm`},{default:a(()=>[m(`div`,rt,[m(`div`,it,[l(v,{modelValue:K.value,"onUpdate:modelValue":n[7]||=e=>K.value=e,dark:``,dense:``,borderless:``,placeholder:e.$t(`createPage.addCriterion`),class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:ce(ue(un,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),l(_,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!K.value.trim(),onClick:un},{default:a(()=>[l(S,null,{default:a(()=>[u(o(e.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1},8,[`disable`])]),(t(!0),f(ie,null,r(W.value,(n,r)=>(t(),f(`div`,{key:`crit-${r}`,class:`row items-center q-py-xs manual-item`},[m(`span`,at,o(n),1),l(_,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>dn(r)},{default:a(()=>[l(S,null,{default:a(()=>[u(o(e.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])]))),128))])]),_:1},8,[`label`]),l(g,{color:`grey-9`})],64)):c(``,!0),m(`div`,ot,[m(`div`,st,[It.value.length>0?(t(),f(`div`,ct,[l(C,{modelValue:F.value,"onUpdate:modelValue":n[8]||=e=>F.value=e,options:It.value,dense:``,borderless:``,class:`bottom-select rounded-borders`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:a(()=>[m(`span`,lt,[l(h,{name:`hub`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),u(` `+o(It.value.find(e=>e.value===F.value)?.label??F.value)+` `,1),l(h,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),default:a(()=>[l(S,null,{default:a(()=>[u(o(e.$t(`engine.select`)),1)]),_:1})]),_:1},8,[`modelValue`,`options`])])):c(``,!0),m(`div`,ut,[l(C,{modelValue:A.value,"onUpdate:modelValue":n[9]||=e=>A.value=e,options:nn.value,dense:``,borderless:``,class:`bottom-select rounded-borders model-select`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:a(()=>[m(`span`,dt,[u(o(nn.value.find(e=>e.value===A.value)?.label??A.value)+` `,1),l(h,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),option:a(({opt:e,itemProps:t})=>[l(y,ne(t,{class:`model-option`}),{default:a(()=>[l(b,null,{default:a(()=>[l(x,{class:`text-white`},{default:a(()=>[u(o(e.label),1)]),_:2},1024),l(x,{caption:``,class:`text-grey-5`},{default:a(()=>[u(o(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`])]),m(`div`,ft,[l(C,{modelValue:j.value,"onUpdate:modelValue":n[10]||=e=>j.value=e,options:rn.value,dense:``,borderless:``,class:`bottom-select rounded-borders`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:a(()=>[m(`span`,pt,[l(h,{name:`psychology`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),u(` `+o(rn.value.find(e=>e.value===j.value)?.label??j.value)+` `,1),l(h,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),option:a(({opt:e,itemProps:t})=>[l(y,oe(se(t)),{default:a(()=>[l(b,null,{default:a(()=>[l(x,{class:`text-white`},{default:a(()=>[u(o(e.label),1)]),_:2},1024),l(x,{caption:``,class:`text-grey-5`},{default:a(()=>[u(o(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`])]),m(`div`,mt,[l(C,{modelValue:I.value,"onUpdate:modelValue":n[11]||=e=>I.value=e,options:Vt.value,disable:J.value,dense:``,borderless:``,class:`bottom-select rounded-borders`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,"option-disable":e=>e.disabled===!0},{selected:a(()=>[m(`span`,ht,[l(h,{name:Bt.value,size:`12px`,color:`amber-6`,class:`q-mr-xs`},null,8,[`name`]),u(` `+o(Vt.value.find(e=>e.value===I.value)?.label??I.value)+` `,1),J.value?c(``,!0):(t(),s(h,{key:0,name:`expand_more`,size:`12px`,color:`grey-5`}))])]),default:a(()=>[l(S,null,{default:a(()=>[u(o(J.value?e.$t(`agentPermissionMode.autoLoopLocked`):e.$t(`agentPermissionMode.tooltip`)),1)]),_:1})]),_:1},8,[`modelValue`,`options`,`disable`,`option-disable`])])]),m(`div`,gt,[m(`div`,_t,[l(_,{flat:``,dense:``,size:`sm`,"no-caps":``,icon:J.value?`autorenew`:`sync_disabled`,color:J.value?`amber-4`:`grey-5`,label:e.$t(`autoLoop.startInMode`),class:`skip-setup-btn`,onClick:n[12]||=e=>J.value=!J.value},{default:a(()=>[l(S,null,{default:a(()=>[u(o(e.$t(`autoLoop.startInMode`)),1)]),_:1})]),_:1},8,[`icon`,`color`,`label`])]),m(`div`,vt,[l(_,{flat:``,dense:``,size:`sm`,"no-caps":``,icon:P.value?`play_disabled`:`play_circle`,color:P.value?`orange-4`:`grey-5`,label:e.$t(`createPage.skipSetupScript`),class:`skip-setup-btn`,onClick:n[13]||=e=>P.value=!P.value},{default:a(()=>[l(S,null,{default:a(()=>[u(o(e.$t(`createPage.skipSetupScript`)),1)]),_:1})]),_:1},8,[`icon`,`color`,`label`])]),m(`div`,yt,[l(_,{flat:``,dense:``,size:`sm`,"no-caps":``,icon:`folder_open`,color:Z.value?`cyan-4`:`grey-5`,label:Z.value?e.$t(`createPage.attachWorktreeEnabled`):e.$t(`createPage.attachWorktreeToggle`),class:`skip-setup-btn`,onClick:gn},null,8,[`color`,`label`])])]),m(`div`,bt,[m(`div`,xt,[l(C,{modelValue:M.value,"onUpdate:modelValue":n[14]||=e=>M.value=e,options:At.value,dense:``,borderless:``,"use-input":``,"fill-input":``,"hide-selected":``,"input-debounce":`0`,"new-value-mode":`add`,class:`bottom-select rounded-borders repo-select`,"hide-dropdown-icon":``,"input-class":M.value?``:`repo-input-empty`,placeholder:e.$t(`createPage.projectPath`),behavior:p(T).projectPaths.length>0?`menu`:`dialog`,onFilter:bn,onInputValue:n[15]||=e=>{M.value=e}},{prepend:a(()=>[l(h,{name:`folder`,size:`14px`,color:`grey-5`})]),"no-option":a(()=>[l(y,null,{default:a(()=>[l(b,{class:`text-grey-6 text-caption`},{default:a(()=>[u(o(e.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`input-class`,`placeholder`,`behavior`])]),Z.value?c(``,!0):(t(),f(`div`,St,[l(C,{modelValue:Nt.value,"onUpdate:modelValue":n[16]||=e=>Nt.value=e,options:Lt,"emit-value":``,"map-options":``,dense:``,borderless:``,class:`bottom-select rounded-borders branch-type-select`,"hide-dropdown-icon":``},{selected:a(()=>[m(`span`,Ct,[l(h,{name:`account_tree`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),u(` `+o(Nt.value)+`/ `,1),l(h,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),default:a(()=>[l(S,null,{default:a(()=>[u(o(e.$t(`createPage.branchType`)),1)]),_:1})]),_:1},8,[`modelValue`])])),Z.value?(t(),f(`div`,wt,[l(C,{modelValue:Q.value,"onUpdate:modelValue":n[17]||=e=>Q.value=e,options:$.value,"option-label":`branch`,"option-value":`path`,"emit-value":``,"map-options":``,"use-input":``,dense:``,borderless:``,class:`bottom-select rounded-borders worktree-select`,"hide-dropdown-icon":``,loading:mn.value,disable:!M.value.trim()||mn.value},{selected:a(()=>[m(`span`,Tt,[l(h,{name:`folder_open`,size:`12px`,color:`cyan-5`,class:`q-mr-xs`}),u(` `+o(Q.value?$.value.find(e=>e.path===Q.value)?.branch??Q.value:e.$t(`createPage.worktreePickerLabel`))+` `,1),l(h,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),option:a(e=>[l(y,oe(se(e.itemProps)),{default:a(()=>[l(b,null,{default:a(()=>[l(x,null,{default:a(()=>[u(o(e.opt.branch),1)]),_:2},1024),l(x,{caption:``},{default:a(()=>[u(o(e.opt.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),"no-option":a(()=>[l(y,null,{default:a(()=>[l(b,{class:`text-grey-6 text-caption`},{default:a(()=>[u(o(M.value.trim()?e.$t(`createPage.noOrphanWorktrees`):e.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`,`disable`])])):c(``,!0),m(`div`,Et,[l(C,{modelValue:N.value,"onUpdate:modelValue":n[18]||=e=>N.value=e,options:Ht.value,dense:``,borderless:``,class:`bottom-select rounded-borders branch-select`,"hide-dropdown-icon":``,"use-input":``,"input-debounce":`0`,loading:Ut.value,disable:!M.value.trim()||Ut.value,onFilter:Gt},{selected:a(()=>[m(`span`,Dt,[l(h,{name:`call_split`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),u(` `+o(N.value??e.$t(`createPage.branch`))+` `,1),l(h,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),"no-option":a(()=>[l(y,null,{default:a(()=>[l(b,{class:`text-grey-6 text-caption`},{default:a(()=>[u(o(M.value.trim()?e.$t(`createPage.noBranches`):e.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`,`disable`])])])]),m(`div`,Ot,[l(_,{label:e.$t(`createPage.create`),"no-caps":``,unelevated:``,class:`create-btn text-weight-bold rounded-borders`,loading:Wt.value,disable:Wt.value||Z.value&&!Q.value,onClick:Tn},null,8,[`label`,`loading`,`disable`])])]),m(`div`,kt,o(k.value?e.$t(`createPage.notionExtractHint`):e.$t(`createPage.notionImportHint`)),1)])]),_:1}))}}),[[`__scopeId`,`data-v-79b6a61a`]]);export{E as default};
@@ -1 +0,0 @@
1
- .create-page[data-v-79b6a61a]{background-color:#1a1a2e;min-height:100%;padding:48px 24px}.create-inner[data-v-79b6a61a]{width:100%;max-width:700px}.create-title[data-v-79b6a61a]{font-size:24px;line-height:1.3}.create-card[data-v-79b6a61a]{background:#224;border:1px solid #444;overflow:hidden}.card-top-bar[data-v-79b6a61a]{background:#1e1e3a;min-height:36px}.card-name-wrap[data-v-79b6a61a]{background:#224;padding:8px 16px 4px}.card-name-wrap[data-v-79b6a61a] .q-field__control{height:32px;min-height:32px;padding:0}.card-name-wrap[data-v-79b6a61a] input{color:#e0e0e0;font-size:15px;font-weight:500}.card-name-wrap[data-v-79b6a61a] input::placeholder{color:#555}.card-textarea-wrap[data-v-79b6a61a]{background:#224;position:relative}.create-slash-popup[data-v-79b6a61a]{z-index:9999;position:absolute;top:calc(100% + 4px);left:12px;right:12px}.repo-select[data-v-79b6a61a]{min-width:160px;max-width:260px}.repo-select[data-v-79b6a61a] .q-field__prepend{align-items:center;height:auto;padding-top:0}.create-textarea[data-v-79b6a61a]{color:#d0d0d0;width:100%;padding:12px 16px 4px}.create-textarea[data-v-79b6a61a] .q-field__control{padding:0}.create-textarea[data-v-79b6a61a] textarea{color:#d0d0d0;resize:none;min-height:100px;font-size:14px;line-height:1.6}.create-textarea[data-v-79b6a61a] textarea::placeholder{color:#666}.notion-toggle-btn[data-v-79b6a61a]{background:#333;padding:2px 10px}.notion-url-wrap[data-v-79b6a61a]{background:#1e1e3a;padding:8px 0 0}.notion-url-input[data-v-79b6a61a]{padding:0 12px}.notion-url-input[data-v-79b6a61a] .q-field__control{height:36px;min-height:36px;padding:0}.notion-url-input[data-v-79b6a61a] input{color:#d0d0d0;font-size:13px}.notion-url-input[data-v-79b6a61a] input::placeholder{color:#555;font-size:12px}.notion-error[data-v-79b6a61a],.notion-valid[data-v-79b6a61a]{padding-bottom:6px}.notion-peek-choice[data-v-79b6a61a]{padding-top:4px}.peek-card[data-v-79b6a61a]{cursor:pointer;text-align:left;color:#e0e0e0;font-family:inherit;font-size:inherit;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:background .15s,border-color .15s,transform .1s;display:flex;position:relative}.peek-card[data-v-79b6a61a]:hover{background:#ffffff0f;border-color:#6c63ff66}.peek-card[data-v-79b6a61a]:active{transform:scale(.99)}.peek-card--active[data-v-79b6a61a]{background:#6c63ff1f;border-color:#6c63ffd9;box-shadow:0 0 0 1px #6c63ff66}.peek-card--active .peek-card-icon[data-v-79b6a61a]{color:#8a82ff}.peek-card--active .peek-card-title[data-v-79b6a61a]{color:#fff}.peek-card-icon[data-v-79b6a61a]{color:#999;flex-shrink:0}.peek-card-text[data-v-79b6a61a]{flex:1;min-width:0;line-height:1.25}.peek-card-title[data-v-79b6a61a]{color:#d0d0d0;font-size:12px;font-weight:600}.peek-card-desc[data-v-79b6a61a]{color:#888;margin-top:2px;font-size:10.5px}.peek-card-check[data-v-79b6a61a]{flex-shrink:0}.sentry-toggle-btn[data-v-79b6a61a]{background:#333;padding:2px 10px}.sentry-url-wrap[data-v-79b6a61a]{background:#1e1e3a;padding:8px 0 0}.sentry-url-input[data-v-79b6a61a]{padding:0 12px}.sentry-url-input[data-v-79b6a61a] .q-field__control{height:36px;min-height:36px;padding:0}.sentry-url-input[data-v-79b6a61a] input{color:#d0d0d0;font-size:13px}.sentry-url-input[data-v-79b6a61a] input::placeholder{color:#555;font-size:12px}.sentry-error[data-v-79b6a61a],.sentry-valid[data-v-79b6a61a]{padding-bottom:6px}.slide-enter-active[data-v-79b6a61a],.slide-leave-active[data-v-79b6a61a]{transition:all .2s;overflow:hidden}.slide-enter-from[data-v-79b6a61a],.slide-leave-to[data-v-79b6a61a]{opacity:0;max-height:0}.slide-enter-to[data-v-79b6a61a],.slide-leave-from[data-v-79b6a61a]{opacity:1;max-height:120px}.card-bottom-bar[data-v-79b6a61a]{background:#1e1e3a}.skip-setup-btn[data-v-79b6a61a]{min-height:28px;padding:2px 10px;font-size:11px}.skip-setup-btn[data-v-79b6a61a] .q-btn__content{gap:4px}.skip-setup-btn[data-v-79b6a61a] .q-icon{font-size:14px}.bottom-row-git .bottom-select-label[data-v-79b6a61a]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bottom-row-git .bottom-select.repo-select[data-v-79b6a61a] input{color:#bbb;padding:0 4px;font-size:11px}.bottom-row-git .bottom-select.repo-select[data-v-79b6a61a] input::placeholder{color:#666;font-style:italic}.bottom-select[data-v-79b6a61a]{background:#333;height:28px;padding:0 6px}.bottom-select[data-v-79b6a61a] .q-field__control{height:28px;min-height:28px;padding:0}.bottom-select[data-v-79b6a61a] .q-field__native{min-height:unset;padding:0}.bottom-select-label[data-v-79b6a61a]{color:#bbb;gap:2px;font-size:11px}.bottom-sep[data-v-79b6a61a]{color:#555;padding:0 2px;font-size:12px;line-height:1}.repo-path-wrap[data-v-79b6a61a]{background:#333;border-radius:6px;height:28px;padding:0 8px}.repo-input[data-v-79b6a61a]{min-width:140px}.repo-input[data-v-79b6a61a] .q-field__control{height:28px;min-height:28px;padding:0}.repo-input[data-v-79b6a61a] input{color:#bbb;font-size:11px}.repo-input[data-v-79b6a61a] input::placeholder{color:#666;font-size:11px}.branch-select[data-v-79b6a61a]{min-width:80px}.create-btn[data-v-79b6a61a]{color:#fff;background:#4f46e5;min-width:220px;height:32px;padding:0 32px;font-size:13px}.create-btn[data-v-79b6a61a] .q-btn__content{height:32px}.create-hint[data-v-79b6a61a]{line-height:1.5}.fade-enter-active[data-v-79b6a61a],.fade-leave-active[data-v-79b6a61a]{transition:opacity .2s}.fade-enter-from[data-v-79b6a61a],.fade-leave-to[data-v-79b6a61a]{opacity:0}.manual-hint[data-v-79b6a61a]{background:#1e1e3a;line-height:1.4}.manual-expansion[data-v-79b6a61a]{background:#1e1e3a;border:1px solid #333;border-radius:4px;margin-top:6px;overflow:hidden}.manual-expansion[data-v-79b6a61a] .manual-expansion-header{min-height:32px;padding:4px 10px;font-size:12px}.manual-expansion[data-v-79b6a61a] .q-expansion-item__content,.manual-section-body[data-v-79b6a61a]{background:#1a1a2e}.manual-input[data-v-79b6a61a] .q-field__control{height:26px;min-height:26px;padding:0}.manual-input[data-v-79b6a61a] input{color:#e0e0e0;font-size:12px}.manual-input[data-v-79b6a61a] input::placeholder{color:#555}.manual-item[data-v-79b6a61a]{border-top:1px solid #ffffff0a}.manual-item[data-v-79b6a61a]:first-child{border-top:none}
@@ -1 +0,0 @@
1
- import{F as e,L as t,M as n,Q as r,U as i,_t as ee,bt as a,d as o,f as s,g as c,h as te,l,p as u,r as d,rt as ne,u as f,v as re}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{t as p}from"./QIcon-BJuyqdsT.js";import{t as m}from"./QBtn-a6jxWjmW.js";import{a as ie,b as h,y as g}from"./index-D6wj_wQ9.js";import{n as _,t as v}from"./QItemSection-5YpFpPDm.js";import{t as y}from"./QBadge-DWH42dbo.js";import{t as b}from"./QSpace-CLtL3aPy.js";import{t as x}from"./QList-D0FtnQJI.js";import{t as ae}from"./use-quasar-Sdcq6zzV.js";import{t as oe}from"./QPage-DFi3K093.js";var se={class:`row items-center q-mb-md`},ce={class:`text-h6 q-ml-sm`},le={key:0,class:`text-grey-6 text-center q-pa-lg`},ue={key:1,class:`column q-gutter-md`},de={class:`text-subtitle2 q-mb-sm`},S={class:`text-caption text-grey-6`},C={class:`text-body2`},w={class:`row items-center`},T={class:`text-subtitle2`},E={class:`row q-col-gutter-md q-mt-xs`},D={class:`col`},O={class:`text-caption text-grey-6`},k={class:`text-body2`},A={class:`col-auto`},j={class:`text-caption text-grey-6`},M={class:`text-body2`},N={class:`col-auto`},P={class:`text-caption text-grey-6`},F={class:`text-body2`},I={class:`row items-center`},L={class:`text-subtitle2`},R={key:0,class:`text-caption text-grey-5 q-mt-xs`},z={key:1,class:`text-caption text-negative q-mt-xs`},B={class:`row items-center`},V={class:`text-subtitle2`},H={class:`text-caption text-grey-6 q-mt-xs`},fe={key:0,class:`q-mt-sm`},pe={class:`text-caption text-negative q-mb-xs`},me={class:`text-body2`},he={class:`text-caption text-grey-6`},ge={class:`row items-center`},_e={class:`text-subtitle2`},ve={class:`text-subtitle1 q-mt-md q-mb-xs text-grey-5`},ye={class:`row items-center`},be={class:`text-subtitle2`},xe={key:0,class:`text-caption text-grey-7 q-mt-xs`},Se={class:`text-body2`},Ce={class:`text-caption text-grey-6`},we={class:`row items-center`},Te={class:`text-subtitle2`},Ee={key:0,class:`text-caption text-grey-7 q-mt-xs`},U={class:`text-body2`},De={class:`text-caption text-grey-6`},Oe={key:0},ke={class:`row items-center`},Ae={class:`text-subtitle2`},je={key:0,class:`text-caption text-grey-7 q-mt-xs`},Me={class:`text-body2`},Ne={class:`text-caption text-grey-6`},Pe={class:`row items-center`},Fe={class:`text-subtitle2`},Ie={key:0,class:`text-caption text-grey-7 q-mt-xs`},Le={class:`text-body2`},Re={class:`text-caption text-grey-6`},ze={class:`row items-center`},Be={class:`text-subtitle2`},Ve={key:0,class:`text-caption text-grey-7 q-mt-xs`},He={class:`text-body2`},Ue={class:`text-subtitle2 q-mb-sm`},We={class:`column q-gutter-xs`},Ge={class:`row items-center`},Ke={class:`q-ml-sm text-caption text-grey-6`},qe={class:`row items-center`},Je={class:`q-ml-sm text-caption text-grey-6`},Ye={class:`row items-center`},Xe={class:`q-ml-sm text-caption text-grey-6`},W=re({__name:`HealthPage`,setup(re){let W=ae(),G=ie(),K=r(null),q=r(!1);async function J(){q.value=!0;try{let e=await fetch(`/api/health/report`);if(!e.ok)throw Error(`HTTP ${e.status}`);K.value=await e.json()}catch(e){W.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}finally{q.value=!1}}n(J);let Ze=l(()=>{let e=K.value?.db.sizeBytes;return e==null?`—`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}),Y=l(()=>{let e=K.value;return e?e.db.schemaVersion===e.db.currentSchemaVersion:!1});function X(e){return e?`check_circle`:`error`}function Z(e){return e?`positive`:`negative`}function Q(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function Qe(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=Math.floor(t/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<24?`${i}h${r%60?` ${r%60}m`:``}`:`${Math.floor(i/24)}d`}function $(e){G.push({name:`workspace`,params:{id:e}}).catch(()=>{})}return(n,r)=>(e(),o(oe,{class:`q-pa-md`,style:{"max-width":`900px`,margin:`0 auto`}},{default:i(()=>[f(`div`,se,[c(m,{flat:``,dense:``,round:``,icon:`arrow_back`,onClick:r[0]||=e=>ne(G).back()}),f(`div`,ce,a(n.$t(`health.title`)),1),c(b),c(m,{flat:``,dense:``,icon:`refresh`,loading:q.value,label:n.$t(`common.refresh`),onClick:J},null,8,[`loading`,`label`])]),!K.value&&q.value?(e(),u(`div`,le,a(n.$t(`common.loading`)),1)):K.value?(e(),u(`div`,ue,[c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,de,a(n.$t(`health.envTitle`)),1),f(`div`,S,a(n.$t(`health.koboHome`)),1),f(`div`,C,a(K.value.koboHome),1)]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,w,[f(`div`,T,a(n.$t(`health.dbTitle`)),1),c(b),c(p,{name:X(Y.value),color:Z(Y.value)},null,8,[`name`,`color`])]),f(`div`,E,[f(`div`,D,[f(`div`,O,a(n.$t(`health.dbPath`)),1),f(`div`,k,a(K.value.db.path),1)]),f(`div`,A,[f(`div`,j,a(n.$t(`health.dbSize`)),1),f(`div`,M,a(Ze.value),1)]),f(`div`,N,[f(`div`,P,a(n.$t(`health.schemaVersion`)),1),f(`div`,F,a(K.value.db.schemaVersion)+` / `+a(K.value.db.currentSchemaVersion),1)])])]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,I,[f(`div`,L,a(n.$t(`health.cliTitle`)),1),c(b),c(p,{name:X(K.value.claudeCli.available),color:Z(K.value.claudeCli.available)},null,8,[`name`,`color`])]),K.value.claudeCli.available?(e(),u(`div`,R,a(K.value.claudeCli.version),1)):(e(),u(`div`,z,a(n.$t(`health.cliMissing`)),1))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,B,[f(`div`,V,a(n.$t(`health.workspacesTitle`)),1),c(b),c(p,{name:X(K.value.workspaces.worktreesMissing.length===0),color:Z(K.value.workspaces.worktreesMissing.length===0)},null,8,[`name`,`color`])]),f(`div`,H,a(n.$t(`health.workspacesCount`,{total:K.value.workspaces.total,archived:K.value.workspaces.archived})),1),K.value.workspaces.worktreesMissing.length>0?(e(),u(`div`,fe,[f(`div`,pe,a(n.$t(`health.worktreesMissing`,{count:K.value.workspaces.worktreesMissing.length})),1),c(x,{dense:``,dark:``},{default:i(()=>[(e(!0),u(d,null,t(K.value.workspaces.worktreesMissing,t=>(e(),o(_,{key:t.workspaceId},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,me,a(t.name),1),f(`div`,he,a(t.path),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):s(``,!0)]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,ge,[f(`div`,_e,a(n.$t(`health.sessionsTitle`)),1),c(b),c(p,{name:X(K.value.agentSessions.orphaned===0),color:Z(K.value.agentSessions.orphaned===0)},null,8,[`name`,`color`])]),f(`div`,{class:ee([`text-caption q-mt-xs`,K.value.agentSessions.orphaned>0?`text-negative`:`text-grey-6`])},a(n.$t(`health.sessionsOrphaned`,{n:K.value.agentSessions.orphaned})),3)]),_:1})]),_:1}),f(`div`,ve,a(n.$t(`health.activeTitle`)),1),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,ye,[c(p,{name:`hourglass_top`,size:`sm`,color:`amber-6`,class:`q-mr-sm`}),f(`div`,be,a(n.$t(`health.activeQuotaBackoffs`)),1),c(b),c(y,{label:K.value.active.quotaBackoffs.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.quotaBackoffs.length===0?(e(),u(`div`,xe,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.quotaBackoffs,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Se,a(t.name),1),f(`div`,Ce,a(n.$t(`health.quotaResumeAt`,{time:Q(t.targetAt)}))+` · `+a(t.source)+` · retry #`+a(t.retryCount),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,we,[c(p,{name:`schedule`,size:`sm`,color:`indigo-4`,class:`q-mr-sm`}),f(`div`,Te,a(n.$t(`health.activeWakeups`)),1),c(b),c(y,{label:K.value.active.pendingWakeups.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.pendingWakeups.length===0?(e(),u(`div`,Ee,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.pendingWakeups,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,U,a(t.name),1),f(`div`,De,[te(a(n.$t(`health.wakeupAt`,{time:Q(t.targetAt)}))+` `,1),t.reason?(e(),u(`span`,Oe,` · `+a(t.reason),1)):s(``,!0)])]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,ke,[c(p,{name:`autorenew`,size:`sm`,color:`amber-7`,class:`q-mr-sm`}),f(`div`,Ae,a(n.$t(`health.activeAutoLoop`)),1),c(b),c(y,{label:K.value.active.autoLoopActive.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.autoLoopActive.length===0?(e(),u(`div`,je,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.autoLoopActive,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Me,a(t.name),1),f(`div`,Ne,a(t.ready?n.$t(`health.autoLoopReady`):n.$t(`health.autoLoopGrooming`)),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Pe,[c(p,{name:`play_arrow`,size:`sm`,color:`green-5`,class:`q-mr-sm`}),f(`div`,Fe,a(n.$t(`health.activeAgentSessions`)),1),c(b),c(y,{label:K.value.active.agentSessionsAlive.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.agentSessionsAlive.length===0?(e(),u(`div`,Ie,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.agentSessionsAlive,t=>(e(),o(_,{key:`${t.workspaceId}-${t.pid}`,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Le,a(t.workspaceName),1),f(`div`,Re,` pid `+a(t.pid)+` · `+a(n.$t(`health.startedAgo`,{time:Qe(t.startedAt)})),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,ze,[c(p,{name:`dns`,size:`sm`,color:`cyan-5`,class:`q-mr-sm`}),f(`div`,Be,a(n.$t(`health.activeDevServers`)),1),c(b),c(y,{label:K.value.active.devServersRunning.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.devServersRunning.length===0?(e(),u(`div`,Ve,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.devServersRunning,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,He,a(t.name),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Ue,a(n.$t(`health.integrationsTitle`)),1),f(`div`,We,[f(`div`,Ge,[c(p,{name:X(K.value.integrations.notion.configured),color:Z(K.value.integrations.notion.configured),size:`sm`},null,8,[`name`,`color`]),r[1]||=f(`span`,{class:`q-ml-sm text-body2`},`Notion`,-1),f(`span`,Ke,a(K.value.integrations.notion.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)]),f(`div`,qe,[c(p,{name:X(K.value.integrations.sentry.configured),color:Z(K.value.integrations.sentry.configured),size:`sm`},null,8,[`name`,`color`]),r[2]||=f(`span`,{class:`q-ml-sm text-body2`},`Sentry`,-1),f(`span`,Je,a(K.value.integrations.sentry.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)]),f(`div`,Ye,[c(p,{name:X(K.value.integrations.editor.configured),color:Z(K.value.integrations.editor.configured),size:`sm`},null,8,[`name`,`color`]),r[3]||=f(`span`,{class:`q-ml-sm text-body2`},`Editor`,-1),f(`span`,Xe,a(K.value.integrations.editor.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)])])]),_:1})]),_:1})])):s(``,!0)]),_:1}))}});export{W as default};
@@ -1 +0,0 @@
1
- import{B as e,P as t,S as n,V as r,W as i,Y as a,Z as o,at as s,b as c,c as l,ct as u,dt as d,ft as f,g as p,gt as m,ht as h,it as g,l as _,lt as v,m as y,mt as b,n as ee,ot as x,pt as S,r as te,st as C,t as w,tt as T,ut as E,v as ne,xt as re,y as ie,z as D}from"./runtime-core.esm-bundler-C3IgBgY5.js";var O=void 0,ae=typeof window<`u`&&window.trustedTypes;if(ae)try{O=ae.createPolicy(`vue`,{createHTML:e=>e})}catch{}var oe=O?e=>O.createHTML(e):e=>e,se=`http://www.w3.org/2000/svg`,ce=`http://www.w3.org/1998/Math/MathML`,k=typeof document<`u`?document:null,le=k&&k.createElement(`template`),ue={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?k.createElementNS(se,e):t===`mathml`?k.createElementNS(ce,e):n?k.createElement(e,{is:n}):k.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>k.createTextNode(e),createComment:e=>k.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>k.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{le.innerHTML=oe(r===`svg`?`<svg>${e}</svg>`:r===`mathml`?`<math>${e}</math>`:e);let i=le.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},A=`transition`,j=`animation`,M=Symbol(`_vtc`),de={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},fe=x({},ee,de),pe=(e=>(e.displayName=`Transition`,e.props=fe,e))((e,{slots:t})=>n(w,P(e),t)),N=(e,t=[])=>{v(e)?e.forEach(e=>e(...t)):e&&e(...t)},me=e=>e?v(e)?e.some(e=>e.length>1):e.length>1:!1;function P(e){let t={};for(let n in e)n in de||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:l=o,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=he(i),h=m&&m[0],g=m&&m[1],{onBeforeEnter:_,onEnter:v,onEnterCancelled:y,onLeave:b,onLeaveCancelled:ee,onBeforeAppear:S=_,onAppear:te=v,onAppearCancelled:C=y}=t,w=(e,t,n,r)=>{e._enterCancelled=r,L(e,t?u:s),L(e,t?l:o),n&&n()},T=(e,t)=>{e._isLeaving=!1,L(e,d),L(e,p),L(e,f),t&&t()},E=e=>(t,n)=>{let i=e?te:v,o=()=>w(t,e,n);N(i,[t,o]),R(()=>{L(t,e?c:a),I(t,e?u:s),me(i)||_e(t,r,h,o)})};return x(t,{onBeforeEnter(e){N(_,[e]),I(e,a),I(e,o)},onBeforeAppear(e){N(S,[e]),I(e,c),I(e,l)},onEnter:E(!1),onAppear:E(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>T(e,t);I(e,d),e._enterCancelled?(I(e,f),z(e)):(z(e),I(e,f)),R(()=>{e._isLeaving&&(L(e,d),I(e,p),me(b)||_e(e,r,g,n))}),N(b,[e,n])},onEnterCancelled(e){w(e,!1,void 0,!0),N(y,[e])},onAppearCancelled(e){w(e,!0,void 0,!0),N(C,[e])},onLeaveCancelled(e){T(e),N(ee,[e])}})}function he(e){if(e==null)return null;if(f(e))return[F(e.enter),F(e.leave)];{let t=F(e);return[t,t]}}function F(e){return re(e)}function I(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[M]||(e[M]=new Set)).add(t)}function L(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[M];n&&(n.delete(t),n.size||(e[M]=void 0))}function R(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var ge=0;function _e(e,t,n,r){let i=e._endId=++ge,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=ve(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u<c&&d()},s+1),e.addEventListener(l,f)}function ve(e,t){let n=window.getComputedStyle(e),r=e=>(n[e]||``).split(`, `),i=r(`${A}Delay`),a=r(`${A}Duration`),o=ye(i,a),s=r(`${j}Delay`),c=r(`${j}Duration`),l=ye(s,c),u=null,d=0,f=0;t===A?o>0&&(u=A,d=o,f=a.length):t===j?l>0&&(u=j,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?A:j:null,f=u?u===A?a.length:c.length:0);let p=u===A&&/\b(?:transform|all)(?:,|$)/.test(r(`${A}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function ye(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((t,n)=>be(t)+be(e[n])))}function be(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function z(e){return(e?e.ownerDocument:document).body.offsetHeight}function xe(e,t,n){let r=e[M];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var B=Symbol(`_vod`),Se=Symbol(`_vsh`),Ce={name:`show`,beforeMount(e,{value:t},{transition:n}){e[B]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):V(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),V(e,!0),r.enter(e)):r.leave(e,()=>{V(e,!1)}):V(e,t))},beforeUnmount(e,{value:t}){V(e,t)}};function V(e,t){e.style.display=t?e[B]:`none`,e[Se]=!t}var we=Symbol(``),Te=/(?:^|;)\s*display\s*:/;function Ee(e,t,n){let r=e.style,i=h(n),a=!1;if(n&&!i){if(t)if(h(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??H(r,t,``)}else for(let e in t)n[e]??H(r,e,``);for(let e in n)e===`display`&&(a=!0),H(r,e,n[e])}else if(i){if(t!==n){let e=r[we];e&&(n+=`;`+e),r.cssText=n,a=Te.test(n)}}else t&&e.removeAttribute(`style`);B in e&&(e[B]=a?r.display:``,e[Se]&&(r.display=`none`))}var De=/\s*!important$/;function H(e,t,n){if(v(n))n.forEach(n=>H(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=ke(e,t);De.test(n)?e.setProperty(C(r),n.replace(De,``),`important`):e[r]=n}}var Oe=[`Webkit`,`Moz`,`ms`],U={};function ke(e,t){let n=U[t];if(n)return n;let r=g(t);if(r!==`filter`&&r in e)return U[t]=r;r=s(r);for(let n=0;n<Oe.length;n++){let i=Oe[n]+r;if(i in e)return U[t]=i}return t}var Ae=`http://www.w3.org/1999/xlink`;function je(e,t,n,r,i,a=b(t)){r&&t.startsWith(`xlink:`)?n==null?e.removeAttributeNS(Ae,t.slice(6,t.length)):e.setAttributeNS(Ae,t,n):n==null||a&&!u(n)?e.removeAttribute(t):e.setAttribute(t,a?``:m(n)?String(n):n)}function Me(e,t,n,r,i){if(t===`innerHTML`||t===`textContent`){n!=null&&(e[t]=t===`innerHTML`?oe(n):n);return}let a=e.tagName;if(t===`value`&&a!==`PROGRESS`&&!a.includes(`-`)){let r=a===`OPTION`?e.getAttribute(`value`)||``:e.value,i=n==null?e.type===`checkbox`?`on`:``:String(n);(r!==i||!(`_value`in e))&&(e.value=i),n??e.removeAttribute(t),e._value=n;return}let o=!1;if(n===``||n==null){let r=typeof e[t];r===`boolean`?n=u(n):n==null&&r===`string`?(n=``,o=!0):r===`number`&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function Ne(e,t,n,r){e.addEventListener(t,n,r)}function Pe(e,t,n,r){e.removeEventListener(t,n,r)}var Fe=Symbol(`_vei`);function Ie(e,t,n,r,i=null){let a=e[Fe]||(e[Fe]={}),o=a[t];if(r&&o)o.value=r;else{let[n,s]=Re(t);r?Ne(e,n,a[t]=He(r,i),s):o&&(Pe(e,n,o,s),a[t]=void 0)}}var Le=/(?:Once|Passive|Capture)$/;function Re(e){let t;if(Le.test(e)){t={};let n;for(;n=e.match(Le);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===`:`?e.slice(3):C(e.slice(2)),t]}var ze=0,Be=Promise.resolve(),Ve=()=>ze||=(Be.then(()=>ze=0),Date.now());function He(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;l(Ue(e,n.value),t,5,[e])};return n.value=e,n.attached=Ve(),n}function Ue(e,t){if(v(t)){let n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}else return t}var We=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ge=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?xe(e,r,o):t===`style`?Ee(e,n,r):S(t)?d(t)||Ie(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):Ke(e,t,r,o))?(Me(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&je(e,t,r,o,a,t!==`value`)):e._isVueCE&&(qe(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!h(r)))?Me(e,g(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),je(e,t,r,o))};function Ke(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&We(t)&&E(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return We(t)&&h(n)?!1:t in e}function qe(e,t){let n=e._def.props;if(!n)return!1;let r=g(t);return Array.isArray(n)?n.some(e=>g(e)===r):Object.keys(n).some(e=>g(e)===r)}var Je=new WeakMap,Ye=new WeakMap,W=Symbol(`_moveCb`),Xe=Symbol(`_enterCb`),Ze=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:x({},fe,{tag:String,moveClass:String}),setup(n,{slots:i}){let a=ie(),o=r(),s,l;return t(()=>{if(!s.length)return;let e=n.moveClass||`${n.name||`v`}-move`;if(!nt(s[0].el,a.vnode.el,e)){s=[];return}s.forEach(Qe),s.forEach($e);let t=s.filter(et);z(a.vnode.el),t.forEach(t=>{let n=t.el,r=n.style;I(n,e),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[W]=t=>{t&&t.target!==n||(!t||t.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[W]=null,L(n,e))};n.addEventListener(`transitionend`,i)}),s=[]}),()=>{let t=T(n),r=P(t),u=t.tag||te;if(s=[],l)for(let t=0;t<l.length;t++){let n=l[t];n.el&&n.el instanceof Element&&(s.push(n),e(n,D(n,r,o,a)),Je.set(n,tt(n.el)))}l=i.default?c(i.default()):[];for(let t=0;t<l.length;t++){let n=l[t];n.key!=null&&e(n,D(n,r,o,a))}return p(u,null,l)}}});function Qe(e){let t=e.el;t[W]&&t[W](),t[Xe]&&t[Xe]()}function $e(e){Ye.set(e,tt(e.el))}function et(e){let t=Je.get(e),n=Ye.get(e),r=t.left-n.left,i=t.top-n.top;if(r||i){let t=e.el,n=t.style,a=t.getBoundingClientRect(),o=1,s=1;return t.offsetWidth&&(o=a.width/t.offsetWidth),t.offsetHeight&&(s=a.height/t.offsetHeight),(!Number.isFinite(o)||o===0)&&(o=1),(!Number.isFinite(s)||s===0)&&(s=1),Math.abs(o-1)<.01&&(o=1),Math.abs(s-1)<.01&&(s=1),n.transform=n.webkitTransform=`translate(${r/o}px,${i/s}px)`,n.transitionDuration=`0s`,e}}function tt(e){let t=e.getBoundingClientRect();return{left:t.left,top:t.top}}function nt(e,t,n){let r=e.cloneNode(),i=e[M];i&&i.forEach(e=>{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=ve(r);return a.removeChild(r),o}var rt=[`ctrl`,`shift`,`alt`,`meta`],it={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>rt.some(n=>e[`${n}Key`]&&!t.includes(n))},at=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e<t.length;e++){let r=it[t[e]];if(r&&r(n,t))return}return e(n,...r)}))},ot={esc:`escape`,space:` `,up:`arrow-up`,left:`arrow-left`,right:`arrow-right`,down:`arrow-down`,delete:`backspace`},st=(e,t)=>{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=C(n.key);if(t.some(e=>e===r||ot[e]===r))return e(n)}))},ct=x({patchProp:Ge},ue),lt;function ut(){return lt||=y(ct)}var dt=((...e)=>{let t=ut().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=pt(e);if(!r)return;let i=t._component;!E(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,ft(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function ft(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function pt(e){return h(e)?document.querySelector(e):e}function mt(e,t,n,r){return Object.defineProperty(e,t,{get:n,set:r,enumerable:!0}),e}function G(e){return a(ne(e))}function ht(e){return a(e)}var gt=(e,t)=>{let n=o(e);for(let r in e)mt(t,r,()=>n[r],e=>{n[r]=e});return t},K={hasPassive:!1,passiveCapture:!0,notPassiveCapture:!0};try{let e=Object.defineProperty({},`passive`,{get(){Object.assign(K,{hasPassive:!0,passive:{passive:!0},notPassive:{passive:!1},passiveCapture:{passive:!0,capture:!0},notPassiveCapture:{passive:!1,capture:!0}})}});window.addEventListener(`qtest`,null,e),window.removeEventListener(`qtest`,null,e)}catch{}function _t(){}function vt(e){return e.button===0}function yt(e){return e.touches&&e.touches[0]?e=e.touches[0]:e.changedTouches&&e.changedTouches[0]?e=e.changedTouches[0]:e.targetTouches&&e.targetTouches[0]&&(e=e.targetTouches[0]),{top:e.clientY,left:e.clientX}}function bt(e){if(e.path)return e.path;if(e.composedPath)return e.composedPath();let t=[],n=e.target;for(;n;){if(t.push(n),n.tagName===`HTML`)return t.push(document),t.push(window),t;n=n.parentElement}}function xt(e){e.stopPropagation()}function q(e){e.cancelable!==!1&&e.preventDefault()}function St(e){e.cancelable!==!1&&e.preventDefault(),e.stopPropagation()}function Ct(e,t){if(e===void 0||t===!0&&e.__dragPrevented===!0)return;let n=t===!0?e=>{e.__dragPrevented=!0,e.addEventListener(`dragstart`,q,K.notPassiveCapture)}:e=>{delete e.__dragPrevented,e.removeEventListener(`dragstart`,q,K.notPassiveCapture)};e.querySelectorAll(`a, img`).forEach(n)}function wt(e,t,n){let r=`__q_${t}_evt`;e[r]=e[r]===void 0?n:e[r].concat(n),n.forEach(t=>{t[0].addEventListener(t[1],e[t[2]],K[t[3]])})}function Tt(e,t){let n=`__q_${t}_evt`;e[n]!==void 0&&(e[n].forEach(t=>{t[0].removeEventListener(t[1],e[t[2]],K[t[3]])}),e[n]=void 0)}var Et=!1;function Dt(e){Et=e.isComposing===!0}function Ot(e){return Et===!0||e!==Object(e)||e.isComposing===!0||e.qKeyEvent===!0}function kt(e,t){return Ot(e)===!0?!1:[].concat(t).includes(e.keyCode)}var At=`_q_s_`,jt=`_q_l_`,Mt=`_q_pc_`,Nt=`_q_fo_`,Pt=`_q_tabs_`;function Ft(){}var J={xs:18,sm:24,md:32,lg:38,xl:46},It={size:String};function Y(e,t=J){return _(()=>e.size===void 0?null:{fontSize:e.size in t?`${t[e.size]}px`:e.size})}var Lt={size:{type:[String,Number],default:`1em`},color:String};function Rt(e){return{cSize:_(()=>e.size in J?`${J[e.size]}px`:e.size),classes:_(()=>`q-spinner`+(e.color?` text-${e.color}`:``))}}var zt=G({name:`QSpinner`,props:{...Lt,thickness:{type:Number,default:5}},setup(e){let{cSize:t,classes:r}=Rt(e);return()=>n(`svg`,{class:r.value+` q-spinner-mat`,width:t.value,height:t.value,viewBox:`25 25 50 50`},[n(`circle`,{class:`path`,cx:`50`,cy:`50`,r:`20`,fill:`none`,stroke:`currentColor`,"stroke-width":e.thickness,"stroke-miterlimit":`10`})])}});function Bt(e,t){return e===void 0?t:e()||t}function Vt(e,t){if(e!==void 0){let t=e();if(t!=null)return t.slice()}return t}function X(e,t){return e===void 0?t:t.concat(e())}function Ht(e,t){return e===void 0?t:t===void 0?e():t.concat(e())}function Ut(e,t,r,a,o,s){t.key=a+o;let c=n(e,t,r);return o===!0?i(c,s()):c}var Wt={dark:{type:Boolean,default:null}};function Gt(e,t){return _(()=>e.dark===null?t.dark.isActive:e.dark)}var Kt=`0 0 24 24`,Z=e=>e,Q=e=>`ionicons ${e}`,qt={"mdi-":e=>`mdi ${e}`,"icon-":Z,"bt-":e=>`bt ${e}`,"eva-":e=>`eva ${e}`,"ion-md":Q,"ion-ios":Q,"ion-logo":Q,"iconfont ":Z,"ti-":e=>`themify-icon ${e}`,"bi-":e=>`bootstrap-icons ${e}`,"i-":Z},Jt={o_:`-outlined`,r_:`-round`,s_:`-sharp`},Yt={sym_o_:`-outlined`,sym_r_:`-rounded`,sym_s_:`-sharp`},Xt=RegExp(`^(`+Object.keys(qt).join(`|`)+`)`),Zt=RegExp(`^(`+Object.keys(Jt).join(`|`)+`)`),$=RegExp(`^(`+Object.keys(Yt).join(`|`)+`)`),Qt=/^[Mm]\s?[-+]?\.?\d/,$t=/^img:/,en=/^svguse:/,tn=/^ion-/,nn=/^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /,rn=G({name:`QIcon`,props:{...It,tag:{type:String,default:`i`},name:String,color:String,left:Boolean,right:Boolean},setup(e,{slots:t}){let{proxy:{$q:r}}=ie(),i=Y(e),a=_(()=>`q-icon`+(e.left===!0?` on-left`:``)+(e.right===!0?` on-right`:``)+(e.color===void 0?``:` text-${e.color}`)),o=_(()=>{let t,i=e.name;if(i===`none`||!i)return{none:!0};if(r.iconMapFn!==null){let e=r.iconMapFn(i);if(e!==void 0)if(e.icon!==void 0){if(i=e.icon,i===`none`||!i)return{none:!0}}else return{cls:e.cls,content:e.content===void 0?` `:e.content}}if(Qt.test(i)===!0){let[e,t=Kt]=i.split(`|`);return{svg:!0,viewBox:t,nodes:e.split(`&&`).map(e=>{let[t,r,i]=e.split(`@@`);return n(`path`,{style:r,d:t,transform:i})})}}if($t.test(i)===!0)return{img:!0,src:i.substring(4)};if(en.test(i)===!0){let[e,t=Kt]=i.split(`|`);return{svguse:!0,src:e.substring(7),viewBox:t}}let a=` `,o=i.match(Xt);if(o!==null)t=qt[o[1]](i);else if(nn.test(i)===!0)t=i;else if(tn.test(i)===!0)t=`ionicons ion-${r.platform.is.ios===!0?`ios`:`md`}${i.substring(3)}`;else if($.test(i)===!0){t=`notranslate material-symbols`;let e=i.match($);e!==null&&(i=i.substring(6),t+=Yt[e[1]]),a=i}else{t=`notranslate material-icons`;let e=i.match(Zt);e!==null&&(i=i.substring(2),t+=Jt[e[1]]),a=i}return{cls:t,content:a}});return()=>{let r={class:a.value,style:i.value,"aria-hidden":`true`};return o.value.none===!0?n(e.tag,r,Bt(t.default)):o.value.img===!0?n(e.tag,r,X(t.default,[n(`img`,{src:o.value.src})])):o.value.svg===!0?n(e.tag,r,X(t.default,[n(`svg`,{viewBox:o.value.viewBox||`0 0 24 24`},o.value.nodes)])):o.value.svguse===!0?n(e.tag,r,X(t.default,[n(`svg`,{viewBox:o.value.viewBox},[n(`use`,{"xlink:href":o.value.src})])])):(o.value.cls!==void 0&&(r.class+=` `+o.value.cls),n(e.tag,r,X(t.default,[o.value.content])))}}});export{q as A,dt as B,wt as C,K as D,vt as E,ht as F,st as H,gt as I,mt as L,xt as M,St as N,_t as O,G as P,pe as R,Ot as S,bt as T,at as U,Ce as V,Mt as _,X as a,kt as b,Vt as c,Lt as d,Y as f,jt as g,Nt as h,Ut as i,Ct as j,yt as k,zt as l,Ft as m,Gt as n,Ht as o,It as p,Wt as r,Bt as s,rn as t,Rt as u,At as v,Tt as w,Dt as x,Pt as y,Ze as z};
@@ -1 +0,0 @@
1
- import{S as e}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{P as t}from"./QIcon-BJuyqdsT.js";var n=t({name:`QSpace`,setup(){let t=e(`div`,{class:`q-space`});return()=>t}});export{n as t};
@@ -1 +0,0 @@
1
- import{F as e,H as t,L as n,M as r,N as i,Q as a,S as o,U as s,W as c,_t as l,bt as u,d,f,g as p,h as m,k as h,l as g,p as _,r as v,rt as y,u as b,v as x,y as S}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{N as C,P as w,i as ee,k as te,n as T,r as E,t as ne}from"./QIcon-BJuyqdsT.js";import{r as D}from"./use-id-CuaR1RiE.js";import{I as re,L as O,a as ie,c as ae,i as oe,n as se,o as ce,s as le}from"./notifications-OnPq4FrH.js";import{t as k}from"./QBtn-a6jxWjmW.js";import{n as ue}from"./vue-i18n-BcfTCFFS.js";import{i as de,o as A,r as j,t as M}from"./QInput-Cm5-AGQ4.js";import{t as N}from"./QToggle-1-N9qWq4.js";import{b as fe,g as pe,h as me,n as he,y as ge}from"./index-D6wj_wQ9.js";import{n as _e,t as ve}from"./QItemSection-5YpFpPDm.js";import{t as ye}from"./QItemLabel-DrTxqTqV.js";import{d as P,t as be}from"./QTooltip-fDNzBEfN.js";import{t as xe}from"./QExpansionItem-CH1ipL9n.js";import{t as Se}from"./TouchPan-DoE24Io3.js";import{t as F}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as I}from"./QSpace-CLtL3aPy.js";import{t as Ce}from"./QList-D0FtnQJI.js";import{t as we}from"./ClosePopup-D_UAdwkA.js";import{t as Te}from"./use-quasar-Sdcq6zzV.js";import{i as Ee,n as De,r as Oe,t as ke}from"./QTabPanels-D2ks0UIA.js";import{n as L,t as Ae}from"./models-BsjWUKqM.js";import{t as je}from"./QPage-DFi3K093.js";var R=`q-slider__marker-labels`,z=e=>({value:e}),B=({marker:e})=>o(`div`,{key:e.value,style:e.style,class:e.classes},e.label),V=[34,37,40,33,39,38],H={...E,...A,min:{type:Number,default:0},max:{type:Number,default:100},innerMin:Number,innerMax:Number,step:{type:Number,default:1,validator:e=>e>=0},snap:Boolean,vertical:Boolean,reverse:Boolean,color:String,markerLabelsClass:String,label:Boolean,labelColor:String,labelTextColor:String,labelAlways:Boolean,switchLabelSide:Boolean,markers:[Boolean,Number],markerLabels:[Boolean,Array,Object,Function],switchMarkerLabelsSide:Boolean,trackImg:String,trackColor:String,innerTrackImg:String,innerTrackColor:String,selectionColor:String,selectionImg:String,thumbSize:{type:String,default:`20px`},trackSize:{type:String,default:`4px`},disable:Boolean,readonly:Boolean,dense:Boolean,tabindex:[String,Number],thumbColor:String,thumbPath:{type:String,default:`M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0`}},U=[`pan`,`update:modelValue`,`change`];function W({updateValue:e,updatePosition:t,getDragging:n,formAttrs:r}){let{props:i,emit:s,slots:c,proxy:{$q:l}}=S(),u=T(i,l),d=de(r),f=a(!1),p=a(!1),m=a(!1),_=a(!1),v=g(()=>i.vertical===!0?`--v`:`--h`),y=g(()=>`-`+(i.switchLabelSide===!0?`switched`:`standard`)),b=g(()=>i.vertical===!0?i.reverse===!0:i.reverse!==(l.lang.rtl===!0)),x=g(()=>isNaN(i.innerMin)===!0||i.innerMin<i.min?i.min:i.innerMin),C=g(()=>isNaN(i.innerMax)===!0||i.innerMax>i.max?i.max:i.innerMax),w=g(()=>i.disable!==!0&&i.readonly!==!0&&x.value<C.value),E=g(()=>{if(i.step===0)return e=>e;let e=(String(i.step).trim().split(`.`)[1]||``).length;return t=>parseFloat(t.toFixed(e))}),ne=g(()=>i.step===0?1:i.step),D=g(()=>w.value===!0?i.tabindex||0:-1),ie=g(()=>i.max-i.min),ae=g(()=>C.value-x.value),oe=g(()=>Ce(x.value)),se=g(()=>Ce(C.value)),ce=g(()=>i.vertical===!0?b.value===!0?`bottom`:`top`:b.value===!0?`right`:`left`),le=g(()=>i.vertical===!0?`height`:`width`),k=g(()=>i.vertical===!0?`width`:`height`),ue=g(()=>i.vertical===!0?`vertical`:`horizontal`),A=g(()=>{let e={role:`slider`,"aria-valuemin":x.value,"aria-valuemax":C.value,"aria-orientation":ue.value,"data-step":i.step};return i.disable===!0?e[`aria-disabled`]=`true`:i.readonly===!0&&(e[`aria-readonly`]=`true`),e}),j=g(()=>`q-slider q-slider${v.value} q-slider--${f.value===!0?``:`in`}active inline no-wrap `+(i.vertical===!0?`row`:`column`)+(i.disable===!0?` disabled`:` q-slider--enabled`+(w.value===!0?` q-slider--editable`:``))+(m.value===`both`?` q-slider--focus`:``)+(i.label||i.labelAlways===!0?` q-slider--label`:``)+(i.labelAlways===!0?` q-slider--label-always`:``)+(u.value===!0?` q-slider--dark`:``)+(i.dense===!0?` q-slider--dense q-slider--dense`+v.value:``));function M(e){let t=`q-slider__`+e;return`${t} ${t}${v.value} ${t}${v.value}${y.value}`}function N(e){let t=`q-slider__`+e;return`${t} ${t}${v.value}`}let fe=g(()=>{let e=i.selectionColor||i.color;return`q-slider__selection absolute`+(e===void 0?``:` text-${e}`)}),pe=g(()=>N(`markers`)+` absolute overflow-hidden`),me=g(()=>N(`track-container`)),he=g(()=>M(`pin`)),ge=g(()=>M(`label`)),_e=g(()=>M(`text-container`)),ve=g(()=>M(`marker-labels-container`)+(i.markerLabelsClass===void 0?``:` ${i.markerLabelsClass}`)),ye=g(()=>`q-slider__track relative-position no-outline`+(i.trackColor===void 0?``:` bg-${i.trackColor}`)),be=g(()=>{let e={[k.value]:i.trackSize};return i.trackImg!==void 0&&(e.backgroundImage=`url(${i.trackImg}) !important`),e}),xe=g(()=>`q-slider__inner absolute`+(i.innerTrackColor===void 0?``:` bg-${i.innerTrackColor}`)),F=g(()=>{let e=se.value-oe.value,t={[ce.value]:`${100*oe.value}%`,[le.value]:e===0?`2px`:`${100*e}%`};return i.innerTrackImg!==void 0&&(t.backgroundImage=`url(${i.innerTrackImg}) !important`),t});function I(e){let{min:t,max:n,step:r}=i,a=t+e*(n-t);if(r>0){let e=(a-x.value)%r;a+=(Math.abs(e)>=r/2?(e<0?-1:1)*r:0)-e}return a=E.value(a),P(a,x.value,C.value)}function Ce(e){return ie.value===0?0:(e-i.min)/ie.value}function we(e,t){let n=te(e),r=i.vertical===!0?P((n.top-t.top)/t.height,0,1):P((n.left-t.left)/t.width,0,1);return P(b.value===!0?1-r:r,oe.value,se.value)}let Te=g(()=>re(i.markers)===!0?i.markers:ne.value),Ee=g(()=>{let e=[],t=Te.value,n=i.max,r=i.min;do e.push(r),r+=t;while(r<n);return e.push(n),e}),De=g(()=>{let e=` ${R}${v.value}-`;return`q-slider__marker-labels${e}${i.switchMarkerLabelsSide===!0?`switched`:`standard`}${e}${b.value===!0?`rtl`:`ltr`}`}),Oe=g(()=>i.markerLabels===!1?null:Ae(i.markerLabels).map((e,t)=>({index:t,value:e.value,label:e.label||e.value,classes:De.value+(e.classes===void 0?``:` `+e.classes),style:{...je(e.value),...e.style||{}}}))),ke=g(()=>({markerList:Oe.value,markerMap:H.value,classes:De.value,getStyle:je})),L=g(()=>{let e=ae.value===0?`2px`:100*Te.value/ae.value;return{...F.value,backgroundSize:i.vertical===!0?`2px ${e}%`:`${e}% 2px`}});function Ae(e){if(e===!1)return null;if(e===!0)return Ee.value.map(z);if(typeof e==`function`)return Ee.value.map(t=>{let n=e(t);return O(n)===!0?{...n,value:t}:{value:t,label:n}});let t=({value:e})=>e>=i.min&&e<=i.max;return Array.isArray(e)===!0?e.map(e=>O(e)===!0?e:{value:e}).filter(t):Object.keys(e).map(t=>{let n=e[t],r=Number(t);return O(n)===!0?{...n,value:r}:{value:r,label:n}}).filter(t)}function je(e){return{[ce.value]:`${100*(e-i.min)/ie.value}%`}}let H=g(()=>{if(i.markerLabels===!1)return null;let e={};return Oe.value.forEach(t=>{e[t.value]=t}),e});function U(){if(c[`marker-label-group`]!==void 0)return c[`marker-label-group`](ke.value);let e=c[`marker-label`]||B;return Oe.value.map(t=>e({marker:t,...ke.value}))}let W=g(()=>[[Se,G,void 0,{[ue.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function G(r){r.isFinal===!0?(_.value!==void 0&&(t(r.evt),r.touch===!0&&e(!0),_.value=void 0,s(`pan`,`end`)),f.value=!1,m.value=!1):r.isFirst===!0?(_.value=n(r.evt),t(r.evt),e(),f.value=!0,s(`pan`,`start`)):(t(r.evt),e())}function Me(){m.value=!1}function Ne(r){t(r,n(r)),e(),p.value=!0,f.value=!0,document.addEventListener(`mouseup`,Pe,!0)}function Pe(){p.value=!1,f.value=!1,e(!0),Me(),document.removeEventListener(`mouseup`,Pe,!0)}function Fe(r){t(r,n(r)),e(!0)}function Ie(t){V.includes(t.keyCode)&&e(!0)}function Le(e){if(i.vertical===!0)return null;let t=l.lang.rtl===i.reverse?e:1-e;return{transform:`translateX(calc(${2*t-1} * ${i.thumbSize} / 2 + ${50-100*t}%))`}}function Re(e){let t=g(()=>p.value===!1&&(m.value===e.focusValue||m.value===`both`)?` q-slider--focus`:``),n=g(()=>`q-slider__thumb q-slider__thumb${v.value} q-slider__thumb${v.value}-${b.value===!0?`rtl`:`ltr`} absolute non-selectable`+t.value+(e.thumbColor.value===void 0?``:` text-${e.thumbColor.value}`)),r=g(()=>({width:i.thumbSize,height:i.thumbSize,[ce.value]:`${100*e.ratio.value}%`,zIndex:m.value===e.focusValue?2:void 0})),a=g(()=>e.labelColor.value===void 0?``:` text-${e.labelColor.value}`),s=g(()=>Le(e.ratio.value)),c=g(()=>`q-slider__text`+(e.labelTextColor.value===void 0?``:` text-${e.labelTextColor.value}`));return()=>{let t=[o(`svg`,{class:`q-slider__thumb-shape absolute-full`,viewBox:`0 0 20 20`,"aria-hidden":`true`},[o(`path`,{d:i.thumbPath})]),o(`div`,{class:`q-slider__focus-ring fit`})];return(i.label===!0||i.labelAlways===!0)&&(t.push(o(`div`,{class:he.value+` absolute fit no-pointer-events`+a.value},[o(`div`,{class:ge.value,style:{minWidth:i.thumbSize}},[o(`div`,{class:_e.value,style:s.value},[o(`span`,{class:c.value},e.label.value)])])])),i.name!==void 0&&i.disable!==!0&&d(t,`push`)),o(`div`,{class:n.value,style:r.value,...e.getNodeData()},t)}}function ze(e,t,n,r){let a=[];i.innerTrackColor!==`transparent`&&a.push(o(`div`,{key:`inner`,class:xe.value,style:F.value})),i.selectionColor!==`transparent`&&a.push(o(`div`,{key:`selection`,class:fe.value,style:e.value})),i.markers!==!1&&a.push(o(`div`,{key:`marker`,class:pe.value,style:L.value})),r(a);let s=[ee(`div`,{key:`trackC`,class:me.value,tabindex:t.value,...n.value},[o(`div`,{class:ye.value,style:be.value},a)],`slide`,w.value,()=>W.value)];return i.markerLabels!==!1&&s[i.switchMarkerLabelsSide===!0?`unshift`:`push`](o(`div`,{key:`markerL`,class:ve.value},U())),s}return h(()=>{document.removeEventListener(`mouseup`,Pe,!0)}),{state:{active:f,focus:m,preventFocus:p,dragging:_,editable:w,classes:j,tabindex:D,attributes:A,roundValueFn:E,keyStep:ne,trackLen:ie,innerMin:x,innerMinRatio:oe,innerMax:C,innerMaxRatio:se,positionProp:ce,sizeProp:le,isReversed:b},methods:{onActivate:Ne,onMobileClick:Fe,onBlur:Me,onKeyup:Ie,getContent:ze,getThumbRenderFn:Re,convertRatioToModel:I,convertModelToRatio:Ce,getDraggingRatio:we}}}var G=()=>({}),Me=w({name:`QSlider`,props:{...H,modelValue:{required:!0,default:null,validator:e=>typeof e==`number`||e===null},labelValue:[String,Number]},emits:U,setup(e,{emit:n}){let{proxy:{$q:r}}=S(),{state:i,methods:s}=W({updateValue:v,updatePosition:b,getDragging:y,formAttrs:j(e)}),c=a(null),l=a(0),u=a(0);function d(){u.value=e.modelValue===null?i.innerMin.value:P(e.modelValue,i.innerMin.value,i.innerMax.value)}t(()=>`${e.modelValue}|${i.innerMin.value}|${i.innerMax.value}`,d),d();let f=g(()=>s.convertModelToRatio(u.value)),p=g(()=>i.active.value===!0?l.value:f.value),m=g(()=>{let t={[i.positionProp.value]:`${100*i.innerMinRatio.value}%`,[i.sizeProp.value]:`${100*(p.value-i.innerMinRatio.value)}%`};return e.selectionImg!==void 0&&(t.backgroundImage=`url(${e.selectionImg}) !important`),t}),h=s.getThumbRenderFn({focusValue:!0,getNodeData:G,ratio:p,label:g(()=>e.labelValue===void 0?u.value:e.labelValue),thumbColor:g(()=>e.thumbColor||e.color),labelColor:g(()=>e.labelColor),labelTextColor:g(()=>e.labelTextColor)}),_=g(()=>i.editable.value===!0?r.platform.is.mobile===!0?{onClick:s.onMobileClick}:{onMousedown:s.onActivate,onFocus:x,onBlur:s.onBlur,onKeydown:w,onKeyup:s.onKeyup}:{});function v(t){u.value!==e.modelValue&&n(`update:modelValue`,u.value),t===!0&&n(`change`,u.value)}function y(){return c.value.getBoundingClientRect()}function b(t,n=i.dragging.value){let r=s.getDraggingRatio(t,n);u.value=s.convertRatioToModel(r),l.value=e.snap!==!0||e.step===0?r:s.convertModelToRatio(u.value)}function x(){i.focus.value=!0}function w(t){if(V.includes(t.keyCode)===!1)return;C(t);let n=([34,33].includes(t.keyCode)?10:1)*i.keyStep.value,r=([34,37,40].includes(t.keyCode)?-1:1)*(i.isReversed.value===!0?-1:1)*(e.vertical===!0?-1:1)*n;u.value=P(i.roundValueFn.value(u.value+r),i.innerMin.value,i.innerMax.value),v()}return()=>{let t=s.getContent(m,i.tabindex,_,e=>{e.push(h())});return o(`div`,{ref:c,class:i.classes.value+(e.modelValue===null?` q-slider--no-value`:``),...i.attributes.value,"aria-valuenow":e.modelValue},t)}}}),Ne={class:`settings-inner`},Pe={class:`settings-header row items-center q-mb-lg`},Fe={class:`text-h5 text-weight-medium text-grey-3`},Ie={class:`settings-card rounded-borders q-pa-lg`},Le={class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},Re={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},ze={class:`text-subtitle2 q-mb-sm`},Be={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},Ve={class:`text-subtitle2 q-mb-sm`},He={class:`text-subtitle2 q-mb-sm q-mt-md`},Ue={class:`text-caption text-grey-7 q-mb-sm`},We={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},Ge={class:`text-subtitle2 q-mb-sm`},Ke={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},qe={class:`text-subtitle2 q-mb-sm`},Je={class:`column q-gutter-xs`},Ye={class:`row items-center q-gutter-sm q-mt-sm`},Xe={class:`row items-center q-gutter-sm q-mt-sm`},Ze={class:`text-grey-5 text-caption`,style:{"min-width":`80px`}},Qe={class:`text-grey-5 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},$e={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},et={class:`row items-center q-mb-sm`},tt={class:`text-subtitle2`},nt={class:`text-caption text-grey-7 q-mb-sm`},rt={class:`q-mb-sm`},it={class:`row items-center q-mb-sm q-mt-md`},at={class:`text-subtitle2`},ot={class:`text-caption text-grey-7 q-mb-sm`},st={class:`row items-center q-mb-sm q-mt-md`},ct={class:`text-subtitle2`},lt={class:`text-caption text-grey-7 q-mb-sm`},ut={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},dt={class:`text-subtitle2 q-mb-sm`},ft={class:`text-caption text-grey-7 q-mb-sm`},pt={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},mt={class:`text-subtitle2 q-mb-sm`},ht={class:`text-caption text-grey-7 q-mb-sm`},gt={class:`q-mb-sm`},_t={class:`field-label-sub text-caption q-mb-xs text-grey-7`},vt={class:`q-mb-sm`},yt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},bt={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},xt={class:`text-subtitle2 q-mb-sm`},St={class:`text-caption text-grey-7 q-mb-sm`},Ct={class:`q-mb-sm`},wt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Tt={class:`q-mb-sm`},Et={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Dt={class:`row items-center q-mb-sm`},Ot={class:`text-subtitle2`},kt={class:`text-caption text-grey-7 q-mb-xs`},At={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},jt={class:`text-subtitle2 q-mb-sm`},Mt={class:`row items-center q-mb-sm`},Nt={class:`text-subtitle2`},Pt={class:`text-caption text-grey-7 q-mb-xs`},Ft={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},It={class:`text-subtitle2 q-mb-sm`},Lt={class:`text-caption text-grey-7 q-mb-sm`},Rt={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},zt={class:`text-subtitle2 q-mb-sm`},Bt={class:`text-caption text-grey-7 q-mb-sm`},Vt={class:`text-caption text-grey-7 q-mt-xs`},Ht={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},Ut={class:`text-subtitle2 q-mb-sm`},Wt={class:`text-caption text-grey-7 q-mb-sm`},Gt={class:`row q-gutter-sm`},Kt={class:`row justify-end`},qt={class:`row q-gutter-md`,style:{"min-height":`500px`}},Jt={class:`project-list-col`},Yt={class:`settings-card rounded-borders`,style:{height:`100%`}},Xt={class:`q-pa-sm`},Zt={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-grey-6`,style:{"letter-spacing":`0.05em`}},Qt={key:0,class:`q-pa-md text-center text-caption text-grey-8`},$t={class:`q-pa-sm`},en={class:`project-form-col`},tn={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},nn={class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},rn={key:0,class:`q-mb-md`},an={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},on={class:`text-caption text-grey-7 q-mt-xs`},sn={class:`q-mb-md`},cn={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ln={class:`q-mb-md`},un={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},dn={class:`q-mb-md`},fn={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},pn={class:`q-mb-md`},mn={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},hn={class:`q-mb-md`},gn={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},_n={class:`q-mb-md`},vn={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},yn={class:`q-mb-md`},bn={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},xn={class:`text-caption text-grey-7 q-mb-xs`},Sn={class:`q-mb-md`},Cn={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},wn={class:`text-caption text-grey-7 q-mb-xs`},Tn={class:`q-mb-md`},En={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Dn={class:`text-caption text-grey-7 q-mt-xs`},On={class:`q-mb-lg`},kn={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},An={class:`text-caption text-grey-7 q-mt-xs`},jn={class:`q-mb-lg`},Mn={class:`field-label text-body2 text-weight-medium q-mb-sm text-grey-6`},Nn={class:`q-mb-md`},Pn={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Fn={class:`field-label-sub text-caption q-mb-xs text-grey-7`},In={class:`q-mb-lg`},Ln={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Rn={class:`text-caption text-grey-7 q-mb-sm`},zn={class:`q-mb-lg`},Bn={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Vn={class:`text-caption text-grey-7 q-mb-sm`},Hn={class:`row items-center q-gutter-sm`},Un={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},Wn={class:`text-body2 text-grey-8`},Gn={class:`settings-card rounded-borders q-pa-lg`},Kn={class:`row items-center justify-between q-mb-md`},qn={class:`text-subtitle1 text-weight-medium text-grey-3`},Jn={key:0,class:`text-grey-6 q-py-lg text-center`},Yn={key:1,class:`column q-gutter-sm`},Xn={class:`row items-start justify-between no-wrap`},Zn={class:`col`},Qn={class:`text-body1 text-weight-medium`,style:{"font-family":`'Roboto Mono', monospace`}},$n={class:`text-caption text-grey-5 q-mt-xs`},er={class:`row no-wrap q-gutter-xs`},tr={class:`text-caption text-grey-7 q-mt-lg`,style:{"font-family":`'Roboto Mono', monospace`}},nr={class:`text-subtitle1`},rr={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,columns:`2`,"column-gap":`24px`}},ir={key:0,class:`text-negative text-caption`},ar=F(x({__name:`SettingsPage`,setup(o){let h=Te(),x=le(),S=me(),{t:C,locale:w}=ue(),ee=a(`global`),te=a(`auto`),T=a(``),E=a(``),re=a(``),O=a(``),de=a(!0),A=a(!0),j=a(oe),P=a(1),Se=a(``),F=a(``),R=a(``),z=a(``),B=a(null),V=a(`bypass`),H=a(``),U=a(``),W=a([]),G=a(ae),ar=a(null),or=a(!0),sr=[e=>e.trim().length>0||C(`settings.worktreesPathRequired`)],cr=a(!1),K=a(-1),q=a(!1),J=a({path:``,displayName:``,defaultSourceBranch:``,defaultModel:``,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}}),lr=[`defaultModel`,`prPromptTemplate`,`reviewPromptTemplate`,`notionInitialPromptTemplate`,`sentryInitialPromptTemplate`,`gitConventions`,`setupScript`,`devServer`,`e2e`,`finalization`],Y=a(null),X=a(null),ur=g(()=>x.projects.map(e=>({value:e.path,label:ti(e)||e.path})));function dr(e){let t=x.projects.find(t=>t.path===e);t&&(J.value.defaultModel=t.defaultModel??``,J.value.prPromptTemplate=t.prPromptTemplate??``,J.value.reviewPromptTemplate=t.reviewPromptTemplate??``,J.value.notionInitialPromptTemplate=t.notionInitialPromptTemplate??``,J.value.sentryInitialPromptTemplate=t.sentryInitialPromptTemplate??``,J.value.gitConventions=t.gitConventions??``,J.value.setupScript=t.setupScript??``,J.value.devServer={startCommand:t.devServer?.startCommand??``,stopCommand:t.devServer?.stopCommand??``},J.value.e2e={framework:t.e2e?.framework??``,skill:t.e2e?.skill??``,prompt:t.e2e?.prompt??``},J.value.finalization={prompt:t.finalization?.prompt??``})}function fr(){let e={defaultModel:``,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}};return lr.every(t=>JSON.stringify(J.value[t])===JSON.stringify(e[t]))}function pr(e){if(e===null){Y.value=null,X.value=null;return}if(X.value===null&&fr()){dr(e),Y.value=e,X.value=e;return}let t=x.projects.find(t=>t.path===e),n=t&&ti(t)||e;h.dialog({title:C(`settings.copyFromConfirmTitle`),message:C(`settings.copyFromConfirm`,{project:n}),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{dr(e),Y.value=e,X.value=e}).onCancel(()=>{Y.value=X.value})}let mr=a([]),hr=a([]);async function gr(){try{let e=await fetch(`/api/skills`);e.ok&&(mr.value=await e.json())}catch{}}function _r(e,t){t(()=>{let t=e.trim().toLowerCase();hr.value=t?mr.value.filter(e=>e.toLowerCase().includes(t)):mr.value.slice()})}let vr=a([]),yr=a(!1),br=a(!1),xr=a(!1),Sr=a(!1),Z=a(null),Cr=a(``),wr=a(``),Q=a(``),$=a(``),Tr=a(!1),Er=g(()=>[...S.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),Dr=[`{workspace_name}`,`{working_branch}`,`{source_branch}`,`{project_path}`,`{worktree_path}`,`{commit_count}`,`{unpushed_count}`,`{files_changed}`,`{insertions}`,`{deletions}`,`{pr_number}`,`{pr_url}`,`{pr_state}`,`{session_name}`];function Or(){Z.value=null,Cr.value=``,wr.value=``,Q.value=``,$.value=``,Sr.value=!0}function kr(e){Z.value=e.slug,Cr.value=e.slug,wr.value=e.description,Q.value=e.content,$.value=``,Sr.value=!0}async function Ar(){$.value=``;let e=Cr.value.trim(),t=wr.value.trim();if(Z.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){$.value=C(`templates.slugInvalid`);return}if(!t){$.value=C(`templates.descriptionRequired`);return}if(!Q.value.trim()){$.value=C(`templates.contentRequired`);return}Tr.value=!0;try{Z.value===null?await S.createTemplate({slug:e,description:t,content:Q.value}):await S.updateTemplate(Z.value,{description:t,content:Q.value}),Sr.value=!1}catch(e){$.value=e instanceof Error?e.message:C(`templates.createFailed`)}finally{Tr.value=!1}}async function jr(e){h.dialog({title:C(`templates.deleteTemplate`),message:`${C(`templates.deleteConfirm`,{slug:e.slug})}\n\n${C(`templates.deleteConfirmMessage`)}`,dark:!0,cancel:{flat:!0,label:C(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:C(`templates.deleteTemplate`),color:`red-5`}}).onOk(async()=>{try{await S.deleteTemplate(e.slug)}catch(e){h.notify({type:`negative`,message:e instanceof Error?e.message:C(`templates.deleteFailed`),position:`top`})}})}let Mr=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function Nr(e){w.value=e,localStorage.setItem(`kobo:locale`,e)}let Pr=g(()=>[...Ae.map(e=>({label:C(e.i18nLabelKey),value:e.value}))]),Fr=g(()=>[{label:C(`settings.useGlobal`),value:``},...Pr.value]),Ir=g(()=>[{name:`{{pr_number}}`,description:C(`settings.var.prNumber`)},{name:`{{pr_url}}`,description:C(`settings.var.prUrl`)},{name:`{{branch_name}}`,description:C(`settings.var.branchName`)},{name:`{{source_branch}}`,description:C(`settings.var.sourceBranch`)},{name:`{{workspace_name}}`,description:C(`settings.var.workspaceName`)},{name:`{{project_name}}`,description:C(`settings.var.projectName`)},{name:`{{notion_url}}`,description:C(`settings.var.notionUrl`)},{name:`{{commits}}`,description:C(`settings.var.commits`)},{name:`{{diff_stats}}`,description:C(`settings.var.diffStats`)},{name:`{{tasks}}`,description:C(`settings.var.tasks`)},{name:`{{acceptance_criteria}}`,description:C(`settings.var.acceptanceCriteria`)}]),Lr=g(()=>[{label:C(`settings.mcpAutoSelect`),value:``},...x.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),Rr=g(()=>ie.map(e=>({label:C(e.labelKey),value:e.id})));function zr(){se(j.value,P.value)}let Br=g(()=>K.value<0||K.value>=x.projects.length?null:x.projects[K.value]??null);function Vr(){te.value=x.global.defaultModel,T.value=x.global.prPromptTemplate,E.value=x.global.reviewPromptTemplate??``,re.value=x.global.gitConventions,O.value=x.global.editorCommand??``,de.value=x.global.browserNotifications??!0,A.value=x.global.audioNotifications??!0,j.value=ce(x.global.audioNotificationSound);let e=x.global.audioNotificationVolume;P.value=typeof e==`number`&&Number.isFinite(e)?Math.max(0,Math.min(1,e)):1,Se.value=x.global.notionStatusProperty??``,F.value=x.global.notionInProgressStatus??``,R.value=x.global.notionInitialPromptTemplate??``,z.value=x.global.sentryInitialPromptTemplate??``;{let e=x.global.defaultPermissionMode;V.value=e===`plan`||e===`bypass`||e===`strict`||e===`interactive`?e:`bypass`}H.value=x.global.notionMcpKey??``,U.value=x.global.sentryMcpKey??``,W.value=Array.isArray(x.global.tags)?[...x.global.tags]:[],G.value=x.global.worktreesPath??`.worktrees`,or.value=x.global.worktreesPrefixByProject??!1}function Hr(e){if(!e){J.value={path:``,displayName:``,defaultSourceBranch:``,defaultModel:``,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}},vr.value=[];return}J.value={path:e.path,displayName:e.displayName,defaultSourceBranch:e.defaultSourceBranch,defaultModel:e.defaultModel,prPromptTemplate:e.prPromptTemplate,reviewPromptTemplate:e.reviewPromptTemplate??``,notionInitialPromptTemplate:e.notionInitialPromptTemplate??``,sentryInitialPromptTemplate:e.sentryInitialPromptTemplate??``,gitConventions:e.gitConventions??``,setupScript:e.setupScript??``,devServer:{startCommand:e.devServer?.startCommand??``,stopCommand:e.devServer?.stopCommand??``},e2e:{framework:e.e2e?.framework??``,skill:e.e2e?.skill??``,prompt:e.e2e?.prompt??``},finalization:{prompt:e.finalization?.prompt??``}},e.path&&Ur(e.path)}async function Ur(e){if(!e.trim()){vr.value=[];return}yr.value=!0;try{let t=await fetch(`/api/git/branches?path=${encodeURIComponent(e.trim())}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();vr.value=n.local??n.branches??[]}catch{vr.value=[]}finally{yr.value=!1}}let Wr=null;t(()=>J.value.path,e=>{Wr&&clearTimeout(Wr),Wr=setTimeout(()=>{Ur(e)},500)}),t(K,()=>{q.value=!1,Hr(Br.value)});let Gr=a(null);async function Kr(){try{let e=await fetch(`/api/settings/export`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json(),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`kobo-config-${new Date().toISOString().replace(/[:.]/g,`-`)}.json`,i.click(),URL.revokeObjectURL(r),h.notify({type:`positive`,message:C(`settings.exportSuccess`),position:`top`,timeout:3e3})}catch(e){h.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}function qr(){Gr.value?.click()}async function Jr(e){let t=e.target,n=t.files?.[0];if(n)try{h.dialog({title:C(`settings.importConfirmTitle`),message:C(`settings.importConfirmMessage`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{try{let e=await n.text(),t=JSON.parse(e),r=await fetch(`/api/settings/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error??`HTTP ${r.status}`)}await x.fetchSettings(),Vr(),h.notify({type:`positive`,message:C(`settings.importSuccess`),position:`top`,timeout:3e3})}catch(e){h.notify({type:`negative`,message:String(e),position:`top`,timeout:5e3})}})}finally{t.value=``}}async function Yr(e){if(B.value===null){B.value=e;try{let t=await x.fetchGlobalDefaults(),n={prPromptTemplate:T,reviewPromptTemplate:E,gitConventions:re,notionInitialPromptTemplate:R,sentryInitialPromptTemplate:z};n[e].value=t[e]}catch(e){console.error(`[SettingsPage] resetFieldToDefault failed:`,e),h.notify({type:`negative`,message:C(`settings.resetFailed`),position:`top`})}finally{B.value=null}}}async function Xr(){if(await ar.value?.validate()!==!1){cr.value=!0;try{await x.updateGlobal({defaultModel:te.value,prPromptTemplate:T.value,reviewPromptTemplate:E.value,gitConventions:re.value,editorCommand:O.value,browserNotifications:de.value,audioNotifications:A.value,audioNotificationSound:j.value,audioNotificationVolume:P.value,notionStatusProperty:Se.value,notionInProgressStatus:F.value,notionInitialPromptTemplate:R.value,sentryInitialPromptTemplate:z.value,defaultPermissionMode:V.value,notionMcpKey:H.value,sentryMcpKey:U.value,tags:W.value,worktreesPath:G.value,worktreesPrefixByProject:or.value}),h.notify({type:`positive`,message:C(`settings.saved`),position:`top`})}catch{h.notify({type:`negative`,message:C(`settings.saveError`),position:`top`})}finally{cr.value=!1}}}async function Zr(){if(!J.value.path.trim()){h.notify({type:`negative`,message:C(`settings.projectPathRequired`),position:`top`});return}br.value=!0;try{await x.upsertProject(J.value.path.trim(),{displayName:J.value.displayName,defaultSourceBranch:J.value.defaultSourceBranch,defaultModel:J.value.defaultModel,prPromptTemplate:J.value.prPromptTemplate,reviewPromptTemplate:J.value.reviewPromptTemplate,notionInitialPromptTemplate:J.value.notionInitialPromptTemplate,sentryInitialPromptTemplate:J.value.sentryInitialPromptTemplate,gitConventions:J.value.gitConventions,setupScript:J.value.setupScript,devServer:J.value.devServer,e2e:J.value.e2e,finalization:J.value.finalization}),q.value=!1;let e=x.projects.findIndex(e=>e.path===J.value.path.trim());e>=0&&(K.value=e),h.notify({type:`positive`,message:C(`settings.projectSaved`),position:`top`})}catch{h.notify({type:`negative`,message:C(`settings.projectSaveError`),position:`top`})}finally{br.value=!1}}async function Qr(){if(Br.value){xr.value=!0;try{await x.deleteProject(Br.value.path),K.value=-1,q.value=!1,Hr(null),h.notify({type:`positive`,message:C(`settings.projectDeleted`),position:`top`})}catch{h.notify({type:`negative`,message:C(`settings.projectDeleteError`),position:`top`})}finally{xr.value=!1}}}function $r(){K.value=-1,q.value=!0,Hr(null),Y.value=null,X.value=null}function ei(e){q.value=!1,K.value=e,Y.value=null,X.value=null}function ti(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let ni=a([]);function ri(e,t){t(()=>{ni.value=e?vr.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):vr.value})}return r(async()=>{await Promise.all([x.fetchSettings(),x.fetchActiveMcpServers(),gr()]),Vr()}),i(()=>{Wr&&clearTimeout(Wr)}),(t,r)=>(e(),d(je,{class:`settings-page`},{default:s(()=>[b(`div`,Ne,[b(`div`,Pe,[p(ne,{name:`settings`,size:`24px`,color:`indigo-4`,class:`q-mr-sm`}),b(`span`,Fe,u(t.$t(`settings.title`)),1)]),p(Oe,{modelValue:ee.value,"onUpdate:modelValue":r[0]||=e=>ee.value=e,dense:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,class:`settings-tabs q-mb-lg`,align:`left`,"narrow-indicator":``},{default:s(()=>[p(Ee,{name:`global`,label:t.$t(`settings.global`)},null,8,[`label`]),p(Ee,{name:`projects`,label:t.$t(`settings.projects`)},null,8,[`label`]),p(Ee,{name:`templates`,label:t.$t(`templates.title`)},null,8,[`label`])]),_:1},8,[`modelValue`]),p(ke,{modelValue:ee.value,"onUpdate:modelValue":r[42]||=e=>ee.value=e,animated:``,class:`settings-panels`},{default:s(()=>[p(De,{name:`global`,class:`q-pa-none`},{default:s(()=>[b(`div`,Ie,[b(`div`,Le,u(t.$t(`settings.globalSettings`)),1),p(D,{dark:``,class:`q-mb-md`}),b(`div`,Re,[b(`div`,ze,u(t.$t(`settings.language`)),1),p(L,{"model-value":y(w),options:Mr,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":Nr},null,8,[`model-value`])]),b(`div`,Be,[b(`div`,Ve,u(t.$t(`settings.defaultModel`)),1),p(L,{modelValue:te.value,"onUpdate:modelValue":r[1]||=e=>te.value=e,options:Pr.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),b(`div`,He,u(t.$t(`settings.defaultPermissionMode`)),1),b(`div`,Ue,u(t.$t(`settings.defaultPermissionModeHint`)),1),p(L,{modelValue:V.value,"onUpdate:modelValue":r[2]||=e=>V.value=e,options:[{label:t.$t(`agentPermissionMode.plan`),value:`plan`},{label:t.$t(`agentPermissionMode.bypass`),value:`bypass`},{label:t.$t(`agentPermissionMode.strict`),value:`strict`},{label:t.$t(`agentPermissionMode.interactive`),value:`interactive`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),b(`div`,We,[b(`div`,Ge,u(t.$t(`settings.activityFeed`)),1),p(N,{"model-value":y(x).showVerboseSystemMessages,label:t.$t(`settings.verboseMessages`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`,"onUpdate:modelValue":r[3]||=e=>y(x).toggleVerboseSystemMessages()},null,8,[`model-value`,`label`])]),b(`div`,Ke,[b(`div`,qe,u(t.$t(`settings.notifications`)),1),b(`div`,Je,[p(N,{modelValue:de.value,"onUpdate:modelValue":r[4]||=e=>de.value=e,label:t.$t(`settings.browserNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),p(N,{modelValue:A.value,"onUpdate:modelValue":r[5]||=e=>A.value=e,label:t.$t(`settings.audioNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`])]),b(`div`,Ye,[p(L,{modelValue:j.value,"onUpdate:modelValue":r[6]||=e=>j.value=e,options:Rr.value,label:t.$t(`settings.notificationSound`),disable:!A.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`indigo-4`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),p(k,{flat:``,dense:``,color:`indigo-4`,icon:`play_arrow`,label:t.$t(`settings.notificationSoundPreview`),disable:!A.value,onClick:zr},null,8,[`label`,`disable`])]),b(`div`,Xe,[b(`div`,Ze,u(t.$t(`settings.notificationVolume`)),1),p(Me,{modelValue:P.value,"onUpdate:modelValue":r[7]||=e=>P.value=e,min:0,max:1,step:.05,disable:!A.value,dark:``,dense:``,color:`indigo-4`,class:`col`},null,8,[`modelValue`,`disable`]),b(`div`,Qe,u(Math.round(P.value*100))+`% `,1)])]),b(`div`,$e,[b(`div`,et,[b(`div`,tt,u(t.$t(`settings.prPromptTemplate`)),1),p(I),p(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(C)(`settings.resetToDefault`),loading:B.value===`prPromptTemplate`,disable:B.value!==null&&B.value!==`prPromptTemplate`,onClick:r[8]||=e=>Yr(`prPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,nt,u(t.$t(`settings.prPromptHint`)),1),p(M,{modelValue:T.value,"onUpdate:modelValue":r[9]||=e=>T.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.prPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),b(`div`,rt,[p(xe,{dense:``,dark:``,icon:`code`,label:t.$t(`settings.availableVariables`),class:`variables-panel rounded-borders`},{default:s(()=>[p(Ce,{dense:``,dark:``,class:`q-pa-sm`},{default:s(()=>[(e(!0),_(v,null,n(Ir.value,t=>(e(),d(_e,{key:t.name,dense:``},{default:s(()=>[p(ve,null,{default:s(()=>[p(ye,{class:`text-caption`,style:{"font-family":`monospace`}},{default:s(()=>[m(u(t.name),1)]),_:2},1024),p(ye,{caption:``,class:`text-grey-7`},{default:s(()=>[m(u(t.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1},8,[`label`])]),b(`div`,it,[b(`div`,at,u(t.$t(`settings.reviewPromptTemplate`)),1),p(I),p(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(C)(`settings.resetToDefault`),loading:B.value===`reviewPromptTemplate`,disable:B.value!==null&&B.value!==`reviewPromptTemplate`,onClick:r[10]||=e=>Yr(`reviewPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,ot,u(t.$t(`settings.prPromptHint`)),1),p(M,{modelValue:E.value,"onUpdate:modelValue":r[11]||=e=>E.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),b(`div`,st,[b(`div`,ct,u(t.$t(`settings.gitConventions`)),1),p(I),p(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(C)(`settings.resetToDefault`),loading:B.value===`gitConventions`,disable:B.value!==null&&B.value!==`gitConventions`,onClick:r[12]||=e=>Yr(`gitConventions`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,lt,u(t.$t(`settings.gitConventionsHint`)),1),p(M,{modelValue:re.value,"onUpdate:modelValue":r[13]||=e=>re.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.gitConventionsPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),b(`div`,ut,[b(`div`,dt,u(t.$t(`settings.editorCommand`)),1),b(`div`,ft,u(t.$t(`settings.editorCommandHint`)),1),p(M,{modelValue:O.value,"onUpdate:modelValue":r[14]||=e=>O.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.editorCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),b(`div`,pt,[b(`div`,mt,u(t.$t(`settings.mcpSelection`)),1),b(`div`,ht,u(t.$t(`settings.mcpSelectionHint`)),1),b(`div`,gt,[b(`div`,_t,u(t.$t(`settings.notionMcp`)),1),p(L,{modelValue:H.value,"onUpdate:modelValue":r[15]||=e=>H.value=e,options:Lr.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),b(`div`,vt,[b(`div`,yt,u(t.$t(`settings.sentryMcp`)),1),p(L,{modelValue:U.value,"onUpdate:modelValue":r[16]||=e=>U.value=e,options:Lr.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])]),b(`div`,bt,[b(`div`,xt,u(t.$t(`settings.notionStatus`)),1),b(`div`,St,u(t.$t(`settings.notionStatusHint`)),1),b(`div`,Ct,[b(`div`,wt,u(t.$t(`settings.notionStatusProperty`)),1),p(M,{modelValue:Se.value,"onUpdate:modelValue":r[17]||=e=>Se.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionStatusPropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),b(`div`,Tt,[b(`div`,Et,u(t.$t(`settings.notionInProgressStatus`)),1),p(M,{modelValue:F.value,"onUpdate:modelValue":r[18]||=e=>F.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionInProgressStatusPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),b(`div`,Dt,[b(`div`,Ot,u(y(C)(`settings.notionInitialPrompt`)),1),p(I),p(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(C)(`settings.resetToDefault`),loading:B.value===`notionInitialPromptTemplate`,disable:B.value!==null&&B.value!==`notionInitialPromptTemplate`,onClick:r[19]||=e=>Yr(`notionInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,kt,u(y(C)(`settings.notionInitialPrompt.help`,{variables:`{ticket_id}, {notion_url}, {notion_file_path}`})),1),p(M,{modelValue:R.value,"onUpdate:modelValue":r[20]||=e=>R.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),b(`div`,At,[b(`div`,jt,u(y(C)(`settings.sentryIntegration`)),1),b(`div`,Mt,[b(`div`,Nt,u(y(C)(`settings.sentryInitialPrompt`)),1),p(I),p(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(C)(`settings.resetToDefault`),loading:B.value===`sentryInitialPromptTemplate`,disable:B.value!==null&&B.value!==`sentryInitialPromptTemplate`,onClick:r[21]||=e=>Yr(`sentryInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,Pt,u(y(C)(`settings.sentryInitialPrompt.help`,{variables:`{issue_id}, {sentry_url}, {sentry_file_path}`})),1),p(M,{modelValue:z.value,"onUpdate:modelValue":r[22]||=e=>z.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),b(`div`,Ft,[b(`div`,It,u(t.$t(`settings.tagsTitle`)),1),b(`div`,Lt,u(t.$t(`settings.tagsHint`)),1),p(L,{modelValue:W.value,"onUpdate:modelValue":r[23]||=e=>W.value=e,label:t.$t(`settings.tagsLabel`),dark:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"new-value-mode":`add-unique`,"hide-dropdown-icon":``,"input-debounce":`0`,class:`settings-input`},null,8,[`modelValue`,`label`])]),b(`div`,Rt,[b(`div`,zt,u(t.$t(`settings.worktreesTitle`)),1),b(`div`,Bt,u(t.$t(`settings.worktreesHint`)),1),p(M,{ref_key:`globalWorktreesPathInput`,ref:ar,modelValue:G.value,"onUpdate:modelValue":r[24]||=e=>G.value=e,label:t.$t(`settings.worktreesPathLabel`),dense:``,dark:``,outlined:``,placeholder:y(ae),rules:sr,"lazy-rules":``,class:`settings-input`},null,8,[`modelValue`,`label`,`placeholder`]),p(N,{modelValue:or.value,"onUpdate:modelValue":r[25]||=e=>or.value=e,label:t.$t(`settings.worktreesPrefixByProject`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption q-mt-sm`},null,8,[`modelValue`,`label`]),b(`div`,Vt,u(t.$t(`settings.worktreesPrefixByProjectHint`)),1)]),b(`div`,Ht,[b(`div`,Ut,u(t.$t(`settings.shareTitle`)),1),b(`div`,Wt,u(t.$t(`settings.shareHint`)),1),b(`div`,Gt,[p(k,{label:t.$t(`settings.exportConfig`),icon:`download`,"no-caps":``,outline:``,color:`grey-4`,onClick:Kr},null,8,[`label`]),p(k,{label:t.$t(`settings.importConfig`),icon:`upload`,"no-caps":``,outline:``,color:`grey-4`,onClick:qr},null,8,[`label`]),b(`input`,{ref_key:`importFileInput`,ref:Gr,type:`file`,accept:`application/json,.json`,style:{display:`none`},onChange:Jr},null,544)])]),b(`div`,Kt,[p(k,{label:t.$t(`common.save`),"no-caps":``,unelevated:``,color:`primary`,loading:cr.value,onClick:Xr},null,8,[`label`,`loading`])])])]),_:1}),p(De,{name:`projects`,class:`q-pa-none`},{default:s(()=>[b(`div`,qt,[b(`div`,Jt,[b(`div`,Yt,[b(`div`,Xt,[b(`div`,Zt,u(t.$t(`settings.configuredProjects`)),1)]),p(D,{dark:``}),p(Ce,{dark:``,dense:``,class:`q-py-xs`},{default:s(()=>[(e(!0),_(v,null,n(y(x).projects,(t,n)=>(e(),d(_e,{key:t.path,clickable:``,active:K.value===n&&!q.value,"active-class":`project-item--active`,class:`project-item q-mx-xs rounded-borders`,style:{"min-height":`40px`},onClick:e=>ei(n)},{default:s(()=>[p(ve,null,{default:s(()=>[p(ye,{class:`text-body2 text-grey-3`},{default:s(()=>[m(u(ti(t)),1)]),_:2},1024),p(ye,{caption:``,class:`text-grey-7 ellipsis`,style:{"font-size":`11px`,"font-family":`monospace`}},{default:s(()=>[m(u(t.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`]))),128))]),_:1}),y(x).projects.length===0&&!y(x).loading?(e(),_(`div`,Qt,u(t.$t(`settings.noProjects`)),1)):f(``,!0),p(D,{dark:``}),b(`div`,$t,[p(k,{label:t.$t(`settings.addProject`),icon:`add`,"no-caps":``,flat:``,dense:``,class:`full-width`,color:`indigo-4`,onClick:$r},null,8,[`label`])])])]),b(`div`,en,[b(`div`,tn,[Br.value||q.value?(e(),_(v,{key:0},[b(`div`,nn,u(q.value?t.$t(`settings.newProject`):t.$t(`settings.editProject`)),1),p(D,{dark:``,class:`q-mb-md`}),q.value&&y(x).projects.length>0?(e(),_(`div`,rn,[b(`div`,an,u(t.$t(`settings.copyFrom`)),1),p(L,{"model-value":Y.value,options:ur.value,"option-value":`value`,"option-label":`label`,"emit-value":``,"map-options":``,clearable:``,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.copyFromPlaceholder`),class:`settings-input`,"onUpdate:modelValue":pr},null,8,[`model-value`,`options`,`placeholder`]),b(`div`,on,u(t.$t(`settings.copyFromHint`)),1)])):f(``,!0),b(`div`,sn,[b(`div`,cn,u(t.$t(`settings.projectPath`)),1),p(M,{modelValue:J.value.path,"onUpdate:modelValue":r[26]||=e=>J.value.path=e,dense:``,dark:``,outlined:``,readonly:!q.value,placeholder:t.$t(`settings.projectPathPlaceholder`),class:l([`settings-input`,{"readonly-input":!q.value}])},null,8,[`modelValue`,`readonly`,`placeholder`,`class`])]),b(`div`,ln,[b(`div`,un,u(t.$t(`settings.displayName`)),1),p(M,{modelValue:J.value.displayName,"onUpdate:modelValue":r[27]||=e=>J.value.displayName=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.displayNamePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),b(`div`,dn,[b(`div`,fn,u(t.$t(`settings.defaultSourceBranch`)),1),p(L,{modelValue:J.value.defaultSourceBranch,"onUpdate:modelValue":r[28]||=e=>J.value.defaultSourceBranch=e,options:ni.value,dense:``,dark:``,outlined:``,"use-input":``,"emit-value":``,loading:yr.value,class:`settings-input`,placeholder:`main`,onFilter:ri},{"no-option":s(()=>[p(_e,null,{default:s(()=>[p(ve,{class:`text-grey-6 text-caption`},{default:s(()=>[m(u(J.value.path.trim()?t.$t(`createPage.noBranches`):t.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`])]),b(`div`,pn,[b(`div`,mn,u(t.$t(`settings.defaultModel.project`)),1),p(L,{modelValue:J.value.defaultModel,"onUpdate:modelValue":r[29]||=e=>J.value.defaultModel=e,options:Fr.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),b(`div`,hn,[b(`div`,gn,u(t.$t(`settings.prPromptTemplate.project`)),1),p(M,{modelValue:J.value.prPromptTemplate,"onUpdate:modelValue":r[30]||=e=>J.value.prPromptTemplate=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:4,placeholder:t.$t(`settings.prPromptPlaceholder.project`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),b(`div`,_n,[b(`div`,vn,u(t.$t(`settings.reviewPromptTemplate.project`)),1),p(M,{modelValue:J.value.reviewPromptTemplate,"onUpdate:modelValue":r[31]||=e=>J.value.reviewPromptTemplate=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:4,placeholder:t.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),b(`div`,yn,[b(`div`,bn,u(y(C)(`settings.notionInitialPrompt.project`)),1),b(`div`,xn,u(y(C)(`settings.initialPrompt.inheritHint`)),1),p(M,{modelValue:J.value.notionInitialPromptTemplate,"onUpdate:modelValue":r[32]||=e=>J.value.notionInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),b(`div`,Sn,[b(`div`,Cn,u(y(C)(`settings.sentryInitialPrompt.project`)),1),b(`div`,wn,u(y(C)(`settings.initialPrompt.inheritHint`)),1),p(M,{modelValue:J.value.sentryInitialPromptTemplate,"onUpdate:modelValue":r[33]||=e=>J.value.sentryInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),b(`div`,Tn,[b(`div`,En,u(t.$t(`settings.gitConventions.project`)),1),p(M,{modelValue:J.value.gitConventions,"onUpdate:modelValue":r[34]||=e=>J.value.gitConventions=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:6,placeholder:t.$t(`settings.gitConventionsEmpty`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),b(`div`,Dn,u(t.$t(`settings.gitConventionsEmpty`)),1)]),b(`div`,On,[b(`div`,kn,u(t.$t(`settings.setupScript`)),1),p(M,{modelValue:J.value.setupScript,"onUpdate:modelValue":r[35]||=e=>J.value.setupScript=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:5,placeholder:t.$t(`settings.setupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),b(`div`,An,u(t.$t(`settings.setupScriptHint`)),1)]),b(`div`,jn,[b(`div`,Mn,u(t.$t(`settings.devServer`)),1),b(`div`,Nn,[b(`div`,Pn,u(t.$t(`settings.devServerStart`)),1),p(M,{modelValue:J.value.devServer.startCommand,"onUpdate:modelValue":r[36]||=e=>J.value.devServer.startCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:t.$t(`settings.devServerStartPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),b(`div`,null,[b(`div`,Fn,u(t.$t(`settings.devServerStop`)),1),p(M,{modelValue:J.value.devServer.stopCommand,"onUpdate:modelValue":r[37]||=e=>J.value.devServer.stopCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:t.$t(`settings.devServerStopPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])]),b(`div`,In,[b(`div`,Ln,u(t.$t(`settings.e2e.title`)),1),b(`div`,Rn,u(t.$t(`settings.e2e.helpText`)),1),p(L,{modelValue:J.value.e2e.framework,"onUpdate:modelValue":r[38]||=e=>J.value.e2e.framework=e,options:[{label:t.$t(`settings.e2e.frameworkNone`),value:``},{label:`Cypress`,value:`cypress`},{label:`Playwright`,value:`playwright`},{label:`Jest`,value:`jest`},{label:`Vitest`,value:`vitest`},{label:t.$t(`settings.e2e.frameworkOther`),value:`other`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:t.$t(`settings.e2e.framework`)},null,8,[`modelValue`,`options`,`label`]),J.value.e2e.framework?(e(),_(v,{key:0},[p(L,{modelValue:J.value.e2e.skill,"onUpdate:modelValue":r[39]||=e=>J.value.e2e.skill=e,options:hr.value,"use-input":``,"fill-input":``,"hide-selected":``,"hide-dropdown-icon":``,"input-debounce":`200`,"new-value-mode":`add-unique`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:t.$t(`settings.e2e.skill`),placeholder:t.$t(`settings.e2e.skillPlaceholder`),onFilter:_r},null,8,[`modelValue`,`options`,`label`,`placeholder`]),p(M,{modelValue:J.value.e2e.prompt,"onUpdate:modelValue":r[40]||=e=>J.value.e2e.prompt=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea`,label:t.$t(`settings.e2e.prompt`),placeholder:t.$t(`settings.e2e.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])],64)):f(``,!0)]),b(`div`,zn,[b(`div`,Bn,u(t.$t(`settings.finalization.title`)),1),b(`div`,Vn,u(t.$t(`settings.finalization.helpText`)),1),p(M,{modelValue:J.value.finalization.prompt,"onUpdate:modelValue":r[41]||=e=>J.value.finalization.prompt=e,type:`textarea`,autogrow:``,rows:`4`,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea q-mb-sm`,label:t.$t(`settings.finalization.prompt`),placeholder:t.$t(`settings.finalization.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),b(`div`,Hn,[q.value?f(``,!0):(e(),d(k,{key:0,label:t.$t(`common.delete`),"no-caps":``,flat:``,color:`red-5`,loading:xr.value,onClick:Qr},null,8,[`label`,`loading`])),p(I),p(k,{label:t.$t(`common.save`),"no-caps":``,unelevated:``,color:`primary`,loading:br.value,onClick:Zr},null,8,[`label`,`loading`])])],64)):(e(),_(`div`,Un,[p(ne,{name:`folder_open`,size:`48px`,color:`grey-7`,class:`q-mb-md`}),b(`div`,Wn,u(t.$t(`settings.selectProject`)),1)]))])])])]),_:1}),p(De,{name:`templates`,class:`q-pa-none`},{default:s(()=>[b(`div`,Gn,[b(`div`,Kn,[b(`div`,qn,u(t.$t(`templates.title`)),1),p(k,{color:`primary`,icon:`add`,label:t.$t(`templates.newTemplate`),dense:``,"no-caps":``,onClick:Or},null,8,[`label`])]),p(D,{dark:``,class:`q-mb-md`}),Er.value.length===0?(e(),_(`div`,Jn,u(t.$t(`templates.empty`)),1)):(e(),_(`div`,Yn,[(e(!0),_(v,null,n(Er.value,n=>(e(),d(ge,{key:n.slug,dark:``,flat:``,bordered:``,class:`q-pa-md template-card`},{default:s(()=>[b(`div`,Xn,[b(`div`,Zn,[b(`div`,Qn,` /`+u(n.slug),1),b(`div`,$n,u(n.description),1)]),b(`div`,er,[p(k,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,color:`grey-5`,onClick:e=>kr(n)},{default:s(()=>[p(be,null,{default:s(()=>[m(u(t.$t(`templates.editTemplate`)),1)]),_:1})]),_:1},8,[`onClick`]),p(k,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`red-4`,onClick:e=>jr(n)},{default:s(()=>[p(be,null,{default:s(()=>[m(u(t.$t(`templates.deleteTemplate`)),1)]),_:1})]),_:1},8,[`onClick`])])])]),_:2},1024))),128))])),b(`div`,tr,u(t.$t(`templates.filePath`,{path:`~/.config/kobo/templates.json`})),1)])]),_:1})]),_:1},8,[`modelValue`])]),p(pe,{modelValue:Sr.value,"onUpdate:modelValue":r[46]||=e=>Sr.value=e,persistent:``},{default:s(()=>[p(ge,{dark:``,style:{"min-width":`560px`,"max-width":`800px`,width:`80vw`}},{default:s(()=>[p(fe,null,{default:s(()=>[b(`div`,nr,u(Z.value===null?t.$t(`templates.newTemplate`):t.$t(`templates.editTemplate`)),1)]),_:1}),p(fe,{class:`q-gutter-md`},{default:s(()=>[p(M,{modelValue:Cr.value,"onUpdate:modelValue":r[43]||=e=>Cr.value=e,label:t.$t(`templates.slug`),hint:t.$t(`templates.slugHint`),dark:``,dense:``,prefix:`/`,disable:Z.value!==null,rules:[e=>/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)||t.$t(`templates.slugInvalid`)],"lazy-rules":``},null,8,[`modelValue`,`label`,`hint`,`disable`,`rules`]),p(M,{modelValue:wr.value,"onUpdate:modelValue":r[44]||=e=>wr.value=e,label:t.$t(`templates.description`),hint:t.$t(`templates.descriptionHint`),dark:``,dense:``,counter:``,maxlength:`120`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),p(M,{modelValue:Q.value,"onUpdate:modelValue":r[45]||=e=>Q.value=e,label:t.$t(`templates.content`),hint:t.$t(`templates.contentHint`),dark:``,dense:``,type:`textarea`,autogrow:``,counter:``,maxlength:`4096`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),p(xe,{dense:``,"dense-toggle":``,label:t.$t(`templates.availableVars`),"header-class":`text-grey-6 text-caption q-pa-none`,style:{"font-size":`11px`}},{default:s(()=>[b(`div`,rr,[(e(),_(v,null,n(Dr,e=>b(`div`,{key:e,class:`text-grey-5 q-mb-xs`},u(e),1)),64))])]),_:1},8,[`label`]),$.value?(e(),_(`div`,ir,u($.value),1)):f(``,!0)]),_:1}),p(he,{align:`right`},{default:s(()=>[c(p(k,{flat:``,label:t.$t(`common.cancel`)},null,8,[`label`]),[[we]]),p(k,{flat:``,color:`primary`,label:Z.value===null?t.$t(`templates.create`):t.$t(`templates.save`),loading:Tr.value,onClick:Ar},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-d9b054ec`]]);export{ar as default};
@@ -1 +0,0 @@
1
- .settings-page[data-v-d9b054ec]{background-color:#1a1a2e;min-height:100%;padding:32px 24px}.settings-inner[data-v-d9b054ec]{width:100%;max-width:900px;margin:0 auto}.settings-header[data-v-d9b054ec]{min-height:48px}.settings-tabs[data-v-d9b054ec] .q-tab{color:#888;text-transform:none;font-weight:500}.settings-tabs[data-v-d9b054ec] .q-tab--active{color:#6c63ff}.settings-panels[data-v-d9b054ec]{background:0 0}.settings-card[data-v-d9b054ec]{background:#224;border:1px solid #2a2a4a}.template-card[data-v-d9b054ec]{background:#1a1a2e;border:1px solid #2a2a4a}.settings-input[data-v-d9b054ec] .q-field__control{background:#1a1a2e;border-color:#2a2a4a}.settings-input[data-v-d9b054ec] .q-field__native,.settings-input[data-v-d9b054ec] input,.settings-input[data-v-d9b054ec] textarea{color:#e0e0e0}.settings-input[data-v-d9b054ec] .q-field__label{color:#888}.mono-textarea[data-v-d9b054ec] textarea{font-family:JetBrains Mono,Fira Code,monospace;font-size:13px}.readonly-input[data-v-d9b054ec] .q-field__control{background:#16162a}.readonly-input[data-v-d9b054ec] input{color:#888}.project-list-col[data-v-d9b054ec]{flex-shrink:0;width:30%;min-width:200px;max-width:280px;overflow:hidden}.project-form-col[data-v-d9b054ec]{flex:1;min-width:0}.project-item[data-v-d9b054ec]:hover{background-color:#ffffff08}.project-item--active[data-v-d9b054ec]{border-left:3px solid #6c63ff;background-color:#2a2a4a!important}