agent-tower 0.4.8 → 0.4.9

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 (36) hide show
  1. package/dist/git/git-cli.d.ts.map +1 -1
  2. package/dist/git/git-cli.js +7 -4
  3. package/dist/git/git-cli.js.map +1 -1
  4. package/dist/routes/git.d.ts.map +1 -1
  5. package/dist/routes/git.js +8 -2
  6. package/dist/routes/git.js.map +1 -1
  7. package/dist/routes/system.d.ts.map +1 -1
  8. package/dist/routes/system.js +2 -0
  9. package/dist/routes/system.js.map +1 -1
  10. package/dist/web/assets/{AgentDemoPage-B4p6JOaa.js → AgentDemoPage-CB48v8IV.js} +1 -1
  11. package/dist/web/assets/{DemoPage-a61F8WUp.js → DemoPage-_dT9rdpV.js} +1 -1
  12. package/dist/web/assets/{GeneralSettingsPage-CQmEjFi8.js → GeneralSettingsPage-DtD_oirE.js} +1 -1
  13. package/dist/web/assets/{NotificationSettingsPage-BRw2fFTj.js → NotificationSettingsPage-DQqz8xJs.js} +1 -1
  14. package/dist/web/assets/{ProfileSettingsPage-D-zyXwz1.js → ProfileSettingsPage-BaFNyfse.js} +1 -1
  15. package/dist/web/assets/{ProjectKanbanPage-DSO5OEi0.js → ProjectKanbanPage-DNCKy0g4.js} +22 -22
  16. package/dist/web/assets/{ProjectSettingsPage-CKb-5dhB.js → ProjectSettingsPage-Cv6VpL1g.js} +1 -1
  17. package/dist/web/assets/{ProviderSettingsPage-dGoaMV8Q.js → ProviderSettingsPage-BqmSJV2I.js} +1 -1
  18. package/dist/web/assets/{button-yc8E-9mL.js → button-Cg3N0RX4.js} +1 -1
  19. package/dist/web/assets/{chevron-down-CgN79gJE.js → chevron-down-BZ2n6wh3.js} +1 -1
  20. package/dist/web/assets/{chevron-right-DlWP8lVM.js → chevron-right-BrrhT2ph.js} +1 -1
  21. package/dist/web/assets/{circle-alert-CgMmay1J.js → circle-alert-a6g1jQyL.js} +1 -1
  22. package/dist/web/assets/{circle-check-CSmMKb6_.js → circle-check-CQEg-cq1.js} +1 -1
  23. package/dist/web/assets/{code-block-OCS4YCEC-DiXG3CzW.js → code-block-OCS4YCEC-C72vBOSD.js} +1 -1
  24. package/dist/web/assets/{confirm-dialog-Q8BsN1Up.js → confirm-dialog-DmuQeQ0J.js} +1 -1
  25. package/dist/web/assets/{folder-picker-C45cXliN.js → folder-picker-Dl5GZRtL.js} +1 -1
  26. package/dist/web/assets/{index-DK-vt3Cl.js → index-D3_Vq2xm.js} +2 -2
  27. package/dist/web/assets/{loader-circle-DYUWI5Dr.js → loader-circle-DRKF9OZx.js} +1 -1
  28. package/dist/web/assets/{mermaid-NOHMQCX5-C5mvGqWa.js → mermaid-NOHMQCX5-DyQsSSRd.js} +3 -3
  29. package/dist/web/assets/{modal-BgEFLccc.js → modal-wSbeXj_V.js} +1 -1
  30. package/dist/web/assets/{pencil-CjaX70qm.js → pencil-CT2HBX6f.js} +1 -1
  31. package/dist/web/assets/{rotate-ccw-CDDSxb2s.js → rotate-ccw-DkZPjdAj.js} +1 -1
  32. package/dist/web/assets/{select-DKQPvWiV.js → select-BRJQTh28.js} +1 -1
  33. package/dist/web/assets/{use-profiles-Brdh89vT.js → use-profiles-zSSuAJaA.js} +1 -1
  34. package/dist/web/assets/{use-providers-Es21U-kq.js → use-providers-BfLpM8PB.js} +1 -1
  35. package/dist/web/index.html +1 -1
  36. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"git-cli.d.ts","sourceRoot":"","sources":["../../src/git/git-cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMjD,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,MAAM,CAAC;gBAED,OAAO,EAAE,MAAM,EAAE,IAAI,SAAc;CAKhD;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,iBAAkB,SAAQ,QAAQ;gBACjC,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,sBAAuB,SAAQ,QAAQ;gBACtC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAOhD;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,YAAY,EAAE,MAAM;CAOjC;AAED,qBAAa,kBAAmB,SAAQ,QAAQ;gBAClC,YAAY,EAAE,MAAM;CAOjC;AAED,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;gBAEX,eAAe,EAAE,MAAM,EAAE,EAAE,UAAU,GAAE,UAA6B;CAUjF;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;;CAKlD;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;gBAEH,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CASlF;AAID;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAWxD;AAID;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAgDnF"}
1
+ {"version":3,"file":"git-cli.d.ts","sourceRoot":"","sources":["../../src/git/git-cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAQjD,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,MAAM,CAAC;gBAED,OAAO,EAAE,MAAM,EAAE,IAAI,SAAc;CAKhD;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,iBAAkB,SAAQ,QAAQ;gBACjC,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,sBAAuB,SAAQ,QAAQ;gBACtC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAOhD;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,YAAY,EAAE,MAAM;CAOjC;AAED,qBAAa,kBAAmB,SAAQ,QAAQ;gBAClC,YAAY,EAAE,MAAM;CAOjC;AAED,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;gBAEX,eAAe,EAAE,MAAM,EAAE,EAAE,UAAU,GAAE,UAA6B;CAUjF;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;;CAKlD;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;gBAEH,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CASlF;AAID;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAYxD;AAID;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAgDnF"}
@@ -2,6 +2,7 @@ import { execFile } from 'child_process';
2
2
  import { promisify } from 'util';
3
3
  import { ConflictOp } from '@agent-tower/shared';
4
4
  const execFileAsync = promisify(execFile);
5
+ const IS_WINDOWS = process.platform === 'win32';
5
6
  // ─── Custom Error Types ───────────────────────────────────────────────────────
6
7
  export class GitError extends Error {
7
8
  code;
@@ -82,14 +83,15 @@ export async function execGit(repoPath, args, options) {
82
83
  cwd: repoPath,
83
84
  maxBuffer: 10 * 1024 * 1024, // 10 MB
84
85
  timeout: options?.timeout ?? 30_000,
85
- shell: process.platform === 'win32',
86
+ encoding: 'utf-8',
87
+ ...(IS_WINDOWS ? { shell: true } : {}),
86
88
  });
87
89
  return stdout;
88
90
  }
89
91
  catch (err) {
90
92
  const error = err;
91
- const detail = error.stderr || error.stdout || error.message || 'Unknown git error';
92
- throw new GitError(`git ${args.join(' ')} failed: ${detail.trim()}`, typeof error.code === 'string' ? error.code : 'GIT_EXEC_ERROR');
93
+ const stderr = error.stderr ?? error.message ?? 'Unknown git error';
94
+ throw new GitError(`git ${args.join(' ')} failed: ${stderr.trim()}`, typeof error.code === 'string' ? error.code : 'GIT_EXEC_ERROR');
93
95
  }
94
96
  }
95
97
  /**
@@ -98,7 +100,8 @@ export async function execGit(repoPath, args, options) {
98
100
  export async function ensureGitAvailable() {
99
101
  try {
100
102
  await execFileAsync('git', ['--version'], {
101
- shell: process.platform === 'win32',
103
+ encoding: 'utf-8',
104
+ ...(IS_WINDOWS ? { shell: true } : {}),
102
105
  });
103
106
  }
104
107
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"git-cli.js","sourceRoot":"","sources":["../../src/git/git-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-cli.js","sourceRoot":"","sources":["../../src/git/git-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAEhD,iFAAiF;AAEjF,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,IAAI,CAAS;IAEb,YAAY,OAAe,EAAE,IAAI,GAAG,WAAW;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,UAAkB;QAC5B,KAAK,CAAC,WAAW,UAAU,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,QAAQ;IAC7C,YAAY,UAAkB;QAC5B,KAAK,CAAC,WAAW,UAAU,kBAAkB,EAAE,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,QAAQ;IAClD,YAAY,UAAkB,EAAE,MAAe;QAC7C,MAAM,GAAG,GAAG,MAAM;YAChB,CAAC,CAAC,wBAAwB,UAAU,MAAM,MAAM,EAAE;YAClD,CAAC,CAAC,wBAAwB,UAAU,GAAG,CAAC;QAC1C,KAAK,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,YAAoB;QAC9B,KAAK,CACH,0BAA0B,YAAY,GAAG,EACzC,oBAAoB,CACrB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IAC9C,YAAY,YAAoB;QAC9B,KAAK,CACH,gBAAgB,YAAY,2BAA2B,EACvD,gBAAgB,CACjB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IAC9C,eAAe,CAAW;IAC1B,UAAU,CAAa;IAEvB,YAAY,eAAyB,EAAE,aAAyB,UAAU,CAAC,KAAK;QAC9E,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,KAAK,CACH,4BAA4B,QAAQ,EAAE,EACtC,gBAAgB,CACjB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD;QACE,KAAK,CAAC,yDAAyD,EAAE,oBAAoB,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,KAAK,CAAS;IACd,MAAM,CAAS;IAEf,YAAY,UAAkB,EAAE,UAAkB,EAAE,KAAa,EAAE,MAAc;QAC/E,KAAK,CACH,WAAW,UAAU,wBAAwB,UAAU,aAAa,KAAK,aAAa,MAAM,qCAAqC,EACjI,mBAAmB,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,iFAAiF;AAEjF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,QAAgB,EAChB,IAAc,EACd,OAA8B;IAE9B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;YAClD,GAAG,EAAE,QAAQ;YACb,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,QAAQ;YACrC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,MAAM;YACnC,QAAQ,EAAE,OAAO;YACjB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,GAAoE,CAAC;QACnF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,mBAAmB,CAAC;QACpE,MAAM,IAAI,QAAQ,CAChB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,EAAE,EAAE,EAChD,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAC/D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE;YACxC,QAAQ,EAAE,OAAO;YACjB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAChB,2CAA2C,EAC3C,mBAAmB,CACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC;IACtE,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;IACrE,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;IACrE,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;IACzE,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,0CAA0C,EAAE,CAAC;IAC9E,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC;IACvE,CAAC;IAED,6DAA6D;IAC7D,4CAA4C;IAC5C,MAAM,YAAY,GAAG,4BAA4B,CAAC;IAClD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;IAC7E,CAAC;IAED,yDAAyD;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,IAAI,yBAAyB,EAAE,CAAC;QACpF,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,wEAAwE,EAAE,CAAC;QAC5G,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/routes/git.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAsH/C,wBAAsB,SAAS,CAAC,GAAG,EAAE,eAAe,iBAyMnD"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/routes/git.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA4H/C,wBAAsB,SAAS,CAAC,GAAG,EAAE,eAAe,iBAyMnD"}
@@ -13,10 +13,16 @@ function handleError(error, reply) {
13
13
  }
14
14
  /** execFile promisified with timeout */
15
15
  function execGit(cwd, args) {
16
+ const isWindows = process.platform === 'win32';
16
17
  return new Promise((resolve, reject) => {
17
- execFile('git', args, { cwd, timeout: 10_000, maxBuffer: 10 * 1024 * 1024 }, (err, stdout) => {
18
+ execFile('git', args, {
19
+ cwd,
20
+ timeout: 10_000,
21
+ maxBuffer: 10 * 1024 * 1024,
22
+ encoding: 'utf-8',
23
+ ...(isWindows ? { shell: true } : {}),
24
+ }, (err, stdout) => {
18
25
  if (err) {
19
- // git diff returns exit code 1 when there are differences — that's fine
20
26
  if (stdout !== undefined && stdout !== '') {
21
27
  resolve(stdout);
22
28
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/routes/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/routes/git.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/routes/system.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQ/C,gEAAgE;AAChE,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAyBrG;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,eAAe,iBAsEtD"}
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/routes/system.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQ/C,gEAAgE;AAChE,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAyBrG;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,eAAe,iBAwEtD"}
@@ -55,6 +55,8 @@ export async function systemRoutes(app) {
55
55
  const { stdout } = await execFileAsync('cursor-agent', ['--list-models'], {
56
56
  timeout: 25_000,
57
57
  maxBuffer: 8 * 1024 * 1024,
58
+ encoding: 'utf-8',
59
+ ...(process.platform === 'win32' ? { shell: true } : {}),
58
60
  });
59
61
  const models = parseCursorAgentListModelsOutput(stdout);
60
62
  return { models };
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/routes/system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/routes/system.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{h as j,u as Q,r as n,g as b,j as e,L as X}from"./index-DK-vt3Cl.js";import{u as Y,a as Z,b as _,c as ee,d as te,S as se,e as ne,T as re,P as ae,G as le,f as ie}from"./mermaid-NOHMQCX5-C5mvGqWa.js";import{B as w}from"./button-yc8E-9mL.js";import{d as oe}from"./use-profiles-Brdh89vT.js";import{C as ce}from"./chevron-down-CgN79gJE.js";import"./log-adapter-50wgehrc.js";import"./chevron-right-DlWP8lVM.js";import"./utils-CkSf8FUe.js";const de=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]],xe=j("at-sign",de);const me=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],ue=j("chevron-up",me);const pe=[["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"}]],he=j("hash",pe);const ge=[["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"}]],fe=j("send",ge),be=!0;function De(){const{t:s}=Q(),[S,H]=n.useState([]),[i,k]=n.useState(""),[x,A]=n.useState("DEFAULT"),[o,D]=n.useState(""),[a,E]=n.useState(null),[l,c]=n.useState("idle"),[g,$]=n.useState(!1),[m,v]=n.useState(""),C=n.useRef(null),I=n.useRef(null),u=n.useRef(null),{data:p}=oe(i),U=p?Object.keys(p):["DEFAULT"],F=t=>{k(t),A("DEFAULT")},M=n.useCallback(t=>{c(t===0?"stopped":"error")},[]),V=n.useCallback(t=>{console.error("Agent error:",t),c("error")},[]),{isConnected:h,isAttached:f,logs:N,entries:B,agentSessionId:z,attach:P,clearLogs:R}=Y({sessionId:a||"",onExit:M,onError:V}),{todos:T}=Z(B);n.useEffect(()=>{b.get("/demo/agents").then(t=>{H(t.agents);const r=t.agents.find(y=>y.available);r&&k(r.type)})},[]),n.useEffect(()=>{C.current?.scrollToBottom("smooth")},[N]),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 G=t=>{if(v(t.target.value),u.current){u.current.style.height="auto";const y=Math.min(u.current.scrollHeight,210);u.current.style.height=`${y}px`}},O=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});be&&console.log(`[AgentDemoPage:handleStart] t=${Date.now()} apiTime=${Date.now()-t}ms sessionId=${r.sessionId}`),E(r.sessionId),c("running")}catch(r){console.error("Start failed:",r),c("error")}},L=async()=>{if(!a||!m.trim())return;const t=m.trim();v("");try{await b.post(`/demo/${a}/message`,{message:t})}catch(r){console.error("Send failed:",r)}},K=async()=>{if(a)try{await b.post(`/demo/${a}/stop`),c("stopped")}catch(t){console.error("Stop failed:",t)}},q=()=>{E(null),c("idle"),D(""),v(""),R()},J=l==="running",d=a!==null,W=S.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(_,{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(ee,{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(te,{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(_,{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:()=>$(!g),children:o}),e.jsx("button",{onClick:()=>$(!g),className:"mt-0.5 text-neutral-400 opacity-0 group-hover:opacity-100 hover:text-neutral-600 transition-opacity",children:g?e.jsx(ue,{size:14}):e.jsx(ce,{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:W?.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(w,{variant:"outline",size:"sm",onClick:q,className:"ml-auto",children:s("新会话")}),e.jsxs(X,{to:"/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(se,{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:N.length===0?e.jsx("div",{className:"text-neutral-400 text-center py-8",children:s("等待 Agent 响应...")}):e.jsx(ne,{ref:C,logs:N,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:S.map(t=>e.jsxs(w,{variant:i===t.type?"default":"outline",disabled:!t.available,onClick:()=>F(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:U.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=>D(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(w,{onClick:O,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(re,{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:u,value:m,onChange:G,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(ae,{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(xe,{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(he,{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(le,{size:18})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[J&&e.jsxs("button",{onClick:K,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(ie,{size:12,fill:"currentColor"}),e.jsx("span",{children:s("停止")})]}),e.jsxs("button",{onClick:L,disabled:!m.trim(),className:`flex items-center gap-2 px-3 py-2 text-xs font-semibold rounded-lg transition-all ${m.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(fe,{size:14})]})]})]})]})})]})}export{De as AgentDemoPage};
1
+ import{h as j,u as Q,r as n,g as b,j as e,L as X}from"./index-D3_Vq2xm.js";import{u as Y,a as Z,b as _,c as ee,d as te,S as se,e as ne,T as re,P as ae,G as le,f as ie}from"./mermaid-NOHMQCX5-DyQsSSRd.js";import{B as w}from"./button-Cg3N0RX4.js";import{d as oe}from"./use-profiles-zSSuAJaA.js";import{C as ce}from"./chevron-down-BZ2n6wh3.js";import"./log-adapter-50wgehrc.js";import"./chevron-right-BrrhT2ph.js";import"./utils-CkSf8FUe.js";const de=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]],xe=j("at-sign",de);const me=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],ue=j("chevron-up",me);const pe=[["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"}]],he=j("hash",pe);const ge=[["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"}]],fe=j("send",ge),be=!0;function De(){const{t:s}=Q(),[S,H]=n.useState([]),[i,k]=n.useState(""),[x,A]=n.useState("DEFAULT"),[o,D]=n.useState(""),[a,E]=n.useState(null),[l,c]=n.useState("idle"),[g,$]=n.useState(!1),[m,v]=n.useState(""),C=n.useRef(null),I=n.useRef(null),u=n.useRef(null),{data:p}=oe(i),U=p?Object.keys(p):["DEFAULT"],F=t=>{k(t),A("DEFAULT")},M=n.useCallback(t=>{c(t===0?"stopped":"error")},[]),V=n.useCallback(t=>{console.error("Agent error:",t),c("error")},[]),{isConnected:h,isAttached:f,logs:N,entries:B,agentSessionId:z,attach:P,clearLogs:R}=Y({sessionId:a||"",onExit:M,onError:V}),{todos:T}=Z(B);n.useEffect(()=>{b.get("/demo/agents").then(t=>{H(t.agents);const r=t.agents.find(y=>y.available);r&&k(r.type)})},[]),n.useEffect(()=>{C.current?.scrollToBottom("smooth")},[N]),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 G=t=>{if(v(t.target.value),u.current){u.current.style.height="auto";const y=Math.min(u.current.scrollHeight,210);u.current.style.height=`${y}px`}},O=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});be&&console.log(`[AgentDemoPage:handleStart] t=${Date.now()} apiTime=${Date.now()-t}ms sessionId=${r.sessionId}`),E(r.sessionId),c("running")}catch(r){console.error("Start failed:",r),c("error")}},L=async()=>{if(!a||!m.trim())return;const t=m.trim();v("");try{await b.post(`/demo/${a}/message`,{message:t})}catch(r){console.error("Send failed:",r)}},K=async()=>{if(a)try{await b.post(`/demo/${a}/stop`),c("stopped")}catch(t){console.error("Stop failed:",t)}},q=()=>{E(null),c("idle"),D(""),v(""),R()},J=l==="running",d=a!==null,W=S.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(_,{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(ee,{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(te,{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(_,{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:()=>$(!g),children:o}),e.jsx("button",{onClick:()=>$(!g),className:"mt-0.5 text-neutral-400 opacity-0 group-hover:opacity-100 hover:text-neutral-600 transition-opacity",children:g?e.jsx(ue,{size:14}):e.jsx(ce,{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:W?.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(w,{variant:"outline",size:"sm",onClick:q,className:"ml-auto",children:s("新会话")}),e.jsxs(X,{to:"/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(se,{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:N.length===0?e.jsx("div",{className:"text-neutral-400 text-center py-8",children:s("等待 Agent 响应...")}):e.jsx(ne,{ref:C,logs:N,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:S.map(t=>e.jsxs(w,{variant:i===t.type?"default":"outline",disabled:!t.available,onClick:()=>F(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:U.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=>D(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(w,{onClick:O,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(re,{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:u,value:m,onChange:G,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(ae,{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(xe,{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(he,{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(le,{size:18})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[J&&e.jsxs("button",{onClick:K,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(ie,{size:12,fill:"currentColor"}),e.jsx("span",{children:s("停止")})]}),e.jsxs("button",{onClick:L,disabled:!m.trim(),className:`flex items-center gap-2 px-3 py-2 text-xs font-semibold rounded-lg transition-all ${m.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(fe,{size:14})]})]})]})]})})]})}export{De as AgentDemoPage};
@@ -1,4 +1,4 @@
1
- import{r as o,s as v,S as m,C as k,j as s,u as T,g as R}from"./index-DK-vt3Cl.js";import{B}from"./button-yc8E-9mL.js";import{c as $}from"./utils-CkSf8FUe.js";function M(n){const{sessionId:c,onOutput:j,onExit:p,onError:N}=n,[S,g]=o.useState(()=>v.isConnected()),[l,u]=o.useState(!1),f=o.useRef({onOutput:j,onExit:p,onError:N});f.current={onOutput:j,onExit:p,onError:N},o.useEffect(()=>{const t=v.getSocket();g(t.connected);const i=()=>g(!0),h=()=>{g(!1),u(!1)},D=r=>{r.sessionId===c&&f.current.onOutput?.(r.data)},O=r=>{r.sessionId===c&&(u(!1),f.current.onExit?.(r.exitCode))},I=r=>{r.sessionId===c&&f.current.onError?.(r.message)},b=r=>{r.sessionId===c&&u(!0)},C=r=>{r.sessionId===c&&u(!1)};return t.on("connect",i),t.on("disconnect",h),t.on(m.SESSION_STDOUT,D),t.on(m.SESSION_EXIT,O),t.on(m.SESSION_ERROR,I),t.on(m.SESSION_SUBSCRIBED,b),t.on(m.SESSION_UNSUBSCRIBED,C),g(t.connected),()=>{t.off("connect",i),t.off("disconnect",h),t.off(m.SESSION_STDOUT,D),t.off(m.SESSION_EXIT,O),t.off(m.SESSION_ERROR,I),t.off(m.SESSION_SUBSCRIBED,b),t.off(m.SESSION_UNSUBSCRIBED,C),t.emit(k.UNSUBSCRIBE,{topic:"session",id:c})}},[c]);const d=o.useCallback(()=>new Promise(t=>{const i=v.getSocket();if(!i.connected){t(!1);return}i.emit(k.SUBSCRIBE,{topic:"session",id:c},h=>{t(h.success)})}),[c]),y=o.useCallback(()=>{v.getSocket().emit(k.UNSUBSCRIBE,{topic:"session",id:c})},[c]),w=o.useCallback(t=>{v.getSocket().emit(k.INPUT,{sessionId:c,data:t})},[c]),E=o.useCallback((t,i)=>{v.getSocket().emit(k.RESIZE,{sessionId:c,cols:t,rows:i})},[c]);return{isConnected:S,isAttached:l,attach:d,detach:y,sendInput:w,resize:E}}function A({className:n,...c}){return s.jsx("div",{"data-slot":"card",className:$("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",n),...c})}function L(){const{t:n}=T(),[c,j]=o.useState([]),[p,N]=o.useState(""),[S,g]=o.useState(""),[l,u]=o.useState(null),[f,d]=o.useState([]),[y,w]=o.useState(!1),[E,t]=o.useState(""),i=o.useRef(null),h=o.useCallback(e=>{d(a=>{const x=a[a.length-1];return x&&x.role==="agent"?[...a.slice(0,-1),{...x,content:x.content+e}]:[...a,{role:"agent",content:e,timestamp:new Date}]})},[]),D=o.useCallback(e=>{d(a=>[...a,{role:"agent",content:`
1
+ import{r as o,s as v,S as m,C as k,j as s,u as T,g as R}from"./index-D3_Vq2xm.js";import{B}from"./button-Cg3N0RX4.js";import{c as $}from"./utils-CkSf8FUe.js";function M(n){const{sessionId:c,onOutput:j,onExit:p,onError:N}=n,[S,g]=o.useState(()=>v.isConnected()),[l,u]=o.useState(!1),f=o.useRef({onOutput:j,onExit:p,onError:N});f.current={onOutput:j,onExit:p,onError:N},o.useEffect(()=>{const t=v.getSocket();g(t.connected);const i=()=>g(!0),h=()=>{g(!1),u(!1)},D=r=>{r.sessionId===c&&f.current.onOutput?.(r.data)},O=r=>{r.sessionId===c&&(u(!1),f.current.onExit?.(r.exitCode))},I=r=>{r.sessionId===c&&f.current.onError?.(r.message)},b=r=>{r.sessionId===c&&u(!0)},C=r=>{r.sessionId===c&&u(!1)};return t.on("connect",i),t.on("disconnect",h),t.on(m.SESSION_STDOUT,D),t.on(m.SESSION_EXIT,O),t.on(m.SESSION_ERROR,I),t.on(m.SESSION_SUBSCRIBED,b),t.on(m.SESSION_UNSUBSCRIBED,C),g(t.connected),()=>{t.off("connect",i),t.off("disconnect",h),t.off(m.SESSION_STDOUT,D),t.off(m.SESSION_EXIT,O),t.off(m.SESSION_ERROR,I),t.off(m.SESSION_SUBSCRIBED,b),t.off(m.SESSION_UNSUBSCRIBED,C),t.emit(k.UNSUBSCRIBE,{topic:"session",id:c})}},[c]);const d=o.useCallback(()=>new Promise(t=>{const i=v.getSocket();if(!i.connected){t(!1);return}i.emit(k.SUBSCRIBE,{topic:"session",id:c},h=>{t(h.success)})}),[c]),y=o.useCallback(()=>{v.getSocket().emit(k.UNSUBSCRIBE,{topic:"session",id:c})},[c]),w=o.useCallback(t=>{v.getSocket().emit(k.INPUT,{sessionId:c,data:t})},[c]),E=o.useCallback((t,i)=>{v.getSocket().emit(k.RESIZE,{sessionId:c,cols:t,rows:i})},[c]);return{isConnected:S,isAttached:l,attach:d,detach:y,sendInput:w,resize:E}}function A({className:n,...c}){return s.jsx("div",{"data-slot":"card",className:$("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",n),...c})}function L(){const{t:n}=T(),[c,j]=o.useState([]),[p,N]=o.useState(""),[S,g]=o.useState(""),[l,u]=o.useState(null),[f,d]=o.useState([]),[y,w]=o.useState(!1),[E,t]=o.useState(""),i=o.useRef(null),h=o.useCallback(e=>{d(a=>{const x=a[a.length-1];return x&&x.role==="agent"?[...a.slice(0,-1),{...x,content:x.content+e}]:[...a,{role:"agent",content:e,timestamp:new Date}]})},[]),D=o.useCallback(e=>{d(a=>[...a,{role:"agent",content:`
2
2
  [进程退出,退出码: ${e}]`,timestamp:new Date}]),u(null)},[]),O=o.useCallback(e=>{d(a=>[...a,{role:"agent",content:`
3
3
  [错误: ${e}]`,timestamp:new Date}])},[]),{isConnected:I,isAttached:b,attach:C}=M({sessionId:l||"",onOutput:h,onExit:D,onError:O});o.useEffect(()=>{R.get("/demo/agents").then(e=>{j(e.agents);const a=e.agents.find(x=>x.available);a&&N(a.type)})},[]),o.useEffect(()=>{i.current?.scrollIntoView({behavior:"smooth"})},[f]),o.useEffect(()=>{l&&I&&!b&&C()},[l,I,b,C]);const r=async()=>{if(!(!p||!S.trim())){w(!0),d([{role:"user",content:S,timestamp:new Date}]);try{const e=await R.post("/demo/start",{agentType:p,prompt:S.trim()});u(e.sessionId),g("")}catch(e){d(a=>[...a,{role:"agent",content:n("启动失败: {message}",{message:e instanceof Error?e.message:n("未知错误")}),timestamp:new Date}])}finally{w(!1)}}},U=async()=>{if(!l||!E.trim())return;const e=E.trim();d(a=>[...a,{role:"user",content:e,timestamp:new Date}]),t("");try{await R.post(`/demo/${l}/message`,{message:e})}catch(a){d(x=>[...x,{role:"agent",content:n("发送失败: {message}",{message:a instanceof Error?a.message:n("未知错误")}),timestamp:new Date}])}},_=async()=>{if(l)try{await R.post(`/demo/${l}/stop`),d(e=>[...e,{role:"agent",content:`
4
4
  [${n("会话已停止")}]`,timestamp:new Date}]),u(null)}catch(e){console.error("Stop failed:",e)}};return s.jsxs("div",{className:"flex flex-col h-full max-w-4xl mx-auto p-4 gap-4",children:[s.jsx("h1",{className:"text-2xl font-bold",children:n("Agent 交互演示")}),!l&&s.jsxs(A,{className:"p-4",children:[s.jsx("h2",{className:"text-lg font-semibold mb-3",children:n("选择 Agent")}),s.jsx("div",{className:"flex gap-2 flex-wrap mb-4",children:c.map(e=>s.jsxs(B,{variant:p===e.type?"default":"outline",disabled:!e.available,onClick:()=>N(e.type),children:[e.name,e.available&&e.version&&` (${e.version})`,!e.available&&n(" (不可用)")]},e.type))}),s.jsxs("div",{className:"flex gap-2",children:[s.jsx("input",{type:"text",value:S,onChange:e=>g(e.target.value),onKeyDown:e=>e.key==="Enter"&&!e.nativeEvent.isComposing&&e.nativeEvent.keyCode!==229&&r(),placeholder:n("输入你的问题或任务..."),className:"flex-1 px-3 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"}),s.jsx(B,{onClick:r,disabled:y||!p||!S.trim(),children:n(y?"启动中...":"开始")})]})]}),s.jsxs(A,{className:"flex-1 p-4 overflow-hidden flex flex-col",children:[s.jsxs("div",{className:"flex justify-between items-center mb-3",children:[s.jsx("h2",{className:"text-lg font-semibold",children:n("对话")}),l&&s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:"text-sm text-gray-500",children:n(I?b?"已连接":"连接中...":"未连接")}),s.jsx(B,{variant:"outline",size:"sm",onClick:_,children:n("停止")})]})]}),s.jsxs("div",{className:"flex-1 overflow-y-auto space-y-3",children:[f.length===0?s.jsx("div",{className:"text-gray-400 text-center py-8",children:n("选择 Agent 并输入问题开始对话")}):f.map((e,a)=>s.jsxs("div",{className:`p-3 rounded-lg ${e.role==="user"?"bg-blue-100 ml-8":"bg-gray-100 mr-8"}`,children:[s.jsx("div",{className:"text-xs text-gray-500 mb-1",children:e.role==="user"?n("你"):"Agent"}),s.jsx("pre",{className:"whitespace-pre-wrap font-mono text-sm",children:e.content})]},a)),s.jsx("div",{ref:i})]}),l&&s.jsxs("div",{className:"flex gap-2 mt-3 pt-3 border-t",children:[s.jsx("input",{type:"text",value:E,onChange:e=>t(e.target.value),onKeyDown:e=>e.key==="Enter"&&!e.repeat&&!e.nativeEvent.isComposing&&e.nativeEvent.keyCode!==229&&U(),placeholder:n("发送后续消息..."),className:"flex-1 px-3 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"}),s.jsx(B,{onClick:U,disabled:!E.trim(),children:n("发送")})]})]})]})}export{L as DemoPage};
@@ -1 +1 @@
1
- import{u as S,a as y,b as C,c as A,r,t as d,j as e}from"./index-DK-vt3Cl.js";import{S as u}from"./select-DKQPvWiV.js";import{u as _}from"./use-providers-Es21U-kq.js";import"./utils-CkSf8FUe.js";import"./chevron-down-CgN79gJE.js";const w=[{value:"zh-CN",label:"简体中文"},{value:"en",label:"English"}],i="__follow_task__";function k(){const{locale:p,setLocale:h,t}=S(),{data:l}=y(),{data:g}=_(),{data:o}=C(),a=A(),[b,x]=r.useState(i),[m,c]=r.useState(""),[v,n]=r.useState(!1);r.useEffect(()=>{!l||!o||(x(l.commitMessageProviderId||i),c(l.commitMessagePrompt||o.prompt),n(!1))},[l,o]);const f=[{value:i,label:t("跟随任务")},...(g??[]).filter(s=>s.availability.type!=="NOT_FOUND").map(s=>({value:s.provider.id,label:s.provider.name}))],j=r.useCallback(s=>{x(s);const P=s===i?null:s;a.mutate({commitMessageProviderId:P},{onError:()=>d.error(t("保存失败"))})},[a,t]),N=r.useCallback(()=>{const s=m.trim()||null;a.mutate({commitMessagePrompt:s},{onSuccess:()=>{n(!1),d.success(t("已保存"))},onError:()=>d.error(t("保存失败"))})},[m,a,t]);return e.jsxs("div",{className:"px-10 py-6 mx-auto w-full max-w-3xl space-y-8",children:[e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-neutral-900",children:t("通用设置")}),e.jsx("p",{className:"mt-1 text-sm text-neutral-500",children:t("选择界面语言。设置会保存到本地 Agent Tower 数据库,并在重新打开后继续生效。")})]}),e.jsxs("section",{children:[e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900 mb-1",children:t("显示语言")}),e.jsx(u,{value:p,onChange:s=>h(s),options:w.map(s=>({value:s.value,label:s.label}))})]}),e.jsxs("section",{className:"border-t border-neutral-100 pt-6",children:[e.jsx("h2",{className:"text-lg font-semibold text-neutral-900",children:t("Git Commit Message")}),e.jsx("p",{className:"mt-1 text-sm text-neutral-500",children:t("配置自动生成 commit message 时使用的 Agent 渠道和提示词。")}),e.jsxs("div",{className:"mt-4 space-y-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900 mb-1",children:t("Agent 渠道")}),e.jsx("p",{className:"text-xs text-neutral-400 mb-1.5",children:t('"跟随任务"表示使用当前任务所用的 Agent 渠道。选择具体渠道可使用更经济的模型。')}),e.jsx(u,{value:b,onChange:j,options:f})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900 mb-1",children:t("提示词模板")}),e.jsx("p",{className:"text-xs text-neutral-400 mb-1.5",children:t("自定义生成 commit message 的提示词。留空则使用内置默认模板。")}),e.jsx("textarea",{value:m,onChange:s=>{c(s.target.value),n(!0)},rows:6,className:"w-full px-3 py-2 border border-neutral-200 rounded-lg text-sm bg-white focus:outline-none focus:border-neutral-400 resize-y font-mono"}),v&&e.jsxs("div",{className:"flex items-center gap-2 mt-2",children:[e.jsx("button",{onClick:N,disabled:a.isPending,className:"px-3 py-1.5 text-xs font-medium text-white bg-neutral-900 rounded-md hover:bg-neutral-800 disabled:opacity-50 transition-colors",children:a.isPending?t("保存中..."):t("保存")}),e.jsx("button",{onClick:()=>{c(l?.commitMessagePrompt||o?.prompt||""),n(!1)},className:"px-3 py-1.5 text-xs text-neutral-500 hover:text-neutral-900 transition-colors",children:t("取消")})]})]})]})]})]})}export{k as GeneralSettingsPage};
1
+ import{u as S,a as y,b as C,c as A,r,t as d,j as e}from"./index-D3_Vq2xm.js";import{S as u}from"./select-BRJQTh28.js";import{u as _}from"./use-providers-BfLpM8PB.js";import"./utils-CkSf8FUe.js";import"./chevron-down-BZ2n6wh3.js";const w=[{value:"zh-CN",label:"简体中文"},{value:"en",label:"English"}],i="__follow_task__";function k(){const{locale:p,setLocale:h,t}=S(),{data:l}=y(),{data:g}=_(),{data:o}=C(),a=A(),[b,x]=r.useState(i),[m,c]=r.useState(""),[v,n]=r.useState(!1);r.useEffect(()=>{!l||!o||(x(l.commitMessageProviderId||i),c(l.commitMessagePrompt||o.prompt),n(!1))},[l,o]);const f=[{value:i,label:t("跟随任务")},...(g??[]).filter(s=>s.availability.type!=="NOT_FOUND").map(s=>({value:s.provider.id,label:s.provider.name}))],j=r.useCallback(s=>{x(s);const P=s===i?null:s;a.mutate({commitMessageProviderId:P},{onError:()=>d.error(t("保存失败"))})},[a,t]),N=r.useCallback(()=>{const s=m.trim()||null;a.mutate({commitMessagePrompt:s},{onSuccess:()=>{n(!1),d.success(t("已保存"))},onError:()=>d.error(t("保存失败"))})},[m,a,t]);return e.jsxs("div",{className:"px-10 py-6 mx-auto w-full max-w-3xl space-y-8",children:[e.jsxs("section",{children:[e.jsx("h2",{className:"text-lg font-semibold text-neutral-900",children:t("通用设置")}),e.jsx("p",{className:"mt-1 text-sm text-neutral-500",children:t("选择界面语言。设置会保存到本地 Agent Tower 数据库,并在重新打开后继续生效。")})]}),e.jsxs("section",{children:[e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900 mb-1",children:t("显示语言")}),e.jsx(u,{value:p,onChange:s=>h(s),options:w.map(s=>({value:s.value,label:s.label}))})]}),e.jsxs("section",{className:"border-t border-neutral-100 pt-6",children:[e.jsx("h2",{className:"text-lg font-semibold text-neutral-900",children:t("Git Commit Message")}),e.jsx("p",{className:"mt-1 text-sm text-neutral-500",children:t("配置自动生成 commit message 时使用的 Agent 渠道和提示词。")}),e.jsxs("div",{className:"mt-4 space-y-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900 mb-1",children:t("Agent 渠道")}),e.jsx("p",{className:"text-xs text-neutral-400 mb-1.5",children:t('"跟随任务"表示使用当前任务所用的 Agent 渠道。选择具体渠道可使用更经济的模型。')}),e.jsx(u,{value:b,onChange:j,options:f})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900 mb-1",children:t("提示词模板")}),e.jsx("p",{className:"text-xs text-neutral-400 mb-1.5",children:t("自定义生成 commit message 的提示词。留空则使用内置默认模板。")}),e.jsx("textarea",{value:m,onChange:s=>{c(s.target.value),n(!0)},rows:6,className:"w-full px-3 py-2 border border-neutral-200 rounded-lg text-sm bg-white focus:outline-none focus:border-neutral-400 resize-y font-mono"}),v&&e.jsxs("div",{className:"flex items-center gap-2 mt-2",children:[e.jsx("button",{onClick:N,disabled:a.isPending,className:"px-3 py-1.5 text-xs font-medium text-white bg-neutral-900 rounded-md hover:bg-neutral-800 disabled:opacity-50 transition-colors",children:a.isPending?t("保存中..."):t("保存")}),e.jsx("button",{onClick:()=>{c(l?.commitMessagePrompt||o?.prompt||""),n(!1)},className:"px-3 py-1.5 text-xs text-neutral-500 hover:text-neutral-900 transition-colors",children:t("取消")})]})]})]})]})]})}export{k as GeneralSettingsPage};
@@ -1 +1 @@
1
- import{h as I,d as E,e as P,f as j,q as k,g as x,u as q,r,j as e}from"./index-DK-vt3Cl.js";import{B as g}from"./button-yc8E-9mL.js";import{S as R}from"./select-DKQPvWiV.js";import{L as z}from"./loader-circle-DYUWI5Dr.js";import{C as B}from"./circle-check-CSmMKb6_.js";import{C as L}from"./circle-alert-CgMmay1J.js";import"./utils-CkSf8FUe.js";import"./chevron-down-CgN79gJE.js";const F=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],A=I("link",F);function K(){return E({queryKey:k.notifications.settings,queryFn:()=>x.get("/notifications/settings")})}function M(){const t=P();return j({mutationFn:a=>x.put("/notifications/settings",a),onSuccess:()=>{t.invalidateQueries({queryKey:k.notifications.settings})}})}function Q(){return j({mutationFn:t=>x.post("/notifications/test",t)})}function V(){const{t}=q(),{data:a,isLoading:y}=K(),i=M(),l=Q(),N=[{value:"none",label:t("无")},{value:"feishu",label:t("飞书")}],[n,p]=r.useState({webhookUrl:"",baseUrl:"",titleTemplate:"",bodyTemplate:""}),[u,h]=r.useState(!1),[f,o]=r.useState("idle"),d=r.useRef(void 0);if(r.useEffect(()=>{a&&!u&&p({webhookUrl:a.feishuWebhookUrl??"",baseUrl:a.thirdPartyBaseUrl??"",titleTemplate:a.taskInReviewTitleTemplate??"",bodyTemplate:a.taskInReviewBodyTemplate??""})},[a,u]),r.useEffect(()=>(l.isSuccess?(o("success"),d.current=setTimeout(()=>o("idle"),3e3)):l.isError&&(o("error"),d.current=setTimeout(()=>o("idle"),5e3)),()=>clearTimeout(d.current)),[l.isSuccess,l.isError]),y)return e.jsx("div",{className:"p-6 text-sm text-neutral-400",children:t("加载中...")});const m=a?.osNotificationEnabled??!0,b=a?.thirdPartyChannel??"none",c=(s,U)=>{p(S=>({...S,[s]:U})),h(!0)},v=()=>{i.mutate({osNotificationEnabled:!m})},T=s=>{i.mutate({thirdPartyChannel:s})},w=()=>{i.mutate({feishuWebhookUrl:n.webhookUrl.trim()||null,thirdPartyBaseUrl:n.baseUrl.trim()||null,taskInReviewTitleTemplate:n.titleTemplate.trim()||"Agent Tower",taskInReviewBodyTemplate:n.bodyTemplate.trim()||t('✅ "{taskTitle}" 已完成,等待审查')},{onSuccess:()=>h(!1)})},C=()=>{n.webhookUrl.trim()&&l.mutate({channel:"feishu",webhookUrl:n.webhookUrl.trim(),baseUrl:n.baseUrl.trim()||void 0})};return e.jsxs("div",{className:"px-10 py-6 mx-auto w-full max-w-3xl space-y-8",children:[e.jsxs("section",{children:[e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900 mb-1",children:t("系统通知")}),e.jsx("p",{className:"text-[12px] text-neutral-400 mb-3",children:t("任务完成时弹出桌面通知")}),e.jsx("button",{onClick:v,className:`relative inline-flex h-5 w-9 items-center rounded-full transition-colors ${m?"bg-neutral-900":"bg-neutral-200"}`,children:e.jsx("span",{className:`inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform ${m?"translate-x-[18px]":"translate-x-[3px]"}`})})]}),e.jsxs("section",{children:[e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900 mb-1",children:t("第三方通知")}),e.jsx("p",{className:"text-[12px] text-neutral-400 mb-3",children:t("选择一个第三方渠道接收通知")}),e.jsx(R,{value:b,onChange:s=>T(s),options:N}),b==="feishu"&&e.jsxs("div",{className:"mt-4 space-y-4",children:[e.jsxs("div",{className:"p-4 border border-neutral-100 rounded-lg space-y-3",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center gap-1 text-[13px] font-medium text-neutral-700 mb-1",children:[e.jsx(A,{size:12}),"Webhook URL"]}),e.jsx("input",{type:"text",value:n.webhookUrl,onChange:s=>c("webhookUrl",s.target.value),placeholder:"https://open.feishu.cn/open-apis/bot/v2/hook/...",className:"w-full px-3 py-2 border border-neutral-200 rounded-lg text-sm font-mono focus:outline-none focus:ring-1 focus:ring-neutral-300"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(g,{size:"sm",variant:"outline",onClick:C,disabled:!n.webhookUrl.trim()||l.isPending,children:[l.isPending&&e.jsx(z,{size:12,className:"animate-spin mr-1"}),t("测试发送")]}),f==="success"&&e.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-600",children:[e.jsx(B,{size:12}),t("发送成功")]}),f==="error"&&e.jsxs("span",{className:"flex items-center gap-1 text-xs text-red-500",children:[e.jsx(L,{size:12}),t("发送失败")]})]})]}),e.jsx("div",{className:"p-4 border border-neutral-100 rounded-lg space-y-3",children:e.jsxs("div",{children:[e.jsx("label",{className:"block text-[13px] font-medium text-neutral-700 mb-1",children:t("跳转地址(用于生成任务链接)")}),e.jsx("input",{type:"text",value:n.baseUrl,onChange:s=>c("baseUrl",s.target.value),placeholder:"http://localhost:5173",className:"w-full px-3 py-2 border border-neutral-200 rounded-lg text-sm font-mono focus:outline-none focus:ring-1 focus:ring-neutral-300"}),e.jsx("p",{className:"text-[11px] text-neutral-400 mt-1",children:t('通知卡片中的"查看任务"按钮将跳转到 {path}',{path:"{baseUrl}/projects/{projectId}/tasks/{taskId}"})})]})})]})]}),e.jsxs("section",{children:[e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900 mb-1",children:t("通知模板")}),e.jsx("p",{className:"text-[12px] text-neutral-400 mb-3",children:t("支持变量: {taskTitle}, {taskId}, {projectId}, {projectName}, {status}",{taskTitle:"{taskTitle}",taskId:"{taskId}",projectId:"{projectId}",projectName:"{projectName}",status:"{status}"})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-[13px] font-medium text-neutral-700 mb-1",children:t("标题模板")}),e.jsx("input",{type:"text",value:n.titleTemplate,onChange:s=>c("titleTemplate",s.target.value),placeholder:"Agent Tower",className:"w-full px-3 py-2 border border-neutral-200 rounded-lg text-sm focus:outline-none focus:ring-1 focus:ring-neutral-300"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[13px] font-medium text-neutral-700 mb-1",children:t("内容模板")}),e.jsx("textarea",{value:n.bodyTemplate,onChange:s=>c("bodyTemplate",s.target.value),placeholder:t('✅ "{taskTitle}" 已完成,等待审查'),rows:2,className:"w-full px-3 py-2 border border-neutral-200 rounded-lg text-sm focus:outline-none focus:ring-1 focus:ring-neutral-300 resize-none"})]})]})]}),u&&e.jsx("div",{className:"sticky bottom-6 flex justify-end",children:e.jsx(g,{size:"sm",onClick:w,disabled:i.isPending,children:i.isPending?t("保存中..."):t("保存所有更改")})})]})}export{V as NotificationSettingsPage};
1
+ import{h as I,d as E,e as P,f as j,q as k,g as x,u as q,r,j as e}from"./index-D3_Vq2xm.js";import{B as g}from"./button-Cg3N0RX4.js";import{S as R}from"./select-BRJQTh28.js";import{L as z}from"./loader-circle-DRKF9OZx.js";import{C as B}from"./circle-check-CQEg-cq1.js";import{C as L}from"./circle-alert-a6g1jQyL.js";import"./utils-CkSf8FUe.js";import"./chevron-down-BZ2n6wh3.js";const F=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],A=I("link",F);function K(){return E({queryKey:k.notifications.settings,queryFn:()=>x.get("/notifications/settings")})}function M(){const t=P();return j({mutationFn:a=>x.put("/notifications/settings",a),onSuccess:()=>{t.invalidateQueries({queryKey:k.notifications.settings})}})}function Q(){return j({mutationFn:t=>x.post("/notifications/test",t)})}function V(){const{t}=q(),{data:a,isLoading:y}=K(),i=M(),l=Q(),N=[{value:"none",label:t("无")},{value:"feishu",label:t("飞书")}],[n,p]=r.useState({webhookUrl:"",baseUrl:"",titleTemplate:"",bodyTemplate:""}),[u,h]=r.useState(!1),[f,o]=r.useState("idle"),d=r.useRef(void 0);if(r.useEffect(()=>{a&&!u&&p({webhookUrl:a.feishuWebhookUrl??"",baseUrl:a.thirdPartyBaseUrl??"",titleTemplate:a.taskInReviewTitleTemplate??"",bodyTemplate:a.taskInReviewBodyTemplate??""})},[a,u]),r.useEffect(()=>(l.isSuccess?(o("success"),d.current=setTimeout(()=>o("idle"),3e3)):l.isError&&(o("error"),d.current=setTimeout(()=>o("idle"),5e3)),()=>clearTimeout(d.current)),[l.isSuccess,l.isError]),y)return e.jsx("div",{className:"p-6 text-sm text-neutral-400",children:t("加载中...")});const m=a?.osNotificationEnabled??!0,b=a?.thirdPartyChannel??"none",c=(s,U)=>{p(S=>({...S,[s]:U})),h(!0)},v=()=>{i.mutate({osNotificationEnabled:!m})},T=s=>{i.mutate({thirdPartyChannel:s})},w=()=>{i.mutate({feishuWebhookUrl:n.webhookUrl.trim()||null,thirdPartyBaseUrl:n.baseUrl.trim()||null,taskInReviewTitleTemplate:n.titleTemplate.trim()||"Agent Tower",taskInReviewBodyTemplate:n.bodyTemplate.trim()||t('✅ "{taskTitle}" 已完成,等待审查')},{onSuccess:()=>h(!1)})},C=()=>{n.webhookUrl.trim()&&l.mutate({channel:"feishu",webhookUrl:n.webhookUrl.trim(),baseUrl:n.baseUrl.trim()||void 0})};return e.jsxs("div",{className:"px-10 py-6 mx-auto w-full max-w-3xl space-y-8",children:[e.jsxs("section",{children:[e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900 mb-1",children:t("系统通知")}),e.jsx("p",{className:"text-[12px] text-neutral-400 mb-3",children:t("任务完成时弹出桌面通知")}),e.jsx("button",{onClick:v,className:`relative inline-flex h-5 w-9 items-center rounded-full transition-colors ${m?"bg-neutral-900":"bg-neutral-200"}`,children:e.jsx("span",{className:`inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform ${m?"translate-x-[18px]":"translate-x-[3px]"}`})})]}),e.jsxs("section",{children:[e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900 mb-1",children:t("第三方通知")}),e.jsx("p",{className:"text-[12px] text-neutral-400 mb-3",children:t("选择一个第三方渠道接收通知")}),e.jsx(R,{value:b,onChange:s=>T(s),options:N}),b==="feishu"&&e.jsxs("div",{className:"mt-4 space-y-4",children:[e.jsxs("div",{className:"p-4 border border-neutral-100 rounded-lg space-y-3",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"flex items-center gap-1 text-[13px] font-medium text-neutral-700 mb-1",children:[e.jsx(A,{size:12}),"Webhook URL"]}),e.jsx("input",{type:"text",value:n.webhookUrl,onChange:s=>c("webhookUrl",s.target.value),placeholder:"https://open.feishu.cn/open-apis/bot/v2/hook/...",className:"w-full px-3 py-2 border border-neutral-200 rounded-lg text-sm font-mono focus:outline-none focus:ring-1 focus:ring-neutral-300"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(g,{size:"sm",variant:"outline",onClick:C,disabled:!n.webhookUrl.trim()||l.isPending,children:[l.isPending&&e.jsx(z,{size:12,className:"animate-spin mr-1"}),t("测试发送")]}),f==="success"&&e.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-600",children:[e.jsx(B,{size:12}),t("发送成功")]}),f==="error"&&e.jsxs("span",{className:"flex items-center gap-1 text-xs text-red-500",children:[e.jsx(L,{size:12}),t("发送失败")]})]})]}),e.jsx("div",{className:"p-4 border border-neutral-100 rounded-lg space-y-3",children:e.jsxs("div",{children:[e.jsx("label",{className:"block text-[13px] font-medium text-neutral-700 mb-1",children:t("跳转地址(用于生成任务链接)")}),e.jsx("input",{type:"text",value:n.baseUrl,onChange:s=>c("baseUrl",s.target.value),placeholder:"http://localhost:5173",className:"w-full px-3 py-2 border border-neutral-200 rounded-lg text-sm font-mono focus:outline-none focus:ring-1 focus:ring-neutral-300"}),e.jsx("p",{className:"text-[11px] text-neutral-400 mt-1",children:t('通知卡片中的"查看任务"按钮将跳转到 {path}',{path:"{baseUrl}/projects/{projectId}/tasks/{taskId}"})})]})})]})]}),e.jsxs("section",{children:[e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900 mb-1",children:t("通知模板")}),e.jsx("p",{className:"text-[12px] text-neutral-400 mb-3",children:t("支持变量: {taskTitle}, {taskId}, {projectId}, {projectName}, {status}",{taskTitle:"{taskTitle}",taskId:"{taskId}",projectId:"{projectId}",projectName:"{projectName}",status:"{status}"})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-[13px] font-medium text-neutral-700 mb-1",children:t("标题模板")}),e.jsx("input",{type:"text",value:n.titleTemplate,onChange:s=>c("titleTemplate",s.target.value),placeholder:"Agent Tower",className:"w-full px-3 py-2 border border-neutral-200 rounded-lg text-sm focus:outline-none focus:ring-1 focus:ring-neutral-300"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[13px] font-medium text-neutral-700 mb-1",children:t("内容模板")}),e.jsx("textarea",{value:n.bodyTemplate,onChange:s=>c("bodyTemplate",s.target.value),placeholder:t('✅ "{taskTitle}" 已完成,等待审查'),rows:2,className:"w-full px-3 py-2 border border-neutral-200 rounded-lg text-sm focus:outline-none focus:ring-1 focus:ring-neutral-300 resize-none"})]})]})]}),u&&e.jsx("div",{className:"sticky bottom-6 flex justify-end",children:e.jsx(g,{size:"sm",onClick:w,disabled:i.isPending,children:i.isPending?t("保存中..."):t("保存所有更改")})})]})}export{V as NotificationSettingsPage};
@@ -1,3 +1,3 @@
1
- import{u as V,r as o,j as e}from"./index-DK-vt3Cl.js";import{u as I,a as L,b as A,c as D}from"./use-profiles-Brdh89vT.js";import{B as N}from"./button-yc8E-9mL.js";import{P as M,T,M as U}from"./modal-BgEFLccc.js";import{P as z}from"./pencil-CjaX70qm.js";import"./utils-CkSf8FUe.js";function B(s){return Object.entries(s).map(([c,u])=>`${c}: ${JSON.stringify(u)}`).join(", ")}const g={CLAUDE_CODE:"Claude Code",GEMINI_CLI:"Gemini CLI",CURSOR_AGENT:"Cursor Agent"};function H(){const{t:s}=V(),{data:c,isLoading:u}=I(),{data:v}=L(),d=A(),C=D(),[a,l]=o.useState(null),[f,x]=o.useState(""),[m,p]=o.useState(""),[h,i]=o.useState(""),S=(t,n,r)=>{l({agentType:t,variant:n,config:r,isNew:!1}),p(n),x(JSON.stringify(r,null,2)),i("")},y=t=>{l({agentType:t,variant:"",config:{},isNew:!0}),p(""),x(`{
1
+ import{u as V,r as o,j as e}from"./index-D3_Vq2xm.js";import{u as I,a as L,b as A,c as D}from"./use-profiles-zSSuAJaA.js";import{B as N}from"./button-Cg3N0RX4.js";import{P as M,T,M as U}from"./modal-wSbeXj_V.js";import{P as z}from"./pencil-CT2HBX6f.js";import"./utils-CkSf8FUe.js";function B(s){return Object.entries(s).map(([c,u])=>`${c}: ${JSON.stringify(u)}`).join(", ")}const g={CLAUDE_CODE:"Claude Code",GEMINI_CLI:"Gemini CLI",CURSOR_AGENT:"Cursor Agent"};function H(){const{t:s}=V(),{data:c,isLoading:u}=I(),{data:v}=L(),d=A(),C=D(),[a,l]=o.useState(null),[f,x]=o.useState(""),[m,p]=o.useState(""),[h,i]=o.useState(""),S=(t,n,r)=>{l({agentType:t,variant:n,config:r,isNew:!1}),p(n),x(JSON.stringify(r,null,2)),i("")},y=t=>{l({agentType:t,variant:"",config:{},isNew:!0}),p(""),x(`{
2
2
 
3
3
  }`),i("")},E=()=>{if(!(!a||!m.trim()))try{const t=JSON.parse(f);i(""),d.mutate({agentType:a.agentType,variant:m.trim().toUpperCase(),config:t},{onSuccess:()=>l(null)})}catch{i(s("JSON 格式错误"))}},w=(t,n)=>{confirm(s("确定删除 {agentType} / {variant}?",{agentType:t,variant:n}))&&C.mutate({agentType:t,variant:n})},O=(t,n)=>!!v?.executors[t]?.[n];if(u)return e.jsx("div",{className:"p-6 text-sm text-neutral-400",children:s("加载中...")});const P=c?.executors??{};return e.jsxs("div",{className:"px-10 py-6 mx-auto w-full max-w-3xl",children:[Object.entries(P).map(([t,n])=>e.jsxs("div",{className:"mb-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900",children:g[t]??t}),e.jsxs("button",{onClick:()=>y(t),className:"flex items-center gap-1 text-xs text-neutral-400 hover:text-neutral-900 transition-colors",children:[e.jsx(M,{size:12}),e.jsx("span",{children:s("新增")})]})]}),e.jsx("div",{className:"border border-neutral-100 rounded-lg overflow-hidden",children:Object.entries(n).map(([r,b],k,J)=>{const j=O(t,r);return e.jsxs("div",{className:`flex items-center gap-3 px-4 py-2.5 hover:bg-neutral-50 transition-colors group ${k<J.length-1?"border-b border-neutral-100":""}`,children:[e.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded text-[11px] font-semibold tracking-wide ${r==="DEFAULT"?"bg-blue-50 text-blue-600":"bg-neutral-50 text-neutral-600"}`,children:r}),e.jsx("span",{className:"flex-1 text-[12px] text-neutral-400 font-mono truncate",children:B(b)}),j&&e.jsx("span",{className:"text-[11px] text-neutral-300 font-medium",children:s("内置")}),e.jsxs("div",{className:"flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity",children:[e.jsx("button",{onClick:()=>S(t,r,b),className:"p-1 text-neutral-300 hover:text-neutral-700 rounded transition-colors",children:e.jsx(z,{size:13})}),!j&&e.jsx("button",{onClick:()=>w(t,r),className:"p-1 text-neutral-300 hover:text-red-500 rounded transition-colors",children:e.jsx(T,{size:13})})]})]},r)})})]},t)),e.jsx(U,{isOpen:!!a,onClose:()=>l(null),title:a?.isNew?s("新增 Variant — {agentType}",{agentType:g[a.agentType]??a.agentType}):s("编辑 {variant}",{variant:a?.variant??""}),action:e.jsxs(e.Fragment,{children:[e.jsx(N,{variant:"outline",onClick:()=>l(null),children:s("取消")}),e.jsx(N,{onClick:E,disabled:d.isPending,children:d.isPending?s("保存中..."):s("保存")})]}),children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-[13px] font-medium text-neutral-700 mb-1",children:s("Variant 名称")}),e.jsx("input",{type:"text",value:m,onChange:t=>p(t.target.value),disabled:!a?.isNew,placeholder:s("例如: CUSTOM"),className:"w-full px-3 py-2 border border-neutral-200 rounded-lg text-sm focus:outline-none focus:ring-1 focus:ring-neutral-300 disabled:bg-neutral-50 disabled:text-neutral-500 font-mono"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[13px] font-medium text-neutral-700 mb-1",children:s("配置 (JSON)")}),e.jsx("textarea",{value:f,onChange:t=>{x(t.target.value),i("")},rows:6,className:"w-full px-3 py-2 border border-neutral-200 rounded-lg text-sm font-mono focus:outline-none focus:ring-1 focus:ring-neutral-300 resize-none"}),h&&e.jsx("p",{className:"mt-1 text-xs text-red-500",children:h})]})]})})]})}export{H as ProfileSettingsPage};