@co0ontty/wand 4.93.0 → 4.94.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/README.md +25 -30
  2. package/dist/ai-text-runner.d.ts +2 -10
  3. package/dist/ai-text-runner.js +13 -74
  4. package/dist/build-info.json +3 -3
  5. package/dist/cli.js +47 -9
  6. package/dist/config.d.ts +2 -3
  7. package/dist/config.js +26 -5
  8. package/dist/core-status-cli.d.ts +1 -1
  9. package/dist/core-status-cli.js +3 -1
  10. package/dist/daemon-connection.d.ts +10 -0
  11. package/dist/daemon-connection.js +28 -0
  12. package/dist/diagnostic-logs.d.ts +10 -0
  13. package/dist/diagnostic-logs.js +121 -0
  14. package/dist/employee-text.js +1 -3
  15. package/dist/git-quick-commit.d.ts +1 -1
  16. package/dist/git-quick-commit.js +2 -9
  17. package/dist/layout-tree.d.ts +3 -1
  18. package/dist/layout-tree.js +8 -0
  19. package/dist/local-model-process.js +20 -0
  20. package/dist/local-model-setup.js +5 -3
  21. package/dist/managed-temp.d.ts +32 -0
  22. package/dist/managed-temp.js +176 -0
  23. package/dist/middleware/api-scope.js +1 -0
  24. package/dist/models/shared.d.ts +0 -6
  25. package/dist/models/shared.js +0 -12
  26. package/dist/models/thinking.d.ts +0 -2
  27. package/dist/models/thinking.js +0 -2
  28. package/dist/models.d.ts +0 -1
  29. package/dist/models.js +3 -11
  30. package/dist/native-session-title.d.ts +1 -1
  31. package/dist/native-session-title.js +1 -1
  32. package/dist/pi-model-discovery.js +5 -17
  33. package/dist/pi-resource-recommendation.d.ts +1 -1
  34. package/dist/pi-resource-recommendation.js +129 -42
  35. package/dist/process-manager-native-history.js +1 -6
  36. package/dist/process-manager.d.ts +0 -1
  37. package/dist/process-manager.js +5 -18
  38. package/dist/provider-catalog.d.ts +1 -2
  39. package/dist/provider-catalog.js +1 -6
  40. package/dist/provider-cli-updater.js +1 -9
  41. package/dist/provider-history-scanner.d.ts +0 -3
  42. package/dist/provider-history-scanner.js +0 -26
  43. package/dist/render-daemon-client.js +6 -29
  44. package/dist/render-structured-client.js +2 -7
  45. package/dist/retention.js +1 -6
  46. package/dist/run-command.d.ts +5 -0
  47. package/dist/run-command.js +14 -1
  48. package/dist/server-session-lifecycle-routes.js +1 -1
  49. package/dist/server-storage-cleanup-routes.d.ts +3 -0
  50. package/dist/server-storage-cleanup-routes.js +19 -0
  51. package/dist/server-workspace-routes.d.ts +4 -1
  52. package/dist/server-workspace-routes.js +75 -9
  53. package/dist/server.js +21 -16
  54. package/dist/service-command-privilege.d.ts +17 -0
  55. package/dist/service-command-privilege.js +55 -0
  56. package/dist/service-manager/index.d.ts +3 -0
  57. package/dist/service-manager/index.js +3 -0
  58. package/dist/service-manager/launchd.d.ts +1 -0
  59. package/dist/service-manager/launchd.js +15 -0
  60. package/dist/service-manager/systemd.d.ts +1 -0
  61. package/dist/service-manager/systemd.js +11 -0
  62. package/dist/session-ai-context.js +17 -6
  63. package/dist/session-completion-state.d.ts +2 -0
  64. package/dist/session-completion-state.js +6 -2
  65. package/dist/session-logger.js +7 -1
  66. package/dist/session-model.d.ts +4 -0
  67. package/dist/session-model.js +13 -4
  68. package/dist/session-registry.d.ts +1 -1
  69. package/dist/session-registry.js +0 -3
  70. package/dist/silicon-employee-draft.js +0 -1
  71. package/dist/speech-service.js +18 -8
  72. package/dist/storage/mappers.js +6 -10
  73. package/dist/storage/migrations.js +14 -0
  74. package/dist/storage/uploads-repository.d.ts +36 -0
  75. package/dist/storage/uploads-repository.js +98 -0
  76. package/dist/storage-cleanup.d.ts +50 -0
  77. package/dist/storage-cleanup.js +344 -0
  78. package/dist/storage.d.ts +3 -1
  79. package/dist/storage.js +4 -0
  80. package/dist/structured-failure.d.ts +2 -0
  81. package/dist/structured-failure.js +9 -0
  82. package/dist/structured-grok-adapter.js +4 -4
  83. package/dist/structured-opencode-adapter.js +4 -9
  84. package/dist/structured-provider-common.d.ts +1 -2
  85. package/dist/structured-provider-common.js +3 -6
  86. package/dist/structured-session-manager-replay.js +2 -6
  87. package/dist/structured-session-manager.d.ts +1 -2
  88. package/dist/structured-session-manager.js +32 -25
  89. package/dist/task-organize-contract.d.ts +41 -0
  90. package/dist/task-organize-contract.js +4 -0
  91. package/dist/task-title-organize-service.d.ts +21 -0
  92. package/dist/task-title-organize-service.js +168 -0
  93. package/dist/task-title-organize.d.ts +77 -0
  94. package/dist/task-title-organize.js +346 -0
  95. package/dist/terminal-daemon-client.js +10 -48
  96. package/dist/time-utils.d.ts +2 -0
  97. package/dist/time-utils.js +7 -0
  98. package/dist/tui/attach.js +6 -5
  99. package/dist/tui/commands.d.ts +4 -1
  100. package/dist/tui/commands.js +36 -25
  101. package/dist/tui/index.js +2 -2
  102. package/dist/tui/service-actions.js +5 -4
  103. package/dist/tui/service-command.d.ts +6 -0
  104. package/dist/tui/service-command.js +40 -0
  105. package/dist/tui/service-panel.js +9 -8
  106. package/dist/types.d.ts +4 -4
  107. package/dist/upload-reference-guard.d.ts +4 -0
  108. package/dist/upload-reference-guard.js +29 -0
  109. package/dist/upload-routes.d.ts +4 -0
  110. package/dist/upload-routes.js +121 -21
  111. package/dist/user-profile.d.ts +1 -1
  112. package/dist/user-profile.js +8 -3
  113. package/dist/web-ui/content/ai-teams.js +9 -9
  114. package/dist/web-ui/content/module-manifest.json +1 -1
  115. package/dist/web-ui/content/modules/{2548dbe0d0783577/chat-render-EODYMQF6.js → 0051bd3d55f10ab7/chat-render-RY2I2CF3.js} +1 -1
  116. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-ZTEQSXPA.js → 0051bd3d55f10ab7/chunk-2F6J2MKX.js} +1 -1
  117. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-A33YPCY6.js → 0051bd3d55f10ab7/chunk-7AFM245W.js} +1 -1
  118. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-QNUWUMKW.js → 0051bd3d55f10ab7/chunk-MHX2QXIS.js} +1 -1
  119. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-WGADUEIT.js → 0051bd3d55f10ab7/chunk-RAAPETNH.js} +1 -1
  120. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-I3UYDQLS.js → 0051bd3d55f10ab7/chunk-RXKBHYUR.js} +2 -2
  121. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-3TCUG766.js → 0051bd3d55f10ab7/chunk-U4EDP4TI.js} +1 -1
  122. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-HK7RBU3M.js → 0051bd3d55f10ab7/chunk-WHXQR7JT.js} +1 -1
  123. package/dist/web-ui/content/modules/0051bd3d55f10ab7/employee-card-NV34TZIH.js +1 -0
  124. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-2PU6TV2I.js → 0051bd3d55f10ab7/host-2IVIZ2YC.js} +1 -1
  125. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-BPYNMKFC.js → 0051bd3d55f10ab7/host-AZXNFCRW.js} +1 -1
  126. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-HZIKPWYY.js → 0051bd3d55f10ab7/host-EPEQX22R.js} +1 -1
  127. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-YELXZID4.js → 0051bd3d55f10ab7/host-FZYIMOLC.js} +1 -1
  128. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-OGD6AWHL.js → 0051bd3d55f10ab7/host-G6GL4SNL.js} +1 -1
  129. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-E3SCPOIU.js → 0051bd3d55f10ab7/host-PEILC5NU.js} +1 -1
  130. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-OWD32FZ3.js → 0051bd3d55f10ab7/host-PHHNGVNL.js} +2 -2
  131. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-CXDAFMXX.js → 0051bd3d55f10ab7/host-Q524TMSR.js} +1 -1
  132. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-RO5MB6RB.js +69 -0
  133. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-J5XRAQFP.js → 0051bd3d55f10ab7/host-WOQRK6NG.js} +1 -1
  134. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-HKXE2DOT.js → 0051bd3d55f10ab7/host-XNIR3NTJ.js} +1 -1
  135. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-4E4H4JZJ.js → 0051bd3d55f10ab7/host-XRVOIEP6.js} +1 -1
  136. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-ZDKOQEMS.js +1 -0
  137. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-bridge-PMQZRG5G.js +1 -0
  138. package/dist/web-ui/content/modules/{2548dbe0d0783577/library-bridge-Y3Y24CPQ.js → 0051bd3d55f10ab7/library-bridge-DTMQIHVJ.js} +1 -1
  139. package/dist/web-ui/content/modules/{2548dbe0d0783577/page-GQBUU7T7.js → 0051bd3d55f10ab7/page-PY4JUL4W.js} +1 -1
  140. package/dist/web-ui/content/modules/{2548dbe0d0783577/panel-PG662OC5.js → 0051bd3d55f10ab7/panel-BBQFC55Q.js} +1 -1
  141. package/dist/web-ui/content/modules/0051bd3d55f10ab7/runtime.js +974 -0
  142. package/dist/web-ui/content/modules/0051bd3d55f10ab7/task-board-host-PXZSWBBG.js +2 -0
  143. package/dist/web-ui/content/modules/0051bd3d55f10ab7/workspace-agent-picker-DJSECSY6.js +1 -0
  144. package/dist/web-ui/content/modules/{2548dbe0d0783577/workspace-window-HV4T3WKR.js → 0051bd3d55f10ab7/workspace-window-MNMKSOBG.js} +1 -1
  145. package/dist/web-ui/content/styles.css +1 -1
  146. package/dist/web-ui/embedded-assets.d.ts +27 -27
  147. package/dist/web-ui/embedded-assets.js +4 -4
  148. package/dist/web-ui/provider-identity.d.ts +4 -5
  149. package/dist/web-ui/provider-identity.js +4 -10
  150. package/dist/web-ui/react/workspaces/sidebar-manage.d.ts +39 -0
  151. package/dist/web-ui/react/workspaces/sidebar-manage.js +149 -0
  152. package/dist/web-ui/react/workspaces/types.d.ts +408 -0
  153. package/dist/web-ui/react/workspaces/types.js +16 -0
  154. package/dist/web-ui/session-activity.js +1 -1
  155. package/package.json +2 -2
  156. package/dist/structured-gemini-adapter.d.ts +0 -40
  157. package/dist/structured-gemini-adapter.js +0 -208
  158. package/dist/web-ui/content/modules/2548dbe0d0783577/chunk-XGVT4ZWT.js +0 -1
  159. package/dist/web-ui/content/modules/2548dbe0d0783577/employee-card-LJ3TX72B.js +0 -1
  160. package/dist/web-ui/content/modules/2548dbe0d0783577/host-ITV2QZ4A.js +0 -1
  161. package/dist/web-ui/content/modules/2548dbe0d0783577/host-XNWC7KPR.js +0 -69
  162. package/dist/web-ui/content/modules/2548dbe0d0783577/host-bridge-G5HEVADT.js +0 -1
  163. package/dist/web-ui/content/modules/2548dbe0d0783577/runtime.js +0 -946
  164. package/dist/web-ui/content/modules/2548dbe0d0783577/task-board-host-RAN2Z2KR.js +0 -2
  165. package/dist/web-ui/content/modules/2548dbe0d0783577/workspace-agent-picker-FXLH6N5K.js +0 -1
  166. /package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-YX475LXO.js → 0051bd3d55f10ab7/chunk-6C6A2RHG.js} +0 -0
  167. /package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-NP35GDQ3.js → 0051bd3d55f10ab7/chunk-ECWYA3U5.js} +0 -0
  168. /package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-47EVOSJS.js → 0051bd3d55f10ab7/chunk-T35D57FW.js} +0 -0
  169. /package/dist/web-ui/content/modules/{2548dbe0d0783577 → 0051bd3d55f10ab7}/chunk-YOXXNXOX.js +0 -0
  170. /package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-C3K34WJD.js → 0051bd3d55f10ab7/chunk-YQJ6XYV7.js} +0 -0
  171. /package/dist/web-ui/content/modules/{2548dbe0d0783577/host-J6HBDK4A.js → 0051bd3d55f10ab7/host-2AQAIUNO.js} +0 -0
  172. /package/dist/web-ui/content/modules/{2548dbe0d0783577 → 0051bd3d55f10ab7}/sha256-ANXV72UC.js +0 -0
@@ -1,208 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import { startStructuredCli } from "./structured-exec-pump.js";
3
- import { asRecord } from "./structured-content.js";
4
- import { cliUnacceptedFacts } from "./structured-failure.js";
5
- import { promptWithSystemFallback } from "./structured-provider-common.js";
6
- /**
7
- * Gemini CLI 的会话写在 `~/.gemini/tmp/<project_hash>/chats/`。ID 找不回来时 headless
8
- * 会以 42 退出并打印下面这句,识别出来才能丢掉失效的 resume ID 重开一轮
9
- * (与 Claude / Pi 的同类兜底一致)。
10
- */
11
- export function isMissingGeminiSession(error) {
12
- if (!error)
13
- return false;
14
- return /Invalid session identifier|No previous sessions found/i.test(error);
15
- }
16
- /**
17
- * approval mode 映射。结构化 runner 没有权限桥,`default` 下需要确认的工具调用会被
18
- * 直接拒绝;`yolo` 才是能连续干活的那一档。
19
- */
20
- export function geminiApprovalMode(session) {
21
- if (session.autoApprovePermissions === true
22
- || session.mode === "full-access"
23
- || session.mode === "managed") {
24
- return "yolo";
25
- }
26
- if (session.mode === "auto-edit")
27
- return "auto_edit";
28
- return "default";
29
- }
30
- /**
31
- * `-p ""` 只把 CLI 钉在 headless 模式,真正的 prompt 走 stdin(Gemini CLI 把 stdin
32
- * 内容与 `-p` 内容用空行拼接,`-p` 为空时只剩 stdin)。这样长消息不撞 argv 上限,
33
- * 也不会出现在 `ps` 里。
34
- *
35
- * `--skip-trust` 必须带:headless 模式下 Gemini CLI 会检查工作区信任状态,未信任的
36
- * 目录会直接以 55 退出,并把 `--approval-mode` 降级成 `default`。Wand 是在用户自己
37
- * 选定的工作目录里代表用户启动这个 CLI,与其它 provider 的 auto-approve 语义一致。
38
- */
39
- export function buildGeminiArgs(session) {
40
- const args = ["-p", "", "--output-format", "stream-json", "--skip-trust"];
41
- const model = session.selectedModel?.trim();
42
- if (model && model !== "default")
43
- args.push("--model", model);
44
- args.push("--approval-mode", geminiApprovalMode(session));
45
- if (session.claudeSessionId)
46
- args.push("--resume", session.claudeSessionId);
47
- return args;
48
- }
49
- const GEMINI_TOOL_NAMES = {
50
- run_shell_command: "Bash",
51
- shell: "Bash",
52
- read_file: "Read",
53
- read_many_files: "Read",
54
- write_file: "Write",
55
- replace: "Edit",
56
- edit: "Edit",
57
- glob: "Glob",
58
- list_directory: "Glob",
59
- grep_search: "Grep",
60
- search_file_content: "Grep",
61
- web_search: "WebSearch",
62
- google_web_search: "WebSearch",
63
- web_fetch: "WebFetch",
64
- write_todos: "TodoWrite",
65
- todo_write: "TodoWrite",
66
- ask_user: "AskUserQuestion",
67
- activate_skill: "Skill",
68
- };
69
- export function geminiToolName(name) {
70
- return GEMINI_TOOL_NAMES[name.toLowerCase()] ?? `Gemini/${name}`;
71
- }
72
- function applyGeminiStats(state, stats) {
73
- const input = typeof stats.input_tokens === "number" ? stats.input_tokens : 0;
74
- const cached = typeof stats.cached === "number" ? stats.cached : 0;
75
- const output = typeof stats.output_tokens === "number" ? stats.output_tokens : 0;
76
- if (!input && !output)
77
- return;
78
- state.usage = {
79
- inputTokens: Math.max(input - cached, 0),
80
- outputTokens: output,
81
- cacheReadInputTokens: cached,
82
- };
83
- }
84
- function geminiToolOutput(event) {
85
- if (typeof event.output === "string" && event.output)
86
- return event.output;
87
- const error = asRecord(event.error);
88
- return typeof error?.message === "string" ? error.message : "";
89
- }
90
- /**
91
- * Apply one Gemini CLI `--output-format stream-json` event.
92
- *
93
- * assistant `message` 事件带 `delta: true`,每个 chunk 是增量而不是快照,所以文本是
94
- * 追加而不是替换。tool_use / tool_result 由 CLI 直接按 tool_id 配对,不需要 upsert。
95
- */
96
- export function applyGeminiEvent(state, event) {
97
- const type = typeof event.type === "string" ? event.type : "";
98
- if (type === "init") {
99
- if (typeof event.session_id === "string" && event.session_id)
100
- state.sessionId = event.session_id;
101
- if (typeof event.model === "string" && event.model)
102
- state.model = event.model;
103
- return null;
104
- }
105
- if (type === "message") {
106
- const content = typeof event.content === "string" ? event.content : "";
107
- if (event.role !== "assistant" || !content)
108
- return null;
109
- const previous = state.blocks.at(-1);
110
- if (previous?.type === "text")
111
- previous.text += content;
112
- else
113
- state.blocks.push({ type: "text", text: content });
114
- state.result += content;
115
- return null;
116
- }
117
- if (type === "tool_use") {
118
- const id = typeof event.tool_id === "string" && event.tool_id ? event.tool_id : "tool";
119
- const name = typeof event.tool_name === "string" && event.tool_name ? event.tool_name : "tool";
120
- state.blocks.push({ type: "tool_use", id, name: geminiToolName(name), input: asRecord(event.parameters) ?? {} });
121
- return null;
122
- }
123
- if (type === "tool_result") {
124
- const id = typeof event.tool_id === "string" && event.tool_id ? event.tool_id : "unknown";
125
- state.blocks.push({
126
- type: "tool_result",
127
- tool_use_id: id,
128
- content: geminiToolOutput(event),
129
- is_error: event.status === "error",
130
- });
131
- return null;
132
- }
133
- if (type === "error") {
134
- // warning 只是提示(例如循环检测),不应把整轮判成失败。
135
- if (event.severity !== "error")
136
- return null;
137
- return typeof event.message === "string" && event.message ? event.message : "Gemini CLI execution failed";
138
- }
139
- if (type === "result") {
140
- const stats = asRecord(event.stats);
141
- if (stats)
142
- applyGeminiStats(state, stats);
143
- if (event.status === "error") {
144
- const error = asRecord(event.error);
145
- const message = typeof error?.message === "string" ? error.message : "";
146
- return message || "Gemini CLI execution failed";
147
- }
148
- }
149
- return null;
150
- }
151
- export class GeminiRunner {
152
- spawnProcess;
153
- execHost;
154
- constructor(spawnProcess = spawn, execHost) {
155
- this.spawnProcess = spawnProcess;
156
- this.execHost = execHost;
157
- }
158
- start(context, observer) {
159
- const state = {
160
- blocks: [],
161
- result: "",
162
- sessionId: context.session.claudeSessionId,
163
- model: context.session.selectedModel ?? context.session.structuredState?.model,
164
- phase: "responding",
165
- };
166
- let primaryError = null;
167
- let protocolError = false;
168
- let unparsedStdout = false;
169
- return startStructuredCli({
170
- sessionId: context.session.id,
171
- file: "gemini",
172
- args: buildGeminiArgs(context.session),
173
- cwd: context.session.cwd,
174
- env: context.env,
175
- stdinData: promptWithSystemFallback(context.session, context.prompt),
176
- observer,
177
- execHost: this.execHost,
178
- spawnProcess: this.spawnProcess,
179
- createState: () => state,
180
- processLine: (line) => {
181
- if (!observer.isActive() || !line.trim())
182
- return;
183
- try {
184
- const event = JSON.parse(line);
185
- observer.onEvent?.(event);
186
- const error = applyGeminiEvent(state, event);
187
- if (error) {
188
- primaryError = primaryError ?? error;
189
- protocolError = true;
190
- }
191
- observer.onUpdate(state);
192
- }
193
- catch {
194
- unparsedStdout = true; /* Non-protocol stdout is not evidence of a safe refusal. */
195
- }
196
- },
197
- finalize: (ctx, exitCode, signal, spawnError) => ({
198
- state,
199
- exitCode,
200
- signal,
201
- stderr: ctx.stderr,
202
- primaryError,
203
- ...(spawnError ? { spawnError } : {}),
204
- ...cliUnacceptedFacts({ state, primaryError, protocolError, unparsedStdout, signal, ...(spawnError ? { spawnError } : {}) }),
205
- }),
206
- });
207
- }
208
- }
@@ -1 +0,0 @@
1
- import{shared37_n as r,shared37_q as e,shared37_r as d}from"./runtime.js";import{shared8_a as i}from"./runtime.js";import{shared9_c as g}from"./runtime.js";var a=g(i(),1);function f(l=!0){let[c,o]=(0,a.useState)(()=>e());return(0,a.useEffect)(()=>r(o),[]),(0,a.useEffect)(()=>{if(!l)return;let n=e();if(n){o(n);return}let t=new AbortController;return d(t.signal).then(u=>{t.signal.aborted||o(u)}).catch(()=>{}),()=>t.abort()},[l]),c}export{f as a};
@@ -1 +0,0 @@
1
- import{a as ze,b as Ue,c as He}from"./chunk-QNUWUMKW.js";import{g as Ve}from"./chunk-3TCUG766.js";import{shared60_M as De}from"./runtime.js";import{shared66_a as Y}from"./runtime.js";import{shared77_a as Be}from"./runtime.js";import{shared80_a as ue}from"./runtime.js";import "./runtime.js";import{shared72_c as me,shared72_i as xe}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared55_c as O,shared55_d as Oe,shared55_i as _e}from"./runtime.js";import{shared20_e as Ie,shared20_f as Ne,shared20_g as Pe,shared20_h as We,shared20_i as Le,shared20_j as U,shared20_k as Me,shared20_n as $e}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared15_d as X,shared15_e as Fe}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared70_a as G}from"./runtime.js";import "./runtime.js";import{shared58_a as F}from"./runtime.js";import{shared7_Ac as Ce,shared7_Ed as $,shared7_Fd as _,shared7_Gd as fe,shared7_Sc as M,shared7_Yb as ce,shared7_be as ke,shared7_cc as Ae,shared7_ld as N,shared7_md as J,shared7_xc as te,shared7_zd as C}from"./runtime.js";import{shared8_a as de}from"./runtime.js";import{shared9_c as S}from"./runtime.js";var f=S(de(),1);var D=S(de(),1);function ge(e){return e===0?"\u9996\u9009":`\u5907\u7528 ${e+1}`}function Ke(e){if(e.length>=O)return e;let a=e[e.length-1];return[...e,a?{...a}:De()]}function je(e,a,d){return e.map((c,s)=>s===a?{...d}:c)}function qe(e,a){return e.length<=1?e:e.filter((d,c)=>c!==a)}function Je(e,a,d){let c=a+d;if(c<0||c>=e.length)return e;let s=[...e],R=s[a];return s[a]=s[c],s[c]=R,s}function ye(e){let a=new Set,d=[];return e.forEach((c,s)=>{let R=Oe(c);a.has(R)?d.push(s):a.add(R)}),d}function pe(e){if(e.length===0)return"\u81F3\u5C11\u4FDD\u7559 1 \u4E2A\u6267\u884C\u5019\u9009\u3002";if(e.length>O)return`\u6267\u884C\u5019\u9009\u6700\u591A ${O} \u4E2A\u3002`;let a=ye(e);return a.length>0?`\u5019\u9009\u300C${ge(a[0])}\u300D\u4E0E\u66F4\u9760\u524D\u7684\u914D\u7F6E\u76F8\u540C\uFF0C\u6539\u4E00\u9879\u5373\u53EF\u3002`:""}var u=S(M(),1);function rt({id:e,agent:a,index:d,total:c,catalog:s,providerOptions:R,disabled:y,duplicate:w,ariaPrefix:b,structuredOnly:i=!1,onChange:x,onMove:r,onRemove:v}){let o=ge(d);return(0,u.jsx)("div",{"data-candidate-id":e,className:"wand-team-candidate","data-candidate-index":d,"data-duplicate":w||void 0,children:(0,u.jsxs)(C,{align:"start",gap:8,wrap:!0,className:"wand-team-candidate-inner",children:[(0,u.jsx)(Ce,{color:w?"error":void 0,className:"wand-team-candidate-tag",children:o}),(0,u.jsx)(C,{wrap:!0,gap:8,className:"wand-ai-team-member-agent",style:{flex:"1 1 200px",minWidth:0},children:(0,u.jsx)(Ve,{agent:a,disabled:y,catalog:s,providerOptions:R,ariaPrefix:`${b} ${o}`,showKind:!i,allowSdkEngine:!0,onChange:g=>x(i?{...g,kind:"structured"}:g)})}),(0,u.jsxs)(Ae,{className:"wand-team-candidate-tools",size:4,children:[(0,u.jsx)(ce,{title:"\u4E0A\u79FB",children:(0,u.jsx)(J,{"data-tool":"up","aria-label":`\u628A${o}\u4E0A\u79FB`,disabled:y||d===0,onClick:()=>r(-1),children:(0,u.jsx)(_,{name:"chevronUp",size:14})})}),(0,u.jsx)(ce,{title:"\u4E0B\u79FB",children:(0,u.jsx)(J,{"data-tool":"down","aria-label":`\u628A${o}\u4E0B\u79FB`,disabled:y||d===c-1,onClick:()=>r(1),children:(0,u.jsx)(_,{name:"chevronDown",size:14})})}),(0,u.jsx)(ce,{title:c<=1?"\u81F3\u5C11\u8981\u4FDD\u7559 1 \u4E2A\u5019\u9009":"\u5220\u9664\u8BE5\u5019\u9009",children:(0,u.jsx)(J,{"data-tool":"remove","aria-label":`\u5220\u9664${o}`,disabled:y||c<=1,onClick:v,children:(0,u.jsx)(_,{name:"close",size:14})})})]})]})})}function Ge({agents:e,label:a,catalog:d,providerOptions:c,disabled:s,structuredOnly:R=!1,onChange:y}){D.useEffect(()=>{Ue()},[]);let w=D.useRef(null),b=D.useRef(new Map),i=D.useRef([]);for(;i.current.length<e.length;)i.current.push(`c_${Math.random().toString(36).slice(2,9)}`);i.current.length>e.length&&(i.current=i.current.slice(0,e.length)),D.useLayoutEffect(()=>{let p=w.current;if(!p)return;if(p.closest("[inert], [hidden]")||p.getBoundingClientRect().height===0){b.current.clear();return}let h=Array.from(p.children).filter(m=>m instanceof HTMLElement&&m.hasAttribute("data-candidate-id")),n=new Map;h.forEach(m=>{let I=m.getAttribute("data-candidate-id");I&&n.set(I,m.getBoundingClientRect().top)});let E=typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;h.forEach(m=>{let I=m.getAttribute("data-candidate-id");if(!I)return;let W=b.current.get(I),H=n.get(I);if(W!==void 0&&H!==void 0&&W!==H){if(E){m.style.transform="",m.style.transition="";return}let Q=W-H;m.style.transform=`translateY(${Q}px)`,m.style.transition="none",requestAnimationFrame(()=>{m.style.transition="transform var(--motion-normal) var(--ease-in-out-smooth)",m.style.transform=""})}}),b.current=n});let x=ye(e),r=pe(e),v=()=>{let p=Ke(e);p!==e&&(i.current.push(`c_${Math.random().toString(36).slice(2,9)}`),y(p))},o=p=>{e.length<=1||(i.current.splice(p,1),y(qe(e,p)))},g=(p,h)=>{let n=p+h;if(n<0||n>=e.length)return;let E=i.current[p];i.current[p]=i.current[n],i.current[n]=E,y(Je(e,p,h))};return(0,u.jsx)("section",{className:"wand-team-candidates",role:"group","aria-label":`${a} \u7684\u6267\u884C\u5019\u9009`,children:(0,u.jsxs)(C,{vertical:!0,gap:8,children:[(0,u.jsxs)(C,{component:"header",wrap:!0,align:"baseline",gap:8,className:"wand-team-candidates-head",children:[(0,u.jsx)($.Text,{strong:!0,children:"\u6267\u884C\u5019\u9009"}),(0,u.jsxs)($.Text,{type:"secondary",children:["\u9996\u9009\u4E0D\u53EF\u7528\u65F6\u6309\u987A\u5E8F\u81EA\u52A8\u964D\u7EA7\uFF0C\u6700\u591A ",O," \u4E2A"]})]}),(0,u.jsx)(C,{vertical:!0,gap:8,ref:w,children:e.map((p,h)=>{let n=i.current[h]||`row-${h}`;return(0,u.jsx)(rt,{id:n,agent:p,index:h,total:e.length,catalog:d,providerOptions:c,disabled:s,duplicate:x.includes(h),ariaPrefix:a,structuredOnly:R,onChange:E=>y(je(e,h,E)),onMove:E=>g(h,E),onRemove:()=>o(h)},n)})}),(0,u.jsxs)(C,{wrap:!0,align:"center",gap:10,className:"wand-team-candidates-foot",children:[(0,u.jsxs)(N,{kind:"ghost",size:"small",disabled:s||e.length>=O,title:e.length>=O?`\u5DF2\u7ECF\u5230 ${O} \u4E2A\u5019\u9009\u4E0A\u9650`:"\u5728\u672B\u5C3E\u52A0\u4E00\u4E2A\u5907\u7528\u5019\u9009",onClick:v,children:[(0,u.jsx)(_,{name:"plus",size:14,slot:"start"}),(0,u.jsx)("span",{children:"\u6DFB\u52A0\u5019\u9009"})]}),r?(0,u.jsx)(F,{type:"error",showIcon:!0,className:"wand-team-candidate-error",role:"alert",title:r}):null]})]})})}var P=S(de(),1);var A=S(M(),1),nt=180;function Ye({employeeId:e,active:a}){let[d,c]=P.useState(null),[s,R]=P.useState(""),[y,w]=P.useState(null),[b,i]=P.useState({refresh:"",clear:""}),[x,r]=P.useState(!1),[v,o]=P.useState(""),g=P.useRef(0),p=`/api/silicon-employees/${encodeURIComponent(e)}/knowledge`;P.useEffect(()=>{let n=++g.current;if(r(!1),w(null),!a)return;c(null);let E=setTimeout(()=>{X(`${p}?q=${encodeURIComponent(s)}`).then(m=>{g.current===n&&(c(m),o(""))}).catch(m=>{g.current===n&&o(m instanceof Error?m.message:"\u8BFB\u53D6\u77E5\u8BC6\u5E93\u5931\u8D25\u3002")})},s?nt:0);return()=>{clearTimeout(E),g.current++}},[a,e,s]);let h=async n=>{if(!d||y)return;if(n==="clear"&&!x){r(!0);return}let E=++g.current;w(n),o(""),i(m=>({...m,[n]:""}));try{let m=await X(n==="clear"?p:`${p}?q=${encodeURIComponent(s)}`,{method:n==="clear"?"DELETE":"GET"});if(g.current!==E)return;c(m),r(!1),i(I=>({...I,[n]:n==="clear"?"\u5DF2\u6E05\u7A7A":"\u5DF2\u5237\u65B0"}))}catch(m){if(g.current!==E)return;i(I=>({...I,[n]:"\u64CD\u4F5C\u5931\u8D25"})),o(m instanceof Error?m.message:"\u77E5\u8BC6\u5E93\u64CD\u4F5C\u5931\u8D25\u3002")}finally{g.current===E&&w(null)}};return(0,A.jsx)(ue,{size:"small",title:"\u81EA\u5DF1\u7684\u77E5\u8BC6\u5E93",className:"wand-employee-memory","aria-label":"\u5458\u5DE5\u72EC\u7ACB\u77E5\u8BC6\u5E93",children:(0,A.jsxs)(C,{vertical:!0,gap:10,children:[(0,A.jsx)($.Paragraph,{type:"secondary",style:{margin:0},children:"\u5BF9\u8FD9\u4F4D\u5458\u5DE5\u8BF4\u300C\u8BB0\u4E00\u4E0B\uFF1A\u2026\u300D\u5373\u53EF\u4FDD\u5B58\uFF1B\u53EA\u5C5E\u4E8E\u8FD9\u4F4D\u5458\u5DE5\uFF0C\u6539\u540D\u3001\u6362\u4F1A\u8BDD\u4ECD\u4FDD\u7559\uFF0C\u4E0D\u968F\u77ED\u671F\u4E60\u60EF\u8FC7\u671F\u3002\u6BCF\u6761\u6700\u591A4000\u5B57\u7B26\uFF0C\u4E0D\u4FDD\u5B58\u51ED\u636E\u3002"}),(0,A.jsx)(C,{wrap:!0,gap:8,className:"wand-employee-knowledge-actions",children:["refresh","clear"].map(n=>(0,A.jsx)(N,{size:"small",kind:"ghost",disabled:!d||!!y,"aria-busy":y===n,onClick:()=>{h(n)},children:y===n?"\u5904\u7406\u4E2D\u2026":n==="clear"&&x?"\u786E\u8BA4\u6E05\u7A7A":b[n]||(n==="clear"?"\u6E05\u7A7A\u77E5\u8BC6\u5E93":"\u5237\u65B0\u77E5\u8BC6")},n))}),(0,A.jsx)($.Text,{type:"secondary",role:"status",children:x?"\u518D\u6B21\u70B9\u51FB\u786E\u8BA4\uFF0C\u53EA\u6E05\u7A7A\u6B64\u5458\u5DE5\u3002":"\u660E\u786E\u77E5\u8BC6\u4F1A\u4FDD\u7559\uFF0C\u76F4\u5230\u4F60\u5220\u9664\u3002"}),(0,A.jsx)(ke,{value:s,onValueChange:R,label:"\u641C\u7D22\u8FD9\u4F4D\u5458\u5DE5\u7684\u77E5\u8BC6",placeholder:"\u641C\u7D22\u81EA\u5DF1\u7684\u77E5\u8BC6\u2026"}),(0,A.jsx)($.Text,{type:"secondary","aria-live":"polite",children:d?`${d.total} / ${d.maxEntries} \u6761\u77E5\u8BC6`:"\u6B63\u5728\u8BFB\u53D6\u2026"}),(0,A.jsx)(Y,{size:"small",className:"wand-employee-knowledge-list",style:{maxHeight:240,overflow:"auto",whiteSpace:"pre-wrap",overflowWrap:"anywhere"},dataSource:d?.entries??[],locale:{emptyText:(0,A.jsx)(G,{image:G.PRESENTED_IMAGE_SIMPLE,description:s?"\u6CA1\u6709\u5339\u914D\u7684\u77E5\u8BC6\u3002":"\u8FD8\u6CA1\u6709\u660E\u786E\u8BB0\u5F55\u7684\u77E5\u8BC6\u3002"})},renderItem:n=>(0,A.jsx)(Y.Item,{children:n.content},n.id)}),v?(0,A.jsx)(F,{className:"wand-team-candidate-error",type:"error",showIcon:!0,role:"alert",title:v}):null]})})}var B=S(de(),1);var k=S(M(),1),ot={communication:"\u6C9F\u901A",workflow:"\u5DE5\u4F5C\u65B9\u5F0F",focus:"\u8FD1\u671F\u5173\u6CE8"};function Xe({active:e}){let[a,d]=B.useState(null),[c,s]=B.useState(null),[R,y]=B.useState({}),[w,b]=B.useState(""),i=B.useRef(0);B.useEffect(()=>{let r=++i.current;if(s(null),!!e)return d(null),X("/api/user-memory").then(v=>{i.current===r&&(d(v),b(""))}).catch(v=>{i.current===r&&b(v instanceof Error?v.message:"\u8BFB\u53D6\u8BB0\u5FC6\u5931\u8D25\u3002")}),()=>{i.current++}},[e]);let x=async r=>{if(!a||c)return;let v=++i.current;s(r),y(o=>({...o,[r]:""})),b("");try{let o=await X(r==="refresh"?"/api/user-memory/refresh":"/api/user-memory",r==="toggle"?Fe({enabled:!a.enabled},"PATCH"):{method:r==="clear"?"DELETE":"POST"});if(i.current!==v)return;d(o),y(g=>({...g,[r]:r==="toggle"?o.enabled?"\u5DF2\u5F00\u542F":"\u5DF2\u6682\u505C":r==="clear"?"\u5DF2\u6E05\u7A7A":o.updated?"\u5DF2\u66F4\u65B0":"\u6682\u65E0\u65B0\u8BB0\u5FC6"})),_e(Ie)}catch(o){if(i.current!==v)return;y(g=>({...g,[r]:"\u64CD\u4F5C\u5931\u8D25"})),b(o instanceof Error?o.message:"\u8BB0\u5FC6\u64CD\u4F5C\u5931\u8D25\u3002")}finally{i.current===v&&s(null)}};return(0,k.jsx)(ue,{size:"small",title:"\u7528\u6237\u77ED\u671F\u8BB0\u5FC6",className:"wand-employee-memory","aria-label":"\u7528\u6237\u77ED\u671F\u8BB0\u5FC6",children:(0,k.jsxs)(C,{vertical:!0,gap:10,children:[(0,k.jsx)($.Paragraph,{type:"secondary",style:{margin:0},children:"\u53EA\u53C2\u8003\u6700\u8FD1 30 \u5929\u7684\u6709\u6548\u63D0\u793A\u8BCD\u4E0E\u6210\u529F\u7684\u5173\u952E\u64CD\u4F5C\uFF0C\u6BCF\u5929\u6574\u7406\u4E00\u6B21\u3002\u5185\u5BB9\u4F1A\u7ECF\u654F\u611F\u4FE1\u606F\u8FC7\u6EE4\uFF0C\u6574\u7406\u4ECD\u7531\u7CFB\u7EDF\u8FD0\u7EF4\u5458\u5DE5\u7684 CLI \u5019\u9009\u6267\u884C\uFF1B\u8BF7\u52FF\u63D0\u4EA4\u51ED\u636E\u3002\u4E0D\u4F1A\u4FEE\u6539\u5DF2\u6709\u4F1A\u8BDD\u3001\u5176\u4ED6\u5458\u5DE5\u6216\u5DE5\u5177\u6743\u9650\u3002"}),(0,k.jsx)(C,{wrap:!0,gap:8,className:"wand-employee-memory-actions",children:["toggle","refresh","clear"].map(r=>(0,k.jsx)(N,{size:"small",kind:"ghost",disabled:!a||!!c||r==="refresh"&&!a.enabled,"aria-busy":c===r,onClick:()=>{x(r)},children:c===r?"\u5904\u7406\u4E2D\u2026":R[r]||(r==="toggle"?a?.enabled?"\u6682\u505C\u8BB0\u5FC6":"\u6062\u590D\u8BB0\u5FC6":r==="refresh"?"\u6574\u7406\u8BB0\u5FC6":"\u6E05\u7A7A\u8BB0\u5FC6")},r))}),(0,k.jsx)($.Text,{type:"secondary","aria-live":"polite",children:a?`${a.enabled?"\u5DF2\u5F00\u542F":"\u5DF2\u6682\u505C"} \xB7 ${a.eventCount} \u6761\u8FD1\u671F\u8BB0\u5F55${a.profile?` \xB7 \u6700\u8FD1\u6574\u7406 ${new Date(a.profile.generatedAt).toLocaleString()}`:" \xB7 \u5C1A\u672A\u5F62\u6210\u504F\u597D"}`:"\u6B63\u5728\u8BFB\u53D6\u8BB0\u5FC6\u2026"}),(0,k.jsx)(Y,{size:"small",dataSource:a?.profile?.preferences??[],locale:{emptyText:(0,k.jsx)(G,{image:G.PRESENTED_IMAGE_SIMPLE,description:"\u5C1A\u672A\u5F62\u6210\u504F\u597D\u3002"})},renderItem:(r,v)=>(0,k.jsxs)(Y.Item,{children:[(0,k.jsxs)("span",{children:[ot[r.category],"\uFF1A"]}),r.text]},`${r.category}-${v}`)}),w||a?.lastError?(0,k.jsx)(F,{className:"wand-team-candidate-error",type:"error",showIcon:!0,role:"alert",title:w||a?.lastError}):null]})})}var ve=S(M(),1);function Qe({id:e,value:a,disabled:d,onChange:c}){return(0,ve.jsx)(me,{label:"\u6807\u7B7E",htmlFor:e,hint:`\u6700\u591A ${We} \u4E2A\uFF0C\u6BCF\u4E2A ${Le} \u5B57\uFF1B\u300C\u7CFB\u7EDF\u7528\u6237\u300D\u300C\u9ED8\u8BA4\u7528\u6237\u300D\u7531\u7CFB\u7EDF\u4FDD\u7559\uFF0C\u4E0D\u80FD\u81EA\u5B9A\u4E49\u3002`,children:(0,ve.jsx)(te,{id:e,value:a,placeholder:"\u4F8B\u5982\uFF1A\u5F00\u53D1\u3001\u6D4B\u8BD5\u3001\u8BBE\u8BA1\uFF08\u7528\u9017\u53F7\u5206\u9694\uFF09",disabled:d,onChange:s=>c(s.target.value)})})}var t=S(M(),1);function oa({employee:e,catalog:a,providerOptions:d,onSave:c,onArchive:s,onUnarchive:R,onDelete:y,onCancel:w,onBack:b,onDirtyChange:i,onSavingChange:x}){let[r,v]=f.useState(e),[o,g]=f.useState(e),[p,h]=f.useState(()=>U(e).join("\uFF0C")),[n,E]=f.useState(!1),[m,I]=f.useState(!1),[W,H]=f.useState(!1),[Q,he]=f.useState(!1),[Ze,et]=f.useReducer(l=>l+1,0),[ae,K]=f.useState(""),[Ee,re]=f.useState(""),[ne,j]=f.useState("idle"),Re=f.useRef(null),be=f.useRef(null),we=f.useRef(null),Z=$e(e),oe=Pe(e),z=oe&&!Z,q=JSON.stringify(o)!==JSON.stringify(r)||p!==U(r).join("\uFF0C"),Te=f.useRef(q);Te.current=q;let T=W||Q;f.useEffect(()=>{He()},[]),f.useEffect(()=>{i?.(q)},[q,i]),f.useEffect(()=>{x?.(T)},[T,x]),f.useEffect(()=>{Te.current||W||Q||(v(e),g(e),h(U(e).join("\uFF0C")))},[e]);let ee=l=>{g(L=>({...L,...l})),K(""),re(""),j("idle")},Se=()=>{W||(et(),he(!1),g(r),h(U(r).join("\uFF0C")),K(""),re("\u5DF2\u64A4\u9500\u672C\u6B21\u4FEE\u6539"),j("idle"),w?.())},tt=async()=>{if(T||!q)return;let l=o.agents.some(L=>L.kind!=="structured")?"\u7845\u57FA\u5458\u5DE5\u53EA\u80FD\u4F7F\u7528\u7ED3\u6784\u5316\u5019\u9009\u3002":pe(o.agents);if(l){j("failed"),K(l),we.current?.scrollIntoView({block:"start"});return}if(!o.name.trim()){j("failed"),K("\u5458\u5DE5\u540D\u5B57\u4E0D\u80FD\u4E3A\u7A7A\u3002"),requestAnimationFrame(()=>Re.current?.focus());return}try{let L=oe?U(r):Me(p),V={...o,tags:L},se=Z?{}:V;if(Z)for(let le of["name","duty","prompt","agents"])JSON.stringify(V[le])!==JSON.stringify(r[le])&&Object.assign(se,{[le]:V[le]});H(!0),K(""),await c(se),v(V),g(V),re("\u5458\u5DE5\u8D44\u6599\u5DF2\u4FDD\u5B58"),j("saved")}catch(L){j("failed"),K(L instanceof Error?L.message:"\u4FDD\u5B58\u5458\u5DE5\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002")}finally{H(!1)}},at=()=>{E(!1),requestAnimationFrame(()=>be.current?.focus())},ie=(l,L,V,se)=>(0,t.jsx)(me,{label:l,htmlFor:L,hint:se,children:V});return(0,t.jsxs)("main",{className:"profile wand-employee-card wand-team-member","data-employee-profile":!0,"data-open":"true","data-employee-id":e.id,onKeyDown:l=>{l.key==="Escape"&&!l.defaultPrevented&&!l.nativeEvent.isComposing&&!T&&(l.preventDefault(),l.stopPropagation(),Se())},children:[(0,t.jsxs)("header",{className:"profile-header",children:[(0,t.jsxs)("div",{className:"profile-heading",children:[b&&(0,t.jsx)(J,{"aria-label":"\u8FD4\u56DE\u5458\u5DE5\u5217\u8868",disabled:T,onClick:b,children:(0,t.jsx)(_,{name:"chevronLeft",size:18})}),(0,t.jsx)("h2",{children:"\u7F16\u8F91\u5458\u5DE5"})]}),(0,t.jsxs)("div",{className:"save-actions",children:[Q&&(0,t.jsx)("span",{className:"dirty",role:"status",children:"\u6B63\u5728\u5904\u7406\u56FE\u7247\u2026"}),(0,t.jsx)(N,{kind:"ghost",onClick:Se,disabled:W,children:"\u53D6\u6D88"}),(0,t.jsx)(xe,{className:"wand-employee-save-submit",kind:"primary",onClick:()=>{tt()},disabled:!q||T,pending:W,settled:ne==="saved"?"success":ne==="failed"?"error":null,pendingLabel:"\u4FDD\u5B58\u4E2D\u2026",successLabel:"\u5DF2\u4FDD\u5B58",errorLabel:"\u4FDD\u5B58\u5931\u8D25",children:ne==="saved"?"\u5DF2\u4FDD\u5B58":ne==="failed"?"\u4FDD\u5B58\u5931\u8D25":"\u4FDD\u5B58\u4FEE\u6539"})]})]}),(ae||Ee)&&(0,t.jsx)("div",{className:`feedback ${ae?"error":""}`,role:ae?"alert":"status",children:ae||Ee}),(0,t.jsx)("div",{className:"profile-body",children:(0,t.jsxs)("div",{className:"editor",children:[(0,t.jsxs)("div",{className:"identity-summary",children:[(0,t.jsx)(Be,{employee:o,provider:"",size:"lg"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("strong",{children:o.name||"\u672A\u547D\u540D\u5458\u5DE5"}),(0,t.jsx)("small",{children:U(e).join(" \xB7 ")||"\u7845\u57FA\u5458\u5DE5"})]}),(0,t.jsxs)(N,{ref:be,size:"small",kind:"ghost","aria-expanded":n,onClick:()=>E(l=>!l),children:[(0,t.jsx)(_,{name:Z||z?"lock":"edit",size:13}),n?"\u6536\u8D77\u5934\u50CF":Z||z?"\u67E5\u770B\u5934\u50CF":"\u7F16\u8F91\u5934\u50CF"]})]}),n&&(0,t.jsx)(ze,{employee:o,disabled:W||z,onChange:l=>ee({avatar:l}),onBusyChange:he,onClose:at},Ze),z&&(0,t.jsx)(F,{type:"info",title:"\u5185\u7F6E\u5458\u5DE5\u5DF2\u9501\u5B9A",description:"\u540D\u5B57\u3001\u5934\u50CF\u3001\u804C\u8D23\u3001\u89D2\u8272\u8BBE\u5B9A\u4E0E\u6807\u7B7E\u4E0D\u53EF\u4FEE\u6539\uFF0C\u4E5F\u4E0D\u80FD\u5F52\u6863\u6216\u5220\u9664\uFF1B\u6267\u884C\u5019\u9009\u4ECD\u53EF\u7F16\u8F91\u3002"}),(0,t.jsx)("section",{id:"identity",className:"form-section","aria-label":"\u4E2A\u4EBA\u8D44\u6599",children:(0,t.jsxs)("div",{className:"identity-fields",children:[ie("\u5458\u5DE5\u540D\u5B57",`employee-${e.id}-name`,(0,t.jsx)(fe,{ref:Re,id:`employee-${e.id}-name`,value:o.name,maxLength:40,disabled:T||z,onChange:l=>ee({name:l.target.value})})),(0,t.jsx)(Qe,{id:`employee-${e.id}-tags`,value:p,disabled:T||oe,onChange:l=>{h(l),re("")}})]})}),(0,t.jsxs)("section",{id:"role",className:"form-section","aria-label":"\u804C\u8D23\u4E0E\u89D2\u8272",children:[ie("\u4E00\u53E5\u8BDD\u804C\u8D23",`employee-${e.id}-duty`,(0,t.jsx)(te.TextArea,{id:`employee-${e.id}-duty`,value:o.duty,autoSize:{minRows:2,maxRows:8},style:{resize:"none"},maxLength:2e3,disabled:T||z,onChange:l=>ee({duty:l.target.value})})),ie("\u89D2\u8272\u8BBE\u5B9A",`employee-${e.id}-prompt`,(0,t.jsx)(te.TextArea,{id:`employee-${e.id}-prompt`,value:o.prompt,autoSize:{minRows:5,maxRows:14},style:{resize:"none"},maxLength:2e4,disabled:T||z,onChange:l=>ee({prompt:l.target.value})}),"\u7528\u4E8E\u6B64\u5458\u5DE5\u4E4B\u540E\u7684\u65B0\u5DE5\u4F5C\uFF1B\u5DF2\u6709\u6267\u884C\u5FEB\u7167\u4FDD\u6301\u4E0D\u53D8\u3002")]}),(0,t.jsx)("section",{id:"tools",ref:we,className:"form-section",children:(0,t.jsx)(Ge,{agents:o.agents,label:o.name||"\u5458\u5DE5",catalog:a,providerOptions:d,disabled:T,structuredOnly:!0,onChange:l=>ee({agents:l})})}),(0,t.jsx)("section",{id:"advanced",className:"form-section",children:(0,t.jsxs)("details",{className:"advanced-details",open:m,onToggle:l=>I(l.currentTarget.open),children:[(0,t.jsx)("summary",{children:"\u77E5\u8BC6\u4E0E\u5458\u5DE5\u7BA1\u7406"}),(0,t.jsxs)("div",{className:"advanced-content",children:[ie("\u5458\u5DE5 ID",`employee-${e.id}-id`,(0,t.jsx)(fe,{id:`employee-${e.id}-id`,value:e.id,readOnly:!0})),Ne(e)&&(0,t.jsx)(Xe,{active:m}),(0,t.jsx)(Ye,{employeeId:e.id,active:m}),!oe&&(0,t.jsxs)("div",{className:"save-actions",children:[e.archivedAt?R&&(0,t.jsx)(N,{disabled:T,onClick:()=>{R()},children:"\u6062\u590D\u5458\u5DE5"}):s&&(0,t.jsx)(N,{disabled:T,onClick:()=>{s()},children:"\u5F52\u6863\u5458\u5DE5"}),y&&(0,t.jsx)(N,{kind:"danger",disabled:T,onClick:()=>{y()},children:"\u5220\u9664\u5458\u5DE5"})]})]})]})})]})})]})}export{oa as EmployeeCard};
@@ -1 +0,0 @@
1
- import{a as mt,b as We,c as oe,d as ut,e as ft}from"./chunk-I3UYDQLS.js";import{a as lt,b as dt}from"./chunk-NP35GDQ3.js";import{shared35_b as gt}from"./runtime.js";import{shared36_c as pt,shared36_d as Ae,shared36_g as ct}from"./runtime.js";import{shared32_a as M,shared32_b as S}from"./runtime.js";import{shared13_a as Me}from"./runtime.js";import "./runtime.js";import{a as at}from"./chunk-XGVT4ZWT.js";import{shared49_g as we,shared49_h as it,shared49_i as st}from"./runtime.js";import{shared63_b as ge}from"./runtime.js";import{shared14_a as Re}from"./runtime.js";import{shared77_a as Ee}from"./runtime.js";import{a as rt}from"./chunk-YX475LXO.js";import{shared51_a as H}from"./runtime.js";import "./runtime.js";import{shared37_h as ue,shared37_i as nt,shared37_m as Oe}from"./runtime.js";import "./runtime.js";import{shared18_a as tt}from"./runtime.js";import{shared55_l as ot}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared19_k as $e,shared19_l as Ne,shared19_m as Z,shared19_n as Se}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared68_c as $}from"./runtime.js";import "./runtime.js";import "./runtime.js";import{shared53_b as b}from"./runtime.js";import "./runtime.js";import "./runtime.js";import{shared10_a as fe}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared27_a as et}from"./runtime.js";import{shared58_a as ee}from"./runtime.js";import{shared7_$d as te,shared7_C as de,shared7_Ed as u,shared7_F as qe,shared7_Fd as Qe,shared7_Gd as me,shared7_M as Pe,shared7_Nd as Xe,shared7_Sc as ce,shared7_cc as Fe,shared7_de as Ze,shared7_ld as N,shared7_od as Je,shared7_ra as Ue,shared7_vc as pe,shared7_wb as Ye,shared7_zd as g}from"./runtime.js";import{shared8_a as Ve}from"./runtime.js";import{shared9_c as G}from"./runtime.js";function wt({provider:o,mode:s,kind:l,engine:w}){return o==="codex"?"Codex \u81EA\u52A8\u6279\u51C6\u5DE5\u5177\u8C03\u7528\uFF0C\u5E76\u5173\u95ED Codex \u7684\u6C99\u76D2\u9650\u5236\u3002":o==="opencode"?s==="full-access"||s==="managed"||s==="auto-edit"?"OpenCode \u81EA\u52A8\u6279\u51C6\u672A\u663E\u5F0F\u62D2\u7EDD\u7684\u6743\u9650\u8BF7\u6C42\u3002":l==="structured"?"OpenCode \u4F7F\u7528\u81EA\u8EAB\u6743\u9650\u914D\u7F6E\uFF1B\u5BF9\u8BDD\u4E2D\u672A\u6279\u51C6\u7684\u5DE5\u5177\u8C03\u7528\u4F1A\u88AB\u62D2\u7EDD\u3002":"OpenCode \u4F7F\u7528\u81EA\u8EAB\u6743\u9650\u914D\u7F6E\uFF0C\u5728\u7EC8\u7AEF\u4E2D\u5904\u7406\u6743\u9650\u786E\u8BA4\u3002":o==="grok"?s==="full-access"||s==="managed"?"Grok \u81EA\u52A8\u6279\u51C6\u5DE5\u5177\u6743\u9650\u8BF7\u6C42\u3002":"Grok \u4F7F\u7528\u81EA\u8EAB\u6743\u9650\u914D\u7F6E\uFF1B\u9700\u8981\u786E\u8BA4\u7684\u64CD\u4F5C\u53EF\u80FD\u7B49\u5F85\u6216\u88AB\u963B\u6B62\u3002":o==="qoder"?"Qoder \u5728\u6240\u6709\u6A21\u5F0F\u4E0B\u90FD\u8DF3\u8FC7\u5DE5\u5177\u6743\u9650\u786E\u8BA4\u3002":o==="pi"?w==="sdk"?"Wand Agent \u5728 Wand \u5185\u6267\u884C\uFF0C\u4F7F\u7528\u5F53\u524D\u4F1A\u8BDD\u914D\u7F6E\u7684\u5DE5\u5177\u4E0E\u6269\u5C55\u3002":"Pi CLI \u4F7F\u7528\u81EA\u8EAB\u5DE5\u5177\u4E0E\u6269\u5C55\u914D\u7F6E\uFF1B\u8FD9\u91CC\u7684\u6A21\u5F0F\u4E0D\u4F1A\u589E\u52A0\u9010\u9879\u6743\u9650\u786E\u8BA4\u3002":o==="gemini"?s==="full-access"||s==="managed"||l==="pty"&&s==="auto-edit"?"Gemini \u81EA\u52A8\u6279\u51C6\u5168\u90E8\u5DE5\u5177\u8C03\u7528\u3002":s==="auto-edit"?"Gemini \u81EA\u52A8\u6279\u51C6\u7F16\u8F91\u5DE5\u5177\uFF1B\u5176\u4ED6\u5DE5\u5177\u4ECD\u9075\u5FAA\u81EA\u8EAB\u6743\u9650\u914D\u7F6E\u3002":l==="structured"?"Gemini \u4F7F\u7528\u81EA\u8EAB\u6743\u9650\u914D\u7F6E\uFF1B\u5BF9\u8BDD\u4E2D\u672A\u6279\u51C6\u7684\u5DE5\u5177\u8C03\u7528\u4F1A\u88AB\u62D2\u7EDD\u3002":"Gemini \u4F7F\u7528\u81EA\u8EAB\u6743\u9650\u914D\u7F6E\uFF0C\u5728\u7EC8\u7AEF\u4E2D\u5904\u7406\u6743\u9650\u786E\u8BA4\u3002":s==="full-access"?"Claude \u81EA\u52A8\u6279\u51C6\u5DE5\u5177\u6743\u9650\u8BF7\u6C42\uFF0C\u53EF\u8FDE\u7EED\u6267\u884C\u4FEE\u6539\u3002":s==="auto-edit"?"Claude \u81EA\u52A8\u6279\u51C6\u6587\u4EF6\u7F16\u8F91\uFF1B\u5176\u4ED6\u5DE5\u5177\u6309\u5F53\u524D\u4F1A\u8BDD\u6743\u9650\u7B56\u7565\u5904\u7406\u3002":s==="managed"?"Claude \u6309\u76EE\u6807\u8FDE\u7EED\u6267\u884C\uFF0C\u5E76\u81EA\u52A8\u6279\u51C6\u5DE5\u5177\u6743\u9650\u8BF7\u6C42\uFF1B\u7F3A\u5C11\u5FC5\u8981\u4FE1\u606F\u6216\u5DE5\u5177\u5931\u8D25\u65F6\u4ECD\u53EF\u80FD\u505C\u6B62\u3002":"Claude \u4FDD\u7559\u5DE5\u5177\u6267\u884C\u65B9\u5F0F\uFF0C\u64CD\u4F5C\u8BF7\u6C42\u6309\u5F53\u524D\u4F1A\u8BDD\u6743\u9650\u7B56\u7565\u5904\u7406\u3002"}function De(o){return o.kind!=="shell"&&(o.mode==="full-access"||o.mode==="managed"||o.provider==="codex"||o.provider==="qoder"||o.provider==="gemini"&&o.kind==="pty"&&o.mode==="auto-edit")}var y=G(Ve());var{Option:yt}=$;function ht(o){return o?.type&&(o.type.isSelectOption||o.type.isSelectOptGroup)}var At=(o,s)=>{let{prefixCls:l,className:w,style:e,popupClassName:d,dropdownClassName:B,children:E,dataSource:f,rootClassName:x,dropdownStyle:h,dropdownRender:m,popupRender:p,onDropdownVisibleChange:L,onOpenChange:V,styles:q,classNames:K,popupMatchSelectWidth:ye,dropdownMatchSelectWidth:ne}=o,O=qe(E),A=p||m,U=V||L,ie=ye??ne,W;O.length===1&&y.isValidElement(O[0])&&!ht(O[0])&&([W]=O);let se=W?()=>W:void 0,Y;O.length&&ht(O[0])?Y=E:Y=f?f.map(v=>{if(y.isValidElement(v))return v;switch(typeof v){case"string":return y.createElement(yt,{key:v,value:v},v);case"object":{let{value:J}=v;return y.createElement(yt,{key:J,value:J},v.text)}default:return}}):[];let{getPrefixCls:he}=y.useContext(Ue),k=he("select",l),z={...o,popupRender:A,onOpenChange:U,popupMatchSelectWidth:ie},[I,C]=Ye([K],[q],{props:z},{popup:{_default:"root"}}),ae=y.useMemo(()=>({root:Pe(`${k}-auto-complete`,w,x,I.root,{[`${k}-customize`]:W}),prefix:I.prefix,input:I.input,placeholder:I.placeholder,content:I.content,clear:I.clear,popup:{root:Pe(d,B,I.popup.root),list:I.popup.list,listItem:I.popup.listItem}}),[k,w,x,I,d,B]),re=y.useMemo(()=>({root:{...C.root,...e},input:C.input,prefix:C.prefix,placeholder:C.placeholder,content:C.content,clear:C.clear,popup:{root:{...h,...C.popup.root},list:C.popup.list,listItem:C.popup.listItem}}),[C,e,h]);return y.createElement($,{ref:s,suffixIcon:null,...de(o,["dataSource","dropdownClassName","popupClassName","onDropdownVisibleChange","onOpenChange"]),prefixCls:k,classNames:ae,styles:re,mode:$.SECRET_COMBOBOX_MODE_DO_NOT_USE,popupRender:A,onOpenChange:U,popupMatchSelectWidth:ie,getInputElement:se},Y)},Wt=y.forwardRef(At),Be=Wt;var{Option:Dt}=$,Bt=Je(Be,"popupAlign",o=>de(o,["visible"])),Le=Be;Le.Option=Dt;Le._InternalPanelDoNotUseOrYouWillBeFired=Bt;var kt=Le;var r=G(Ve(),1);function It(o,s,l){if(o.length===0)return s;if(l==="Home")return o[0];if(l==="End")return o[o.length-1];let w=Math.max(0,o.indexOf(s));return o[(w+(l==="ArrowRight"||l==="ArrowDown"?1:-1)+o.length)%o.length]}var P=G(ce(),1);function Ct({form:o,initialName:s,disabled:l,cwd:w,onChange:e}){let{groups:d,loading:B,error:E,reload:f}=gt(),x=d.flatMap(m=>m.tasks.filter(p=>!p.archived).map(p=>({task:p,group:m}))),h=x.find(({task:m})=>m.id===o.workspaceTaskId);return(0,P.jsxs)(g,{vertical:!0,gap:8,children:[(0,P.jsx)(b.Item,{label:"\u6240\u5C5E\u4EFB\u52A1",style:{marginBottom:0},children:(0,P.jsx)(te,{ariaLabel:"\u6240\u5C5E\u4EFB\u52A1",className:"wand-new-session-model-select",disabled:l,searchable:!0,searchPlaceholder:"\u641C\u7D22\u4EFB\u52A1",value:o.workspaceTaskId||(o.taskName!==void 0?"new":""),options:[{value:"",label:"\u4E0D\u5206\u7EC4"},{value:"new",label:"\u65B0\u5EFA\u4EFB\u52A1\u2026"},...o.workspaceTaskId&&!h?[{value:o.workspaceTaskId,label:o.taskName||s||"\u5F53\u524D\u4EFB\u52A1"}]:[],...x.map(({task:m,group:p})=>({value:m.id,label:m.name,group:p.workspaceName}))],onValueChange:m=>{let p=x.find(({task:L})=>L.id===m);p?e({...o,workspaceTaskId:p.task.id,workspaceId:p.task.workspaceId,taskName:void 0,cwd:p.task.worktree?.path||p.task.cwd||p.group.workspaceCwd}):(m===""||m==="new")&&e({...o,workspaceTaskId:void 0,workspaceId:h&&!h.group.synthetic&&!h.group.global?h.group.workspaceId:o.workspaceId,cwd:h?.group.workspaceCwd||w,taskName:m==="new"?o.taskName??"":void 0})}})}),o.taskName!==void 0&&!o.workspaceTaskId?(0,P.jsx)(b.Item,{label:"\u4EFB\u52A1\u540D\u79F0",htmlFor:"wand-new-session-task-name",required:!0,style:{marginBottom:0},extra:"\u5148\u521B\u5EFA\u4EFB\u52A1\uFF0C\u518D\u5728\u4EFB\u52A1\u4E2D\u542F\u52A8\u4F1A\u8BDD\u3002",children:(0,P.jsx)(me,{id:"wand-new-session-task-name",value:o.taskName,disabled:l,maxLength:200,placeholder:"\u8F93\u5165\u4EFB\u52A1\u540D\u79F0",onChange:m=>e({...o,taskName:m.currentTarget.value})})}):null,B?(0,P.jsx)("span",{role:"status",children:"\u6B63\u5728\u52A0\u8F7D\u5DF2\u6709\u4EFB\u52A1\u2026"}):null,E?(0,P.jsx)(ee,{type:"warning",title:E,action:(0,P.jsx)(N,{size:"small",onClick:()=>{f()},children:"\u91CD\u8BD5"})}):null]})}async function vt(o,s,l){if(o.workspaceTaskId||o.taskName===void 0)return o;let w=o.taskName.trim();if(!w)throw new Error("\u8BF7\u8F93\u5165\u4EFB\u52A1\u540D\u79F0\u3002");let e={name:w,cwd:s,worktree:!1},d=o.workspaceId?await l.createTask(o.workspaceId,e):await l.createStandaloneTask(e);if(!d.id)throw new Error("\u670D\u52A1\u7AEF\u672A\u8FD4\u56DE\u65B0\u4EFB\u52A1 ID\uFF0C\u8BF7\u5237\u65B0\u4EFB\u52A1\u5217\u8868\u6838\u5BF9\u540E\u518D\u521B\u5EFA\u4F1A\u8BDD\u3002");return{...o,taskName:w,workspaceId:d.workspaceId,workspaceTaskId:d.id,cwd:d.cwd}}var n=G(ce(),1);function Tt(o){return o?Ne(Z(o.provider,o.engine)):null}var Ke=[{value:"managed",label:"\u6258\u7BA1",description:"\u6309\u76EE\u6807\u8FDE\u7EED\u6267\u884C"},{value:"full-access",label:"\u5B8C\u5168\u8BBF\u95EE",description:"\u81EA\u52A8\u786E\u8BA4\u6743\u9650"},{value:"auto-edit",label:"\u81EA\u52A8\u7F16\u8F91",description:"\u81EA\u52A8\u786E\u8BA4\u4FEE\u6539"},{value:"default",label:"\u6807\u51C6",description:"\u4F7F\u7528\u5DE5\u5177\u9ED8\u8BA4\u6743\u9650\u914D\u7F6E"},{value:"native",label:"\u539F\u751F",description:"\u4FDD\u7559\u5DE5\u5177\u539F\u751F\u6267\u884C\u65B9\u5F0F"}];function D(o){return(o??"").trim()||ue}function Lt(o){return o.kind==="pty"?"\u7EC8\u7AEF\u4F7F\u7528 PTY\uFF0C\u76F4\u63A5\u5448\u73B0\u547D\u4EE4\u884C\u5DE5\u5177\u7684\u4EA4\u4E92\u754C\u9762\u4E0E\u539F\u59CB\u8F93\u51FA\u3002":o.engine==="sdk"?"Wand Agent \u4F7F\u7528 Wand \u8FDB\u7A0B\u5185 SDK\uFF0C\u4E0D\u542F\u52A8 Pi CLI\u3002":o.provider==="codex"?"\u5BF9\u8BDD\u89E3\u6790 Codex \u7684 JSONL \u4E8B\u4EF6\u3002":o.provider==="pi"||o.provider==="opencode"?"\u5BF9\u8BDD\u89E3\u6790\u547D\u4EE4\u884C\u5DE5\u5177\u7684 JSON \u4E8B\u4EF6\u3002":o.provider==="grok"?"\u5BF9\u8BDD\u89E3\u6790 Grok \u7684 streaming-json \u4E8B\u4EF6\u3002":"\u5BF9\u8BDD\u89E3\u6790\u547D\u4EE4\u884C\u5DE5\u5177\u7684 stream-json \u4E8B\u4EF6\u3002"}function Kt({provider:o,kind:s,engine:l}){return s==="shell"?"\u65E0\u6CD5\u542F\u52A8\u7A7A\u767D\u7EC8\u7AEF\uFF0C\u8BF7\u68C0\u67E5\u670D\u52A1\u7AEF Shell \u914D\u7F6E\u3002":l==="sdk"?"\u65E0\u6CD5\u542F\u52A8 Wand Agent \u5BF9\u8BDD\uFF0C\u8BF7\u68C0\u67E5\u670D\u52A1\u7AEF Agent \u914D\u7F6E\u4E0E\u6A21\u578B\u53EF\u7528\u6027\u3002":s==="structured"?"\u65E0\u6CD5\u542F\u52A8\u5BF9\u8BDD\uFF0C\u8BF7\u68C0\u67E5\u6240\u9009\u5DE5\u5177\u662F\u5426\u53EF\u7528\u53CA\u6A21\u578B\u914D\u7F6E\u3002":o==="codex"?"\u65E0\u6CD5\u542F\u52A8 Codex \u4F1A\u8BDD\uFF0C\u8BF7\u786E\u8BA4 codex \u5DF2\u6B63\u786E\u5B89\u88C5\u5E76\u53EF\u5728\u7EC8\u7AEF\u4E2D\u6267\u884C\u3002":o==="opencode"?"\u65E0\u6CD5\u542F\u52A8 OpenCode \u4F1A\u8BDD\uFF0C\u8BF7\u786E\u8BA4 opencode-ai \u5DF2\u6B63\u786E\u5B89\u88C5\u3002":o==="grok"?"\u65E0\u6CD5\u542F\u52A8 Grok \u4F1A\u8BDD\uFF0C\u8BF7\u786E\u8BA4 Grok Build CLI \u5DF2\u6B63\u786E\u5B89\u88C5\u3002":o==="qoder"?"\u65E0\u6CD5\u542F\u52A8 Qoder \u4F1A\u8BDD\uFF0C\u8BF7\u786E\u8BA4 @qoder-ai/qodercli \u5DF2\u6B63\u786E\u5B89\u88C5\u3002":o==="pi"?"\u65E0\u6CD5\u542F\u52A8 Pi \u4F1A\u8BDD\uFF0C\u8BF7\u786E\u8BA4 Pi CLI \u5DF2\u6B63\u786E\u5B89\u88C5\u3002":o==="gemini"?"\u65E0\u6CD5\u542F\u52A8 Gemini \u4F1A\u8BDD\uFF0C\u8BF7\u786E\u8BA4 Gemini CLI \u5DF2\u6B63\u786E\u5B89\u88C5\u3002":"\u65E0\u6CD5\u542F\u52A8 Claude \u4F1A\u8BDD\uFF0C\u8BF7\u786E\u8BA4 Claude \u5DF2\u6B63\u786E\u5B89\u88C5\u3002"}function bt(o){return o.trim().replace(/\/+$/,"")||"/"}var zt=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"]);function Go({repository:o=ft}){let s=(0,r.useSyncExternalStore)(S.subscribe,S.getSnapshot,S.getSnapshot),[l,w]=(0,r.useState)(null),[e,d]=(0,r.useState)(null),[B,E]=(0,r.useState)(!1),[f,x]=(0,r.useState)(!1),h=(0,r.useRef)(!1),[m,p]=(0,r.useState)(""),[L,V]=(0,r.useState)([]),[q,K]=(0,r.useState)(!1),[ye,ne]=(0,r.useState)(!1),[O,A]=(0,r.useState)(!1),U=(0,r.useRef)(null),[ie,W]=(0,r.useState)(!1),se=at(s.open),Y=rt(s.open),{employees:he}=ot({includeArchived:!0,enabled:s.open}),[k,z]=(0,r.useState)(!1),I=(0,r.useRef)({}),C=(0,r.useRef)(null);(0,r.useEffect)(()=>{e?.employeeId&&C.current?.focus({preventScroll:!0})},[e?.employeeId]);let[ae,re]=(0,r.useState)(""),v=(0,r.useRef)(null),[J,ke]=(0,r.useState)([]),Q=!!(s.open&&e&&!e.workspaceTaskId&&e.taskName===void 0),Ie=st(Q),xt=(0,r.useMemo)(()=>Ie?.map(it)??null,[Ie]);(0,r.useEffect)(()=>{if(!s.open)return;let t=new AbortController,i=S.getRuntime();return E(!0),x(!1),p(""),w(null),d(null),V([]),K(!1),ne(!1),A(!1),W(!1),z(!1),re(""),o.load({signal:t.signal}).then(a=>{if(t.signal.aborted)return;let c=i?.getContext();w(a);let T=a.config.defaultProvider;d({provider:T,engine:T==="pi"?a.config.defaultEngine??"cli":void 0,employeeId:s.initialKind==="shell"?void 0:s.initialEmployeeId||void 0,kind:s.initialKind?s.initialKind:s.initialEmployeeId?"structured":a.config.defaultSessionKind,mode:oe(a.config.defaultProvider,a.config.defaultMode,a.config.defaultMode),cwd:s.initialCwd,worktreeEnabled:!1,model:D(c?.selectedModels?.[a.config.defaultProvider]),specifiedCli:!1,workspaceId:s.workspaceId||void 0,workspaceTaskId:s.workspaceTaskId||void 0,taskName:s.newTask?"":void 0}),c||p("\u65B0\u5EFA\u4F1A\u8BDD\u8FD0\u884C\u73AF\u5883\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5\u3002")}).catch(a=>{t.signal.aborted||p(fe(a,"\u65E0\u6CD5\u52A0\u8F7D\u65B0\u5EFA\u4F1A\u8BDD\u914D\u7F6E\u3002"))}).finally(()=>{t.signal.aborted||E(!1)}),()=>t.abort()},[s.initialCwd,s.initialEmployeeId,s.initialKind,s.open,s.revision,s.taskName,s.workspaceId,s.workspaceTaskId,s.newTask,o]),(0,r.useEffect)(()=>{if(!Q)return;let t=!0;return Me.list().then(i=>{t&&ke(i)},()=>{t&&ke([])}),()=>{t=!1}},[Q]),(0,r.useEffect)(()=>{if(!s.open||!e||!q)return;let t=new AbortController,i=window.setTimeout(()=>{o.suggestPaths(e.cwd,{signal:t.signal}).then(a=>{t.signal.aborted||V(a)}).catch(()=>{t.signal.aborted||V([])})},120);return()=>{window.clearTimeout(i),t.abort()}},[s.open,e?.cwd,o,q]);let Ce=(0,r.useCallback)(t=>{let i=Ne(t);if(!l||!i)return;let a=i.provider,c=i.engine,T=D(S.getRuntime()?.getContext().selectedModels?.[a]);d(F=>F&&{...F,provider:a,engine:c,kind:c==="sdk"?"structured":F.kind,model:T,mode:oe(a,F.mode,l.config.defaultMode)});let R=e?oe(a,e.mode,l.config.defaultMode):oe(a,l.config.defaultMode,l.config.defaultMode);o.savePreferences({defaultProvider:a,defaultEngine:c??"cli",defaultMode:R}).catch(F=>console.warn("[wand] Failed to persist new-session defaults",F))},[l,e,o]),ze=(0,r.useCallback)(t=>{d(i=>i&&{...i,kind:t,model:t!=="structured"&&i.model.startsWith("wand-openrouter-free/")?"default":i.model}),t!=="shell"&&o.savePreferences({defaultSessionKind:t}).catch(i=>console.warn("[wand] Failed to persist new-session defaults",i))},[o]),_e=(0,r.useCallback)(t=>{!e||!We(e.provider).includes(t)||(d(i=>i&&{...i,mode:t}),o.savePreferences({defaultMode:t}).catch(i=>console.warn("[wand] Failed to persist new-session defaults",i)))},[e,o]),ve=(0,r.useCallback)(t=>{d(i=>i&&{...i,model:t}),S.getRuntime()?.rememberModel(e?.provider??"claude",nt(t))},[e?.provider]),Te=(0,r.useMemo)(()=>e?We(e.provider):[],[e?.provider]),je=(0,r.useMemo)(()=>new Set(Te),[Te]),Nt=e?.cwd.trim()||S.getRuntime()?.getContext().effectiveCwd||l?.config.defaultCwd||"\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55",St=e?Ke.find(t=>t.value===e.mode):void 0,X=e?.employeeId?he.find(t=>t.id===e.employeeId):null,Pt=e?.teamId?Ie?.find(t=>t.id===e.teamId)??null:null,_=X?.agents??[],j=!!(e&&!e.teamId&&(e.employeeId&&!e.specifiedCli?_.some(t=>De(t)):De(e))),Ge=e?.teamId?Pt?.name??"AI \u56E2\u961F":e?.employeeId?X?.name??"\u7845\u57FA\u5458\u5DE5":e?.kind==="shell"?"\u7A7A\u767D\u7EC8\u7AEF":Tt(e)?.label??e?.provider??"",He=!e||e.kind==="shell"?"\u4E0D\u4F7F\u7528\u6A21\u578B":e.teamId?"\u8DDF\u968F\u6210\u5458\u5458\u5DE5\u914D\u7F6E":e.employeeId&&!e.specifiedCli?_.length?_.map(t=>`${Se(t.provider,t.engine)} \xB7 ${t.model===ue?"\u670D\u52A1\u7AEF\u9ED8\u8BA4":t.model}`).join("\uFF1B"):"\u8DDF\u968F\u5458\u5DE5\u914D\u7F6E":D(e.model)===ue?"\u8DDF\u968F\u670D\u52A1\u7AEF\u9ED8\u8BA4":D(e.model),Ft=e?e.teamId?"\u8DDF\u968F\u6210\u5458\u5458\u5DE5\u914D\u7F6E":e.employeeId&&!e.specifiedCli?`\u8DDF\u968F\u5458\u5DE5\u5019\u9009\u914D\u7F6E${j?" \xB7 \u542B\u81EA\u52A8\u6388\u6743":""}`:e.kind==="shell"?"\u7CFB\u7EDF Shell \u6743\u9650":`${St?.label??"\u6807\u51C6"}${e.mode==="full-access"?" \xB7 full access":j?" \xB7 \u81EA\u52A8\u6388\u6743":""}`:"",Et=e?e.teamId?"\u8D1F\u8D23\u4EBA\u62C6\u89E3\u4EFB\u52A1\uFF0C\u5404\u6210\u5458\u4F7F\u7528\u81EA\u5DF1\u7684\u5DE5\u5177\u4E0E\u6743\u9650\u914D\u7F6E\u3002":e.employeeId&&!e.specifiedCli?_.length?_.map(t=>{let i=t.provider==="codex"?"\u5B8C\u5168\u8BBF\u95EE \xB7 full access":Ke.find(a=>a.value===t.mode)?.label??"\u6807\u51C6";return`${Se(t.provider,t.engine)} \xB7 ${i}`}).join("\uFF1B")+(_.some(t=>t.provider==="codex")?"\u3002Codex \u81EA\u52A8\u6279\u51C6\u5DE5\u5177\u8C03\u7528\u5E76\u5173\u95ED\u6C99\u76D2\u9650\u5236\uFF1B\u5DE5\u4F5C\u76EE\u5F55\u4E0D\u662F\u6743\u9650\u6C99\u76D2\u3002":j?"\u3002\u90E8\u5206\u5019\u9009\u4F7F\u7528\u81EA\u52A8\u6388\u6743\uFF0C\u542F\u52A8\u4F1A\u6CBF\u7528\u6240\u7528\u5019\u9009\u7684\u6743\u9650\uFF1B\u5DE5\u4F5C\u76EE\u5F55\u4E0D\u662F\u6743\u9650\u6C99\u76D2\u3002":"\u3002\u542F\u52A8\u4F1A\u6CBF\u7528\u6240\u7528\u5019\u9009\u7684\u6743\u9650\uFF0C\u5DE5\u4F5C\u76EE\u5F55\u4E0D\u662F\u6743\u9650\u6C99\u76D2\u3002"):"\u5458\u5DE5\u914D\u7F6E\u5C1A\u672A\u52A0\u8F7D\uFF1B\u542F\u52A8\u65F6\u4F7F\u7528\u8BE5\u5458\u5DE5\u7684\u5DE5\u5177\u4E0E\u6743\u9650\u914D\u7F6E\u3002":e.kind==="shell"?"\u76F4\u63A5\u4F7F\u7528\u7CFB\u7EDF Shell\uFF0C\u4E0D\u542F\u52A8 AI \u5DE5\u5177\uFF1B\u5DE5\u4F5C\u76EE\u5F55\u4E0D\u662F\u6743\u9650\u6C99\u76D2\u3002":`${wt(e)} \u5DE5\u4F5C\u76EE\u5F55\u4E0D\u662F\u6743\u9650\u6C99\u76D2\u3002`:"",be=e?.cwd.trim()||S.getRuntime()?.getContext().effectiveCwd||l?.config.defaultCwd||"",le=J.find(t=>bt(t.cwd)===bt(be)),xe=e?.workspaceTaskId?"":Ae(e?.workspaceId??le?.id,le?.kind);(0,r.useEffect)(()=>{!e?.teamId||xe||d(t=>t&&{...t,teamId:void 0})},[e?.teamId,xe]),(0,r.useEffect)(()=>{e?.teamId&&v.current?.focus()},[e?.teamId]);function Ot(t,i,a,c,T){if(!zt.has(t.key))return;t.preventDefault();let R=It(a,i,t.key);c(R),window.requestAnimationFrame(()=>T.current[R]?.focus())}async function Rt(t){let i=t.teamId??"";if(!i)return;let a=t.workspaceTaskId?"":Ae(t.workspaceId??le?.id,le?.kind);if(!a){p(pt);return}let c=ae.trim();if(!c){p("\u5148\u5199\u4E00\u53E5\u672C\u8F6E\u8BF4\u660E\uFF1A\u56E2\u961F\u8981\u6709\u660E\u786E\u76EE\u6807\u624D\u80FD\u5F00\u5DE5\u3002"),v.current?.focus();return}try{let T=await we.startDirect(i,{note:c,workspaceId:a}),R=T.run.chatSessionId;await we.settle("success"),ge.close(),M.close(),R?ge.open("","","teamchat",T.run.id):ge.open("","","teams"),Re()}catch(T){p(fe(T,"\u5F00\u5DE5\u5931\u8D25\uFF0C\u8BF7\u9009\u62E9\u5DF2\u6709\u9879\u76EE\u540E\u91CD\u8BD5\u3002")),await we.settle("error")}}async function Mt(t){if(t.preventDefault(),t.nativeEvent.isComposing||!e||!l||h.current)return;let i=S.getRuntime();if(!i){p("\u65B0\u5EFA\u4F1A\u8BDD\u8FD0\u884C\u73AF\u5883\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5\u3002");return}M.setDismissable(!1),h.current=!0,x(!0),p("");try{if(e.teamId){await Rt(e);return}let a=await vt(e,be,Me);a!==e&&(d(a),Re());let c=ut(a,l.config,i.getContext()),T=await i.prepareCreate(c.kind,c);c.kind!=="structured"&&Object.assign(c,T),o.savePreferences({...c.kind==="shell"?{}:{...e.employeeId?{}:{defaultProvider:c.provider},...c.kind==="structured"&&c.provider==="pi"?{defaultEngine:e.engine??"cli"}:{},defaultSessionKind:c.kind,defaultMode:c.mode}}).catch(F=>console.warn("[wand] Failed to persist new-session defaults",F));let R=await o.create(c);await i.completeCreate(c,R),M.close()}catch(a){p(fe(a,Kt(e)))}finally{h.current=!1,M.setDismissable(!0),x(!1)}}return(0,n.jsx)(Xe,{open:s.open,onOpenChange:t=>{t||M.close()},title:s.taskName?`\u65B0\u5BF9\u8BDD \xB7 ${s.taskName}`:"\u65B0\u5BF9\u8BDD",description:"\u5148\u9009\u62E9\u6267\u884C\u65B9\u5F0F\uFF0C\u518D\u786E\u8BA4\u6A21\u578B\u4E0E\u5DE5\u4F5C\u76EE\u5F55\u3002\u9009\u62E9\u4F1A\u8BB0\u4E3A\u4E0B\u6B21\u65B0\u5EFA\u504F\u597D\u3002",className:"wand-task-library-dialog wand-new-session-library-dialog",closeLabel:"\u5173\u95ED\u65B0\u5EFA\u4F1A\u8BDD",testId:"new-session-dialog",dismissable:!f,children:B||s.open&&Y===null?(0,n.jsx)(et,{tip:"\u6B63\u5728\u52A0\u8F7D\u65B0\u5EFA\u4F1A\u8BDD\u914D\u7F6E\u2026",children:(0,n.jsx)("div",{style:{minHeight:100},role:"status",children:"\u6B63\u5728\u52A0\u8F7D\u65B0\u5EFA\u4F1A\u8BDD\u914D\u7F6E\u2026"})}):e&&l?(0,n.jsx)(dt,{noValidate:!0,"aria-busy":f,onSubmit:t=>{Mt(t)},children:(0,n.jsxs)(g,{vertical:!0,gap:12,children:[(0,n.jsx)("section",{className:"wand-new-session-summary","aria-label":"\u6267\u884C\u8BBE\u7F6E",children:(0,n.jsxs)(g,{vertical:!0,gap:12,children:[(0,n.jsx)(b.Item,{label:"\u6267\u884C\u5BF9\u8C61",style:{marginBottom:0},children:e.employeeId?(0,n.jsxs)("div",{className:"wand-new-session-employee-section",children:[(0,n.jsxs)(g,{align:"center",justify:"space-between",gap:12,className:"wand-new-session-logo-bar",style:{padding:"8px 0",borderBottom:"1px solid var(--border-subtle)"},children:[(0,n.jsxs)(g,{align:"center",gap:12,style:{minWidth:0,flex:1},children:[(0,n.jsx)("button",{type:"button",className:"wand-new-session-logo-toggle",ref:C,title:k?"\u6536\u8D77\u5DE5\u5177\u5207\u6362":"\u5207\u6362\u6267\u884C\u5DE5\u5177\u548C\u6A21\u578B","aria-label":k?"\u6536\u8D77\u5DE5\u5177\u5207\u6362":"\u5207\u6362\u6267\u884C\u5DE5\u5177\u548C\u6A21\u578B","aria-expanded":k,style:{background:"transparent",border:"none",padding:0,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center"},onClick:t=>{t.stopPropagation(),z(!k)},children:(0,n.jsx)(Ee,{employee:X||{id:e.employeeId,name:"\u5458\u5DE5"},provider:e.specifiedCli?e.provider:void 0,size:"md"})}),(0,n.jsxs)(g,{vertical:!0,style:{minWidth:0,flex:1},children:[(0,n.jsxs)(g,{align:"center",gap:8,children:[(0,n.jsx)(u.Text,{strong:!0,ellipsis:!0,style:{fontSize:13},children:X?.name||"\u7845\u57FA\u5458\u5DE5"}),(0,n.jsx)(u.Text,{type:"secondary",style:{fontSize:12,padding:"1px 6px",borderRadius:4,background:e.specifiedCli?"var(--accent-muted)":"var(--bg-secondary)",color:e.specifiedCli?"var(--accent)":"var(--text-secondary)"},children:e.specifiedCli?"\u5DF2\u6307\u5B9A\u5DE5\u5177":"\u6309\u5458\u5DE5\u914D\u7F6E\u542F\u52A8"})]}),(0,n.jsx)(u.Text,{type:"secondary",ellipsis:!0,style:{fontSize:12},children:e.specifiedCli?`\u5DE5\u5177\uFF1A${Tt(e)?.label||e.provider} \xB7 \u6A21\u578B\uFF1A${D(e.model)}`:"\u6309\u5458\u5DE5\u914D\u7F6E\u7684\u5DE5\u5177\u4E0E\u6A21\u578B\u5019\u9009\u987A\u5E8F\u542F\u52A8"})]})]}),(0,n.jsx)(N,{kind:"ghost",size:"small",type:"button","aria-expanded":k,onClick:t=>{t.stopPropagation(),z(!k)},children:k?"\u6536\u8D77":"\u6307\u5B9A\u5DE5\u5177 / \u6A21\u578B"})]}),k?(0,n.jsxs)(g,{vertical:!0,gap:12,className:"wand-new-session-custom-cli-panel",style:{marginTop:8,padding:"8px 0"},children:[(0,n.jsx)(b.Item,{label:"\u9009\u62E9\u6267\u884C\u5DE5\u5177",style:{marginBottom:0},children:(0,n.jsx)(H.Group,{value:e.specifiedCli?Z(e.provider,e.engine):"default_dispatch",disabled:f,style:{width:"100%"},onChange:t=>{let i=t.target.value;i==="default_dispatch"?d(a=>a&&{...a,specifiedCli:!1}):(d(a=>a&&{...a,specifiedCli:!0}),Ce(i))},children:(0,n.jsxs)("div",{className:"wand-execution-subject-grid",children:[(0,n.jsx)(H,{value:"default_dispatch",children:(0,n.jsxs)(g,{align:"center",gap:8,children:[(0,n.jsx)(Ee,{employee:X||{id:e.employeeId,name:"\u5458\u5DE5"},size:"sm"}),(0,n.jsxs)(g,{vertical:!0,children:[(0,n.jsx)(u.Text,{strong:!0,children:"\u5458\u5DE5\u9ED8\u8BA4\u6D3E\u53D1"}),(0,n.jsx)(u.Text,{type:"secondary",style:{fontSize:12},children:"\u6309\u5458\u5DE5\u914D\u7F6E\u7684\u5019\u9009\u987A\u5E8F\u5C1D\u8BD5\u5DE5\u5177\u4E0E\u6A21\u578B"})]})]})}),$e.map(t=>(0,n.jsx)(H,{value:t.id,children:(0,n.jsxs)(g,{align:"center",gap:8,children:[t.engine==="sdk"?(0,n.jsx)(Qe,{name:"spark",size:18}):(0,n.jsx)(tt,{provider:t.provider,className:"wand-subject-provider"}),(0,n.jsxs)(g,{vertical:!0,children:[(0,n.jsx)(u.Text,{strong:!0,children:t.label}),(0,n.jsx)(u.Text,{type:"secondary",style:{fontSize:12},children:t.description})]})]})},t.id))]})})}),e.specifiedCli?(0,n.jsx)(b.Item,{label:"\u6307\u5B9A\u6A21\u578B",style:{marginBottom:0},extra:"\u6240\u9009\u6A21\u578B\u968F\u4F1A\u8BDD\u542F\u52A8\u4E00\u8D77\u63D0\u4EA4\uFF1B\u300C\u8DDF\u968F\u670D\u52A1\u7AEF\u9ED8\u8BA4\u300D\u6CBF\u7528\u670D\u52A1\u7AEF\u914D\u7F6E\u7684\u9ED8\u8BA4\u6A21\u578B\u3002",children:(0,n.jsx)(te,{value:D(e.model),options:Oe(se,e.provider).filter(t=>e.kind==="structured"||!t.value.startsWith("wand-openrouter-free/")),ariaLabel:"\u6A21\u578B",searchable:!0,searchPlaceholder:"\u641C\u7D22\u6A21\u578B",disabled:f,className:"wand-new-session-model-select",onValueChange:ve})}):null,(0,n.jsxs)(g,{justify:"space-between",align:"center",style:{paddingTop:4},children:[(0,n.jsx)(N,{kind:"ghost",size:"small",type:"button",onClick:()=>{d(t=>t&&{...t,employeeId:void 0,specifiedCli:void 0}),z(!1),A(!0)},children:"\u9009\u62E9\u5176\u4ED6\u6267\u884C\u8005"}),e.specifiedCli?(0,n.jsx)(N,{kind:"ghost",size:"small",type:"button",onClick:()=>{d(t=>t&&{...t,specifiedCli:!1})},children:"\u6062\u590D\u5458\u5DE5\u9ED8\u8BA4\u6D3E\u53D1"}):null]})]}):null]}):(0,n.jsx)(pe,{ref:U,className:"wand-new-session-subject-collapse",destroyOnHidden:!0,activeKey:O?["subject"]:[],onChange:t=>A(t.includes("subject")),items:[{key:"subject",label:(0,n.jsxs)(g,{justify:"space-between",align:"center",gap:12,children:[(0,n.jsx)(u.Text,{strong:!0,ellipsis:!0,title:Ge,children:Ge}),(0,n.jsx)(u.Text,{type:"secondary",children:"\u66F4\u6362\u6267\u884C\u5BF9\u8C61"})]}),children:(0,n.jsx)(mt,{selectedSubject:e.teamId?{type:"team",id:e.teamId}:e.employeeId?{type:"employee",id:e.employeeId}:{type:"cli",id:e.kind==="shell"?"shell":e.provider,...e.engine?{engine:e.engine}:{}},kind:e.kind==="shell"?"pty":e.kind,model:e.model,showModel:!1,showKind:!1,teams:Q?xt:null,teamWorkspaceId:xe,disabled:f,onSubjectChange:t=>{if(t.type!=="employee"&&U.current?.querySelector(".ant-collapse-header")?.focus({preventScroll:!0}),A(!1),t.type==="team"){d(i=>i&&{...i,teamId:t.id,employeeId:void 0,specifiedCli:void 0});return}t.type==="cli"?t.id==="shell"?d(i=>i&&{...i,teamId:void 0,employeeId:void 0,kind:"shell",specifiedCli:void 0}):(d(i=>i&&{...i,teamId:void 0,employeeId:void 0,kind:i.kind==="shell"?"pty":i.kind,specifiedCli:void 0}),Ce(Z(t.id,t.engine))):t.type==="employee"&&d(i=>i&&{...i,teamId:void 0,employeeId:t.id,kind:"structured",specifiedCli:!1})},onKindChange:t=>{t==="pty"&&d(i=>i&&{...i,teamId:void 0,employeeId:void 0,specifiedCli:void 0}),ze(t)},onModelChange:t=>ve(t)})}]})}),(0,n.jsxs)(b.Item,{label:"\u4F1A\u8BDD\u7C7B\u578B",style:{marginBottom:0},children:[(0,n.jsx)(Ze,{block:!0,"aria-label":"\u4F1A\u8BDD\u7C7B\u578B",value:e.kind==="shell"?"pty":e.kind,disabled:f,options:ct.map(t=>({value:t.value,label:(0,n.jsx)("span",{title:t.description,children:t.label})})),onChange:t=>{t==="pty"&&(d(i=>i&&{...i,teamId:void 0,employeeId:void 0,specifiedCli:void 0,engine:i.engine==="sdk"?"cli":i.engine}),e.engine==="sdk"&&Ce(Z(e.provider,"cli"))),ze(t)}}),e.employeeId||e.teamId||e.engine==="sdk"?(0,n.jsx)(u.Text,{type:"secondary",children:"\u7EC8\u7AEF\u76F4\u63A5\u4F7F\u7528\u547D\u4EE4\u884C\u5DE5\u5177\uFF1B\u5207\u6362\u540E\u4E0D\u4F7F\u7528\u5458\u5DE5\u3001\u56E2\u961F\u6216 Wand Agent\u3002"}):null]}),!e.teamId&&!(e.employeeId&&!e.specifiedCli)&&e.kind!=="shell"?(0,n.jsx)(b.Item,{label:"\u6743\u9650\u4E0E\u6267\u884C\u6A21\u5F0F",style:{marginBottom:0},children:(0,n.jsx)(H.Group,{"aria-label":"\u6267\u884C\u6A21\u5F0F",value:e.mode,disabled:f,onChange:t=>_e(t.target.value),children:(0,n.jsx)(Fe,{wrap:!0,children:Ke.filter(t=>je.has(t.value)).map(t=>(0,n.jsx)(H.Button,{value:t.value,disabled:!je.has(t.value),title:t.description,ref:i=>{I.current[t.value]=i?.input??null},onKeyDown:i=>Ot(i,e.mode,Te,_e,I),children:t.label},t.value))})})}):null,(0,n.jsxs)("div",{className:"wand-new-session-permission-context","aria-live":"polite",children:[e.teamId||e.employeeId&&!e.specifiedCli?(0,n.jsx)("dl",{children:(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{children:"\u6A21\u578B"}),(0,n.jsx)("dd",{title:He,children:He})]})}):null,j||e.teamId||e.employeeId||e.kind==="shell"?(0,n.jsx)(u.Text,{strong:!0,className:j?"wand-new-session-permission-warning":void 0,children:Ft}):null,(0,n.jsx)(u.Paragraph,{className:"wand-new-session-permission-detail",type:j?"danger":"secondary",children:Et})]})]})}),e.teamId?(0,n.jsx)(b.Item,{label:"\u672C\u8F6E\u8BF4\u660E",htmlFor:"wand-new-session-team-note",extra:(0,n.jsx)(u.Text,{id:"wand-new-session-team-note-hint",type:"secondary",children:"\u56E2\u961F\u6309\u8FD9\u53E5\u8BDD\u62C6\u89E3\u4E0E\u9A8C\u6536\uFF1B\u5F00\u5DE5\u540E\u9996\u5C4F\u76F4\u63A5\u8FDB\u7FA4\u804A\u9875\u770B\u8FDB\u5C55\u3002"}),children:(0,n.jsx)(lt,{className:"resize-none",id:"wand-new-session-team-note",ref:v,rows:3,maxLength:4e3,required:!0,value:ae,disabled:f,"aria-describedby":"wand-new-session-team-note-hint",placeholder:"\u4E00\u53E5\u8BDD\u8BF4\u6E05\u8981\u4ED6\u4EEC\u505A\u4EC0\u4E48",onChange:t=>re(t.currentTarget.value)})}):null,(0,n.jsxs)("div",{className:`wand-new-session-primary-fields${e.kind==="shell"||e.employeeId||e.teamId?" is-single":""}`,children:[(0,n.jsxs)(b.Item,{htmlFor:"wand-new-session-cwd",label:"\u5DE5\u4F5C\u76EE\u5F55",extra:(0,n.jsx)(u.Text,{id:"wand-new-session-cwd-hint",type:"secondary",children:e.workspaceTaskId?"\u4F7F\u7528\u6240\u9009\u4EFB\u52A1\u7684\u8FD0\u884C\u76EE\u5F55\uFF1B\u5207\u6362\u4EFB\u52A1\u53EF\u66F4\u6362\u76EE\u5F55\u3002":"\u7559\u7A7A\u5219\u4F7F\u7528\u5F53\u524D\u76EE\u5F55\uFF0C\u652F\u6301\u8DEF\u5F84\u81EA\u52A8\u8865\u5168\u3002"}),children:[(0,n.jsx)(kt,{style:{width:"100%"},value:e.cwd,disabled:f||!!e.workspaceTaskId,open:q&&L.length>0,options:L.map(t=>({value:t.path,label:(0,n.jsxs)(g,{vertical:!0,children:[(0,n.jsx)(u.Text,{strong:!0,children:t.name}),(0,n.jsx)(u.Text,{type:"secondary",children:t.path})]})})),onChange:t=>d({...e,cwd:t,workspaceId:void 0}),onSelect:t=>{d({...e,cwd:t,workspaceId:void 0}),K(!1)},onFocus:()=>K(!0),onBlur:()=>K(!1),children:(0,n.jsx)(me,{id:"wand-new-session-cwd",type:"text",placeholder:Nt,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,"aria-invalid":m.includes("\u76EE\u5F55")||void 0,"aria-describedby":"wand-new-session-cwd-hint"})}),l.recentPaths.length>0?(0,n.jsx)(pe,{className:"wand-new-session-recent-paths",ghost:!0,size:"small",activeKey:ie?["recent"]:[],onChange:t=>W(t.includes("recent")),items:[{key:"recent",label:`\u6700\u8FD1\u4F7F\u7528\u7684\u76EE\u5F55 \xB7 ${l.recentPaths.length}`,children:(0,n.jsx)(Fe,{wrap:!0,"aria-label":"\u6700\u8FD1\u4F7F\u7528\u7684\u5DE5\u4F5C\u76EE\u5F55",children:l.recentPaths.map(t=>(0,n.jsx)(N,{kind:e.cwd===t.path?"outline":"ghost",size:"small",disabled:f||!!e.workspaceTaskId,type:"button",title:t.path,"aria-pressed":e.cwd===t.path,onClick:()=>d({...e,cwd:t.path,workspaceId:void 0}),children:(0,n.jsx)(u.Text,{ellipsis:!0,style:{maxWidth:180},children:t.path})},t.path))})}]}):null]}),e.kind!=="shell"&&!e.employeeId&&!e.teamId?(0,n.jsx)(b.Item,{label:"\u6A21\u578B",extra:"\u9009\u62E9\u9ED8\u8BA4\u65F6\uFF0C\u6CBF\u7528\u670D\u52A1\u7AEF\u9ED8\u8BA4\u6A21\u578B\u3002",children:(0,n.jsx)(te,{value:D(e.model),options:Oe(se,e.provider).filter(t=>e.kind==="structured"||!t.value.startsWith("wand-openrouter-free/")),ariaLabel:"\u6A21\u578B",searchable:!0,searchPlaceholder:"\u641C\u7D22\u6A21\u578B",disabled:f,className:"wand-new-session-model-select",onValueChange:ve})}):null]}),e.teamId?null:(0,n.jsx)(Ct,{form:e,initialName:s.taskName,disabled:f,cwd:be,onChange:d}),(0,n.jsx)(pe,{activeKey:ye?["advanced"]:[],onChange:t=>ne(t.includes("advanced")),items:[{key:"advanced",label:"\u6267\u884C\u8BF4\u660E",children:e.teamId?(0,n.jsx)(u.Text,{type:"secondary",children:"\u56E2\u961F\u5F00\u5DE5\u4E0D\u53E6\u9009\u6A21\u5F0F\u4E0E\u6A21\u578B\uFF1A\u8D1F\u8D23\u4EBA\u62C6\u89E3\uFF0C\u6210\u5458\u5404\u7528\u81EA\u5DF1\u7684\u5458\u5DE5\u914D\u7F6E\u4E0E\u5019\u9009\u94FE\u6267\u884C\u3002"}):e.employeeId&&!e.specifiedCli?(0,n.jsx)(u.Text,{type:"secondary",children:"\u6A21\u578B\u3001\u6743\u9650\u4E0E\u5019\u9009\u987A\u5E8F\u7531\u5458\u5DE5\u914D\u7F6E\u51B3\u5B9A\u3002\u53EF\u5728\u7845\u57FA\u5458\u5DE5\u9875\u4FEE\u6539\u3002"}):e.kind!=="shell"?(0,n.jsx)(u.Text,{type:"secondary",children:Lt(e)}):(0,n.jsx)(u.Text,{type:"secondary",children:"\u7A7A\u767D\u7EC8\u7AEF\u4F7F\u7528\u670D\u52A1\u7AEF\u914D\u7F6E\u7684\u767B\u5F55 Shell\uFF0C\u4E0D\u5E94\u7528 AI \u6743\u9650\u6A21\u5F0F\u3002"})}]}),m?(0,n.jsx)(ee,{type:"error",showIcon:!0,role:"alert",title:m}):null,(0,n.jsxs)(g,{justify:"flex-end",gap:8,className:"wand-dialog-sticky-actions",children:[(0,n.jsx)(N,{kind:"ghost",type:"button",disabled:f,onClick:()=>M.close(),children:"\u53D6\u6D88"}),(0,n.jsx)(N,{className:"wand-new-session-submit",kind:"primary",type:"submit",disabled:f,children:f?e.teamId?"\u6B63\u5728\u5F00\u5DE5\u2026":"\u6B63\u5728\u542F\u52A8\u2026":e.teamId?"\u76F4\u63A5\u5F00\u5DE5":e.kind==="shell"?"\u542F\u52A8\u7A7A\u767D\u7EC8\u7AEF":e.employeeId?"\u542F\u52A8\u5458\u5DE5\u4F1A\u8BDD":"\u542F\u52A8\u4F1A\u8BDD"})]})]})}):m?(0,n.jsx)(ee,{type:"error",showIcon:!0,role:"alert",title:m,action:(0,n.jsx)(N,{kind:"primary",onClick:()=>M.open(),children:"\u91CD\u8BD5"})}):null})}export{Go as NewSessionHost};