agent-tower 0.7.1-beta.0 → 0.7.1-beta.2
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.
- package/dist/runtime/__tests__/codex-runtime-resolution.test.js +18 -0
- package/dist/runtime/__tests__/codex-runtime-resolution.test.js.map +1 -1
- package/dist/runtime/acp/agents/codex.d.ts.map +1 -1
- package/dist/runtime/acp/agents/codex.js +33 -1
- package/dist/runtime/acp/agents/codex.js.map +1 -1
- package/dist/web/assets/{AgentDemoPage-B_9OhUu7.js → AgentDemoPage-B6pABvRL.js} +1 -1
- package/dist/web/assets/{AgentEnvironmentSettingsPage-D7pZQLiC.js → AgentEnvironmentSettingsPage-CqMfdwkM.js} +1 -1
- package/dist/web/assets/{AgentLogo-C0bPAxbG.js → AgentLogo-Ntqe3_Mx.js} +1 -1
- package/dist/web/assets/{ConversationPage-BkIJfuUB.js → ConversationPage-BINGA8XL.js} +1 -1
- package/dist/web/assets/{CreateTaskInput-CS9ktr5a.js → CreateTaskInput-8bLhHYOc.js} +1 -1
- package/dist/web/assets/{DemoPage-D5HfzpfS.js → DemoPage-D1Ki6sJ0.js} +1 -1
- package/dist/web/assets/{GeneralSettingsPage-CKFLk4bt.js → GeneralSettingsPage-DoAXPabw.js} +1 -1
- package/dist/web/assets/{Icons-CqVh1zOu.js → Icons-KJJd6C8K.js} +1 -1
- package/dist/web/assets/{LoadingPreviewPage-DWr9Bc06.js → LoadingPreviewPage-BqCKBvgv.js} +1 -1
- package/dist/web/assets/{McpSettingsPage-GDNWUFUx.js → McpSettingsPage-QXVD4XCW.js} +1 -1
- package/dist/web/assets/{MemberAvatar-BA3zVRhl.js → MemberAvatar-kbJEoyh0.js} +1 -1
- package/dist/web/assets/{NotificationSettingsPage-OpJo7zJ4.js → NotificationSettingsPage-BrqSeU--.js} +1 -1
- package/dist/web/assets/{ProfileSettingsPage-DYV5Up2y.js → ProfileSettingsPage-BmWgVdnG.js} +1 -1
- package/dist/web/assets/{ProjectKanbanPage-DNhv4WcA.js → ProjectKanbanPage-D7RJm4yg.js} +3 -3
- package/dist/web/assets/{ProjectSettingsPage-DJ5LIrW5.js → ProjectSettingsPage-BVINN99w.js} +1 -1
- package/dist/web/assets/{ProviderSettingsPage-DkKvjXXL.js → ProviderSettingsPage-BlgfQMwe.js} +1 -1
- package/dist/web/assets/{SettingsMasterDetail-nkWk1iMZ.js → SettingsMasterDetail-OF28cvPV.js} +1 -1
- package/dist/web/assets/{TeamSettingsPage-B6paYIi8.js → TeamSettingsPage-BWGm0m7s.js} +1 -1
- package/dist/web/assets/{arc-D6K3W0ZB.js → arc-CqFgRaZU.js} +1 -1
- package/dist/web/assets/{architectureDiagram-3BPJPVTR-CnyQ4xAO.js → architectureDiagram-3BPJPVTR-C0PMdIZJ.js} +1 -1
- package/dist/web/assets/{blockDiagram-GPEHLZMM-BFL71oe3.js → blockDiagram-GPEHLZMM-SqqtxqkX.js} +1 -1
- package/dist/web/assets/{c4Diagram-AAUBKEIU-Cv39zyqp.js → c4Diagram-AAUBKEIU-DYJXB3xL.js} +1 -1
- package/dist/web/assets/channel-B8s9dqlX.js +1 -0
- package/dist/web/assets/check-C1zWgxFO.js +1 -0
- package/dist/web/assets/{chevron-down-F0HaYv4G.js → chevron-down-BZfpVhYr.js} +1 -1
- package/dist/web/assets/{chevron-right-CPwvo275.js → chevron-right-D52zUyOF.js} +1 -1
- package/dist/web/assets/{chevron-up-DS7W1CS_.js → chevron-up-CFOy5dmW.js} +1 -1
- package/dist/web/assets/{chunk-2J33WTMH-o03x4Lwh.js → chunk-2J33WTMH-DQCbv8W_.js} +1 -1
- package/dist/web/assets/{chunk-4BX2VUAB-OMTDHlMp.js → chunk-4BX2VUAB-B_68_oNW.js} +1 -1
- package/dist/web/assets/{chunk-55IACEB6-BYhGICji.js → chunk-55IACEB6-Bb-pPIxs.js} +1 -1
- package/dist/web/assets/{chunk-727SXJPM-DzoqZgN8.js → chunk-727SXJPM-CAiaySk6.js} +1 -1
- package/dist/web/assets/{chunk-AQP2D5EJ-RWSpIm7i.js → chunk-AQP2D5EJ-ChCLJ4Wv.js} +1 -1
- package/dist/web/assets/{chunk-FMBD7UC4-A8Ezik8l.js → chunk-FMBD7UC4-Kz0Cc0mv.js} +1 -1
- package/dist/web/assets/{chunk-ND2GUHAM-l8t1S54b.js → chunk-ND2GUHAM-BttoT7UR.js} +1 -1
- package/dist/web/assets/{chunk-QZHKN3VN-CfzOWd9g.js → chunk-QZHKN3VN-BcVhzXXK.js} +1 -1
- package/dist/web/assets/{circle-alert-D_JK6Nsk.js → circle-alert-D67xfWMs.js} +1 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-61bPx188.js +1 -0
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-61bPx188.js +1 -0
- package/dist/web/assets/{code-block-OCS4YCEC-DOp940bN.js → code-block-OCS4YCEC-CMA1utSp.js} +1 -1
- package/dist/web/assets/{confirm-dialog-BOmXWU-c.js → confirm-dialog-BWvZEHpu.js} +1 -1
- package/dist/web/assets/{cose-bilkent-S5V4N54A-D2t-do1X.js → cose-bilkent-S5V4N54A-B391zTey.js} +1 -1
- package/dist/web/assets/{cssMode-BtqVF1ly.js → cssMode-CNU1q_Gl.js} +1 -1
- package/dist/web/assets/{dagre-BM42HDAG-BtYlmBNC.js → dagre-BM42HDAG-CymH_FEZ.js} +1 -1
- package/dist/web/assets/{diagram-2AECGRRQ-WDOcMaWr.js → diagram-2AECGRRQ-DXOIiLDr.js} +1 -1
- package/dist/web/assets/{diagram-5GNKFQAL-LbMipgIf.js → diagram-5GNKFQAL-B9ocgjdh.js} +1 -1
- package/dist/web/assets/{diagram-KO2AKTUF-DsKCSLdx.js → diagram-KO2AKTUF-DLMpk9Wg.js} +1 -1
- package/dist/web/assets/{diagram-LMA3HP47-DUkuN6RR.js → diagram-LMA3HP47-BBnF83je.js} +1 -1
- package/dist/web/assets/{diagram-OG6HWLK6-DLyJH0mw.js → diagram-OG6HWLK6-AK4FunVI.js} +1 -1
- package/dist/web/assets/{erDiagram-TEJ5UH35-kZ9_YLwi.js → erDiagram-TEJ5UH35-B1mryURg.js} +1 -1
- package/dist/web/assets/{flowDiagram-I6XJVG4X-CtWP6zim.js → flowDiagram-I6XJVG4X-BjIG_1l5.js} +1 -1
- package/dist/web/assets/{folder-picker-ClBdFSv_.js → folder-picker-CaM_drIJ.js} +1 -1
- package/dist/web/assets/{freemarker2-Cz_cflgL.js → freemarker2-Dj1C_6Ng.js} +1 -1
- package/dist/web/assets/{ganttDiagram-6RSMTGT7-Cpsrbddz.js → ganttDiagram-6RSMTGT7-DjR6lyIQ.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-PVQCEYII-Z2AN7JLu.js → gitGraphDiagram-PVQCEYII-BpW2L4ry.js} +1 -1
- package/dist/web/assets/{handlebars-DXQ11OYe.js → handlebars-DNXOgRZc.js} +1 -1
- package/dist/web/assets/{html-CPKzsFQJ.js → html-C20FgNS-.js} +1 -1
- package/dist/web/assets/{htmlMode-BuLIJ65E.js → htmlMode-CtcV1Ktd.js} +1 -1
- package/dist/web/assets/{index-BPuQ0J75.js → index-DaRxJqVy.js} +4 -4
- package/dist/web/assets/{index-DJqjl4es.js → index-oC5eh7mZ.js} +3 -3
- package/dist/web/assets/{infoDiagram-5YYISTIA-CG5Z1SIw.js → infoDiagram-5YYISTIA-Cu-PA_-6.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-CI-1kybP.js → ishikawaDiagram-YF4QCWOH-S6Esbkdw.js} +1 -1
- package/dist/web/assets/javascript-CFAVZ6Tb.js +1 -0
- package/dist/web/assets/{journeyDiagram-JHISSGLW-Yf0W6ar4.js → journeyDiagram-JHISSGLW-wPF9FT9V.js} +1 -1
- package/dist/web/assets/{jsonMode-D7mGQAMX.js → jsonMode-D6IoFlQF.js} +1 -1
- package/dist/web/assets/{kanban-definition-UN3LZRKU-CSo-Ej3T.js → kanban-definition-UN3LZRKU-C4jl9zOj.js} +1 -1
- package/dist/web/assets/{layers-E7xs4_fY.js → layers-hQUUT3Gb.js} +1 -1
- package/dist/web/assets/{linear-bYzPbs_W.js → linear-D83xDp0H.js} +1 -1
- package/dist/web/assets/{liquid-D1dGDf_h.js → liquid-CuzuRJIN.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-Fa-E2Zl-.js → lspLanguageFeatures-CUyibjAN.js} +1 -1
- package/dist/web/assets/{mdx-CRf_kl0j.js → mdx-C3rxTvel.js} +1 -1
- package/dist/web/assets/{mermaid-NOHMQCX5-9Sp0Awb9.js → mermaid-NOHMQCX5-CGCWmHha.js} +5 -5
- package/dist/web/assets/{message-square-CQV6Jqyx.js → message-square-B-uYQiTq.js} +1 -1
- package/dist/web/assets/{mindmap-definition-RKZ34NQL-DfqJHEQn.js → mindmap-definition-RKZ34NQL-D5v2uvjn.js} +1 -1
- package/dist/web/assets/{modal-BUKaDX-v.js → modal-D87uszzb.js} +1 -1
- package/dist/web/assets/{monaco-uSRaugmx.js → monaco-B25-2nEB.js} +3 -3
- package/dist/web/assets/{pencil-BRpoyX8s.js → pencil-CY2RnQrx.js} +1 -1
- package/dist/web/assets/{pieDiagram-4H26LBE5-D6mZqc_7.js → pieDiagram-4H26LBE5-6wdFz_7x.js} +1 -1
- package/dist/web/assets/{python-b877PDdg.js → python-BYGLbOzO.js} +1 -1
- package/dist/web/assets/{quadrantDiagram-W4KKPZXB-DCcabkRn.js → quadrantDiagram-W4KKPZXB-C1CrGMEK.js} +1 -1
- package/dist/web/assets/{razor-Bi1FXUoZ.js → razor-m0U9iUAj.js} +1 -1
- package/dist/web/assets/{requirementDiagram-4Y6WPE33-CP6GHzII.js → requirementDiagram-4Y6WPE33-mDtZrxpp.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-5OEKKPKP-BNJypqP0.js → sankeyDiagram-5OEKKPKP-hBlj0XoH.js} +1 -1
- package/dist/web/assets/{select-DQiySo8W.js → select-D7WkUiad.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-3UESZ5HK-CTceFzh8.js → sequenceDiagram-3UESZ5HK-DsWmMm20.js} +1 -1
- package/dist/web/assets/{server-Du56rX8Y.js → server-qlZupTvg.js} +1 -1
- package/dist/web/assets/{stateDiagram-AJRCARHV-CW_WR-7F.js → stateDiagram-AJRCARHV-VNyX1L66.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-DHz3oGyD.js +1 -0
- package/dist/web/assets/{switch-Bmbr34G9.js → switch-1pvXCcP-.js} +1 -1
- package/dist/web/assets/{textarea-SORnJi9y.js → textarea-D9oaz-Ba.js} +1 -1
- package/dist/web/assets/{timeline-definition-PNZ67QCA-YMyJrcx3.js → timeline-definition-PNZ67QCA-DuBxxd9E.js} +1 -1
- package/dist/web/assets/{trash-2-BeXtY9XM.js → trash-2-C0P8jNpJ.js} +1 -1
- package/dist/web/assets/{tsMode-PVZGxtwF.js → tsMode-ogL-3MSe.js} +1 -1
- package/dist/web/assets/{typescript-Lb9pWYyY.js → typescript-rHoDxTY8.js} +1 -1
- package/dist/web/assets/{upload-mXU9O8ZR.js → upload-BYgsDplu.js} +1 -1
- package/dist/web/assets/{use-profiles-CwhDBM9-.js → use-profiles-BkGnmson.js} +1 -1
- package/dist/web/assets/{use-projects-FC2A-qiG.js → use-projects-B4w00h5I.js} +1 -1
- package/dist/web/assets/{use-providers-BzZ7Dpm4.js → use-providers-B70-BYNu.js} +1 -1
- package/dist/web/assets/{useNormalizedLogs-Cxh15U2o.js → useNormalizedLogs-MsDkcnRQ.js} +1 -1
- package/dist/web/assets/{vennDiagram-CIIHVFJN-2FtrQsyg.js → vennDiagram-CIIHVFJN-RbPPOLBo.js} +1 -1
- package/dist/web/assets/{wardley-L42UT6IY-DzhpFsrC.js → wardley-L42UT6IY-DXzUbdMF.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-YWT4CUSO-SWglvyXQ.js → wardleyDiagram-YWT4CUSO-B0QXobQM.js} +1 -1
- package/dist/web/assets/{xml-aN9gPs-U.js → xml-BqnpQrAq.js} +1 -1
- package/dist/web/assets/{xychartDiagram-2RQKCTM6-BMScKGN8.js → xychartDiagram-2RQKCTM6-C7bFJItM.js} +1 -1
- package/dist/web/assets/{yaml-iYUoM2EE.js → yaml-mz2Zn_K2.js} +1 -1
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/dist/web/assets/channel-DIRGk9YF.js +0 -1
- package/dist/web/assets/check-D0G5G0XX.js +0 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-B7c8qeN5.js +0 -1
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-B7c8qeN5.js +0 -1
- package/dist/web/assets/javascript-CWV4KdLq.js +0 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-Veali8j7.js +0 -1
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { chmodSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import os from 'node:os';
|
|
1
3
|
import path from 'node:path';
|
|
2
4
|
import { AgentType, RuntimeType } from '@agent-tower/shared';
|
|
3
5
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
@@ -59,6 +61,22 @@ describe('Codex ACP runtime resolution', () => {
|
|
|
59
61
|
expect(resolveBundledCodexEntrypoint).toHaveBeenCalledOnce();
|
|
60
62
|
expect(await codexAcpAgentDefinition.checkAvailability(provider)).toEqual({ type: 'INSTALLATION_FOUND' });
|
|
61
63
|
});
|
|
64
|
+
it('directly resolves a local Codex executable when the which command is unavailable', async () => {
|
|
65
|
+
const directory = mkdtempSync(path.join(os.tmpdir(), 'codex-runtime-resolution-'));
|
|
66
|
+
const executable = path.join(directory, process.platform === 'win32' ? 'codex.cmd' : 'codex');
|
|
67
|
+
writeFileSync(executable, process.platform === 'win32' ? '@echo off\r\n' : '#!/bin/sh\nexit 0\n');
|
|
68
|
+
if (process.platform !== 'win32')
|
|
69
|
+
chmodSync(executable, 0o755);
|
|
70
|
+
try {
|
|
71
|
+
const { profile, input } = setup({ PATH: directory });
|
|
72
|
+
const launch = await codexAcpAgentDefinition.resolveLaunch(input, profile);
|
|
73
|
+
expect(launch.env.CODEX_PATH).toBe(executable);
|
|
74
|
+
expect(resolveBundledCodexEntrypoint).not.toHaveBeenCalled();
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
rmSync(directory, { recursive: true, force: true });
|
|
78
|
+
}
|
|
79
|
+
});
|
|
62
80
|
it.each([systemCodex, null])('replaces inherited CODEX_PATH with the automatically selected runtime: %s', async (detectedCodex) => {
|
|
63
81
|
vi.mocked(which).mockResolvedValue(detectedCodex);
|
|
64
82
|
const { profile, input } = setup({ CODEX_PATH: process.execPath });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-runtime-resolution.test.js","sourceRoot":"","sources":["../../../src/runtime/__tests__/codex-runtime-resolution.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex-runtime-resolution.test.js","sourceRoot":"","sources":["../../../src/runtime/__tests__/codex-runtime-resolution.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/codex.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/codex.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIrD,eAAO,MAAM,uBAAuB,EAAE,kBA2GrC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { constants, accessSync, statSync } from 'node:fs';
|
|
1
2
|
import { createRequire } from 'node:module';
|
|
2
3
|
import path from 'node:path';
|
|
3
4
|
import * as acp from '@agentclientprotocol/sdk';
|
|
@@ -112,6 +113,37 @@ async function resolveSystemCodex(environment) {
|
|
|
112
113
|
.filter(directory => path.isAbsolute(directory) && !/[\\/]node_modules[\\/]\.bin(?:[\\/]|$)/i.test(directory))
|
|
113
114
|
.join(path.delimiter);
|
|
114
115
|
}
|
|
115
|
-
|
|
116
|
+
const resolved = await which('codex', { env: searchEnvironment });
|
|
117
|
+
if (resolved)
|
|
118
|
+
return resolved;
|
|
119
|
+
// Packaged/GUI launches can run without a usable system `which` command.
|
|
120
|
+
// Resolve the same absolute PATH entries directly so a locally installed
|
|
121
|
+
// npm/nvm Codex is still preferred over the bundled fallback. The entries
|
|
122
|
+
// have already been filtered above, so project-local bins stay excluded.
|
|
123
|
+
const pathValue = searchEnvironment.PATH ?? searchEnvironment.Path;
|
|
124
|
+
const executableNames = process.platform === 'win32'
|
|
125
|
+
? ['codex.exe', 'codex.cmd', 'codex.bat', 'codex']
|
|
126
|
+
: ['codex'];
|
|
127
|
+
for (const directory of pathValue?.split(path.delimiter) ?? []) {
|
|
128
|
+
if (!path.isAbsolute(directory))
|
|
129
|
+
continue;
|
|
130
|
+
for (const executableName of executableNames) {
|
|
131
|
+
const candidate = path.join(directory, executableName);
|
|
132
|
+
if (isExecutableFile(candidate))
|
|
133
|
+
return candidate;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
138
|
+
function isExecutableFile(target) {
|
|
139
|
+
try {
|
|
140
|
+
if (!statSync(target).isFile())
|
|
141
|
+
return false;
|
|
142
|
+
accessSync(target, constants.X_OK);
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
116
148
|
}
|
|
117
149
|
//# sourceMappingURL=codex.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/codex.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{k as U,u as te,Z as se,r as n,p as b,j as e,B as y,_ as ne,$ as re,a0 as ae}from"./index-DJqjl4es.js";import{u as le,a as ie,L as oe,T as ce,P as de}from"./useNormalizedLogs-Cxh15U2o.js";import{b as xe}from"./mermaid-NOHMQCX5-9Sp0Awb9.js";import{I as H,a as ue,b as me,A as pe,G as he}from"./Icons-CqVh1zOu.js";import{d as ge}from"./use-profiles-CwhDBM9-.js";import{C as fe}from"./chevron-up-DS7W1CS_.js";import{C as be}from"./chevron-down-F0HaYv4G.js";import"./check-D0G5G0XX.js";import"./chevron-right-CPwvo275.js";const je=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],ve=U("hash",je);const Ne=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],ye=U("send",Ne),we=!0;function Pe(){const{t:s}=te(),{preserveDesktopSearch:V}=se(),[w,_]=n.useState([]),[i,S]=n.useState(""),[x,A]=n.useState("DEFAULT"),[o,k]=n.useState(""),[a,D]=n.useState(null),[B,E]=n.useState(null),[l,c]=n.useState("idle"),[g,C]=n.useState(!1),[u,j]=n.useState(""),$=n.useRef(null),I=n.useRef(null),m=n.useRef(null),{data:p}=ge(i),F=p?Object.keys(p):["DEFAULT"],G=t=>{S(t),A("DEFAULT")},M=n.useCallback(t=>{c(t===0?"stopped":"error")},[]),O=n.useCallback(t=>{console.error("Agent error:",t),c("error")},[]),{isConnected:h,isAttached:f,isOutputActive:K,lastExitAt:q,logs:v,entries:J,agentSessionId:z,attach:P,clearLogs:R}=le({sessionId:a||"",sessionStartedAt:B,onExit:M,onError:O}),{todos:T}=ie(J);n.useEffect(()=>{b.get("/demo/agents").then(t=>{_(t.agents);const r=t.agents.find(N=>N.available);r&&S(r.type)})},[]),n.useEffect(()=>{$.current?.scrollToBottom("smooth")},[v]),n.useEffect(()=>{console.log(`[AgentDemoPage:useEffect] t=${Date.now()} sessionId=${a} isConnected=${h} isAttached=${f}`),a&&h&&!f&&(console.log(`[AgentDemoPage:useEffect] t=${Date.now()} calling attach()`),P())},[a,h,f,P]);const W=t=>{if(j(t.target.value),m.current){m.current.style.height="auto";const N=Math.min(m.current.scrollHeight,210);m.current.style.height=`${N}px`}},Z=async()=>{if(!i||!o.trim())return;const t=Date.now();console.log(`[AgentDemoPage:handleStart] t=${t} starting...`),c("starting"),R();try{const r=await b.post("/demo/start",{agentType:i,prompt:o.trim(),variant:x});we&&console.log(`[AgentDemoPage:handleStart] t=${Date.now()} apiTime=${Date.now()-t}ms sessionId=${r.sessionId}`),D(r.sessionId),E(t),c("running")}catch(r){console.error("Start failed:",r),c("error")}},L=async()=>{if(!a||!u.trim())return;const t=u.trim();j("");try{await b.post(`/demo/${a}/message`,{message:t})}catch(r){console.error("Send failed:",r)}},Q=async()=>{if(a)try{await b.post(`/demo/${a}/stop`),c("stopped")}catch(t){console.error("Stop failed:",t)}},X=()=>{D(null),E(null),c("idle"),k(""),j(""),R()},Y=l==="running",d=a!==null,ee=w.find(t=>t.type===i);return e.jsxs("div",{className:"flex flex-col h-full bg-white",children:[e.jsxs("div",{className:"px-8 py-5 border-b border-neutral-100 bg-white transition-all duration-300",children:[e.jsxs("div",{className:"flex items-center flex-wrap gap-3",children:[e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx("span",{className:"text-base font-medium text-blue-600",children:"Agent Demo"}),e.jsx("span",{className:"text-neutral-300 text-sm",children:"/"}),e.jsx("span",{className:"text-xl font-bold text-neutral-900 tracking-tight",children:d?o.slice(0,50)+(o.length>50?"...":""):s("新会话")})]}),e.jsxs("div",{className:"flex items-center",children:[l==="running"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-blue-50 text-blue-700 rounded-full text-xs font-medium border border-blue-100",children:[e.jsx(H,{className:"w-3.5 h-3.5 animate-pulse"}),e.jsx("span",{children:"Running"})]}),l==="stopped"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-emerald-50 text-emerald-700 rounded-full text-xs font-medium border border-emerald-100",children:[e.jsx(ue,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Done"})]}),l==="idle"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-neutral-100 text-neutral-600 rounded-full text-xs font-medium border border-neutral-200",children:[e.jsx(me,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Idle"})]}),l==="starting"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-amber-50 text-amber-700 rounded-full text-xs font-medium border border-amber-100",children:[e.jsx(H,{className:"w-3.5 h-3.5 animate-spin"}),e.jsx("span",{children:"Starting..."})]}),l==="error"&&e.jsx("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-red-50 text-red-700 rounded-full text-xs font-medium border border-red-100",children:e.jsx("span",{children:"Error"})})]})]}),d&&e.jsxs("div",{className:"mt-1.5 flex items-start gap-2 group max-w-4xl",children:[e.jsx("div",{className:`text-sm text-neutral-600 leading-relaxed cursor-pointer transition-all ${g?"":"truncate"}`,onClick:()=>C(!g),children:o}),e.jsx("button",{onClick:()=>C(!g),className:"mt-0.5 text-neutral-400 opacity-0 group-hover:opacity-100 hover:text-neutral-600 transition-opacity",children:g?e.jsx(fe,{size:14}):e.jsx(be,{size:14})})]}),e.jsxs("div",{className:"flex items-center gap-6 mt-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Agent"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-900 font-medium bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:ee?.name||i||s("未选择")})]}),x!=="DEFAULT"&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Variant"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-700 font-medium bg-blue-50 px-2 py-1 rounded border border-blue-100",children:x})]}),z&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Session"}),e.jsxs("div",{className:"flex items-center gap-1.5 text-neutral-700 font-mono bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:[z.slice(0,8),"..."]})]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:s("连接")}),e.jsx("div",{className:`flex items-center gap-1.5 font-medium px-2 py-1 rounded border ${h?"text-emerald-700 bg-emerald-50 border-emerald-100":"text-neutral-500 bg-neutral-50 border-neutral-100"}`,children:s(h?f?"已连接":"连接中...":"未连接")})]}),d&&e.jsx(y,{variant:"outline",size:"sm",onClick:X,className:"ml-auto",children:s("新会话")}),e.jsxs(ne,{to:V("/settings/profiles"),className:`flex items-center gap-1.5 text-xs text-neutral-500 hover:text-neutral-900 transition-colors ${d?"":"ml-auto"}`,children:[e.jsx(re,{size:14}),e.jsx("span",{children:s("Profiles 设置")})]})]})]}),e.jsx("div",{ref:I,className:"flex-1 overflow-y-auto px-8 py-6",children:d?e.jsx("div",{className:"min-h-[200px]",children:v.length===0?e.jsx("div",{className:"text-neutral-400 text-center py-8",children:s("等待 Agent 响应...")}):e.jsx(oe,{children:e.jsx(xe,{ref:$,logs:v,isOutputActive:K,lastExitAt:q,scrollElementRef:I})})}):e.jsxs("div",{className:"max-w-2xl mx-auto space-y-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("选择 Agent")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:w.map(t=>e.jsxs(y,{variant:i===t.type?"default":"outline",disabled:!t.available,onClick:()=>G(t.type),children:[t.name,t.available&&t.version&&` (${t.version})`,!t.available&&s(" (不可用)")]},t.type))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("配置变体 (Profile Variant)")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:F.map(t=>e.jsx("button",{onClick:()=>A(t),className:`px-3 py-1.5 rounded-full text-sm font-medium border transition-colors ${x===t?"bg-neutral-900 text-white border-neutral-900":"bg-white text-neutral-600 border-neutral-200 hover:border-neutral-400"}`,children:t},t))}),p&&p[x]&&e.jsx("p",{className:"mt-2 text-xs text-neutral-500 font-mono",children:Object.entries(p[x]).map(([t,r])=>`${t}: ${JSON.stringify(r)}`).join(", ")})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("输入任务")}),e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{value:o,onChange:t=>k(t.target.value),rows:4,placeholder:s("描述你想让 Agent 完成的任务..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm"}),e.jsx("div",{className:"flex items-center justify-end px-3 pb-3 pt-1",children:e.jsx(y,{onClick:Z,disabled:l==="starting"||!i||!o.trim(),children:s(l==="starting"?"启动中...":"开始")})})]})]})]})}),d&&T.length>0&&e.jsx("div",{className:"px-8 py-2 bg-white border-t border-neutral-100",children:e.jsx(ce,{todos:T})}),d&&e.jsx("div",{className:"px-8 py-6 border-t border-neutral-100 bg-white",children:e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{ref:m,value:u,onChange:W,rows:3,placeholder:s("发送消息给 Agent..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm scrollbar-thin scrollbar-thumb-neutral-200 scrollbar-track-transparent",style:{minHeight:"80px",maxHeight:"210px"},onKeyDown:t=>{t.key==="Enter"&&!t.shiftKey&&!t.repeat&&!t.nativeEvent.isComposing&&t.nativeEvent.keyCode!==229&&(t.preventDefault(),L())}}),e.jsxs("div",{className:"flex items-center justify-between px-3 pb-3 pt-1 border-t border-transparent",children:[e.jsxs("div",{className:"flex items-center gap-1 text-neutral-400",children:[e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Attach File",children:e.jsx(de,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Mention",children:e.jsx(pe,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Reference Issue",children:e.jsx(ve,{size:18})}),e.jsx("div",{className:"w-px h-4 bg-neutral-200 mx-1"}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Search Web",children:e.jsx(he,{size:18})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[Y&&e.jsxs("button",{onClick:Q,className:"flex items-center gap-2 px-3 py-2 text-xs font-semibold text-red-600 bg-red-50 hover:bg-red-100 rounded-lg transition-colors",children:[e.jsx(ae,{size:12,fill:"currentColor"}),e.jsx("span",{children:s("停止")})]}),e.jsxs("button",{onClick:L,disabled:!u.trim(),className:`flex items-center gap-2 px-3 py-2 text-xs font-semibold rounded-lg transition-all ${u.trim()?"bg-neutral-900 text-white hover:bg-black shadow-sm":"bg-neutral-100 text-neutral-400 cursor-not-allowed"}`,children:[e.jsx("span",{children:s("发送")}),e.jsx(ye,{size:14})]})]})]})]})})]})}export{Pe as AgentDemoPage};
|
|
1
|
+
import{k as U,u as te,Z as se,r as n,p as b,j as e,B as y,_ as ne,$ as re,a0 as ae}from"./index-oC5eh7mZ.js";import{u as le,a as ie,L as oe,T as ce,P as de}from"./useNormalizedLogs-MsDkcnRQ.js";import{b as xe}from"./mermaid-NOHMQCX5-CGCWmHha.js";import{I as H,a as ue,b as me,A as pe,G as he}from"./Icons-KJJd6C8K.js";import{d as ge}from"./use-profiles-BkGnmson.js";import{C as fe}from"./chevron-up-CFOy5dmW.js";import{C as be}from"./chevron-down-BZfpVhYr.js";import"./check-C1zWgxFO.js";import"./chevron-right-D52zUyOF.js";const je=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],ve=U("hash",je);const Ne=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],ye=U("send",Ne),we=!0;function Pe(){const{t:s}=te(),{preserveDesktopSearch:V}=se(),[w,_]=n.useState([]),[i,S]=n.useState(""),[x,A]=n.useState("DEFAULT"),[o,k]=n.useState(""),[a,D]=n.useState(null),[B,E]=n.useState(null),[l,c]=n.useState("idle"),[g,C]=n.useState(!1),[u,j]=n.useState(""),$=n.useRef(null),I=n.useRef(null),m=n.useRef(null),{data:p}=ge(i),F=p?Object.keys(p):["DEFAULT"],G=t=>{S(t),A("DEFAULT")},M=n.useCallback(t=>{c(t===0?"stopped":"error")},[]),O=n.useCallback(t=>{console.error("Agent error:",t),c("error")},[]),{isConnected:h,isAttached:f,isOutputActive:K,lastExitAt:q,logs:v,entries:J,agentSessionId:z,attach:P,clearLogs:R}=le({sessionId:a||"",sessionStartedAt:B,onExit:M,onError:O}),{todos:T}=ie(J);n.useEffect(()=>{b.get("/demo/agents").then(t=>{_(t.agents);const r=t.agents.find(N=>N.available);r&&S(r.type)})},[]),n.useEffect(()=>{$.current?.scrollToBottom("smooth")},[v]),n.useEffect(()=>{console.log(`[AgentDemoPage:useEffect] t=${Date.now()} sessionId=${a} isConnected=${h} isAttached=${f}`),a&&h&&!f&&(console.log(`[AgentDemoPage:useEffect] t=${Date.now()} calling attach()`),P())},[a,h,f,P]);const W=t=>{if(j(t.target.value),m.current){m.current.style.height="auto";const N=Math.min(m.current.scrollHeight,210);m.current.style.height=`${N}px`}},Z=async()=>{if(!i||!o.trim())return;const t=Date.now();console.log(`[AgentDemoPage:handleStart] t=${t} starting...`),c("starting"),R();try{const r=await b.post("/demo/start",{agentType:i,prompt:o.trim(),variant:x});we&&console.log(`[AgentDemoPage:handleStart] t=${Date.now()} apiTime=${Date.now()-t}ms sessionId=${r.sessionId}`),D(r.sessionId),E(t),c("running")}catch(r){console.error("Start failed:",r),c("error")}},L=async()=>{if(!a||!u.trim())return;const t=u.trim();j("");try{await b.post(`/demo/${a}/message`,{message:t})}catch(r){console.error("Send failed:",r)}},Q=async()=>{if(a)try{await b.post(`/demo/${a}/stop`),c("stopped")}catch(t){console.error("Stop failed:",t)}},X=()=>{D(null),E(null),c("idle"),k(""),j(""),R()},Y=l==="running",d=a!==null,ee=w.find(t=>t.type===i);return e.jsxs("div",{className:"flex flex-col h-full bg-white",children:[e.jsxs("div",{className:"px-8 py-5 border-b border-neutral-100 bg-white transition-all duration-300",children:[e.jsxs("div",{className:"flex items-center flex-wrap gap-3",children:[e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx("span",{className:"text-base font-medium text-blue-600",children:"Agent Demo"}),e.jsx("span",{className:"text-neutral-300 text-sm",children:"/"}),e.jsx("span",{className:"text-xl font-bold text-neutral-900 tracking-tight",children:d?o.slice(0,50)+(o.length>50?"...":""):s("新会话")})]}),e.jsxs("div",{className:"flex items-center",children:[l==="running"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-blue-50 text-blue-700 rounded-full text-xs font-medium border border-blue-100",children:[e.jsx(H,{className:"w-3.5 h-3.5 animate-pulse"}),e.jsx("span",{children:"Running"})]}),l==="stopped"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-emerald-50 text-emerald-700 rounded-full text-xs font-medium border border-emerald-100",children:[e.jsx(ue,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Done"})]}),l==="idle"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-neutral-100 text-neutral-600 rounded-full text-xs font-medium border border-neutral-200",children:[e.jsx(me,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Idle"})]}),l==="starting"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-amber-50 text-amber-700 rounded-full text-xs font-medium border border-amber-100",children:[e.jsx(H,{className:"w-3.5 h-3.5 animate-spin"}),e.jsx("span",{children:"Starting..."})]}),l==="error"&&e.jsx("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-red-50 text-red-700 rounded-full text-xs font-medium border border-red-100",children:e.jsx("span",{children:"Error"})})]})]}),d&&e.jsxs("div",{className:"mt-1.5 flex items-start gap-2 group max-w-4xl",children:[e.jsx("div",{className:`text-sm text-neutral-600 leading-relaxed cursor-pointer transition-all ${g?"":"truncate"}`,onClick:()=>C(!g),children:o}),e.jsx("button",{onClick:()=>C(!g),className:"mt-0.5 text-neutral-400 opacity-0 group-hover:opacity-100 hover:text-neutral-600 transition-opacity",children:g?e.jsx(fe,{size:14}):e.jsx(be,{size:14})})]}),e.jsxs("div",{className:"flex items-center gap-6 mt-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Agent"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-900 font-medium bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:ee?.name||i||s("未选择")})]}),x!=="DEFAULT"&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Variant"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-700 font-medium bg-blue-50 px-2 py-1 rounded border border-blue-100",children:x})]}),z&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Session"}),e.jsxs("div",{className:"flex items-center gap-1.5 text-neutral-700 font-mono bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:[z.slice(0,8),"..."]})]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:s("连接")}),e.jsx("div",{className:`flex items-center gap-1.5 font-medium px-2 py-1 rounded border ${h?"text-emerald-700 bg-emerald-50 border-emerald-100":"text-neutral-500 bg-neutral-50 border-neutral-100"}`,children:s(h?f?"已连接":"连接中...":"未连接")})]}),d&&e.jsx(y,{variant:"outline",size:"sm",onClick:X,className:"ml-auto",children:s("新会话")}),e.jsxs(ne,{to:V("/settings/profiles"),className:`flex items-center gap-1.5 text-xs text-neutral-500 hover:text-neutral-900 transition-colors ${d?"":"ml-auto"}`,children:[e.jsx(re,{size:14}),e.jsx("span",{children:s("Profiles 设置")})]})]})]}),e.jsx("div",{ref:I,className:"flex-1 overflow-y-auto px-8 py-6",children:d?e.jsx("div",{className:"min-h-[200px]",children:v.length===0?e.jsx("div",{className:"text-neutral-400 text-center py-8",children:s("等待 Agent 响应...")}):e.jsx(oe,{children:e.jsx(xe,{ref:$,logs:v,isOutputActive:K,lastExitAt:q,scrollElementRef:I})})}):e.jsxs("div",{className:"max-w-2xl mx-auto space-y-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("选择 Agent")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:w.map(t=>e.jsxs(y,{variant:i===t.type?"default":"outline",disabled:!t.available,onClick:()=>G(t.type),children:[t.name,t.available&&t.version&&` (${t.version})`,!t.available&&s(" (不可用)")]},t.type))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("配置变体 (Profile Variant)")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:F.map(t=>e.jsx("button",{onClick:()=>A(t),className:`px-3 py-1.5 rounded-full text-sm font-medium border transition-colors ${x===t?"bg-neutral-900 text-white border-neutral-900":"bg-white text-neutral-600 border-neutral-200 hover:border-neutral-400"}`,children:t},t))}),p&&p[x]&&e.jsx("p",{className:"mt-2 text-xs text-neutral-500 font-mono",children:Object.entries(p[x]).map(([t,r])=>`${t}: ${JSON.stringify(r)}`).join(", ")})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("输入任务")}),e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{value:o,onChange:t=>k(t.target.value),rows:4,placeholder:s("描述你想让 Agent 完成的任务..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm"}),e.jsx("div",{className:"flex items-center justify-end px-3 pb-3 pt-1",children:e.jsx(y,{onClick:Z,disabled:l==="starting"||!i||!o.trim(),children:s(l==="starting"?"启动中...":"开始")})})]})]})]})}),d&&T.length>0&&e.jsx("div",{className:"px-8 py-2 bg-white border-t border-neutral-100",children:e.jsx(ce,{todos:T})}),d&&e.jsx("div",{className:"px-8 py-6 border-t border-neutral-100 bg-white",children:e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{ref:m,value:u,onChange:W,rows:3,placeholder:s("发送消息给 Agent..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm scrollbar-thin scrollbar-thumb-neutral-200 scrollbar-track-transparent",style:{minHeight:"80px",maxHeight:"210px"},onKeyDown:t=>{t.key==="Enter"&&!t.shiftKey&&!t.repeat&&!t.nativeEvent.isComposing&&t.nativeEvent.keyCode!==229&&(t.preventDefault(),L())}}),e.jsxs("div",{className:"flex items-center justify-between px-3 pb-3 pt-1 border-t border-transparent",children:[e.jsxs("div",{className:"flex items-center gap-1 text-neutral-400",children:[e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Attach File",children:e.jsx(de,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Mention",children:e.jsx(pe,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Reference Issue",children:e.jsx(ve,{size:18})}),e.jsx("div",{className:"w-px h-4 bg-neutral-200 mx-1"}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Search Web",children:e.jsx(he,{size:18})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[Y&&e.jsxs("button",{onClick:Q,className:"flex items-center gap-2 px-3 py-2 text-xs font-semibold text-red-600 bg-red-50 hover:bg-red-100 rounded-lg transition-colors",children:[e.jsx(ae,{size:12,fill:"currentColor"}),e.jsx("span",{children:s("停止")})]}),e.jsxs("button",{onClick:L,disabled:!u.trim(),className:`flex items-center gap-2 px-3 py-2 text-xs font-semibold rounded-lg transition-all ${u.trim()?"bg-neutral-900 text-white hover:bg-black shadow-sm":"bg-neutral-100 text-neutral-400 cursor-not-allowed"}`,children:[e.jsx("span",{children:s("发送")}),e.jsx(ye,{size:14})]})]})]})]})})]})}export{Pe as AgentDemoPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as e,j as n,S as s,g as i,A as r}from"./index-
|
|
1
|
+
import{u as e,j as n,S as s,g as i,A as r}from"./index-oC5eh7mZ.js";function g(){const{t}=e();return n.jsxs(s,{children:[n.jsx(i,{title:t("Agent 环境"),description:t("检测并安装本机 Agent CLI。安装前会展示官方来源、风险和校验摘要。")}),n.jsx(r,{})]})}export{g as AgentEnvironmentSettingsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as a,j as o,C as g,l as s}from"./index-
|
|
1
|
+
import{r as a,j as o,C as g,l as s}from"./index-oC5eh7mZ.js";import{g as l}from"./mermaid-NOHMQCX5-CGCWmHha.js";function d({agentType:n,className:r,fallbackClassName:i}){const e=l(n),[c,t]=a.useState(!1);return a.useEffect(()=>{t(!1)},[e?.logoSrc]),!e?.logoSrc||c?o.jsx(g,{"aria-hidden":"true",className:s("shrink-0 text-muted-foreground",r,i)}):o.jsx("img",{src:e.logoSrc,alt:"","aria-hidden":"true",className:s("shrink-0 object-contain",r),draggable:!1,onError:()=>t(!0)})}export{d as A};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{k as qe,u as ce,r,j as e,a0 as Oe,l as v,m as Ce,o as H,n as de,q as p,p as V,a7 as ze,Z as Fe,a8 as Ke,V as Qe,W as ye,$ as Ue,a9 as Be,s as _e,aa as ie}from"./index-
|
|
1
|
+
import{k as qe,u as ce,r,j as e,a0 as Oe,l as v,m as Ce,o as H,n as de,q as p,p as V,a7 as ze,Z as Fe,a8 as Ke,V as Qe,W as ye,$ as Ue,a9 as Be,s as _e,aa as ie}from"./index-oC5eh7mZ.js";import{u as $e,b as Ve,A as We,S as D}from"./mermaid-NOHMQCX5-CGCWmHha.js";import{u as Ge,a as He,L as Je,T as Ye,P as Ze}from"./useNormalizedLogs-MsDkcnRQ.js";import{u as Xe,a as et,b as tt,A as st,R as nt,P as rt,T as at,c as ot,B as it,S as lt,d as ke,C as ct}from"./CreateTaskInput-8bLhHYOc.js";import{u as dt}from"./use-providers-B70-BYNu.js";import{M as pe}from"./message-square-B-uYQiTq.js";import{T as ut}from"./trash-2-C0P8jNpJ.js";import"./chevron-right-D52zUyOF.js";import"./chevron-down-BZfpVhYr.js";import"./check-C1zWgxFO.js";import"./AgentLogo-Ntqe3_Mx.js";import"./use-projects-B4w00h5I.js";import"./MemberAvatar-kbJEoyh0.js";const mt=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}],["path",{d:"M14 4h7",key:"3xa0d5"}],["path",{d:"M14 9h7",key:"1icrd9"}],["path",{d:"M14 15h7",key:"1mj8o2"}],["path",{d:"M14 20h7",key:"11slyb"}]],ft=qe("layout-list",mt);function xt({sessionId:t,sessionStatus:n,sessionStartedAt:o,sessionEndedAt:g,agentType:S,runtimeType:j,providerId:u,providers:y,initialTokenUsage:h,onProviderChange:N,onSend:w,onStop:E,onExit:O,isSending:I=!1,isStopping:a=!1,canStop:m,className:ue}){const{t:f}=ce(),[A,z]=r.useState(""),[F,K]=r.useState(u??""),[C,W]=r.useState(!1),[J,Y]=r.useState(null),P=r.useRef(null),Z=r.useRef(null),me=r.useRef(null),M=r.useRef(!1),{scrollRef:Q,contentRef:X,isAtBottom:i,scrollToBottom:T,stopScroll:fe}=Xe({initial:"instant",resize:"smooth"}),{isConnected:U,isLoadingSnapshot:ee,isOutputActive:B,lastExitAt:xe,logs:k,entries:te,attach:_}=Ge({sessionId:t,sessionStatus:n,sessionStartedAt:o,sessionEndedAt:g,onExit:O}),{todos:G}=He(te),he=et(k,h),{files:se,addFiles:L,removeFile:ne,clear:re,buildMarkdownLinks:ae,getDoneAttachments:oe,hasFiles:R,isUploading:s}=$e(),{isActive:l,isCancelling:c}=tt(t,n),x=m??l;r.useEffect(()=>{K(u??"")},[u]),r.useEffect(()=>{t&&U&&_()},[t,U,_]);const Ae=r.useCallback(d=>{K(d),N?.(d)},[N]),ge=r.useCallback(()=>{P.current&&(P.current.style.height="60px")},[]),De=r.useCallback(d=>{z(d.target.value);const b=d.target;b.style.height="auto",b.style.height=`${Math.max(60,Math.min(b.scrollHeight,300))}px`},[]),be=r.useCallback(async()=>{if(!A.trim()&&!R||M.current||I||a||c||s)return;M.current=!0;const d=ae(),b=oe().map(q=>q.id),$=[A.trim(),d].filter(Boolean).join(`
|
|
2
2
|
|
|
3
3
|
`);z(""),re(),ge(),Y(null);try{await w({message:$,providerId:F||void 0,attachmentIds:b}),await _(),requestAnimationFrame(()=>T("smooth"))}catch(q){Y(q instanceof Error?q.message:f("Send failed. Please try again.")),z($)}finally{M.current=!1}},[A,R,I,a,c,s,ae,oe,re,ge,w,F,_,T,f]),Ee=r.useCallback(async()=>{!x||a||c||await E()},[x,a,c,E]),Te=r.useCallback(d=>{const b=d.target.files;b&&b.length>0&&L(Array.from(b)),d.target.value=""},[L]),Le=r.useCallback(d=>{const b=d.clipboardData.items,$=[];for(const q of b)if(q.kind==="file"){const ve=q.getAsFile();ve&&$.push(ve)}$.length>0&&(d.preventDefault(),L($))},[L]),Pe=r.useCallback(d=>{d.preventDefault(),W(!0)},[]),Me=r.useCallback(d=>{d.preventDefault(),W(!1)},[]),Re=r.useCallback(d=>{d.preventDefault(),W(!1);const b=d.dataTransfer.files;b.length>0&&L(Array.from(b))},[L]);return e.jsxs("div",{className:v("relative flex min-h-0 flex-1 flex-col bg-background",ue),children:[e.jsxs("div",{className:"relative min-h-0 flex-1",children:[e.jsx("div",{ref:Q,className:"h-full overflow-y-auto scrollbar-app-thin px-6 pb-4 pt-6",children:e.jsx("div",{ref:X,className:"mx-auto w-full min-w-0 max-w-4xl",children:ee?e.jsxs("div",{className:"flex items-center justify-center gap-3 py-12 text-muted-foreground/70",children:[e.jsxs("svg",{className:"h-5 w-5 animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[e.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),e.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),e.jsx("span",{className:"text-sm",children:f("Loading logs...")})]}):k.length===0?e.jsx("div",{className:"py-8 text-center text-muted-foreground/70",children:f(l?"Waiting for agent output...":"No logs recorded for this session.")}):e.jsx(Je,{children:e.jsx(Ve,{logs:k,downloadSessionId:t,isOutputActive:B,lastExitAt:xe,onUserToggleDetails:fe,scrollElementRef:Q})})})}),!i&&e.jsxs("button",{type:"button",onClick:()=>T(),className:"absolute bottom-3 left-1/2 z-10 flex -translate-x-1/2 items-center gap-1.5 rounded-full border border-border bg-background/90 px-3 py-1.5 text-xs text-muted-foreground shadow-md backdrop-blur-sm transition-all hover:bg-background hover:text-foreground","aria-label":f("Scroll to bottom"),children:[e.jsx(st,{size:14}),e.jsx("span",{children:f("Back to bottom")})]})]}),G.length>0&&e.jsx("div",{className:"shrink-0 border-t border-border/60 bg-background px-6 pb-1 pt-2",children:e.jsx("div",{className:"mx-auto max-w-4xl",children:e.jsx(Ye,{todos:G})})}),e.jsx("div",{className:"z-10 w-full shrink-0 border-t border-transparent bg-background p-6 pb-6 pt-2",onDragOver:Pe,onDragLeave:Me,onDrop:Re,children:e.jsxs("div",{className:"mx-auto max-w-4xl",children:[e.jsx(nt,{sessionId:t}),J?e.jsx("div",{className:"mb-2 text-sm text-destructive",children:J}):null,e.jsxs("div",{ref:me,className:v("relative rounded-xl border bg-background transition-colors duration-200 hover:border-ring/40 focus-within:border-ring/60",C?"border-info bg-info/5":"border-border"),children:[e.jsx(We,{files:se,onRemove:ne}),e.jsx("textarea",{ref:P,value:A,onChange:De,onPaste:Le,onKeyDown:d=>{d.key==="Enter"&&!d.shiftKey&&!d.repeat&&!d.nativeEvent.isComposing&&d.nativeEvent.keyCode!==229&&(d.preventDefault(),be())},rows:1,placeholder:f(C?"Drop files here...":t&&!l?"Continue conversation...":"Message Agent..."),className:"w-full resize-none border-none bg-transparent px-4 pb-2 pt-4 text-sm leading-relaxed text-foreground placeholder-muted-foreground/70 focus:outline-none",style:{minHeight:"60px",maxHeight:"300px"}}),e.jsx("input",{ref:Z,type:"file",multiple:!0,className:"hidden",onChange:Te}),e.jsxs("div",{className:"flex items-center justify-between px-2 pb-2 pt-1",children:[e.jsx("div",{className:"flex items-center gap-1",children:e.jsx("button",{type:"button",onClick:()=>Z.current?.click(),disabled:s,className:"rounded-lg p-2 text-muted-foreground/70 transition-colors hover:bg-muted hover:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",title:f("Upload file"),children:e.jsx(Ze,{size:18})})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(rt,{providers:y,currentProviderId:F,agentType:S,runtimeType:j,onSelect:Ae}),e.jsx(at,{usage:he}),x&&l&&!A.trim()&&!R?e.jsx("button",{type:"button",onClick:Ee,disabled:a||c,className:"rounded-lg bg-destructive p-2 text-white transition-all duration-200 hover:bg-destructive/90 disabled:opacity-50",title:f("Stop"),children:e.jsx(Oe,{size:14})}):e.jsx("button",{type:"button",onClick:be,disabled:!A.trim()&&!R||s||I||a||c,className:v("rounded-lg p-2 transition-all duration-200",(A.trim()||R)&&!s&&!I&&!a&&!c?"bg-primary text-primary-foreground hover:bg-primary/90":"cursor-not-allowed bg-transparent text-muted-foreground/50"),title:f("Send"),children:e.jsx(ot,{size:18})})]})]})]})]})})]})}function ht(t=50){return Ce({queryKey:p.conversations.list({limit:t}),queryFn:()=>V.get("/conversations",{params:{limit:String(t)}})})}function pt(t){return Ce({queryKey:p.conversations.detail(t??""),queryFn:()=>V.get(`/conversations/${t}`),enabled:!!t})}function gt(){const t=H();return de({mutationFn:n=>V.post("/conversations",n),onSuccess:n=>{t.setQueryData(p.conversations.detail(n.id),n),t.invalidateQueries({queryKey:p.conversations.all}),t.invalidateQueries({queryKey:p.sessions.detail(n.sessionId)})}})}function bt(){const t=H();return de({mutationFn:({id:n,...o})=>V.post(`/conversations/${n}/message`,o),onSuccess:n=>{t.setQueryData(p.conversations.detail(n.id),n),t.invalidateQueries({queryKey:p.conversations.all}),t.invalidateQueries({queryKey:p.sessions.detail(n.sessionId)})}})}function vt(){const t=H();return de({mutationFn:n=>V.post(`/conversations/${n}/stop`),onSuccess:n=>{t.setQueryData(p.conversations.detail(n.id),n),t.invalidateQueries({queryKey:p.conversations.all}),t.invalidateQueries({queryKey:p.sessions.detail(n.sessionId)})}})}function yt(){const t=H();return de({mutationFn:n=>V.delete(`/conversations/${n}`),onSuccess:(n,o)=>{t.removeQueries({queryKey:p.conversations.detail(o)}),t.invalidateQueries({queryKey:p.conversations.all})}})}const jt=3e4,Se="agent-tower:conversation-read-times";function Nt(){try{const t=window.localStorage.getItem(Se);if(!t)return{};const n=JSON.parse(t);return!n||typeof n!="object"||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).map(([o,g])=>[o,typeof g=="number"?g:Number(g)]).filter(o=>Number.isFinite(o[1])))}catch{return{}}}function je(t){try{window.localStorage.setItem(Se,JSON.stringify(t))}catch{}}function Ne(t){const n=t.lastActiveAt??t.updatedAt??t.createdAt;if(!n)return 0;const o=new Date(n).getTime();return Number.isFinite(o)?o:0}function wt(t=jt){const[,n]=r.useState(0);r.useEffect(()=>{const o=setInterval(()=>n(g=>g+1),t);return()=>clearInterval(o)},[t])}function le(t){return t===D.RUNNING||t===D.PENDING}function Ie(t){if(!t)return"";const n=new Date(t);if(Number.isNaN(n.getTime()))return"";const o=Math.max(0,Math.floor((Date.now()-n.getTime())/1e3));return o<60?ie("{count}s ago",{count:o}):o<3600?ie("{count}m ago",{count:Math.floor(o/60)}):o<86400?ie("{count}h ago",{count:Math.floor(o/3600)}):ie("{count}d ago",{count:Math.floor(o/86400)})}function Ct(t,n){switch(t){case D.RUNNING:return n("Running");case D.PENDING:return n("Starting");case D.COMPLETED:return n("Completed");case D.FAILED:return n("Failed");case D.CANCELLED:return n("Stopped");default:return t}}function we({className:t,pulseClassName:n}){return e.jsxs("span",{className:"relative inline-flex h-2 w-2",children:[e.jsx("span",{className:v("absolute inline-flex h-full w-full animate-ping rounded-full",n)}),e.jsx("span",{className:v("relative inline-flex h-2 w-2 rounded-full",t)})]})}function kt({status:t,unread:n}){return le(t)?e.jsx(we,{className:"bg-success",pulseClassName:"bg-success/70"}):n?e.jsx(we,{className:"bg-warning",pulseClassName:"bg-warning/70"}):null}function St({conversation:t,selected:n,onSelect:o,onDelete:g,disabled:S,unread:j}){const{t:u}=ce(),y=Ie(t.lastActiveAt??t.createdAt),h=le(t.status)||j;return e.jsxs("div",{className:v("group ml-4 mr-2 flex items-center rounded-md transition-colors",n?"bg-accent":"hover:bg-accent/50"),children:[e.jsxs("button",{type:"button",onClick:o,title:t.title,className:"flex min-w-0 flex-1 animate-task-enter items-center gap-2.5 rounded-md px-2 py-2 text-left text-sm",children:[e.jsx("span",{className:"flex h-3.5 w-3.5 shrink-0 items-center justify-center",children:e.jsx(pe,{size:14,className:"text-muted-foreground"})}),e.jsx("span",{className:v("min-w-0 flex-1 truncate",n?"font-medium text-foreground":"text-foreground/90"),children:t.title}),h?e.jsx("span",{className:"flex h-3.5 w-3.5 shrink-0 items-center justify-center",children:e.jsx(kt,{status:t.status,unread:j})}):e.jsx("span",{className:"flex w-14 shrink-0 items-center justify-end text-[11px] tabular-nums text-muted-foreground/50",children:e.jsx("span",{className:"truncate group-hover:hidden",children:y})})]}),e.jsx("button",{type:"button",onClick:N=>{N.stopPropagation(),g()},disabled:S,className:"mr-1 hidden shrink-0 rounded-md p-1.5 text-muted-foreground hover:bg-background hover:text-destructive disabled:opacity-50 group-hover:flex",title:u("Delete"),children:e.jsx(ut,{size:14})})]})}function It({isOpen:t,conversations:n,onClose:o,onSelectConversation:g}){const{t:S}=ce(),[j,u]=r.useState(""),[y,h]=r.useState(0),N=r.useRef(null);r.useEffect(()=>{t&&(u(""),h(0))},[t]);const w=r.useMemo(()=>{const a=j.trim().toLowerCase();return a?n.filter(m=>m.title.toLowerCase().includes(a)).slice(0,50):n.slice(0,12)},[n,j]);r.useEffect(()=>{h(0)},[j]),r.useEffect(()=>{N.current?.children[y]?.scrollIntoView({block:"nearest"})},[y]);const E=r.useCallback(a=>{g(a),o()},[o,g]),O=r.useCallback(a=>{if(a.key==="Escape"){a.preventDefault(),o();return}if(a.key==="ArrowDown"){a.preventDefault(),h(m=>Math.min(m+1,w.length-1));return}if(a.key==="ArrowUp"){a.preventDefault(),h(m=>Math.max(m-1,0));return}if(a.key==="Enter"&&!a.nativeEvent.isComposing){a.preventDefault();const m=w[y];m&&E(m)}},[y,E,o,w]);if(!t)return null;const I=j.trim().length>0;return e.jsxs("div",{className:"fixed inset-0 z-90",role:"dialog","aria-modal":"true",children:[e.jsx("div",{className:"absolute inset-0 bg-black/20",onClick:o}),e.jsxs("div",{className:"absolute left-1/2 top-[18vh] w-[min(560px,calc(100vw-2rem))] -translate-x-1/2 overflow-hidden rounded-xl border border-border bg-popover shadow-lg animate-in fade-in zoom-in-95 duration-100",children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/60 px-4",children:[e.jsx(ke,{size:15,className:"shrink-0 text-muted-foreground/70"}),e.jsx("input",{value:j,onChange:a=>u(a.target.value),onKeyDown:O,placeholder:S("Search conversations..."),"aria-label":S("Search conversations..."),autoFocus:!0,className:"flex-1 border-none bg-transparent py-3 text-sm text-foreground placeholder-muted-foreground/60 focus:outline-none"})]}),w.length>0?e.jsxs(e.Fragment,{children:[I?null:e.jsx("div",{className:"px-4 pb-1 pt-2.5 text-[11px] font-medium text-muted-foreground/70",children:S("Recent conversations")}),e.jsx("div",{ref:N,className:"max-h-[46vh] overflow-y-auto pb-1.5 pt-0.5 scrollbar-app-thin",children:w.map((a,m)=>e.jsxs("button",{type:"button",onClick:()=>E(a),onMouseEnter:()=>h(m),className:v("flex w-full items-center gap-2.5 px-4 py-2 text-left transition-colors",m===y&&"bg-accent"),children:[e.jsx(pe,{size:14,className:"shrink-0 text-muted-foreground"}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-foreground/90",title:a.title,children:a.title}),e.jsx("span",{className:"shrink-0 text-xs tabular-nums text-muted-foreground/60",children:Ie(a.lastActiveAt??a.createdAt)})]},a.id))})]}):e.jsx("div",{className:"px-4 py-8 text-center text-sm text-muted-foreground/70",children:S("No matching conversations")})]})]})}function Qt(){const{t}=ce();wt();const n=ze(),{usesIntegratedTitlebar:o,desktopPlatform:g,hasMacTrafficLights:S}=Fe(),j=o&&g==="win32",{conversationId:u}=Ke(),y=H(),[h,N]=r.useState(""),[w,E]=r.useState("idle"),[O,I]=r.useState(null),[a,m]=r.useState(!1),[ue,f]=r.useState(!1),[A,z]=r.useState(Nt),[F,K]=r.useState(()=>new Set),{data:C=[],isLoading:W}=ht(),{data:J,isLoading:Y}=pt(u),{data:P=[],isLoading:Z}=dt(),me=gt(),M=bt(),Q=vt(),X=yt(),i=J??C.find(s=>s.id===u)??null,T=r.useMemo(()=>P.filter(({availability:s})=>s.type!=="NOT_FOUND"),[P]),fe=T.map(({provider:s})=>({id:s.id,name:s.name,agentType:s.agentType,available:!0})),U=!!u,ee=U||a,B=r.useCallback(s=>{y.invalidateQueries({queryKey:p.conversations.all}),s&&y.invalidateQueries({queryKey:p.conversations.detail(s)})},[y]),xe=r.useCallback(()=>{B(u)},[u,B]),k=r.useCallback(s=>{if(K(c=>{if(!c.has(s.id))return c;const x=new Set(c);return x.delete(s.id),x}),s.status!==D.COMPLETED)return;const l=Math.max(Date.now(),Ne(s));z(c=>{if(c[s.id]&&c[s.id]>=l)return c;const x={...c,[s.id]:l};return je(x),x})},[]),te=r.useCallback(s=>{K(l=>{if(l.has(s))return l;const c=new Set(l);return c.add(s),c})},[]),_=r.useCallback(s=>{K(l=>{if(!l.has(s))return l;const c=new Set(l);return c.delete(s),c}),z(l=>{if(!(s in l))return l;const c={...l};return delete c[s],je(c),c})},[]),G=r.useMemo(()=>{const s=new Map;for(const l of C)s.set(l.sessionId,l);return i&&s.set(i.sessionId,i),s},[i,C]),he=r.useCallback(s=>s.status!==D.COMPLETED?!1:F.has(s.id)?!0:Ne(s)>(A[s.id]??0),[A,F]);r.useEffect(()=>{!h&&T.length>0&&N(T[0].provider.id)},[T,h]),r.useEffect(()=>{i?.providerId&&N(i.providerId)},[i?.providerId]),r.useEffect(()=>{u&&m(!1)},[u]),r.useEffect(()=>{i&&k(i)},[i,k]),r.useEffect(()=>{const s=Qe.connect(),l=c=>{const x=G.get(c.sessionId);if(x){if(B(x.id),c.status!==D.COMPLETED){k(x);return}if(x.id===u){k(x);return}te(x.id)}};return s.on(ye.SESSION_COMPLETED,l),()=>{s.off(ye.SESSION_COMPLETED,l)}},[u,G,B,k,te]);const se=()=>{I(null),m(!0),n("/conversations")},L=()=>{m(!1),n("/conversations")},ne=r.useCallback(s=>{k(s),m(!1),n(`/conversations/${s.id}`)},[k,n]),re=async s=>{if(!(!s.providerId||!s.title.trim()||w!=="idle")){E("starting-session"),I(null);try{const l=await me.mutateAsync({prompt:s.title.trim(),providerId:s.providerId,attachmentIds:s.attachmentIds});N(s.providerId),m(!1),n(`/conversations/${l.id}`)}catch(l){I(l instanceof Error?l.message:t("Failed to start. Please try again."))}finally{E("idle")}}},ae=async s=>{!i||!s.message.trim()||M.isPending||await M.mutateAsync({id:i.id,message:s.message,providerId:s.providerId||h||void 0,attachmentIds:s.attachmentIds})},oe=async()=>{!i||!le(i.status)||Q.isPending||await Q.mutateAsync(i.id)},R=async s=>{window.confirm(t("Delete this conversation?"))&&(await X.mutateAsync(s),_(s),u===s&&(m(!1),n("/conversations")))};return e.jsxs("div",{className:"flex h-dvh flex-col overflow-hidden bg-sidebar text-sm text-foreground",children:[e.jsxs("header",{className:v("flex h-12 shrink-0 items-center justify-between bg-sidebar px-4",o&&"app-region-drag",j&&"pr-[150px]"),children:[e.jsxs("div",{className:v("flex min-w-0 items-center gap-2",S&&"pl-[72px]"),children:[e.jsx(it,{}),e.jsx("span",{className:"mx-1.5 select-none text-muted-foreground/40",children:"/"}),e.jsx("span",{className:"truncate text-sm font-medium text-foreground/90",children:t("Conversation")})]}),e.jsx("button",{type:"button",onClick:()=>Be.getState().openSettings(),className:v("rounded-md p-1.5 text-muted-foreground/70 transition-colors hover:bg-accent hover:text-foreground",o&&"app-region-no-drag"),title:t("Settings"),children:e.jsx(Ue,{size:16})})]}),e.jsxs("div",{className:"flex min-h-0 flex-1 overflow-hidden",children:[e.jsxs("aside",{className:v("h-full w-full shrink-0 flex-col bg-sidebar md:flex md:w-[320px]",ee?"hidden md:flex":"flex"),children:[e.jsxs("div",{className:"shrink-0 px-2 pb-1 pt-2",children:[e.jsxs("button",{type:"button",onClick:se,className:v("flex w-full items-center gap-2.5 rounded-md px-2 py-2 text-sm transition-colors",a?"bg-accent text-foreground":"text-foreground/80 hover:bg-accent/50"),title:t("New Conversation"),children:[e.jsx(lt,{size:16,className:"text-muted-foreground"}),e.jsx("span",{children:t("New Conversation")})]}),e.jsxs("button",{type:"button",onClick:()=>n("/"),className:"flex w-full items-center gap-2.5 rounded-md px-2 py-2 text-sm text-foreground/80 transition-colors hover:bg-accent/50",title:t("Tasks"),children:[e.jsx(ft,{size:16,className:"text-muted-foreground"}),e.jsx("span",{children:t("Tasks")})]}),e.jsxs("button",{type:"button",onClick:()=>f(!0),className:"flex w-full items-center gap-2.5 rounded-md px-2 py-2 text-sm text-foreground/80 transition-colors hover:bg-accent/50",title:t("Search"),children:[e.jsx(ke,{size:16,className:"text-muted-foreground"}),e.jsx("span",{children:t("Search")})]})]}),e.jsx("div",{className:"relative min-h-0 flex-1 overflow-y-auto scrollbar-app-thin pb-4 pt-3",children:W?e.jsx("div",{className:"px-4 py-4 text-sm text-muted-foreground",children:t("Loading...")}):C.length===0?e.jsxs("div",{className:"flex h-full select-none flex-col items-center justify-center px-6 text-center",children:[e.jsx(pe,{size:36,className:"mb-3 text-muted-foreground/40",strokeWidth:1.5}),e.jsx("p",{className:"mb-4 text-sm text-muted-foreground",children:t("No conversations")}),e.jsx("button",{type:"button",onClick:se,className:"rounded-md bg-brand px-3.5 py-1.5 text-xs font-medium text-brand-foreground transition-colors hover:bg-brand/90",children:t("New Conversation")})]}):e.jsxs("div",{className:"mb-2",children:[e.jsxs("div",{className:"flex w-full items-center gap-1.5 px-4 py-1.5 text-xs font-medium text-muted-foreground",children:[e.jsx("span",{className:"flex-1 text-left",children:t("History")}),e.jsx("span",{className:"text-[11px] font-normal tabular-nums text-muted-foreground/50",children:C.length})]}),e.jsx("div",{className:"mt-0.5 flex min-h-[40px] flex-col rounded-md",children:C.map(s=>e.jsx(St,{conversation:s,selected:s.id===u,disabled:X.isPending,unread:s.id!==u&&he(s),onSelect:()=>ne(s),onDelete:()=>R(s.id)},s.id))})]})}),e.jsx("div",{className:"flex items-center justify-between border-t border-border/60 px-4 py-3 text-xs text-muted-foreground/70",children:e.jsxs("span",{children:[t("Conversations")," · ",C.length]})})]}),e.jsxs("main",{className:v("min-w-0 flex-1 flex-col bg-background md:mb-2 md:mr-2 md:overflow-hidden md:rounded-xl md:border md:border-border/50",ee?"flex":"hidden md:flex"),children:[e.jsx("header",{className:"flex h-12 shrink-0 items-center justify-between border-b border-border/60 px-4 md:px-5",children:e.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[U||a?e.jsx("button",{type:"button",className:"rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground md:hidden",onClick:L,title:t("Back"),children:e.jsx(_e,{size:17})}):null,e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"truncate text-sm font-semibold",children:i?.title??t("New Conversation")}),i?e.jsxs("div",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:[Ct(i.status,t),i.directoryName?` · ${i.directoryName}`:""]}):null]})]})}),!i&&U?e.jsx("div",{className:"flex min-h-0 flex-1 items-center justify-center px-4 text-sm text-muted-foreground",children:t(Y?"Loading...":"Conversation not found")}):i?e.jsx(xt,{sessionId:i.sessionId,sessionStatus:i.status,sessionStartedAt:i.createdAt,sessionEndedAt:le(i.status)?null:i.lastActiveAt??i.updatedAt,agentType:i.agentType,runtimeType:i.runtimeType,providerId:h||i.providerId,providers:P,initialTokenUsage:i.tokenUsage,onProviderChange:N,onSend:ae,onStop:oe,onExit:xe,isSending:M.isPending,isStopping:Q.isPending}):e.jsx("div",{className:"flex min-h-0 flex-1 items-center justify-center overflow-y-auto px-4 pb-[10vh] md:px-8",children:e.jsxs("div",{className:"w-full max-w-2xl animate-[fadeInUp_0.5s_cubic-bezier(0.16,1,0.3,1)]",children:[e.jsx("h1",{className:"mb-8 max-w-full break-words text-center text-3xl leading-tight tracking-tight text-foreground",children:t("需要我帮你做点什么?")}),e.jsx(ct,{variant:"conversation",projects:[],providers:fe,isProvidersLoading:Z,defaultProviderId:h,createStep:w,placeholder:"Ask a question...",submitLabel:"Start",pendingLabel:"Starting...",submitTitle:"Start",onSubmit:async({title:s,providerId:l,attachmentIds:c})=>{await re({title:s,providerId:l,attachmentIds:c})}}),O?e.jsx("div",{className:"mt-3 rounded-lg border border-destructive/15 bg-destructive/5 px-3 py-2 text-sm text-destructive",children:O}):null]})})]})]}),e.jsx(It,{isOpen:ue,conversations:C,onClose:()=>f(!1),onSelectConversation:ne})]})}export{Qt as ConversationPage};
|