@nextclaw/ui 0.27.4 → 0.27.5-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/.vite/manifest.json +45 -45
  3. package/dist/assets/{account-panel-Cfx3ocPY.js → account-panel-DgqicWMm.js} +1 -1
  4. package/dist/assets/{agents-BdeFtIOV.js → agents-CTSR4ZKb.js} +1 -1
  5. package/dist/assets/agents-i7167DcF.js +1 -0
  6. package/dist/assets/{app-presenter-provider-BB3Xl8b0.js → app-presenter-provider-DdD2Q7jZ.js} +17 -16
  7. package/dist/assets/{appearance-settings-page-DiSRSDN3.js → appearance-settings-page-CSWYLrsR.js} +1 -1
  8. package/dist/assets/apps-DUP3aPpu.js +1 -0
  9. package/dist/assets/cron-DPBUHn7j.js +1 -0
  10. package/dist/assets/doc-browser-C7kvXGc_.js +1 -0
  11. package/dist/assets/inbox-C09MQO9k.js +1 -0
  12. package/dist/assets/{keyboard-shortcuts-settings-page-BFBXVf20.js → keyboard-shortcuts-settings-page-BCxB9m69.js} +1 -1
  13. package/dist/assets/{main-Bp1iozNB.js → main-C6VGoYNO.js} +2 -2
  14. package/dist/assets/{marketplace-BTDWnHP7.js → marketplace-CXCLbyho.js} +1 -1
  15. package/dist/assets/mcp-marketplace-page-ZAm380SB.js +1 -0
  16. package/dist/assets/panel-apps-BQlyeAId.js +1 -0
  17. package/dist/assets/{projects-fPTOn2Wz.js → projects-BWM-oEo0.js} +1 -1
  18. package/dist/assets/remote-DngM8iep.js +1 -0
  19. package/dist/assets/{runtime-config-page-P5RUq3YK.js → runtime-config-page-Dx6lWn3_.js} +1 -1
  20. package/dist/assets/{service-apps-panel-BReYr_ni.js → service-apps-panel-9khaUSFI.js} +1 -1
  21. package/dist/index.html +3 -3
  22. package/package.json +7 -7
  23. package/src/features/chat/features/message/utils/__tests__/chat-message-timeline.utils.test.ts +16 -0
  24. package/src/features/chat/features/message/utils/__tests__/chat-message.utils.test.ts +17 -0
  25. package/src/features/chat/features/message/utils/chat-message-timeline.utils.ts +3 -3
  26. package/src/features/chat/features/message/utils/chat-message.utils.ts +11 -4
  27. package/src/features/chat/features/message/utils/chat-user-question-timeline.utils.ts +42 -0
  28. package/dist/assets/agents-p_wcGhC3.js +0 -1
  29. package/dist/assets/apps-CKFrWb00.js +0 -1
  30. package/dist/assets/cron-UqsFT41c.js +0 -1
  31. package/dist/assets/doc-browser-2VjSkax1.js +0 -1
  32. package/dist/assets/inbox-D62apR2j.js +0 -1
  33. package/dist/assets/mcp-marketplace-page-oHCbBkS-.js +0 -1
  34. package/dist/assets/panel-apps-CniMi7QW.js +0 -1
  35. package/dist/assets/remote-CsJMF8OR.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @nextclaw/ui
2
2
 
3
+ ## 0.27.5-beta.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 260165f: Keep asynchronous questions in the assistant message at their original position, and expose ordered Bibo message content for the hosted chat.
8
+ - @nextclaw/client-sdk@0.12.14-beta.0
9
+
3
10
  ## 0.27.4
4
11
 
5
12
  ### Patch Changes
@@ -1191,13 +1191,13 @@
1191
1191
  "src": "../../node_modules/.pnpm/xlsx@https+++cdn.sheetjs.com+xlsx-0.20.3+xlsx-0.20.3.tgz/node_modules/xlsx/xlsx.mjs",
1192
1192
  "isDynamicEntry": true
1193
1193
  },
1194
- "_agents-BdeFtIOV.js": {
1195
- "file": "assets/agents-BdeFtIOV.js",
1194
+ "_agents-CTSR4ZKb.js": {
1195
+ "file": "assets/agents-CTSR4ZKb.js",
1196
1196
  "name": "agents",
1197
1197
  "imports": [
1198
1198
  "_chunk-DF37yw5_.js",
1199
1199
  "_dist-D9h2cWk3.js",
1200
- "_app-presenter-provider-BB3Xl8b0.js",
1200
+ "_app-presenter-provider-DdD2Q7jZ.js",
1201
1201
  "_context-menu-C0qywo73.js",
1202
1202
  "_api-CXWxExzS.js",
1203
1203
  "_createLucideIcon-C3LSyx-e.js",
@@ -1224,8 +1224,12 @@
1224
1224
  "_i18n-ByVUrt9w.js"
1225
1225
  ]
1226
1226
  },
1227
- "_app-presenter-provider-BB3Xl8b0.js": {
1228
- "file": "assets/app-presenter-provider-BB3Xl8b0.js",
1227
+ "_app-presenter-provider-D3BuuOyZ.css": {
1228
+ "file": "assets/app-presenter-provider-D3BuuOyZ.css",
1229
+ "src": "_app-presenter-provider-D3BuuOyZ.css"
1230
+ },
1231
+ "_app-presenter-provider-DdD2Q7jZ.js": {
1232
+ "file": "assets/app-presenter-provider-DdD2Q7jZ.js",
1229
1233
  "name": "app-presenter-provider",
1230
1234
  "imports": [
1231
1235
  "_chunk-DF37yw5_.js",
@@ -1267,8 +1271,8 @@
1267
1271
  "../../node_modules/.pnpm/@aiden0z+pptx-renderer@1.2.4/node_modules/@aiden0z/pptx-renderer/dist/aiden0z-pptx-renderer.es.js",
1268
1272
  "../../node_modules/.pnpm/xlsx@https+++cdn.sheetjs.com+xlsx-0.20.3+xlsx-0.20.3.tgz/node_modules/xlsx/xlsx.mjs",
1269
1273
  "src/features/service-apps/components/service-apps-panel.tsx",
1270
- "_app-presenter-provider-BB3Xl8b0.js",
1271
- "_agents-BdeFtIOV.js",
1274
+ "_app-presenter-provider-DdD2Q7jZ.js",
1275
+ "_agents-CTSR4ZKb.js",
1272
1276
  "src/features/projects/index.ts",
1273
1277
  "src/features/account/components/account-panel.tsx"
1274
1278
  ],
@@ -1276,10 +1280,6 @@
1276
1280
  "assets/app-presenter-provider-D3BuuOyZ.css"
1277
1281
  ]
1278
1282
  },
1279
- "_app-presenter-provider-D3BuuOyZ.css": {
1280
- "file": "assets/app-presenter-provider-D3BuuOyZ.css",
1281
- "src": "_app-presenter-provider-D3BuuOyZ.css"
1282
- },
1283
1283
  "_arc-cmSdpq1Z.js": {
1284
1284
  "file": "assets/arc-cmSdpq1Z.js",
1285
1285
  "name": "arc",
@@ -2215,7 +2215,7 @@
2215
2215
  ]
2216
2216
  },
2217
2217
  "index.html": {
2218
- "file": "assets/main-Bp1iozNB.js",
2218
+ "file": "assets/main-C6VGoYNO.js",
2219
2219
  "name": "main",
2220
2220
  "src": "index.html",
2221
2221
  "isEntry": true,
@@ -2223,11 +2223,11 @@
2223
2223
  "_chunk-DF37yw5_.js",
2224
2224
  "_client-BDS360Kz.js",
2225
2225
  "_preload-helper-DWTEM3RW.js",
2226
- "_app-presenter-provider-BB3Xl8b0.js",
2226
+ "_app-presenter-provider-DdD2Q7jZ.js",
2227
2227
  "_context-menu-C0qywo73.js",
2228
2228
  "_api-CXWxExzS.js",
2229
2229
  "_theme-provider-BsJ6HxeX.js",
2230
- "_agents-BdeFtIOV.js",
2230
+ "_agents-CTSR4ZKb.js",
2231
2231
  "_use-viewport-layout-Bnm5W5Qz.js",
2232
2232
  "_pwa-Cp7pPvsZ.js",
2233
2233
  "_navigation-link-O9Wm0epj.js",
@@ -2250,7 +2250,7 @@
2250
2250
  "src/features/settings/pages/secrets-config-page.tsx",
2251
2251
  "src/features/settings/pages/privacy-settings-page.tsx",
2252
2252
  "src/features/desktop-capabilities/pages/desktop-capabilities-page.tsx",
2253
- "_app-presenter-provider-BB3Xl8b0.js"
2253
+ "_app-presenter-provider-DdD2Q7jZ.js"
2254
2254
  ],
2255
2255
  "css": [
2256
2256
  "assets/main-kp_0b1bg.css"
@@ -2277,13 +2277,13 @@
2277
2277
  ]
2278
2278
  },
2279
2279
  "src/features/account/components/account-panel.tsx": {
2280
- "file": "assets/account-panel-Cfx3ocPY.js",
2280
+ "file": "assets/account-panel-DgqicWMm.js",
2281
2281
  "name": "account-panel",
2282
2282
  "src": "src/features/account/components/account-panel.tsx",
2283
2283
  "isDynamicEntry": true,
2284
2284
  "imports": [
2285
2285
  "_chunk-DF37yw5_.js",
2286
- "_app-presenter-provider-BB3Xl8b0.js",
2286
+ "_app-presenter-provider-DdD2Q7jZ.js",
2287
2287
  "_api-CXWxExzS.js",
2288
2288
  "_createLucideIcon-C3LSyx-e.js",
2289
2289
  "_use-viewport-layout-Bnm5W5Qz.js",
@@ -2301,21 +2301,21 @@
2301
2301
  ]
2302
2302
  },
2303
2303
  "src/features/agents/index.ts": {
2304
- "file": "assets/agents-p_wcGhC3.js",
2304
+ "file": "assets/agents-i7167DcF.js",
2305
2305
  "name": "agents",
2306
2306
  "src": "src/features/agents/index.ts",
2307
2307
  "isDynamicEntry": true,
2308
2308
  "imports": [
2309
- "_agents-BdeFtIOV.js"
2309
+ "_agents-CTSR4ZKb.js"
2310
2310
  ]
2311
2311
  },
2312
2312
  "src/features/apps/index.ts": {
2313
- "file": "assets/apps-CKFrWb00.js",
2313
+ "file": "assets/apps-DUP3aPpu.js",
2314
2314
  "name": "apps",
2315
2315
  "src": "src/features/apps/index.ts",
2316
2316
  "isDynamicEntry": true,
2317
2317
  "imports": [
2318
- "_app-presenter-provider-BB3Xl8b0.js"
2318
+ "_app-presenter-provider-DdD2Q7jZ.js"
2319
2319
  ]
2320
2320
  },
2321
2321
  "src/features/channels/pages/channels-list-page.tsx": {
@@ -2345,12 +2345,12 @@
2345
2345
  ]
2346
2346
  },
2347
2347
  "src/features/cron/index.ts": {
2348
- "file": "assets/cron-UqsFT41c.js",
2348
+ "file": "assets/cron-DPBUHn7j.js",
2349
2349
  "name": "cron",
2350
2350
  "src": "src/features/cron/index.ts",
2351
2351
  "isDynamicEntry": true,
2352
2352
  "imports": [
2353
- "_app-presenter-provider-BB3Xl8b0.js"
2353
+ "_app-presenter-provider-DdD2Q7jZ.js"
2354
2354
  ]
2355
2355
  },
2356
2356
  "src/features/desktop-capabilities/pages/desktop-capabilities-page.tsx": {
@@ -2378,52 +2378,52 @@
2378
2378
  ]
2379
2379
  },
2380
2380
  "src/features/inbox/index.ts": {
2381
- "file": "assets/inbox-D62apR2j.js",
2381
+ "file": "assets/inbox-C09MQO9k.js",
2382
2382
  "name": "inbox",
2383
2383
  "src": "src/features/inbox/index.ts",
2384
2384
  "isDynamicEntry": true,
2385
2385
  "imports": [
2386
- "_app-presenter-provider-BB3Xl8b0.js"
2386
+ "_app-presenter-provider-DdD2Q7jZ.js"
2387
2387
  ]
2388
2388
  },
2389
2389
  "src/features/marketplace/components/mcp/mcp-marketplace-page.tsx": {
2390
- "file": "assets/mcp-marketplace-page-oHCbBkS-.js",
2390
+ "file": "assets/mcp-marketplace-page-ZAm380SB.js",
2391
2391
  "name": "mcp-marketplace-page",
2392
2392
  "src": "src/features/marketplace/components/mcp/mcp-marketplace-page.tsx",
2393
2393
  "isDynamicEntry": true,
2394
2394
  "imports": [
2395
- "_app-presenter-provider-BB3Xl8b0.js"
2395
+ "_app-presenter-provider-DdD2Q7jZ.js"
2396
2396
  ]
2397
2397
  },
2398
2398
  "src/features/marketplace/index.ts": {
2399
- "file": "assets/marketplace-BTDWnHP7.js",
2399
+ "file": "assets/marketplace-CXCLbyho.js",
2400
2400
  "name": "marketplace",
2401
2401
  "src": "src/features/marketplace/index.ts",
2402
2402
  "isDynamicEntry": true,
2403
2403
  "imports": [
2404
- "_app-presenter-provider-BB3Xl8b0.js",
2404
+ "_app-presenter-provider-DdD2Q7jZ.js",
2405
2405
  "_api-CXWxExzS.js"
2406
2406
  ]
2407
2407
  },
2408
2408
  "src/features/panel-apps/index.ts": {
2409
- "file": "assets/panel-apps-CniMi7QW.js",
2409
+ "file": "assets/panel-apps-BQlyeAId.js",
2410
2410
  "name": "panel-apps",
2411
2411
  "src": "src/features/panel-apps/index.ts",
2412
2412
  "isDynamicEntry": true,
2413
2413
  "imports": [
2414
- "_app-presenter-provider-BB3Xl8b0.js",
2414
+ "_app-presenter-provider-DdD2Q7jZ.js",
2415
2415
  "_theme-provider-BsJ6HxeX.js"
2416
2416
  ]
2417
2417
  },
2418
2418
  "src/features/projects/index.ts": {
2419
- "file": "assets/projects-fPTOn2Wz.js",
2419
+ "file": "assets/projects-BWM-oEo0.js",
2420
2420
  "name": "projects",
2421
2421
  "src": "src/features/projects/index.ts",
2422
2422
  "isDynamicEntry": true,
2423
2423
  "imports": [
2424
2424
  "_chunk-DF37yw5_.js",
2425
2425
  "_dist-D9h2cWk3.js",
2426
- "_app-presenter-provider-BB3Xl8b0.js",
2426
+ "_app-presenter-provider-DdD2Q7jZ.js",
2427
2427
  "_context-menu-C0qywo73.js",
2428
2428
  "_api-CXWxExzS.js",
2429
2429
  "_createLucideIcon-C3LSyx-e.js",
@@ -2443,23 +2443,23 @@
2443
2443
  ]
2444
2444
  },
2445
2445
  "src/features/remote/index.ts": {
2446
- "file": "assets/remote-CsJMF8OR.js",
2446
+ "file": "assets/remote-DngM8iep.js",
2447
2447
  "name": "remote",
2448
2448
  "src": "src/features/remote/index.ts",
2449
2449
  "isDynamicEntry": true,
2450
2450
  "imports": [
2451
- "_app-presenter-provider-BB3Xl8b0.js"
2451
+ "_app-presenter-provider-DdD2Q7jZ.js"
2452
2452
  ]
2453
2453
  },
2454
2454
  "src/features/service-apps/components/service-apps-panel.tsx": {
2455
- "file": "assets/service-apps-panel-BReYr_ni.js",
2455
+ "file": "assets/service-apps-panel-9khaUSFI.js",
2456
2456
  "name": "service-apps-panel",
2457
2457
  "src": "src/features/service-apps/components/service-apps-panel.tsx",
2458
2458
  "isDynamicEntry": true,
2459
2459
  "imports": [
2460
2460
  "_chunk-DF37yw5_.js",
2461
2461
  "_dist-D9h2cWk3.js",
2462
- "_app-presenter-provider-BB3Xl8b0.js",
2462
+ "_app-presenter-provider-DdD2Q7jZ.js",
2463
2463
  "_context-menu-C0qywo73.js",
2464
2464
  "_api-CXWxExzS.js",
2465
2465
  "_createLucideIcon-C3LSyx-e.js",
@@ -2474,14 +2474,14 @@
2474
2474
  ]
2475
2475
  },
2476
2476
  "src/features/settings/pages/appearance-settings-page.tsx": {
2477
- "file": "assets/appearance-settings-page-DiSRSDN3.js",
2477
+ "file": "assets/appearance-settings-page-CSWYLrsR.js",
2478
2478
  "name": "appearance-settings-page",
2479
2479
  "src": "src/features/settings/pages/appearance-settings-page.tsx",
2480
2480
  "isDynamicEntry": true,
2481
2481
  "imports": [
2482
2482
  "_chunk-DF37yw5_.js",
2483
2483
  "_dist-D9h2cWk3.js",
2484
- "_app-presenter-provider-BB3Xl8b0.js",
2484
+ "_app-presenter-provider-DdD2Q7jZ.js",
2485
2485
  "_api-CXWxExzS.js",
2486
2486
  "_theme-provider-BsJ6HxeX.js",
2487
2487
  "_select-BJ-EjmCz.js",
@@ -2489,12 +2489,12 @@
2489
2489
  ]
2490
2490
  },
2491
2491
  "src/features/settings/pages/keyboard-shortcuts-settings-page.tsx": {
2492
- "file": "assets/keyboard-shortcuts-settings-page-BFBXVf20.js",
2492
+ "file": "assets/keyboard-shortcuts-settings-page-BCxB9m69.js",
2493
2493
  "name": "keyboard-shortcuts-settings-page",
2494
2494
  "src": "src/features/settings/pages/keyboard-shortcuts-settings-page.tsx",
2495
2495
  "isDynamicEntry": true,
2496
2496
  "imports": [
2497
- "_app-presenter-provider-BB3Xl8b0.js",
2497
+ "_app-presenter-provider-DdD2Q7jZ.js",
2498
2498
  "_api-CXWxExzS.js",
2499
2499
  "_use-viewport-layout-Bnm5W5Qz.js",
2500
2500
  "_i18n-ByVUrt9w.js"
@@ -2624,13 +2624,13 @@
2624
2624
  ]
2625
2625
  },
2626
2626
  "src/features/system-status/pages/runtime-config-page.tsx": {
2627
- "file": "assets/runtime-config-page-P5RUq3YK.js",
2627
+ "file": "assets/runtime-config-page-Dx6lWn3_.js",
2628
2628
  "name": "runtime-config-page",
2629
2629
  "src": "src/features/system-status/pages/runtime-config-page.tsx",
2630
2630
  "isDynamicEntry": true,
2631
2631
  "imports": [
2632
2632
  "_chunk-DF37yw5_.js",
2633
- "_app-presenter-provider-BB3Xl8b0.js",
2633
+ "_app-presenter-provider-DdD2Q7jZ.js",
2634
2634
  "_context-menu-C0qywo73.js",
2635
2635
  "_api-CXWxExzS.js",
2636
2636
  "_x-waP-WLuT.js",
@@ -2646,12 +2646,12 @@
2646
2646
  ]
2647
2647
  },
2648
2648
  "src/shared/components/doc-browser/doc-browser.tsx": {
2649
- "file": "assets/doc-browser-2VjSkax1.js",
2649
+ "file": "assets/doc-browser-C7kvXGc_.js",
2650
2650
  "name": "doc-browser",
2651
2651
  "src": "src/shared/components/doc-browser/doc-browser.tsx",
2652
2652
  "isDynamicEntry": true,
2653
2653
  "imports": [
2654
- "_app-presenter-provider-BB3Xl8b0.js"
2654
+ "_app-presenter-provider-DdD2Q7jZ.js"
2655
2655
  ]
2656
2656
  },
2657
2657
  "src/shared/lib/i18n/configs/main-i18n-catalog.config.ts": {
@@ -1 +1 @@
1
- import{i as e}from"./chunk-DF37yw5_.js";import{Gt as t,Wt as n,Yt as r,ur as i,xr as a}from"./api-CXWxExzS.js";import{I as o,Qt as s,c,ft as l,r as u}from"./app-presenter-provider-BB3Xl8b0.js";import{t as d}from"./createLucideIcon-C3LSyx-e.js";import{i as f}from"./use-viewport-layout-Bnm5W5Qz.js";import{n as p,s as m}from"./i18n-ByVUrt9w.js";import{a as h,n as g,o as _,r as v,t as y}from"./dialog-DMKYZDFu.js";var b=d(`LogOut`,[[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}],[`polyline`,{points:`16 17 21 12 16 7`,key:`1gabdz`}],[`line`,{x1:`21`,x2:`9`,y1:`12`,y2:`12`,key:`1uyos4`}]]),x=e(a(),1),S=i();function C({label:e,value:t}){return(0,S.jsxs)(`div`,{className:`flex items-start justify-between gap-4 py-2 text-sm`,children:[(0,S.jsx)(`span`,{className:`text-gray-500`,children:e}),(0,S.jsx)(`span`,{className:`text-right text-gray-900`,children:t?.trim()||`-`})]})}function w(e){let{email:i,username:a,role:o,canSubmitUsername:c,savingUsername:u,usernameDraft:d,onUsernameDraftChange:f,onSubmitUsername:p,onOpenDeviceList:h,onLogout:g}=e;return(0,S.jsxs)(`div`,{className:`space-y-4`,children:[(0,S.jsx)(l,{tone:`success`,title:m(`accountPanelSignedInTitle`),description:m(`accountPanelSignedInDescription`)}),(0,S.jsxs)(l,{tone:`neutral`,children:[(0,S.jsx)(C,{label:m(`remoteAccountEmail`),value:i}),(0,S.jsx)(C,{label:m(`remoteAccountUsername`),value:a}),(0,S.jsx)(C,{label:m(`remoteAccountRole`),value:o})]}),a?(0,S.jsx)(`p`,{className:`text-xs text-gray-500`,children:m(`remoteAccountUsernameLockedHelp`)}):(0,S.jsxs)(l,{tone:`warning`,title:m(`remoteAccountUsernameRequiredTitle`),description:m(`remoteAccountUsernameRequiredDescription`),children:[(0,S.jsxs)(`div`,{className:`mt-4 space-y-2`,children:[(0,S.jsx)(n,{htmlFor:`account-panel-username`,children:m(`remoteAccountUsername`)}),(0,S.jsx)(t,{id:`account-panel-username`,value:d,onChange:e=>f(e.target.value),placeholder:m(`remoteAccountUsernamePlaceholder`),autoCapitalize:`none`,autoCorrect:`off`,spellCheck:!1})]}),(0,S.jsx)(`div`,{className:`mt-4 flex flex-wrap gap-3`,children:(0,S.jsx)(r,{disabled:!c,onClick:()=>void p(),children:m(u?`remoteAccountUsernameSaving`:`remoteAccountUsernameSave`)})})]}),(0,S.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,S.jsxs)(r,{onClick:()=>void h(),children:[(0,S.jsx)(s,{className:`mr-2 h-4 w-4`}),m(`remoteOpenDeviceList`)]}),(0,S.jsxs)(r,{variant:`outline`,onClick:()=>void g(),children:[(0,S.jsx)(b,{className:`mr-2 h-4 w-4`}),m(`remoteLogout`)]})]})]})}function T(e){let{authSessionId:t,authExpiresAt:n,authStatusMessage:i,authVerificationUri:a,onStartBrowserSignIn:o,onResumeBrowserSignIn:s}=e;return(0,S.jsxs)(`div`,{className:`space-y-4`,children:[(0,S.jsx)(l,{tone:`neutral`,title:m(`accountPanelSignedOutTitle`),description:m(`accountPanelSignedOutDescription`),children:t?(0,S.jsxs)(`div`,{className:`mt-3 border-t border-white/80 pt-3`,children:[(0,S.jsx)(C,{label:m(`remoteBrowserAuthSession`),value:t}),(0,S.jsx)(C,{label:m(`remoteBrowserAuthExpiresAt`),value:n?p(n):`-`})]}):null}),i?(0,S.jsx)(`p`,{className:`text-sm text-gray-600`,children:i}):null,(0,S.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,S.jsx)(r,{onClick:()=>void o(),children:m(t?`remoteBrowserAuthActionRetry`:`remoteBrowserAuthAction`)}),a?(0,S.jsx)(r,{variant:`outline`,onClick:()=>void s(),children:m(`remoteBrowserAuthResume`)}):null]})]})}function E(){let e=u(),t=o(),n=c(e=>e.panelOpen),r=c(e=>e.authSessionId),i=c(e=>e.authVerificationUri),a=c(e=>e.authExpiresAt),s=c(e=>e.authStatusMessage),l=t.data,[d,p]=(0,x.useState)(``),[b,C]=(0,x.useState)(!1);(0,x.useEffect)(()=>{e.accountManager.syncRemoteStatus(l)},[e,l]);let E=!b&&d.trim().length>0&&!l?.account.username;return(0,S.jsx)(y,{open:n,onOpenChange:t=>t?e.accountManager.openAccountPanel():e.accountManager.closeAccountPanel(),children:(0,S.jsxs)(g,{className:`max-w-xl`,children:[(0,S.jsxs)(h,{children:[(0,S.jsxs)(_,{className:`flex items-center gap-2`,children:[(0,S.jsx)(f,{className:`h-5 w-5 text-primary`}),m(`accountPanelTitle`)]}),(0,S.jsx)(v,{children:m(`accountPanelDescription`)})]}),l?.account.loggedIn?(0,S.jsx)(w,{email:l.account.email,username:l.account.username,role:l.account.role,canSubmitUsername:E,savingUsername:b,usernameDraft:d,onUsernameDraftChange:p,onSubmitUsername:async()=>{C(!0);try{await e.accountManager.updateUsername(d)}finally{C(!1)}},onOpenDeviceList:()=>e.accountManager.openNextClawWeb(`/account`),onLogout:()=>e.accountManager.logout()}):(0,S.jsx)(T,{authSessionId:r,authExpiresAt:a,authStatusMessage:s,authVerificationUri:i,onStartBrowserSignIn:()=>e.accountManager.startBrowserSignIn(),onResumeBrowserSignIn:()=>e.accountManager.resumeBrowserSignIn()})]})})}export{E as AccountPanel};
1
+ import{i as e}from"./chunk-DF37yw5_.js";import{Gt as t,Wt as n,Yt as r,ur as i,xr as a}from"./api-CXWxExzS.js";import{I as o,Qt as s,c,ft as l,r as u}from"./app-presenter-provider-DdD2Q7jZ.js";import{t as d}from"./createLucideIcon-C3LSyx-e.js";import{i as f}from"./use-viewport-layout-Bnm5W5Qz.js";import{n as p,s as m}from"./i18n-ByVUrt9w.js";import{a as h,n as g,o as _,r as v,t as y}from"./dialog-DMKYZDFu.js";var b=d(`LogOut`,[[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}],[`polyline`,{points:`16 17 21 12 16 7`,key:`1gabdz`}],[`line`,{x1:`21`,x2:`9`,y1:`12`,y2:`12`,key:`1uyos4`}]]),x=e(a(),1),S=i();function C({label:e,value:t}){return(0,S.jsxs)(`div`,{className:`flex items-start justify-between gap-4 py-2 text-sm`,children:[(0,S.jsx)(`span`,{className:`text-gray-500`,children:e}),(0,S.jsx)(`span`,{className:`text-right text-gray-900`,children:t?.trim()||`-`})]})}function w(e){let{email:i,username:a,role:o,canSubmitUsername:c,savingUsername:u,usernameDraft:d,onUsernameDraftChange:f,onSubmitUsername:p,onOpenDeviceList:h,onLogout:g}=e;return(0,S.jsxs)(`div`,{className:`space-y-4`,children:[(0,S.jsx)(l,{tone:`success`,title:m(`accountPanelSignedInTitle`),description:m(`accountPanelSignedInDescription`)}),(0,S.jsxs)(l,{tone:`neutral`,children:[(0,S.jsx)(C,{label:m(`remoteAccountEmail`),value:i}),(0,S.jsx)(C,{label:m(`remoteAccountUsername`),value:a}),(0,S.jsx)(C,{label:m(`remoteAccountRole`),value:o})]}),a?(0,S.jsx)(`p`,{className:`text-xs text-gray-500`,children:m(`remoteAccountUsernameLockedHelp`)}):(0,S.jsxs)(l,{tone:`warning`,title:m(`remoteAccountUsernameRequiredTitle`),description:m(`remoteAccountUsernameRequiredDescription`),children:[(0,S.jsxs)(`div`,{className:`mt-4 space-y-2`,children:[(0,S.jsx)(n,{htmlFor:`account-panel-username`,children:m(`remoteAccountUsername`)}),(0,S.jsx)(t,{id:`account-panel-username`,value:d,onChange:e=>f(e.target.value),placeholder:m(`remoteAccountUsernamePlaceholder`),autoCapitalize:`none`,autoCorrect:`off`,spellCheck:!1})]}),(0,S.jsx)(`div`,{className:`mt-4 flex flex-wrap gap-3`,children:(0,S.jsx)(r,{disabled:!c,onClick:()=>void p(),children:m(u?`remoteAccountUsernameSaving`:`remoteAccountUsernameSave`)})})]}),(0,S.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,S.jsxs)(r,{onClick:()=>void h(),children:[(0,S.jsx)(s,{className:`mr-2 h-4 w-4`}),m(`remoteOpenDeviceList`)]}),(0,S.jsxs)(r,{variant:`outline`,onClick:()=>void g(),children:[(0,S.jsx)(b,{className:`mr-2 h-4 w-4`}),m(`remoteLogout`)]})]})]})}function T(e){let{authSessionId:t,authExpiresAt:n,authStatusMessage:i,authVerificationUri:a,onStartBrowserSignIn:o,onResumeBrowserSignIn:s}=e;return(0,S.jsxs)(`div`,{className:`space-y-4`,children:[(0,S.jsx)(l,{tone:`neutral`,title:m(`accountPanelSignedOutTitle`),description:m(`accountPanelSignedOutDescription`),children:t?(0,S.jsxs)(`div`,{className:`mt-3 border-t border-white/80 pt-3`,children:[(0,S.jsx)(C,{label:m(`remoteBrowserAuthSession`),value:t}),(0,S.jsx)(C,{label:m(`remoteBrowserAuthExpiresAt`),value:n?p(n):`-`})]}):null}),i?(0,S.jsx)(`p`,{className:`text-sm text-gray-600`,children:i}):null,(0,S.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,S.jsx)(r,{onClick:()=>void o(),children:m(t?`remoteBrowserAuthActionRetry`:`remoteBrowserAuthAction`)}),a?(0,S.jsx)(r,{variant:`outline`,onClick:()=>void s(),children:m(`remoteBrowserAuthResume`)}):null]})]})}function E(){let e=u(),t=o(),n=c(e=>e.panelOpen),r=c(e=>e.authSessionId),i=c(e=>e.authVerificationUri),a=c(e=>e.authExpiresAt),s=c(e=>e.authStatusMessage),l=t.data,[d,p]=(0,x.useState)(``),[b,C]=(0,x.useState)(!1);(0,x.useEffect)(()=>{e.accountManager.syncRemoteStatus(l)},[e,l]);let E=!b&&d.trim().length>0&&!l?.account.username;return(0,S.jsx)(y,{open:n,onOpenChange:t=>t?e.accountManager.openAccountPanel():e.accountManager.closeAccountPanel(),children:(0,S.jsxs)(g,{className:`max-w-xl`,children:[(0,S.jsxs)(h,{children:[(0,S.jsxs)(_,{className:`flex items-center gap-2`,children:[(0,S.jsx)(f,{className:`h-5 w-5 text-primary`}),m(`accountPanelTitle`)]}),(0,S.jsx)(v,{children:m(`accountPanelDescription`)})]}),l?.account.loggedIn?(0,S.jsx)(w,{email:l.account.email,username:l.account.username,role:l.account.role,canSubmitUsername:E,savingUsername:b,usernameDraft:d,onUsernameDraftChange:p,onSubmitUsername:async()=>{C(!0);try{await e.accountManager.updateUsername(d)}finally{C(!1)}},onOpenDeviceList:()=>e.accountManager.openNextClawWeb(`/account`),onLogout:()=>e.accountManager.logout()}):(0,S.jsx)(T,{authSessionId:r,authExpiresAt:a,authStatusMessage:s,authVerificationUri:i,onStartBrowserSignIn:()=>e.accountManager.startBrowserSignIn(),onResumeBrowserSignIn:()=>e.accountManager.resumeBrowserSignIn()})]})})}export{E as AccountPanel};
@@ -1 +1 @@
1
- import{i as e}from"./chunk-DF37yw5_.js";import{$t as t,Gt as n,Qt as r,Xn as i,Yt as a,_n as o,ur as s,xr as c}from"./api-CXWxExzS.js";import{d as l}from"./navigation-link-O9Wm0epj.js";import{$t as u,Bt as d,Gt as f,Ht as p,Kt as m,Vt as h,Wt as g,Yt as _,d as v,f as y,ft as b,m as x,n as ee,nn as S,pt as C,qt as w,tn as T,v as te,zt as ne}from"./app-presenter-provider-BB3Xl8b0.js";import{t as E}from"./createLucideIcon-C3LSyx-e.js";import{Z as D,g as O,h as k,q as A,ut as j,vt as M,yt as N}from"./context-menu-C0qywo73.js";import{z as P}from"./dist-D9h2cWk3.js";import{t as F}from"./provider-scoped-model-input-BOPkUOtD.js";import{n as re}from"./inbox-CI8ATevA.js";import{t as ie}from"./plus-C42o6xrD.js";import{t as I}from"./settings-2-D3-m8a3v.js";import{t as L}from"./trash-2-BVQs-0ji.js";import{s as R}from"./i18n-ByVUrt9w.js";import{a as z,i as B,n as V,o as H,r as U,t as W}from"./dialog-DMKYZDFu.js";import{g as ae,h as oe,n as se,p as ce}from"./provider-models-D8WOdsdu.js";import{t as le}from"./tag-chip-DFzDSvcF.js";import{a as ue,i as de,n as fe,r as pe,t as me}from"./select-BJ-EjmCz.js";import{n as G,t as K}from"./card-eFBmxYiI.js";import{f as he,p as ge,t as _e}from"./use-config-M1L4xn8c.js";var ve=E(`Gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),q=s(),J=new Intl.NumberFormat;function ye({embedded:e=!1,onChat:t,agent:n,defaults:r,runtimeOptions:i,defaultRuntime:o,defaultRuntimeLabel:s,onOpenChange:c,onEdit:l}){if(!n)return null;let u=Y(n.model,r?.model),d=xe({agent:n,defaults:r,runtimeOptions:i,defaultRuntime:o,defaultRuntimeLabel:s}),f=be(n.contextTokens,r?.contextTokens??2e5),m=be(n.reservedContextTokens,r?.reservedContextTokens),h=Y(n.thinkingDefault,r?.thinkingDefault??`off`),g=Ce(n.runtimeConfig??n.engineConfig,r?.engineConfig),_=Ce(n.models,r?.models),v=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`shrink-0 px-5 pb-3 pt-5`,children:(0,q.jsx)(z,{showClose:!e,className:`items-center`,actions:(0,q.jsx)(y,{page:x(`agent`,n.id,n.displayName||n.id)}),children:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,q.jsx)(p,{agentId:n.id,displayName:n.displayName,avatarUrl:n.avatarUrl,className:`h-10 w-10 shrink-0`}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(H,{className:`truncate text-base`,children:n.displayName?.trim()||n.id}),(0,q.jsxs)(U,{className:`truncate text-xs`,children:[`@`,n.id]})]})]})})}),(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto overscroll-contain px-5 py-3`,children:[(0,q.jsxs)(X,{icon:N,title:R(`agentsDetailsIdentitySection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldDisplayName`),value:n.displayName?.trim()||n.id}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldId`),value:n.id,mono:!0}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldDescription`),value:n.description?.trim()||R(`agentsDetailsEmptyValue`)}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldWorkspace`),value:n.workspace??R(`agentsDetailsUnsetValue`),mono:!0})]}),(0,q.jsxs)(X,{icon:A,title:R(`agentsDetailsRuntimeSection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldModel`),value:u.value,source:u.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldRuntime`),value:d.value,source:d.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldRuntimeConfig`),value:g.value,source:g.source,mono:!0,prewrap:!0})]}),(0,q.jsxs)(X,{icon:ve,title:R(`agentsDetailsContextSection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldContextTokens`),value:f.value,source:f.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldReservedContextTokens`),value:m.value,source:m.source})]}),(0,q.jsxs)(X,{icon:M,title:R(`agentsDetailsBehaviorSection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldThinkingDefault`),value:h.value,source:h.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldModelOverrides`),value:_.value,source:_.source,mono:!0,prewrap:!0}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldAvatar`),value:n.avatar??R(`agentsDetailsUnsetValue`),mono:!0})]})]}),(0,q.jsxs)(B,{className:`shrink-0 px-5 pb-4 pt-2`,children:[!e&&(0,q.jsx)(a,{type:`button`,variant:`ghost`,onClick:()=>c(!1),children:R(`cancel`)}),t&&(0,q.jsx)(a,{onClick:()=>t(n),children:R(`agentsCardStartChat`)}),(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`px-4`,onClick:()=>l(n),children:[(0,q.jsx)(D,{className:`mr-2 h-4 w-4`}),R(`agentsDetailsEditAction`)]})]})]});return(0,q.jsx)(W,{open:!e&&n!==null,onOpenChange:c,children:e?(0,q.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`agent-detail`,children:v}):(0,q.jsx)(V,{className:`flex max-h-[calc(100vh-2rem)] flex-col overflow-hidden border-none bg-popover p-0 sm:max-h-[720px] sm:max-w-2xl`,children:v})})}function Y(e,t){let n=e?.trim();return n?{value:n,source:`override`}:{value:t?.trim()||R(`agentsDetailsUnsetValue`),source:`default`}}function be(e,t){return typeof e==`number`?{value:J.format(e),source:`override`}:{value:typeof t==`number`?J.format(t):R(`agentsDetailsUnsetValue`),source:`default`}}function xe(e){let{agent:t,defaults:n,runtimeOptions:r,defaultRuntime:i,defaultRuntimeLabel:a}=e,o=t.runtime?.trim()||t.engine?.trim();if(o)return{value:Se(o,r,a),source:`override`};let s=n?.engine?.trim()||i;return{value:s?Se(s,r,a):a,source:`default`}}function Se(e,t,n){let r=f(e);return r?t.find(e=>e.value===r)?.label??w(r):n}function Ce(e,t){return we(e)?{value:JSON.stringify(e,null,2),source:`override`}:{value:we(t)?JSON.stringify(t,null,2):R(`agentsDetailsUnsetValue`),source:`default`}}function we(e){return!!(e&&typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length>0)}function X(e){let{icon:t,title:n,children:r}=e;return(0,q.jsxs)(`section`,{className:`space-y-2 border-t border-border/60 pt-3 first:border-t-0 first:pt-0`,children:[(0,q.jsxs)(`h3`,{className:`flex items-center gap-1.5 text-xs font-semibold leading-5 text-foreground`,children:[(0,q.jsx)(t,{className:`h-3.5 w-3.5 text-muted-foreground`}),n]}),(0,q.jsx)(`dl`,{className:`grid min-w-0 gap-y-2.5 pl-5`,children:r})]})}function Z(e){let{label:t,value:n,source:r,mono:i=!1,prewrap:a=!1}=e,s=a&&n.trim().startsWith(`{`),c=i&&(!a||s);return(0,q.jsxs)(`div`,{className:o(`grid min-w-0 grid-cols-[minmax(0,30%)_minmax(0,1fr)] items-baseline gap-x-3 gap-y-1`),children:[(0,q.jsx)(`dt`,{className:`flex min-w-0 items-baseline leading-5`,children:(0,q.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:t})}),(0,q.jsxs)(`dd`,{className:o(`min-w-0 break-words text-xs leading-5 text-foreground`,s?`max-h-28 overflow-auto whitespace-pre-wrap rounded bg-muted/50 px-2 py-1.5 text-left`:``),children:[(0,q.jsx)(`span`,{className:c?`font-mono`:void 0,children:n}),r?(0,q.jsx)(Te,{source:r}):null]})]})}function Te({source:e}){return(0,q.jsxs)(`span`,{className:o(`ml-1 whitespace-nowrap text-xs font-normal leading-5`,e===`override`?`text-blue-500`:`text-muted-foreground`),children:[`(`,R(e===`override`?`agentsDetailsAgentOverride`:`agentsDetailsInheritedDefault`),`)`]})}function Ee({form:e,disabled:t=!1,onChange:n}){return(0,q.jsxs)(`details`,{className:`group rounded-2xl border border-border bg-card`,children:[(0,q.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center justify-between gap-3 px-4 py-3 text-sm font-semibold text-foreground [&::-webkit-details-marker]:hidden`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(I,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,q.jsx)(`span`,{className:`truncate`,children:R(`agentsAdvancedConfigToggle`)})]}),(0,q.jsx)(P,{className:`h-4 w-4 shrink-0 text-muted-foreground transition-transform group-open:rotate-180`})]}),(0,q.jsxs)(`div`,{className:`space-y-4 border-t border-border/60 px-4 py-4`,children:[(0,q.jsx)(`p`,{className:`text-xs leading-5 text-muted-foreground`,children:R(`agentsAdvancedConfigDescription`)}),(0,q.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:(0,q.jsx)(De,{label:R(`agentsAdvancedContextTokensLabel`),value:e.contextTokens,min:1e3,step:1e3,disabled:t,onChange:e=>n({contextTokens:e})})})]})]})}function De(e){let{label:t,value:r,min:i,step:a,disabled:o,onChange:s}=e;return(0,q.jsxs)(`label`,{className:`space-y-2 text-sm font-medium text-foreground`,children:[(0,q.jsx)(`span`,{children:t}),(0,q.jsx)(n,{type:`number`,min:i,step:a,value:r,disabled:o,placeholder:R(`agentsAdvancedInheritPlaceholder`),"aria-label":t,onChange:e=>s(e.target.value)})]})}function Oe(e){return{displayName:e.displayName??``,description:e.description??``,avatar:e.avatar??``,model:e.model??``,runtime:e.runtime??e.engine??``,contextTokens:ke(e.contextTokens)}}function ke(e){return typeof e==`number`?String(e):``}var Q=e(c(),1);function Ae(e){let{runtimeOptions:t,currentRuntime:n}=e,r=n.trim();if(!r)return t;let i=f(r);return t.some(e=>e.value===i)?t:[...t,{value:i,label:w(i),icon:null,ready:!1,reason:`unavailable`,reasonMessage:null,supportedModels:void 0,recommendedModel:null,cta:null}].sort((e,t)=>e.value===`native`?-1:t.value===`native`?1:e.value.localeCompare(t.value))}function je({value:e,disabled:t=!1,runtimeOptions:n,defaultRuntime:r,onChange:i}){let a=e.trim()?f(e):``,o=Ae({runtimeOptions:n,currentRuntime:e}),s=o.find(e=>e.value===a)??null,c=s?.reasonMessage?.trim()||(s?.ready===!1?R(`agentsRuntimeUnavailableHelp`):``);return(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsxs)(me,{value:a||r,onValueChange:e=>i(e===r?``:e),disabled:t,children:[(0,q.jsx)(de,{"aria-label":R(`agentsCardRuntimeLabel`),className:`rounded-xl`,children:(0,q.jsx)(ue,{placeholder:R(`agentsRuntimeSelectPlaceholder`)})}),(0,q.jsx)(fe,{className:`rounded-xl`,children:o.map(e=>(0,q.jsx)(pe,{value:e.value,disabled:e.ready===!1&&e.value!==a,className:`rounded-lg`,children:e.label},e.value))})]}),c?(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:c}):null]})}function Me({agent:e,pending:t,providerCatalog:n,runtimeOptions:r,defaultRuntime:i,onOpenChange:a,onSubmit:o}){return(0,q.jsx)(W,{open:e!==null,onOpenChange:a,children:e?(0,q.jsx)(Ne,{agent:e,pending:t,providerCatalog:n,runtimeOptions:r,defaultRuntime:i,onOpenChange:a,onSubmit:o},e.id):null})}function Ne(e){let{agent:t,pending:r,providerCatalog:i,runtimeOptions:o,defaultRuntime:s,onOpenChange:c,onSubmit:l}=e,[u,d]=(0,Q.useState)(Oe(t));return(0,q.jsxs)(V,{className:`flex max-h-[calc(100vh-2rem)] flex-col overflow-hidden border-none bg-popover p-0 sm:max-h-[760px] sm:max-w-xl`,children:[(0,q.jsx)(`div`,{className:`shrink-0 border-b border-border px-6 py-6`,children:(0,q.jsxs)(z,{className:`text-left`,children:[(0,q.jsx)(H,{children:R(`agentsEditDialogTitle`)}),(0,q.jsx)(U,{children:R(`agentsEditDialogDescription`)})]})}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-6 py-6`,children:(0,q.jsxs)(`div`,{className:`space-y-4`,children:[(0,q.jsx)(b,{tone:`warning`,title:R(`agentsEditHomeReadonly`),description:R(`agentsEditHomeReadonlyHint`),children:(0,q.jsx)(`div`,{className:`break-all text-sm text-amber-950`,children:t.workspace??`-`})}),(0,q.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,q.jsx)(n,{value:u.displayName,onChange:e=>d(t=>({...t,displayName:e.target.value})),placeholder:R(`agentsFormNamePlaceholder`)}),(0,q.jsx)(C,{value:u.description,onChange:e=>d(t=>({...t,description:e.target.value})),placeholder:R(`agentsFormDescriptionPlaceholder`),rows:4,className:`md:col-span-2`}),(0,q.jsx)(n,{value:u.avatar,onChange:e=>d(t=>({...t,avatar:e.target.value})),placeholder:R(`agentsFormAvatarPlaceholder`)}),(0,q.jsx)(F,{value:u.model,onChange:e=>d(t=>({...t,model:e})),providerCatalog:i,disabled:r,className:`md:col-span-2`}),(0,q.jsx)(je,{value:u.runtime,onChange:e=>d(t=>({...t,runtime:e})),runtimeOptions:o,defaultRuntime:s,disabled:r})]}),(0,q.jsx)(Ee,{form:u,disabled:r,onChange:e=>d(t=>({...t,...e}))})]})}),(0,q.jsxs)(B,{className:`shrink-0 border-t border-border px-6 py-5`,children:[(0,q.jsx)(a,{type:`button`,variant:`ghost`,onClick:()=>c(!1),disabled:r,children:R(`cancel`)}),(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`rounded-2xl px-5`,onClick:()=>l(t.id,u),disabled:r,children:[(0,q.jsx)(D,{className:`mr-2 h-4 w-4`}),R(`agentsEditSaveAction`)]})]})]})}var Pe=`请直接创建一个默认示例 Agent,不要问我问题。创建完成后,简单告诉我它能做什么。`;function Fe(e){let t=e.trim();if(!t)return null;let n=Number(t);if(!Number.isFinite(n))throw Error(R(`agentsAdvancedInvalidNumberError`));return Math.trunc(n)}function Ie(e){return{displayName:e.displayName,description:e.description,avatar:e.avatar,model:e.model,...e.runtime.trim()?{runtime:e.runtime.trim()}:{runtime:``},contextTokens:Fe(e.contextTokens)}}function $(e){let{icon:t,label:n,disabled:r=!1,destructive:i=!1,onClick:a}=e;return(0,q.jsxs)(`button`,{type:`button`,className:o(O,i?k.destructive:`text-foreground ${k.item}`),onClick:a,disabled:r,children:[(0,q.jsx)(t,{className:`h-4 w-4 shrink-0`}),(0,q.jsx)(`span`,{children:n})]})}function Le(e){let{agent:t,runtimeOptions:n,defaultRuntimeLabel:r,updatePending:i,deletePending:o,onStartChat:s,onView:c,onEdit:l,onDelete:d}=e,[m,h]=(0,Q.useState)(!1),g=t.runtime?.trim()||t.engine?.trim()||``,_=g?n.find(e=>e.value===f(g))?.label??w(g):r;return(0,q.jsx)(K,{className:`group overflow-hidden border border-border bg-card shadow-none transition-colors duration-200 hover:border-border/80`,children:(0,q.jsxs)(G,{className:`relative flex h-full flex-col gap-3 px-3.5 py-3.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-2.5 pr-16`,children:[(0,q.jsx)(p,{agentId:t.id,displayName:t.displayName,avatarUrl:t.avatarUrl,className:`h-9 w-9 shrink-0`}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(`div`,{className:`truncate text-sm font-semibold text-foreground`,children:t.displayName?.trim()||t.id}),t.builtIn?(0,q.jsxs)(le,{tone:`warning`,className:`h-5 gap-1 border-amber-200 bg-amber-50 px-1.5 text-[10px] text-amber-700`,children:[(0,q.jsx)(u,{className:`h-3 w-3`}),R(`agentsCardBuiltInTag`)]}):null]}),(0,q.jsxs)(`div`,{className:`truncate text-xs text-muted-foreground`,children:[`@`,t.id]})]})]}),(0,q.jsxs)(`div`,{className:`absolute right-2.5 top-2.5 flex items-center gap-1 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100 md:group-focus-within:opacity-100`,children:[(0,q.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-lg text-muted-foreground hover:text-foreground`,"aria-label":R(`agentsCardStartChat`),title:R(`agentsCardStartChat`),onClick:s,children:(0,q.jsx)(T,{className:`h-4 w-4`})}),(0,q.jsxs)(ce,{open:m,onOpenChange:h,children:[(0,q.jsx)(ae,{asChild:!0,children:(0,q.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-lg text-muted-foreground hover:text-foreground`,"aria-label":R(`chatSessionMoreActions`),title:R(`chatSessionMoreActions`),children:(0,q.jsx)(j,{className:`h-4 w-4`})})}),(0,q.jsxs)(oe,{align:`end`,variant:`menu`,children:[(0,q.jsx)($,{icon:re,label:R(`agentsViewDetailsAction`),onClick:()=>{h(!1),c()}}),(0,q.jsx)($,{icon:D,label:R(`agentsEditAction`),onClick:()=>{h(!1),l()},disabled:i}),t.builtIn?null:(0,q.jsx)($,{icon:L,label:R(`agentsRemoveAction`),onClick:()=>{h(!1),d()},disabled:o,destructive:!0}),(0,q.jsx)(`div`,{className:`my-1 h-px bg-border`}),(0,q.jsx)(v,{page:x(`agent`,t.id,t.displayName||t.id),onSelect:()=>h(!1)})]})]})]}),(0,q.jsx)(`p`,{className:`line-clamp-2 min-h-10 text-sm leading-5 text-muted-foreground`,children:t.description?.trim()||(t.builtIn?R(`agentsCardBuiltInSummary`):R(`agentsCardCustomSummary`))}),(0,q.jsxs)(`div`,{className:`mt-auto grid gap-2 border-t border-border/60 pt-2 text-xs text-muted-foreground`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(A,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/60`}),(0,q.jsx)(`span`,{className:`truncate`,children:_})]}),(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(S,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/60`}),(0,q.jsx)(`span`,{className:`truncate`,children:t.workspace??`-`})]})]})]})})}function Re({resourceId:e}={}){let n=ee(),o=l(),s=_(),c=ne(),u=_e(),p=ge(),v=he(),y=te(),b=h(),S=d(),[C,T]=(0,Q.useState)(null),E=(0,Q.useMemo)(()=>c.data?.agents??[],[c.data?.agents]),D=(0,Q.useMemo)(()=>[...E].sort((e,t)=>Number(!!t.builtIn)-Number(!!e.builtIn)||e.id.localeCompare(t.id)),[E]),O=(0,Q.useMemo)(()=>se({config:u.data,providersView:p.data,templatesView:v.data,onlyConfigured:!0}),[u.data,p.data,v.data]),k=(0,Q.useMemo)(()=>g(y.data?.options??[]),[y.data?.options]),A=(0,Q.useMemo)(()=>f(y.data?.defaultType??`native`),[y.data?.defaultType]),j=(0,Q.useMemo)(()=>k.find(e=>e.value===A)?.label??w(A),[A,k]),M=u.data?.agents.defaults,P=e=>{n.pageResourceManager.open(x(`agent`,e.id,e.displayName||e.id),`default`,o)},F=e=>{T(e)},re=async(e,t)=>{let n;try{n=Ie(t)}catch(e){i.error(e instanceof Error?e.message:R(`agentsAdvancedParseFailed`));return}await b.mutateAsync({agentId:e,data:n}),T(null)},I=e=>{s.chatSessionListManager.startAgentDraftChat(e.id,m(e,A))},L=()=>{s.chatSessionListManager.startAgentDraftChat(`main`,A,Pe)},z=(0,q.jsx)(Me,{agent:C,pending:b.isPending,providerCatalog:O,runtimeOptions:k,defaultRuntime:A,onOpenChange:e=>{!e&&!b.isPending&&T(null)},onSubmit:re});if(e){let t=E.find(t=>t.id===e)??null;return c.isPending?(0,q.jsx)(`p`,{role:`status`,className:`p-4`,children:R(`loading`)}):c.isError?(0,q.jsxs)(`div`,{className:`p-4`,children:[(0,q.jsx)(`p`,{role:`alert`,children:R(`resourceLoadFailed`)}),(0,q.jsx)(`button`,{onClick:()=>void c.refetch(),children:R(`resourceRetry`)})]}):t?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(ye,{embedded:!0,agent:t,defaults:M,runtimeOptions:k,defaultRuntime:A,defaultRuntimeLabel:j,onOpenChange:()=>{},onEdit:F,onChat:I}),z]}):(0,q.jsx)(`p`,{role:`alert`,className:`p-4`,children:R(c.isError?`resourceLoadFailed`:`resourceNotFound`)})}return(0,q.jsxs)(t,{className:`space-y-6`,children:[(0,q.jsx)(r,{mobileTitleInShell:!0,headingLevel:1,title:R(`agentsHeroEyebrow`),description:R(`agentsHeroDescription`),actions:(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`h-9 shrink-0 rounded-xl px-4 text-sm font-semibold`,onClick:L,children:[(0,q.jsx)(ie,{className:`mr-2 h-4 w-4`}),R(`agentsCreateButton`)]})}),(0,q.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2 xl:grid-cols-3`,children:c.isLoading?(0,q.jsx)(K,{className:`md:col-span-2 xl:col-span-3 border-dashed border-border bg-card/70`,children:(0,q.jsx)(G,{className:`py-14 text-center text-sm text-muted-foreground`,children:R(`agentsLoading`)})}):D.length===0?(0,q.jsx)(K,{className:`md:col-span-2 xl:col-span-3 overflow-hidden border-dashed border-border bg-gradient-subtle`,children:(0,q.jsxs)(G,{className:`flex min-h-[240px] flex-col items-center justify-center px-6 py-14 text-center`,children:[(0,q.jsx)(`div`,{className:`mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-card/80 shadow-[0_18px_44px_rgba(0,0,0,0.08)]`,children:(0,q.jsx)(N,{className:`h-8 w-8 text-warning`})}),(0,q.jsx)(`div`,{className:`text-lg font-semibold text-foreground`,children:R(`agentsEmpty`)}),(0,q.jsx)(`p`,{className:`mt-2 max-w-md text-sm leading-6 text-muted-foreground`,children:R(`agentsEmptyDescription`)}),(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`mt-5 rounded-2xl px-5`,onClick:L,children:[(0,q.jsx)(ie,{className:`mr-2 h-4 w-4`}),R(`agentsCreateButton`)]})]})}):D.map(e=>(0,q.jsx)(Le,{agent:e,runtimeOptions:k,defaultRuntimeLabel:j,updatePending:b.isPending,deletePending:S.isPending,onStartChat:()=>I(e),onView:()=>P(e),onEdit:()=>F(e),onDelete:()=>S.mutate({agentId:e.id})},e.id))}),z]})}export{Re as t};
1
+ import{i as e}from"./chunk-DF37yw5_.js";import{$t as t,Gt as n,Qt as r,Xn as i,Yt as a,_n as o,ur as s,xr as c}from"./api-CXWxExzS.js";import{d as l}from"./navigation-link-O9Wm0epj.js";import{$t as u,Bt as d,Gt as f,Ht as p,Kt as m,Vt as h,Wt as g,Yt as _,d as v,f as y,ft as b,m as x,n as ee,nn as S,pt as C,qt as w,tn as T,v as te,zt as ne}from"./app-presenter-provider-DdD2Q7jZ.js";import{t as E}from"./createLucideIcon-C3LSyx-e.js";import{Z as D,g as O,h as k,q as A,ut as j,vt as M,yt as N}from"./context-menu-C0qywo73.js";import{z as P}from"./dist-D9h2cWk3.js";import{t as F}from"./provider-scoped-model-input-BOPkUOtD.js";import{n as re}from"./inbox-CI8ATevA.js";import{t as ie}from"./plus-C42o6xrD.js";import{t as I}from"./settings-2-D3-m8a3v.js";import{t as L}from"./trash-2-BVQs-0ji.js";import{s as R}from"./i18n-ByVUrt9w.js";import{a as z,i as B,n as V,o as H,r as U,t as W}from"./dialog-DMKYZDFu.js";import{g as ae,h as oe,n as se,p as ce}from"./provider-models-D8WOdsdu.js";import{t as le}from"./tag-chip-DFzDSvcF.js";import{a as ue,i as de,n as fe,r as pe,t as me}from"./select-BJ-EjmCz.js";import{n as G,t as K}from"./card-eFBmxYiI.js";import{f as he,p as ge,t as _e}from"./use-config-M1L4xn8c.js";var ve=E(`Gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),q=s(),J=new Intl.NumberFormat;function ye({embedded:e=!1,onChat:t,agent:n,defaults:r,runtimeOptions:i,defaultRuntime:o,defaultRuntimeLabel:s,onOpenChange:c,onEdit:l}){if(!n)return null;let u=Y(n.model,r?.model),d=xe({agent:n,defaults:r,runtimeOptions:i,defaultRuntime:o,defaultRuntimeLabel:s}),f=be(n.contextTokens,r?.contextTokens??2e5),m=be(n.reservedContextTokens,r?.reservedContextTokens),h=Y(n.thinkingDefault,r?.thinkingDefault??`off`),g=Ce(n.runtimeConfig??n.engineConfig,r?.engineConfig),_=Ce(n.models,r?.models),v=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`shrink-0 px-5 pb-3 pt-5`,children:(0,q.jsx)(z,{showClose:!e,className:`items-center`,actions:(0,q.jsx)(y,{page:x(`agent`,n.id,n.displayName||n.id)}),children:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,q.jsx)(p,{agentId:n.id,displayName:n.displayName,avatarUrl:n.avatarUrl,className:`h-10 w-10 shrink-0`}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(H,{className:`truncate text-base`,children:n.displayName?.trim()||n.id}),(0,q.jsxs)(U,{className:`truncate text-xs`,children:[`@`,n.id]})]})]})})}),(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto overscroll-contain px-5 py-3`,children:[(0,q.jsxs)(X,{icon:N,title:R(`agentsDetailsIdentitySection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldDisplayName`),value:n.displayName?.trim()||n.id}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldId`),value:n.id,mono:!0}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldDescription`),value:n.description?.trim()||R(`agentsDetailsEmptyValue`)}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldWorkspace`),value:n.workspace??R(`agentsDetailsUnsetValue`),mono:!0})]}),(0,q.jsxs)(X,{icon:A,title:R(`agentsDetailsRuntimeSection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldModel`),value:u.value,source:u.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldRuntime`),value:d.value,source:d.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldRuntimeConfig`),value:g.value,source:g.source,mono:!0,prewrap:!0})]}),(0,q.jsxs)(X,{icon:ve,title:R(`agentsDetailsContextSection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldContextTokens`),value:f.value,source:f.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldReservedContextTokens`),value:m.value,source:m.source})]}),(0,q.jsxs)(X,{icon:M,title:R(`agentsDetailsBehaviorSection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldThinkingDefault`),value:h.value,source:h.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldModelOverrides`),value:_.value,source:_.source,mono:!0,prewrap:!0}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldAvatar`),value:n.avatar??R(`agentsDetailsUnsetValue`),mono:!0})]})]}),(0,q.jsxs)(B,{className:`shrink-0 px-5 pb-4 pt-2`,children:[!e&&(0,q.jsx)(a,{type:`button`,variant:`ghost`,onClick:()=>c(!1),children:R(`cancel`)}),t&&(0,q.jsx)(a,{onClick:()=>t(n),children:R(`agentsCardStartChat`)}),(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`px-4`,onClick:()=>l(n),children:[(0,q.jsx)(D,{className:`mr-2 h-4 w-4`}),R(`agentsDetailsEditAction`)]})]})]});return(0,q.jsx)(W,{open:!e&&n!==null,onOpenChange:c,children:e?(0,q.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`agent-detail`,children:v}):(0,q.jsx)(V,{className:`flex max-h-[calc(100vh-2rem)] flex-col overflow-hidden border-none bg-popover p-0 sm:max-h-[720px] sm:max-w-2xl`,children:v})})}function Y(e,t){let n=e?.trim();return n?{value:n,source:`override`}:{value:t?.trim()||R(`agentsDetailsUnsetValue`),source:`default`}}function be(e,t){return typeof e==`number`?{value:J.format(e),source:`override`}:{value:typeof t==`number`?J.format(t):R(`agentsDetailsUnsetValue`),source:`default`}}function xe(e){let{agent:t,defaults:n,runtimeOptions:r,defaultRuntime:i,defaultRuntimeLabel:a}=e,o=t.runtime?.trim()||t.engine?.trim();if(o)return{value:Se(o,r,a),source:`override`};let s=n?.engine?.trim()||i;return{value:s?Se(s,r,a):a,source:`default`}}function Se(e,t,n){let r=f(e);return r?t.find(e=>e.value===r)?.label??w(r):n}function Ce(e,t){return we(e)?{value:JSON.stringify(e,null,2),source:`override`}:{value:we(t)?JSON.stringify(t,null,2):R(`agentsDetailsUnsetValue`),source:`default`}}function we(e){return!!(e&&typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length>0)}function X(e){let{icon:t,title:n,children:r}=e;return(0,q.jsxs)(`section`,{className:`space-y-2 border-t border-border/60 pt-3 first:border-t-0 first:pt-0`,children:[(0,q.jsxs)(`h3`,{className:`flex items-center gap-1.5 text-xs font-semibold leading-5 text-foreground`,children:[(0,q.jsx)(t,{className:`h-3.5 w-3.5 text-muted-foreground`}),n]}),(0,q.jsx)(`dl`,{className:`grid min-w-0 gap-y-2.5 pl-5`,children:r})]})}function Z(e){let{label:t,value:n,source:r,mono:i=!1,prewrap:a=!1}=e,s=a&&n.trim().startsWith(`{`),c=i&&(!a||s);return(0,q.jsxs)(`div`,{className:o(`grid min-w-0 grid-cols-[minmax(0,30%)_minmax(0,1fr)] items-baseline gap-x-3 gap-y-1`),children:[(0,q.jsx)(`dt`,{className:`flex min-w-0 items-baseline leading-5`,children:(0,q.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:t})}),(0,q.jsxs)(`dd`,{className:o(`min-w-0 break-words text-xs leading-5 text-foreground`,s?`max-h-28 overflow-auto whitespace-pre-wrap rounded bg-muted/50 px-2 py-1.5 text-left`:``),children:[(0,q.jsx)(`span`,{className:c?`font-mono`:void 0,children:n}),r?(0,q.jsx)(Te,{source:r}):null]})]})}function Te({source:e}){return(0,q.jsxs)(`span`,{className:o(`ml-1 whitespace-nowrap text-xs font-normal leading-5`,e===`override`?`text-blue-500`:`text-muted-foreground`),children:[`(`,R(e===`override`?`agentsDetailsAgentOverride`:`agentsDetailsInheritedDefault`),`)`]})}function Ee({form:e,disabled:t=!1,onChange:n}){return(0,q.jsxs)(`details`,{className:`group rounded-2xl border border-border bg-card`,children:[(0,q.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center justify-between gap-3 px-4 py-3 text-sm font-semibold text-foreground [&::-webkit-details-marker]:hidden`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(I,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,q.jsx)(`span`,{className:`truncate`,children:R(`agentsAdvancedConfigToggle`)})]}),(0,q.jsx)(P,{className:`h-4 w-4 shrink-0 text-muted-foreground transition-transform group-open:rotate-180`})]}),(0,q.jsxs)(`div`,{className:`space-y-4 border-t border-border/60 px-4 py-4`,children:[(0,q.jsx)(`p`,{className:`text-xs leading-5 text-muted-foreground`,children:R(`agentsAdvancedConfigDescription`)}),(0,q.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:(0,q.jsx)(De,{label:R(`agentsAdvancedContextTokensLabel`),value:e.contextTokens,min:1e3,step:1e3,disabled:t,onChange:e=>n({contextTokens:e})})})]})]})}function De(e){let{label:t,value:r,min:i,step:a,disabled:o,onChange:s}=e;return(0,q.jsxs)(`label`,{className:`space-y-2 text-sm font-medium text-foreground`,children:[(0,q.jsx)(`span`,{children:t}),(0,q.jsx)(n,{type:`number`,min:i,step:a,value:r,disabled:o,placeholder:R(`agentsAdvancedInheritPlaceholder`),"aria-label":t,onChange:e=>s(e.target.value)})]})}function Oe(e){return{displayName:e.displayName??``,description:e.description??``,avatar:e.avatar??``,model:e.model??``,runtime:e.runtime??e.engine??``,contextTokens:ke(e.contextTokens)}}function ke(e){return typeof e==`number`?String(e):``}var Q=e(c(),1);function Ae(e){let{runtimeOptions:t,currentRuntime:n}=e,r=n.trim();if(!r)return t;let i=f(r);return t.some(e=>e.value===i)?t:[...t,{value:i,label:w(i),icon:null,ready:!1,reason:`unavailable`,reasonMessage:null,supportedModels:void 0,recommendedModel:null,cta:null}].sort((e,t)=>e.value===`native`?-1:t.value===`native`?1:e.value.localeCompare(t.value))}function je({value:e,disabled:t=!1,runtimeOptions:n,defaultRuntime:r,onChange:i}){let a=e.trim()?f(e):``,o=Ae({runtimeOptions:n,currentRuntime:e}),s=o.find(e=>e.value===a)??null,c=s?.reasonMessage?.trim()||(s?.ready===!1?R(`agentsRuntimeUnavailableHelp`):``);return(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsxs)(me,{value:a||r,onValueChange:e=>i(e===r?``:e),disabled:t,children:[(0,q.jsx)(de,{"aria-label":R(`agentsCardRuntimeLabel`),className:`rounded-xl`,children:(0,q.jsx)(ue,{placeholder:R(`agentsRuntimeSelectPlaceholder`)})}),(0,q.jsx)(fe,{className:`rounded-xl`,children:o.map(e=>(0,q.jsx)(pe,{value:e.value,disabled:e.ready===!1&&e.value!==a,className:`rounded-lg`,children:e.label},e.value))})]}),c?(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:c}):null]})}function Me({agent:e,pending:t,providerCatalog:n,runtimeOptions:r,defaultRuntime:i,onOpenChange:a,onSubmit:o}){return(0,q.jsx)(W,{open:e!==null,onOpenChange:a,children:e?(0,q.jsx)(Ne,{agent:e,pending:t,providerCatalog:n,runtimeOptions:r,defaultRuntime:i,onOpenChange:a,onSubmit:o},e.id):null})}function Ne(e){let{agent:t,pending:r,providerCatalog:i,runtimeOptions:o,defaultRuntime:s,onOpenChange:c,onSubmit:l}=e,[u,d]=(0,Q.useState)(Oe(t));return(0,q.jsxs)(V,{className:`flex max-h-[calc(100vh-2rem)] flex-col overflow-hidden border-none bg-popover p-0 sm:max-h-[760px] sm:max-w-xl`,children:[(0,q.jsx)(`div`,{className:`shrink-0 border-b border-border px-6 py-6`,children:(0,q.jsxs)(z,{className:`text-left`,children:[(0,q.jsx)(H,{children:R(`agentsEditDialogTitle`)}),(0,q.jsx)(U,{children:R(`agentsEditDialogDescription`)})]})}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-6 py-6`,children:(0,q.jsxs)(`div`,{className:`space-y-4`,children:[(0,q.jsx)(b,{tone:`warning`,title:R(`agentsEditHomeReadonly`),description:R(`agentsEditHomeReadonlyHint`),children:(0,q.jsx)(`div`,{className:`break-all text-sm text-amber-950`,children:t.workspace??`-`})}),(0,q.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,q.jsx)(n,{value:u.displayName,onChange:e=>d(t=>({...t,displayName:e.target.value})),placeholder:R(`agentsFormNamePlaceholder`)}),(0,q.jsx)(C,{value:u.description,onChange:e=>d(t=>({...t,description:e.target.value})),placeholder:R(`agentsFormDescriptionPlaceholder`),rows:4,className:`md:col-span-2`}),(0,q.jsx)(n,{value:u.avatar,onChange:e=>d(t=>({...t,avatar:e.target.value})),placeholder:R(`agentsFormAvatarPlaceholder`)}),(0,q.jsx)(F,{value:u.model,onChange:e=>d(t=>({...t,model:e})),providerCatalog:i,disabled:r,className:`md:col-span-2`}),(0,q.jsx)(je,{value:u.runtime,onChange:e=>d(t=>({...t,runtime:e})),runtimeOptions:o,defaultRuntime:s,disabled:r})]}),(0,q.jsx)(Ee,{form:u,disabled:r,onChange:e=>d(t=>({...t,...e}))})]})}),(0,q.jsxs)(B,{className:`shrink-0 border-t border-border px-6 py-5`,children:[(0,q.jsx)(a,{type:`button`,variant:`ghost`,onClick:()=>c(!1),disabled:r,children:R(`cancel`)}),(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`rounded-2xl px-5`,onClick:()=>l(t.id,u),disabled:r,children:[(0,q.jsx)(D,{className:`mr-2 h-4 w-4`}),R(`agentsEditSaveAction`)]})]})]})}var Pe=`请直接创建一个默认示例 Agent,不要问我问题。创建完成后,简单告诉我它能做什么。`;function Fe(e){let t=e.trim();if(!t)return null;let n=Number(t);if(!Number.isFinite(n))throw Error(R(`agentsAdvancedInvalidNumberError`));return Math.trunc(n)}function Ie(e){return{displayName:e.displayName,description:e.description,avatar:e.avatar,model:e.model,...e.runtime.trim()?{runtime:e.runtime.trim()}:{runtime:``},contextTokens:Fe(e.contextTokens)}}function $(e){let{icon:t,label:n,disabled:r=!1,destructive:i=!1,onClick:a}=e;return(0,q.jsxs)(`button`,{type:`button`,className:o(O,i?k.destructive:`text-foreground ${k.item}`),onClick:a,disabled:r,children:[(0,q.jsx)(t,{className:`h-4 w-4 shrink-0`}),(0,q.jsx)(`span`,{children:n})]})}function Le(e){let{agent:t,runtimeOptions:n,defaultRuntimeLabel:r,updatePending:i,deletePending:o,onStartChat:s,onView:c,onEdit:l,onDelete:d}=e,[m,h]=(0,Q.useState)(!1),g=t.runtime?.trim()||t.engine?.trim()||``,_=g?n.find(e=>e.value===f(g))?.label??w(g):r;return(0,q.jsx)(K,{className:`group overflow-hidden border border-border bg-card shadow-none transition-colors duration-200 hover:border-border/80`,children:(0,q.jsxs)(G,{className:`relative flex h-full flex-col gap-3 px-3.5 py-3.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-2.5 pr-16`,children:[(0,q.jsx)(p,{agentId:t.id,displayName:t.displayName,avatarUrl:t.avatarUrl,className:`h-9 w-9 shrink-0`}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(`div`,{className:`truncate text-sm font-semibold text-foreground`,children:t.displayName?.trim()||t.id}),t.builtIn?(0,q.jsxs)(le,{tone:`warning`,className:`h-5 gap-1 border-amber-200 bg-amber-50 px-1.5 text-[10px] text-amber-700`,children:[(0,q.jsx)(u,{className:`h-3 w-3`}),R(`agentsCardBuiltInTag`)]}):null]}),(0,q.jsxs)(`div`,{className:`truncate text-xs text-muted-foreground`,children:[`@`,t.id]})]})]}),(0,q.jsxs)(`div`,{className:`absolute right-2.5 top-2.5 flex items-center gap-1 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100 md:group-focus-within:opacity-100`,children:[(0,q.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-lg text-muted-foreground hover:text-foreground`,"aria-label":R(`agentsCardStartChat`),title:R(`agentsCardStartChat`),onClick:s,children:(0,q.jsx)(T,{className:`h-4 w-4`})}),(0,q.jsxs)(ce,{open:m,onOpenChange:h,children:[(0,q.jsx)(ae,{asChild:!0,children:(0,q.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-lg text-muted-foreground hover:text-foreground`,"aria-label":R(`chatSessionMoreActions`),title:R(`chatSessionMoreActions`),children:(0,q.jsx)(j,{className:`h-4 w-4`})})}),(0,q.jsxs)(oe,{align:`end`,variant:`menu`,children:[(0,q.jsx)($,{icon:re,label:R(`agentsViewDetailsAction`),onClick:()=>{h(!1),c()}}),(0,q.jsx)($,{icon:D,label:R(`agentsEditAction`),onClick:()=>{h(!1),l()},disabled:i}),t.builtIn?null:(0,q.jsx)($,{icon:L,label:R(`agentsRemoveAction`),onClick:()=>{h(!1),d()},disabled:o,destructive:!0}),(0,q.jsx)(`div`,{className:`my-1 h-px bg-border`}),(0,q.jsx)(v,{page:x(`agent`,t.id,t.displayName||t.id),onSelect:()=>h(!1)})]})]})]}),(0,q.jsx)(`p`,{className:`line-clamp-2 min-h-10 text-sm leading-5 text-muted-foreground`,children:t.description?.trim()||(t.builtIn?R(`agentsCardBuiltInSummary`):R(`agentsCardCustomSummary`))}),(0,q.jsxs)(`div`,{className:`mt-auto grid gap-2 border-t border-border/60 pt-2 text-xs text-muted-foreground`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(A,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/60`}),(0,q.jsx)(`span`,{className:`truncate`,children:_})]}),(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(S,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/60`}),(0,q.jsx)(`span`,{className:`truncate`,children:t.workspace??`-`})]})]})]})})}function Re({resourceId:e}={}){let n=ee(),o=l(),s=_(),c=ne(),u=_e(),p=ge(),v=he(),y=te(),b=h(),S=d(),[C,T]=(0,Q.useState)(null),E=(0,Q.useMemo)(()=>c.data?.agents??[],[c.data?.agents]),D=(0,Q.useMemo)(()=>[...E].sort((e,t)=>Number(!!t.builtIn)-Number(!!e.builtIn)||e.id.localeCompare(t.id)),[E]),O=(0,Q.useMemo)(()=>se({config:u.data,providersView:p.data,templatesView:v.data,onlyConfigured:!0}),[u.data,p.data,v.data]),k=(0,Q.useMemo)(()=>g(y.data?.options??[]),[y.data?.options]),A=(0,Q.useMemo)(()=>f(y.data?.defaultType??`native`),[y.data?.defaultType]),j=(0,Q.useMemo)(()=>k.find(e=>e.value===A)?.label??w(A),[A,k]),M=u.data?.agents.defaults,P=e=>{n.pageResourceManager.open(x(`agent`,e.id,e.displayName||e.id),`default`,o)},F=e=>{T(e)},re=async(e,t)=>{let n;try{n=Ie(t)}catch(e){i.error(e instanceof Error?e.message:R(`agentsAdvancedParseFailed`));return}await b.mutateAsync({agentId:e,data:n}),T(null)},I=e=>{s.chatSessionListManager.startAgentDraftChat(e.id,m(e,A))},L=()=>{s.chatSessionListManager.startAgentDraftChat(`main`,A,Pe)},z=(0,q.jsx)(Me,{agent:C,pending:b.isPending,providerCatalog:O,runtimeOptions:k,defaultRuntime:A,onOpenChange:e=>{!e&&!b.isPending&&T(null)},onSubmit:re});if(e){let t=E.find(t=>t.id===e)??null;return c.isPending?(0,q.jsx)(`p`,{role:`status`,className:`p-4`,children:R(`loading`)}):c.isError?(0,q.jsxs)(`div`,{className:`p-4`,children:[(0,q.jsx)(`p`,{role:`alert`,children:R(`resourceLoadFailed`)}),(0,q.jsx)(`button`,{onClick:()=>void c.refetch(),children:R(`resourceRetry`)})]}):t?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(ye,{embedded:!0,agent:t,defaults:M,runtimeOptions:k,defaultRuntime:A,defaultRuntimeLabel:j,onOpenChange:()=>{},onEdit:F,onChat:I}),z]}):(0,q.jsx)(`p`,{role:`alert`,className:`p-4`,children:R(c.isError?`resourceLoadFailed`:`resourceNotFound`)})}return(0,q.jsxs)(t,{className:`space-y-6`,children:[(0,q.jsx)(r,{mobileTitleInShell:!0,headingLevel:1,title:R(`agentsHeroEyebrow`),description:R(`agentsHeroDescription`),actions:(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`h-9 shrink-0 rounded-xl px-4 text-sm font-semibold`,onClick:L,children:[(0,q.jsx)(ie,{className:`mr-2 h-4 w-4`}),R(`agentsCreateButton`)]})}),(0,q.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2 xl:grid-cols-3`,children:c.isLoading?(0,q.jsx)(K,{className:`md:col-span-2 xl:col-span-3 border-dashed border-border bg-card/70`,children:(0,q.jsx)(G,{className:`py-14 text-center text-sm text-muted-foreground`,children:R(`agentsLoading`)})}):D.length===0?(0,q.jsx)(K,{className:`md:col-span-2 xl:col-span-3 overflow-hidden border-dashed border-border bg-gradient-subtle`,children:(0,q.jsxs)(G,{className:`flex min-h-[240px] flex-col items-center justify-center px-6 py-14 text-center`,children:[(0,q.jsx)(`div`,{className:`mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-card/80 shadow-[0_18px_44px_rgba(0,0,0,0.08)]`,children:(0,q.jsx)(N,{className:`h-8 w-8 text-warning`})}),(0,q.jsx)(`div`,{className:`text-lg font-semibold text-foreground`,children:R(`agentsEmpty`)}),(0,q.jsx)(`p`,{className:`mt-2 max-w-md text-sm leading-6 text-muted-foreground`,children:R(`agentsEmptyDescription`)}),(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`mt-5 rounded-2xl px-5`,onClick:L,children:[(0,q.jsx)(ie,{className:`mr-2 h-4 w-4`}),R(`agentsCreateButton`)]})]})}):D.map(e=>(0,q.jsx)(Le,{agent:e,runtimeOptions:k,defaultRuntimeLabel:j,updatePending:b.isPending,deletePending:S.isPending,onStartChat:()=>I(e),onView:()=>P(e),onEdit:()=>F(e),onDelete:()=>S.mutate({agentId:e.id})},e.id))}),z]})}export{Re as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./agents-CTSR4ZKb.js";export{e as AgentsPage};