@hsupu/copilot-api 0.8.1-beta.2 → 0.8.3

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 (73) hide show
  1. package/config.example.yaml +29 -0
  2. package/dist/main.mjs +3032 -895
  3. package/dist/main.mjs.map +1 -1
  4. package/package.json +10 -5
  5. package/ui/history-v3/dist/assets/LogsPage-CkzMEjbU.css +1 -0
  6. package/ui/history-v3/dist/assets/LogsPage-CyM6vZyg.js +1 -0
  7. package/ui/history-v3/dist/assets/VActivityPage-DGZYvP1d.css +1 -0
  8. package/ui/history-v3/dist/assets/VActivityPage-qSJRqJGU.js +3 -0
  9. package/ui/history-v3/dist/assets/VCard-B2q0rBgl.js +1 -0
  10. package/ui/history-v3/dist/assets/VCard-v_d_q0Rh.css +1 -0
  11. package/ui/history-v3/dist/assets/VConfigPage-DisddwD3.css +1 -0
  12. package/ui/history-v3/dist/assets/VConfigPage-zQu5b6tC.js +1 -0
  13. package/ui/history-v3/dist/assets/VDashboardPage-CsNfE_go.js +1 -0
  14. package/ui/history-v3/dist/assets/VDashboardPage-oAbMfN9y.css +1 -0
  15. package/ui/history-v3/dist/assets/VDialog-B5tAv-4d.js +1 -0
  16. package/ui/history-v3/dist/assets/VDialog-CFhCWS_I.css +1 -0
  17. package/ui/history-v3/dist/assets/VModelsPage-C1y0gG_S.js +1 -0
  18. package/ui/history-v3/dist/assets/VModelsPage-DMPq4SEZ.css +1 -0
  19. package/ui/history-v3/dist/assets/VSelect-CahLC2X3.js +1 -0
  20. package/ui/history-v3/dist/assets/VSelect-CiSADOyl.css +1 -0
  21. package/ui/history-v3/dist/assets/VSheet-BhXOOy9y.js +1 -0
  22. package/ui/history-v3/dist/assets/VSheet-DI_DMcjz.css +1 -0
  23. package/ui/history-v3/dist/assets/index-Cxye_z0t.js +18 -0
  24. package/ui/history-v3/dist/assets/index-sVLYkWM6.css +1 -0
  25. package/ui/history-v3/dist/assets/useLogs-C_hg5wZk.js +1 -0
  26. package/ui/history-v3/dist/assets/{vendor-CmGvxZwr.js → vendor-tLv7SZ-i.js} +1 -1
  27. package/ui/history-v3/dist/assets/vue-McY99x0M.js +1 -0
  28. package/ui/history-v3/dist/assets/ws-status-BJ5xglsi.js +1 -0
  29. package/ui/history-v3/dist/index.html +3 -3
  30. package/ui/history-v3/dist/assets/BaseSelect-CttLMFCN.js +0 -1
  31. package/ui/history-v3/dist/assets/BaseSelect-N-W6HPTu.css +0 -1
  32. package/ui/history-v3/dist/assets/DashboardPage-BYXNxjXb.css +0 -1
  33. package/ui/history-v3/dist/assets/DashboardPage-CgXivoWS.js +0 -1
  34. package/ui/history-v3/dist/assets/DetailPanel-CGpPxDDa.css +0 -1
  35. package/ui/history-v3/dist/assets/DetailPanel-EOQma5fZ.js +0 -3
  36. package/ui/history-v3/dist/assets/HistoryPage-PA0Yh3n3.css +0 -1
  37. package/ui/history-v3/dist/assets/HistoryPage-rhEb_UZG.js +0 -1
  38. package/ui/history-v3/dist/assets/LogsPage-BuPou1cg.css +0 -1
  39. package/ui/history-v3/dist/assets/LogsPage-CNXQuqMj.js +0 -1
  40. package/ui/history-v3/dist/assets/ModelsPage-Bpi7Y9GS.js +0 -1
  41. package/ui/history-v3/dist/assets/ModelsPage-F2KTxq2i.css +0 -1
  42. package/ui/history-v3/dist/assets/ProgressBar-6xzx-ZSc.js +0 -1
  43. package/ui/history-v3/dist/assets/ProgressBar-CtfiTXLy.css +0 -1
  44. package/ui/history-v3/dist/assets/UsagePage-COyq-DOU.css +0 -1
  45. package/ui/history-v3/dist/assets/UsagePage-CZfgTYCP.js +0 -1
  46. package/ui/history-v3/dist/assets/VChip-9UyCCNyg.js +0 -1
  47. package/ui/history-v3/dist/assets/VChip-B_fbAfwz.css +0 -1
  48. package/ui/history-v3/dist/assets/VDashboardPage-DXtj4agW.js +0 -1
  49. package/ui/history-v3/dist/assets/VDashboardPage-axfQtTiR.css +0 -1
  50. package/ui/history-v3/dist/assets/VDivider-D8zdArq0.js +0 -1
  51. package/ui/history-v3/dist/assets/VDivider-DITF6qCr.css +0 -1
  52. package/ui/history-v3/dist/assets/VHistoryPage-Dj0qUmWz.js +0 -1
  53. package/ui/history-v3/dist/assets/VHistoryPage-DqpLWYXo.css +0 -1
  54. package/ui/history-v3/dist/assets/VList-Bf0AJT_N.css +0 -1
  55. package/ui/history-v3/dist/assets/VList-Ct6gdZ-F.js +0 -1
  56. package/ui/history-v3/dist/assets/VLogsPage-BOA_17HS.js +0 -1
  57. package/ui/history-v3/dist/assets/VLogsPage-Dr3my9y3.css +0 -1
  58. package/ui/history-v3/dist/assets/VModelsPage-Bkon7sFs.css +0 -1
  59. package/ui/history-v3/dist/assets/VModelsPage-D-IbiiwR.js +0 -1
  60. package/ui/history-v3/dist/assets/VSpacer-DfbUir7X.css +0 -1
  61. package/ui/history-v3/dist/assets/VSpacer-F4vloCsf.js +0 -1
  62. package/ui/history-v3/dist/assets/VTable-B4qROCQu.js +0 -1
  63. package/ui/history-v3/dist/assets/VTable-BTui1tPX.css +0 -1
  64. package/ui/history-v3/dist/assets/VTooltip-9iBP-JhF.js +0 -1
  65. package/ui/history-v3/dist/assets/VTooltip-C1DKovoh.css +0 -1
  66. package/ui/history-v3/dist/assets/VUsagePage-B8WkBKET.js +0 -1
  67. package/ui/history-v3/dist/assets/VUsagePage-Se7R-H-Y.css +0 -1
  68. package/ui/history-v3/dist/assets/index-B8CP-fZd.css +0 -1
  69. package/ui/history-v3/dist/assets/index-cupXJxSz.js +0 -18
  70. package/ui/history-v3/dist/assets/useInjectedHistoryStore-Dx7UlhLw.js +0 -1
  71. package/ui/history-v3/dist/assets/useLogs-Bz9naVOB.js +0 -1
  72. package/ui/history-v3/dist/assets/usePolling-CRd-nhvF.js +0 -1
  73. package/ui/history-v3/dist/assets/vue-Bmo88J5t.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hsupu/copilot-api",
3
- "version": "0.8.1-beta.2",
3
+ "version": "0.8.3",
4
4
  "description": "Turn GitHub Copilot into OpenAI/Anthropic API compatible server.",
5
5
  "keywords": [
6
6
  "proxy",
@@ -39,20 +39,22 @@
39
39
  "release": "bumpp && npm publish --access public",
40
40
  "start": "NODE_ENV=production bun run ./src/main.ts",
41
41
  "test": "bun test tests/unit/",
42
+ "test:acceptance": "npm run test:backend && npm run test:ui && npm run test:e2e-ui",
42
43
  "test:all": "npm run test:backend && npm run test:ui",
43
44
  "test:backend": "bun test tests/unit/ tests/component/ tests/contract/ tests/integration/ tests/e2e/",
44
45
  "test:ci": "npm run test:backend",
45
46
  "test:component": "bun test tests/component/",
47
+ "test:contract": "bun test tests/contract/",
46
48
  "test:cov": "bun test --coverage tests/unit/ tests/component/ tests/contract/ tests/integration/ tests/http/ tests/ws/",
47
49
  "test:cov:report": "bun test --coverage --coverage-reporter lcov tests/unit/ tests/component/ tests/contract/ tests/integration/ tests/http/ tests/ws/",
48
- "test:contract": "bun test tests/contract/",
49
50
  "test:e2e": "bun test tests/e2e/",
50
- "test:e2e-ui:local": "PLAYWRIGHT_BASE_URL=http://localhost:4141 bunx playwright test",
51
51
  "test:e2e-ui": "bunx playwright test",
52
+ "test:e2e-ui:local": "PLAYWRIGHT_BASE_URL=http://localhost:4141 bunx playwright test",
52
53
  "test:http": "bun test tests/http/",
53
- "test:acceptance": "npm run test:backend && npm run test:ui && npm run test:e2e-ui",
54
54
  "test:integration": "bun test tests/integration/",
55
- "test:ui": "bun test ./ui/history-v3/tests/",
55
+ "test:ui": "npm run test:ui:bun && npm run test:ui:vitest",
56
+ "test:ui:bun": "bun test ./ui/history-v3/tests/",
57
+ "test:ui:vitest": "vitest run --config ui/history-v3/vitest.config.ts",
56
58
  "test:ws": "bun test tests/ws/",
57
59
  "typecheck": "tsc",
58
60
  "typecheck:ui": "vue-tsc --noEmit --project ui/history-v3/tsconfig.json"
@@ -93,9 +95,11 @@
93
95
  "@types/proxy-from-env": "^1.0.4",
94
96
  "@vitejs/plugin-vue": "^6.0.5",
95
97
  "@vue/eslint-config-typescript": "^14.7.0",
98
+ "@vue/test-utils": "^2.4.6",
96
99
  "bumpp": "^11.0.1",
97
100
  "eslint": "^9.39.4",
98
101
  "eslint-plugin-vue": "^10.8.0",
102
+ "jsdom": "^29.0.1",
99
103
  "knip": "^6.1.0",
100
104
  "lint-staged": "^16.4.0",
101
105
  "openai": "^6.33.0",
@@ -105,6 +109,7 @@
105
109
  "typescript": "^5.9.3",
106
110
  "vite": "^7.3.1",
107
111
  "vite-plugin-vuetify": "^2.1.3",
112
+ "vitest": "^4.1.2",
108
113
  "vue-tsc": "^3.2.6"
109
114
  }
110
115
  }
@@ -0,0 +1 @@
1
+ .logs-page[data-v-cd2cdfd3]{display:flex;flex-direction:column;flex:1;overflow:hidden}.logs-header[data-v-cd2cdfd3]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border-light);flex-shrink:0}.logs-title[data-v-cd2cdfd3]{font-size:var(--font-size-lg);font-weight:600;color:var(--text)}.logs-count[data-v-cd2cdfd3]{font-size:var(--font-size-xs);color:var(--text-dim)}.logs-empty[data-v-cd2cdfd3]{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-dim);font-size:var(--font-size-sm)}.logs-table-wrap[data-v-cd2cdfd3]{flex:1;overflow-y:auto}.logs-table[data-v-cd2cdfd3]{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:var(--font-size-xs)}.logs-table th[data-v-cd2cdfd3]{position:sticky;top:0;background:var(--bg-secondary);color:var(--text-dim);font-weight:600;text-align:left;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--border);white-space:nowrap}.logs-table td[data-v-cd2cdfd3]{padding:3px var(--spacing-sm);white-space:nowrap;color:var(--text-muted);border-bottom:1px solid var(--border-light)}.log-row[data-v-cd2cdfd3]:hover{background:var(--bg-hover)}.col-status[data-v-cd2cdfd3]{width:30px;text-align:center}.col-time[data-v-cd2cdfd3]{width:70px}.col-code[data-v-cd2cdfd3]{width:40px}.col-model[data-v-cd2cdfd3]{width:180px;overflow:hidden;text-overflow:ellipsis}.col-duration[data-v-cd2cdfd3]{width:60px;text-align:right}.col-tokens[data-v-cd2cdfd3]{width:90px;text-align:right}.col-preview[data-v-cd2cdfd3]{overflow:hidden;text-overflow:ellipsis;max-width:0}.status-symbol[data-v-cd2cdfd3]{font-weight:600}.st-success[data-v-cd2cdfd3]{color:var(--success)}.st-error[data-v-cd2cdfd3]{color:var(--error)}.st-pending[data-v-cd2cdfd3]{color:var(--warning)}.row-error td[data-v-cd2cdfd3]{color:var(--error);opacity:.8}
@@ -0,0 +1 @@
1
+ import{u as w}from"./useFormatters-BBIZmSf2.js";import{u as b}from"./useLogs-C_hg5wZk.js";import{d as L,Y as n,m as s,U as c,u as a,F as x,Z as C,f as I,q as d,a1 as l}from"./vue-McY99x0M.js";import{_ as M}from"./index-Cxye_z0t.js";const N={class:"logs-page"},P={class:"logs-header"},B={class:"logs-count"},D={key:0,class:"logs-empty"},E={key:1,class:"logs-empty"},F={key:2,class:"logs-table-wrap"},T={class:"logs-table"},q={class:"col-status"},R={class:"col-time"},$={class:"col-code"},z={class:"col-model"},A={class:"col-duration"},O={class:"col-tokens"},U={class:"col-preview"},V=L({__name:"LogsPage",setup(Y){const{entries:r,loading:_}=b(),{formatTime:p,formatNumber:i,formatDuration:m}=w();function u(t){return t.responseSuccess===void 0?"pending":t.responseSuccess?"success":"error"}function g(t){return t.responseSuccess===void 0?"-":t.responseSuccess?"ok":"err"}function f(t){return t.responseSuccess===void 0?"...":t.responseSuccess?"200":"ERR"}function h(t){return t.responseModel||t.requestModel||"-"}function v(t){return t.usage?`${i(t.usage.input_tokens)}/${i(t.usage.output_tokens)}`:"-"}function k(t){const e=t.previewText||"";return e.length<=60?e:e.slice(0,57)+"..."}const S=I(()=>r.value);return(t,e)=>(l(),n("div",N,[s("div",P,[e[0]||(e[0]=s("h2",{class:"logs-title"},"Live Logs",-1)),s("span",B,c(a(r).length)+" entries",1)]),a(_)&&a(r).length===0?(l(),n("div",D," Loading... ")):a(r).length===0?(l(),n("div",E," No log entries yet ")):(l(),n("div",F,[s("table",T,[e[1]||(e[1]=s("thead",null,[s("tr",null,[s("th",{class:"col-status"},"St"),s("th",{class:"col-time"},"Time"),s("th",{class:"col-code"},"Code"),s("th",{class:"col-model"},"Model"),s("th",{class:"col-duration"},"Dur"),s("th",{class:"col-tokens"},"In/Out"),s("th",{class:"col-preview"},"Preview")])],-1)),s("tbody",null,[(l(!0),n(x,null,C(S.value,o=>(l(),n("tr",{key:o.id,class:d(["log-row","row-"+u(o)])},[s("td",q,[s("span",{class:d(["status-symbol","st-"+u(o)])},c(g(o)),3)]),s("td",R,c(a(p)(o.startedAt)),1),s("td",$,c(f(o)),1),s("td",z,c(h(o)),1),s("td",A,c(a(m)(o.durationMs)),1),s("td",O,c(v(o)),1),s("td",U,c(k(o)),1)],2))),128))])])]))]))}}),J=M(V,[["__scopeId","data-v-cd2cdfd3"]]);export{J as default};
@@ -0,0 +1 @@
1
+ .error-boundary[data-v-447f57f3]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--error-muted);border:1px solid var(--error);font-size:var(--font-size-sm);color:var(--error);font-family:var(--font-mono)}.error-icon[data-v-447f57f3]{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--error);font-weight:700;font-size:var(--font-size-xs);flex-shrink:0}.error-label[data-v-447f57f3]{font-weight:600;flex-shrink:0}.error-message[data-v-447f57f3]{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-svg[data-v-80761fa5]{display:inline-block;vertical-align:middle;flex-shrink:0}[data-v-e4afb2dc] .raw-json-dialog{width:min(96vw,1400px);max-width:min(96vw,1400px);max-height:calc(100vh - 32px)}.raw-json-card[data-v-e4afb2dc]{min-height:min(820px,calc(100vh - 32px));max-height:calc(100vh - 32px);display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid rgb(var(--v-theme-surface-variant))}.raw-json-toolbar[data-v-e4afb2dc]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;position:sticky;top:0;z-index:1;background:rgb(var(--v-theme-surface));border-bottom:1px solid rgb(var(--v-theme-surface-variant))}.raw-json-heading[data-v-e4afb2dc]{display:flex;flex-direction:column;gap:2px;min-width:0}.raw-json-title[data-v-e4afb2dc]{font-size:1rem;font-weight:700;line-height:1.2}.raw-json-subtitle[data-v-e4afb2dc]{margin-top:0;line-height:1.2}.raw-json-actions[data-v-e4afb2dc]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.raw-json-body[data-v-e4afb2dc]{display:flex;flex:1;min-height:0;overflow:hidden;background:rgb(var(--v-theme-surface))}.json-viewer[data-v-e4afb2dc],.json-split[data-v-e4afb2dc],.json-pane[data-v-e4afb2dc]{min-height:0}.json-viewer[data-v-e4afb2dc]{flex:1;overflow:auto;padding:16px}.json-viewer-single[data-v-e4afb2dc]{width:100%}.json-split[data-v-e4afb2dc]{display:flex;flex:1;width:100%;overflow:hidden}.json-pane[data-v-e4afb2dc]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.json-pane .json-viewer[data-v-e4afb2dc]{padding-top:12px}.pane-divider[data-v-e4afb2dc]{width:1px;background:rgb(var(--v-theme-surface-variant));flex-shrink:0}.pane-header[data-v-e4afb2dc]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgb(var(--v-theme-surface-variant));background:rgb(var(--v-theme-surface-variant));flex-shrink:0}.pane-label[data-v-e4afb2dc]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--v-theme-on-surface-variant))}.pane-label-rewritten[data-v-e4afb2dc]{color:rgb(var(--v-theme-warning))}@media(max-width:960px){.raw-json-toolbar[data-v-e4afb2dc]{flex-direction:column;align-items:flex-start}.raw-json-actions[data-v-e4afb2dc]{width:100%}.json-split[data-v-e4afb2dc]{flex-direction:column}.pane-divider[data-v-e4afb2dc]{width:100%;height:1px}}.attempts-timeline[data-v-6574832d]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.timeline-title[data-v-6574832d]{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted)}.timeline-track[data-v-6574832d]{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-left:var(--spacing-sm);border-left:2px solid var(--border)}.timeline-node[data-v-6574832d]{display:flex;gap:var(--spacing-sm);align-items:flex-start;position:relative}.node-dot[data-v-6574832d]{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:2px;margin-left:-7px}.node-info[data-v-6574832d]{display:flex;flex-direction:column;gap:2px;flex:1}.node-header[data-v-6574832d]{display:flex;align-items:baseline;gap:var(--spacing-sm)}.node-index[data-v-6574832d]{font-size:var(--font-size-xs);font-weight:600;color:var(--text)}.node-strategy[data-v-6574832d]{font-size:10px;padding:0 4px;background:var(--primary-muted);color:var(--primary)}.node-duration[data-v-6574832d]{font-size:10px;color:var(--text-dim);font-family:var(--font-mono)}.node-error[data-v-6574832d]{font-size:10px;color:var(--error);word-break:break-word}.node-truncation[data-v-6574832d]{font-size:10px;color:var(--warning)}.node-meta[data-v-6574832d]{font-size:10px;color:var(--text-dim)}.base-badge[data-v-30a49732]{display:inline-flex;align-items:center;padding:1px 6px;border-radius:0;font-size:var(--font-size-xs);font-weight:500;white-space:nowrap;line-height:1.2}.badge-default[data-v-30a49732]{background:var(--bg-tertiary);color:var(--text-muted)}.badge-primary[data-v-30a49732]{background:var(--primary-muted);color:var(--primary)}.badge-success[data-v-30a49732]{background:var(--success-muted);color:var(--success)}.badge-error[data-v-30a49732]{background:var(--error-muted);color:var(--error)}.badge-warning[data-v-30a49732]{background:var(--warning-muted);color:var(--warning)}.badge-purple[data-v-30a49732]{background:var(--purple-muted);color:var(--purple)}.badge-cyan[data-v-30a49732]{background:var(--cyan-muted);color:var(--cyan)}.badge-pink[data-v-30a49732]{background:var(--pink-muted);color:var(--pink)}.badge-green[data-v-30a49732]{background:var(--success-muted);color:var(--success)}.content-block[data-v-32b31781]{border:1px solid var(--border)}.content-block-header[data-v-32b31781]{display:flex;align-items:baseline;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none}.content-block-header[data-v-32b31781]:hover{background:var(--bg-hover)}.content-block-header-left[data-v-32b31781]{display:flex;align-items:baseline;gap:var(--spacing-sm);min-width:0;overflow:hidden}.content-block-header-right[data-v-32b31781]{display:flex;align-items:center;gap:8px;flex-shrink:0}.collapse-icon[data-v-32b31781]{font-size:10px;color:var(--text-dim);width:10px;flex-shrink:0}.content-type-label[data-v-32b31781]{font-size:var(--font-size-xs);font-weight:600;letter-spacing:.5px;flex-shrink:0}.label-text[data-v-32b31781]{color:var(--text-muted)}.label-cyan[data-v-32b31781]{color:var(--cyan)}.label-success[data-v-32b31781]{color:var(--success)}.label-error[data-v-32b31781]{color:var(--error)}.label-purple[data-v-32b31781]{color:var(--purple)}.label-pink[data-v-32b31781]{color:var(--pink)}.label-warning[data-v-32b31781]{color:var(--warning)}.label-text-muted[data-v-32b31781]{color:var(--text-muted)}.collapsed-summary[data-v-32b31781]{font-size:var(--font-size-xs);color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-btn[data-v-32b31781]{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--text-dim);padding:2px 6px;background:transparent}.action-btn[data-v-32b31781]:hover{color:var(--text);background:var(--bg-hover)}.content-block-body[data-v-32b31781]{padding:var(--spacing-sm)}.body-collapsed[data-v-32b31781]{max-height:200px;overflow-y:auto;scrollbar-gutter:stable}.generic-content[data-v-f561650d]{font-size:var(--font-size-sm);color:var(--text-muted)}.image-media-type[data-v-051c1ea2]{font-size:var(--font-size-xs);color:var(--text-dim);font-family:var(--font-mono)}.image-content[data-v-051c1ea2]{max-width:100%;max-height:400px;border:1px solid var(--border)}.line-number-pre[data-v-92f79b4e]{font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.6;overflow-x:auto}.line[data-v-92f79b4e]{display:flex;white-space:pre-wrap;word-wrap:break-word}.line[data-v-92f79b4e]:hover{background:var(--bg-hover)}.line-no[data-v-92f79b4e]{flex-shrink:0;width:3.5em;padding-right:1em;text-align:right;color:var(--text-dim);-webkit-user-select:none;user-select:none;opacity:.5}.line-content[data-v-92f79b4e]{flex:1;min-width:0;color:var(--text)}[data-v-92f79b4e] .search-highlight{background:var(--warning);color:var(--bg);padding:0 2px}.redacted[data-v-84d8cc02]{opacity:.6}.redacted-label[data-v-84d8cc02]{font-size:var(--font-size-xs);color:var(--text-dim);font-style:italic}.thinking-text[data-v-84d8cc02]{font-size:var(--font-size-sm);color:var(--text);white-space:pre-wrap;word-wrap:break-word;line-height:1.6}[data-v-84d8cc02] .search-highlight{background:var(--warning);color:var(--bg);padding:0 2px}[data-v-84d8cc02] .content-block{border-color:#a371f74d}[data-v-84d8cc02] .content-block-header{background:var(--purple-muted)}.aggregated-stub[data-v-105a24c0]{display:flex;align-items:center;gap:8px;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border);font-size:var(--font-size-xs)}.stub-label[data-v-105a24c0]{font-weight:600;letter-spacing:.5px;flex-shrink:0}.label-success[data-v-105a24c0]{color:var(--success)}.label-error[data-v-105a24c0]{color:var(--error)}.result-tool-name[data-v-105a24c0]{font-size:var(--font-size-xs);color:var(--text-muted);font-family:var(--font-mono)}.result-tool-id[data-v-105a24c0]{font-size:var(--font-size-xs);color:var(--text-dim);font-family:var(--font-mono)}.result-error-badge[data-v-105a24c0]{font-size:var(--font-size-xs);font-weight:600;color:var(--error)}.tool-jump[data-v-105a24c0]{padding-top:var(--spacing-xs);border-top:1px solid var(--border-light);margin-top:var(--spacing-sm);margin-left:calc(-1 * var(--spacing-sm));margin-right:calc(-1 * var(--spacing-sm));margin-bottom:calc(-1 * var(--spacing-sm));padding-left:var(--spacing-sm);padding-bottom:var(--spacing-xs)}.jump-link[data-v-105a24c0]{font-size:var(--font-size-xs);color:var(--primary);cursor:pointer}.jump-link[data-v-105a24c0]:hover{text-decoration:underline}.tool-name[data-v-7674f48c]{font-size:var(--font-size-sm);color:var(--primary);font-weight:600;font-family:var(--font-mono)}.tool-id[data-v-7674f48c]{font-size:var(--font-size-xs);color:var(--text-dim);font-family:var(--font-mono)}.tool-input[data-v-7674f48c]{font-size:var(--font-size-sm);color:var(--text)}.tool-aggregate-result[data-v-7674f48c]{border-top:1px solid var(--border);margin-top:var(--spacing-sm)}.tool-jump[data-v-7674f48c]{padding-top:var(--spacing-xs);border-top:1px solid var(--border-light);margin-top:var(--spacing-sm);margin-left:calc(-1 * var(--spacing-sm));margin-right:calc(-1 * var(--spacing-sm));margin-bottom:calc(-1 * var(--spacing-sm));padding-left:var(--spacing-sm);padding-bottom:var(--spacing-xs)}.jump-link[data-v-7674f48c]{font-size:var(--font-size-xs);color:var(--primary);cursor:pointer}.jump-link[data-v-7674f48c]:hover{text-decoration:underline}.content-renderer[data-v-c35b62d3]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.diff-view[data-v-31c3c1bb]{overflow-x:auto;font-size:var(--font-size-sm)}.message-block[data-v-fd342a4e]{border:1px solid var(--border-light);overflow:hidden}.message-block.truncated[data-v-fd342a4e]{border-color:var(--error);opacity:.7;text-decoration:line-through}.msg-header[data-v-fd342a4e]{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none}.msg-header[data-v-fd342a4e]:hover{background:var(--bg-hover)}.msg-header-left[data-v-fd342a4e]{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.msg-header-right[data-v-fd342a4e]{display:flex;align-items:center;gap:8px;flex-shrink:0}.collapse-icon[data-v-fd342a4e]{font-size:10px;color:var(--text-dim);width:10px;flex-shrink:0}.msg-index[data-v-fd342a4e]{font-size:var(--font-size-xs);color:var(--text-dim);font-family:var(--font-mono)}.collapsed-summary[data-v-fd342a4e]{font-size:var(--font-size-xs);color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-toggle[data-v-fd342a4e]{display:flex;gap:1px;background:var(--bg);overflow:hidden}.view-toggle button[data-v-fd342a4e]{font-size:var(--font-size-xs);padding:2px 8px;color:var(--text-muted);background:var(--bg-secondary)}.view-toggle button[data-v-fd342a4e]:hover{color:var(--text)}.view-toggle button.active[data-v-fd342a4e]{color:var(--primary);background:var(--primary-muted)}.reset-btn[data-v-fd342a4e]{font-size:var(--font-size-sm);padding:2px 6px;color:var(--text-dim);background:var(--bg-secondary);line-height:1}.reset-btn[data-v-fd342a4e]:hover{color:var(--error)}.message-block.is-rewritten[data-v-fd342a4e]{border-left:2px solid var(--warning)}.action-btn[data-v-fd342a4e]{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--text-dim);padding:2px 6px;background:transparent}.action-btn[data-v-fd342a4e]:hover{color:var(--text);background:var(--bg-hover)}.msg-body[data-v-fd342a4e]{padding:var(--spacing-sm)}.msg-body.body-limited[data-v-fd342a4e]{max-height:200px;overflow-y:auto;scrollbar-gutter:stable}.system-message[data-v-fcb8e0ef]{border:1px solid rgba(163,113,247,.3);overflow:hidden;margin-bottom:var(--spacing-sm)}.system-header[data-v-fcb8e0ef]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);background:var(--purple-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.system-header[data-v-fcb8e0ef]:hover{background:#a371f733}.system-header-left[data-v-fcb8e0ef]{display:flex;align-items:center;gap:var(--spacing-xs);min-width:0;overflow:hidden}.collapse-icon[data-v-fcb8e0ef]{font-size:10px;color:var(--text-dim);width:10px;flex-shrink:0}.collapsed-summary[data-v-fcb8e0ef]{font-size:var(--font-size-xs);color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.system-header-right[data-v-fcb8e0ef]{display:flex;align-items:center;gap:8px;flex-shrink:0}.view-toggle[data-v-fcb8e0ef]{display:flex;gap:1px;background:var(--bg);overflow:hidden}.view-toggle button[data-v-fcb8e0ef]{font-size:var(--font-size-xs);padding:2px 8px;color:var(--text-muted);background:var(--bg-secondary)}.view-toggle button[data-v-fcb8e0ef]:hover{color:var(--text)}.view-toggle button.active[data-v-fcb8e0ef]{color:var(--primary);background:var(--primary-muted)}.reset-btn[data-v-fcb8e0ef]{font-size:var(--font-size-sm);padding:2px 6px;color:var(--text-dim);background:var(--bg-secondary);line-height:1}.reset-btn[data-v-fcb8e0ef]:hover{color:var(--error)}.action-btn[data-v-fcb8e0ef]{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--text-dim);padding:2px 6px;background:transparent}.action-btn[data-v-fcb8e0ef]:hover{color:var(--text);background:var(--bg-hover)}.system-body[data-v-fcb8e0ef]{padding:var(--spacing-sm);max-height:400px;overflow-y:auto;scrollbar-gutter:stable}.system-body.body-expanded[data-v-fcb8e0ef]{max-height:none}.system-block-item[data-v-fcb8e0ef]{margin-bottom:var(--spacing-sm)}.system-block-item[data-v-fcb8e0ef]:last-child{margin-bottom:0}.cache-label[data-v-fcb8e0ef]{font-size:var(--font-size-xs);color:var(--warning);font-style:italic;margin-bottom:2px}.section-block[data-v-889fa1be]{border:1px solid var(--border-light);margin-bottom:var(--spacing-sm);overflow:hidden}.section-header[data-v-889fa1be]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none}.section-header[data-v-889fa1be]:hover{background:var(--bg-hover)}.section-chevron[data-v-889fa1be]{color:var(--text-dim);flex-shrink:0}.section-title[data-v-889fa1be]{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.section-badge[data-v-889fa1be]{font-size:var(--font-size-xs);color:var(--text-dim);font-family:var(--font-mono)}.section-raw-btn[data-v-889fa1be]{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--text-dim);padding:2px 6px;background:transparent;margin-left:auto}.section-raw-btn[data-v-889fa1be]:hover{color:var(--text);background:var(--bg-hover)}.section-body[data-v-889fa1be]{padding:var(--spacing-sm)}.truncation-divider[data-v-6369e185]{display:flex;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-md) 0}.divider-line[data-v-6369e185]{flex:1;height:1px;background:var(--error);opacity:.4;border-style:dashed}.divider-content[data-v-6369e185]{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.divider-icon[data-v-6369e185]{font-size:var(--font-size-sm)}.divider-text[data-v-6369e185]{font-size:var(--font-size-xs);color:var(--error);font-weight:500}.divider-detail[data-v-6369e185]{font-size:var(--font-size-xs);color:var(--text-dim);font-family:var(--font-mono)}.messages-list[data-v-0135c89e]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.response-error[data-v-a0c2b781]{background:var(--error-muted);border:1px solid var(--error);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);display:flex;align-items:baseline;gap:var(--spacing-sm)}.error-label[data-v-a0c2b781]{font-size:var(--font-size-xs);font-weight:600;color:var(--error);letter-spacing:.5px}.error-text[data-v-a0c2b781]{font-size:var(--font-size-sm);color:var(--error);white-space:pre-wrap;word-wrap:break-word}.base-btn[data-v-f78a7ee5]{display:inline-flex;align-items:center;gap:var(--spacing-xs);border-radius:var(--border-radius-sm);font-weight:500;white-space:nowrap;transition:all var(--transition-fast);border:1px solid var(--border);line-height:1}.base-btn[data-v-f78a7ee5]:disabled{opacity:.5;cursor:not-allowed}.btn-size-sm[data-v-f78a7ee5]{padding:4px 8px;font-size:var(--font-size-xs)}.btn-size-md[data-v-f78a7ee5]{padding:6px 12px;font-size:var(--font-size-sm)}.btn-default[data-v-f78a7ee5]{background:var(--bg-tertiary);color:var(--text)}.btn-default[data-v-f78a7ee5]:hover:not(:disabled){background:var(--bg-hover)}.btn-primary[data-v-f78a7ee5]{background:var(--primary);color:var(--primary-contrast);border-color:var(--primary)}.btn-primary[data-v-f78a7ee5]:hover:not(:disabled){opacity:.9}.btn-danger[data-v-f78a7ee5]{background:transparent;color:var(--error);border-color:var(--error)}.btn-danger[data-v-f78a7ee5]:hover:not(:disabled){background:var(--error-muted)}.btn-ghost[data-v-f78a7ee5]{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost[data-v-f78a7ee5]:hover:not(:disabled){color:var(--text);background:var(--bg-tertiary)}.spinner[data-v-f78a7ee5]{width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin-f78a7ee5 .6s linear infinite}@keyframes spin-f78a7ee5{to{transform:rotate(360deg)}}.base-checkbox[data-v-5aabf3fa]{display:inline-flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-size:var(--font-size-xs);color:var(--text-muted);-webkit-user-select:none;user-select:none}.base-checkbox input[type=checkbox][data-v-5aabf3fa]{appearance:none;width:14px;height:14px;border:1px solid var(--border);border-radius:0;background:var(--bg-tertiary);cursor:pointer;position:relative;flex-shrink:0}.base-checkbox input[type=checkbox][data-v-5aabf3fa]:checked{background:var(--primary);border-color:var(--primary)}.base-checkbox input[type=checkbox][data-v-5aabf3fa]:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--primary-contrast);border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label[data-v-5aabf3fa]{white-space:nowrap}.base-input[data-v-ac901b0e]{position:relative;display:flex;align-items:center}.base-input input[data-v-ac901b0e]{width:100%;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--border-radius-sm);padding:4px 8px;font-size:var(--font-size-xs);color:var(--text);outline:none}.base-input input[data-v-ac901b0e]:focus{border-color:var(--primary)}.base-input input[data-v-ac901b0e]::placeholder{color:var(--text-dim)}.has-icon input[data-v-ac901b0e]{padding-left:26px}.input-icon[data-v-ac901b0e]{position:absolute;left:8px;color:var(--text-dim);pointer-events:none}.base-select[data-v-4c7423ca]{background:var(--bg-tertiary);color:var(--text);border:1px solid var(--border);border-radius:var(--border-radius-sm);padding:4px 8px;font-size:var(--font-size-xs);cursor:pointer;outline:none;min-width:80px;appearance:auto}.base-select[data-v-4c7423ca]:focus{border-color:var(--primary)}.base-select[data-v-4c7423ca]:hover{border-color:var(--text-dim)}.detail-toolbar[data-v-72108973]{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);border-bottom:1px solid var(--border-light);flex-shrink:0;background:var(--bg-secondary)}.toolbar-row[data-v-72108973]{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.rewrite-row[data-v-72108973]{padding-top:var(--spacing-xs);border-top:1px solid var(--border-light);justify-content:space-between}.rewrite-stats[data-v-72108973]{display:flex;align-items:center;gap:var(--spacing-xs)}.rewrite-label[data-v-72108973]{font-size:var(--font-size-xs);color:var(--warning);font-weight:600}.rewrite-stat[data-v-72108973]{font-size:var(--font-size-xs);color:var(--text-muted);padding:1px 6px;background:var(--warning-muted);border-radius:3px}.rewrite-stat-truncated[data-v-72108973]{background:var(--error-muted);color:var(--error)}.rewrite-controls[data-v-72108973]{display:flex;align-items:center;gap:var(--spacing-sm)}.rewrite-nav[data-v-72108973]{display:flex;align-items:center;gap:2px}.nav-btn[data-v-72108973]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;color:var(--text-dim);background:var(--bg-tertiary);border:1px solid var(--border-light)}.nav-btn[data-v-72108973]:hover{color:var(--text);background:var(--bg-hover)}.nav-label[data-v-72108973]{font-size:var(--font-size-xs);color:var(--text-dim);font-family:var(--font-mono);min-width:32px;text-align:center}.headers-section[data-v-541b6987]{display:flex;flex-direction:column}.headers-toggle[data-v-541b6987]{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-muted);padding:var(--spacing-xs) 0;background:none;cursor:pointer;text-align:left}.headers-toggle[data-v-541b6987]:hover{color:var(--text)}.toggle-icon[data-v-541b6987]{font-family:var(--font-mono);width:12px;text-align:center;font-weight:600}.header-count[data-v-541b6987]{color:var(--text-dim)}.headers-grid[data-v-541b6987]{display:flex;flex-direction:column;margin-top:var(--spacing-xs)}.header-row[data-v-541b6987]{display:flex;gap:var(--spacing-sm);padding:2px 0;font-size:10px;border-bottom:1px solid var(--border-light)}.header-name[data-v-541b6987]{flex:0 0 200px;color:var(--text-dim);font-family:var(--font-mono);word-break:break-all}.header-value[data-v-541b6987]{flex:1;color:var(--text-muted);font-family:var(--font-mono);word-break:break-all}.meta-grid[data-v-a511ef63]{display:flex;flex-direction:column;gap:4px}.meta-row[data-v-a511ef63]{display:flex;align-items:baseline;gap:var(--spacing-sm);padding:2px 0}.meta-label[data-v-a511ef63]{font-size:var(--font-size-xs);color:var(--text-dim);min-width:90px;flex-shrink:0}.meta-label--attempt[data-v-a511ef63]{font-weight:600;color:var(--text-muted)}.meta-label--code[data-v-a511ef63]{font-family:var(--font-mono)}.meta-value[data-v-a511ef63]{font-size:var(--font-size-xs);color:var(--text)}.meta-value.mono[data-v-a511ef63]{font-family:var(--font-mono)}.text-success[data-v-a511ef63]{color:var(--success)}.text-error[data-v-a511ef63]{color:var(--error)}.meta-section[data-v-a511ef63]{margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--border-light)}.meta-section .meta-row[data-v-a511ef63]{display:flex;align-items:baseline;gap:var(--spacing-md);padding:2px 0}.meta-section-title[data-v-a511ef63]{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);margin-bottom:var(--spacing-xs)}.error-text[data-v-a511ef63]{color:var(--error)}.warning-text[data-v-a511ef63]{color:var(--warning)}.raw-body[data-v-a511ef63]{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);background:var(--bg-tertiary);padding:var(--spacing-sm);white-space:pre-wrap;word-break:break-all}.sse-timeline[data-v-cd3358e8]{font-family:var(--font-mono);font-size:var(--font-size-xs)}.sse-event[data-v-cd3358e8]{display:flex;align-items:baseline;gap:var(--spacing-sm);padding:2px 0;border-bottom:1px solid var(--border-light)}.sse-event[data-v-cd3358e8]:last-child{border-bottom:none}.sse-offset[data-v-cd3358e8]{flex-shrink:0;width:64px;text-align:right;color:var(--text-dim)}.sse-type[data-v-cd3358e8]{flex-shrink:0;min-width:160px;font-weight:500}.sse-type-green[data-v-cd3358e8]{color:var(--success)}.sse-type-blue[data-v-cd3358e8]{color:var(--info)}.sse-type-cyan[data-v-cd3358e8]{color:var(--primary)}.sse-type-red[data-v-cd3358e8]{color:var(--error)}.sse-type-dim[data-v-cd3358e8]{color:var(--text-dim)}.sse-type-default[data-v-cd3358e8]{color:var(--text)}.sse-summary[data-v-cd3358e8]{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-panel[data-v-b1fce834]{display:flex;flex-direction:column;height:100%;min-width:0;background:var(--bg)}.detail-empty[data-v-b1fce834]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-dim);gap:var(--spacing-xs)}.detail-hint[data-v-b1fce834]{font-size:var(--font-size-xs);opacity:.6}.detail-body[data-v-b1fce834]{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:var(--spacing-sm)}.headers-section-wrap[data-v-b1fce834]{display:flex;flex-direction:column;gap:var(--spacing-md)}.headers-group[data-v-b1fce834]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.headers-group-title[data-v-b1fce834]{font-size:var(--font-size-xs);font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border)}.headers-grid[data-v-b1fce834]{display:flex;flex-direction:column}.header-row[data-v-b1fce834]{display:flex;gap:var(--spacing-sm);padding:2px 0;font-size:var(--font-size-xs);border-bottom:1px solid var(--border-light)}.header-name[data-v-b1fce834]{flex:0 0 220px;color:var(--text-dim);font-family:var(--font-mono);word-break:break-all}.header-value[data-v-b1fce834]{flex:1;color:var(--text);font-family:var(--font-mono);word-break:break-all}.history-detail-surface[data-v-1559586e]{width:100%;min-height:min(760px,calc(100vh - 48px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;border:1px solid rgb(var(--v-theme-surface-variant));background:rgb(var(--v-theme-surface))}.detail-toolbar[data-v-1559586e]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;position:sticky;top:0;z-index:1;background:rgb(var(--v-theme-surface));border-bottom:1px solid rgb(var(--v-theme-surface-variant))}.detail-heading[data-v-1559586e]{min-width:0}.detail-title[data-v-1559586e]{font-size:1.125rem;line-height:1.2;letter-spacing:-.02em;font-weight:700}.detail-subtitle[data-v-1559586e]{margin-top:4px}.detail-actions[data-v-1559586e]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-state[data-v-1559586e]{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center}.detail-body[data-v-1559586e]{display:flex;flex:1;min-height:0;overflow:hidden;padding:0;background:rgb(var(--v-theme-surface))}.detail-body[data-v-1559586e] .detail-panel{display:flex;flex:1;min-height:0;min-width:0;height:auto;background:rgb(var(--v-theme-surface))}.detail-body[data-v-1559586e] .detail-empty{flex:1;min-height:0;height:auto}.empty-title[data-v-1559586e]{font-size:1rem;font-weight:600}@media(max-width:960px){.history-detail-surface[data-v-1559586e]{min-height:calc(100vh - 24px);max-height:calc(100vh - 24px)}.detail-toolbar[data-v-1559586e]{align-items:flex-start;flex-direction:column}}[data-v-09d1883a] .history-detail-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}@layer vuetify-components{.v-table{font-size:.875rem;transition-duration:.28s;transition-property:box-shadow,opacity,background,height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.v-table{background:rgb(var(--v-theme-surface));color:color-mix(in srgb,rgb(var(--v-theme-on-surface)) calc(var(--v-high-emphasis-opacity) * 100%),transparent)}.v-table .v-table-divider{border-right:thin solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-table .v-table__wrapper>table>thead>tr>th{border-bottom:thin solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-table .v-table__wrapper>table>tbody>tr:not(:last-child)>td,.v-table .v-table__wrapper>table>tbody>tr:not(:last-child)>th{border-bottom:thin solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-table .v-table__wrapper>table>tfoot>tr>td,.v-table .v-table__wrapper>table>tfoot>tr>th{border-top:thin solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-table.v-table--hover>.v-table__wrapper>table>tbody>tr>td{position:relative}.v-table.v-table--hover>.v-table__wrapper>table>tbody>tr:hover>td:after{background:rgba(var(--v-border-color),var(--v-hover-opacity));pointer-events:none}.v-table.v-table--hover>.v-table__wrapper>table>tbody>tr:hover>td:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-table.v-table--striped-even>.v-table__wrapper>table>tbody>tr:nth-child(2n){background-image:linear-gradient(0deg,rgba(var(--v-border-color),var(--v-hover-opacity)),rgba(var(--v-border-color),var(--v-hover-opacity)))}.v-table.v-table--striped-odd>.v-table__wrapper>table>tbody>tr:nth-child(odd){background-image:linear-gradient(0deg,rgba(var(--v-border-color),var(--v-hover-opacity)),rgba(var(--v-border-color),var(--v-hover-opacity)))}.v-table.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th{background:rgb(var(--v-theme-surface));box-shadow:inset 0 -1px rgba(var(--v-border-color),var(--v-border-opacity));z-index:1}.v-table.v-table--fixed-footer>tfoot>tr>th,.v-table.v-table--fixed-footer>tfoot>tr>td{background:rgb(var(--v-theme-surface));box-shadow:inset 0 1px rgba(var(--v-border-color),var(--v-border-opacity))}.v-table{border-radius:inherit;line-height:1.5;max-width:100%;display:flex;flex-direction:column}.v-table>.v-table__wrapper>table{width:100%;border-spacing:0}.v-table>.v-table__wrapper>table>tbody>tr>td,.v-table>.v-table__wrapper>table>tbody>tr>th,.v-table>.v-table__wrapper>table>thead>tr>td,.v-table>.v-table__wrapper>table>thead>tr>th,.v-table>.v-table__wrapper>table>tfoot>tr>td,.v-table>.v-table__wrapper>table>tfoot>tr>th{padding:0 16px;transition-duration:.28s;transition-property:box-shadow,opacity,background,height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.v-table>.v-table__wrapper>table>tbody>tr>td,.v-table>.v-table__wrapper>table>thead>tr>td,.v-table>.v-table__wrapper>table>tfoot>tr>td{height:var(--v-table-row-height)}.v-table>.v-table__wrapper>table>tbody>tr>th,.v-table>.v-table__wrapper>table>thead>tr>th,.v-table>.v-table__wrapper>table>tfoot>tr>th{height:var(--v-table-header-height);font-weight:500;font-size:inherit;-webkit-user-select:none;user-select:none;text-align:start}.v-table--density-default{--v-table-header-height: 56px;--v-table-row-height: 52px}.v-table--density-comfortable{--v-table-header-height: 48px;--v-table-row-height: 44px}.v-table--density-compact{--v-table-header-height: 40px;--v-table-row-height: 36px}.v-table__wrapper{border-radius:inherit;overflow:auto;flex:1 1 auto}.v-table--has-top>.v-table__wrapper{border-top-left-radius:0;border-top-right-radius:0}.v-table--has-bottom>.v-table__wrapper{border-bottom-left-radius:0;border-bottom-right-radius:0}.v-table--fixed-height>.v-table__wrapper{overflow-y:auto}.v-table--fixed-header>.v-table__wrapper>table>thead{position:sticky;top:0;z-index:2}}@layer vuetify-overrides{.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th{border-bottom:0px}}@layer vuetify-components{.v-table--fixed-footer>.v-table__wrapper>table>tfoot>tr{position:sticky;bottom:0;z-index:1}}@layer vuetify-overrides{.v-table--fixed-footer>.v-table__wrapper>table>tfoot>tr>td,.v-table--fixed-footer>.v-table__wrapper>table>tfoot>tr>th{border-top:0px}}.activity-shell[data-v-5611998e]{display:flex;flex-direction:column;gap:14px}.page-toolbar[data-v-5611998e],.panel[data-v-5611998e]{border:1px solid rgb(var(--v-theme-surface-variant));background:rgb(var(--v-theme-surface))}.page-toolbar[data-v-5611998e]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px}.toolbar-title[data-v-5611998e]{font-size:1.125rem;line-height:1.2;letter-spacing:-.02em;font-weight:700}.toolbar-meta[data-v-5611998e]{margin-top:4px}.toolbar-status[data-v-5611998e]{display:flex;align-items:center;gap:8px;flex-shrink:0}.panel[data-v-5611998e]{padding:16px}.panel-head[data-v-5611998e]{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}.panel-eyebrow[data-v-5611998e],.table-head[data-v-5611998e]{letter-spacing:.08em}.panel-title[data-v-5611998e]{font-size:1.02rem;font-weight:700;letter-spacing:-.02em}.active-table-wrap[data-v-5611998e],.stream-table-wrap[data-v-5611998e]{overflow-x:auto}.active-panel-body[data-v-5611998e]{height:244px}.active-table-wrap[data-v-5611998e]{overflow-y:auto}.activity-table[data-v-5611998e] th,.activity-table[data-v-5611998e] td,.stream-table[data-v-5611998e] th,.stream-table[data-v-5611998e] td{padding-top:6px;padding-bottom:6px}.stream-table[data-v-5611998e] th,.stream-table[data-v-5611998e] td{padding-left:8px;padding-right:8px}.table-head[data-v-5611998e]{font-size:.68rem;text-transform:uppercase;color:rgb(var(--v-theme-secondary));white-space:nowrap}.dense-cell[data-v-5611998e]{font-size:.76rem;line-height:1.2;white-space:nowrap}.col-status[data-v-5611998e]{width:28px}.col-time[data-v-5611998e]{width:68px}.col-endpoint[data-v-5611998e]{width:92px}.col-model[data-v-5611998e]{width:200px;max-width:200px}.col-state[data-v-5611998e]{width:70px}.col-msgs[data-v-5611998e],.col-bool[data-v-5611998e],.col-dur[data-v-5611998e],.col-token[data-v-5611998e],.col-cache[data-v-5611998e]{width:56px}.col-action[data-v-5611998e]{width:72px}.col-session[data-v-5611998e]{width:96px}.col-preview[data-v-5611998e]{max-width:0}.truncate-inline[data-v-5611998e],.preview-text[data-v-5611998e]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-text[data-v-5611998e]{color:rgb(var(--v-theme-secondary))}.status-pill[data-v-5611998e]{display:inline-flex;align-items:center;min-height:18px;padding:0 6px;border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.status-pill-completed[data-v-5611998e]{background:rgb(var(--v-theme-success) / 14%);color:rgb(var(--v-theme-success))}.status-pill-failed[data-v-5611998e]{background:rgb(var(--v-theme-error) / 14%);color:rgb(var(--v-theme-error))}.status-pill-pending[data-v-5611998e]{background:rgb(var(--v-theme-secondary) / 14%);color:rgb(var(--v-theme-secondary))}.status-pill-executing[data-v-5611998e]{background:rgb(var(--v-theme-warning) / 14%);color:rgb(var(--v-theme-warning))}.status-pill-streaming[data-v-5611998e]{background:rgb(var(--v-theme-info) / 14%);color:rgb(var(--v-theme-info))}.state-shell[data-v-5611998e],.empty-state[data-v-5611998e]{min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-state.active-panel-body[data-v-5611998e]{min-height:unset}.empty-title[data-v-5611998e]{font-size:1rem;font-weight:600;margin-bottom:6px}@media(max-width:780px){.page-toolbar[data-v-5611998e],.detail-dialog-toolbar[data-v-5611998e]{flex-direction:column;align-items:start}}
@@ -0,0 +1,3 @@
1
+ import{d as S,a6 as Ge,Y as l,m as t,U as i,a7 as se,r as z,a1 as a,u as c,W as M,X as k,c as g,e as D,_ as f,f as h,k as ye,p as ge,s as $e,a2 as he,F as P,Z as F,o as Ve,q as N,P as De,n as ne,E as J,G as W,a8 as G,a as ue,a9 as Ke,a0 as Ye}from"./vue-McY99x0M.js";import{_ as I,V as Z,a as qe,g as Xe,p as Ze,u as et,b as tt,c as st,m as at,d as nt,e as ot,f as lt,h as it,i as Re}from"./index-Cxye_z0t.js";import{P as re,c as rt,h as ut}from"./vendor-tLv7SZ-i.js";import{V as Oe,u as we}from"./VDialog-B5tAv-4d.js";import{V as ct}from"./VCard-B2q0rBgl.js";import{u as be,a as dt,f as Te}from"./ws-status-BJ5xglsi.js";import{u as oe}from"./useFormatters-BBIZmSf2.js";import{u as mt}from"./useLogs-C_hg5wZk.js";import{V as ve,a as Me}from"./VSheet-BhXOOy9y.js";function fe(e){return e?typeof e=="string"?e:Array.isArray(e)?e.map(s=>s.type==="text"&&"text"in s?s.text:s.type==="thinking"&&"thinking"in s?s.thinking:s.type==="tool_use"&&"name"in s?`[Tool: ${s.name}]`:s.type==="tool_result"?"[Tool Result]":"").filter(Boolean).join(" "):"":""}const vt={key:0,class:"error-boundary"},pt={class:"error-label"},ft={class:"error-message"},yt=S({__name:"ErrorBoundary",props:{label:{}},setup(e){const s=z(null);return Ge(r=>(s.value=r,console.error("[ErrorBoundary]",r),!1)),(r,o)=>s.value?(a(),l("div",vt,[o[0]||(o[0]=t("span",{class:"error-icon"},"!",-1)),t("span",pt,i(e.label||"Render error"),1),t("span",ft,i(s.value.message),1)])):se(r.$slots,"default",{key:1},void 0,!0)}}),ae=I(yt,[["__scopeId","data-v-447f57f3"]]),gt=["width","height","innerHTML"],ht=S({__name:"IconSvg",props:{name:{},size:{default:14}},setup(e){const o={search:'<path d="M221.09 64a157.09 157.09 0 10157.09 157.09A157.1 157.1 0 00221.09 64z"/><path d="M338.29 338.29L448 448"/>',refresh:'<path d="M320 146s24.36-12-64-12a160 160 0 10160 160" /><polyline points="256 58 336 138 256 218"/>',download:'<path d="M336 176h40a40 40 0 0140 40v208a40 40 0 01-40 40H136a40 40 0 01-40-40V216a40 40 0 0140-40h40"/><polyline points="176 272 256 352 336 272"/><line x1="256" y1="48" x2="256" y2="336"/>',trash:'<path d="M112 112l20 320c.95 18.49 14.4 32 32 32h184c17.67 0 30.87-13.51 32-32l20-320"/><line x1="80" y1="112" x2="432" y2="112"/><path d="M192 112V72h0a23.93 23.93 0 0124-24h80a23.93 23.93 0 0124 24h0v40" stroke-linecap="round"/>',close:'<path d="M368 368L144 144"/><path d="M368 144L144 368"/>',expand:'<polyline points="432 368 432 432 368 432"/><line x1="432" y1="432" x2="336" y2="336"/><polyline points="80 144 80 80 144 80"/><line x1="80" y1="80" x2="176" y2="176"/><polyline points="368 80 432 80 432 144"/><line x1="432" y1="80" x2="336" y2="176"/><polyline points="144 432 80 432 80 368"/><line x1="80" y1="432" x2="176" y2="336"/>',contract:'<polyline points="336 368 336 432 400 432"/><line x1="336" y1="432" x2="432" y2="336"/><polyline points="176 144 176 80 112 80"/><line x1="176" y1="80" x2="80" y2="176"/><polyline points="400 80 336 80 336 144"/><line x1="336" y1="80" x2="432" y2="176"/><polyline points="112 432 176 432 176 368"/><line x1="176" y1="432" x2="80" y2="336"/>',copy:'<rect x="128" y="128" width="336" height="336" rx="57" ry="57"/><path d="M383.5 128l.5-24a56.16 56.16 0 00-56-56H112a64.19 64.19 0 00-64 64v216a56.16 56.16 0 0056 56h24" stroke-linecap="round"/>',code:'<path d="M160 368L32 256l128-112"/><path d="M352 368l128-112-128-112"/><path d="M304 96l-96 320"/>',"chevron-down":'<polyline points="112 184 256 328 400 184"/>',"chevron-up":'<polyline points="112 328 256 184 400 328"/>',"chevron-right":'<polyline points="184 112 328 256 184 400"/>'}[e.name]||"";return(v,n)=>(a(),l("svg",{class:"icon-svg",width:e.size,height:e.size,viewBox:"0 0 512 512",fill:"none",stroke:"currentColor","stroke-width":"32","stroke-linecap":"round","stroke-linejoin":"round",innerHTML:c(o)},null,8,gt))}}),A=I(ht,[["__scopeId","data-v-80761fa5"]]),wt={class:"raw-json-toolbar"},bt={class:"raw-json-heading"},kt={class:"raw-json-title"},xt={class:"raw-json-subtitle text-caption text-medium-emphasis"},_t={class:"raw-json-actions"},$t={class:"raw-json-body"},Rt={key:0,class:"json-split"},Tt={class:"json-pane"},Mt={class:"pane-header"},Ct={class:"json-viewer"},St={class:"json-pane"},It={class:"pane-header"},Bt={class:"json-viewer"},Vt={key:1,class:"json-viewer json-viewer-single"},Dt=S({__name:"RawJsonModal",props:{visible:{type:Boolean},title:{},data:{},rewrittenData:{}},emits:["update:visible"],setup(e,{emit:s}){const r=e,o=s,{copy:v}=we(),n=h({get:()=>r.visible,set:d=>o("update:visible",d)}),u=h(()=>r.rewrittenData!==null&&r.rewrittenData!==void 0),w=h(()=>{try{return JSON.stringify(r.data,null,2)}catch{return String(r.data)}}),p=h(()=>{if(!r.rewrittenData)return"";try{return JSON.stringify(r.rewrittenData,null,2)}catch{return String(r.rewrittenData)}});function x(){v(w.value)}function T(){v(p.value)}return(d,m)=>(a(),M(Oe,{modelValue:n.value,"onUpdate:modelValue":m[1]||(m[1]=C=>n.value=C),width:"min(96vw, 1400px)",scrollable:"",transition:!1,"z-index":2510,scrim:!1,"content-class":"raw-json-dialog"},{default:k(()=>[g(ct,{class:"raw-json-card",color:"surface","data-testid":"raw-json-card"},{default:k(()=>[t("div",wt,[t("div",bt,[t("div",kt,i(e.title),1),t("div",xt,i(u.value?"JSON":"Payload"),1)]),t("div",_t,[u.value?f("",!0):(a(),M(Z,{key:0,variant:"text",size:"small",onClick:x},{default:k(()=>[g(A,{name:"copy",size:12}),m[2]||(m[2]=D(" Copy ",-1))]),_:1})),g(Z,{variant:"outlined",size:"small","prepend-icon":"mdi-close",onClick:m[0]||(m[0]=C=>n.value=!1)},{default:k(()=>[...m[3]||(m[3]=[D(" Close ",-1)])]),_:1})])]),t("div",$t,[u.value?(a(),l("div",Rt,[t("section",Tt,[t("div",Mt,[m[5]||(m[5]=t("span",{class:"pane-label"},"Original",-1)),g(Z,{variant:"text",size:"small",onClick:x},{default:k(()=>[g(A,{name:"copy",size:12}),m[4]||(m[4]=D(" Copy ",-1))]),_:1})]),t("div",Ct,[g(c(re),{data:e.data,deep:5,"show-line-number":!0,"show-icon":!0,"show-length":!0,"collapsed-on-click-brackets":!0},null,8,["data"])])]),m[8]||(m[8]=t("div",{class:"pane-divider"},null,-1)),t("section",St,[t("div",It,[m[7]||(m[7]=t("span",{class:"pane-label pane-label-rewritten"},"Rewritten",-1)),g(Z,{variant:"text",size:"small",onClick:T},{default:k(()=>[g(A,{name:"copy",size:12}),m[6]||(m[6]=D(" Copy ",-1))]),_:1})]),t("div",Bt,[g(c(re),{data:e.rewrittenData,deep:5,"show-line-number":!0,"show-icon":!0,"show-length":!0,"collapsed-on-click-brackets":!0},null,8,["data"])])])])):(a(),l("div",Vt,[g(c(re),{data:e.data,deep:5,"show-line-number":!0,"show-icon":!0,"show-length":!0,"collapsed-on-click-brackets":!0},null,8,["data"])]))])]),_:1})]),_:1},8,["modelValue"]))}}),qt=I(Dt,[["__scopeId","data-v-e4afb2dc"]]),Ee=Symbol("contentContext");function Ot(e){ge(Ee,e)}function ie(){const e=ye(Ee);if(!e)throw new Error("useContentContext() called outside of ContentContext provider");return e}function Et(e){const s=h(()=>{const d=e.value;if(!d?.pipelineInfo?.truncation)return-1;const m=d.pipelineInfo.truncation.removedMessageCount;if(!m)return-1;const C=d.pipelineInfo.messageMapping;return C&&C.length>0?C[0]:m}),r=h(()=>{const d=new Map,m=e.value;if(!m?.effectiveRequest?.messages||!m.pipelineInfo?.messageMapping)return d;const C=m.effectiveRequest.messages,O=m.pipelineInfo.messageMapping;for(const[L,j]of O.entries())d.set(j,C[L]);return d}),o=h(()=>{const d=new Set,m=e.value;if(!m?.effectiveRequest?.messages)return d;const C=m.request.messages??[];for(const[O,L]of r.value){const j=C[O];j&&j.content!==L.content&&JSON.stringify(j.content)!==JSON.stringify(L.content)&&d.add(O)}return d}),v=h(()=>{const d=e.value;return d?.effectiveRequest?o.value.size>0||!!d.effectiveRequest.system:!1}),n=h(()=>{const d=e.value;if(!d?.effectiveRequest?.system)return!1;const m=d.request.system,C=d.effectiveRequest.system;return!m||!C?!!C:JSON.stringify(m)!==JSON.stringify(C)}),u=h(()=>{const d=o.value.size,m=n.value,C=s.value>=0,O=C?s.value:0;return{msgCount:d,sysRewritten:m,truncated:C,truncatedCount:O}}),w=h(()=>[...o.value].sort((d,m)=>d-m));function p(d){return r.value.get(d)??null}function x(d){return o.value.has(d)}function T(d){const m=s.value;return m<0?!1:d<m}return{truncationPoint:s,hasRewrites:v,isSystemRewritten:n,rewriteSummary:u,rewrittenIndices:o,rewrittenIndexList:w,getRewrittenMessage:p,isMessageRewritten:x,isMessageTruncated:T}}const ze=Symbol("rawModal");function zt(){const e=z(!1),s=$e(null),r=$e(null),o=z("");function v(n,u,w){s.value=n,r.value=w??null,o.value=u,e.value=!0}return ge(ze,{openRawModal:v}),{visible:e,data:s,rewrittenData:r,title:o,openRawModal:v}}function de(){const e=ye(ze);if(!e)throw new Error("useRawModal() called outside of RawModal provider");return e}const Ne=Symbol("sharedResizeObserver");function Nt(){const e=new Map,s=new Set;let r=null;const o=new ResizeObserver(w=>{for(const p of w)s.add(p.target);r===null&&(r=requestAnimationFrame(()=>{r=null;for(const p of s)e.get(p)?.();s.clear()}))});function v(w,p){e.set(w,p),o.observe(w)}function n(w){e.delete(w),o.unobserve(w)}he(()=>{o.disconnect(),e.clear(),s.clear(),r!==null&&cancelAnimationFrame(r)});const u={observe:v,unobserve:n};return ge(Ne,u),u}function Le(){const e=ye(Ne);if(!e)throw new Error("useSharedResizeObserver() called outside of provider");return e}function He(e){return e.type==="text"}function Lt(e){return e.type==="thinking"}function Ht(e){return e.type==="redacted_thinking"}function Ae(e){return e.type==="tool_use"}function je(e){return e.type==="tool_result"}function At(e){return e.type==="image"}function jt(e){if(e.role==="tool"&&e.tool_call_id){const r=typeof e.content=="string"?e.content:JSON.stringify(e.content);return[{type:"tool_result",tool_use_id:e.tool_call_id,content:r}]}const s=[];if(typeof e.content=="string"?e.content&&s.push({type:"text",text:e.content}):Array.isArray(e.content)&&s.push(...e.content),e.tool_calls)for(const r of e.tool_calls){let o;try{o=JSON.parse(r.function.arguments)}catch{o={_raw:r.function.arguments}}s.push({type:"tool_use",id:r.id,name:r.function.name,input:o})}return s}const Pt={class:"attempts-timeline"},Ut={class:"timeline-title"},Ft={class:"timeline-track"},Jt={class:"node-info"},Wt={class:"node-header"},Qt={class:"node-index"},Gt={key:0,class:"node-strategy"},Kt={class:"node-duration"},Yt={key:0,class:"node-error"},Xt={key:1,class:"node-truncation"},Zt={key:2,class:"node-meta"},es=S({__name:"AttemptsTimeline",props:{attempts:{}},setup(e){const{formatDuration:s,formatNumber:r}=oe();function o(v){return v.error?"var(--error)":"var(--success)"}return(v,n)=>(a(),l("div",Pt,[t("div",Ut,"Retry Timeline ("+i(e.attempts.length)+" attempts)",1),t("div",Ft,[(a(!0),l(P,null,F(e.attempts,u=>(a(),l("div",{key:u.index,class:"timeline-node"},[t("div",{class:"node-dot",style:Ve({background:o(u)})},null,4),t("div",Jt,[t("div",Wt,[t("span",Qt,"#"+i(u.index+1),1),u.strategy?(a(),l("span",Gt,i(u.strategy),1)):f("",!0),t("span",Kt,i(c(s)(u.durationMs)),1)]),u.error?(a(),l("div",Yt,i(u.error),1)):f("",!0),u.truncation?.wasTruncated?(a(),l("div",Xt," Truncated: "+i(c(r)(u.truncation.originalTokens))+" -> "+i(c(r)(u.truncation.compactedTokens))+" tokens, "+i(u.truncation.removedMessageCount)+" msg removed ",1)):f("",!0),u.effectiveMessageCount?(a(),l("div",Zt,i(u.effectiveMessageCount)+" messages ",1)):f("",!0)])]))),128))])]))}}),ts=I(es,[["__scopeId","data-v-6574832d"]]),ss=S({__name:"BaseBadge",props:{color:{default:"default"}},setup(e){return(s,r)=>(a(),l("span",{class:N(["base-badge","badge-"+e.color])},[se(s.$slots,"default",{},void 0,!0)],2))}}),te=I(ss,[["__scopeId","data-v-30a49732"]]),as=["id"],ns={class:"content-block-header-left"},os={class:"collapse-icon"},ls=["title"],is={class:"content-block-header-right"},rs=["title"],us=S({__name:"ContentBlockWrapper",props:{label:{},labelColor:{default:"text-muted"},summary:{default:""},blockId:{},copyText:{},rawData:{},rawTitle:{default:"Raw"}},setup(e){const s=e,{copy:r}=we(),{openRawModal:o}=de(),v=Le(),n=z(!1),u=z(!1),w=z(!1),p=z();function x(){n.value=!n.value}function T(O){O.stopPropagation(),u.value=!u.value}function d(O){O.stopPropagation(),s.copyText&&r(s.copyText)}function m(O){O.stopPropagation(),s.rawData!==void 0&&o(s.rawData,s.rawTitle)}function C(){p.value&&(w.value=p.value.scrollHeight>208)}return De(()=>{p.value&&(v.observe(p.value,C),ne(C))}),he(()=>{p.value&&v.unobserve(p.value)}),(O,L)=>(a(),l("div",{class:"content-block",id:e.blockId},[t("div",{class:"content-block-header",onClick:x},[t("div",ns,[t("span",os,i(n.value?"▸":"▾"),1),t("span",{class:N(["content-type-label","label-"+e.labelColor])},i(e.label),3),se(O.$slots,"header-extra",{},void 0,!0),n.value&&e.summary?(a(),l("span",{key:0,class:"collapsed-summary",title:e.summary},i(e.summary),9,ls)):f("",!0)]),t("div",is,[!n.value&&w.value?(a(),l("button",{key:0,class:"action-btn",title:u.value?"Collapse":"Expand",onClick:T},[g(A,{name:u.value?"contract":"expand",size:10},null,8,["name"]),D(" "+i(u.value?"Collapse":"Expand"),1)],8,rs)):f("",!0),e.copyText?(a(),l("button",{key:1,class:"action-btn",title:"Copy",onClick:d},[g(A,{name:"copy",size:10}),L[0]||(L[0]=D(" Copy ",-1))])):f("",!0),e.rawData!==void 0?(a(),l("button",{key:2,class:"action-btn",title:"View raw JSON",onClick:m},[g(A,{name:"code",size:10}),L[1]||(L[1]=D(" Raw ",-1))])):f("",!0)])]),J(t("div",{ref_key:"bodyRef",ref:p,class:N(["content-block-body",{"body-collapsed":!u.value&&w.value}])},[se(O.$slots,"default",{},void 0,!0)],2),[[W,!n.value]])],8,as))}}),le=I(us,[["__scopeId","data-v-32b31781"]]),cs={class:"generic-content"},ds=S({__name:"GenericBlock",props:{block:{}},setup(e){const s=e,r=h(()=>(s.block.type||"UNKNOWN").toUpperCase()),o=h(()=>{try{return JSON.stringify(s.block,null,2)}catch{return String(s.block)}});return(v,n)=>(a(),M(le,{label:r.value,"label-color":"text-muted",summary:e.block.type||"unknown","raw-data":e.block,"raw-title":"Raw — "+(e.block.type||"unknown")},{default:k(()=>[t("pre",cs,i(o.value),1)]),_:1},8,["label","summary","raw-data","raw-title"]))}}),ms=I(ds,[["__scopeId","data-v-f561650d"]]),vs={class:"image-media-type"},ps=["src"],fs=S({__name:"ImageBlock",props:{mediaType:{},data:{}},setup(e){return(s,r)=>(a(),M(le,{label:"IMAGE","label-color":"pink",summary:e.mediaType,"raw-data":{type:"image",source:{type:"base64",media_type:e.mediaType}},"raw-title":"Raw — image"},{"header-extra":k(()=>[t("span",vs,i(e.mediaType),1)]),default:k(()=>[t("img",{src:"data:"+e.mediaType+";base64,"+e.data,alt:"Image content",class:"image-content"},null,8,ps)]),_:1},8,["summary","raw-data"]))}}),ys=I(fs,[["__scopeId","data-v-051c1ea2"]]),gs={class:"line-number-pre"},hs={class:"line-no"},ws=["innerHTML"],bs=S({__name:"LineNumberPre",props:{html:{}},setup(e){const s=e,r=h(()=>s.html.split(`
2
+ `));return(o,v)=>(a(),l("div",gs,[(a(!0),l(P,null,F(r.value,(n,u)=>(a(),l("div",{key:u,class:"line"},[t("span",hs,i(u+1),1),t("span",{class:"line-content",innerHTML:n||"​"},null,8,ws)]))),128))]))}}),ce=I(bs,[["__scopeId","data-v-92f79b4e"]]);function ke(e,s){const{highlightSearch:r,escapeHtml:o}=oe();return{displayHtml:h(()=>{const n=typeof e=="function"?e():c(e),u=typeof s=="function"?s():c(s);return u?r(n,u):o(n)})}}const ks=S({__name:"TextBlock",props:{text:{}},setup(e){const s=e,{searchQuery:r}=ie(),o=h(()=>s.text.length>60?s.text.slice(0,60)+"...":s.text),{displayHtml:v}=ke(()=>s.text,r);return(n,u)=>(a(),M(le,{label:"TEXT","label-color":"text-muted",summary:o.value,"copy-text":e.text,"raw-data":{type:"text",text:e.text},"raw-title":"Raw — text"},{default:k(()=>[g(ce,{html:c(v)},null,8,["html"])]),_:1},8,["summary","copy-text","raw-data"]))}}),xs={key:0,class:"redacted-label"},_s=["innerHTML"],$s=S({__name:"ThinkingBlock",props:{text:{},redacted:{type:Boolean,default:!1}},setup(e){const s=e,{searchQuery:r}=ie(),o=h(()=>s.redacted?"[redacted]":s.text.length>60?s.text.slice(0,60)+"...":s.text),{displayHtml:v}=ke(()=>s.text,r),n=h(()=>s.redacted?"<em>[Thinking content redacted]</em>":v.value);return(u,w)=>(a(),M(le,{label:"THINKING","label-color":"purple",summary:o.value,"copy-text":e.redacted?void 0:e.text,"raw-data":e.redacted?void 0:{type:"thinking",thinking:e.text},"raw-title":"Raw — thinking",class:N({redacted:e.redacted})},{"header-extra":k(()=>[e.redacted?(a(),l("span",xs,"REDACTED")):f("",!0)]),default:k(()=>[t("pre",{class:"thinking-text",innerHTML:n.value},null,8,_s)]),_:1},8,["summary","copy-text","raw-data","class"]))}}),Ce=I($s,[["__scopeId","data-v-84d8cc02"]]),Rs=["id"],Ts={key:0,class:"result-tool-name"},Ms={class:"result-tool-id"},Cs={key:1,class:"result-error-badge"},Ss={key:0,class:"result-tool-name"},Is={class:"result-tool-id"},Bs={key:1,class:"result-error-badge"},Vs={key:0,class:"tool-jump"},Ds=S({__name:"ToolResultBlock",props:{block:{},toolName:{},embedded:{type:Boolean}},setup(e){const s=e,{searchQuery:r,aggregateTools:o,scrollToCall:v}=ie(),n=h(()=>o.value&&!s.embedded),u=h(()=>s.block.is_error===!0),w=h(()=>{const T=s.block.content;return typeof T=="string"?T:Array.isArray(T)?fe(T):""}),p=h(()=>s.toolName||"for "+s.block.tool_use_id.slice(0,8)),{displayHtml:x}=ke(w,r);return(T,d)=>(a(),l(P,null,[J(t("div",{class:"aggregated-stub",id:n.value?"tool-result-"+e.block.tool_use_id:void 0},[t("span",{class:N(["stub-label",u.value?"label-error":"label-success"])},"TOOL RESULT",2),e.toolName?(a(),l("span",Ts,i(e.toolName),1)):f("",!0),t("span",Ms,i(e.block.tool_use_id),1),u.value?(a(),l("span",Cs,"ERROR")):f("",!0),t("a",{class:"jump-link",onClick:d[0]||(d[0]=G(m=>c(v)(e.block.tool_use_id),["prevent"]))}," ← Jump to call ")],8,Rs),[[W,n.value]]),J(g(le,{label:"TOOL RESULT","label-color":u.value?"error":"success",summary:p.value,"block-id":"tool-result-"+e.block.tool_use_id,"copy-text":w.value,"raw-data":e.block,"raw-title":"Raw — tool_result"+(e.toolName?": "+e.toolName:"")},{"header-extra":k(()=>[e.toolName?(a(),l("span",Ss,i(e.toolName),1)):f("",!0),t("span",Is,"for "+i(e.block.tool_use_id),1),u.value?(a(),l("span",Bs,"ERROR")):f("",!0)]),default:k(()=>[g(ce,{html:c(x)},null,8,["html"]),e.embedded?f("",!0):(a(),l("div",Vs,[t("a",{class:"jump-link",onClick:d[1]||(d[1]=G(m=>c(v)(e.block.tool_use_id),["prevent"]))}," ← Jump to call ")]))]),_:1},8,["label-color","summary","block-id","copy-text","raw-data","raw-title"]),[[W,!n.value]])],64))}}),Pe=I(Ds,[["__scopeId","data-v-105a24c0"]]),qs={class:"tool-name"},Os={class:"tool-id"},Es={key:1,class:"tool-input"},zs={class:"tool-aggregate-result"},Ns={class:"tool-jump"},Ls=S({__name:"ToolUseBlock",props:{block:{}},setup(e){const s=e,{aggregateTools:r,toolResultMap:o,scrollToResult:v}=ie(),n=h(()=>{try{return JSON.stringify(s.block.input,null,2)}catch{return String(s.block.input)}}),u=h(()=>s.block.input!==null&&typeof s.block.input=="object"),w=h(()=>o.value?o.value[s.block.id]??null:null),p=h(()=>!!w.value);return(x,T)=>(a(),M(le,{label:"TOOL USE","label-color":"cyan",summary:e.block.name,"block-id":"tool-use-"+e.block.id,"copy-text":n.value,"raw-data":e.block,"raw-title":"Raw — tool_use: "+e.block.name},{"header-extra":k(()=>[t("span",qs,i(e.block.name),1),t("span",Os,i(e.block.id),1)]),default:k(()=>[u.value?(a(),M(c(re),{key:0,data:e.block.input,deep:3,"show-icon":!0,"show-line-number":!0,"collapsed-on-click-brackets":!0},null,8,["data"])):(a(),l("pre",Es,i(n.value),1)),p.value?(a(),l(P,{key:2},[J(t("div",zs,[g(Pe,{block:w.value,"tool-name":e.block.name,embedded:!0},null,8,["block","tool-name"])],512),[[W,c(r)]]),J(t("div",Ns,[t("a",{class:"jump-link",onClick:T[0]||(T[0]=G(d=>c(v)(e.block.id),["prevent"]))}," → Jump to result ")],512),[[W,!c(r)]])],64)):f("",!0)]),_:1},8,["summary","block-id","copy-text","raw-data","raw-title"]))}}),Hs=I(Ls,[["__scopeId","data-v-7674f48c"]]),As={class:"content-renderer"},js=S({__name:"ContentRenderer",props:{content:{},message:{}},setup(e){const s=e,{filterType:r,toolUseNameMap:o}=ie(),v=h(()=>s.message?jt(s.message):typeof s.content=="string"?[{type:"text",text:s.content}]:Array.isArray(s.content)?s.content:[]),n=h(()=>{let u=v.value;return r.value&&(u=u.filter(w=>w.type===r.value)),u});return(u,w)=>(a(),l("div",As,[(a(!0),l(P,null,F(n.value,(p,x)=>(a(),M(ae,{key:x,label:p.type+" block"},{default:k(()=>[c(He)(p)?(a(),M(ks,{key:0,text:p.text},null,8,["text"])):c(Lt)(p)?(a(),M(Ce,{key:1,text:p.thinking},null,8,["text"])):c(Ht)(p)?(a(),M(Ce,{key:2,text:"",redacted:!0})):c(At)(p)&&p.source.type==="base64"?(a(),M(ys,{key:3,"media-type":p.source.media_type,data:p.source.data},null,8,["media-type","data"])):c(Ae)(p)?(a(),M(Hs,{key:4,block:p},null,8,["block"])):c(je)(p)?(a(),M(Pe,{key:5,block:p,"tool-name":c(o)[p.tool_use_id]},null,8,["block","tool-name"])):(a(),M(ms,{key:6,block:p},null,8,["block"]))]),_:2},1032,["label"]))),128))]))}}),Ps=I(js,[["__scopeId","data-v-c35b62d3"]]),Us=["innerHTML"],Fs=S({__name:"DiffView",props:{oldText:{},newText:{},outputFormat:{default:"side-by-side"}},setup(e){const s=e,r=h(()=>{try{const o=rt("original","rewritten",s.oldText,s.newText);return ut(o,{outputFormat:s.outputFormat,drawFileList:!1,matching:"lines"})}catch{return"<pre>Diff generation failed</pre>"}});return(o,v)=>(a(),l("div",{class:"diff-view",innerHTML:r.value},null,8,Us))}}),Ue=I(Fs,[["__scopeId","data-v-31c3c1bb"]]),Js=["data-msg-index"],Ws={class:"msg-header-left"},Qs={class:"collapse-icon"},Gs={class:"msg-index"},Ks=["title"],Ys={class:"msg-header-right"},Xs=["title"],Zs=S({__name:"MessageBlock",props:{message:{},index:{},isTruncated:{type:Boolean,default:!1},isRewritten:{type:Boolean,default:!1},rewrittenMessage:{},globalViewMode:{}},setup(e){const s=e,r=z(!1),o=z(!1),v=z(!1),n=z(),{openRawModal:u}=de(),w=Le(),p=z(null),x=h(()=>p.value?p.value:s.globalViewMode&&s.isRewritten&&s.rewrittenMessage?s.globalViewMode:"original"),T=h(()=>p.value!==null);function d(E){p.value=E}function m(){p.value=null}const C=h(()=>{switch(s.message.role){case"user":return"primary";case"assistant":return"success";case"system":return"purple";case"tool":return"cyan";default:return"default"}}),O=h(()=>{const E=s.message.content;if(typeof E=="string")return E.length>80?E.slice(0,80)+"...":E;if(!Array.isArray(E)||E.length===0)return"";const B=E[0];if(E.length===1&&He(B)){const y=B.text;return y.length>80?y.slice(0,80)+"...":y}const V={};for(const y of E)V[y.type]=(V[y.type]||0)+1;return Object.entries(V).map(([y,b])=>`${b} ${y}`).join(", ")}),L=h(()=>fe(s.message.content)),j=h(()=>s.rewrittenMessage?fe(s.rewrittenMessage.content):""),Q=h(()=>x.value==="rewritten"&&s.rewrittenMessage?s.rewrittenMessage.content??"":s.message.content??""),Y=h(()=>x.value==="rewritten"&&s.rewrittenMessage?s.rewrittenMessage:s.message);function U(){n.value&&!o.value&&(v.value=n.value.scrollHeight>n.value.clientHeight+10)}function X(E){E.stopPropagation(),o.value=!o.value,o.value||ne(U)}function K(E){E.stopPropagation(),u(s.message,`Raw — ${s.message.role} #${s.index+1}`,s.isRewritten?s.rewrittenMessage:void 0)}return De(()=>{ne(()=>{U(),n.value&&w.observe(n.value,U)})}),he(()=>{n.value&&w.unobserve(n.value)}),ue(()=>s.message,()=>{o.value=!1,ne(U)}),(E,B)=>(a(),l("div",{class:N(["message-block",{truncated:e.isTruncated,collapsed:r.value,"is-rewritten":e.isRewritten}]),"data-msg-index":e.index},[t("div",{class:"msg-header",onClick:B[7]||(B[7]=V=>r.value=!r.value)},[t("div",Ws,[t("span",Qs,i(r.value?"▸":"▾"),1),g(te,{color:C.value},{default:k(()=>[D(i(e.message.role),1)]),_:1},8,["color"]),t("span",Gs,"#"+i(e.index+1),1),e.isRewritten?(a(),M(te,{key:0,color:"warning"},{default:k(()=>[...B[8]||(B[8]=[D("rewritten",-1)])]),_:1})):f("",!0),e.isTruncated?(a(),M(te,{key:1,color:"error"},{default:k(()=>[...B[9]||(B[9]=[D("truncated",-1)])]),_:1})):f("",!0),r.value&&O.value?(a(),l("span",{key:2,class:"collapsed-summary",title:O.value},i(O.value),9,Ks)):f("",!0)]),t("div",Ys,[e.isRewritten&&e.rewrittenMessage?(a(),l("div",{key:0,class:"view-toggle",onClick:B[4]||(B[4]=G(()=>{},["stop"]))},[t("button",{class:N({active:x.value==="original"}),onClick:B[0]||(B[0]=V=>d("original"))}," Original ",2),t("button",{class:N({active:x.value==="rewritten"}),onClick:B[1]||(B[1]=V=>d("rewritten"))}," Rewritten ",2),t("button",{class:N({active:x.value==="diff"}),onClick:B[2]||(B[2]=V=>d("diff"))}," Diff ",2),T.value?(a(),l("button",{key:0,class:"reset-btn",title:"Reset to global view mode",onClick:B[3]||(B[3]=V=>m())}," × ")):f("",!0)])):f("",!0),t("button",{class:"action-btn",title:"View raw JSON",onClick:B[5]||(B[5]=V=>K(V))},[g(A,{name:"code",size:10}),B[10]||(B[10]=D(" Raw ",-1))]),v.value&&!r.value?(a(),l("button",{key:1,class:"action-btn",onClick:B[6]||(B[6]=V=>X(V)),title:o.value?"Collapse content":"Show full content"},[g(A,{name:o.value?"contract":"expand",size:10},null,8,["name"]),D(" "+i(o.value?"Collapse":"Expand"),1)],8,Xs)):f("",!0)])]),J(t("div",{ref_key:"bodyRef",ref:n,class:N(["msg-body",{"body-limited":v.value&&!o.value}])},[x.value==="diff"&&e.isRewritten?(a(),M(Ue,{key:0,"old-text":L.value,"new-text":j.value},null,8,["old-text","new-text"])):(a(),M(Ps,{key:1,content:Q.value,message:Y.value},null,8,["content","message"]))],2),[[W,!r.value]])],10,Js))}}),Fe=I(Zs,[["__scopeId","data-v-fd342a4e"]]),ea={class:"system-header-left"},ta={class:"collapse-icon"},sa=["title"],aa={class:"system-header-right"},na={key:0,class:"cache-label"},oa=S({__name:"SystemMessage",props:{system:{},rewrittenSystem:{},searchQuery:{},globalViewMode:{}},setup(e){const s=e,{highlightSearch:r,escapeHtml:o}=oe(),{copy:v}=we(),{openRawModal:n}=de(),u=z(!1),w=z(!1),p=z(null),x=h(()=>p.value?p.value:s.globalViewMode&&j.value?s.globalViewMode:"original"),T=h(()=>p.value!==null);function d(V){p.value=V}function m(){p.value=null}function C(V){return typeof V=="string"?V:Array.isArray(V)?V.map(y=>y.text).join(`
3
+ `):""}const O=h(()=>C(s.system)),L=h(()=>s.rewrittenSystem?C(s.rewrittenSystem):""),j=h(()=>!!s.rewrittenSystem),Q=h(()=>x.value==="rewritten"&&j.value?L.value:O.value),Y=h(()=>s.searchQuery?r(Q.value,s.searchQuery):o(Q.value)),U=h(()=>{const V=O.value;return V.length>80?V.slice(0,80)+"...":V}),X=h(()=>typeof s.system=="string"?[{type:"text",text:s.system}]:s.system),K=h(()=>typeof s.system=="string"?!1:s.system.some(V=>V.cache_control)),E=h(()=>({system:s.system})),B=h(()=>s.rewrittenSystem?{system:s.rewrittenSystem}:null);return(V,y)=>(a(),l("div",{class:N(["system-message",{collapsed:u.value}])},[t("div",{class:"system-header",onClick:y[9]||(y[9]=b=>u.value=!u.value)},[t("div",ea,[t("span",ta,i(u.value?"▸":"▾"),1),g(te,{color:"purple"},{default:k(()=>[...y[10]||(y[10]=[D("system",-1)])]),_:1}),K.value?(a(),M(te,{key:0,color:"warning"},{default:k(()=>[...y[11]||(y[11]=[D("cached",-1)])]),_:1})):f("",!0),j.value?(a(),M(te,{key:1,color:"warning"},{default:k(()=>[...y[12]||(y[12]=[D("rewritten",-1)])]),_:1})):f("",!0),u.value?(a(),l("span",{key:2,class:"collapsed-summary",title:U.value},i(U.value),9,sa)):f("",!0)]),t("div",aa,[j.value&&!u.value?(a(),l("div",{key:0,class:"view-toggle",onClick:y[4]||(y[4]=G(()=>{},["stop"]))},[t("button",{class:N({active:x.value==="original"}),onClick:y[0]||(y[0]=b=>d("original"))}," Original ",2),t("button",{class:N({active:x.value==="rewritten"}),onClick:y[1]||(y[1]=b=>d("rewritten"))}," Rewritten ",2),t("button",{class:N({active:x.value==="diff"}),onClick:y[2]||(y[2]=b=>d("diff"))}," Diff ",2),T.value?(a(),l("button",{key:0,class:"reset-btn",title:"Reset to global view mode",onClick:y[3]||(y[3]=b=>m())}," × ")):f("",!0)])):f("",!0),u.value?f("",!0):J((a(),l("button",{key:1,class:"action-btn",onClick:y[5]||(y[5]=G(b=>w.value=!w.value,["stop"]))},[g(A,{name:"expand",size:10}),y[13]||(y[13]=D(" Expand ",-1))],512)),[[W,!w.value]]),!u.value&&w.value?(a(),l("button",{key:2,class:"action-btn",onClick:y[6]||(y[6]=G(b=>w.value=!1,["stop"]))},[g(A,{name:"contract",size:10}),y[14]||(y[14]=D(" Collapse ",-1))])):f("",!0),t("button",{class:"action-btn",title:"Copy",onClick:y[7]||(y[7]=G(b=>c(v)(Q.value),["stop"]))},[g(A,{name:"copy",size:10}),y[15]||(y[15]=D(" Copy ",-1))]),t("button",{class:"action-btn",title:"View raw JSON",onClick:y[8]||(y[8]=G(b=>c(n)(E.value,"Raw — system",B.value),["stop"]))},[g(A,{name:"code",size:10}),y[16]||(y[16]=D(" Raw ",-1))])])]),J(t("div",{class:N(["system-body",{"body-expanded":w.value}])},[x.value==="diff"&&j.value?(a(),M(Ue,{key:0,"old-text":O.value,"new-text":L.value},null,8,["old-text","new-text"])):x.value==="original"&&typeof e.system!="string"?(a(!0),l(P,{key:1},F(X.value,(b,q)=>(a(),l("div",{key:q,class:"system-block-item"},[b.cache_control?(a(),l("div",na," [cache: "+i(b.cache_control.type)+"] ",1)):f("",!0),g(ce,{html:e.searchQuery?c(r)(b.text,e.searchQuery):c(o)(b.text)},null,8,["html"])]))),128)):(a(),M(ce,{key:2,html:Y.value},null,8,["html"]))],2),[[W,!u.value]])],2))}}),la=I(oa,[["__scopeId","data-v-fcb8e0ef"]]),ia=["data-testid"],ra={class:"section-title"},ua={key:0,class:"section-badge"},ca=["data-testid"],da={class:"section-body"},ma=S({__name:"SectionBlock",props:{title:{},defaultCollapsed:{type:Boolean},badge:{},rawData:{},rewrittenRawData:{},rawTitle:{default:"Raw"}},setup(e){const s=e,{openRawModal:r}=de(),o=z(s.defaultCollapsed??!1),v=h(()=>s.title.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""));function n(){o.value=!o.value}function u(w){w.stopPropagation(),s.rawData!==void 0&&r(s.rawData,s.rawTitle,s.rewrittenRawData)}return(w,p)=>(a(),l("div",{class:N(["section-block",{collapsed:o.value}]),"data-testid":`section-block-${v.value}`},[t("div",{class:"section-header",onClick:n},[g(A,{name:o.value?"chevron-right":"chevron-down",size:12,class:"section-chevron"},null,8,["name"]),t("span",ra,i(e.title),1),e.badge?(a(),l("span",ua,i(e.badge),1)):f("",!0),e.rawData!==void 0?(a(),l("button",{key:1,class:"section-raw-btn",title:"View raw JSON","data-testid":`section-raw-${v.value}`,onClick:u},[g(A,{name:"code",size:10}),p[0]||(p[0]=D(" Raw ",-1))],8,ca)):f("",!0)]),J(t("div",da,[se(w.$slots,"default",{},void 0,!0)],512),[[W,!o.value]])],10,ia))}}),ee=I(ma,[["__scopeId","data-v-889fa1be"]]),va={class:"truncation-divider"},pa={class:"divider-content"},fa={class:"divider-text"},ya={class:"divider-detail"},ga=S({__name:"TruncationDivider",props:{truncation:{}},setup(e){const{formatNumber:s,formatDuration:r}=oe();return(o,v)=>(a(),l("div",va,[v[1]||(v[1]=t("div",{class:"divider-line"},null,-1)),t("div",pa,[v[0]||(v[0]=t("span",{class:"divider-icon"},"✂",-1)),t("span",fa,i(e.truncation.removedMessageCount)+" messages truncated ",1),t("span",ya,i(c(s)(e.truncation.originalTokens))+" → "+i(c(s)(e.truncation.compactedTokens))+" tokens ("+i(c(r)(e.truncation.processingTimeMs))+") ",1)]),v[2]||(v[2]=t("div",{class:"divider-line"},null,-1))]))}}),ha=I(ga,[["__scopeId","data-v-6369e185"]]),wa={class:"messages-list"},ba=S({__name:"DetailRequestSection",props:{entry:{},requestBadge:{},rewrittenRequest:{},filteredMessages:{},truncationPoint:{},searchQuery:{},detailFilterType:{},detailViewMode:{},hasMatchingBlockType:{type:Function},isMessageTruncated:{type:Function},isMessageRewritten:{type:Function},getRewrittenMessage:{type:Function}},setup(e){return(s,r)=>(a(),M(ee,{title:"Request",badge:e.requestBadge,"raw-data":e.entry.request,"rewritten-raw-data":e.rewrittenRequest,"raw-title":"Request"},{default:k(()=>[g(ae,{label:"System prompt"},{default:k(()=>[e.entry.request.system?(a(),M(la,{key:0,system:e.entry.request.system,"rewritten-system":e.entry.effectiveRequest?.system,"search-query":e.searchQuery,"global-view-mode":e.detailViewMode},null,8,["system","rewritten-system","search-query","global-view-mode"])):f("",!0)]),_:1}),t("div",wa,[(a(!0),l(P,null,F(e.filteredMessages,o=>(a(),l(P,{key:o.originalIndex},[e.entry.pipelineInfo?.truncation&&o.originalIndex===e.truncationPoint?(a(),M(ha,{key:0,truncation:e.entry.pipelineInfo.truncation},null,8,["truncation"])):f("",!0),g(ae,{label:"Message #"+o.originalIndex},{default:k(()=>[J(g(Fe,{message:o.msg,index:o.originalIndex,"is-truncated":e.isMessageTruncated(o.originalIndex),"is-rewritten":e.isMessageRewritten(o.originalIndex),"rewritten-message":e.getRewrittenMessage(o.originalIndex),"global-view-mode":e.detailViewMode},null,8,["message","index","is-truncated","is-rewritten","rewritten-message","global-view-mode"]),[[W,!e.detailFilterType||e.hasMatchingBlockType(o.msg,e.detailFilterType)]])]),_:2},1032,["label"])],64))),128))])]),_:1},8,["badge","raw-data","rewritten-raw-data"]))}}),ka=I(ba,[["__scopeId","data-v-0135c89e"]]),xa={key:0,class:"response-error"},_a={class:"error-text"},$a=S({__name:"DetailResponseSection",props:{entry:{},responseMessage:{}},setup(e){return(s,r)=>e.responseMessage||e.entry.response?.error?(a(),M(ee,{key:0,title:"Response",badge:e.responseMessage?"1 message":"","raw-data":e.entry.response,"raw-title":"Response"},{default:k(()=>[e.entry.response?.error?(a(),l("div",xa,[r[0]||(r[0]=t("span",{class:"error-label"},"Error",-1)),t("span",_a,i(e.entry.response.error),1)])):f("",!0),g(ae,{label:"Response message"},{default:k(()=>[e.responseMessage?(a(),M(Fe,{key:0,message:e.responseMessage,index:0},null,8,["message"])):f("",!0)]),_:1})]),_:1},8,["badge","raw-data"])):f("",!0)}}),Ra=I($a,[["__scopeId","data-v-a0c2b781"]]),Ta=["disabled"],Ma={key:0,class:"spinner"},Ca=S({__name:"BaseButton",props:{variant:{default:"default"},size:{default:"sm"},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:["click"],setup(e){return(s,r)=>(a(),l("button",{class:N(["base-btn",["btn-"+e.variant,"btn-size-"+e.size,{"btn-loading":e.loading}]]),disabled:e.disabled||e.loading,onClick:r[0]||(r[0]=o=>s.$emit("click",o))},[e.loading?(a(),l("span",Ma)):f("",!0),se(s.$slots,"default",{},void 0,!0)],10,Ta))}}),Sa=I(Ca,[["__scopeId","data-v-f78a7ee5"]]),Ia={class:"base-checkbox"},Ba=["checked"],Va={key:0,class:"checkbox-label"},Da=S({__name:"BaseCheckbox",props:{modelValue:{type:Boolean},label:{}},emits:["update:modelValue"],setup(e){return(s,r)=>(a(),l("label",Ia,[t("input",{type:"checkbox",checked:e.modelValue,onChange:r[0]||(r[0]=o=>s.$emit("update:modelValue",o.target.checked))},null,40,Ba),e.label?(a(),l("span",Va,i(e.label),1)):f("",!0)]))}}),Se=I(Da,[["__scopeId","data-v-5aabf3fa"]]),qa=["value","placeholder"],Oa=S({__name:"BaseInput",props:{modelValue:{},placeholder:{},icon:{}},emits:["update:modelValue"],setup(e,{expose:s}){const r=z();function o(){r.value?.focus()}return s({focus:o}),(v,n)=>(a(),l("div",{class:N(["base-input",{"has-icon":e.icon}])},[e.icon?(a(),M(A,{key:0,name:e.icon,size:13,class:"input-icon"},null,8,["name"])):f("",!0),t("input",{ref_key:"inputRef",ref:r,type:"text",value:e.modelValue,placeholder:e.placeholder,onInput:n[0]||(n[0]=u=>v.$emit("update:modelValue",u.target.value))},null,40,qa)],2))}}),Ea=I(Oa,[["__scopeId","data-v-ac901b0e"]]),za=["value"],Na={key:0,value:""},La=["value"],Ha=S({__name:"BaseSelect",props:{modelValue:{},options:{},placeholder:{}},emits:["update:modelValue"],setup(e){return(s,r)=>(a(),l("select",{class:"base-select",value:e.modelValue??"",onChange:r[0]||(r[0]=o=>s.$emit("update:modelValue",o.target.value||null))},[e.placeholder?(a(),l("option",Na,i(e.placeholder),1)):f("",!0),(a(!0),l(P,null,F(e.options,o=>(a(),l("option",{key:o.value,value:o.value},i(o.label),9,La))),128))],40,za))}}),pe=I(Ha,[["__scopeId","data-v-4c7423ca"]]),Aa={class:"detail-toolbar"},ja={class:"toolbar-row"},Pa={key:0,class:"toolbar-row rewrite-row"},Ua={class:"rewrite-stats"},Fa={key:0,class:"rewrite-stat"},Ja={key:1,class:"rewrite-stat"},Wa={key:2,class:"rewrite-stat rewrite-stat-truncated"},Qa={class:"rewrite-controls"},Ga={key:0,class:"rewrite-nav"},Ka={class:"nav-label"},Ya=S({__name:"DetailToolbar",props:{hasRewrites:{type:Boolean},rewriteSummary:{},rewrittenIndexList:{}},emits:["export"],setup(e){const s=be(),r=e,o=[{value:"system",label:"System"},{value:"user",label:"User"},{value:"assistant",label:"Assistant"},{value:"tool",label:"Tool"}],v=[{value:"text",label:"Text"},{value:"tool_use",label:"Tool Use"},{value:"tool_result",label:"Tool Result"},{value:"thinking",label:"Thinking"},{value:"image",label:"Image"}],n=[{value:"original",label:"All Original"},{value:"rewritten",label:"All Rewritten"},{value:"diff",label:"All Diff"}],u=z(-1);function w(T){s.detailViewMode.value=T}function p(T){const d=document.querySelector(`[data-msg-index="${T}"]`);d&&(d.scrollIntoView({behavior:"smooth",block:"center"}),d.classList.remove("highlight-flash"),d.offsetWidth,d.classList.add("highlight-flash"))}function x(T){const d=r.rewrittenIndexList;d.length!==0&&(T==="next"?u.value=u.value<d.length-1?u.value+1:0:u.value=u.value>0?u.value-1:d.length-1,p(d[u.value]))}return(T,d)=>(a(),l("div",Aa,[g(Ea,{"model-value":c(s).detailSearch.value,placeholder:"Search in messages...",icon:"search","onUpdate:modelValue":d[0]||(d[0]=m=>c(s).detailSearch.value=m)},null,8,["model-value"]),t("div",ja,[g(pe,{"model-value":c(s).detailFilterRole.value||null,options:o,placeholder:"Role","onUpdate:modelValue":d[1]||(d[1]=m=>c(s).detailFilterRole.value=m??"")},null,8,["model-value"]),g(pe,{"model-value":c(s).detailFilterType.value||null,options:v,placeholder:"Type","onUpdate:modelValue":d[2]||(d[2]=m=>c(s).detailFilterType.value=m??"")},null,8,["model-value"]),g(Se,{"model-value":c(s).aggregateTools.value,label:"Aggregate Tools","onUpdate:modelValue":d[3]||(d[3]=m=>c(s).aggregateTools.value=m)},null,8,["model-value"]),g(Sa,{variant:"ghost",onClick:d[4]||(d[4]=m=>T.$emit("export"))},{default:k(()=>[g(A,{name:"download",size:13}),d[9]||(d[9]=D(" Export ",-1))]),_:1})]),e.hasRewrites?(a(),l("div",Pa,[t("div",Ua,[d[10]||(d[10]=t("span",{class:"rewrite-label"},"Rewrites:",-1)),e.rewriteSummary.msgCount>0?(a(),l("span",Fa,i(e.rewriteSummary.msgCount)+" msg"+i(e.rewriteSummary.msgCount>1?"s":""),1)):f("",!0),e.rewriteSummary.sysRewritten?(a(),l("span",Ja,"system")):f("",!0),e.rewriteSummary.truncated?(a(),l("span",Wa,i(e.rewriteSummary.truncatedCount)+" truncated ",1)):f("",!0)]),t("div",Qa,[g(pe,{"model-value":c(s).detailViewMode.value,options:n,placeholder:"Per-message","onUpdate:modelValue":d[5]||(d[5]=m=>w(m))},null,8,["model-value"]),g(Se,{"model-value":c(s).showOnlyRewritten.value,label:"Only Rewritten","onUpdate:modelValue":d[6]||(d[6]=m=>c(s).showOnlyRewritten.value=m)},null,8,["model-value"]),e.rewriteSummary.msgCount>0?(a(),l("div",Ga,[t("button",{class:"nav-btn",title:"Previous rewritten message",onClick:d[7]||(d[7]=m=>x("prev"))},[g(A,{name:"chevron-up",size:10})]),t("span",Ka,i(u.value>=0?u.value+1:"–")+"/"+i(e.rewrittenIndexList.length),1),t("button",{class:"nav-btn",title:"Next rewritten message",onClick:d[8]||(d[8]=m=>x("next"))},[g(A,{name:"chevron-down",size:10})])])):f("",!0)])])):f("",!0)]))}}),Xa=I(Ya,[["__scopeId","data-v-72108973"]]),Za={class:"headers-section"},en={class:"toggle-icon"},tn={class:"header-count"},sn={key:0,class:"headers-grid"},an={class:"header-name"},nn={class:"header-value"},on=S({__name:"HeadersSection",props:{headers:{},title:{}},setup(e){const s=z(!0);return(r,o)=>(a(),l("div",Za,[t("button",{class:"headers-toggle",onClick:o[0]||(o[0]=v=>s.value=!s.value)},[t("span",en,i(s.value?"+":"-"),1),D(" "+i(e.title)+" ",1),t("span",tn,"("+i(Object.keys(e.headers).length)+")",1)]),s.value?f("",!0):(a(),l("div",sn,[(a(!0),l(P,null,F(e.headers,(v,n)=>(a(),l("div",{key:String(n),class:"header-row"},[t("span",an,i(n),1),t("span",nn,i(v),1)]))),128))]))]))}}),Ie=I(on,[["__scopeId","data-v-541b6987"]]),ln={class:"meta-grid"},rn={class:"meta-row"},un={class:"meta-value mono"},cn={key:0,class:"meta-row"},dn={class:"meta-value mono"},mn={class:"meta-row"},vn={class:"meta-value"},pn={key:1,class:"meta-row"},fn={class:"meta-value mono"},yn={class:"meta-row"},gn={class:"meta-value"},hn={class:"meta-row"},wn={class:"meta-value"},bn={class:"meta-row"},kn={class:"meta-value"},xn={key:2,class:"meta-row"},_n={class:"meta-row"},$n={class:"meta-value"},Rn={key:3,class:"meta-row"},Tn={class:"meta-value"},Mn={key:4,class:"meta-row"},Cn={class:"meta-value mono"},Sn={key:5,class:"meta-row"},In={class:"meta-value"},Bn={key:6,class:"meta-row"},Vn={class:"meta-value"},Dn={key:7,class:"meta-row"},qn={class:"meta-value"},On={key:8,class:"meta-row"},En={class:"meta-value"},zn={key:9,class:"meta-row"},Nn={class:"meta-value"},Ln={key:10,class:"meta-row"},Hn={class:"meta-value"},An={key:11,class:"meta-row"},jn={class:"meta-value"},Pn={key:12,class:"meta-section"},Un={class:"meta-row"},Fn={class:"meta-value mono"},Jn={class:"meta-row"},Wn={class:"meta-value mono"},Qn={key:0,class:"meta-row"},Gn={class:"meta-value mono"},Kn={key:1,class:"meta-row"},Yn={class:"meta-value mono"},Xn={key:13,class:"meta-row meta-error"},Zn={class:"meta-value error-text"},eo={key:14,class:"meta-section"},to={class:"raw-body"},so={key:15,class:"meta-section"},ao={class:"meta-label meta-label--code"},no={class:"meta-value warning-text"},oo={key:16,class:"meta-row"},lo={class:"meta-value"},io={key:17,class:"meta-section"},ro={class:"meta-row"},uo={class:"meta-value"},co={class:"meta-row"},mo={class:"meta-value mono"},vo={key:18,class:"meta-section"},po={key:0,class:"meta-row"},fo={class:"meta-value"},yo={key:1,class:"meta-row"},go={class:"meta-value"},ho={key:19,class:"meta-section"},wo={key:0,class:"meta-row"},bo={class:"meta-label meta-label--attempt"},ko={key:1,class:"meta-row"},xo={class:"meta-value"},_o={key:2,class:"meta-row"},$o={class:"meta-value"},Ro={key:3,class:"meta-row"},To={class:"meta-value"},Mo={key:4,class:"meta-row"},Co={class:"meta-value"},So={key:5,class:"meta-row"},Io={class:"meta-value"},Bo=S({__name:"MetaInfo",props:{entry:{}},setup(e){const{formatNumber:s,formatDuration:r,formatDate:o}=oe();return(v,n)=>(a(),l("div",ln,[t("div",rn,[n[0]||(n[0]=t("span",{class:"meta-label"},"Request Id",-1)),t("span",un,i(e.entry.id),1)]),e.entry.sessionId?(a(),l("div",cn,[n[1]||(n[1]=t("span",{class:"meta-label"},"Session Id",-1)),t("span",dn,i(e.entry.sessionId),1)])):f("",!0),t("div",mn,[n[2]||(n[2]=t("span",{class:"meta-label"},"Time",-1)),t("span",vn,i(c(o)(e.entry.startedAt)),1)]),e.entry.rawPath?(a(),l("div",pn,[n[3]||(n[3]=t("span",{class:"meta-label"},"Path",-1)),t("span",fn,i(e.entry.rawPath),1)])):f("",!0),t("div",yn,[n[4]||(n[4]=t("span",{class:"meta-label"},"State",-1)),t("span",gn,i(e.entry.state??"pending"),1)]),t("div",hn,[n[5]||(n[5]=t("span",{class:"meta-label"},"Model",-1)),t("span",wn,i(e.entry.response?.model||e.entry.request.model||"-"),1)]),t("div",bn,[n[6]||(n[6]=t("span",{class:"meta-label"},"Endpoint",-1)),t("span",kn,[g(te,{color:e.entry.endpoint==="anthropic-messages"?"purple":e.entry.endpoint==="openai-responses"?"green":"cyan"},{default:k(()=>[D(i(e.entry.endpoint),1)]),_:1},8,["color"])])]),e.entry.response?.status?(a(),l("div",xn,[n[7]||(n[7]=t("span",{class:"meta-label"},"HTTP Status",-1)),t("span",{class:N(["meta-value",{"text-error":e.entry.response.status>=400,"text-success":e.entry.response.status<300}])},i(e.entry.response.status),3)])):f("",!0),t("div",_n,[n[8]||(n[8]=t("span",{class:"meta-label"},"Stream",-1)),t("span",$n,i(e.entry.request.stream===!0?"Yes":"No"),1)]),e.entry.transport?(a(),l("div",Rn,[n[9]||(n[9]=t("span",{class:"meta-label"},"Transport",-1)),t("span",Tn,i(e.entry.transport),1)])):f("",!0),e.entry.attemptCount!==void 0?(a(),l("div",Mn,[n[10]||(n[10]=t("span",{class:"meta-label"},"Attempts",-1)),t("span",Cn,i(e.entry.attemptCount),1)])):f("",!0),e.entry.currentStrategy?(a(),l("div",Sn,[n[11]||(n[11]=t("span",{class:"meta-label"},"Strategy",-1)),t("span",In,i(e.entry.currentStrategy),1)])):f("",!0),e.entry.queueWaitMs!==void 0?(a(),l("div",Bn,[n[12]||(n[12]=t("span",{class:"meta-label"},"Queue Wait",-1)),t("span",Vn,i(c(r)(e.entry.queueWaitMs)),1)])):f("",!0),e.entry.request.max_tokens?(a(),l("div",Dn,[n[13]||(n[13]=t("span",{class:"meta-label"},"Max Tokens",-1)),t("span",qn,i(c(s)(e.entry.request.max_tokens)),1)])):f("",!0),e.entry.request.temperature!==void 0?(a(),l("div",On,[n[14]||(n[14]=t("span",{class:"meta-label"},"Temperature",-1)),t("span",En,i(e.entry.request.temperature),1)])):f("",!0),e.entry.durationMs?(a(),l("div",zn,[n[15]||(n[15]=t("span",{class:"meta-label"},"Duration",-1)),t("span",Nn,i(c(r)(e.entry.durationMs)),1)])):f("",!0),e.entry.response?.stop_reason?(a(),l("div",Ln,[n[16]||(n[16]=t("span",{class:"meta-label"},"Stop Reason",-1)),t("span",Hn,i(e.entry.response.stop_reason),1)])):f("",!0),e.entry.lastUpdatedAt?(a(),l("div",An,[n[17]||(n[17]=t("span",{class:"meta-label"},"Last Update",-1)),t("span",jn,i(c(o)(e.entry.lastUpdatedAt)),1)])):f("",!0),e.entry.response?.usage?(a(),l("div",Pn,[n[22]||(n[22]=t("div",{class:"meta-section-title"},"Token Usage",-1)),t("div",Un,[n[18]||(n[18]=t("span",{class:"meta-label"},"Input",-1)),t("span",Fn,i(c(s)(e.entry.response.usage.input_tokens)),1)]),t("div",Jn,[n[19]||(n[19]=t("span",{class:"meta-label"},"Output",-1)),t("span",Wn,i(c(s)(e.entry.response.usage.output_tokens)),1)]),e.entry.response?.usage?.cache_read_input_tokens?(a(),l("div",Qn,[n[20]||(n[20]=t("span",{class:"meta-label"},"Cache Read",-1)),t("span",Gn,i(c(s)(e.entry.response.usage.cache_read_input_tokens)),1)])):f("",!0),e.entry.response?.usage?.cache_creation_input_tokens?(a(),l("div",Kn,[n[21]||(n[21]=t("span",{class:"meta-label"},"Cache Create",-1)),t("span",Yn,i(c(s)(e.entry.response.usage.cache_creation_input_tokens)),1)])):f("",!0)])):f("",!0),e.entry.response?.error?(a(),l("div",Xn,[n[23]||(n[23]=t("span",{class:"meta-label"},"Error",-1)),t("span",Zn,i(e.entry.response.error),1)])):f("",!0),e.entry.response?.error&&e.entry.response?.rawBody?(a(),l("div",eo,[n[24]||(n[24]=t("div",{class:"meta-section-title"},"Raw Response Body",-1)),t("pre",to,i(e.entry.response.rawBody),1)])):f("",!0),e.entry.warningMessages?.length?(a(),l("div",so,[n[25]||(n[25]=t("div",{class:"meta-section-title"},"Warnings",-1)),(a(!0),l(P,null,F(e.entry.warningMessages,u=>(a(),l("div",{key:`${u.code}:${u.message}`,class:"meta-row"},[t("span",ao,i(u.code),1),t("span",no,i(u.message),1)]))),128))])):f("",!0),e.entry.request.tools?.length?(a(),l("div",oo,[n[26]||(n[26]=t("span",{class:"meta-label"},"Tools",-1)),t("span",lo,i(e.entry.request.tools.length)+" defined",1)])):f("",!0),e.entry.pipelineInfo?.truncation?(a(),l("div",io,[n[29]||(n[29]=t("div",{class:"meta-section-title"},"Truncation",-1)),t("div",ro,[n[27]||(n[27]=t("span",{class:"meta-label"},"Removed",-1)),t("span",uo,i(e.entry.pipelineInfo.truncation.removedMessageCount)+" messages",1)]),t("div",co,[n[28]||(n[28]=t("span",{class:"meta-label"},"Tokens",-1)),t("span",mo,i(c(s)(e.entry.pipelineInfo.truncation.originalTokens))+" -> "+i(c(s)(e.entry.pipelineInfo.truncation.compactedTokens)),1)])])):f("",!0),e.entry.pipelineInfo?.preprocessing&&(e.entry.pipelineInfo.preprocessing.strippedReadTagCount>0||e.entry.pipelineInfo.preprocessing.dedupedToolCallCount>0)?(a(),l("div",vo,[n[32]||(n[32]=t("div",{class:"meta-section-title"},"Preprocessing",-1)),e.entry.pipelineInfo.preprocessing.strippedReadTagCount?(a(),l("div",po,[n[30]||(n[30]=t("span",{class:"meta-label"},"Read tag strip",-1)),t("span",fo,i(e.entry.pipelineInfo.preprocessing.strippedReadTagCount)+" tags",1)])):f("",!0),e.entry.pipelineInfo.preprocessing.dedupedToolCallCount?(a(),l("div",yo,[n[31]||(n[31]=t("span",{class:"meta-label"},"Dedup tool calls",-1)),t("span",go,i(e.entry.pipelineInfo.preprocessing.dedupedToolCallCount)+" pairs",1)])):f("",!0)])):f("",!0),e.entry.pipelineInfo?.sanitization?.length?(a(),l("div",ho,[n[38]||(n[38]=t("div",{class:"meta-section-title"},"Sanitization",-1)),(a(!0),l(P,null,F(e.entry.pipelineInfo.sanitization,(u,w)=>(a(),l(P,{key:w},[e.entry.pipelineInfo.sanitization.length>1?(a(),l("div",wo,[t("span",bo,"Attempt "+i(w+1),1)])):f("",!0),u.totalBlocksRemoved?(a(),l("div",ko,[n[33]||(n[33]=t("span",{class:"meta-label"},"Blocks Removed",-1)),t("span",xo,i(u.totalBlocksRemoved)+" total",1)])):f("",!0),u.orphanedToolUseCount?(a(),l("div",_o,[n[34]||(n[34]=t("span",{class:"meta-label"},"Orphan tool_use",-1)),t("span",$o,i(u.orphanedToolUseCount),1)])):f("",!0),u.orphanedToolResultCount?(a(),l("div",Ro,[n[35]||(n[35]=t("span",{class:"meta-label"},"Orphan tool_result",-1)),t("span",To,i(u.orphanedToolResultCount),1)])):f("",!0),u.emptyTextBlocksRemoved?(a(),l("div",Mo,[n[36]||(n[36]=t("span",{class:"meta-label"},"Empty text",-1)),t("span",Co,i(u.emptyTextBlocksRemoved),1)])):f("",!0),u.systemReminderRemovals?(a(),l("div",So,[n[37]||(n[37]=t("span",{class:"meta-label"},"Reminders",-1)),t("span",Io,i(u.systemReminderRemovals)+" tags filtered",1)])):f("",!0)],64))),128))])):f("",!0)]))}}),Vo=I(Bo,[["__scopeId","data-v-a511ef63"]]),Do={class:"sse-timeline"},qo={class:"sse-offset"},Oo={key:0,class:"sse-summary"},Eo=S({__name:"SseEventsSection",props:{events:{}},setup(e){const s=e;function r(u){return u<1e3?`+${u}ms`:`+${(u/1e3).toFixed(1)}s`}function o(u){const w=u.data;switch(u.type){case"message_start":{const p=w.message;return p?.model?`model=${p.model}`:""}case"content_block_start":{const p=w.content_block,x=[`index=${w.index}`];return p?.type&&x.push(`type=${p.type}`),p?.name&&x.push(`name=${p.name}`),x.join(" ")}case"content_block_stop":return`index=${w.index}`;case"message_delta":{const p=w.delta,x=[];p?.stop_reason&&x.push(`stop=${p.stop_reason}`);const T=w.usage;return T?.output_tokens&&x.push(`out=${T.output_tokens}`),x.join(" ")}case"error":{const p=w.error;return p?.message?String(p.message).slice(0,80):""}default:return""}}function v(u){switch(u){case"message_start":return"green";case"message_delta":return"blue";case"message_stop":return"dim";case"content_block_start":return"cyan";case"content_block_stop":return"dim";case"error":return"red";default:return"default"}}const n=h(()=>`${s.events.length} events`);return(u,w)=>(a(),M(ee,{title:"SSE Events",badge:n.value,"default-collapsed":!0,"raw-data":e.events,"raw-title":"Raw — SSE Events"},{default:k(()=>[t("div",Do,[(a(!0),l(P,null,F(e.events,(p,x)=>(a(),l("div",{key:x,class:"sse-event"},[t("span",qo,i(r(p.offsetMs)),1),t("span",{class:N(["sse-type","sse-type-"+v(p.type)])},i(p.type),3),o(p)?(a(),l("span",Oo,i(o(p)),1)):f("",!0)]))),128))])]),_:1},8,["badge","raw-data"]))}}),zo=I(Eo,[["__scopeId","data-v-cd3358e8"]]),No={class:"detail-panel"},Lo={key:0,class:"detail-empty"},Ho=S({__name:"DetailPanel",setup(e){const s=be(),r=z(),o=h(()=>s.selectedEntry.value),{visible:v,data:n,rewrittenData:u,title:w}=zt();Nt();const{truncationPoint:p,hasRewrites:x,rewriteSummary:T,rewrittenIndexList:d,getRewrittenMessage:m,isMessageRewritten:C,isMessageTruncated:O}=Et(o),L=h(()=>{const y={},b={};if(!o.value)return{resultMap:y,nameMap:b};for(const q of o.value.request.messages??[]){if(Array.isArray(q.content))for(const H of q.content)je(H)&&(y[H.tool_use_id]=H),Ae(H)&&(b[H.id]=H.name);if(q.tool_calls)for(const H of q.tool_calls)b[H.id]=H.function.name;q.role==="tool"&&q.tool_call_id&&(y[q.tool_call_id]={type:"tool_result",tool_use_id:q.tool_call_id,content:typeof q.content=="string"?q.content:JSON.stringify(q.content)})}return{resultMap:y,nameMap:b}});Ot({searchQuery:h(()=>s.detailSearch.value),filterType:h(()=>s.detailFilterType.value),aggregateTools:h(()=>s.aggregateTools.value),toolResultMap:h(()=>L.value.resultMap),toolUseNameMap:h(()=>L.value.nameMap),scrollToResult:E,scrollToCall:B});const j=h(()=>{if(!o.value)return[];let b=(o.value.request.messages??[]).map((q,H)=>({msg:q,originalIndex:H}));return s.detailFilterRole.value&&(b=b.filter(({msg:q})=>q.role===s.detailFilterRole.value)),s.showOnlyRewritten.value&&(b=b.filter(({originalIndex:q})=>C(q))),b}),Q=h(()=>o.value?.response?.content?o.value.response.content:null),Y=h(()=>o.value?`${(o.value.request.messages??[]).length} messages`:""),U=h(()=>{if(!o.value?.effectiveRequest)return;const y=o.value.effectiveRequest;if(!(!y.messages&&!y.system))return{...o.value.request,...y.messages&&{messages:y.messages},...y.system!==void 0&&{system:y.system}}});function X(y,b){return typeof y.content=="string"?!!(b==="text"||b==="tool_use"&&y.tool_calls?.length):Array.isArray(y.content)?y.content.some(q=>q.type===b):!1}function K(y){y.classList.remove("highlight-flash"),y.offsetWidth,y.classList.add("highlight-flash")}function E(y){const b=document.querySelector(`#tool-result-${y}`);b&&(b.scrollIntoView({behavior:"smooth",block:"center"}),K(b))}function B(y){const b=document.querySelector(`#tool-use-${y}`);b&&(b.scrollIntoView({behavior:"smooth",block:"center"}),K(b))}ue(()=>s.detailSearch.value,y=>{y&&ne(()=>{setTimeout(()=>{const b=document.querySelector(".search-highlight");b&&b.scrollIntoView({behavior:"smooth",block:"center"})},50)})}),ue(o,y=>{y&&ne(()=>{r.value&&r.value.scrollTo(0,r.value.scrollHeight)})});function V(){if(!o.value)return;const y=JSON.stringify(o.value,null,2),b=new Blob([y],{type:"application/json"}),q=URL.createObjectURL(b),H=document.createElement("a");H.href=q;const me=o.value.request.model||"unknown";H.download=`${o.value.id}_${me}.json`,H.click(),URL.revokeObjectURL(q)}return(y,b)=>(a(),l("div",No,[c(s).hasSelection.value?o.value?(a(),l(P,{key:1},[g(Xa,{"has-rewrites":c(x),"rewrite-summary":c(T),"rewritten-index-list":c(d),onExport:V},null,8,["has-rewrites","rewrite-summary","rewritten-index-list"]),t("div",{ref_key:"detailBodyRef",ref:r,class:"detail-body"},[g(ka,{entry:o.value,"request-badge":Y.value,"rewritten-request":U.value,"filtered-messages":j.value,"truncation-point":c(p),"search-query":c(s).detailSearch.value,"detail-filter-type":c(s).detailFilterType.value,"detail-view-mode":c(s).detailViewMode.value,"has-matching-block-type":X,"is-message-truncated":c(O),"is-message-rewritten":c(C),"get-rewritten-message":c(m)},null,8,["entry","request-badge","rewritten-request","filtered-messages","truncation-point","search-query","detail-filter-type","detail-view-mode","is-message-truncated","is-message-rewritten","get-rewritten-message"]),g(Ra,{entry:o.value,"response-message":Q.value},null,8,["entry","response-message"]),g(ae,{label:"SSE events"},{default:k(()=>[o.value.sseEvents?.length?(a(),M(zo,{key:0,events:o.value.sseEvents},null,8,["events"])):f("",!0)]),_:1}),o.value.wireRequest?.headers?(a(),M(ee,{key:0,title:"Wire Request Headers","default-collapsed":""},{default:k(()=>[g(Ie,{headers:o.value.wireRequest.headers,title:"Outbound Headers"},null,8,["headers"])]),_:1})):f("",!0),o.value.response?.headers?(a(),M(ee,{key:1,title:"Response Headers","default-collapsed":""},{default:k(()=>[g(Ie,{headers:o.value.response.headers,title:"Upstream Response Headers"},null,8,["headers"])]),_:1})):f("",!0),o.value.attempts&&o.value.attempts.length>1?(a(),M(ee,{key:2,title:"Retry Timeline"},{default:k(()=>[g(ts,{attempts:o.value.attempts},null,8,["attempts"])]),_:1})):f("",!0),g(ee,{title:"Meta","raw-data":o.value,"raw-title":"Entry"},{default:k(()=>[g(ae,{label:"Meta info"},{default:k(()=>[g(Vo,{entry:o.value},null,8,["entry"])]),_:1})]),_:1},8,["raw-data"])],512)],64)):f("",!0):(a(),l("div",Lo,[...b[1]||(b[1]=[t("p",null,"Select a request to view details",-1),t("p",{class:"detail-hint"},"Use up/down or j/k to navigate, / to search",-1)])])),g(qt,{visible:c(v),title:c(w),data:c(n),"rewritten-data":c(u),"onUpdate:visible":b[0]||(b[0]=q=>v.value=q)},null,8,["visible","title","data","rewritten-data"])]))}}),Ao=I(Ho,[["__scopeId","data-v-b1fce834"]]),jo={class:"history-detail-surface","data-testid":"activity-detail-card"},Po={class:"detail-toolbar"},Uo={class:"detail-heading"},Fo={class:"detail-subtitle text-caption text-medium-emphasis"},Jo={class:"detail-actions"},Wo={key:0,class:"detail-state"},Qo={key:1,class:"detail-state"},Go={key:2,class:"detail-body"},Ko=S({__name:"HistoryDetailSurface",props:{title:{},loading:{type:Boolean},missingId:{default:null}},emits:["close"],setup(e,{emit:s}){const r=s;return(o,v)=>(a(),l("div",jo,[t("div",Po,[t("div",Uo,[v[1]||(v[1]=t("div",{class:"detail-title"},"Request",-1)),t("div",Fo,i(e.missingId?`Request ${e.missingId}`:e.title),1)]),t("div",Jo,[se(o.$slots,"actions",{},()=>[g(Z,{variant:"outlined",size:"small","prepend-icon":"mdi-close",onClick:v[0]||(v[0]=n=>r("close"))},{default:k(()=>[...v[2]||(v[2]=[D(" Close ",-1)])]),_:1})],!0)])]),e.loading?(a(),l("div",Wo,[g(qe,{indeterminate:"",color:"primary"})])):e.missingId?(a(),l("div",Qo,[...v[3]||(v[3]=[t("div",{class:"empty-title"},"Detail is not available yet.",-1),t("div",{class:"text-caption text-medium-emphasis"}," The request entry may still be initializing. Retry from Activity in a moment. ",-1)])])):(a(),l("div",Go,[g(ae,{label:"History detail"},{default:k(()=>[g(Ao)]),_:1})]))]))}}),Yo=I(Ko,[["__scopeId","data-v-1559586e"]]),Xo=S({__name:"VHistoryDetailDialog",props:{modelValue:{type:Boolean},title:{},loading:{type:Boolean},missingId:{}},emits:["update:modelValue"],setup(e,{emit:s}){const r=e,o=s,v=h({get:()=>r.modelValue,set:u=>o("update:modelValue",u)});function n(){v.value=!1}return(u,w)=>(a(),M(Oe,{modelValue:v.value,"onUpdate:modelValue":w[0]||(w[0]=p=>v.value=p),width:"calc(100vw - 24px)",transition:!1,"content-class":"history-detail-dialog"},{default:k(()=>[g(Yo,{title:e.title,loading:e.loading,"missing-id":e.missingId,onClose:n},null,8,["title","loading","missing-id"])]),_:1},8,["modelValue"]))}}),Zo=I(Xo,[["__scopeId","data-v-09d1883a"]]);function el(){const e=Ye(),s=Ke(),r=be(),o=z(!1),v=z(null),n=z(0),u=h(()=>{const m=e.params.id;return typeof m=="string"&&e.path.startsWith("/v/history/")?m:""}),w=h(()=>!!u.value),p=h(()=>{const m=r.selectedEntry.value;return m?.response?.model||m?.request.model||"Request"});async function x(m){const C=++n.value;if(!m){o.value=!1,v.value=null,r.clearSelection();return}if(r.selectedEntry.value?.id===m){o.value=!1,v.value=null;return}o.value=!0,v.value=null,r.clearSelection();try{if(await r.selectEntry(m),n.value!==C||u.value!==m)return;r.selectedEntry.value?.id!==m&&(v.value=m)}finally{n.value===C&&(o.value=!1)}}async function T(m){!m||u.value===m||await s.push(`/v/history/${m}`)}async function d(){u.value&&await s.push("/v/activity")}return ue(u,m=>{x(m)},{immediate:!0}),{detailRouteId:u,detailOpen:w,detailLoading:o,detailMissingId:v,detailTitle:p,openHistoryDetail:T,closeHistoryDetail:d}}const tl=st({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>["even","odd"].includes(e)},...lt(),...ot(),...nt(),...at()},"VTable"),Be=Xe()({name:"VTable",props:tl(),setup(e,{slots:s,emit:r}){const{themeClasses:o}=Ze(e),{densityClasses:v}=et(e);return tt(()=>g(e.tag,{class:N(["v-table",{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!s.top,"v-table--has-bottom":!!s.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped==="even","v-table--striped-odd":e.striped==="odd"},o.value,v.value,e.class]),style:Ve(e.style)},{default:()=>[s.top?.(),s.default?t("div",{class:"v-table__wrapper",style:{height:it(e.height)}},[t("table",null,[s.default()])]):s.wrapper?.(),s.bottom?.()]})),{}}}),sl={class:"activity-page v-page-root"},al={class:"v-page-scroll"},nl={class:"activity-shell px-4 px-md-6 pt-4 pb-6"},ol={class:"page-toolbar"},ll={class:"toolbar-copy"},il={class:"toolbar-meta text-caption text-medium-emphasis"},rl={class:"toolbar-status"},ul={class:"panel-head"},cl={class:"text-caption text-medium-emphasis"},dl={key:0,class:"active-panel-body active-table-wrap","data-testid":"activity-realtime-panel-body"},ml={class:"col-status"},vl={class:"font-mono dense-cell"},pl={class:"dense-cell text-medium-emphasis"},fl={class:"dense-cell"},yl={class:"dense-cell text-medium-emphasis"},gl={class:"font-mono dense-cell text-right"},hl={class:"font-mono dense-cell text-right"},wl={class:"font-mono dense-cell text-right"},bl={class:"text-right"},kl={key:1,class:"active-panel-body empty-state","data-testid":"activity-realtime-panel-body"},xl={class:"panel-head"},_l={class:"text-caption text-medium-emphasis"},$l={key:0,class:"state-shell"},Rl={key:1,class:"state-shell"},Tl={key:2,class:"stream-table-wrap"},Ml={class:"col-status"},Cl={class:"col-time font-mono dense-cell text-medium-emphasis"},Sl={class:"col-endpoint dense-cell text-medium-emphasis"},Il={class:"col-model font-mono dense-cell"},Bl=["title"],Vl={class:"col-state dense-cell"},Dl={class:"font-mono dense-cell text-right col-msgs"},ql={class:"font-mono dense-cell text-right col-bool"},Ol={class:"font-mono dense-cell text-right col-dur"},El={class:"font-mono dense-cell text-right col-token"},zl={class:"font-mono dense-cell text-right col-token"},Nl={class:"font-mono dense-cell text-right col-cache"},Ll={class:"col-session font-mono dense-cell text-medium-emphasis"},Hl=["title"],Al={class:"col-preview dense-cell"},jl=["title"],Pl={class:"text-right"},Ul=S({__name:"VActivityPage",setup(e){const{entries:s,loading:r,wsConnected:o}=mt(),{activeRequests:v,requestStateColor:n,resolvedActiveCount:u,wsConnected:w}=dt(),{formatTime:p,formatNumber:x,formatDuration:T}=oe(),{detailOpen:d,detailLoading:m,detailMissingId:C,detailTitle:O,openHistoryDetail:L,closeHistoryDetail:j}=el(),Q=h(()=>Te("activity feed",o.value)),Y=h(()=>Te("requests",w.value));function U(_){return _.state?_.state:_.responseSuccess===!1?"failed":_.responseSuccess?"completed":"pending"}function X(_){const $=U(_);return $==="completed"?"mdi-check-circle":$==="failed"?"mdi-close-circle":$==="streaming"?"mdi-waveform":$==="executing"?"mdi-progress-clock":"mdi-clock-outline"}function K(_){const $=U(_);return $==="completed"?"success":$==="failed"?"error":$==="streaming"?"info":$==="executing"?"warning":"secondary"}function E(_){return _.responseModel||_.requestModel||"-"}function B(_){return _.rawPath?_.rawPath:_.endpoint.replace(/^\/v\d+\//,"").replaceAll("/"," ").replaceAll("-"," ")}function V(_){return _.usage?x(_.usage.input_tokens):"-"}function y(_){return _.usage?x(_.usage.output_tokens):"-"}function b(_){if(!_.usage)return"-";const $=_.usage.cache_read_input_tokens??0,R=_.usage.cache_creation_input_tokens??0;return $<=0&&R<=0?"-":`${x($)}/${x(R)}`}function q(_){return U(_)}function H(_){return _.previewText||_.responseError||"-"}function me(_){const $=H(_);return $.length<=140?$:$.slice(0,137)+"..."}function xe(_){return _?_.slice(0,8):"-"}function _e(_){return _?_.slice(0,8):"-"}function Je(_){return _.model??"?"}const We=h(()=>s.value);return(_,$)=>(a(),l("div",sl,[t("div",al,[t("section",nl,[t("div",ol,[t("div",ll,[$[1]||($[1]=t("div",{class:"toolbar-title"},"Activity",-1)),t("div",il,i(c(s).length)+" recent events · "+i(c(u))+" active upstream requests ",1)]),t("div",rl,[g(ve,{color:"primary",size:"small",variant:"tonal"},{default:k(()=>[D(i(c(r)&&c(s).length===0?"Loading":"Activity feed"),1)]),_:1}),g(ve,{color:c(o)?"success":"error",size:"small",variant:"tonal"},{default:k(()=>[D(i(Q.value),1)]),_:1},8,["color"]),g(ve,{color:c(w)?"success":"error",size:"small",variant:"tonal"},{default:k(()=>[D(i(Y.value),1)]),_:1},8,["color"])])]),g(Me,{class:"panel panel-active",color:"surface",border:"","data-testid":"activity-realtime-panel"},{default:k(()=>[t("div",ul,[$[2]||($[2]=t("div",null,[t("div",{class:"panel-eyebrow text-caption text-medium-emphasis text-uppercase"},"Realtime"),t("div",{class:"panel-title"},"Active Requests")],-1)),t("div",cl,i(c(u))+" active",1)]),c(v).length>0?(a(),l("div",dl,[g(Be,{density:"compact","fixed-header":"",class:"activity-table bg-transparent"},{default:k(()=>[$[5]||($[5]=t("thead",null,[t("tr",null,[t("th",{class:"table-head col-status"}),t("th",{class:"table-head"},"Model"),t("th",{class:"table-head"},"Endpoint"),t("th",{class:"table-head"},"State"),t("th",{class:"table-head"},"Strategy"),t("th",{class:"table-head text-right"},"Queue"),t("th",{class:"table-head text-right"},"Dur"),t("th",{class:"table-head text-right"},"Try"),t("th",{class:"table-head text-right col-action"},"Detail")])],-1)),t("tbody",null,[(a(!0),l(P,null,F(c(v),R=>(a(),l("tr",{key:R.id},[t("td",ml,[g(Re,{color:c(n)(R.state),size:"x-small"},{default:k(()=>[...$[3]||($[3]=[D(" mdi-circle ",-1)])]),_:1},8,["color"])]),t("td",vl,i(Je(R)),1),t("td",pl,i(R.rawPath??R.endpoint),1),t("td",fl,i(R.state),1),t("td",yl,i(R.currentStrategy??"-"),1),t("td",gl,i(c(T)(R.queueWaitMs)),1),t("td",hl,i(c(T)(R.durationMs)),1),t("td",wl,i(R.attemptCount??1),1),t("td",bl,[g(Z,{variant:"text",size:"x-small",onClick:Qe=>c(L)(R.id)},{default:k(()=>[...$[4]||($[4]=[D(" Details ",-1)])]),_:1},8,["onClick"])])]))),128))])]),_:1})])):(a(),l("div",kl,[...$[6]||($[6]=[t("div",{class:"empty-title"},"No active requests right now.",-1),t("div",{class:"text-caption text-medium-emphasis"},"New upstream executions will appear here in real time.",-1)])]))]),_:1}),g(Me,{class:"panel panel-log-stream",color:"surface",border:""},{default:k(()=>[t("div",xl,[$[7]||($[7]=t("div",null,[t("div",{class:"panel-eyebrow text-caption text-medium-emphasis text-uppercase"},"Activities"),t("div",{class:"panel-title"},"Recent Request Feed")],-1)),t("div",_l,"Latest "+i(c(s).length)+" entries",1)]),c(r)&&c(s).length===0?(a(),l("div",$l,[g(qe,{indeterminate:"",color:"primary"})])):c(s).length===0?(a(),l("div",Rl,[...$[8]||($[8]=[t("span",{class:"text-medium-emphasis"},"No activity entries yet",-1)])])):(a(),l("div",Tl,[g(Be,{density:"compact","fixed-header":"",hover:"",class:"stream-table bg-transparent"},{default:k(()=>[$[10]||($[10]=t("thead",null,[t("tr",null,[t("th",{class:"table-head col-status"}),t("th",{class:"table-head col-time"},"Time"),t("th",{class:"table-head col-endpoint"},"Endpoint"),t("th",{class:"table-head col-model"},"Model"),t("th",{class:"table-head col-state"},"State"),t("th",{class:"table-head text-right col-msgs"},"Msgs"),t("th",{class:"table-head text-right col-bool"},"Strm"),t("th",{class:"table-head text-right col-dur"},"Dur"),t("th",{class:"table-head text-right col-token"},"In"),t("th",{class:"table-head text-right col-token"},"Out"),t("th",{class:"table-head text-right col-cache"},"Cache"),t("th",{class:"table-head col-session"},"Session"),t("th",{class:"table-head col-preview"},"Preview"),t("th",{class:"table-head text-right col-action"},"Detail")])],-1)),t("tbody",null,[(a(!0),l(P,null,F(We.value,R=>(a(),l("tr",{key:R.id},[t("td",Ml,[g(Re,{icon:X(R),color:K(R),size:"x-small"},null,8,["icon","color"])]),t("td",Cl,i(c(p)(R.startedAt)),1),t("td",Sl,i(B(R)),1),t("td",Il,[t("span",{class:"truncate-inline",title:E(R)},i(E(R)),9,Bl)]),t("td",Vl,[t("span",{class:N(["status-pill",`status-pill-${q(R)}`])},i(q(R)),3)]),t("td",Dl,i(R.messageCount),1),t("td",ql,i(R.stream?"y":"-"),1),t("td",Ol,i(c(T)(R.durationMs)),1),t("td",El,i(V(R)),1),t("td",zl,i(y(R)),1),t("td",Nl,i(b(R)),1),t("td",Ll,[t("span",{title:`${xe(R.sessionId)} · ${_e(R.id)}`},i(xe(R.sessionId))+"/"+i(_e(R.id)),9,Hl)]),t("td",Al,[t("span",{class:"preview-text",title:H(R)},i(me(R)),9,jl)]),t("td",Pl,[g(Z,{variant:"text",size:"x-small",onClick:Qe=>c(L)(R.id)},{default:k(()=>[...$[9]||($[9]=[D(" Details ",-1)])]),_:1},8,["onClick"])])]))),128))])]),_:1})]))]),_:1})])]),g(Zo,{"model-value":c(d),title:c(O),loading:c(m),"missing-id":c(C),"onUpdate:modelValue":$[0]||($[0]=R=>!R&&c(j)())},null,8,["model-value","title","loading","missing-id"])]))}}),ei=I(Ul,[["__scopeId","data-v-5611998e"]]);export{ei as default};
@@ -0,0 +1 @@
1
+ import{c as i,A as j,v as D,o as I,q as S,m as p,F as R,U as L,a as ae,s as te,E as ne}from"./vue-McY99x0M.js";import{g as b,aj as N,am as h,c as k,aP as ie,ak as se,aQ as F,aR as _,ap as $,au as de,b as C,d as V,f as A,D as re,i as O,z as E,O as x,e as H,a9 as M,p as le,$ as oe,E as ce,u as ue,y as me,F as ye,G as ve,H as ge,az as fe,P as he,m as pe,aB as be,Q as ke,R as Ce,T as Ve,ao as Ae,U as Pe,X as xe,a4 as Ie,h as Se,M as Te,N as we,aS as Be,L as Ee,Y as De}from"./index-Cxye_z0t.js";import{b as q}from"./VSheet-BhXOOy9y.js";const Re=k({target:[Object,Array]},"v-dialog-transition"),B=new WeakMap,Ye=b()({name:"VDialogTransition",props:Re(),setup(e,{slots:n}){const a={onBeforeEnter(t){t.style.pointerEvents="none",t.style.visibility="hidden"},async onEnter(t,d){await new Promise(s=>requestAnimationFrame(s)),await new Promise(s=>requestAnimationFrame(s)),t.style.visibility="";const r=U(e.target,t),{x:l,y:o,sx:u,sy:m,speed:c}=r;if(B.set(t,r),N())h(t,[{opacity:0},{}],{duration:125*c,easing:_}).finished.then(()=>d());else{const s=h(t,[{transform:`translate(${l}px, ${o}px) scale(${u}, ${m})`,opacity:0},{}],{duration:225*c,easing:_});z(t)?.forEach(y=>{h(y,[{opacity:0},{opacity:0,offset:.33},{}],{duration:450*c,easing:$})}),s.finished.then(()=>d())}},onAfterEnter(t){t.style.removeProperty("pointer-events")},onBeforeLeave(t){t.style.pointerEvents="none"},async onLeave(t,d){await new Promise(s=>requestAnimationFrame(s));let r;!B.has(t)||Array.isArray(e.target)||e.target.offsetParent||e.target.getClientRects().length?r=U(e.target,t):r=B.get(t);const{x:l,y:o,sx:u,sy:m,speed:c}=r;N()?h(t,[{},{opacity:0}],{duration:85*c,easing:F}).finished.then(()=>d()):(h(t,[{},{transform:`translate(${l}px, ${o}px) scale(${u}, ${m})`,opacity:0}],{duration:125*c,easing:F}).finished.then(()=>d()),z(t)?.forEach(y=>{h(y,[{},{opacity:0,offset:.2},{opacity:0}],{duration:250*c,easing:$})}))},onAfterLeave(t){t.style.removeProperty("pointer-events")}};return()=>e.target?i(D,j({name:"dialog-transition"},a,{css:!1}),n):i(D,{name:"dialog-transition"},n)}});function z(e){const n=e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list")?.children;return n&&[...n]}function U(e,n){const a=ie(e),t=se(n),[d,r]=getComputedStyle(n).transformOrigin.split(" ").map(g=>parseFloat(g)),[l,o]=getComputedStyle(n).getPropertyValue("--v-overlay-anchor-origin").split(" ");let u=a.left+a.width/2;l==="left"||o==="left"?u-=a.width/2:(l==="right"||o==="right")&&(u+=a.width/2);let m=a.top+a.height/2;l==="top"||o==="top"?m-=a.height/2:(l==="bottom"||o==="bottom")&&(m+=a.height/2);const c=a.width/t.width,s=a.height/t.height,y=Math.max(1,c,s),T=c/y||0,w=s/y||0,v=t.width*t.height/(window.innerWidth*window.innerHeight),P=v>.12?Math.min(1.5,(v-.12)*10+1):1;return{x:u-(d+t.left),y:m-(r+t.top),sx:T,sy:w,speed:P}}const Le=k({...A(),...V()},"VCardActions"),Ne=b()({name:"VCardActions",props:Le(),setup(e,{slots:n}){return de({VBtn:{slim:!0,variant:"text"}}),C(()=>i(e.tag,{class:S(["v-card-actions",e.class]),style:I(e.style)},n)),{}}}),Fe=k({opacity:[Number,String],...A(),...V()},"VCardSubtitle"),_e=b()({name:"VCardSubtitle",props:Fe(),setup(e,{slots:n}){return C(()=>i(e.tag,{class:S(["v-card-subtitle",e.class]),style:I([{"--v-card-subtitle-opacity":e.opacity},e.style])},n)),{}}}),$e=re("v-card-title"),Oe=k({appendAvatar:String,appendIcon:x,prependAvatar:String,prependIcon:x,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...A(),...H(),...V()},"VCardItem"),Me=b()({name:"VCardItem",props:Oe(),setup(e,{slots:n}){return C(()=>{const a=!!(e.prependAvatar||e.prependIcon),t=!!(a||n.prepend),d=!!(e.appendAvatar||e.appendIcon),r=!!(d||n.append),l=!!(e.title!=null||n.title),o=!!(e.subtitle!=null||n.subtitle);return i(e.tag,{class:S(["v-card-item",e.class]),style:I(e.style)},{default:()=>[t&&p("div",{key:"prepend",class:"v-card-item__prepend"},[n.prepend?i(E,{key:"prepend-defaults",disabled:!a,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon}}},n.prepend):p(R,null,[e.prependAvatar&&i(q,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&i(O,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)])]),p("div",{class:"v-card-item__content"},[l&&i($e,{key:"title"},{default:()=>[n.title?.()??L(e.title)]}),o&&i(_e,{key:"subtitle"},{default:()=>[n.subtitle?.()??L(e.subtitle)]}),n.default?.()]),r&&p("div",{key:"append",class:"v-card-item__append"},[n.append?i(E,{key:"append-defaults",disabled:!d,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon}}},n.append):p(R,null,[e.appendIcon&&i(O,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&i(q,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)])])]})}),{}}}),qe=k({opacity:[Number,String],...A(),...V()},"VCardText"),ze=b()({name:"VCardText",props:qe(),setup(e,{slots:n}){return C(()=>i(e.tag,{class:S(["v-card-text",e.class]),style:I([{"--v-card-text-opacity":e.opacity},e.style])},n)),{}}}),Ue=k({appendAvatar:String,appendIcon:x,disabled:Boolean,flat:Boolean,hover:Boolean,image:String,link:{type:Boolean,default:void 0},prependAvatar:String,prependIcon:x,ripple:{type:[Boolean,Object],default:!0},subtitle:{type:[String,Number,Boolean],default:void 0},text:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...Ie(),...A(),...H(),...xe(),...Pe(),...Ae(),...Ve(),...Ce(),...ke(),...be(),...V(),...pe(),...he({variant:"elevated"})},"VCard"),Qe=b()({name:"VCard",directives:{vRipple:M},props:Ue(),setup(e,{attrs:n,slots:a}){const{themeClasses:t}=le(e),{borderClasses:d}=oe(e),{colorClasses:r,colorStyles:l,variantClasses:o}=ce(e),{densityClasses:u}=ue(e),{dimensionStyles:m}=Te(e),{elevationClasses:c}=we(e),{loaderClasses:s}=me(e),{locationStyles:y}=ye(e),{positionClasses:T}=ve(e),{roundedClasses:w}=ge(e),v=fe(e,n),P=te(void 0);return ae(()=>e.loading,(g,f)=>{P.value=!g&&typeof f=="string"?f:typeof g=="boolean"?void 0:g},{immediate:!0}),C(()=>{const g=e.link!==!1&&v.isLink.value,f=!e.disabled&&e.link!==!1&&(e.link||v.isClickable.value),X=g?"a":e.tag,Y=!!(a.title||e.title!=null),Q=!!(a.subtitle||e.subtitle!=null),W=Y||Q,G=!!(a.append||e.appendAvatar||e.appendIcon),J=!!(a.prepend||e.prependAvatar||e.prependIcon),K=!!(a.image||e.image),Z=W||J||G,ee=!!(a.text||e.text!=null);return ne(i(X,j(v.linkProps,{class:["v-card",{"v-card--disabled":e.disabled,"v-card--flat":e.flat,"v-card--hover":e.hover&&!(e.disabled||e.flat),"v-card--link":f},t.value,d.value,r.value,u.value,c.value,s.value,T.value,w.value,o.value,e.class],style:[l.value,m.value,y.value,{"--v-card-height":Se(e.height)},e.style],onClick:f&&v.navigate.value,tabindex:e.disabled?-1:void 0}),{default:()=>[K&&p("div",{key:"image",class:"v-card__image"},[a.image?i(E,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},a.image):i(Be,{key:"image-img",cover:!0,src:e.image},null)]),i(Ee,{name:"v-card",active:!!e.loading,color:P.value},{default:a.loader}),Z&&i(Me,{key:"item",prependAvatar:e.prependAvatar,prependIcon:e.prependIcon,title:e.title,subtitle:e.subtitle,appendAvatar:e.appendAvatar,appendIcon:e.appendIcon},{default:a.item,prepend:a.prepend,title:a.title,subtitle:a.subtitle,append:a.append}),ee&&i(ze,{key:"text"},{default:()=>[a.text?.()??e.text]}),a.default?.(),a.actions&&i(Ne,null,{default:a.actions}),De(f,"v-card")]}),[[M,f&&e.ripple]])}),{}}});export{Qe as V,ze as a,$e as b,Ye as c};
@@ -0,0 +1 @@
1
+ @layer vuetify-components{.v-card{display:block;overflow:hidden;overflow-wrap:break-word;position:relative;padding:0;text-decoration:none;transition-duration:.28s;transition-property:box-shadow,opacity,background,--v-elevation-overlay;transition-timing-function:cubic-bezier(.4,0,.2,1);z-index:0}.v-card{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-card--border{border-width:thin;box-shadow:none}.v-card--absolute{position:absolute}.v-card--fixed{position:fixed}.v-card{border-radius:4px}.v-card:hover>.v-card__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-card:focus-visible>.v-card__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-card:focus>.v-card__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-card--active>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]>.v-card__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-card--active:hover>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]:hover>.v-card__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-card--active:focus-visible>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-card__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-card--active:focus>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]:focus>.v-card__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-card--variant-plain,.v-card--variant-outlined,.v-card--variant-text,.v-card--variant-tonal{background:transparent;color:inherit}.v-card--variant-plain{opacity:.62}.v-card--variant-plain:focus,.v-card--variant-plain:hover{opacity:1}.v-card--variant-plain .v-card__overlay{display:none}.v-card--variant-elevated,.v-card--variant-flat{background:rgb(var(--v-theme-surface));color:color-mix(in srgb,rgb(var(--v-theme-on-surface)) calc(var(--v-high-emphasis-opacity) * 100%),transparent)}.v-card--variant-elevated{box-shadow:0 1px 2px rgba(var(--v-shadow-color),var(--v-shadow-key-opacity, .3)),0 1px 3px 1px rgba(var(--v-shadow-color),var(--v-shadow-ambient-opacity, .15));--v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 2%, transparent)}.v-card--variant-flat{box-shadow:0 0 rgba(var(--v-shadow-color),var(--v-shadow-key-opacity, .3)),0 0 rgba(var(--v-shadow-color),var(--v-shadow-ambient-opacity, .15));--v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 0%, transparent)}.v-card--variant-outlined{border:thin solid currentColor}.v-card--variant-text .v-card__overlay{background:currentColor}.v-card--variant-tonal .v-card__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-card .v-card__underlay{position:absolute}.v-card--disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.v-card--disabled>:not(.v-card__loader){opacity:.6}.v-card--flat{box-shadow:none}.v-card--hover{cursor:pointer}.v-card--hover:before,.v-card--hover:after{border-radius:inherit;content:"";display:block;inset:0;pointer-events:none;position:absolute;transition:inherit}.v-card--hover:before{opacity:1;z-index:-1}.v-card--hover:before{box-shadow:0 1px 2px rgba(var(--v-shadow-color),var(--v-shadow-key-opacity, .3)),0 1px 3px 1px rgba(var(--v-shadow-color),var(--v-shadow-ambient-opacity, .15));--v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 2%, transparent)}.v-card--hover:after{z-index:1;opacity:0}.v-card--hover:after{box-shadow:0 1px 3px rgba(var(--v-shadow-color),var(--v-shadow-key-opacity, .3)),0 4px 8px 3px rgba(var(--v-shadow-color),var(--v-shadow-ambient-opacity, .15));--v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 6%, transparent)}.v-card--hover:hover:after{opacity:1}.v-card--hover:hover:before{opacity:0}.v-card--hover:hover{box-shadow:0 1px 3px rgba(var(--v-shadow-color),var(--v-shadow-key-opacity, .3)),0 4px 8px 3px rgba(var(--v-shadow-color),var(--v-shadow-ambient-opacity, .15));--v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 6%, transparent)}.v-card--link{cursor:pointer}.v-card-actions{align-items:center;display:flex;flex:none;min-height:52px;padding:.5rem;gap:.5rem}.v-card-item{align-items:center;display:grid;flex:none;grid-template-areas:"prepend content append";grid-template-columns:max-content auto max-content;padding:.625rem 1rem}.v-card-item+.v-card-text{padding-top:0}.v-card-item__prepend,.v-card-item__append{align-items:center;display:flex}.v-card-item__prepend{grid-area:prepend;padding-inline-end:.5rem}.v-card-item__append{grid-area:append;padding-inline-start:.5rem}.v-card-item__content{align-self:center;grid-area:content;overflow:hidden}.v-card-title{display:block;flex:none;font-size:1.375rem;font-weight:400;-webkit-hyphens:auto;hyphens:auto;letter-spacing:normal;min-width:0;overflow-wrap:normal;overflow:hidden;padding:.5rem 1rem;text-overflow:ellipsis;text-transform:none;white-space:nowrap;word-break:normal;word-wrap:break-word}.v-card .v-card-title{line-height:1.2727272727}.v-card--density-comfortable .v-card-title{line-height:1.75rem}.v-card--density-compact .v-card-title{line-height:1.55rem}.v-card-item .v-card-title{padding:0}.v-card-title+.v-card-text,.v-card-title+.v-card-actions{padding-top:0}.v-card-subtitle{display:block;flex:none;font-size:.875rem;font-weight:400;letter-spacing:.0178571429em;opacity:var(--v-card-subtitle-opacity, var(--v-medium-emphasis-opacity));overflow:hidden;padding:0 1rem;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.v-card .v-card-subtitle{line-height:1.4285714286}.v-card--density-comfortable .v-card-subtitle{line-height:1.125rem}.v-card--density-compact .v-card-subtitle{line-height:1rem}.v-card-item .v-card-subtitle{padding:0 0 .25rem}.v-card-text{flex:1 1 auto;font-size:.875rem;font-weight:400;letter-spacing:.0178571429em;opacity:var(--v-card-text-opacity, 1);padding:1rem;text-transform:none}.v-card .v-card-text{line-height:1.4285714286}.v-card--density-comfortable .v-card-text{line-height:1.2rem}.v-card--density-compact .v-card-text{line-height:1.15rem}.v-card__image{display:flex;height:100%;flex:1 1 auto;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.v-card__content{border-radius:inherit;overflow:hidden;position:relative}.v-card__loader{inset:0 0 auto;position:absolute;width:100%;z-index:1}@media(forced-colors:active){.v-card__loader .v-progress-linear{border:none}}.v-card__overlay{background-color:currentColor;border-radius:inherit;position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out}@media(forced-colors:active){.v-card:not(.v-card--variant-text,.v-card--variant-plain){border:thin solid}}}
@@ -0,0 +1 @@
1
+ .config-field[data-v-a4080a23]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.field-copy[data-v-a4080a23]{min-width:0;flex:1}.config-field[data-v-3334d99b]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.field-copy[data-v-3334d99b]{min-width:0;flex:1}.field-input[data-v-3334d99b]{max-width:180px}@layer vuetify-components{.v-textarea{--v-textarea-max-height: initial}.v-textarea .v-field{--v-textarea-control-height: var(--v-input-control-height)}.v-textarea .v-field:not(.v-field--no-label,.v-field--active) textarea::placeholder{opacity:0}.v-textarea .v-field__field{--v-input-control-height: var(--v-textarea-control-height)}.v-textarea .v-field__input{max-height:var(--v-textarea-max-height);flex:1 1 auto;outline:none;-webkit-mask-image:linear-gradient(to bottom,transparent,transparent calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) - 6px),black calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) + 4px)),linear-gradient(to right,transparent,transparent calc(100% - var(--v-textarea-scroll-bar-width, 16px)),black calc(100% - var(--v-textarea-scroll-bar-width, 16px)));mask-image:linear-gradient(to bottom,transparent,transparent calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) - 6px),black calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) + 4px)),linear-gradient(to right,transparent,transparent calc(100% - var(--v-textarea-scroll-bar-width, 16px)),black calc(100% - var(--v-textarea-scroll-bar-width, 16px)))}.v-textarea .v-field__input.v-textarea__sizer{visibility:hidden;position:absolute;top:0;left:0;pointer-events:none}}@layer vuetify-overrides{.v-textarea .v-field__input.v-textarea__sizer{height:0;min-height:0}}@layer vuetify-components{.v-textarea--no-resize .v-field__input{resize:none}.v-textarea textarea{flex:1;min-width:0;height:100%;transition:.15s opacity cubic-bezier(.4,0,.2,1)}.v-textarea textarea:focus,.v-textarea textarea:active{outline:none}.v-textarea textarea:invalid{box-shadow:none}}.method-select[data-v-6ec62757]{max-width:180px}.model-select[data-v-6ec62757]{min-width:220px}.config-field[data-v-124817f6]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.field-copy[data-v-124817f6]{min-width:0;flex:1}.field-input[data-v-124817f6]{flex:1;max-width:560px}@layer vuetify-components{.v-switch .v-label{padding-inline-start:10px}.v-switch__loader{display:flex}.v-switch__loader .v-progress-circular{color:rgb(var(--v-theme-surface))}.v-switch__track,.v-switch__thumb{transition:none}.v-selection-control--error:not(.v-selection-control--disabled) .v-switch__track,.v-selection-control--error:not(.v-selection-control--disabled) .v-switch__thumb{background-color:rgb(var(--v-theme-error));color:rgb(var(--v-theme-on-error))}.v-switch__track-true{margin-inline-end:auto}.v-selection-control:not(.v-selection-control--dirty) .v-switch__track-true{opacity:0}.v-switch__track-false{margin-inline-start:auto}.v-selection-control--dirty .v-switch__track-false{opacity:0}.v-switch__track{display:inline-flex;align-items:center;font-size:.5rem;padding:0 5px;background-color:rgb(var(--v-theme-surface-variant));border-radius:9999px;height:14px;opacity:.6;min-width:36px;cursor:pointer;transition:.2s background-color cubic-bezier(.4,0,.2,1)}.v-switch--inset .v-switch__track{border-radius:9999px;font-size:.75rem;height:32px;min-width:52px}.v-switch__thumb{align-items:center;background-color:rgb(var(--v-theme-surface-bright));color:rgb(var(--v-theme-on-surface-bright));border-radius:50%;display:flex;font-size:.75rem;height:20px;justify-content:center;width:20px;pointer-events:none;transition:.15s .05s transform cubic-bezier(0,0,.2,1),.2s color cubic-bezier(.4,0,.2,1),.2s background-color cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.v-switch:not(.v-switch--inset) .v-switch__thumb{box-shadow:0 1px 2px rgba(var(--v-shadow-color),var(--v-shadow-key-opacity, .3)),0 2px 6px 2px rgba(var(--v-shadow-color),var(--v-shadow-ambient-opacity, .15));--v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 4%, transparent)}.v-switch.v-switch--flat:not(.v-switch--inset) .v-switch__thumb{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-switch.v-switch--flat:not(.v-switch--inset) .v-switch__thumb{box-shadow:0 0 rgba(var(--v-shadow-color),var(--v-shadow-key-opacity, .3)),0 0 rgba(var(--v-shadow-color),var(--v-shadow-ambient-opacity, .15));--v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 0%, transparent)}.v-switch--inset .v-switch__thumb{height:24px;width:24px;transform:scale(.6666666667)}.v-switch--inset .v-switch__thumb--filled{transform:none}.v-switch--inset .v-selection-control--dirty .v-switch__thumb{transform:none;transition:.15s .05s transform cubic-bezier(0,0,.2,1)}.v-switch.v-input{flex:0 1 auto}.v-switch .v-selection-control{min-height:var(--v-input-control-height)}.v-switch .v-selection-control__input{border-radius:50%;transition:.2s transform cubic-bezier(.4,0,.2,1);position:absolute}.v-locale--is-ltr.v-switch .v-selection-control__input,.v-locale--is-ltr .v-switch .v-selection-control__input{transform:translate(-10px)}.v-locale--is-rtl.v-switch .v-selection-control__input,.v-locale--is-rtl .v-switch .v-selection-control__input{transform:translate(10px)}.v-switch .v-selection-control__input .v-icon{position:absolute}.v-locale--is-ltr.v-switch .v-selection-control--dirty .v-selection-control__input,.v-locale--is-ltr .v-switch .v-selection-control--dirty .v-selection-control__input{transform:translate(10px)}.v-locale--is-rtl.v-switch .v-selection-control--dirty .v-selection-control__input,.v-locale--is-rtl .v-switch .v-selection-control--dirty .v-selection-control__input{transform:translate(-10px)}.v-switch.v-switch--indeterminate .v-selection-control__input{transform:scale(.8)}.v-switch.v-switch--indeterminate .v-switch__thumb{transform:scale(.75);box-shadow:none}.v-switch.v-switch--inset .v-selection-control__wrapper{width:auto}.v-switch.v-input--vertical .v-label{min-width:max-content}.v-switch.v-input--vertical .v-selection-control__wrapper{transform:rotate(-90deg)}@media(forced-colors:active){.v-switch .v-switch__loader .v-progress-circular{color:currentColor}.v-switch .v-switch__thumb{background-color:buttontext}.v-switch .v-switch__track,.v-switch .v-switch__thumb{border:1px solid;color:buttontext}.v-switch:not(.v-switch--loading):not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb{background-color:highlight}.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__track{background-color:highlight}.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__track,.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb{color:highlight}.v-switch.v-switch--inset .v-switch__track{border-width:2px}.v-switch.v-switch--inset:not(.v-switch--loading):not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb{background-color:highlighttext;color:highlighttext}.v-switch.v-input--disabled .v-switch__thumb{background-color:graytext}.v-switch.v-input--disabled .v-switch__track,.v-switch.v-input--disabled .v-switch__thumb{color:graytext}.v-switch.v-switch--loading .v-switch__thumb{background-color:canvas}.v-switch.v-switch--loading.v-switch--inset .v-switch__thumb,.v-switch.v-switch--loading.v-switch--indeterminate .v-switch__thumb{border-width:0}}}.config-field[data-v-a2139cef]{display:flex;align-items:center;justify-content:space-between;gap:16px}.field-copy[data-v-a2139cef]{min-width:0}@layer vuetify-components{.v-alert{display:grid;flex:1 1;grid-template-areas:"prepend content append close" ". content . .";grid-template-columns:max-content auto max-content max-content;position:relative;padding:16px;overflow:hidden;--v-border-color: currentColor}.v-alert--absolute{position:absolute}.v-alert--fixed{position:fixed}.v-alert--sticky{position:sticky}.v-alert{border-radius:4px}.v-alert--variant-plain,.v-alert--variant-outlined,.v-alert--variant-text,.v-alert--variant-tonal{background:transparent;color:inherit}.v-alert--variant-plain{opacity:.62}.v-alert--variant-plain:focus,.v-alert--variant-plain:hover{opacity:1}.v-alert--variant-plain .v-alert__overlay{display:none}.v-alert--variant-elevated,.v-alert--variant-flat{background:rgb(var(--v-theme-surface-light));color:color-mix(in srgb,rgb(var(--v-theme-on-surface-light)) calc(var(--v-high-emphasis-opacity) * 100%),transparent)}.v-alert--variant-elevated{box-shadow:0 1px 2px rgba(var(--v-shadow-color),var(--v-shadow-key-opacity, .3)),0 1px 3px 1px rgba(var(--v-shadow-color),var(--v-shadow-ambient-opacity, .15));--v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 2%, transparent)}.v-alert--variant-flat{box-shadow:0 0 rgba(var(--v-shadow-color),var(--v-shadow-key-opacity, .3)),0 0 rgba(var(--v-shadow-color),var(--v-shadow-ambient-opacity, .15));--v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 0%, transparent)}.v-alert--variant-outlined{border:thin solid currentColor}.v-alert--variant-text .v-alert__overlay{background:currentColor}.v-alert--variant-tonal .v-alert__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-alert .v-alert__underlay{position:absolute}.v-alert--prominent{grid-template-areas:"prepend content append close" "prepend content . ."}.v-alert.v-alert--border{--v-border-opacity: .38}.v-alert.v-alert--border.v-alert--border-start{padding-inline-start:24px}.v-alert.v-alert--border.v-alert--border-end{padding-inline-end:24px}.v-alert--variant-plain{transition:.2s opacity cubic-bezier(.4,0,.2,1)}.v-alert--density-default{padding-bottom:16px;padding-top:16px}.v-alert--density-default.v-alert--border-top{padding-top:24px}.v-alert--density-default.v-alert--border-bottom{padding-bottom:24px}.v-alert--density-comfortable{padding-bottom:12px;padding-top:12px}.v-alert--density-comfortable.v-alert--border-top{padding-top:20px}.v-alert--density-comfortable.v-alert--border-bottom{padding-bottom:20px}.v-alert--density-compact{padding-bottom:8px;padding-top:8px}.v-alert--density-compact.v-alert--border-top{padding-top:16px}.v-alert--density-compact.v-alert--border-bottom{padding-bottom:16px}.v-alert:not(:has(.v-alert-title)) .v-alert__content{padding-block:.125rem}.v-alert__border{border-radius:inherit;inset:0;opacity:var(--v-border-opacity);position:absolute;pointer-events:none;width:100%}.v-alert__border{border-color:currentColor;border-style:solid;border-width:0}.v-alert__border--border{border-width:8px;box-shadow:none}.v-alert--border-start .v-alert__border{border-inline-start-width:8px}.v-alert--border-end .v-alert__border{border-inline-end-width:8px}.v-alert--border-top .v-alert__border{border-top-width:8px}.v-alert--border-bottom .v-alert__border{border-bottom-width:8px}.v-alert__close{flex:0 1 auto;grid-area:close}.v-alert__close>.v-btn{margin-block:calc(-1 * (var(--v-btn-height) + 12px - 1.75rem) / 2)}.v-alert__content{align-self:center;grid-area:content;overflow:hidden}.v-alert__content>:first-child{margin-top:0}.v-alert__content>:last-child{margin-bottom:0}.v-alert__append,.v-alert__close{margin-inline-start:16px}.v-alert__append{align-self:flex-start;grid-area:append}.v-alert__append+.v-alert__close{margin-inline-start:16px}.v-alert__prepend{align-self:flex-start;display:flex;align-items:center;grid-area:prepend;margin-inline-end:16px;min-height:1.75rem}.v-alert__prepend>.v-icon{font-size:1.75rem;height:1.75rem;width:1.75rem}.v-alert--prominent .v-alert__prepend{align-self:center}.v-alert__underlay{grid-area:none;position:absolute}.v-alert--border-start .v-alert__underlay{border-top-left-radius:0;border-bottom-left-radius:0}.v-alert--border-end .v-alert__underlay{border-top-right-radius:0;border-bottom-right-radius:0}.v-alert--border-top .v-alert__underlay{border-top-left-radius:0;border-top-right-radius:0}.v-alert--border-bottom .v-alert__underlay{border-bottom-left-radius:0;border-bottom-right-radius:0}.v-alert-title{align-items:center;align-self:center;display:flex;font-size:1.5rem;font-weight:400;-webkit-hyphens:auto;hyphens:auto;letter-spacing:normal;line-height:1.75rem;overflow-wrap:normal;text-transform:none;word-break:normal;word-wrap:break-word}@media(forced-colors:active){.v-alert:not(.v-alert--variant-text,.v-alert--variant-plain){border-style:solid}.v-alert--variant-outlined,.v-alert--variant-tonal{border-width:medium}.v-alert--variant-elevated,.v-alert--variant-flat{border-width:thick}}}@layer vuetify-components{.v-footer{align-items:center;display:flex;flex:1 1 auto;padding:8px 16px;position:relative;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:height,width,transform,max-width,left,right,top,bottom}.v-footer{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-footer--border{border-width:thin;box-shadow:none}.v-footer{box-shadow:0 0 rgba(var(--v-shadow-color),var(--v-shadow-key-opacity, .3)),0 0 rgba(var(--v-shadow-color),var(--v-shadow-ambient-opacity, .15));--v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 0%, transparent)}.v-footer--absolute{position:absolute}.v-footer--fixed{position:fixed}.v-footer{border-radius:0}.v-footer{background:rgb(var(--v-theme-surface));color:color-mix(in srgb,rgb(var(--v-theme-on-surface)) calc(var(--v-high-emphasis-opacity) * 100%),transparent)}.v-footer--rounded{border-radius:4px}}.config-page[data-v-97045d92]{background:rgb(var(--v-theme-background))}.page-toolbar[data-v-97045d92],.page-footer[data-v-97045d92]{position:sticky;z-index:2}.page-toolbar[data-v-97045d92]{top:0;border-bottom:1px solid rgb(var(--v-theme-surface-variant))}.page-footer[data-v-97045d92]{bottom:0;border-top:1px solid rgb(var(--v-theme-surface-variant))}.config-shell[data-v-97045d92]{width:100%;max-width:980px}
@@ -0,0 +1 @@
1
+ import{l as Xe,V as M,_ as ve,g as Ae,I as De,n as Pe,o as bt,b as Ne,q as Ze,h as Te,r as Qe,s as yt,c as xe,t as Vt,v as ht,w as Be,x as _t,i as Oe,y as xt,S as kt,z as Ee,A as Ct,L as wt,a as et,j as Le,B as St,C as Rt,D as Tt,p as tt,E as $t,u as Pt,F as Ut,G as At,H as lt,J as It,K as zt,M as Bt,N as at,O as Et,P as Ft,m as ot,d as nt,Q as it,R as Mt,T as Nt,U as st,X as Ot,e as qt,f as rt,Y as Dt,Z as Lt,$ as Ht,a0 as jt,a1 as Wt,a2 as Gt,a3 as Jt,a4 as Kt,a5 as Yt}from"./index-Cxye_z0t.js";import{d as ae,Y as p,m as d,U as R,_ as E,c as t,X as _,F as ee,Z as he,W as ue,e as D,a1 as m,f as $,r as N,w as dt,P as ut,a as re,D as Xt,A as ie,n as Se,s as mt,E as He,aa as Zt,q as fe,a7 as Qt,M as el,t as de,o as _e,J as tl,u as k,z as w}from"./vue-McY99x0M.js";import{V as me,u as ct,a as ll,b as Ue,c as je,m as al,d as ft,e as ol,f as nl,g as il,h as sl,i as rl,j as We,k as dl}from"./VSelect-CahLC2X3.js";import{V as vt,a as gt,b as ul}from"./VCard-B2q0rBgl.js";import{V as ml}from"./VSheet-BhXOOy9y.js";const cl={class:"config-field"},fl={class:"field-copy"},vl={class:"text-body-1"},gl={key:0,class:"text-body-2 text-medium-emphasis mt-1"},pl=ae({__name:"ConfigEnum",props:{modelValue:{type:[String,Boolean,null]},label:{},description:{},disabled:{type:Boolean},options:{}},emits:["update:modelValue"],setup(e,{emit:n}){const a=n;return(s,i)=>(m(),p("div",cl,[d("div",fl,[d("div",vl,R(e.label),1),e.description?(m(),p("div",gl,R(e.description),1)):E("",!0)]),t(Xe,{"model-value":e.modelValue,disabled:e.disabled,color:"primary",divided:"",mandatory:"","onUpdate:modelValue":i[0]||(i[0]=r=>r!=null&&a("update:modelValue",r))},{default:_(()=>[(m(!0),p(ee,null,he(e.options,r=>(m(),ue(M,{key:String(r.value),value:r.value},{default:_(()=>[D(R(r.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["model-value","disabled"])]))}}),Ge=ve(pl,[["__scopeId","data-v-a4080a23"]]),bl={class:"d-flex flex-column ga-3"},yl={class:"text-body-1"},Vl={key:0,class:"text-body-2 text-medium-emphasis mt-1"},hl={key:0,class:"text-body-2 text-medium-emphasis"},_l={key:0,class:"text-caption text-error"},xl=ae({__name:"ConfigKeyValueList",props:{modelValue:{},label:{},description:{},disabled:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const a=e,s=n;function i(V,h){s("update:modelValue",a.modelValue.map((v,u)=>u===V?{...v,...h}:v))}function r(V){s("update:modelValue",a.modelValue.filter((h,v)=>v!==V))}function f(){s("update:modelValue",[...a.modelValue,{key:"",value:""}])}function y(V){const h=a.modelValue[V]?.key.trim();return h?a.modelValue.some((v,u)=>u!==V&&v.key.trim()===h):!1}return(V,h)=>(m(),p("div",bl,[d("div",null,[d("div",yl,R(e.label),1),e.description?(m(),p("div",Vl,R(e.description),1)):E("",!0)]),e.modelValue.length===0?(m(),p("div",hl," No overrides configured. ")):E("",!0),(m(!0),p(ee,null,he(e.modelValue,(v,u)=>(m(),p("div",{key:u,class:"d-flex align-start ga-3"},[t(me,{"model-value":v.key,disabled:e.disabled,error:y(u),"error-messages":"",label:"Source model","onUpdate:modelValue":c=>i(u,{key:String(c??"")})},null,8,["model-value","disabled","error","onUpdate:modelValue"]),t(me,{"model-value":v.value,disabled:e.disabled,label:"Target model","onUpdate:modelValue":c=>i(u,{value:String(c??"")})},null,8,["model-value","disabled","onUpdate:modelValue"]),t(M,{disabled:e.disabled,icon:"mdi-close",size:"small",variant:"text","aria-label":`Remove override ${u+1}`,onClick:c=>r(u)},null,8,["disabled","aria-label","onClick"])]))),128)),(m(!0),p(ee,null,he(e.modelValue,(v,u)=>(m(),p(ee,{key:`error-${u}`},[y(u)?(m(),p("div",_l," Duplicate key: "+R(v.key),1)):E("",!0)],64))),128)),d("div",null,[t(M,{disabled:e.disabled,"prepend-icon":"mdi-plus",variant:"outlined",onClick:f},{default:_(()=>[...h[0]||(h[0]=[D(" Add override ",-1)])]),_:1},8,["disabled"])])]))}}),kl={class:"config-field"},Cl={class:"field-copy"},wl={class:"text-body-1"},Sl={key:0,class:"text-body-2 text-medium-emphasis mt-1"},Rl=ae({__name:"ConfigNumber",props:{modelValue:{},label:{},description:{},disabled:{type:Boolean},suffix:{},min:{},max:{}},emits:["update:modelValue"],setup(e,{emit:n}){const a=e,s=n,i=$({get:()=>a.modelValue==null?"":String(a.modelValue),set:r=>{if(r.trim().length===0){s("update:modelValue",null);return}const f=Number(r);s("update:modelValue",Number.isFinite(f)?f:null)}});return(r,f)=>(m(),p("div",kl,[d("div",Cl,[d("div",wl,R(e.label),1),e.description?(m(),p("div",Sl,R(e.description),1)):E("",!0)]),t(me,{modelValue:i.value,"onUpdate:modelValue":f[0]||(f[0]=y=>i.value=y),disabled:e.disabled,min:e.min,max:e.max,suffix:e.suffix,class:"field-input",type:"number"},null,8,["modelValue","disabled","min","max","suffix"])]))}}),F=ve(Rl,[["__scopeId","data-v-3334d99b"]]),Tl=xe({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxHeight:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...ol(),...Vt(ft(),["direction"]),...al()},"VTextarea"),pt=Ae()({name:"VTextarea",directives:{vIntersect:De},inheritAttrs:!1,props:Tl(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(e,{attrs:n,emit:a,slots:s}){const i=Pe(e,"modelValue"),{isFocused:r,focus:f,blur:y}=ct(e),{onIntersect:V}=il(e),h=$(()=>typeof e.counterValue=="function"?e.counterValue(i.value):(i.value||"").toString().length),v=$(()=>{if(n.maxlength)return n.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),u=N(),c=N(),O=mt(""),g=N(),x=N(0),{platform:S}=bt(),b=ll(e),A=$(()=>e.persistentPlaceholder||r.value||e.active);function L(){b.isSuppressing.value&&b.update(),g.value!==document.activeElement&&g.value?.focus(),r.value||f()}function J(C){L(),a("click:control",C)}function K(C){a("mousedown:control",C)}function te(C){C.stopPropagation(),L(),Se(()=>{i.value="",ht(e["onClick:clear"],C)})}function Z(C){const P=C.target;if(!e.modelModifiers?.trim){i.value=P.value;return}const B=P.value,Q=P.selectionStart,Y=P.selectionEnd;i.value=B,Se(()=>{let X=0;B.trimStart().length===P.value.length&&(X=B.length-P.value.length),Q!=null&&(P.selectionStart=Q-X),Y!=null&&(P.selectionEnd=Y-X)})}const H=N(),j=N(Number(e.rows)),W=$(()=>["plain","underlined"].includes(e.variant));dt(()=>{e.autoGrow||(j.value=Number(e.rows))});function I(){Se(()=>{if(!g.value)return;if(S.value.firefox){x.value=12;return}const{offsetWidth:C,clientWidth:P}=g.value;x.value=Math.max(0,C-P)}),e.autoGrow&&Se(()=>{if(!H.value||!c.value)return;const C=getComputedStyle(H.value),P=getComputedStyle(c.value.$el),B=parseFloat(C.getPropertyValue("--v-field-padding-top"))+parseFloat(C.getPropertyValue("--v-input-padding-top"))+parseFloat(C.getPropertyValue("--v-field-padding-bottom")),Q=H.value.scrollHeight,Y=parseFloat(C.lineHeight),X=Math.max(parseFloat(e.rows)*Y+B,parseFloat(P.getPropertyValue("--v-input-control-height"))),se=e.maxHeight?parseFloat(e.maxHeight):parseFloat(e.maxRows)*Y+B||1/0,q=yt(Q??0,X,se);j.value=Math.floor((q-B)/Y),O.value=Te(q)})}ut(I),re(i,I),re(()=>e.rows,I),re(()=>e.maxHeight,I),re(()=>e.maxRows,I),re(()=>e.density,I),re(j,C=>{a("update:rows",C)});let z;return re(H,C=>{C?(z=new ResizeObserver(I),z.observe(H.value)):z?.disconnect()}),Xt(()=>{z?.disconnect()}),Ne(()=>{const C=!!(s.counter||e.counter||e.counterValue),P=!!(C||s.details),[B,Q]=Ze(n),{modelValue:Y,...X}=Ue.filterProps(e),se={...je.filterProps(e),"onClick:clear":te};return t(Ue,ie({ref:u,modelValue:i.value,"onUpdate:modelValue":q=>i.value=q,class:["v-textarea v-text-field",{"v-textarea--prefixed":e.prefix,"v-textarea--suffixed":e.suffix,"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-textarea--auto-grow":e.autoGrow,"v-textarea--no-resize":e.noResize||e.autoGrow,"v-input--plain-underlined":W.value},e.class],style:[{"--v-textarea-max-height":e.maxHeight?Te(e.maxHeight):void 0,"--v-textarea-scroll-bar-width":Te(x.value)},e.style]},B,X,{centerAffix:j.value===1&&!W.value,focused:r.value,indentDetails:e.indentDetails??!W.value}),{...s,default:({id:q,isDisabled:ge,isDirty:pe,isReadonly:ke,isValid:Ce,hasDetails:Ie})=>t(je,ie({ref:c,style:{"--v-textarea-control-height":O.value},onClick:J,onMousedown:K,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},se,{id:q.value,active:A.value||pe.value,labelId:`${q.value}-label`,centerAffix:j.value===1&&!W.value,dirty:pe.value||e.dirty,disabled:ge.value,focused:r.value,details:Ie.value,error:Ce.value===!1}),{...s,default:({props:{class:be,...ce},controlRef:ye})=>d(ee,null,[e.prefix&&d("span",{class:"v-text-field__prefix"},[e.prefix]),He(d("textarea",ie({ref:G=>g.value=ye.value=G,class:be,value:i.value,onInput:Z,autofocus:e.autofocus,readonly:ke.value,disabled:ge.value,placeholder:e.placeholder,rows:e.rows,name:b.fieldName.value,autocomplete:b.fieldAutocomplete.value,onFocus:L,onBlur:y,"aria-labelledby":`${q.value}-label`},ce,Q),null),[[De,{handler:V},null,{once:!0}]]),e.autoGrow&&He(d("textarea",{class:fe([be,"v-textarea__sizer"]),id:`${ce.id}-sizer`,"onUpdate:modelValue":G=>i.value=G,ref:H,readonly:!0,"aria-hidden":"true"},null),[[Zt,i.value]]),e.suffix&&d("span",{class:"v-text-field__suffix"},[e.suffix])])}),details:P?q=>d(ee,null,[s.details?.(q),C&&d(ee,null,[d("span",null,null),t(nl,{active:e.persistentCounter||r.value,value:h.value,max:v.value,disabled:e.disabled},s.counter)])]):void 0})}),Qe({},u,c,g)}}),$l={class:"d-flex flex-column ga-3"},Pl={class:"text-body-1"},Ul={key:0,class:"text-body-2 text-medium-emphasis mt-1"},Al={key:0},Il={key:1,class:"text-body-2 text-medium-emphasis"},zl={class:"d-flex align-center mb-3"},Bl={class:"text-body-2 font-weight-medium"},El={class:"text-caption text-medium-emphasis ml-2","data-testid":"rule-summary"},Fl={key:0,class:"d-flex flex-column ga-3"},Ml={class:"d-flex flex-wrap ga-3"},Nl={key:1,class:"text-body-2 text-medium-emphasis","data-testid":"collapsed-rule-summary"},Ol={key:2,class:"d-flex"},ql=ae({__name:"ConfigRewriteRules",props:{modelValue:{type:[Boolean,Array,null]},label:{},description:{},disabled:{type:Boolean},showModelField:{type:Boolean},allowBooleanModes:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const a=e,s=n,i=N({});function r(){return Array.isArray(a.modelValue)?"rules":a.modelValue===!0?"remove-all":"disabled"}function f(g){if(g==="disabled"){s("update:modelValue",!1);return}if(g==="remove-all"){s("update:modelValue",!0);return}s("update:modelValue",Array.isArray(a.modelValue)?a.modelValue:[])}function y(){return Array.isArray(a.modelValue)?a.modelValue:[]}function V(g,x){s("update:modelValue",y().map((S,b)=>b===g?{...S,...x}:S))}function h(){s("update:modelValue",[...y(),{from:"",to:"",method:"regex"}])}function v(g){const x=y().filter((S,b)=>b!==g);s("update:modelValue",a.allowBooleanModes&&x.length===0?!1:x)}function u(g){i.value={...i.value,[g]:!i.value[g]}}function c(g){return i.value[g]??!1}function O(g){const x=g.method??"regex",S="model"in g&&g.model?` · ${g.model}`:"";return`${x}${S}`}return(g,x)=>(m(),p("div",$l,[d("div",null,[d("div",Pl,R(e.label),1),e.description?(m(),p("div",Ul,R(e.description),1)):E("",!0)]),e.allowBooleanModes?(m(),p("div",Al,[t(Xe,{"model-value":r(),color:"primary",divided:"",mandatory:"","onUpdate:modelValue":x[0]||(x[0]=S=>f(S))},{default:_(()=>[t(M,{value:"disabled"},{default:_(()=>[...x[1]||(x[1]=[D("Disabled",-1)])]),_:1}),t(M,{value:"remove-all"},{default:_(()=>[...x[2]||(x[2]=[D("Remove all",-1)])]),_:1}),t(M,{value:"rules"},{default:_(()=>[...x[3]||(x[3]=[D("Rules",-1)])]),_:1})]),_:1},8,["model-value"])])):E("",!0),Array.isArray(e.modelValue)?E("",!0):(m(),p("div",Il,R(e.modelValue===!0?"All matching reminders will be removed.":"Rules are disabled."),1)),(m(!0),p(ee,null,he(y(),(S,b)=>(m(),p("div",{key:b,class:"rule-card"},[t(vt,{variant:"outlined"},{default:_(()=>[t(gt,{class:"pa-4"},{default:_(()=>[d("div",zl,[d("div",Bl,"Rule "+R(b+1),1),d("div",El,R(O(S)),1),t(Be),t(M,{disabled:e.disabled,icon:c(b)?"mdi-chevron-down":"mdi-chevron-up","aria-label":c(b)?`Expand rule ${b+1}`:`Collapse rule ${b+1}`,"data-testid":"toggle-rule",size:"small",variant:"text",onClick:A=>u(b)},null,8,["disabled","icon","aria-label","onClick"]),t(M,{disabled:e.disabled,icon:"mdi-delete-outline","aria-label":`Remove rule ${b+1}`,size:"small",variant:"text",onClick:A=>v(b)},null,8,["disabled","aria-label","onClick"])]),c(b)?(m(),p("div",Nl,R(S.from||"Empty pattern")+" → "+R(S.to||"Empty replacement"),1)):(m(),p("div",Fl,[t(me,{"model-value":S.from,disabled:e.disabled,label:"From","onUpdate:modelValue":A=>V(b,{from:String(A??"")})},null,8,["model-value","disabled","onUpdate:modelValue"]),t(pt,{"model-value":S.to,disabled:e.disabled,"auto-grow":"",label:"To",rows:"2",variant:"outlined","onUpdate:modelValue":A=>V(b,{to:String(A??"")})},null,8,["model-value","disabled","onUpdate:modelValue"]),d("div",Ml,[t(sl,{"model-value":S.method??"regex",disabled:e.disabled,items:[{title:"Regex",value:"regex"},{title:"Line",value:"line"}],class:"method-select",label:"Method","onUpdate:modelValue":A=>V(b,{method:A})},null,8,["model-value","disabled","onUpdate:modelValue"]),e.showModelField?(m(),ue(me,{key:0,"model-value":"model"in S?S.model??"":"",disabled:e.disabled,class:"model-select",label:"Model regex","onUpdate:modelValue":A=>V(b,{model:String(A??"")||void 0})},null,8,["model-value","disabled","onUpdate:modelValue"])):E("",!0)])]))]),_:2},1024)]),_:2},1024)]))),128)),Array.isArray(e.modelValue)?(m(),p("div",Ol,[t(M,{disabled:e.disabled,"prepend-icon":"mdi-plus",variant:"outlined",onClick:h},{default:_(()=>[...x[4]||(x[4]=[D(" Add rule ",-1)])]),_:1},8,["disabled"])])):E("",!0)]))}}),Je=ve(ql,[["__scopeId","data-v-6ec62757"]]),Dl={class:"flex-grow-1"},Ll={class:"text-subtitle-1 font-weight-bold"},Hl={key:0,class:"text-body-2 text-medium-emphasis mt-1"},le=ae({__name:"ConfigSection",props:{title:{},description:{},requiresRestart:{type:Boolean}},setup(e){return(n,a)=>(m(),ue(vt,null,{default:_(()=>[t(ul,{class:"d-flex align-center ga-3"},{default:_(()=>[d("div",Dl,[d("div",Ll,R(e.title),1),e.description?(m(),p("div",Hl,R(e.description),1)):E("",!0)]),e.requiresRestart?(m(),ue(_t,{key:0},{activator:_(({props:s})=>[t(ml,ie({color:"warning",size:"small",variant:"tonal"},s),{default:_(()=>[t(Oe,{start:"",size:"x-small",icon:"mdi-alert-outline"}),a[0]||(a[0]=D(" Requires restart ",-1))]),_:1},16)]),default:_(()=>[a[1]||(a[1]=D(" Requires restart to take effect ",-1))]),_:1})):E("",!0)]),_:1}),t(rl),t(gt,{class:"d-flex flex-column ga-4"},{default:_(()=>[Qt(n.$slots,"default")]),_:3})]),_:3}))}}),jl={class:"d-flex flex-column ga-3"},Wl={class:"text-body-1"},Gl={key:0,class:"text-body-2 text-medium-emphasis mt-1"},Jl={key:0,class:"text-body-2 text-medium-emphasis"},Kl=ae({__name:"ConfigStringList",props:{modelValue:{},label:{},description:{},disabled:{type:Boolean},itemLabel:{},emptyText:{}},emits:["update:modelValue"],setup(e,{emit:n}){const a=e,s=n;function i(y,V){s("update:modelValue",a.modelValue.map((h,v)=>v===y?V:h))}function r(y){s("update:modelValue",a.modelValue.filter((V,h)=>h!==y))}function f(){s("update:modelValue",[...a.modelValue,""])}return(y,V)=>(m(),p("div",jl,[d("div",null,[d("div",Wl,R(e.label),1),e.description?(m(),p("div",Gl,R(e.description),1)):E("",!0)]),e.modelValue.length===0?(m(),p("div",Jl,R(e.emptyText??"No values configured."),1)):E("",!0),(m(!0),p(ee,null,he(e.modelValue,(h,v)=>(m(),p("div",{key:v,class:"d-flex align-start ga-3"},[t(me,{"model-value":h,disabled:e.disabled,label:e.itemLabel??"Value","onUpdate:modelValue":u=>i(v,String(u??""))},null,8,["model-value","disabled","label","onUpdate:modelValue"]),t(M,{disabled:e.disabled,icon:"mdi-close",size:"small",variant:"text","aria-label":`Remove ${e.itemLabel??"item"} ${v+1}`,onClick:u=>r(v)},null,8,["disabled","aria-label","onClick"])]))),128)),d("div",null,[t(M,{disabled:e.disabled,"prepend-icon":"mdi-plus",variant:"outlined",onClick:f},{default:_(()=>[...V[0]||(V[0]=[D(" Add item ",-1)])]),_:1},8,["disabled"])])]))}}),Yl={class:"config-field"},Xl={class:"field-copy"},Zl={class:"text-body-1"},Ql={key:0,class:"text-body-2 text-medium-emphasis mt-1"},ea=ae({__name:"ConfigText",props:{modelValue:{},label:{},description:{},disabled:{type:Boolean},multiline:{type:Boolean},placeholder:{}},emits:["update:modelValue"],setup(e,{emit:n}){const a=e,s=n,i=$({get:()=>a.modelValue??"",set:r=>s("update:modelValue",r.length===0?null:r)});return(r,f)=>(m(),p("div",Yl,[d("div",Xl,[d("div",Zl,R(e.label),1),e.description?(m(),p("div",Ql,R(e.description),1)):E("",!0)]),e.multiline?(m(),ue(pt,{key:0,modelValue:i.value,"onUpdate:modelValue":f[0]||(f[0]=y=>i.value=y),disabled:e.disabled,placeholder:e.placeholder,"auto-grow":"",class:"field-input",rows:"3",variant:"outlined"},null,8,["modelValue","disabled","placeholder"])):(m(),ue(me,{key:1,modelValue:i.value,"onUpdate:modelValue":f[1]||(f[1]=y=>i.value=y),disabled:e.disabled,placeholder:e.placeholder,class:"field-input",clearable:""},null,8,["modelValue","disabled","placeholder"]))]))}}),ze=ve(ea,[["__scopeId","data-v-124817f6"]]),ta=xe({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...ft(),...dl()},"VSwitch"),la=Ae()({name:"VSwitch",inheritAttrs:!1,props:ta(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,{attrs:n,slots:a}){const s=Pe(e,"indeterminate"),i=Pe(e,"modelValue"),{loaderClasses:r}=xt(e),{isFocused:f,focus:y,blur:V}=ct(e),h=N(),v=N(),u=kt&&window.matchMedia("(forced-colors: active)").matches,c=de(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),O=el(),g=de(()=>e.id||`switch-${O}`);function x(){s.value&&(s.value=!1)}function S(b){b.stopPropagation(),b.preventDefault(),h.value?.input?.click()}return Ne(()=>{const[b,A]=Ze(n),L=Ue.filterProps(e),J=We.filterProps(e);return t(Ue,ie({ref:v,class:["v-switch",{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":s.value},r.value,e.class]},b,L,{modelValue:i.value,"onUpdate:modelValue":K=>i.value=K,id:g.value,focused:f.value,style:e.style}),{...a,default:({id:K,messagesId:te,isDisabled:Z,isReadonly:H,isValid:j})=>{const W={model:i,isValid:j};return t(We,ie({ref:h},J,{modelValue:i.value,"onUpdate:modelValue":[I=>i.value=I,x],id:K.value,"aria-describedby":te.value,type:"checkbox","aria-checked":s.value?"mixed":void 0,disabled:Z.value,readonly:H.value,onFocus:y,onBlur:V},A),{...a,default:({backgroundColorClasses:I,backgroundColorStyles:z})=>d("div",{class:fe(["v-switch__track",u?void 0:I.value]),style:_e(z.value),onClick:S},[a["track-true"]&&d("div",{key:"prepend",class:"v-switch__track-true"},[a["track-true"](W)]),a["track-false"]&&d("div",{key:"append",class:"v-switch__track-false"},[a["track-false"](W)])]),input:({inputNode:I,icon:z,backgroundColorClasses:C,backgroundColorStyles:P})=>d(ee,null,[I,d("div",{class:fe(["v-switch__thumb",{"v-switch__thumb--filled":z||e.loading},e.inset||u?void 0:C.value]),style:_e(e.inset?void 0:P.value)},[a.thumb?t(Ee,{defaults:{VIcon:{icon:z,size:"x-small"}}},{default:()=>[a.thumb({...W,icon:z})]}):t(Ct,null,{default:()=>[e.loading?t(wt,{name:"v-switch",active:!0,color:j.value===!1?void 0:c.value},{default:B=>a.loader?a.loader(B):t(et,{active:B.isActive,color:B.color,indeterminate:!0,size:"16",width:"2"},null)}):z&&t(Oe,{key:String(z),icon:z,size:"x-small"},null)]})])])})}})}),Qe({},v)}}),aa={class:"config-field"},oa={class:"field-copy"},na={class:"text-body-1"},ia={key:0,class:"text-body-2 text-medium-emphasis mt-1"},sa=ae({__name:"ConfigToggle",props:{modelValue:{type:[Boolean,null]},label:{},description:{},disabled:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const a=e,s=n,i=$({get:()=>a.modelValue??!1,set:r=>s("update:modelValue",r)});return(r,f)=>(m(),p("div",aa,[d("div",oa,[d("div",na,R(e.label),1),e.description?(m(),p("div",ia,R(e.description),1)):E("",!0)]),t(la,{modelValue:i.value,"onUpdate:modelValue":f[0]||(f[0]=y=>i.value=y),disabled:e.disabled,color:"primary","hide-details":"",inset:""},null,8,["modelValue","disabled"])]))}}),ne=ve(sa,[["__scopeId","data-v-a2139cef"]]);function Fe(e){return e?{...e.proxy!==void 0?{proxy:e.proxy}:{},...e.model_overrides!==void 0?{model_overrides:ga(e.model_overrides)}:{},...e.stream_idle_timeout!==void 0?{stream_idle_timeout:e.stream_idle_timeout}:{},...e.fetch_timeout!==void 0?{fetch_timeout:e.fetch_timeout}:{},...e.stale_request_max_age!==void 0?{stale_request_max_age:e.stale_request_max_age}:{},...e.model_refresh_interval!==void 0?{model_refresh_interval:e.model_refresh_interval}:{},...e.shutdown!==void 0?{shutdown:Re(e.shutdown,["graceful_wait","abort_wait"])}:{},...e.history!==void 0?{history:Re(e.history,["limit","min_entries"])}:{},...e.anthropic!==void 0?{anthropic:da(e.anthropic)}:{},...e["openai-responses"]!==void 0?{"openai-responses":Re(e["openai-responses"],["normalize_call_ids","upstream_websocket"])}:{},...e.rate_limiter!==void 0?{rate_limiter:Re(e.rate_limiter,["retry_interval","request_interval","recovery_timeout","consecutive_successes"])}:{},...e.compress_tool_results_before_truncate!==void 0?{compress_tool_results_before_truncate:e.compress_tool_results_before_truncate}:{},...e.system_prompt_overrides!==void 0?{system_prompt_overrides:ma(e.system_prompt_overrides)}:{},...e.system_prompt_prepend!==void 0?{system_prompt_prepend:e.system_prompt_prepend}:{},...e.system_prompt_append!==void 0?{system_prompt_append:e.system_prompt_append}:{}}:{}}function $e(e){return Fe(e)}function Ke(e){return JSON.stringify($e(e))}function Ye(e){if(e instanceof Rt){try{const n=JSON.parse(e.bodyText);if(n.details.length>0)return n.details.map(a=>`${a.field}: ${a.message}`).join("; ");if(n.error)return n.error}catch{return e.message}return e.message}return e instanceof Error?e.message:"Unknown error"}function ra(){const{show:e}=St(),n=N(null),a=N(null),s=N(!1),i=N(!1),r=N(null),f=$(()=>Ke(n.value)!==Ke(a.value)),y=$(()=>{if(!n.value||!a.value)return!1;const u=$e(n.value),c=$e(a.value);return JSON.stringify(u.proxy)!==JSON.stringify(c.proxy)||JSON.stringify(u.rate_limiter)!==JSON.stringify(c.rate_limiter)});async function V(){s.value=!0,r.value=null;try{const u=await Le.fetchConfigYaml(),c=Fe(u);n.value=Ve(c),a.value=Ve(c)}catch(u){r.value=Ye(u),e(r.value,"error")}finally{s.value=!1}}async function h(){if(!n.value||i.value)return!1;i.value=!0,r.value=null;const u=y.value;try{const c=$e(n.value),O=await Le.saveConfigYaml(c),g=Fe(O);return n.value=Ve(g),a.value=Ve(g),e(u?"Config saved. Some changes require a restart.":"Config saved","success"),!0}catch(c){return r.value=Ye(c),e(r.value,"error"),!1}finally{i.value=!1}}function v(){a.value&&(n.value=Ve(a.value),r.value=null)}return{config:n,original:a,loading:s,saving:i,error:r,isDirty:f,hasRestartFields:y,load:V,save:h,discard:v}}function da(e){if(e===null)return null;if(!e)return;const n={...e.strip_server_tools!==void 0?{strip_server_tools:e.strip_server_tools}:{},...e.dedup_tool_calls!==void 0?{dedup_tool_calls:e.dedup_tool_calls}:{},...e.immutable_thinking_messages!==void 0?{immutable_thinking_messages:e.immutable_thinking_messages}:{},...e.strip_read_tool_result_tags!==void 0?{strip_read_tool_result_tags:e.strip_read_tool_result_tags}:{},...e.context_editing!==void 0?{context_editing:e.context_editing}:{},...e.context_editing_trigger!==void 0?{context_editing_trigger:e.context_editing_trigger}:{},...e.context_editing_keep_tools!==void 0?{context_editing_keep_tools:e.context_editing_keep_tools}:{},...e.context_editing_keep_thinking!==void 0?{context_editing_keep_thinking:e.context_editing_keep_thinking}:{},...e.tool_search!==void 0?{tool_search:e.tool_search}:{},...e.auto_cache_control!==void 0?{auto_cache_control:e.auto_cache_control}:{},...e.non_deferred_tools!==void 0?{non_deferred_tools:e.non_deferred_tools===null?null:[...e.non_deferred_tools]}:{},...e.rewrite_system_reminders!==void 0?{rewrite_system_reminders:ua(e.rewrite_system_reminders)}:{}};return va(n)}function ua(e){if(e!==void 0)return e===null?null:typeof e=="boolean"?e:e.length===0?!1:e.map(n=>fa(n))}function ma(e){if(e!==void 0)return e===null?null:e.map(n=>ca(n))}function ca(e){return{from:e.from,to:e.to,...e.method?{method:e.method}:{},...e.model?{model:e.model}:{}}}function fa(e){return{from:e.from,to:e.to,...e.method?{method:e.method}:{}}}function Re(e,n){if(e===null)return null;if(!e)return;const a={};let s=!1,i=!1;for(const r of n){const f=e[r];f!==void 0&&(s=!0,Object.is(f,null)||(i=!0),a[r]=f)}if(s)return i?a:null}function va(e){const n=Object.values(e);if(n.length!==0)return n.every(a=>a===null)?null:e}function ga(e){return e===null?null:Object.fromEntries(Object.entries(e).sort(([n],[a])=>n.localeCompare(a)))}function Ve(e){return structuredClone(Me(e))}function Me(e){if(Array.isArray(e))return e.map(n=>Me(n));if(e&&typeof e=="object"){const n=tl(e);return Object.fromEntries(Object.entries(n).map(([a,s])=>[a,Me(s)]))}return e}const pa=Tt("v-alert-title"),ba=xe({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function ya(e,n){return{iconSize:$(()=>{const s=new Map(e.iconSizes),i=e.iconSize??n()??"default";return s.has(i)?s.get(i):i})}}const Va=["success","info","warning","error"],ha=xe({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:Et,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>Va.includes(e)},...rt(),...qt(),...Ot(),...st(),...ba(),...Nt(),...Mt(),...it(),...nt(),...ot(),...Ft({variant:"flat"})},"VAlert"),_a=Ae()({name:"VAlert",props:ha(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,{emit:n,slots:a}){const s=Pe(e,"modelValue"),i=de(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:r}=ya(e,()=>e.prominent?44:void 0),{themeClasses:f}=tt(e),{colorClasses:y,colorStyles:V,variantClasses:h}=$t(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:v}=Pt(e),{dimensionStyles:u}=Bt(e),{elevationClasses:c}=at(e),{locationStyles:O}=Ut(e),{positionClasses:g}=At(e),{roundedClasses:x}=lt(e),{textColorClasses:S,textColorStyles:b}=It(()=>e.borderColor),{t:A}=zt(),L=de(()=>({"aria-label":A(e.closeLabel),onClick(J){s.value=!1,n("click:close",J)}}));return()=>{const J=!!(a.prepend||i.value),K=!!(a.title||e.title),te=!!(a.close||e.closable),Z={density:e.density,icon:i.value,size:e.iconSize||e.prominent?r.value:void 0};return s.value&&t(e.tag,{class:fe(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},f.value,y.value,v.value,c.value,g.value,x.value,h.value,e.class]),style:_e([V.value,u.value,O.value,e.style]),role:"alert"},{default:()=>[Dt(!1,"v-alert"),e.border&&d("div",{key:"border",class:fe(["v-alert__border",S.value]),style:_e(b.value)},null),J&&d("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?t(Ee,{key:"prepend-defaults",disabled:!i.value,defaults:{VIcon:{...Z}}},a.prepend):t(Oe,ie({key:"prepend-icon"},Z),null)]),d("div",{class:"v-alert__content"},[K&&t(pa,{key:"title"},{default:()=>[a.title?.()??e.title]}),a.text?.()??e.text,a.default?.()]),a.append&&d("div",{key:"append",class:"v-alert__append"},[a.append()]),te&&d("div",{key:"close",class:"v-alert__close"},[a.close?t(Ee,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>[a.close?.({props:L.value})]}):t(M,ie({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},L.value),null)])]})}}}),xa=xe({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...Kt(),...rt(),...st(),...Jt(),...it(),...nt({tag:"footer"}),...ot()},"VFooter"),ka=Ae()({name:"VFooter",props:xa(),setup(e,{slots:n}){const a=N(),{themeClasses:s}=tt(e),{backgroundColorClasses:i,backgroundColorStyles:r}=Lt(()=>e.color),{borderClasses:f}=Ht(e),{elevationClasses:y}=at(e),{roundedClasses:V}=lt(e),h=mt(32),{resizeRef:v}=jt(c=>{c.length&&(h.value=c[0].target.clientHeight)}),u=$(()=>e.height==="auto"?h.value:parseInt(e.height,10));return Wt(()=>e.app,()=>{const c=Gt({id:e.name,order:$(()=>parseInt(e.order,10)),position:de(()=>"bottom"),layoutSize:u,elementSize:$(()=>e.height==="auto"?void 0:u.value),active:de(()=>e.app),absolute:de(()=>e.absolute)});dt(()=>{a.value=c.layoutItemStyles.value})}),Ne(()=>t(e.tag,{ref:v,class:fe(["v-footer",s.value,i.value,f.value,y.value,V.value,e.class]),style:_e([r.value,e.app?a.value:{height:Te(e.height)},e.style])},n)),{}}}),Ca={class:"config-page v-page-root"},wa={key:0,class:"v-page-fill align-center justify-center"},Sa={key:1,class:"v-page-scroll"},Ra={class:"config-shell px-4 py-4 mx-auto"},Ta={class:"d-flex flex-column ga-4"},$a={class:"d-flex align-center ga-3 w-100 py-3"},Pa={class:"text-body-2 text-medium-emphasis"},Ua=ae({__name:"VConfigPage",setup(e){const n=ra(),a=$(()=>n.loading.value),s=$(()=>n.saving.value),i=$(()=>n.isDirty.value),r=$(()=>n.error.value),f=[{value:!1,label:"Off"},{value:"input",label:"Input"},{value:"result",label:"Result"}],y=[{value:"off",label:"Off"},{value:"clear-thinking",label:"Thinking"},{value:"clear-tooluse",label:"Tool use"},{value:"clear-both",label:"Both"}];ut(()=>{n.load()});const V=G("proxy",null),h=G("compress_tool_results_before_truncate",!1),v=G("fetch_timeout",null),u=G("stream_idle_timeout",null),c=G("stale_request_max_age",null),O=G("model_refresh_interval",null),g=G("system_prompt_prepend",null),x=G("system_prompt_append",null),S=U("anthropic","strip_server_tools",!1),b=U("anthropic","immutable_thinking_messages",!1),A=U("anthropic","dedup_tool_calls",!1),L=U("anthropic","strip_read_tool_result_tags",!1),J=U("anthropic","context_editing","off"),K=U("anthropic","context_editing_trigger",1e5),te=U("anthropic","context_editing_keep_tools",3),Z=U("anthropic","context_editing_keep_thinking",1),H=U("anthropic","tool_search",!0),j=U("anthropic","auto_cache_control",!0),W=U("openai-responses","normalize_call_ids",!0),I=U("openai-responses","upstream_websocket",!1),z=U("shutdown","graceful_wait",null),C=U("shutdown","abort_wait",null),P=U("history","limit",null),B=U("history","min_entries",null),Q=U("rate_limiter","retry_interval",null),Y=U("rate_limiter","request_interval",null),X=U("rate_limiter","recovery_timeout",null),se=U("rate_limiter","consecutive_successes",null),q=$({get:()=>Object.entries(n.config.value?.model_overrides??{}).sort(([T],[l])=>T.localeCompare(l)).map(([T,l])=>({key:T,value:l})),set:T=>{const l=Object.fromEntries(T.map(o=>({key:o.key.trim(),value:o.value.trim()})).filter(o=>o.key.length>0&&o.value.length>0).sort((o,oe)=>o.key.localeCompare(oe.key)).map(o=>[o.key,o.value]));ce("model_overrides",l)}}),ge=$({get:()=>n.config.value?.anthropic?.rewrite_system_reminders??!1,set:T=>ye("anthropic","rewrite_system_reminders",T)}),pe=$({get:()=>n.config.value?.system_prompt_overrides??[],set:T=>ce("system_prompt_overrides",T)}),ke=$({get:()=>n.config.value?.anthropic?.non_deferred_tools??[],set:T=>ye("anthropic","non_deferred_tools",T.map(l=>l.trim()).filter((l,o,oe)=>l.length>0&&oe.indexOf(l)===o))});async function Ce(){await n.save()}function Ie(){n.discard()}function be(){return n.config.value||(n.config.value={}),n.config.value}function ce(T,l){const o=be();n.config.value={...o,[T]:l}}function ye(T,l,o){const oe=be(),we=oe[T],qe=we&&typeof we=="object"&&!Array.isArray(we)?{...we}:{};qe[l]=o,n.config.value={...oe,[T]:qe}}function G(T,l){return $({get:()=>n.config.value?.[T]??l,set:o=>ce(T,o)})}function U(T,l,o){return $({get:()=>n.config.value?.[T]?.[l]??o,set:oe=>ye(T,l,oe)})}return(T,l)=>(m(),p("div",Ca,[t(Yt,{class:"page-toolbar px-4",color:"surface",density:"comfortable",flat:""},{default:_(()=>[l[33]||(l[33]=d("div",null,[d("div",{class:"text-h6 font-weight-bold"},"Config"),d("div",{class:"text-body-2 text-medium-emphasis"},"Edit `config.yaml` as structured fields.")],-1)),t(Be),t(M,{color:"primary",disabled:!i.value||s.value||a.value,loading:s.value,variant:"flat",onClick:Ce},{default:_(()=>[...l[32]||(l[32]=[D(" Save ",-1)])]),_:1},8,["disabled","loading"])]),_:1}),a.value&&!k(n).config.value?(m(),p("div",wa,[t(et,{indeterminate:"",color:"primary"})])):(m(),p("div",Sa,[d("div",Ra,[r.value?(m(),ue(_a,{key:0,type:"error",variant:"tonal",class:"mb-4"},{default:_(()=>[D(R(r.value),1)]),_:1})):E("",!0),d("div",Ta,[t(le,{title:"General",description:"Top-level transport and prompt-compression settings.","requires-restart":""},{default:_(()=>[t(ze,{modelValue:k(V),"onUpdate:modelValue":l[0]||(l[0]=o=>w(V)?V.value=o:null),label:"Proxy",description:"Supports http://, https://, socks5://, socks5h://.",placeholder:"http://127.0.0.1:7890"},null,8,["modelValue"]),t(ne,{modelValue:k(h),"onUpdate:modelValue":l[1]||(l[1]=o=>w(h)?h.value=o:null),label:"Compress Tool Results Before Truncate",description:"Compress older tool_result content before dropping messages."},null,8,["modelValue"])]),_:1}),t(le,{title:"Anthropic Pipeline",description:"Server-side request sanitization, deduplication, and reminder rewriting."},{default:_(()=>[t(ne,{modelValue:k(S),"onUpdate:modelValue":l[2]||(l[2]=o=>w(S)?S.value=o:null),label:"Strip Server Tools",description:"Remove server-side tools before forwarding requests upstream."},null,8,["modelValue"]),t(Ge,{modelValue:k(A),"onUpdate:modelValue":l[3]||(l[3]=o=>w(A)?A.value=o:null),label:"Dedup Tool Calls",description:"Choose how repeated tool_use/tool_result pairs are matched.",options:[...f]},null,8,["modelValue","options"]),t(Ge,{modelValue:k(J),"onUpdate:modelValue":l[4]||(l[4]=o=>w(J)?J.value=o:null),label:"Context Editing",description:"Enable server-side context trimming for supported Anthropic models.",options:[...y]},null,8,["modelValue","options"]),t(F,{modelValue:k(K),"onUpdate:modelValue":l[5]||(l[5]=o=>w(K)?K.value=o:null),label:"Context Editing Trigger",description:"Input token threshold that triggers tool-use clearing.",min:0},null,8,["modelValue"]),t(F,{modelValue:k(te),"onUpdate:modelValue":l[6]||(l[6]=o=>w(te)?te.value=o:null),label:"Context Editing Keep Tools",description:"How many recent tool-use pairs to retain after clearing.",min:0},null,8,["modelValue"]),t(F,{modelValue:k(Z),"onUpdate:modelValue":l[7]||(l[7]=o=>w(Z)?Z.value=o:null),label:"Context Editing Keep Thinking",description:"How many recent thinking turns to retain after clearing.",min:0},null,8,["modelValue"]),t(ne,{modelValue:k(b),"onUpdate:modelValue":l[8]||(l[8]=o=>w(b)?b.value=o:null),label:"Immutable Thinking Messages",description:"Preserve assistant thinking/redacted_thinking blocks during rewrites."},null,8,["modelValue"]),t(ne,{modelValue:k(L),"onUpdate:modelValue":l[9]||(l[9]=o=>w(L)?L.value=o:null),label:"Strip Read Tool Result Tags",description:"Remove injected system-reminder tags from Read tool results."},null,8,["modelValue"]),t(ne,{modelValue:k(H),"onUpdate:modelValue":l[10]||(l[10]=o=>w(H)?H.value=o:null),label:"Tool Search",description:"Inject Copilot tool_search helpers when the model supports them."},null,8,["modelValue"]),t(ne,{modelValue:k(j),"onUpdate:modelValue":l[11]||(l[11]=o=>w(j)?j.value=o:null),label:"Auto Cache Control",description:"Inject cache_control breakpoints on stable tools and system blocks."},null,8,["modelValue"]),t(Kl,{modelValue:ke.value,"onUpdate:modelValue":l[12]||(l[12]=o=>ke.value=o),label:"Non-Deferred Tools",description:"Additional tool names that should stay eager when tool search is enabled.","item-label":"Tool name","empty-text":"No extra non-deferred tools configured."},null,8,["modelValue"]),t(Je,{modelValue:ge.value,"onUpdate:modelValue":l[13]||(l[13]=o=>ge.value=o),label:"Rewrite System Reminders",description:"Disable, remove all, or define ordered rewrite rules.","allow-boolean-modes":""},null,8,["modelValue"])]),_:1}),t(le,{title:"System Prompt",description:"Prepend, append, or rewrite prompt text before requests leave the server."},{default:_(()=>[t(ze,{modelValue:k(g),"onUpdate:modelValue":l[14]||(l[14]=o=>w(g)?g.value=o:null),label:"System Prompt Prepend",description:"Inserted before the original system prompt.",multiline:""},null,8,["modelValue"]),t(ze,{modelValue:k(x),"onUpdate:modelValue":l[15]||(l[15]=o=>w(x)?x.value=o:null),label:"System Prompt Append",description:"Inserted after the original system prompt.",multiline:""},null,8,["modelValue"]),t(Je,{modelValue:pe.value,"onUpdate:modelValue":l[16]||(l[16]=o=>pe.value=o),label:"System Prompt Overrides",description:"Ordered rewrite rules with optional model filters.","show-model-field":""},null,8,["modelValue"])]),_:1}),t(le,{title:"OpenAI Responses",description:"Compatibility options for the Responses API endpoint."},{default:_(()=>[t(ne,{modelValue:k(W),"onUpdate:modelValue":l[17]||(l[17]=o=>w(W)?W.value=o:null),label:"Normalize Call IDs",description:"Convert Chat Completions-style tool call IDs to Responses format."},null,8,["modelValue"]),t(ne,{modelValue:k(I),"onUpdate:modelValue":l[18]||(l[18]=o=>w(I)?I.value=o:null),label:"Upstream WebSocket",description:"Use upstream WebSocket transport for streaming /responses when the model supports it."},null,8,["modelValue"])]),_:1}),t(le,{title:"Timeouts",description:"Request, stream, and stale-request timing controls."},{default:_(()=>[t(F,{modelValue:k(v),"onUpdate:modelValue":l[19]||(l[19]=o=>w(v)?v.value=o:null),label:"Fetch Timeout",description:"Max time from request start to response headers.",suffix:"s",min:0},null,8,["modelValue"]),t(F,{modelValue:k(u),"onUpdate:modelValue":l[20]||(l[20]=o=>w(u)?u.value=o:null),label:"Stream Idle Timeout",description:"Max gap between SSE events.",suffix:"s",min:0},null,8,["modelValue"]),t(F,{modelValue:k(c),"onUpdate:modelValue":l[21]||(l[21]=o=>w(c)?c.value=o:null),label:"Stale Request Max Age",description:"Force-fail active requests that outlive this threshold.",suffix:"s",min:0},null,8,["modelValue"]),t(F,{modelValue:k(O),"onUpdate:modelValue":l[22]||(l[22]=o=>w(O)?O.value=o:null),label:"Model Refresh Interval",description:"Refresh the cached model list in the background. Set to 0 to disable.",suffix:"s",min:0},null,8,["modelValue"])]),_:1}),t(le,{title:"Shutdown",description:"Graceful shutdown timings for in-flight request handling."},{default:_(()=>[t(F,{modelValue:k(z),"onUpdate:modelValue":l[23]||(l[23]=o=>w(z)?z.value=o:null),label:"Graceful Wait",suffix:"s",min:0},null,8,["modelValue"]),t(F,{modelValue:k(C),"onUpdate:modelValue":l[24]||(l[24]=o=>w(C)?C.value=o:null),label:"Abort Wait",suffix:"s",min:0},null,8,["modelValue"])]),_:1}),t(le,{title:"History",description:"Retention limits for in-memory request history."},{default:_(()=>[t(F,{modelValue:k(P),"onUpdate:modelValue":l[25]||(l[25]=o=>w(P)?P.value=o:null),label:"History Limit",min:0},null,8,["modelValue"]),t(F,{modelValue:k(B),"onUpdate:modelValue":l[26]||(l[26]=o=>w(B)?B.value=o:null),label:"History Min Entries",min:0},null,8,["modelValue"])]),_:1}),t(le,{title:"Model Overrides",description:"Map requested model names to specific target models."},{default:_(()=>[t(xl,{modelValue:q.value,"onUpdate:modelValue":l[27]||(l[27]=o=>q.value=o),label:"Overrides",description:"Override keys must be unique; empty rows are ignored on save."},null,8,["modelValue"])]),_:1}),t(le,{title:"Rate Limiter",description:"Adaptive limiter parameters used at startup.","requires-restart":""},{default:_(()=>[t(F,{modelValue:k(Q),"onUpdate:modelValue":l[28]||(l[28]=o=>w(Q)?Q.value=o:null),label:"Retry Interval",suffix:"s",min:0},null,8,["modelValue"]),t(F,{modelValue:k(Y),"onUpdate:modelValue":l[29]||(l[29]=o=>w(Y)?Y.value=o:null),label:"Request Interval",suffix:"s",min:0},null,8,["modelValue"]),t(F,{modelValue:k(X),"onUpdate:modelValue":l[30]||(l[30]=o=>w(X)?X.value=o:null),label:"Recovery Timeout",suffix:"min",min:0},null,8,["modelValue"]),t(F,{modelValue:k(se),"onUpdate:modelValue":l[31]||(l[31]=o=>w(se)?se.value=o:null),label:"Consecutive Successes",min:0},null,8,["modelValue"])]),_:1})])])])),t(ka,{class:"page-footer px-4",color:"surface"},{default:_(()=>[d("div",$a,[d("div",Pa,R(i.value?"Unsaved changes":"No pending changes"),1),t(Be),t(M,{disabled:!i.value||s.value||a.value,variant:"outlined",onClick:Ie},{default:_(()=>[...l[34]||(l[34]=[D(" Discard ",-1)])]),_:1},8,["disabled"]),t(M,{color:"primary",disabled:!i.value||s.value||a.value,loading:s.value,variant:"flat",onClick:Ce},{default:_(()=>[...l[35]||(l[35]=[D(" Save ",-1)])]),_:1},8,["disabled","loading"])])]),_:1})]))}}),Fa=ve(Ua,[["__scopeId","data-v-97045d92"]]);export{Fa as default};