@co0ontty/wand 4.76.0 → 4.77.0-beta.g6c4df97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-dispatch.d.ts +46 -0
- package/dist/agent-dispatch.js +84 -0
- package/dist/ai-team-availability.d.ts +69 -0
- package/dist/ai-team-availability.js +100 -0
- package/dist/ai-team-prompts.d.ts +113 -0
- package/dist/ai-team-prompts.js +435 -0
- package/dist/ai-team-runner.d.ts +241 -0
- package/dist/ai-team-runner.js +1370 -0
- package/dist/ai-team-types.d.ts +147 -0
- package/dist/ai-team-types.js +32 -0
- package/dist/attention.d.ts +40 -0
- package/dist/attention.js +86 -0
- package/dist/build-info.json +4 -4
- package/dist/claude-sdk-runner.d.ts +5 -0
- package/dist/claude-sdk-runner.js +2 -1
- package/dist/commit-task-archive.d.ts +3 -0
- package/dist/commit-task-archive.js +43 -0
- package/dist/config.js +0 -2
- package/dist/git-quick-commit.d.ts +2 -1
- package/dist/git-quick-commit.js +72 -60
- package/dist/message-truncator.d.ts +41 -5
- package/dist/message-truncator.js +255 -38
- package/dist/missions.d.ts +4 -2
- package/dist/missions.js +2 -2
- package/dist/process-manager.d.ts +1 -0
- package/dist/process-manager.js +17 -8
- package/dist/prompt-optimizer.js +13 -13
- package/dist/server-ai-team-routes.d.ts +11 -0
- package/dist/server-ai-team-routes.js +283 -0
- package/dist/server-attention-routes.d.ts +9 -0
- package/dist/server-attention-routes.js +26 -0
- package/dist/server-file-routes.js +1 -1
- package/dist/server-session-routes.js +41 -5
- package/dist/server-settings-routes.js +1 -1
- package/dist/server-task-routes.d.ts +2 -0
- package/dist/server-task-routes.js +6 -40
- package/dist/server-workspace-routes.js +13 -5
- package/dist/server.js +43 -0
- package/dist/session-topic.js +13 -13
- package/dist/session-transport.d.ts +3 -0
- package/dist/session-transport.js +1 -0
- package/dist/storage.d.ts +54 -1
- package/dist/storage.js +413 -2
- package/dist/structured-claude-adapter.d.ts +5 -0
- package/dist/structured-claude-adapter.js +13 -2
- package/dist/structured-claude-protocol.d.ts +2 -0
- package/dist/structured-claude-protocol.js +4 -0
- package/dist/structured-codex-adapter.js +2 -2
- package/dist/structured-grok-adapter.js +2 -1
- package/dist/structured-opencode-adapter.js +2 -2
- package/dist/structured-pi-adapter.js +2 -1
- package/dist/structured-provider-common.d.ts +17 -0
- package/dist/structured-provider-common.js +52 -0
- package/dist/structured-qoder-adapter.js +2 -1
- package/dist/structured-session-manager.d.ts +18 -1
- package/dist/structured-session-manager.js +67 -10
- package/dist/system-ai.d.ts +13 -2
- package/dist/system-ai.js +9 -5
- package/dist/task-title.js +10 -10
- package/dist/types.d.ts +25 -2
- package/dist/wand-task-sync.d.ts +1 -0
- package/dist/wand-task-sync.js +1 -0
- package/dist/web-ui/content/ai-teams.js +12 -0
- package/dist/web-ui/content/scripts.js +86 -5301
- package/dist/web-ui/content/styles.css +1 -1
- package/dist/web-ui/embedded-assets.d.ts +1 -0
- package/dist/web-ui/embedded-assets.js +3 -2
- package/dist/web-ui/scripts.d.ts +8 -0
- package/dist/web-ui/scripts.js +28 -2
- package/dist/ws-broadcast.js +52 -19
- package/package.json +1 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
(() => {
|
|
3
|
+
const __wandCssTextPool = Object.freeze([".wand-teams-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);flex:1 1 auto;min-height:0;border-top:1px solid var(--border-subtle)}.wand-teams-list{display:flex;flex-direction:column;gap:10px;min-height:0;padding:14px 14px 18px 28px;overflow-y:auto;border-right:1px solid var(--border-subtle)}.wand-teams-cards{display:grid;gap:6px}.wand-teams-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:\"avatars avatars\" \"copy copy\" \"meta meta\";gap:6px;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);background:var(--bg-secondary);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.wand-teams-card:hover{border-color:var(--border-default)}.wand-teams-card[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent) 55%,var(--border-subtle));background:var(--accent-muted)}.wand-teams-card>.wand-team-avatar-stack{grid-area:avatars}.wand-teams-card-copy{grid-area:copy;display:grid;gap:2px;min-width:0}.wand-teams-card-copy strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.wand-teams-card-copy small,.wand-teams-card-meta small{overflow:hidden;color:var(--text-tertiary);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.wand-teams-card-meta{grid-area:meta;display:flex;min-width:0}.wand-teams-empty{display:grid;justify-items:center;gap:10px;padding:28px 12px;color:var(--text-tertiary);font-size:var(--font-size-sm);text-align:center}.wand-teams-empty p{margin:0}.wand-teams-empty.is-detail{align-content:center;height:100%}.wand-teams-detail{display:flex;flex-direction:column;gap:14px;min-width:0;min-height:0;padding:18px 28px 32px;overflow-y:auto;animation:wand-settings-fade-in var(--transition-normal)}.wand-teams-detail>*{flex:0 0 auto;width:100%;max-width:920px}.wand-teams-detail-pane{animation:wand-settings-fade-in var(--transition-normal)}.wand-teams-detail>.wand-stretch-tabs{width:auto;align-self:flex-start}.wand-teams-detail-head{display:flex;align-items:center;gap:14px;min-width:0}.wand-teams-detail-head h2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.wand-teams-detail-head p{margin:2px 0 0;color:var(--text-tertiary);font-size:var(--font-size-sm)}.wand-teams-detail-back{display:none}.wand-teams-create-icon{transition:transform var(--transition-normal)}.task-board-create-button[aria-pressed=true] .wand-teams-create-icon{transform:rotate(45deg)}.wand-teams-templates{display:grid;gap:12px}.wand-teams-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.wand-teams-template{display:grid;justify-items:start;gap:6px;padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);background:var(--bg-secondary);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition-fast),transform var(--transition-fast)}.wand-teams-template:hover{border-color:var(--accent)}.wand-teams-template:active{transform:scale(.98)}.wand-teams-template strong{font-size:var(--font-size-sm)}.wand-teams-template small{color:var(--text-tertiary);font-size:var(--font-size-xs)}.wand-team-editor{display:grid;gap:22px}.wand-team-section{display:grid;gap:12px}.wand-team-section-head{display:flex;align-items:baseline;gap:10px}.wand-team-section-head h3{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.wand-team-section-head small{color:var(--text-tertiary);font-size:var(--font-size-xs)}.wand-team-org{display:grid;gap:22px}.wand-team-org-leader{position:relative;display:grid;justify-items:center}.wand-team-org-leader>.wand-team-member{width:min(100%,420px)}.wand-team-org-leader:after{content:\"\";position:absolute;top:100%;left:50%;width:1px;height:22px;background:var(--border-default)}.wand-team-org-members{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:start;gap:10px;padding-top:12px;border-top:1px solid var(--border-default)}.wand-team-member{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-secondary);transition:border-color var(--transition-fast)}.wand-team-member[data-leader]{border-color:color-mix(in srgb,var(--warning) 45%,var(--border-subtle))}.wand-team-member[data-open]{grid-column:1 / -1;border-color:var(--border-default)}.wand-team-member-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:14px 12px 12px;border:0;color:var(--text-primary);background:transparent;font:inherit;text-align:left;cursor:pointer}.wand-team-member-copy{display:grid;gap:2px;min-width:0}.wand-team-member-copy strong{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.wand-team-member-copy em{padding:0 6px;border-radius:var(--radius-full);color:var(--warning);background:var(--warning-muted);font-size:11px;font-style:normal;font-weight:var(--font-weight-medium)}.wand-team-member-copy small{display:-webkit-box;overflow:hidden;color:var(--text-secondary);font-size:var(--font-size-xs);-webkit-box-orient:vertical;-webkit-line-clamp:2}.wand-team-member-agent{overflow:hidden;color:var(--text-tertiary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.wand-team-member-inner{display:grid;gap:10px;padding:0 12px}.wand-team-member[data-open] .wand-team-member-inner{padding-bottom:12px}.wand-team-member-actions{display:flex;justify-content:flex-end;gap:6px}.wand-team-member-add{display:grid;place-items:center;align-content:center;gap:4px;min-height:76px;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-tertiary);background:transparent;font:inherit;font-size:var(--font-size-xs);cursor:pointer}.wand-team-member-add:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-strong)}.wand-team-member-add:disabled{opacity:.5;cursor:not-allowed}.wand-team-avatar-picker{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.wand-team-coat{display:grid;place-items:center;width:30px;height:30px;padding:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:30%;color:var(--text-tertiary);background:var(--bg-tertiary);cursor:pointer}.wand-team-coat svg{width:72%;height:72%}.wand-team-coat[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-muted)}.wand-team-avatar-error{color:var(--danger);font-size:var(--font-size-xs)}.wand-team-empty-line{margin:0;color:var(--text-tertiary);font-size:var(--font-size-sm)}.wand-ai-team-editor-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}.wand-ai-team-duty{min-height:58px;resize:vertical}.wand-ai-team-member-agent{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.wand-ai-team-editor-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.wand-ai-team-editor-footer .wand-settings-save-bar{flex:1 1 auto}.wand-team-candidates{display:grid;gap:8px;padding:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-primary)}.wand-team-candidates-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.wand-team-candidates-head>span{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.wand-team-candidates-head>small{color:var(--text-tertiary);font-size:var(--font-size-xs)}.wand-team-candidates-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.wand-team-candidate-slot{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows var(--motion-normal) var(--ease-in-out-smooth),opacity var(--motion-fast) var(--ease-in-out-smooth)}.wand-team-candidate-slot[data-collapsed]{grid-template-rows:0fr;opacity:0}.wand-team-candidate{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;min-height:0;overflow:hidden}.wand-team-candidate-tag{padding:3px 8px;border-radius:var(--radius-full);color:var(--text-secondary);background:var(--bg-tertiary);font-size:11px;font-weight:var(--font-weight-medium);white-space:nowrap}.wand-team-candidate-slot:first-of-type .wand-team-candidate-tag{color:var(--accent);background:var(--accent-muted)}.wand-team-candidate[data-duplicate] .wand-team-candidate-tag{color:var(--danger);background:var(--danger-muted)}.wand-team-candidate-tools{display:flex;gap:2px}.wand-team-candidate-tool{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:var(--radius-sm);color:var(--text-tertiary);background:transparent;cursor:pointer;transition:color var(--motion-fast) var(--ease-in-out-smooth),background var(--motion-fast) var(--ease-in-out-smooth),opacity var(--motion-fast) var(--ease-in-out-smooth),transform var(--motion-press) var(--ease-out-expo)}.wand-team-candidate-tool>svg{transition:transform var(--motion-morph) var(--ease-out-back)}.wand-team-candidate-tool:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.wand-team-candidate-tool:active:not(:disabled){transform:scale(.9)}.wand-team-candidate-tool[data-tool=up]:hover:not(:disabled)>svg{transform:translateY(-2px)}.wand-team-candidate-tool[data-tool=down]:hover:not(:disabled)>svg{transform:translateY(2px)}.wand-team-candidate-tool[data-tool=remove]:hover:not(:disabled)>svg{transform:rotate(-90deg)}.wand-team-candidate-add{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px dashed var(--border-default);border-radius:var(--radius-full);color:var(--text-tertiary);background:transparent;font:inherit;font-size:var(--font-size-xs);cursor:pointer;transition:color var(--motion-fast) var(--ease-in-out-smooth),border-color var(--motion-fast) var(--ease-in-out-smooth),opacity var(--motion-fast) var(--ease-in-out-smooth),transform var(--motion-press) var(--ease-out-expo)}.wand-team-candidate-add>svg{transition:transform var(--motion-morph) var(--ease-out-back)}.wand-team-candidate-add:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent)}.wand-team-candidate-add:hover:not(:disabled)>svg{transform:scale(1.15)}.wand-team-candidate-add:active:not(:disabled){transform:scale(.96)}.wand-team-candidate-tool:disabled,.wand-team-candidate-add:disabled{opacity:.4;cursor:not-allowed}.wand-team-candidate-error{color:var(--danger);font-size:var(--font-size-xs)}.wand-team-runs{display:grid;gap:6px;margin:0;padding:0;list-style:none}.wand-team-run{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-secondary)}.wand-team-run-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;color:var(--text-primary);background:transparent;font:inherit;text-align:left;cursor:pointer}.wand-team-run-head strong{overflow:hidden;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.wand-team-run-id{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--font-size-xs)}.wand-team-run-head small{color:var(--text-tertiary);font-size:var(--font-size-xs)}.wand-team-run-inner{min-height:0;overflow:hidden}.wand-team-run[data-open] .wand-team-run-inner{padding:0 10px 10px}.wand-team-run-inner>.task-board-team-run{border:0;padding:4px 2px;background:transparent}.task-board-team{display:grid;gap:10px;margin-top:14px}.task-board-team-run{display:grid;gap:12px;padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-secondary)}.task-board-team-run-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.task-board-team-run-head strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.task-board-team-run-head small{margin-right:auto;color:var(--text-tertiary);font-size:var(--font-size-xs)}.task-board-team-run-detail{margin:0;color:var(--text-secondary);font-size:var(--font-size-xs)}.task-board-team-error{margin:0;color:var(--danger);font-size:var(--font-size-xs)}.task-board-team-roster{display:flex;gap:6px;overflow-x:auto;padding:6px 2px 2px}.task-board-team-roster-item{display:grid;justify-items:center;gap:4px;min-width:64px;padding:8px 6px 6px;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-primary);background:transparent;font:inherit;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.task-board-team-roster-item:hover{background:var(--bg-hover)}.task-board-team-roster-item[aria-pressed=true]{border-color:var(--accent);background:var(--accent-muted)}.task-board-team-roster-item>span:not(.wand-team-avatar){max-width:72px;overflow:hidden;font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.task-board-team-roster-item small{color:var(--text-tertiary);font-size:11px;font-variant-numeric:tabular-nums}.task-board-team-banner{display:grid;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-tertiary)}.task-board-team-banner[data-attention]{background:var(--warning-muted);box-shadow:inset 3px 0 0 var(--warning)}.task-board-team-banner p{margin:0;color:var(--text-secondary);font-size:var(--font-size-xs);white-space:pre-wrap}.task-board-team-views{justify-self:start}.task-board-team-groups{display:grid;gap:14px}.task-board-team-views-stack{position:relative;display:grid}.task-board-team-view{grid-area:1 / 1;min-width:0;opacity:1;transition:opacity var(--motion-normal) var(--ease-in-out-smooth)}.task-board-team-view[data-hidden]{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--motion-quick-exit) var(--ease-in-out-smooth),visibility var(--motion-quick-exit) step-end}.task-board-team-chat{display:grid;gap:8px}.team-chat-goal{display:grid;gap:6px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border-subtle));border-left:3px solid var(--accent);border-radius:var(--radius-md);background:var(--accent-muted)}.team-chat-goal-head{display:flex;align-items:center;gap:8px}.team-chat-goal-label{padding:1px 6px;border-radius:var(--radius-sm);color:var(--accent);background:var(--bg-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.team-chat-goal-meta{margin-left:auto;color:var(--text-tertiary);font-size:var(--font-size-xs)}.team-chat-goal-preview{display:-webkit-box;margin:0;overflow:hidden;color:var(--text-secondary);font-size:var(--font-size-xs);white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:3}.team-chat-goal-body-text{margin:0;color:var(--text-secondary);font:inherit;font-size:var(--font-size-xs);white-space:pre-wrap;overflow-wrap:anywhere}.task-board-team-chat-list{display:flex;flex-direction:column;gap:8px;max-height:360px;padding:4px 2px;overflow-y:auto;overscroll-behavior-y:contain}.team-chat-step{gap:4px;margin-left:10px;padding-left:10px;border-left:2px solid var(--border-subtle)}.team-chat-step[data-status=running]{border-left-color:var(--info)}.team-chat-step[data-status=done]{border-left-color:var(--success)}.team-chat-step[data-status=failed]{border-left-color:var(--danger)}.team-chat-step-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.team-chat-step-head .pixel-avatar{flex:0 0 auto}.team-chat-step-chip{padding:1px 6px;border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg-tertiary);font-size:var(--font-size-xs)}.team-chat-step-chip[data-ok]{color:var(--success)}.team-chat-step[data-status=failed] .team-chat-step-chip{color:var(--danger)}.team-chat-plan{gap:6px;padding:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-secondary)}.team-chat-plan-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.team-chat-plan-text{margin:0;color:var(--text-primary);font-size:var(--font-size-sm);white-space:pre-wrap;overflow-wrap:anywhere}.team-chat-plan-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.team-chat-plan-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--bg-tertiary);font-size:var(--font-size-xs)}.team-chat-plan-member{color:var(--accent);font-weight:var(--font-weight-semibold)}.team-chat-plan-title{color:var(--text-primary)}.team-chat-plan-wait{color:var(--text-tertiary)}.team-chat-step-preview{display:-webkit-box;margin:0;overflow:hidden;color:var(--text-secondary);font-size:var(--font-size-xs);white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:6}.team-chat-step-body,.team-chat-goal-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--transition-normal),opacity var(--transition-fast)}.team-chat-step-body[data-open],.team-chat-goal-body[data-open]{grid-template-rows:1fr;opacity:1}.team-chat-step-body-inner,.team-chat-goal-body-inner{min-height:0;overflow:hidden}.team-chat-step-body-text{max-height:360px;margin:0;padding:8px 10px;overflow:auto;border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg-tertiary);font:inherit;font-size:var(--font-size-xs);white-space:pre-wrap;overflow-wrap:anywhere}.team-chat-expand{justify-self:start;padding:0;border:0;color:var(--accent);background:transparent;font:inherit;font-size:var(--font-size-xs);cursor:pointer}.team-chat-expand:hover{text-decoration:underline}.task-board-team-chat-input{display:grid;gap:8px}.task-board-team-chat-hint{margin:0;color:var(--text-tertiary);font-size:var(--font-size-xs)}.wand-team-chat-body{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:0 28px 20px}.wand-team-chat-body>.task-board-team-chat{display:flex;width:100%;max-width:920px;min-height:0;margin:0 auto;flex:1 1 auto;flex-direction:column}.wand-team-chat-body .task-board-team-chat-list{flex:1 1 auto;min-height:0;max-height:none}.wand-team-chat-body .task-board-team-chat-input{flex:0 0 auto}.wand-team-chat-head-meta{display:flex;align-items:center;gap:10px}.wand-team-chat-provider{color:var(--text-tertiary);font-size:11px;font-variant-numeric:tabular-nums}.wand-team-chat-unconfirmed{color:var(--warning);font-size:var(--font-size-xs)}.task-board-team-chat .pixel-avatar .wand-team-avatar-cat{width:100%;height:100%}.wand-team-work-tasks{flex:0 0 auto;max-height:46vh;overflow-y:auto;overscroll-behavior-y:contain;padding:6px 28px 20px;border-top:1px solid var(--border-subtle)}.wand-team-work-tasks-inner{display:grid;gap:8px;width:100%;max-width:920px;margin:0 auto}.wand-team-work-tasks-head{display:flex;align-items:baseline;gap:10px}.wand-team-work-tasks-head h2{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.wand-team-work-tasks-head small{margin-left:auto;color:var(--text-tertiary);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.wand-team-work-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.wand-team-work-item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-primary)}.wand-team-work-item[data-status=queued],.wand-team-work-item[data-status=skipped]{opacity:.66}.wand-team-work-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:var(--radius-sm);color:var(--text-primary);background:transparent;font:inherit;text-align:left;cursor:pointer}.wand-team-work-head>svg{color:var(--text-muted);transition:transform var(--motion-fast) var(--ease-in-out-smooth)}.wand-team-work-item[data-open] .wand-team-work-head>svg{transform:rotate(180deg)}.wand-team-work-seq{color:var(--text-tertiary);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.wand-team-work-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.wand-team-work-status{color:var(--text-tertiary);font-size:var(--font-size-xs)}.wand-team-work-item[data-status=running] .wand-team-work-status{color:var(--info)}.wand-team-work-item[data-status=done] .wand-team-work-status{color:var(--success)}.wand-team-work-item[data-status=failed] .wand-team-work-status{color:var(--danger)}.wand-team-work-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--motion-normal) var(--ease-in-out-smooth),opacity var(--motion-fast) var(--ease-in-out-smooth)}.wand-team-work-item[data-open] .wand-team-work-body{grid-template-rows:1fr;opacity:1}.wand-team-work-body-inner{min-height:0;overflow:hidden;display:grid;gap:8px;padding:0 10px}.wand-team-work-item[data-open] .wand-team-work-body-inner{padding-bottom:10px}.wand-team-work-member{display:flex;align-items:center;gap:8px}.wand-team-work-member-name{font-size:var(--font-size-sm)}.wand-team-work-member-duty{overflow:hidden;color:var(--text-tertiary);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.wand-team-work-meta{display:grid;gap:2px;margin:0;font-size:var(--font-size-xs)}.wand-team-work-meta div{display:flex;gap:8px}.wand-team-work-meta dt{flex:none;color:var(--text-tertiary)}.wand-team-work-meta dd{min-width:0;margin:0;overflow:hidden;color:var(--text-secondary)}.wand-team-work-meta code{overflow:hidden;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.wand-team-work-report{max-height:180px;margin:0;padding:8px 10px;overflow:auto;border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg-tertiary);font-size:var(--font-size-xs);white-space:pre-wrap;overflow-wrap:anywhere}.task-board-team-step-skips{display:grid;gap:2px;padding:0 8px 8px}.task-board-team-step-skip-head{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border:0;border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg-tertiary);font:inherit;font-size:var(--font-size-xs);text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--ease-in-out-smooth)}.task-board-team-step-skip-head>svg:first-child{color:var(--warning);flex:0 0 auto}.task-board-team-step-skip-head>span{margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-board-team-step-skip-head>svg:last-child{color:var(--text-muted);transition:transform var(--motion-morph) var(--ease-out-back)}.task-board-team-step-skips[data-open] .task-board-team-step-skip-head>svg:last-child{transform:rotate(180deg)}.task-board-team-step-skip-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--motion-normal) var(--ease-in-out-smooth),opacity var(--motion-fast) var(--ease-in-out-smooth)}.task-board-team-step-skips[data-open] .task-board-team-step-skip-body{grid-template-rows:1fr;opacity:1}.task-board-team-step-skip-inner{display:grid;gap:4px;min-height:0;margin:0;padding:0;overflow:hidden;list-style:none;color:var(--text-secondary);font-size:var(--font-size-xs)}.task-board-team-step-skip-inner li{display:grid;gap:2px;padding:4px 8px}.task-board-team-step-skip-inner strong{color:var(--text-primary);font-weight:var(--font-weight-medium)}.task-board-team-step-skip-inner span{white-space:pre-wrap;overflow-wrap:anywhere}.task-board-team-group>header{display:grid;gap:2px;margin-bottom:6px}.task-board-team-group>header strong{font-size:var(--font-size-sm)}.task-board-team-group>header small{color:var(--text-tertiary);font-size:var(--font-size-xs)}.task-board-team-steps{position:relative;display:grid;gap:8px;margin:0;padding:0;list-style:none;animation:wand-settings-fade-in var(--transition-normal)}.task-board-team-step{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:10px}.task-board-team-step:not(:last-child):before{content:\"\";position:absolute;top:34px;bottom:-6px;left:13px;width:1px;background:var(--border-subtle)}.task-board-team-step>.wand-team-avatar{margin-top:6px}.task-board-team-step-card{min-width:0;border-radius:var(--radius-sm);background:var(--bg-primary)}.task-board-team-step[data-kind=leader] .task-board-team-step-card{background:color-mix(in srgb,var(--warning) 7%,var(--bg-primary))}.task-board-team-step[data-status=queued] .task-board-team-step-card,.task-board-team-step[data-status=skipped] .task-board-team-step-card{opacity:.66}.task-board-team-step-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:var(--radius-sm);color:var(--text-primary);background:transparent;font:inherit;text-align:left;cursor:pointer}.task-board-team-step-head svg{color:var(--text-muted);transition:transform var(--transition-fast)}.task-board-team-step[data-open] .task-board-team-step-head svg{transform:rotate(180deg)}.task-board-team-step-title{display:grid;min-width:0}.task-board-team-step-title strong,.task-board-team-step-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-board-team-step-title strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.task-board-team-step-title small,.task-board-team-step-status{color:var(--text-tertiary);font-size:var(--font-size-xs)}.task-board-team-step[data-status=running] .task-board-team-step-status{color:var(--info)}.task-board-team-step[data-status=failed] .task-board-team-step-status{color:var(--danger)}.task-board-team-step[data-status=done] .task-board-team-step-status{color:var(--success)}.task-board-team-step-preview{display:-webkit-box;margin:-2px 10px 8px;overflow:hidden;color:var(--text-secondary);font-size:var(--font-size-xs);white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2}.task-board-team-step-inner{display:grid;gap:8px;padding:0 10px}.task-board-team-step[data-open] .task-board-team-step-inner{padding-bottom:10px}.task-board-team-step-inner h4{margin:0 0 4px;color:var(--text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.task-board-team-step-inner pre{max-height:320px;margin:0;overflow:auto;color:var(--text-secondary);font:inherit;font-size:var(--font-size-xs);white-space:pre-wrap;overflow-wrap:anywhere}.task-board-team-step-meta{margin:0;color:var(--text-tertiary);font-size:var(--font-size-xs)}.task-board-team-manual,.task-board-team-respond{display:grid;gap:8px}.task-board-team-step-body,.wand-team-member-body,.wand-team-run-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--transition-normal),opacity var(--transition-fast)}.task-board-team-step[data-open] .task-board-team-step-body,.wand-team-member[data-open] .wand-team-member-body,.wand-team-run[data-open] .wand-team-run-body{grid-template-rows:1fr;opacity:1}.task-board-team-step-inner,.wand-team-member-inner{min-height:0;overflow:hidden}.wand-team-member-head>svg,.wand-team-run-head>svg{color:var(--text-muted);transition:transform var(--transition-fast)}.wand-team-member[data-open] .wand-team-member-head>svg,.wand-team-run[data-open] .wand-team-run-head>svg{transform:rotate(180deg)}@media(max-width:760px){.wand-ai-team-editor-grid{grid-template-columns:minmax(0,1fr)}.wand-team-chat-body{padding:0 14px 16px}.wand-team-work-tasks{max-height:40vh;padding:4px 14px 16px}.wand-teams-layout{grid-template-columns:minmax(0,1fr)}.wand-teams-list{padding:12px 14px;border-right:0}.wand-teams-detail{padding:14px 14px 28px}.wand-teams-page[data-detail] .wand-teams-list{display:none}.wand-teams-page:not([data-detail]) .wand-teams-detail{display:none}.wand-teams-detail-back{display:inline-flex}.wand-team-run-head{grid-template-columns:auto minmax(0,1fr) auto auto}.wand-team-run-head small{display:none}.wand-team-candidate{grid-template-columns:auto minmax(0,1fr)}.wand-team-candidate-tools{grid-column:1 / -1;justify-content:end}.task-board-team-views-stack{display:block}.task-board-team-view{opacity:1}.task-board-team-view[data-hidden]{display:none;visibility:visible;transition:none}}@media(prefers-reduced-motion:reduce){.task-board-team-step-body,.wand-team-work-body,.wand-team-work-head>svg,.wand-team-member-body,.wand-team-run-body,.team-chat-step-body,.team-chat-goal-body,.task-board-team-step-head svg,.wand-team-member-head>svg,.wand-team-run-head>svg,.wand-team-candidate-tool,.wand-team-candidate-tool>svg,.wand-team-candidate-add,.wand-team-candidate-add>svg,.task-board-team-view,.task-board-team-step-skip-head,.task-board-team-step-skip-head>svg:last-child,.task-board-team-step-skip-body,.wand-teams-create-icon{transition:none}.wand-teams-detail,.wand-teams-detail-pane,.task-board-team-steps{animation:none}}\n"]);
|
|
4
|
+
(()=>{var Xe=Object.create;var Fa=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var Ye=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var O=(a,t)=>()=>(t||a((t={exports:{}}).exports,t),t.exports);var Ze=(a,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ye(t))!Qe.call(a,i)&&i!==s&&Fa(a,i,{get:()=>t[i],enumerable:!(n=Ge(t,i))||n.enumerable});return a};var k=(a,t,s)=>(s=a!=null?Xe(Je(a)):{},Ze(t||!a||!a.__esModule?Fa(s,"default",{value:a,enumerable:!0}):s,a));var da=O((qt,Oa)=>{Oa.exports=globalThis.__wandAiTeamsHost("react")});var la=O((Kt,qa)=>{qa.exports=globalThis.__wandAiTeamsHost("errors")});var Ka=O((Vt,Ua)=>{Ua.exports=globalThis.__wandAiTeamsHost("issues/agent-fields")});var fa=O((Xt,Va)=>{Va.exports=globalThis.__wandAiTeamsHost("issues/task-board-agent")});var Na=O((Gt,Xa)=>{Xa.exports=globalThis.__wandAiTeamsHost("issues/task-board-controller")});var Ya=O((Yt,Ga)=>{Ga.exports=globalThis.__wandAiTeamsHost("issues/task-board-repository")});var ma=O((Jt,Ja)=>{Ja.exports=globalThis.__wandAiTeamsHost("ai-teams/repository")});var ca=O((Qt,Qa)=>{Qa.exports=globalThis.__wandAiTeamsHost("ai-teams/avatar")});var ae=O((Zt,Za)=>{Za.exports=globalThis.__wandAiTeamsHost("http-adapter")});var pa=O((an,ee)=>{ee.exports=globalThis.__wandAiTeamsHost("ui")});var Q=O((en,te)=>{te.exports=globalThis.__wandAiTeamsHost("react/jsx-runtime")});var ve=O((sn,ge)=>{ge.exports=globalThis.__wandAiTeamsHost("model-catalog")});var fe=O((on,be)=>{be.exports=globalThis.__wandAiTeamsHost("overlay-controller")});var he=O((dn,we)=>{we.exports=globalThis.__wandAiTeamsHost("provider-usage")});var ke=O((ln,xe)=>{xe.exports=globalThis.__wandAiTeamsHost("settings/fields")});var _a=O((mn,ye)=>{ye.exports=globalThis.__wandAiTeamsHost("shell/sidebar-toggle-icon")});var qe=O((wn,je)=>{je.exports=globalThis.__wandAiTeamsHost("styles")});var v=k(da());function Ra(a){return Array.isArray(a.agents)&&a.agents.length>0?a.agents:a.agent?[a.agent]:[]}function Ha(a){return`${a.provider}|${a.model}|${a.thinkingEffort}|${a.mode}|${a.kind}`}var ja=6e4;var ra=k(la()),Ce=k(Ka()),Y=k(fa()),La=k(Na()),xa=k(Ya());var $=k(da()),X=k(ma()),ga=k(ca());var V=k(da()),ne=k(la()),wa=k(ae()),Sa=k(fa()),re=k(pa()),ha=k(ca()),se=k(ma()),c=k(Q());function at(a){return`/api/structured-sessions/${encodeURIComponent(a)}/messages`}function et(a){return{input:a}}function tt(a,t){if(a.role!=="user")return!1;let s=Date.parse(a.createdAt??"");return!Number.isNaN(s)&&s>=t}function nt(a,t){return t?a.filter(s=>!t.some(n=>tt(n,s.sentAt))):a.map(s=>({...s,unconfirmed:!0}))}var rt={awaiting_approval:"\u56DE\u590D\u300E\u6279\u51C6\u300F\u5373\u5F00\u5DE5\uFF0C\u5176\u4ED6\u5185\u5BB9\u4F1A\u4F5C\u4E3A\u4FEE\u6539\u610F\u89C1\u8F6C\u7ED9\u8D1F\u8D23\u4EBA",running:"\u5C06\u4F5C\u4E3A\u63D2\u8BDD\uFF0C\u8D1F\u8D23\u4EBA\u4E0B\u4E00\u8F6E\u770B\u5230"},st="\u53D1\u6D88\u606F\u4F1A\u63A5\u7740\u8FD9\u4E00\u8F6E\u7684\u8FDB\u5EA6\u5F00\u65B0\u4E00\u8F6E";function it(a){return a==="done"||a==="stopped"||a==="failed"?st:rt[a]??""}function ua(a){return a.content.filter(t=>t.type==="text").map(t=>"text"in t?t.text.trim():"").filter(Boolean).join(`
|
|
5
|
+
`)}function Ca(a){let t=Date.parse(a.completedAt||a.createdAt||"");return Number.isNaN(t)?"":new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function ot(a){return a.notice?"notice":a.role==="user"?"user":a.author?.leader?"leader":"step"}var dt=/^(✅ 完成|❌ 没完成)「(.+?)」\s*/;function ie(a){let t=dt.exec(a.trim());return t?{ok:t[1]==="\u2705 \u5B8C\u6210",title:t[2],body:a.trim().slice(t[0].length)}:null}var lt=/^\d+\.\s*\*\*@(.+?)\*\*\s*(.+)$/,mt=/^(.+?)((等第.+?))$/;function ct(a){let t=a.trim().split(`
|
|
6
|
+
`),s=[],n=[];for(let i of t){let d=lt.exec(i.trim());if(!d){n.push(i);continue}let o=mt.exec(d[2]);s.push({member:d[1],title:o?o[1]:d[2],wait:o?o[2]:""})}return{head:n.join(`
|
|
7
|
+
`).trim(),assignments:s}}var pt=6,ut=420;function gt(a){return a.length>ut||a.split(`
|
|
8
|
+
`).length>pt}function oe({author:a}){return(0,c.jsx)("span",{className:"pixel-avatar",children:(0,c.jsx)(ha.PixelCat,{coat:(0,ha.memberCoatIndex)({id:a.id,name:a.name,avatar:a.avatar})})})}function de({text:a,previewClassName:t,bodyClassName:s}){let n=gt(a),[i,d]=V.useState(!1),o=!n||i;return(0,c.jsxs)(c.Fragment,{children:[n&&!o?(0,c.jsx)("p",{className:t,children:a}):null,(0,c.jsx)("div",{className:s,"data-open":o||void 0,inert:!o,children:(0,c.jsx)("div",{className:`${s}-inner`,children:(0,c.jsx)("pre",{className:`${s}-text`,children:a})})}),n?(0,c.jsx)("button",{type:"button",className:"team-chat-expand","aria-expanded":o,onClick:()=>d(r=>!r),children:o?"\u6536\u8D77":"\u5C55\u5F00\u5168\u6587"}):null]})}function vt({detail:a}){let{run:t}=a;return(0,c.jsxs)("section",{className:"team-chat-goal",children:[(0,c.jsxs)("header",{className:"team-chat-goal-head",children:[(0,c.jsx)("span",{className:"team-chat-goal-label",children:"\u4E3B\u4EFB\u52A1"}),(0,c.jsxs)("span",{className:"team-chat-goal-meta",children:[t.stepsUsed,"/",t.stepLimit," \u6B65 \xB7 ",t.team.name]})]}),(0,c.jsx)(de,{text:t.objective,previewClassName:"team-chat-goal-preview",bodyClassName:"team-chat-goal-body"})]})}function bt({turn:a,step:t,onOpenSession:s}){let n=a.author,i=ua(a),d=ie(i),o=Ca(a),r=n?.provider?(0,Sa.issueAgentProviderLabel)(n.provider):"",m=t?.status??(d?.ok===!1?"failed":d?"done":void 0);return(0,c.jsxs)("div",{className:"chat-message assistant team-chat-step","data-status":m,children:[(0,c.jsxs)("div",{className:"team-chat-step-head",children:[n?(0,c.jsx)(oe,{author:n}):null,n?.sessionId&&s?(0,c.jsx)("button",{type:"button",className:"avatar-name chat-author-link",title:"\u67E5\u770B\u8FD9\u4E2A\u6210\u5458\u7684\u4F1A\u8BDD",onClick:()=>s(n.sessionId),children:n.name}):(0,c.jsx)("span",{className:"avatar-name",children:n?.name??"\u6210\u5458"}),r?(0,c.jsx)("span",{className:"wand-team-chat-provider",children:r}):null,d?(0,c.jsxs)("span",{className:"team-chat-step-chip","data-ok":d.ok||void 0,children:[d.ok?"\u2705":"\u274C"," ",d.title]}):null,o?(0,c.jsx)("span",{className:"chat-message-time",children:o}):null]}),(0,c.jsx)(de,{text:d?d.body:i,previewClassName:"team-chat-step-preview",bodyClassName:"team-chat-step-body"})]})}function ft({turn:a,onOpenSession:t}){let s=a.author,n=Ca(a),i=s?.provider?(0,Sa.issueAgentProviderLabel)(s.provider):"",{head:d,assignments:o}=ct(ua(a));return(0,c.jsxs)("div",{className:"chat-message assistant chat-message-lead team-chat-plan",children:[(0,c.jsxs)("div",{className:"team-chat-plan-head",children:[(0,c.jsxs)("span",{className:"chat-message-avatar assistant chat-message-author",children:[s?(0,c.jsx)(oe,{author:s}):null,s?.sessionId&&t?(0,c.jsx)("button",{type:"button",className:"avatar-name chat-author-link",title:"\u67E5\u770B\u8D1F\u8D23\u4EBA\u7684\u4F1A\u8BDD",onClick:()=>t(s.sessionId),children:s.name}):(0,c.jsx)("span",{className:"avatar-name",children:s?.name??"\u8D1F\u8D23\u4EBA"})]}),(0,c.jsx)("span",{className:"chat-author-badge",children:"\u8D1F\u8D23\u4EBA"}),i?(0,c.jsx)("span",{className:"wand-team-chat-provider",children:i}):null,n?(0,c.jsx)("span",{className:"chat-message-time",children:n}):null]}),d?(0,c.jsx)("p",{className:"team-chat-plan-text",children:d}):null,o.length>0?(0,c.jsx)("ol",{className:"team-chat-plan-list",children:o.map((r,m)=>(0,c.jsxs)("li",{children:[(0,c.jsxs)("span",{className:"team-chat-plan-member",children:["@",r.member]}),(0,c.jsx)("span",{className:"team-chat-plan-title",children:r.title}),r.wait?(0,c.jsx)("small",{className:"team-chat-plan-wait",children:r.wait}):null]},`${r.member}#${m}`))}):null]})}function ta({detail:a,onChange:t,onOpenSession:s}){let{run:n,chatTurns:i,steps:d}=a,[o,r]=V.useState([]),[m,f]=V.useState(""),[y,A]=V.useState(!1),[P,N]=V.useState(""),T=V.useRef(null),L=it(n.status);V.useEffect(()=>{r([]),f(""),N("")},[n.id]),V.useEffect(()=>{let g=T.current;g&&(g.scrollTop=g.scrollHeight)},[i.length,o.length]);let z=async()=>{let g=m.trim(),w=n.chatSessionId;if(!g||!w||y)return;let _=Date.now();A(!0),N(""),f(""),r(I=>[...I,{local:!0,text:g,sentAt:_,unconfirmed:!1}]);try{await(0,wa.requestJson)(at(w),(0,wa.jsonBody)(et(g)))}catch(I){r(W=>W.filter(F=>F.sentAt!==_)),A(!1),N((0,ne.failureMessage)(I,"\u53D1\u9001\u5931\u8D25\u3002"));return}let C=null;try{let I=await se.aiTeamsRepository.detail(n.id);t(I),C=I.chatTurns}catch{C=null}A(!1),r(I=>nt(I,C))};return(0,c.jsxs)("div",{className:"task-board-team-chat",children:[(0,c.jsx)(vt,{detail:a}),(0,c.jsxs)("div",{className:"task-board-team-chat-list",ref:T,children:[i.length+o.length===0?(0,c.jsx)("p",{className:"task-board-team-run-detail",children:"\u7FA4\u804A\u8FD8\u6CA1\u6709\u6D88\u606F\u3002"}):null,i.map((g,w)=>{let _=ot(g),C=`${g.createdAt??""}#${w}`;if(_==="notice"){let F=Ca(g);return(0,c.jsx)("div",{className:"chat-message chat-notice",children:(0,c.jsxs)("div",{className:"chat-notice-line",children:[g.author?.name?(0,c.jsx)("span",{className:"chat-notice-author",children:g.author.name}):null,(0,c.jsx)("span",{className:"chat-notice-text",children:ua(g)}),F?(0,c.jsx)("span",{className:"chat-notice-time",children:F}):null]})},C)}if(_==="user")return(0,c.jsx)("div",{className:"chat-message user",children:(0,c.jsx)("div",{className:"chat-message-bubble",children:ua(g)})},C);if(_==="leader")return(0,c.jsx)(ft,{turn:g,onOpenSession:s},C);let I=ie(ua(g)),W=I?d.find(F=>F.kind==="work"&&F.title===I.title):void 0;return(0,c.jsx)(bt,{turn:g,step:W,onOpenSession:s},C)}),o.map(g=>(0,c.jsxs)("div",{className:"chat-message user",children:[(0,c.jsx)("div",{className:"chat-message-bubble",children:g.text}),g.unconfirmed?(0,c.jsx)("small",{className:"wand-team-chat-unconfirmed",children:"\u672A\u786E\u8BA4"}):null]},`local#${g.sentAt}`))]}),n.chatSessionId?(0,c.jsxs)("div",{className:"task-board-team-chat-input",children:[L?(0,c.jsx)("p",{className:"task-board-team-chat-hint",children:L}):null,(0,c.jsx)("textarea",{className:"resize-none task-board-detail-body",rows:2,value:m,placeholder:L||"\u53D1\u6D88\u606F\u7ED9\u56E2\u961F","aria-label":"\u7FA4\u804A\u6D88\u606F",onChange:g=>f(g.currentTarget.value)}),(0,c.jsx)("div",{className:"task-board-native-editor-actions",children:(0,c.jsx)(re.WandButton,{kind:"primary",size:"small",disabled:!m.trim()||y,onClick:()=>{z()},children:y?"\u53D1\u9001\u4E2D\u2026":"\u53D1\u9001"})}),P?(0,c.jsx)("p",{className:"task-board-team-error",role:"alert",children:P}):null]}):(0,c.jsx)("p",{className:"task-board-team-run-detail",children:"\u8FD9\u6B21\u8FD0\u884C\u6CA1\u6709\u7FA4\u804A\u4F1A\u8BDD\uFF0C\u53EA\u80FD\u5728\u65F6\u95F4\u7EBF\u91CC\u770B\u3002"})]})}var me=k(la()),ce=k(fa()),q=k(pa()),l=k(Q()),va={running:{label:"\u8FDB\u884C\u4E2D",tone:"info"},awaiting_approval:{label:"\u7B49\u4F60\u6279\u51C6\u8BA1\u5212",tone:"warning"},waiting_user:{label:"\u7B49\u4F60\u56DE\u590D",tone:"warning"},done:{label:"\u5DF2\u5B8C\u6210",tone:"success"},failed:{label:"\u5931\u8D25",tone:"neutral"},stopped:{label:"\u5DF2\u505C\u6B62",tone:"neutral"}},wt={queued:"\u6392\u961F",running:"\u8FDB\u884C\u4E2D",done:"\u5B8C\u6210",failed:"\u5931\u8D25",skipped:"\u8DF3\u8FC7"},pe={needs_input:"\u7B49\u5F85\u56DE\u7B54",needs_permission:"\u7B49\u5F85\u6388\u6743"},ht=["running","awaiting_approval","waiting_user"];function xt(){let[a,t]=$.useState(""),[s,n]=$.useState(null),i=$.useRef(null);$.useEffect(()=>()=>{i.current!==null&&window.clearTimeout(i.current)},[]);let d=$.useCallback(async(o,r)=>{t(o),n(null);let m=!0;try{await r()}catch{m=!1}finally{t("")}n({key:o,ok:m}),i.current!==null&&window.clearTimeout(i.current),i.current=window.setTimeout(()=>{i.current=null,n(null)},m?1400:2800)},[]);return{pending:a,flash:s,run:d}}function na({id:a,state:t,label:s,pendingLabel:n,kind:i="ghost",disabled:d,onClick:o}){let r=t.flash?.key===a?t.flash:null,m=t.pending===a;return(0,l.jsx)(q.WandButton,{kind:i,size:"small","aria-busy":m||void 0,"aria-live":"polite",disabled:d||!!t.pending,onClick:()=>{t.run(a,o)},children:m?n:r?r.ok?"\u5DF2\u5B8C\u6210":"\u5931\u8D25":s})}function za(a,t){return a.status==="running"?t&&pe[t]?"waiting":"working":a.status==="done"?"done":a.status==="failed"?"failed":"idle"}function kt(a,t,s){let n=t.filter(o=>o.memberId===a.id),i=n.find(o=>o.status==="running");if(i)return za(i,i.sessionId?s[i.sessionId]:void 0);let d=[...n].reverse().find(o=>o.status!=="queued"&&o.status!=="skipped");return d?za(d,void 0):"idle"}function yt({step:a,steps:t,member:s,memberState:n,open:i,onToggle:d,onOpenSession:o,onComplete:r,actions:m}){let f=s?.name??(a.kind==="leader"?"\u8D1F\u8D23\u4EBA":a.memberId),[y,A]=$.useState(""),[P,N]=$.useState(!1),T=a.dispatchInfo?.skipped??[],L=n?pe[n]:void 0,z=a.kind==="work"&&a.status==="running",g=a.status==="queued"?a.dependsOn.map(w=>t.find(_=>_.id===w)).filter(w=>!!w&&w.status!=="done").map(w=>`#${w.seq}`):[];return(0,l.jsxs)("li",{className:"task-board-team-step","data-status":a.status,"data-kind":a.kind,"data-open":i||void 0,children:[s?(0,l.jsx)(ga.TeamAvatar,{member:s,size:"sm",state:za(a,n)}):(0,l.jsx)("span",{}),(0,l.jsxs)("div",{className:"task-board-team-step-card",children:[(0,l.jsxs)("button",{type:"button",className:"task-board-team-step-head","aria-expanded":i,onClick:d,children:[(0,l.jsxs)("span",{className:"task-board-team-step-title",children:[(0,l.jsxs)("small",{children:[f," \xB7 #",a.seq]}),(0,l.jsx)("strong",{children:a.title||(a.kind==="leader"?"\u8D1F\u8D23\u4EBA\u51B3\u7B56":"\u6210\u5458\u6B65\u9AA4")})]}),(0,l.jsx)("span",{className:"task-board-team-step-status",children:L??(g.length?`\u7B49\u5F85 ${g.join("\u3001")}`:wt[a.status])}),(0,l.jsx)(q.WandIcon,{name:"chevronDown",size:14})]}),a.report&&!i?(0,l.jsx)("p",{className:"task-board-team-step-preview",children:a.report}):null,(0,l.jsx)("div",{className:"task-board-team-step-body",inert:!i,children:(0,l.jsxs)("div",{className:"task-board-team-step-inner",children:[a.instructions?(0,l.jsxs)("section",{children:[(0,l.jsx)("h4",{children:a.kind==="leader"?"\u53D1\u7ED9\u8D1F\u8D23\u4EBA":"\u4EFB\u52A1\u8BF4\u660E"}),(0,l.jsx)("pre",{children:a.instructions})]}):null,a.report?(0,l.jsxs)("section",{children:[(0,l.jsx)("h4",{children:a.kind==="leader"?"\u8D1F\u8D23\u4EBA\u8BF4\u660E":"\u62A5\u544A"}),(0,l.jsx)("pre",{children:a.report})]}):null,(0,l.jsxs)("p",{className:"task-board-team-step-meta",children:["\u62A5\u544A\u6587\u4EF6\uFF1A",(0,l.jsx)("code",{children:a.reportPath})]}),a.sessionId&&o?(0,l.jsx)("div",{className:"task-board-native-editor-actions",children:(0,l.jsxs)(q.WandButton,{kind:"ghost",size:"small",onClick:()=>o(a.sessionId),children:[(0,l.jsx)(q.WandIcon,{name:"terminal",size:14,slot:"start"}),"\u6253\u5F00\u4F1A\u8BDD"]})}):null,z?(0,l.jsxs)("div",{className:"task-board-team-manual",children:[(0,l.jsx)("textarea",{className:"resize-none task-board-detail-body",rows:3,value:y,placeholder:"\u6210\u5458\u6CA1\u6709\u5199\u62A5\u544A\u6587\u4EF6\u65F6\uFF0C\u5728\u8FD9\u91CC\u8865\u4E00\u6BB5\u7ED3\u679C\u518D\u624B\u52A8\u5B8C\u6210","aria-label":"\u624B\u52A8\u5B8C\u6210\u7684\u62A5\u544A",onChange:w=>A(w.currentTarget.value)}),(0,l.jsx)(na,{id:`complete-${a.id}`,state:m,label:"\u624B\u52A8\u5B8C\u6210\u6B64\u6B65",pendingLabel:"\u63D0\u4EA4\u4E2D\u2026",onClick:()=>r(y)})]}):null]})}),T.length?(0,l.jsxs)("div",{className:"task-board-team-step-skips","data-open":P||void 0,children:[(0,l.jsxs)("button",{type:"button",className:"task-board-team-step-skip-head","aria-expanded":P,onClick:()=>N(w=>!w),children:[(0,l.jsx)(q.WandIcon,{name:"warning",size:13}),(0,l.jsxs)("span",{children:["\u5907\u7528\u5019\u9009 ",T.map(w=>w.candidate).join("\u3001")," \u6CA1\u7528\u4E0A"]}),(0,l.jsx)(q.WandIcon,{name:"chevronDown",size:14})]}),(0,l.jsx)("div",{className:"task-board-team-step-skip-body",inert:!P,children:(0,l.jsx)("ul",{className:"task-board-team-step-skip-inner",children:T.map(w=>(0,l.jsxs)("li",{children:[(0,l.jsxs)("strong",{children:["\u5019\u9009 ",w.candidate," \xB7 ",(0,ce.issueAgentProviderLabel)(w.agent.provider)]}),(0,l.jsx)("span",{children:w.reason})]},w.candidate))})})]}):null]})]})}var le=[{value:"chat",label:"\u7FA4\u804A"},{value:"timeline",label:"\u65F6\u95F4\u7EBF"},{value:"members",label:"\u6309\u6210\u5458"}];function Ia({detail:a,onChange:t,onOpenSession:s}){let{run:n,steps:i,memberStates:d}=a,o=xt(),[r,m]=$.useState(""),[f,y]=$.useState(""),[A,P]=$.useState("chat"),[N,T]=$.useState(""),[L,z]=$.useState(""),g=va[n.status],w=ht.includes(n.status),_=n.stepsUsed>=n.stepLimit,C=n.status==="awaiting_approval"||n.status==="waiting_user",I=[...n.team.members].sort((x,u)=>Number(u.isLeader)-Number(x.isLeader));$.useEffect(()=>{T(""),z("")},[n.id,n.status]);let W=x=>async()=>{z("");try{t(await x()),T("")}catch(u){throw z((0,me.failureMessage)(u,"\u64CD\u4F5C\u5931\u8D25\u3002")),u}},F=x=>(0,l.jsx)(yt,{step:x,steps:i,member:n.team.members.find(u=>u.id===x.memberId),memberState:x.sessionId?d[x.sessionId]:void 0,open:r===x.id,onToggle:()=>m(u=>u===x.id?"":x.id),onOpenSession:s,onComplete:u=>W(()=>X.aiTeamsRepository.completeStep(n.id,x.id,u))(),actions:o},x.id),h=f?i.filter(x=>x.memberId===f):i,M=f?"timeline":A;return(0,l.jsxs)("div",{className:"task-board-team-run","data-status":n.status,children:[(0,l.jsxs)("div",{className:"task-board-team-run-head",children:[(0,l.jsx)(ga.TeamAvatarStack,{members:n.team.members,size:"sm"}),(0,l.jsx)("strong",{children:n.team.name}),(0,l.jsx)(q.WandBadge,{tone:g.tone,children:g.label}),(0,l.jsxs)("small",{children:["\u6B65\u6570 ",n.stepsUsed,"/",n.stepLimit]}),n.chatSessionId&&s?(0,l.jsx)(q.WandButton,{kind:"secondary",size:"small",onClick:()=>s(n.chatSessionId),children:"\u6253\u5F00\u7FA4\u804A"}):null,w?(0,l.jsx)(na,{id:"stop",state:o,kind:"danger",label:"\u505C\u6B62",pendingLabel:"\u505C\u6B62\u4E2D\u2026",onClick:W(()=>X.aiTeamsRepository.stop(n.id))}):null]}),(0,l.jsx)("div",{className:"task-board-team-roster",role:"group","aria-label":"\u6210\u5458",children:I.map(x=>{let u=i.filter(D=>D.memberId===x.id&&D.status!=="skipped"),S=u.filter(D=>D.status==="done").length;return(0,l.jsxs)("button",{type:"button",className:"task-board-team-roster-item","aria-pressed":f===x.id,title:f===x.id?"\u663E\u793A\u5168\u90E8\u6210\u5458":`\u53EA\u770B${x.name}`,onClick:()=>y(D=>D===x.id?"":x.id),children:[(0,l.jsx)(ga.TeamAvatar,{member:x,state:kt(x,i,d),showProvider:!0}),(0,l.jsx)("span",{children:x.name}),(0,l.jsx)("small",{children:u.length?`${S}/${u.length}`:"\u5F85\u547D"})]},x.id)})}),C||n.statusDetail?(0,l.jsxs)("div",{className:"task-board-team-banner","data-attention":C||void 0,children:[n.statusDetail?(0,l.jsx)("p",{children:n.statusDetail}):null,C?(0,l.jsxs)("div",{className:"task-board-team-respond",children:[(0,l.jsx)("textarea",{className:"resize-none task-board-detail-body",rows:3,value:N,placeholder:n.status==="awaiting_approval"?"\u9000\u56DE\u65F6\u5199\u4E0B\u4FEE\u6539\u610F\u89C1":"\u56DE\u590D\u8D1F\u8D23\u4EBA\u7684\u95EE\u9898\u6216\u8865\u5145\u8981\u6C42","aria-label":n.status==="awaiting_approval"?"\u9000\u56DE\u610F\u89C1":"\u56DE\u590D\u8D1F\u8D23\u4EBA",onChange:x=>T(x.currentTarget.value)}),(0,l.jsx)("div",{className:"task-board-native-editor-actions",children:n.status==="awaiting_approval"?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(na,{id:"reject",state:o,label:"\u9000\u56DE\u91CD\u505A",pendingLabel:"\u9000\u56DE\u4E2D\u2026",disabled:!N.trim(),onClick:W(()=>X.aiTeamsRepository.reject(n.id,N))}),(0,l.jsx)(na,{id:"approve",state:o,kind:"primary",label:"\u6279\u51C6\u8BA1\u5212",pendingLabel:"\u6279\u51C6\u4E2D\u2026",onClick:W(()=>X.aiTeamsRepository.approve(n.id))})]}):(0,l.jsxs)(l.Fragment,{children:[_?(0,l.jsx)(na,{id:"continue",state:o,label:"\u8FFD\u52A0 10 \u6B65\u7EE7\u7EED",pendingLabel:"\u7EE7\u7EED\u4E2D\u2026",onClick:W(()=>X.aiTeamsRepository.continueRun(n.id,10))}):null,(0,l.jsx)(na,{id:"reply",state:o,kind:"primary",label:"\u53D1\u9001\u56DE\u590D",pendingLabel:"\u53D1\u9001\u4E2D\u2026",disabled:!N.trim(),onClick:W(()=>X.aiTeamsRepository.reply(n.id,N))})]})})]}):null]}):null,L?(0,l.jsx)("p",{className:"task-board-team-error",role:"alert",children:L}):null,f?null:(0,l.jsx)(q.WandStretchTabs,{tabs:le,value:A,ariaLabel:"\u8FD0\u884C\u89C6\u56FE",className:"task-board-team-views",onValueChange:P}),(0,l.jsx)("div",{className:"task-board-team-views-stack",children:le.map(x=>(0,l.jsxs)("div",{className:"task-board-team-view","data-view":x.value,"data-hidden":M!==x.value||void 0,inert:M!==x.value,children:[x.value==="chat"?(0,l.jsx)(ta,{detail:a,onChange:t,onOpenSession:s}):null,x.value==="timeline"?(0,l.jsx)("ol",{className:"task-board-team-steps",children:h.map(F)}):null,x.value==="members"?(0,l.jsx)("div",{className:"task-board-team-groups",children:I.map(u=>{let S=i.filter(D=>D.memberId===u.id);return(0,l.jsxs)("section",{className:"task-board-team-group",children:[(0,l.jsxs)("header",{children:[(0,l.jsx)("strong",{children:u.name}),(0,l.jsx)("small",{children:u.duty})]}),S.length?(0,l.jsx)("ol",{className:"task-board-team-steps",children:S.map(F)}):(0,l.jsx)("p",{className:"task-board-team-run-detail",children:"\u8FD8\u6CA1\u6709\u5206\u5230\u6B65\u9AA4\u3002"})]},u.id)})}):null]},x.value))})]})}function ue({taskId:a,refreshKey:t=0,onOpenSession:s}){let[n,i]=$.useState(null),d=n?.run.id??"",o=$.useCallback(async()=>{try{let r=await X.aiTeamsRepository.runsForTask(a);i(r[0]?await X.aiTeamsRepository.detail(r[0].id):null)}catch{}},[a]);return $.useEffect(()=>{i(null)},[a]),$.useEffect(()=>{o()},[o,t]),$.useEffect(()=>(0,X.subscribeAiTeamRunChanges)(r=>{(r.taskId===a||r.runId===d)&&o()}),[d,o,a]),n?(0,l.jsx)("section",{className:"task-board-team","aria-label":"AI \u56E2\u961F",children:(0,l.jsx)(Ia,{detail:n,onChange:i,onOpenSession:s})}):null}var ze=k(ve()),Ie=k(fe()),ya=k(he()),B=k(ke()),_e=k(_a()),R=k(pa()),H=k(ca()),U=k(ma()),e=k(Q()),Re="__new__",At=["awaiting_approval","waiting_user"],Rt=[{id:"dev",name:"\u5F00\u53D1\u4E09\u4EBA\u7EC4",summary:"\u8D1F\u8D23\u4EBA\u62C6\u89E3\u4E0E\u9A8C\u6536\uFF0C\u4E00\u4EBA\u5B9E\u73B0\uFF0C\u4E00\u4EBA\u5BA1\u67E5",instructions:"\u5BA1\u67E5\u8005\u53EA\u8BFB\u4EE3\u7801\uFF0C\u95EE\u9898\u5199\u8FDB\u62A5\u544A\uFF0C\u7531\u8D1F\u8D23\u4EBA\u51B3\u5B9A\u662F\u5426\u8FD4\u5DE5\u3002",members:[{name:"\u8D1F\u8D23\u4EBA",isLeader:!0,duty:"\u62C6\u89E3\u4EFB\u52A1\u3001\u5206\u6D3E\u6B65\u9AA4\uFF0C\u5BA1\u9605\u62A5\u544A\u5E76\u51B3\u5B9A\u4E0B\u4E00\u6B65\u6216\u5B8C\u6210\u3002"},{name:"\u5B9E\u73B0\u8005",duty:"\u6309\u6B65\u9AA4\u6539\u4EE3\u7801\u5E76\u81EA\u6D4B\uFF0C\u62A5\u544A\u5199\u6E05\u6539\u52A8\u4E0E\u9A8C\u8BC1\u65B9\u5F0F\u3002"},{name:"\u5BA1\u67E5\u8005",duty:"\u5BA1\u67E5\u6539\u52A8\u4E0E\u6D4B\u8BD5\uFF0C\u6307\u51FA\u95EE\u9898\u548C\u98CE\u9669\uFF0C\u4E0D\u76F4\u63A5\u4FEE\u6539\u3002"}]},{id:"bugfix",name:"\u4FEE Bug \u4E8C\u4EBA\u7EC4",summary:"\u8D1F\u8D23\u4EBA\u5B9A\u4F4D\u4E0E\u9A8C\u8BC1\uFF0C\u4E00\u4EBA\u4FEE\u590D",instructions:"\u5148\u590D\u73B0\u518D\u4FEE\uFF0C\u4FEE\u590D\u9644\u4E0A\u9A8C\u8BC1\u6B65\u9AA4\u3002",members:[{name:"\u8D1F\u8D23\u4EBA",isLeader:!0,duty:"\u590D\u73B0\u5E76\u5B9A\u4F4D\u6839\u56E0\uFF0C\u5199\u6E05\u4FEE\u6539\u8303\u56F4\uFF0C\u4FEE\u5B8C\u540E\u9A8C\u8BC1\u3002"},{name:"\u4FEE\u590D\u8005",duty:"\u6309\u5B9A\u4F4D\u4FEE\u6539\u4EE3\u7801\uFF0C\u8865\u56DE\u5F52\u6D4B\u8BD5\uFF0C\u62A5\u544A\u9644\u9A8C\u8BC1\u8F93\u51FA\u3002"}]},{id:"research",name:"\u8C03\u7814\u52A0\u8BC4\u5BA1",summary:"\u4E24\u4EBA\u5E76\u884C\u8C03\u7814\u4E0D\u540C\u65B9\u5411\uFF0C\u8D1F\u8D23\u4EBA\u6C47\u603B",instructions:"\u8C03\u7814\u5458\u53EF\u540C\u65F6\u5F00\u59CB\uFF0C\u53EA\u8BFB\u4E0D\u6539\u6587\u4EF6\u3002",members:[{name:"\u8D1F\u8D23\u4EBA",isLeader:!0,duty:"\u62C6\u51FA\u4E92\u4E0D\u91CD\u53E0\u7684\u8C03\u7814\u65B9\u5411\uFF0C\u6C47\u603B\u7ED3\u8BBA\u7ED9\u51FA\u5EFA\u8BAE\u3002"},{name:"\u8C03\u7814\u5458\u7532",duty:"\u6309\u5206\u6D3E\u7684\u65B9\u5411\u8C03\u7814\uFF0C\u7ED3\u8BBA\u9644\u51FA\u5904\u3002"},{name:"\u8C03\u7814\u5458\u4E59",duty:"\u6309\u5206\u6D3E\u7684\u65B9\u5411\u8C03\u7814\uFF0C\u7ED3\u8BBA\u9644\u51FA\u5904\u3002"}]},{id:"blank",name:"\u7A7A\u767D\u56E2\u961F",summary:"\u4E00\u4F4D\u8D1F\u8D23\u4EBA\u52A0\u4E00\u4F4D\u6210\u5458\uFF0C\u81EA\u5DF1\u5199\u804C\u8D23",instructions:"",members:[{name:"\u8D1F\u8D23\u4EBA",isLeader:!0,duty:""},{name:"\u6210\u5458",duty:""}]}];function Ne(a,t){return{name:a.id==="blank"?"":a.name,description:a.summary,instructions:a.instructions,requirePlanApproval:!0,maxSteps:30,members:a.members.map((s,n)=>({id:"",name:s.name,duty:s.duty,isLeader:!!s.isLeader,agents:[{...t}],agent:{...t},avatar:`cat:${n%H.CAT_COATS.length}`}))}}function Ee(a){return{name:a.name,description:a.description,instructions:a.instructions,requirePlanApproval:a.requirePlanApproval,maxSteps:a.maxSteps,members:a.members.map(t=>({...t,agent:{...t.agent}}))}}function Nt(a){return[...a].sort((t,s)=>Number(s.isLeader)-Number(t.isLeader))}function Le(a){return a===0?"\u9996\u9009":`\u5907\u7528 ${a+1}`}function St(a){if(a.length>=4)return a;let t=a[a.length-1];return[...a,t?{...t}:(0,Y.createDefaultIssueAgent)()]}function Ct(a,t,s){return a.map((n,i)=>i===t?{...s}:n)}function zt(a,t){return a.length<=1?a:a.filter((s,n)=>n!==t)}function It(a,t,s){let n=t+s;if(n<0||n>=a.length)return a;let i=[...a],d=i[t];return i[t]=i[n],i[n]=d,i}function Me(a){let t=new Set,s=[];return a.forEach((n,i)=>{let d=Ha(n);t.has(d)?s.push(i):t.add(d)}),s}function Pe(a){if(a.length===0)return"\u81F3\u5C11\u4FDD\u7559 1 \u4E2A\u6267\u884C\u5019\u9009\u3002";if(a.length>4)return`\u6267\u884C\u5019\u9009\u6700\u591A ${4} \u4E2A\u3002`;let t=Me(a);return t.length>0?`\u5019\u9009\u300C${Le(t[0])}\u300D\u4E0E\u66F4\u9760\u524D\u7684\u914D\u7F6E\u76F8\u540C\uFF0C\u6539\u4E00\u9879\u5373\u53EF\u3002`:""}function _t(a){let t=[];a.length<2&&t.push(`\u81F3\u5C11\u8981\u6709 ${2} \u4F4D\u6210\u5458\u3002`),a.length>8&&t.push(`\u6700\u591A ${8} \u4F4D\u6210\u5458\u3002`);let s=a.filter(n=>n.isLeader).length;return s!==1&&t.push(`\u8D1F\u8D23\u4EBA\u8981\u6070\u597D 1 \u4F4D\uFF0C\u5F53\u524D ${s} \u4F4D\u3002`),a.forEach((n,i)=>{let d=Pe(Ra(n));d&&t.push(`${n.name||`\u6210\u5458 ${i+1}`}\uFF1A${d}`)}),t}function Et({member:a,disabled:t,onChange:s}){let n=v.useRef(null),[i,d]=v.useState(""),o=a.avatar??"",r=(0,H.memberCoatIndex)(a);return(0,e.jsxs)("div",{className:"wand-team-avatar-picker",role:"group","aria-label":"\u5934\u50CF",children:[H.CAT_COATS.map((m,f)=>(0,e.jsx)("button",{type:"button",className:"wand-team-coat",title:m.name,"aria-label":m.name,"aria-pressed":!o.startsWith("data:")&&r===f,disabled:t,onClick:()=>s(`cat:${f}`),children:(0,e.jsx)(H.PixelCat,{coat:f})},m.name)),(0,e.jsx)("button",{type:"button",className:"wand-team-coat is-upload",title:"\u4E0A\u4F20\u56FE\u7247","aria-label":"\u4E0A\u4F20\u5934\u50CF\u56FE\u7247","aria-pressed":o.startsWith("data:"),disabled:t,onClick:()=>n.current?.click(),children:o.startsWith("data:")?(0,e.jsx)("img",{src:o,alt:""}):(0,e.jsx)(R.WandIcon,{name:"image",size:14})}),(0,e.jsx)("input",{ref:n,type:"file",accept:"image/png,image/jpeg,image/webp",hidden:!0,onChange:m=>{let f=m.currentTarget.files?.[0];m.currentTarget.value="",f&&(d(""),(0,H.shrinkAvatarImage)(f,ja).then(s).catch(y=>d((0,ra.failureMessage)(y,"\u56FE\u7247\u5904\u7406\u5931\u8D25\u3002"))))}}),i?(0,e.jsx)("small",{className:"wand-team-avatar-error",role:"alert",children:i}):null]})}function Lt({agent:a,index:t,total:s,catalog:n,providerOptions:i,disabled:d,locked:o,leaving:r,duplicate:m,fresh:f,ariaPrefix:y,onChange:A,onMove:P,onRemove:N,onLeaveEnd:T}){let L=Le(t),[z,g]=v.useState(!f);return v.useLayoutEffect(()=>{if(z)return;let w=0,_=requestAnimationFrame(()=>{w=requestAnimationFrame(()=>g(!0))});return()=>{cancelAnimationFrame(_),cancelAnimationFrame(w)}},[z]),(0,e.jsx)("div",{className:"wand-team-candidate-slot","data-collapsed":!z||r||void 0,"data-leaving":r||void 0,onTransitionEnd:w=>{r&&w.currentTarget===w.target&&T()},children:(0,e.jsxs)("div",{className:"wand-team-candidate","data-duplicate":m||void 0,inert:r,children:[(0,e.jsx)("span",{className:"wand-team-candidate-tag",children:L}),(0,e.jsx)("div",{className:"wand-ai-team-member-agent",children:(0,e.jsx)(Ce.AgentFields,{agent:a,catalog:n,providerOptions:i,disabled:d||o,ariaPrefix:`${y} ${L}`,showKind:!0,onChange:A})}),(0,e.jsxs)("div",{className:"wand-team-candidate-tools",children:[(0,e.jsx)("button",{type:"button",className:"wand-team-candidate-tool","data-tool":"up",title:"\u4E0A\u79FB","aria-label":`\u628A${L}\u4E0A\u79FB`,disabled:d||o||t===0,onClick:()=>P(-1),children:(0,e.jsx)(R.WandIcon,{name:"chevronUp",size:14})}),(0,e.jsx)("button",{type:"button",className:"wand-team-candidate-tool","data-tool":"down",title:"\u4E0B\u79FB","aria-label":`\u628A${L}\u4E0B\u79FB`,disabled:d||o||t===s-1,onClick:()=>P(1),children:(0,e.jsx)(R.WandIcon,{name:"chevronDown",size:14})}),(0,e.jsx)("button",{type:"button",className:"wand-team-candidate-tool","data-tool":"remove",title:s<=1?"\u81F3\u5C11\u8981\u4FDD\u7559 1 \u4E2A\u5019\u9009":"\u5220\u9664\u8BE5\u5019\u9009","aria-label":`\u5220\u9664${L}`,disabled:d||o||s<=1,onClick:N,children:(0,e.jsx)(R.WandIcon,{name:"close",size:14})})]})]})})}function Mt({member:a,index:t,open:s,catalog:n,providerOptions:i,disabled:d,canRemove:o,onToggle:r,onChange:m,onRemove:f}){let y=a.name||`\u6210\u5458 ${t+1}`,A=Ra(a),P=Me(A),N=Pe(A),[T,L]=v.useState(-1),[z,g]=v.useState(-1),[w,_]=v.useState(0),C=z>=0,I=h=>{m({agents:h,agent:{...h[0]}})},W=()=>{let h=St(A);h!==A&&(I(h),L(h.length-1))},F=h=>{g(-1),L(-1),_(M=>M+1),I(zt(A,h))};return(0,e.jsxs)("article",{className:"wand-team-member","data-leader":a.isLeader||void 0,"data-open":s||void 0,children:[(0,e.jsxs)("button",{type:"button",className:"wand-team-member-head","aria-expanded":s,onClick:r,children:[(0,e.jsx)(H.TeamAvatar,{member:a,size:"lg",showProvider:!0}),(0,e.jsxs)("span",{className:"wand-team-member-copy",children:[(0,e.jsxs)("strong",{children:[y,a.isLeader?(0,e.jsx)("em",{children:"\u8D1F\u8D23\u4EBA"}):null]}),(0,e.jsx)("small",{children:a.duty||"\u8FD8\u6CA1\u5199\u804C\u8D23"}),(0,e.jsxs)("span",{className:"wand-team-member-agent",children:[(0,Y.issueAgentProviderLabel)(a.agent.provider)," \xB7 ",a.agent.model==="default"?"\u9ED8\u8BA4\u6A21\u578B":a.agent.model]})]}),(0,e.jsx)(R.WandIcon,{name:"chevronDown",size:14})]}),(0,e.jsx)("div",{className:"wand-team-member-body",inert:!s,children:(0,e.jsxs)("div",{className:"wand-team-member-inner",children:[(0,e.jsx)(B.SettingsField,{label:"\u540D\u5B57",htmlFor:`team-member-${t}-name`,children:(0,e.jsx)(B.SettingsTextInput,{id:`team-member-${t}-name`,value:a.name,placeholder:"\u6210\u5458\u540D\u5B57",disabled:d,onChange:h=>m({name:h})})}),(0,e.jsx)(Et,{member:a,disabled:d,onChange:h=>m({avatar:h})}),(0,e.jsx)("textarea",{className:"wand-settings-input wand-ai-team-duty",rows:3,value:a.duty,placeholder:"\u804C\u8D23\uFF1A\u8FD9\u4F4D\u6210\u5458\u8D1F\u8D23\u4EC0\u4E48\u3001\u4EA4\u4ED8\u4EC0\u4E48","aria-label":`${y}\u7684\u804C\u8D23`,disabled:d,onChange:h=>m({duty:h.currentTarget.value})}),(0,e.jsxs)("div",{className:"wand-team-candidates",role:"group","aria-label":`${y} \u7684\u6267\u884C\u5019\u9009`,children:[(0,e.jsxs)("header",{className:"wand-team-candidates-head",children:[(0,e.jsx)("span",{children:"\u6267\u884C\u5019\u9009"}),(0,e.jsxs)("small",{children:["\u9996\u9009\u4E0D\u53EF\u7528\u65F6\u6309\u987A\u5E8F\u81EA\u52A8\u964D\u7EA7\uFF0C\u6700\u591A ",4," \u4E2A"]})]}),A.map((h,M)=>(0,e.jsx)(Lt,{agent:h,index:M,total:A.length,catalog:n,providerOptions:i,disabled:d,locked:C,leaving:z===M,duplicate:P.includes(M),fresh:T===M,ariaPrefix:y,onChange:x=>I(Ct(A,M,x)),onMove:x=>I(It(A,M,x)),onRemove:()=>g(M),onLeaveEnd:()=>F(M)},M)),(0,e.jsxs)("div",{className:"wand-team-candidates-foot",children:[(0,e.jsxs)("button",{type:"button",className:"wand-team-candidate-add",disabled:d||C||A.length>=4,title:A.length>=4?`\u5DF2\u7ECF\u5230 ${4} \u4E2A\u5019\u9009\u4E0A\u9650`:"\u5728\u672B\u5C3E\u52A0\u4E00\u4E2A\u5907\u7528\u5019\u9009",onClick:W,children:[(0,e.jsx)(R.WandIcon,{name:"plus",size:14}),(0,e.jsx)("span",{children:"\u6DFB\u52A0\u5019\u9009"})]}),N?(0,e.jsx)("small",{className:"wand-team-candidate-error",role:"alert",children:N}):null]})]},w),(0,e.jsxs)("div",{className:"wand-team-member-actions",children:[a.isLeader?null:(0,e.jsx)(R.WandButton,{kind:"ghost",size:"small",disabled:d,onClick:()=>m({isLeader:!0}),children:"\u8BBE\u4E3A\u8D1F\u8D23\u4EBA"}),(0,e.jsxs)(R.WandButton,{kind:"ghost",size:"small",disabled:d||!o,onClick:f,children:[(0,e.jsx)(R.WandIcon,{name:"trash",size:14,slot:"start"}),"\u79FB\u9664"]})]})]})})]})}function Se({team:a,initial:t,catalog:s,providerOptions:n,defaultAgent:i,onSaved:d,onDeleted:o}){let[r,m]=v.useState(t),[f,y]=v.useState(-1),[A,P]=v.useState(!1),[N,T]=v.useState(!1),[L,z]=v.useState(""),[g,w]=v.useState("info"),_=A||N,C=`ai-team-${a?.id??"new"}`,I=r.members.findIndex(u=>u.isLeader),W=(u,S)=>{m(D=>({...D,members:D.members.map((Z,sa)=>sa===u?{...Z,...S}:S.isLeader?{...Z,isLeader:!1}:Z)}))},F=u=>{y(-1),m(S=>{let D=S.members.filter((Z,sa)=>sa!==u);return!D.some(Z=>Z.isLeader)&&D[0]&&(D[0]={...D[0],isLeader:!0}),{...S,members:D}})};async function h(){let u=_t(r.members);if(u.length>0){z(u[0]),w("error");return}P(!0),z("");try{let S=a?await U.aiTeamsRepository.update(a.id,r):await U.aiTeamsRepository.create(r);m(Ee(S)),z(a?"\u5DF2\u4FDD\u5B58\u3002":"\u56E2\u961F\u5DF2\u521B\u5EFA\u3002"),w("success"),d(S,!a)}catch(S){z((0,ra.failureMessage)(S,"\u4FDD\u5B58\u56E2\u961F\u5931\u8D25\u3002")),w("error")}finally{P(!1)}}async function M(){if(!a)return;let u=await Ie.wandOverlay.dialog({title:`\u5220\u9664\u56E2\u961F\u300C${a.name}\u300D\uFF1F`,description:"\u5DF2\u7ECF\u5F00\u59CB\u7684\u8FD0\u884C\u4E0D\u53D7\u5F71\u54CD\uFF0C\u4F1A\u6309\u542F\u52A8\u65F6\u7684\u56E2\u961F\u5FEB\u7167\u7EE7\u7EED\u3002",actions:[{label:"\u53D6\u6D88",value:!1,autoFocus:!0},{label:"\u5220\u9664\u56E2\u961F",value:!0,kind:"danger"}]});if(!(u.dismissed===!0||!u.action)){T(!0);try{await U.aiTeamsRepository.remove(a.id),o(a.id)}catch(S){return z((0,ra.failureMessage)(S,"\u5220\u9664\u56E2\u961F\u5931\u8D25\u3002")),w("error"),!1}finally{T(!1)}}}let x=u=>(0,e.jsx)(Mt,{member:r.members[u],index:u,open:f===u,catalog:s,providerOptions:n,disabled:_,canRemove:r.members.length>2,onToggle:()=>y(S=>S===u?-1:u),onChange:S=>W(u,S),onRemove:()=>F(u)},u);return(0,e.jsxs)("div",{className:"wand-team-editor",children:[(0,e.jsxs)("section",{className:"wand-team-section","aria-label":"\u6210\u5458",children:[(0,e.jsxs)("header",{className:"wand-team-section-head",children:[(0,e.jsx)("h3",{children:"\u6210\u5458"}),(0,e.jsxs)("small",{children:[r.members.length,"/",8," \xB7 \u70B9\u6210\u5458\u5361\u5C55\u5F00\u7F16\u8F91"]})]}),(0,e.jsxs)("div",{className:"wand-team-org",children:[I>=0?(0,e.jsx)("div",{className:"wand-team-org-leader",children:x(I)}):null,(0,e.jsxs)("div",{className:"wand-team-org-members",children:[r.members.map((u,S)=>u.isLeader?null:x(S)),(0,e.jsxs)("button",{type:"button",className:"wand-team-member-add",disabled:_||r.members.length>=8,onClick:()=>{m(u=>({...u,members:[...u.members,{id:"",name:"",duty:"",agents:[{...i}],agent:{...i},isLeader:!1,avatar:`cat:${u.members.length%H.CAT_COATS.length}`}]})),y(r.members.length)},children:[(0,e.jsx)(R.WandIcon,{name:"plus",size:16}),(0,e.jsx)("span",{children:"\u6DFB\u52A0\u6210\u5458"})]})]})]})]}),(0,e.jsxs)("section",{className:"wand-team-section","aria-label":"\u534F\u4F5C\u8BBE\u7F6E",children:[(0,e.jsx)("header",{className:"wand-team-section-head",children:(0,e.jsx)("h3",{children:"\u534F\u4F5C\u8BBE\u7F6E"})}),(0,e.jsxs)("div",{className:"wand-ai-team-editor-grid",children:[(0,e.jsx)(B.SettingsField,{label:"\u56E2\u961F\u540D",htmlFor:`${C}-name`,children:(0,e.jsx)(B.SettingsTextInput,{id:`${C}-name`,value:r.name,placeholder:"\u4F8B\u5982\uFF1A\u5168\u6808\u5C0F\u7EC4",disabled:_,onChange:u=>m(S=>({...S,name:u}))})}),(0,e.jsx)(B.SettingsField,{label:"\u6B65\u6570\u4E0A\u9650",htmlFor:`${C}-steps`,hint:`\u8D1F\u8D23\u4EBA\u8F6E\u6B21\u4E0E\u6210\u5458\u6B65\u9AA4\u5408\u8BA1\uFF0C${5}\u2013${200}`,children:(0,e.jsx)(B.SettingsTextInput,{id:`${C}-steps`,type:"number",min:5,max:200,value:r.maxSteps,disabled:_,onChange:u=>m(S=>({...S,maxSteps:Number(u)}))})})]}),(0,e.jsx)(B.SettingsField,{label:"\u7B80\u4ECB",htmlFor:`${C}-description`,children:(0,e.jsx)(B.SettingsTextInput,{id:`${C}-description`,value:r.description,placeholder:"\u53EF\u9009\uFF1A\u8FD9\u4E2A\u56E2\u961F\u64C5\u957F\u4EC0\u4E48",disabled:_,onChange:u=>m(S=>({...S,description:u}))})}),(0,e.jsx)(B.SettingsField,{label:"\u534F\u4F5C\u6307\u4EE4",htmlFor:`${C}-instructions`,hint:"\u5199\u8FDB\u8D1F\u8D23\u4EBA\u548C\u6BCF\u4F4D\u6210\u5458\u7684\u63D0\u793A\u8BCD\uFF1A\u5206\u5DE5\u7EA6\u5B9A\u3001\u5DE5\u4F5C\u8981\u6C42\u3001\u6CE8\u610F\u4E8B\u9879\u3002",children:(0,e.jsx)("textarea",{id:`${C}-instructions`,className:"wand-settings-input wand-ai-team-duty",rows:4,value:r.instructions,placeholder:"\u4F8B\u5982\uFF1A\u5148\u8BFB AGENTS.md\uFF1B\u6539\u52A8\u5FC5\u987B\u9644\u6D4B\u8BD5\uFF1B\u4E0D\u8981\u52A8 migrations \u76EE\u5F55\u3002",disabled:_,onChange:u=>{let S=u.currentTarget.value;m(D=>({...D,instructions:S}))}})}),(0,e.jsx)(B.SettingsToggle,{label:"\u8BA1\u5212\u9700\u8981\u6211\u6279\u51C6",description:"\u8D1F\u8D23\u4EBA\u7ED9\u51FA\u7B2C\u4E00\u4EFD\u8BA1\u5212\u540E\u5148\u505C\u4E0B\uFF0C\u7B49\u4F60\u6279\u51C6\u6216\u9000\u56DE\u518D\u5F00\u59CB\u6267\u884C\u3002",checked:r.requirePlanApproval,disabled:_,onCheckedChange:u=>m(S=>({...S,requirePlanApproval:u}))})]}),(0,e.jsxs)("div",{className:"wand-ai-team-editor-footer",children:[a?(0,e.jsx)(B.SettingsActionButton,{kind:"danger",size:"small",pending:N,pendingLabel:"\u5220\u9664\u4E2D\u2026",errorLabel:"\u5220\u9664\u5931\u8D25",disabled:A,onClick:M,children:"\u5220\u9664\u56E2\u961F"}):null,(0,e.jsx)(B.SettingsSaveBar,{label:a?"\u4FDD\u5B58\u56E2\u961F":"\u521B\u5EFA\u56E2\u961F",pending:A,disabled:N,onSave:()=>{h()},status:L,tone:g})]})]})}function We(a){return a.filter(t=>t.kind!=="global")}function Pt(a){return We(a)[0]?.id??""}function Wt({teamId:a,teamName:t,projects:s,projectsLoaded:n,onStarted:i}){let d=We(s),[o,r]=v.useState(!1),[m,f]=v.useState(!1),[y,A]=v.useState(""),[P,N]=v.useState(""),[T,L]=v.useState("idle"),[z,g]=v.useState(""),w=v.useRef(null),_=v.useRef(null),C=P||Pt(s),I=T==="sending"||T==="sent";function W(){T!=="sending"&&(r(!1),f(!1),T==="failed"&&g(""))}v.useLayoutEffect(()=>{if(!o||m)return;let h=0,M=requestAnimationFrame(()=>{h=requestAnimationFrame(()=>{f(!0),_.current?.focus()})});return()=>{cancelAnimationFrame(M),cancelAnimationFrame(h)}},[o,m]),v.useEffect(()=>{if(!o)return;let h=M=>{w.current?.contains(M.target)||W()};return window.addEventListener("pointerdown",h,!0),()=>window.removeEventListener("pointerdown",h,!0)},[o,T]);async function F(){if(I)return;let h=y.trim();if(!(!h||!C)){L("sending"),g("");try{let M=await U.aiTeamsRepository.startDirect(a,{note:h,workspaceId:C});L("sent"),g(`${t}\u5DF2\u5F00\u5DE5\uFF0C\u6B63\u5728\u6253\u5F00\u7FA4\u804A\u2026`),await U.aiTeamsRepository.settle("success"),i(M),r(!1),f(!1),L("idle"),g(""),A("")}catch(M){L("failed"),g((0,ra.failureMessage)(M,"\u5F00\u5DE5\u5931\u8D25\uFF0C\u8BF7\u6362\u4E2A\u9879\u76EE\u6216\u7A0D\u540E\u518D\u8BD5\u3002")),await U.aiTeamsRepository.settle("error"),L("idle")}}}return(0,e.jsxs)("div",{ref:w,onKeyDown:h=>{h.key==="Escape"&&(h.stopPropagation(),W())},children:[(0,e.jsx)("div",{className:"wand-team-member-actions",children:(0,e.jsxs)(R.WandButton,{className:"task-board-create-button",kind:"ghost",size:"small","aria-pressed":o,disabled:I,onClick:()=>o?W():r(!0),children:[(0,e.jsx)(R.WandIcon,{name:"plus",slot:"start",className:"wand-teams-create-icon"}),(0,e.jsx)("span",{children:"\u76F4\u63A5\u5F00\u5DE5"})]})}),(0,e.jsx)("div",{className:"wand-team-candidate-slot","data-collapsed":!m||void 0,children:(0,e.jsx)("div",{className:"wand-team-member-inner",inert:!o,children:(0,e.jsxs)("div",{className:"wand-team-candidates",children:[d.length===0?n?(0,e.jsx)("p",{className:"wand-new-session-error",role:"alert",children:"\u8FD8\u6CA1\u6709\u53EF\u5F00\u5DE5\u7684\u9879\u76EE\uFF0C\u5148\u5728\u5DE5\u4F5C\u533A\u521B\u5EFA\u4E00\u4E2A\u9879\u76EE\u3002"}):(0,e.jsx)("p",{className:"wand-team-empty-line",children:"\u6B63\u5728\u52A0\u8F7D\u9879\u76EE\u2026"}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(B.SettingsField,{label:"\u9879\u76EE",htmlFor:`team-start-project-${a}`,children:(0,e.jsx)("select",{id:`team-start-project-${a}`,className:"wand-settings-input",value:C,disabled:I,onChange:h=>N(h.currentTarget.value),children:d.map(h=>(0,e.jsxs)("option",{value:h.id,children:[h.name," \xB7 ",h.cwd]},h.id))})}),(0,e.jsx)(B.SettingsField,{label:"\u5F00\u5DE5\u8BF4\u660E",htmlFor:`team-start-note-${a}`,hint:"\u4F1A\u5EFA\u4E00\u5F20\u4EFB\u52A1\u5361\uFF0C\u5E76\u628A\u8FD9\u6BB5\u8BF4\u660E\u4EA4\u7ED9\u8D1F\u8D23\u4EBA\u3002",children:(0,e.jsx)("textarea",{id:`team-start-note-${a}`,ref:_,className:"wand-settings-input wand-ai-team-duty",rows:2,value:y,placeholder:"\u4F8B\u5982\uFF1A\u628A\u8BBE\u7F6E\u9875\u7684\u6A21\u578B\u4E0B\u62C9\u6362\u6210\u53EF\u641C\u7D22\u7684\u9009\u62E9\u5668\uFF0C\u5E76\u8865\u5355\u6D4B\u3002",disabled:I,onChange:h=>A(h.currentTarget.value)})})]}),z?(0,e.jsx)("p",{className:T==="failed"?"wand-new-session-error":"wand-new-session-field-hint",role:T==="failed"?"alert":"status",children:z}):null,o&&d.length>0?(0,e.jsx)("div",{className:"wand-team-member-actions",children:(0,e.jsx)(R.WandButton,{kind:"primary",size:"small",disabled:I||!y.trim()||!C,onClick:()=>{F()},children:T==="sending"?"\u6B63\u5728\u5F00\u5DE5\u2026":T==="sent"?"\u5DF2\u5F00\u5DE5":"\u5F00\u5DE5"})}):null]})})})]})}function Dt({runs:a,focusRunId:t,onOpenSession:s}){let[n,i]=v.useState(""),[d,o]=v.useState(null),r=v.useCallback(async m=>{try{o(await U.aiTeamsRepository.detail(m))}catch{o(null)}},[]);return v.useEffect(()=>{t&&i(t)},[t]),v.useEffect(()=>{n&&r(n)},[r,n]),v.useEffect(()=>(0,U.subscribeAiTeamRunChanges)(m=>{m.runId===n&&r(n)}),[r,n]),a===null?(0,e.jsx)("p",{className:"wand-team-empty-line",children:"\u6B63\u5728\u52A0\u8F7D\u8FD0\u884C\u8BB0\u5F55\u2026"}):a.length===0?(0,e.jsx)("p",{className:"wand-team-empty-line",children:"\u8FD8\u6CA1\u6709\u8FD0\u884C\u8FC7\u3002\u7528\u56E2\u961F\u5361\u4E0B\u9762\u7684\u300C\u76F4\u63A5\u5F00\u5DE5\u300D\uFF0C\u6216\u5728\u4EFB\u52A1\u770B\u677F\u6D3E\u53D1\u4EFB\u52A1\u65F6\u4ECE\u300CCLI \u5DE5\u5177\u300D\u91CC\u9009\u8FD9\u4E2A\u56E2\u961F\u3002"}):(0,e.jsx)("ol",{className:"wand-team-runs",children:a.map(m=>{let f=n===m.id,y=va[m.status];return(0,e.jsxs)("li",{className:"wand-team-run","data-open":f||void 0,children:[(0,e.jsxs)("button",{type:"button",className:"wand-team-run-head","aria-expanded":f,onClick:()=>{o(null),i(A=>A===m.id?"":m.id)},children:[(0,e.jsx)("span",{className:"wand-team-run-id",children:m.taskIdentifier}),(0,e.jsx)("strong",{children:m.taskTitle||m.objective.split(`
|
|
9
|
+
`)[0]}),(0,e.jsx)(R.WandBadge,{tone:y.tone,children:y.label}),(0,e.jsx)("small",{children:new Date(m.updatedAt).toLocaleString("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"})}),(0,e.jsx)(R.WandIcon,{name:"chevronDown",size:14})]}),(0,e.jsx)("div",{className:"wand-team-run-body",inert:!f,children:(0,e.jsx)("div",{className:"wand-team-run-inner",children:f&&d?.run.id===m.id?(0,e.jsx)(Ia,{detail:d,onChange:o,onOpenSession:s}):f?(0,e.jsx)("p",{className:"wand-team-empty-line",children:"\u6B63\u5728\u52A0\u8F7D\u2026"}):null})})]},m.id)})})}var $t=[{value:"members",label:"\u6210\u5458\u4E0E\u8BBE\u7F6E"},{value:"runs",label:"\u8FD0\u884C\u8BB0\u5F55"}],Bt=[{value:"all",label:"\u5168\u90E8"},{value:"running",label:"\u8FD0\u884C\u4E2D"},{value:"attention",label:"\u5F85\u4F60\u5904\u7406"}];function De({sidebarOpen:a=!1,onBack:t,onOpenSidebar:s,onOpenSession:n}){let i=(0,ya.useProviderUsage)(!0),d=i===null?null:(0,ya.sortProviderOptions)(Y.ISSUE_AGENT_PROVIDERS,i,p=>p.value).map(p=>({value:p.value,label:p.label})),[o,r]=v.useState(null),[m,f]=v.useState([]),[y,A]=v.useState(""),[P,N]=v.useState(null),[T,L]=v.useState(()=>(0,Y.createDefaultIssueAgent)()),[z,g]=v.useState(""),[w,_]=v.useState(null),[C,I]=v.useState(""),[W,F]=v.useState("all"),[h,M]=v.useState("members"),[x,u]=v.useState([]),[S,D]=v.useState(!1),[Z,sa]=v.useState(""),Aa=v.useCallback(async()=>{try{let p=await U.aiTeamsRepository.list();r(p),A(""),g(E=>E||(window.matchMedia("(max-width: 760px)").matches?"":p[0]?.id??""))}catch(p){A((0,ra.failureMessage)(p,"\u56E2\u961F\u5217\u8868\u52A0\u8F7D\u5931\u8D25\u3002"))}},[]),ia=v.useCallback(async()=>{try{f(await U.aiTeamsRepository.runs({limit:200}))}catch{}},[]);v.useEffect(()=>(Aa(),ia(),xa.taskBoardRepository.models().then(p=>N((0,Y.normalizeIssueModelCatalog)(p))).catch(()=>N(null)),xa.taskBoardRepository.agentDefaults().then(L).catch(()=>{}),xa.taskBoardRepository.workspaces().then(p=>{u(p),D(!0)}).catch(()=>D(!0)),(0,ze.subscribeWandModelCatalog)(N)),[ia,Aa]),v.useEffect(()=>(0,U.subscribeAiTeamRunChanges)(()=>{ia()}),[ia]),v.useEffect(()=>{let p=E=>{if(!(E.key!=="Escape"||E.defaultPrevented||E.target?.closest("input, textarea, [contenteditable='true'], [role='dialog']"))){if(z){g("");return}t?t():La.taskBoardController.close()}};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[t,z]);let Pa=p=>m.filter(E=>E.teamId===p),Wa=p=>{let E=Pa(p);return E.some(j=>At.includes(j.status))?"attention":E.some(j=>j.status==="running")?"running":"idle"},Da=C.trim().toLowerCase(),$a=(o??[]).filter(p=>W!=="all"&&Wa(p.id)!==W?!1:Da?[p.name,p.description,...p.members.map(E=>E.name)].some(E=>E.toLowerCase().includes(Da)):!0),J=o?.find(p=>p.id===z)??null,ea=z===Re,Ke=ea||!!J,Ba=()=>{_(null),g(Re)},Ve=(p,E)=>{ia();let j=E.run.chatSessionId;if(j&&n){n(j);return}sa(E.run.id),g(p),M("runs")};return(0,e.jsxs)("section",{className:"task-board-native-page wand-teams-page","aria-label":"AI \u56E2\u961F","data-detail":Ke||void 0,children:[(0,e.jsxs)("header",{className:"task-board-workspace-header",children:[(0,e.jsxs)("div",{className:"task-board-kicker",children:[s?(0,e.jsx)(R.WandIconButton,{className:"task-board-icon-button","aria-label":a?"\u5173\u95ED\u4EFB\u52A1\u5217\u8868":"\u6253\u5F00\u4EFB\u52A1",onClick:s,children:(0,e.jsx)(_e.SidebarToggleIcon,{open:a,size:16})}):null,(0,e.jsx)(R.WandIconButton,{className:"task-board-icon-button","aria-label":"\u8FD4\u56DE\u5DE5\u4F5C\u533A",title:"\u8FD4\u56DE\u5DE5\u4F5C\u533A",onClick:()=>t?t():La.taskBoardController.close(),children:(0,e.jsx)(R.WandIcon,{name:"chevronLeft"})}),(0,e.jsxs)("div",{className:"task-board-heading-copy",children:[(0,e.jsx)("h1",{children:"AI \u56E2\u961F"}),(0,e.jsx)("p",{children:"\u8D1F\u8D23\u4EBA\u62C6\u89E3\u5206\u6D3E\uFF0C\u6210\u5458\u5404\u7528\u81EA\u5DF1\u7684 CLI \u534F\u4F5C\u5B8C\u6210\u3002"})]})]}),(0,e.jsx)("div",{className:"task-board-header-actions",children:(0,e.jsxs)(R.WandButton,{className:"task-board-create-button",kind:"primary",size:"small","aria-pressed":ea,onClick:()=>ea?g(""):Ba(),children:[(0,e.jsx)(R.WandIcon,{name:"plus",slot:"start",className:"wand-teams-create-icon"}),(0,e.jsx)("span",{children:"\u65B0\u5EFA\u56E2\u961F"})]})})]}),(0,e.jsxs)("div",{className:"wand-teams-layout",children:[(0,e.jsxs)("aside",{className:"wand-teams-list","aria-label":"\u56E2\u961F\u5217\u8868",children:[(0,e.jsx)(R.WandSearchField,{value:C,onValueChange:I,label:"\u641C\u7D22\u56E2\u961F\u6216\u6210\u5458"}),(0,e.jsx)(R.WandStretchTabs,{tabs:Bt,value:W,ariaLabel:"\u6309\u72B6\u6001\u7B5B\u9009",onValueChange:p=>F(p)}),y?(0,e.jsxs)("div",{className:"task-board-native-banner is-error",role:"alert",children:[(0,e.jsx)("span",{children:y}),(0,e.jsx)(R.WandButton,{kind:"ghost",size:"small",onClick:()=>{Aa()},children:"\u91CD\u65B0\u52A0\u8F7D"})]}):null,(0,e.jsxs)("div",{className:"wand-teams-cards",children:[$a.map(p=>{let E=Wa(p.id),j=[...new Set(p.members.map(oa=>oa.agent.provider))];return(0,e.jsxs)("div",{children:[(0,e.jsxs)("button",{type:"button",className:"wand-teams-card","aria-pressed":z===p.id,"data-state":E,onClick:()=>g(p.id),children:[(0,e.jsx)(H.TeamAvatarStack,{members:p.members,max:4}),(0,e.jsxs)("span",{className:"wand-teams-card-copy",children:[(0,e.jsx)("strong",{children:p.name}),(0,e.jsx)("small",{children:p.description||Nt(p.members).map(oa=>oa.name).join(" \xB7 ")})]}),(0,e.jsx)("span",{className:"wand-teams-card-meta",children:E==="attention"?(0,e.jsx)(R.WandBadge,{tone:"warning",children:"\u5F85\u4F60\u5904\u7406"}):E==="running"?(0,e.jsx)(R.WandBadge,{tone:"info",children:"\u8FD0\u884C\u4E2D"}):(0,e.jsxs)("small",{children:[p.members.length," \u4EBA \xB7 ",j.map(Y.issueAgentProviderLabel).join(" / ")]})})]}),(0,e.jsx)(Wt,{teamId:p.id,teamName:p.name,projects:x,projectsLoaded:S,onStarted:oa=>Ve(p.id,oa)})]},p.id)}),o!==null&&$a.length===0?(0,e.jsxs)("div",{className:"wand-teams-empty",children:[(0,e.jsx)("p",{children:o.length===0?"\u8FD8\u6CA1\u6709\u56E2\u961F\u3002":"\u6CA1\u6709\u5339\u914D\u7684\u56E2\u961F\u3002"}),o.length===0?(0,e.jsx)(R.WandButton,{kind:"soft",size:"small",onClick:Ba,children:"\u4ECE\u6A21\u677F\u521B\u5EFA"}):null]}):null]})]}),(0,e.jsx)("div",{className:"wand-teams-detail",children:ea&&!w?(0,e.jsxs)("div",{className:"wand-teams-templates",children:[(0,e.jsxs)("header",{className:"wand-team-section-head",children:[(0,e.jsx)("h3",{children:"\u4ECE\u6A21\u677F\u5F00\u59CB"}),(0,e.jsx)("small",{children:"\u521B\u5EFA\u524D\u8FD8\u80FD\u4FEE\u6539"})]}),(0,e.jsx)("div",{className:"wand-teams-template-grid",children:Rt.map(p=>{let E=Ne(p,T);return(0,e.jsxs)("button",{type:"button",className:"wand-teams-template",onClick:()=>_(p),children:[(0,e.jsx)(H.TeamAvatarStack,{members:E.members,size:"md"}),(0,e.jsx)("strong",{children:p.name}),(0,e.jsx)("small",{children:p.summary})]},p.id)})})]}):ea&&w?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"wand-teams-detail-head",children:[(0,e.jsx)(R.WandIconButton,{className:"task-board-icon-button","aria-label":"\u6362\u4E00\u4E2A\u6A21\u677F",onClick:()=>_(null),children:(0,e.jsx)(R.WandIcon,{name:"chevronLeft"})}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h2",{children:"\u65B0\u5EFA\u56E2\u961F"}),(0,e.jsxs)("p",{children:["\u6A21\u677F\uFF1A",w.name]})]})]}),(0,e.jsx)(Se,{team:null,initial:Ne(w,T),catalog:P,providerOptions:d,defaultAgent:T,onSaved:p=>{r(E=>[p,...E??[]]),g(p.id),M("members")},onDeleted:()=>{}})]}):J?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"wand-teams-detail-head",children:[(0,e.jsx)(R.WandIconButton,{className:"task-board-icon-button wand-teams-detail-back","aria-label":"\u8FD4\u56DE\u56E2\u961F\u5217\u8868",onClick:()=>g(""),children:(0,e.jsx)(R.WandIcon,{name:"chevronLeft"})}),(0,e.jsx)(H.TeamAvatarStack,{members:J.members,size:"md",max:6}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h2",{children:J.name}),(0,e.jsx)("p",{children:J.description||`${J.members.length} \u4F4D\u6210\u5458`})]})]}),(0,e.jsx)(R.WandStretchTabs,{tabs:$t,value:h,ariaLabel:"\u56E2\u961F\u8BE6\u60C5",onValueChange:M}),(0,e.jsx)("div",{className:"wand-teams-detail-pane",children:h==="runs"?(0,e.jsx)(Dt,{runs:o===null?null:Pa(J.id),focusRunId:Z,onOpenSession:n}):(0,e.jsx)(Se,{team:J,initial:Ee(J),catalog:P,providerOptions:d,defaultAgent:T,onSaved:p=>r(E=>(E??[]).map(j=>j.id===p.id?p:j)),onDeleted:p=>{g(""),r(E=>(E??[]).filter(j=>j.id!==p))}})},h)]}):(0,e.jsxs)("div",{className:"wand-teams-empty is-detail",children:[(0,e.jsx)(R.WandIcon,{name:"parallel",size:28}),(0,e.jsx)("p",{children:"\u9009\u4E00\u4E2A\u56E2\u961F\uFF0C\u6216\u65B0\u5EFA\u4E00\u4E2A\u3002"})]})},ea?`new-${w?.id??""}`:z)]})]})}var G=k(da()),Be=k(la());var Ma=k(Na()),Fe=k(_a()),K=k(pa()),Ta=k(ca()),ba=k(ma());var b=k(Q()),$e={queued:"\u6392\u961F",running:"\u8FDB\u884C\u4E2D",done:"\u5B8C\u6210",failed:"\u5931\u8D25",skipped:"\u8DF3\u8FC7"};async function Ft(a){let t=a.run.chatSessionId;if(!t)return null;try{let n=(await ba.aiTeamsRepository.runsForChat(a.run.taskId,t))[0];return n&&n.id!==a.run.id?n.id:null}catch{return null}}function Ot(a){return a==="running"?"working":a==="done"?"done":a==="failed"?"failed":"idle"}function Ht({detail:a,onOpenSession:t}){let[s,n]=G.useState(()=>new Set),i=a.steps.filter(r=>r.kind==="work"),d=i.filter(r=>r.status==="done").length,o=r=>{n(m=>{let f=new Set(m);return f.has(r)?f.delete(r):f.add(r),f})};return(0,b.jsx)("section",{className:"wand-team-work-tasks","aria-label":"\u5DE5\u4F5C\u4EFB\u52A1",children:(0,b.jsxs)("div",{className:"wand-team-work-tasks-inner",children:[(0,b.jsxs)("header",{className:"wand-team-work-tasks-head",children:[(0,b.jsx)("h2",{children:"\u5DE5\u4F5C\u4EFB\u52A1"}),(0,b.jsx)("small",{children:i.length?`${d}/${i.length} \u5B8C\u6210`:"\u7B49\u5F85\u6D3E\u5DE5"})]}),i.length?(0,b.jsx)("ol",{className:"wand-team-work-list",children:i.map(r=>{let m=a.run.team.members.find(y=>y.id===r.memberId),f=s.has(r.id);return(0,b.jsxs)("li",{className:"wand-team-work-item","data-status":r.status,"data-open":f||void 0,children:[(0,b.jsxs)("button",{type:"button",className:"wand-team-work-head","aria-expanded":f,onClick:()=>o(r.id),children:[(0,b.jsxs)("span",{className:"wand-team-work-seq",children:["#",r.seq]}),(0,b.jsx)("span",{className:"wand-team-work-title",children:r.title||"\u6210\u5458\u6B65\u9AA4"}),(0,b.jsx)("span",{className:"wand-team-work-status",children:$e[r.status]}),(0,b.jsx)(K.WandIcon,{name:"chevronDown",size:14})]}),(0,b.jsx)("div",{className:"wand-team-work-body","data-open":f||void 0,inert:!f,children:(0,b.jsxs)("div",{className:"wand-team-work-body-inner",children:[(0,b.jsxs)("div",{className:"wand-team-work-member",children:[m?(0,b.jsx)(Ta.TeamAvatar,{member:m,size:"sm",state:Ot(r.status)}):null,(0,b.jsx)("span",{className:"wand-team-work-member-name",children:m?.name??r.memberId}),m?.duty?(0,b.jsx)("small",{className:"wand-team-work-member-duty",children:m.duty}):null]}),(0,b.jsxs)("dl",{className:"wand-team-work-meta",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"\u72B6\u6001"}),(0,b.jsx)("dd",{children:$e[r.status]})]}),r.reportPath?(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{children:"\u62A5\u544A\u6587\u4EF6"}),(0,b.jsx)("dd",{children:(0,b.jsx)("code",{children:r.reportPath})})]}):null]}),r.report?(0,b.jsx)("p",{className:"wand-team-work-report",children:r.report}):null,r.sessionId&&t?(0,b.jsxs)(K.WandButton,{kind:"ghost",size:"small",onClick:()=>t(r.sessionId),children:[(0,b.jsx)(K.WandIcon,{name:"terminal",size:14,slot:"start"}),"\u6253\u5F00\u4F1A\u8BDD"]}):null]})})]},r.id)})}):(0,b.jsx)("p",{className:"wand-team-empty-line",children:"\u8D1F\u8D23\u4EBA\u8FD8\u6CA1\u6709\u6D3E\u53D1\u5DE5\u4F5C\u4EFB\u52A1\u3002"})]})})}function Oe({runId:a,sidebarOpen:t=!1,onBack:s,onOpenSidebar:n,onOpenSession:i}){let[d,o]=G.useState(null),[r,m]=G.useState(""),f=d?.run.taskId??"",y=G.useCallback(async()=>{if(!a){m("\u6CA1\u6709\u8981\u6253\u5F00\u7684\u7FA4\u804A\u3002");return}try{let N=await ba.aiTeamsRepository.detail(a),T=await Ft(N);if(T){Ma.taskBoardController.open("","","teamchat",T);return}o(N),m("")}catch(N){m((0,Be.failureMessage)(N,"\u7FA4\u804A\u52A0\u8F7D\u5931\u8D25\u3002"))}},[a]);G.useEffect(()=>{o(null),m(""),y()},[y]),G.useEffect(()=>(0,ba.subscribeAiTeamRunChanges)(N=>{(N.runId===a||f&&N.taskId===f)&&y()}),[y,a,f]);let A=G.useCallback(()=>{s?s():Ma.taskBoardController.close()},[s]);G.useEffect(()=>{let N=T=>{T.key!=="Escape"||T.defaultPrevented||T.target?.closest("input, textarea, [contenteditable='true'], [role='dialog']")||A()};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[A]);let P=d?va[d.run.status]:null;return(0,b.jsxs)("section",{className:"task-board-native-page wand-team-chat-page","aria-label":"\u7FA4\u804A",children:[(0,b.jsxs)("header",{className:"task-board-workspace-header",children:[(0,b.jsxs)("div",{className:"task-board-kicker",children:[n?(0,b.jsx)(K.WandIconButton,{className:"task-board-icon-button","aria-label":t?"\u5173\u95ED\u4EFB\u52A1\u5217\u8868":"\u6253\u5F00\u4EFB\u52A1",onClick:n,children:(0,b.jsx)(Fe.SidebarToggleIcon,{open:t,size:16})}):null,(0,b.jsx)(K.WandIconButton,{className:"task-board-icon-button","aria-label":"\u8FD4\u56DE\u5DE5\u4F5C\u533A",title:"\u8FD4\u56DE\u5DE5\u4F5C\u533A",onClick:A,children:(0,b.jsx)(K.WandIcon,{name:"chevronLeft"})}),(0,b.jsxs)("div",{className:"task-board-heading-copy",children:[(0,b.jsx)("h1",{children:d?.run.team.name||"\u7FA4\u804A"}),(0,b.jsx)("p",{children:d?d.run.objective.split(`
|
|
10
|
+
`)[0]:r||"\u6B63\u5728\u52A0\u8F7D\u7FA4\u804A\u2026"})]})]}),d&&P?(0,b.jsxs)("div",{className:"task-board-header-actions wand-team-chat-head-meta",children:[(0,b.jsx)(Ta.TeamAvatarStack,{members:d.run.team.members,max:5}),(0,b.jsx)(K.WandBadge,{tone:P.tone,children:P.label})]}):null]}),r?(0,b.jsxs)("div",{className:"task-board-native-banner is-error",role:"alert",children:[(0,b.jsx)("span",{children:r}),a?(0,b.jsx)(K.WandButton,{kind:"ghost",size:"small",onClick:()=>{y()},children:"\u91CD\u65B0\u52A0\u8F7D"}):null]}):null,(0,b.jsx)("div",{className:"wand-team-chat-body",children:d?(0,b.jsx)(ta,{detail:d,onChange:o,onOpenSession:i}):r?null:(0,b.jsx)("p",{className:"wand-team-empty-line",children:"\u6B63\u5728\u52A0\u8F7D\u2026"})}),d?(0,b.jsx)(Ht,{detail:d,onOpenSession:i}):null]})}var He=__wandCssTextPool[0];var Ue=k(qe(),1);(0,Ue.installStyleSheet)("wand-ai-teams-styles",He);globalThis.__wandAiTeamsChunk={AiTeamsPage:De,TaskTeamRunPanel:ue,TeamChatView:ta,TeamChatPage:Oe};})();
|
|
11
|
+
|
|
12
|
+
})();
|