@elizaos/plugin-task-coordinator 2.0.3-beta.2 → 2.0.3-beta.4
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/assets/hero.png +0 -0
- package/dist/AgentTabsSection.d.ts +16 -0
- package/dist/AgentTabsSection.d.ts.map +1 -0
- package/dist/AgentTabsSection.js +169 -0
- package/dist/AgentTabsSection.js.map +1 -0
- package/dist/CodingAgentControlChip.d.ts +2 -0
- package/dist/CodingAgentControlChip.d.ts.map +1 -0
- package/dist/CodingAgentControlChip.js +73 -0
- package/dist/CodingAgentControlChip.js.map +1 -0
- package/dist/CodingAgentSettingsSection.d.ts +2 -0
- package/dist/CodingAgentSettingsSection.d.ts.map +1 -0
- package/dist/CodingAgentSettingsSection.js +379 -0
- package/dist/CodingAgentSettingsSection.js.map +1 -0
- package/dist/CodingAgentTasksPanel.d.ts +4 -0
- package/dist/CodingAgentTasksPanel.d.ts.map +1 -0
- package/dist/CodingAgentTasksPanel.interact.d.ts +2 -0
- package/dist/CodingAgentTasksPanel.interact.d.ts.map +1 -0
- package/dist/CodingAgentTasksPanel.interact.js +46 -0
- package/dist/CodingAgentTasksPanel.interact.js.map +1 -0
- package/dist/CodingAgentTasksPanel.js +740 -0
- package/dist/CodingAgentTasksPanel.js.map +1 -0
- package/dist/GitHubConnectionCard.d.ts +2 -0
- package/dist/GitHubConnectionCard.d.ts.map +1 -0
- package/dist/GitHubConnectionCard.js +172 -0
- package/dist/GitHubConnectionCard.js.map +1 -0
- package/dist/GlobalPrefsSection.d.ts +10 -0
- package/dist/GlobalPrefsSection.d.ts.map +1 -0
- package/dist/GlobalPrefsSection.js +166 -0
- package/dist/GlobalPrefsSection.js.map +1 -0
- package/dist/LlmProviderSection.d.ts +10 -0
- package/dist/LlmProviderSection.d.ts.map +1 -0
- package/dist/LlmProviderSection.js +161 -0
- package/dist/LlmProviderSection.js.map +1 -0
- package/dist/ModelConfigSection.d.ts +15 -0
- package/dist/ModelConfigSection.d.ts.map +1 -0
- package/dist/ModelConfigSection.js +86 -0
- package/dist/ModelConfigSection.js.map +1 -0
- package/dist/OrchestratorView.d.ts +20 -0
- package/dist/OrchestratorView.d.ts.map +1 -0
- package/dist/OrchestratorView.js +231 -0
- package/dist/OrchestratorView.js.map +1 -0
- package/dist/OrchestratorWorkbench.d.ts +32 -0
- package/dist/OrchestratorWorkbench.d.ts.map +1 -0
- package/dist/OrchestratorWorkbench.js +3200 -0
- package/dist/OrchestratorWorkbench.js.map +1 -0
- package/dist/PtyConsoleBase.d.ts +9 -0
- package/dist/PtyConsoleBase.d.ts.map +1 -0
- package/dist/PtyConsoleBase.js +174 -0
- package/dist/PtyConsoleBase.js.map +1 -0
- package/dist/PtyConsoleDrawer.d.ts +10 -0
- package/dist/PtyConsoleDrawer.d.ts.map +1 -0
- package/dist/PtyConsoleDrawer.js +77 -0
- package/dist/PtyConsoleDrawer.js.map +1 -0
- package/dist/PtyConsoleSidePanel.d.ts +8 -0
- package/dist/PtyConsoleSidePanel.d.ts.map +1 -0
- package/dist/PtyConsoleSidePanel.js +9 -0
- package/dist/PtyConsoleSidePanel.js.map +1 -0
- package/dist/PtyTerminalPane.d.ts +10 -0
- package/dist/PtyTerminalPane.d.ts.map +1 -0
- package/dist/PtyTerminalPane.js +147 -0
- package/dist/PtyTerminalPane.js.map +1 -0
- package/dist/TaskCardList.d.ts +76 -0
- package/dist/TaskCardList.d.ts.map +1 -0
- package/dist/TaskCardList.js +327 -0
- package/dist/TaskCardList.js.map +1 -0
- package/dist/TaskCoordinatorView.d.ts +20 -0
- package/dist/TaskCoordinatorView.d.ts.map +1 -0
- package/dist/TaskCoordinatorView.js +146 -0
- package/dist/TaskCoordinatorView.js.map +1 -0
- package/dist/__e2e__/dashboard-fixture.d.ts +9 -0
- package/dist/__e2e__/dashboard-fixture.d.ts.map +1 -0
- package/dist/__e2e__/dashboard-fixture.js +123 -0
- package/dist/__e2e__/dashboard-fixture.js.map +1 -0
- package/dist/api/coding-agents-auth-sanitize.d.ts +23 -0
- package/dist/api/coding-agents-auth-sanitize.d.ts.map +1 -0
- package/dist/api/coding-agents-auth-sanitize.js +22 -0
- package/dist/api/coding-agents-auth-sanitize.js.map +1 -0
- package/dist/api/coding-agents-preflight-normalize.d.ts +29 -0
- package/dist/api/coding-agents-preflight-normalize.d.ts.map +1 -0
- package/dist/api/coding-agents-preflight-normalize.js +20 -0
- package/dist/api/coding-agents-preflight-normalize.js.map +1 -0
- package/dist/coding-agent-settings-shared.d.ts +42 -0
- package/dist/coding-agent-settings-shared.d.ts.map +1 -0
- package/dist/coding-agent-settings-shared.js +121 -0
- package/dist/coding-agent-settings-shared.js.map +1 -0
- package/dist/components/OrchestratorSpatialView.d.ts +56 -0
- package/dist/components/OrchestratorSpatialView.d.ts.map +1 -0
- package/dist/components/OrchestratorSpatialView.js +501 -0
- package/dist/components/OrchestratorSpatialView.js.map +1 -0
- package/dist/components/TaskCoordinatorSpatialView.d.ts +59 -0
- package/dist/components/TaskCoordinatorSpatialView.d.ts.map +1 -0
- package/dist/components/TaskCoordinatorSpatialView.js +294 -0
- package/dist/components/TaskCoordinatorSpatialView.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +286 -0
- package/dist/index.js.map +1 -0
- package/dist/orchestrator-capabilities.d.ts +3 -0
- package/dist/orchestrator-capabilities.d.ts.map +1 -0
- package/dist/orchestrator-capabilities.js +136 -0
- package/dist/orchestrator-capabilities.js.map +1 -0
- package/dist/orchestrator-command.d.ts +39 -0
- package/dist/orchestrator-command.d.ts.map +1 -0
- package/dist/orchestrator-command.js +52 -0
- package/dist/orchestrator-command.js.map +1 -0
- package/dist/orchestrator-diff.d.ts +19 -0
- package/dist/orchestrator-diff.d.ts.map +1 -0
- package/dist/orchestrator-diff.helpers.d.ts +18 -0
- package/dist/orchestrator-diff.helpers.d.ts.map +1 -0
- package/dist/orchestrator-diff.helpers.js +76 -0
- package/dist/orchestrator-diff.helpers.js.map +1 -0
- package/dist/orchestrator-diff.js +119 -0
- package/dist/orchestrator-diff.js.map +1 -0
- package/dist/orchestrator-markdown.d.ts +5 -0
- package/dist/orchestrator-markdown.d.ts.map +1 -0
- package/dist/orchestrator-markdown.helpers.d.ts +2 -0
- package/dist/orchestrator-markdown.helpers.d.ts.map +1 -0
- package/dist/orchestrator-markdown.helpers.js +21 -0
- package/dist/orchestrator-markdown.helpers.js.map +1 -0
- package/dist/orchestrator-markdown.js +199 -0
- package/dist/orchestrator-markdown.js.map +1 -0
- package/dist/orchestrator-params.d.ts +8 -0
- package/dist/orchestrator-params.d.ts.map +1 -0
- package/dist/orchestrator-params.js +27 -0
- package/dist/orchestrator-params.js.map +1 -0
- package/dist/orchestrator-plan.d.ts +5 -0
- package/dist/orchestrator-plan.d.ts.map +1 -0
- package/dist/orchestrator-plan.js +95 -0
- package/dist/orchestrator-plan.js.map +1 -0
- package/dist/orchestrator-reasoning.d.ts +21 -0
- package/dist/orchestrator-reasoning.d.ts.map +1 -0
- package/dist/orchestrator-reasoning.js +105 -0
- package/dist/orchestrator-reasoning.js.map +1 -0
- package/dist/orchestrator-stream.d.ts +15 -0
- package/dist/orchestrator-stream.d.ts.map +1 -0
- package/dist/orchestrator-stream.helpers.d.ts +89 -0
- package/dist/orchestrator-stream.helpers.d.ts.map +1 -0
- package/dist/orchestrator-stream.helpers.js +361 -0
- package/dist/orchestrator-stream.helpers.js.map +1 -0
- package/dist/orchestrator-stream.js +307 -0
- package/dist/orchestrator-stream.js.map +1 -0
- package/dist/pty-status-dots.d.ts +2 -0
- package/dist/pty-status-dots.d.ts.map +1 -0
- package/dist/pty-status-dots.js +6 -0
- package/dist/pty-status-dots.js.map +1 -0
- package/dist/register-slots.d.ts +20 -0
- package/dist/register-slots.d.ts.map +1 -0
- package/dist/register-slots.js +50 -0
- package/dist/register-slots.js.map +1 -0
- package/dist/register-terminal-view.d.ts +21 -0
- package/dist/register-terminal-view.d.ts.map +1 -0
- package/dist/register-terminal-view.js +46 -0
- package/dist/register-terminal-view.js.map +1 -0
- package/dist/register.d.ts +2 -0
- package/dist/register.d.ts.map +1 -0
- package/dist/register.js +23 -0
- package/dist/register.js.map +1 -0
- package/dist/session-hydration.d.ts +2 -0
- package/dist/session-hydration.d.ts.map +1 -0
- package/dist/session-hydration.js +9 -0
- package/dist/session-hydration.js.map +1 -0
- package/dist/task-coordinator-view-bundle.d.ts +4 -0
- package/dist/task-coordinator-view-bundle.d.ts.map +1 -0
- package/dist/task-coordinator-view-bundle.js +9 -0
- package/dist/task-coordinator-view-bundle.js.map +1 -0
- package/dist/ui.d.ts +2 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +13 -0
- package/dist/ui.js.map +1 -0
- package/dist/view-format.d.ts +25 -0
- package/dist/view-format.d.ts.map +1 -0
- package/dist/view-format.js +64 -0
- package/dist/view-format.js.map +1 -0
- package/dist/views/bundle.js +1383 -0
- package/dist/views/bundle.js.map +1 -0
- package/package.json +7 -6
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, SettingsControls, useAppSelector } from "@elizaos/ui";
|
|
3
|
+
import {
|
|
4
|
+
AlertTriangle,
|
|
5
|
+
CheckCircle2,
|
|
6
|
+
Cloud,
|
|
7
|
+
KeyRound,
|
|
8
|
+
Terminal
|
|
9
|
+
} from "lucide-react";
|
|
10
|
+
function LlmProviderSection({
|
|
11
|
+
llmProvider,
|
|
12
|
+
isCloud,
|
|
13
|
+
prefs,
|
|
14
|
+
setPref
|
|
15
|
+
}) {
|
|
16
|
+
const t = useAppSelector((s) => s.t);
|
|
17
|
+
const providerOptions = [
|
|
18
|
+
{
|
|
19
|
+
value: "subscription",
|
|
20
|
+
label: t("codingagentsettingssection.LlmProviderSubscription", {
|
|
21
|
+
defaultValue: "CLI Subscription"
|
|
22
|
+
}),
|
|
23
|
+
icon: Terminal
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
value: "api_keys",
|
|
27
|
+
label: t("codingagentsettingssection.LlmProviderApiKeys", {
|
|
28
|
+
defaultValue: "API Keys"
|
|
29
|
+
}),
|
|
30
|
+
icon: KeyRound
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
value: "cloud",
|
|
34
|
+
label: t("codingagentsettingssection.LlmProviderCloud", {
|
|
35
|
+
defaultValue: "Eliza Cloud"
|
|
36
|
+
}),
|
|
37
|
+
icon: Cloud
|
|
38
|
+
}
|
|
39
|
+
];
|
|
40
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
41
|
+
/* @__PURE__ */ jsxs(SettingsControls.Field, { children: [
|
|
42
|
+
/* @__PURE__ */ jsx(SettingsControls.FieldLabel, { children: t("codingagentsettingssection.LlmProvider", {
|
|
43
|
+
defaultValue: "LLM Provider"
|
|
44
|
+
}) }),
|
|
45
|
+
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-2 sm:grid-cols-3", children: providerOptions.map((option) => {
|
|
46
|
+
const Icon = option.icon;
|
|
47
|
+
const active = llmProvider === option.value;
|
|
48
|
+
return /* @__PURE__ */ jsxs(
|
|
49
|
+
Button,
|
|
50
|
+
{
|
|
51
|
+
type: "button",
|
|
52
|
+
variant: active ? "default" : "ghost",
|
|
53
|
+
size: "sm",
|
|
54
|
+
className: "h-8 justify-start px-2 text-xs font-semibold",
|
|
55
|
+
onClick: () => setPref("ELIZA_LLM_PROVIDER", option.value),
|
|
56
|
+
"aria-pressed": active,
|
|
57
|
+
children: [
|
|
58
|
+
/* @__PURE__ */ jsx(Icon, { className: "h-3.5 w-3.5", "aria-hidden": true }),
|
|
59
|
+
option.label
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
option.value
|
|
63
|
+
);
|
|
64
|
+
}) })
|
|
65
|
+
] }),
|
|
66
|
+
llmProvider === "api_keys" && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
|
|
67
|
+
/* @__PURE__ */ jsxs(SettingsControls.Field, { children: [
|
|
68
|
+
/* @__PURE__ */ jsx(SettingsControls.FieldLabel, { children: t("codingagentsettingssection.AnthropicApiKey", {
|
|
69
|
+
defaultValue: "Anthropic API Key"
|
|
70
|
+
}) }),
|
|
71
|
+
/* @__PURE__ */ jsx(
|
|
72
|
+
SettingsControls.Input,
|
|
73
|
+
{
|
|
74
|
+
variant: "compact",
|
|
75
|
+
type: "password",
|
|
76
|
+
placeholder: "sk-ant-...",
|
|
77
|
+
value: prefs.ANTHROPIC_API_KEY || "",
|
|
78
|
+
onChange: (e) => setPref("ANTHROPIC_API_KEY", e.target.value)
|
|
79
|
+
}
|
|
80
|
+
)
|
|
81
|
+
] }),
|
|
82
|
+
/* @__PURE__ */ jsxs(SettingsControls.Field, { children: [
|
|
83
|
+
/* @__PURE__ */ jsx(SettingsControls.FieldLabel, { children: t("codingagentsettingssection.OpenaiApiKey", {
|
|
84
|
+
defaultValue: "OpenAI API Key"
|
|
85
|
+
}) }),
|
|
86
|
+
/* @__PURE__ */ jsx(
|
|
87
|
+
SettingsControls.Input,
|
|
88
|
+
{
|
|
89
|
+
variant: "compact",
|
|
90
|
+
type: "password",
|
|
91
|
+
placeholder: "sk-...",
|
|
92
|
+
value: prefs.OPENAI_API_KEY || "",
|
|
93
|
+
onChange: (e) => setPref("OPENAI_API_KEY", e.target.value)
|
|
94
|
+
}
|
|
95
|
+
)
|
|
96
|
+
] }),
|
|
97
|
+
/* @__PURE__ */ jsxs(SettingsControls.Field, { children: [
|
|
98
|
+
/* @__PURE__ */ jsx(SettingsControls.FieldLabel, { children: t("codingagentsettingssection.OpencodeApiKey", {
|
|
99
|
+
defaultValue: "OpenCode API Key"
|
|
100
|
+
}) }),
|
|
101
|
+
/* @__PURE__ */ jsx(
|
|
102
|
+
SettingsControls.Input,
|
|
103
|
+
{
|
|
104
|
+
variant: "compact",
|
|
105
|
+
type: "password",
|
|
106
|
+
placeholder: "sk-...",
|
|
107
|
+
value: prefs.ELIZA_OPENCODE_API_KEY || "",
|
|
108
|
+
onChange: (e) => setPref("ELIZA_OPENCODE_API_KEY", e.target.value)
|
|
109
|
+
}
|
|
110
|
+
)
|
|
111
|
+
] }),
|
|
112
|
+
/* @__PURE__ */ jsxs(SettingsControls.Field, { children: [
|
|
113
|
+
/* @__PURE__ */ jsx(SettingsControls.FieldLabel, { children: t("codingagentsettingssection.OpencodeBaseUrl", {
|
|
114
|
+
defaultValue: "OpenCode Base URL"
|
|
115
|
+
}) }),
|
|
116
|
+
/* @__PURE__ */ jsx(
|
|
117
|
+
SettingsControls.Input,
|
|
118
|
+
{
|
|
119
|
+
variant: "compact",
|
|
120
|
+
placeholder: "https://api.openai.com/v1",
|
|
121
|
+
value: prefs.ELIZA_OPENCODE_BASE_URL || "",
|
|
122
|
+
onChange: (e) => setPref("ELIZA_OPENCODE_BASE_URL", e.target.value)
|
|
123
|
+
}
|
|
124
|
+
)
|
|
125
|
+
] })
|
|
126
|
+
] }),
|
|
127
|
+
isCloud && /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-3", children: prefs._CLOUD_API_KEY ? /* @__PURE__ */ jsxs(
|
|
128
|
+
SettingsControls.MutedText,
|
|
129
|
+
{
|
|
130
|
+
className: "inline-flex items-center gap-1.5 text-xs text-ok",
|
|
131
|
+
title: t("codingagentsettingssection.CloudPaired", {
|
|
132
|
+
defaultValue: "Using your Eliza Cloud account for coding agent LLM calls."
|
|
133
|
+
}),
|
|
134
|
+
children: [
|
|
135
|
+
/* @__PURE__ */ jsx(CheckCircle2, { className: "h-3.5 w-3.5", "aria-hidden": true }),
|
|
136
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: t("codingagentsettingssection.CloudPaired", {
|
|
137
|
+
defaultValue: "Using your Eliza Cloud account for coding agent LLM calls."
|
|
138
|
+
}) })
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
) : /* @__PURE__ */ jsxs(
|
|
142
|
+
SettingsControls.MutedText,
|
|
143
|
+
{
|
|
144
|
+
className: "inline-flex items-center gap-1.5 text-xs text-warn",
|
|
145
|
+
title: t("codingagentsettingssection.CloudUnpaired", {
|
|
146
|
+
defaultValue: "Unavailable"
|
|
147
|
+
}),
|
|
148
|
+
children: [
|
|
149
|
+
/* @__PURE__ */ jsx(AlertTriangle, { className: "h-3.5 w-3.5", "aria-hidden": true }),
|
|
150
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: t("codingagentsettingssection.CloudUnpaired", {
|
|
151
|
+
defaultValue: "Unavailable"
|
|
152
|
+
}) })
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
) })
|
|
156
|
+
] });
|
|
157
|
+
}
|
|
158
|
+
export {
|
|
159
|
+
LlmProviderSection
|
|
160
|
+
};
|
|
161
|
+
//# sourceMappingURL=LlmProviderSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/LlmProviderSection.tsx"],"sourcesContent":["import { Button, SettingsControls, useAppSelector } from \"@elizaos/ui\";\nimport {\n AlertTriangle,\n CheckCircle2,\n Cloud,\n KeyRound,\n type LucideIcon,\n Terminal,\n} from \"lucide-react\";\nimport type { LlmProvider } from \"./coding-agent-settings-shared.js\";\n\ninterface LlmProviderSectionProps {\n llmProvider: LlmProvider;\n isCloud: boolean;\n prefs: Record<string, string>;\n setPref: (key: string, value: string) => void;\n}\n\nexport function LlmProviderSection({\n llmProvider,\n isCloud,\n prefs,\n setPref,\n}: LlmProviderSectionProps) {\n const t = useAppSelector((s) => s.t);\n const providerOptions: Array<{\n value: LlmProvider;\n label: string;\n icon: LucideIcon;\n }> = [\n {\n value: \"subscription\",\n label: t(\"codingagentsettingssection.LlmProviderSubscription\", {\n defaultValue: \"CLI Subscription\",\n }),\n icon: Terminal,\n },\n {\n value: \"api_keys\",\n label: t(\"codingagentsettingssection.LlmProviderApiKeys\", {\n defaultValue: \"API Keys\",\n }),\n icon: KeyRound,\n },\n {\n value: \"cloud\",\n label: t(\"codingagentsettingssection.LlmProviderCloud\", {\n defaultValue: \"Eliza Cloud\",\n }),\n icon: Cloud,\n },\n ];\n\n return (\n <>\n <SettingsControls.Field>\n <SettingsControls.FieldLabel>\n {t(\"codingagentsettingssection.LlmProvider\", {\n defaultValue: \"LLM Provider\",\n })}\n </SettingsControls.FieldLabel>\n <div className=\"grid grid-cols-1 gap-2 sm:grid-cols-3\">\n {providerOptions.map((option) => {\n const Icon = option.icon;\n const active = llmProvider === option.value;\n return (\n <Button\n key={option.value}\n type=\"button\"\n variant={active ? \"default\" : \"ghost\"}\n size=\"sm\"\n className=\"h-8 justify-start px-2 text-xs font-semibold\"\n onClick={() => setPref(\"ELIZA_LLM_PROVIDER\", option.value)}\n aria-pressed={active}\n >\n <Icon className=\"h-3.5 w-3.5\" aria-hidden />\n {option.label}\n </Button>\n );\n })}\n </div>\n </SettingsControls.Field>\n\n {llmProvider === \"api_keys\" && (\n <div className=\"flex flex-col gap-3\">\n <SettingsControls.Field>\n <SettingsControls.FieldLabel>\n {t(\"codingagentsettingssection.AnthropicApiKey\", {\n defaultValue: \"Anthropic API Key\",\n })}\n </SettingsControls.FieldLabel>\n <SettingsControls.Input\n variant=\"compact\"\n type=\"password\"\n placeholder=\"sk-ant-...\"\n value={prefs.ANTHROPIC_API_KEY || \"\"}\n onChange={(e) => setPref(\"ANTHROPIC_API_KEY\", e.target.value)}\n />\n </SettingsControls.Field>\n <SettingsControls.Field>\n <SettingsControls.FieldLabel>\n {t(\"codingagentsettingssection.OpenaiApiKey\", {\n defaultValue: \"OpenAI API Key\",\n })}\n </SettingsControls.FieldLabel>\n <SettingsControls.Input\n variant=\"compact\"\n type=\"password\"\n placeholder=\"sk-...\"\n value={prefs.OPENAI_API_KEY || \"\"}\n onChange={(e) => setPref(\"OPENAI_API_KEY\", e.target.value)}\n />\n </SettingsControls.Field>\n <SettingsControls.Field>\n <SettingsControls.FieldLabel>\n {t(\"codingagentsettingssection.OpencodeApiKey\", {\n defaultValue: \"OpenCode API Key\",\n })}\n </SettingsControls.FieldLabel>\n <SettingsControls.Input\n variant=\"compact\"\n type=\"password\"\n placeholder=\"sk-...\"\n value={prefs.ELIZA_OPENCODE_API_KEY || \"\"}\n onChange={(e) =>\n setPref(\"ELIZA_OPENCODE_API_KEY\", e.target.value)\n }\n />\n </SettingsControls.Field>\n <SettingsControls.Field>\n <SettingsControls.FieldLabel>\n {t(\"codingagentsettingssection.OpencodeBaseUrl\", {\n defaultValue: \"OpenCode Base URL\",\n })}\n </SettingsControls.FieldLabel>\n <SettingsControls.Input\n variant=\"compact\"\n placeholder=\"https://api.openai.com/v1\"\n value={prefs.ELIZA_OPENCODE_BASE_URL || \"\"}\n onChange={(e) =>\n setPref(\"ELIZA_OPENCODE_BASE_URL\", e.target.value)\n }\n />\n </SettingsControls.Field>\n </div>\n )}\n\n {isCloud && (\n <div className=\"flex flex-col gap-3\">\n {prefs._CLOUD_API_KEY ? (\n <SettingsControls.MutedText\n className=\"inline-flex items-center gap-1.5 text-xs text-ok\"\n title={t(\"codingagentsettingssection.CloudPaired\", {\n defaultValue:\n \"Using your Eliza Cloud account for coding agent LLM calls.\",\n })}\n >\n <CheckCircle2 className=\"h-3.5 w-3.5\" aria-hidden />\n <span className=\"sr-only\">\n {t(\"codingagentsettingssection.CloudPaired\", {\n defaultValue:\n \"Using your Eliza Cloud account for coding agent LLM calls.\",\n })}\n </span>\n </SettingsControls.MutedText>\n ) : (\n <SettingsControls.MutedText\n className=\"inline-flex items-center gap-1.5 text-xs text-warn\"\n title={t(\"codingagentsettingssection.CloudUnpaired\", {\n defaultValue: \"Unavailable\",\n })}\n >\n <AlertTriangle className=\"h-3.5 w-3.5\" aria-hidden />\n <span className=\"sr-only\">\n {t(\"codingagentsettingssection.CloudUnpaired\", {\n defaultValue: \"Unavailable\",\n })}\n </span>\n </SettingsControls.MutedText>\n )}\n </div>\n )}\n </>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AgentTab, LlmProvider, ModelOption } from "./coding-agent-settings-shared";
|
|
2
|
+
interface ModelConfigSectionProps {
|
|
3
|
+
activeTab: AgentTab;
|
|
4
|
+
llmProvider: LlmProvider;
|
|
5
|
+
isCloud: boolean;
|
|
6
|
+
prefix: string;
|
|
7
|
+
powerfulValue: string;
|
|
8
|
+
fastValue: string;
|
|
9
|
+
modelOptions: ModelOption[];
|
|
10
|
+
isDynamic: boolean;
|
|
11
|
+
setPref: (key: string, value: string) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function ModelConfigSection({ activeTab, llmProvider, isCloud, prefix, powerfulValue, fastValue, modelOptions, isDynamic, setPref, }: ModelConfigSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=ModelConfigSection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelConfigSection.d.ts","sourceRoot":"","sources":["../src/ModelConfigSection.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACZ,MAAM,gCAAgC,CAAC;AAExC,UAAU,uBAAuB;IAC/B,SAAS,EAAE,QAAQ,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,WAAW,EACX,OAAO,EACP,MAAM,EACN,aAAa,EACb,SAAS,EACT,YAAY,EACZ,SAAS,EACT,OAAO,GACR,EAAE,uBAAuB,2CAoFzB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import {
|
|
3
|
+
Select,
|
|
4
|
+
SelectContent,
|
|
5
|
+
SelectItem,
|
|
6
|
+
SelectValue,
|
|
7
|
+
SettingsControls,
|
|
8
|
+
useAppSelector
|
|
9
|
+
} from "@elizaos/ui";
|
|
10
|
+
import { AlertTriangle, CheckCircle2 } from "lucide-react";
|
|
11
|
+
function ModelConfigSection({
|
|
12
|
+
activeTab,
|
|
13
|
+
llmProvider,
|
|
14
|
+
isCloud,
|
|
15
|
+
prefix,
|
|
16
|
+
powerfulValue,
|
|
17
|
+
fastValue,
|
|
18
|
+
modelOptions,
|
|
19
|
+
isDynamic,
|
|
20
|
+
setPref
|
|
21
|
+
}) {
|
|
22
|
+
const t = useAppSelector((s) => s.t);
|
|
23
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
24
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-3", children: [
|
|
25
|
+
/* @__PURE__ */ jsxs(SettingsControls.Field, { className: "flex-1", children: [
|
|
26
|
+
/* @__PURE__ */ jsx(SettingsControls.FieldLabel, { children: t("codingagentsettingssection.PowerfulModel") }),
|
|
27
|
+
/* @__PURE__ */ jsxs(
|
|
28
|
+
Select,
|
|
29
|
+
{
|
|
30
|
+
value: powerfulValue,
|
|
31
|
+
onValueChange: (value) => setPref(`${prefix}_MODEL_POWERFUL`, value),
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ jsx(SettingsControls.SelectTrigger, { variant: "compact", children: /* @__PURE__ */ jsx(
|
|
34
|
+
SelectValue,
|
|
35
|
+
{
|
|
36
|
+
placeholder: t("codingagentsettingssection.Default")
|
|
37
|
+
}
|
|
38
|
+
) }),
|
|
39
|
+
/* @__PURE__ */ jsxs(SelectContent, { children: [
|
|
40
|
+
/* @__PURE__ */ jsx(SelectItem, { value: "__default__", children: t("codingagentsettingssection.Default") }),
|
|
41
|
+
modelOptions.map((option) => /* @__PURE__ */ jsx(SelectItem, { value: option.value, children: option.label }, option.value))
|
|
42
|
+
] })
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
] }),
|
|
47
|
+
/* @__PURE__ */ jsxs(SettingsControls.Field, { className: "flex-1", children: [
|
|
48
|
+
/* @__PURE__ */ jsx(SettingsControls.FieldLabel, { children: t("codingagentsettingssection.FastModel") }),
|
|
49
|
+
/* @__PURE__ */ jsxs(
|
|
50
|
+
Select,
|
|
51
|
+
{
|
|
52
|
+
value: fastValue,
|
|
53
|
+
onValueChange: (value) => setPref(`${prefix}_MODEL_FAST`, value),
|
|
54
|
+
children: [
|
|
55
|
+
/* @__PURE__ */ jsx(SettingsControls.SelectTrigger, { variant: "compact", children: /* @__PURE__ */ jsx(
|
|
56
|
+
SelectValue,
|
|
57
|
+
{
|
|
58
|
+
placeholder: t("codingagentsettingssection.Default")
|
|
59
|
+
}
|
|
60
|
+
) }),
|
|
61
|
+
/* @__PURE__ */ jsxs(SelectContent, { children: [
|
|
62
|
+
/* @__PURE__ */ jsx(SelectItem, { value: "__default__", children: t("codingagentsettingssection.Default") }),
|
|
63
|
+
modelOptions.map((option) => /* @__PURE__ */ jsx(SelectItem, { value: option.value, children: option.label }, option.value))
|
|
64
|
+
] })
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
)
|
|
68
|
+
] })
|
|
69
|
+
] }),
|
|
70
|
+
llmProvider === "api_keys" && /* @__PURE__ */ jsxs(
|
|
71
|
+
SettingsControls.MutedText,
|
|
72
|
+
{
|
|
73
|
+
className: "mt-1.5 inline-flex items-center gap-1.5",
|
|
74
|
+
title: isDynamic ? t("codingagentsettingssection.ModelsFetched") : t("codingagentsettingssection.UsingFallback"),
|
|
75
|
+
children: [
|
|
76
|
+
isDynamic ? /* @__PURE__ */ jsx(CheckCircle2, { className: "h-3.5 w-3.5 text-ok", "aria-hidden": true }) : /* @__PURE__ */ jsx(AlertTriangle, { className: "h-3.5 w-3.5 text-warn", "aria-hidden": true }),
|
|
77
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: isDynamic ? t("codingagentsettingssection.ModelsFetched") : t("codingagentsettingssection.UsingFallback") })
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
)
|
|
81
|
+
] });
|
|
82
|
+
}
|
|
83
|
+
export {
|
|
84
|
+
ModelConfigSection
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=ModelConfigSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ModelConfigSection.tsx"],"sourcesContent":["import {\n Select,\n SelectContent,\n SelectItem,\n SelectValue,\n SettingsControls,\n useAppSelector,\n} from \"@elizaos/ui\";\nimport { AlertTriangle, CheckCircle2 } from \"lucide-react\";\nimport type {\n AgentTab,\n LlmProvider,\n ModelOption,\n} from \"./coding-agent-settings-shared.js\";\n\ninterface ModelConfigSectionProps {\n activeTab: AgentTab;\n llmProvider: LlmProvider;\n isCloud: boolean;\n prefix: string;\n powerfulValue: string;\n fastValue: string;\n modelOptions: ModelOption[];\n isDynamic: boolean;\n setPref: (key: string, value: string) => void;\n}\n\nexport function ModelConfigSection({\n activeTab,\n llmProvider,\n isCloud,\n prefix,\n powerfulValue,\n fastValue,\n modelOptions,\n isDynamic,\n setPref,\n}: ModelConfigSectionProps) {\n const t = useAppSelector((s) => s.t);\n return (\n <>\n <div className=\"flex gap-3\">\n <SettingsControls.Field className=\"flex-1\">\n <SettingsControls.FieldLabel>\n {t(\"codingagentsettingssection.PowerfulModel\")}\n </SettingsControls.FieldLabel>\n <Select\n value={powerfulValue}\n onValueChange={(value: string) =>\n setPref(`${prefix}_MODEL_POWERFUL`, value)\n }\n >\n <SettingsControls.SelectTrigger variant=\"compact\">\n <SelectValue\n placeholder={t(\"codingagentsettingssection.Default\")}\n />\n </SettingsControls.SelectTrigger>\n <SelectContent>\n <SelectItem value=\"__default__\">\n {t(\"codingagentsettingssection.Default\")}\n </SelectItem>\n {modelOptions.map((option) => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </SettingsControls.Field>\n <SettingsControls.Field className=\"flex-1\">\n <SettingsControls.FieldLabel>\n {t(\"codingagentsettingssection.FastModel\")}\n </SettingsControls.FieldLabel>\n <Select\n value={fastValue}\n onValueChange={(value: string) =>\n setPref(`${prefix}_MODEL_FAST`, value)\n }\n >\n <SettingsControls.SelectTrigger variant=\"compact\">\n <SelectValue\n placeholder={t(\"codingagentsettingssection.Default\")}\n />\n </SettingsControls.SelectTrigger>\n <SelectContent>\n <SelectItem value=\"__default__\">\n {t(\"codingagentsettingssection.Default\")}\n </SelectItem>\n {modelOptions.map((option) => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </SettingsControls.Field>\n </div>\n\n {llmProvider === \"api_keys\" && (\n <SettingsControls.MutedText\n className=\"mt-1.5 inline-flex items-center gap-1.5\"\n title={\n isDynamic\n ? t(\"codingagentsettingssection.ModelsFetched\")\n : t(\"codingagentsettingssection.UsingFallback\")\n }\n >\n {isDynamic ? (\n <CheckCircle2 className=\"h-3.5 w-3.5 text-ok\" aria-hidden />\n ) : (\n <AlertTriangle className=\"h-3.5 w-3.5 text-warn\" aria-hidden />\n )}\n <span className=\"sr-only\">\n {isDynamic\n ? t(\"codingagentsettingssection.ModelsFetched\")\n : t(\"codingagentsettingssection.UsingFallback\")}\n </span>\n </SettingsControls.MutedText>\n )}\n </>\n );\n}\n"],"mappings":"AAwCI,mBAGM,KAcE,YAjBR;AAxCJ;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,eAAe,oBAAoB;AAmBrC,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4B;AAC1B,QAAM,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;AACnC,SACE,iCACE;AAAA,yBAAC,SAAI,WAAU,cACb;AAAA,2BAAC,iBAAiB,OAAjB,EAAuB,WAAU,UAChC;AAAA,4BAAC,iBAAiB,YAAjB,EACE,YAAE,0CAA0C,GAC/C;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,eAAe,CAAC,UACd,QAAQ,GAAG,MAAM,mBAAmB,KAAK;AAAA,YAG3C;AAAA,kCAAC,iBAAiB,eAAjB,EAA+B,SAAQ,WACtC;AAAA,gBAAC;AAAA;AAAA,kBACC,aAAa,EAAE,oCAAoC;AAAA;AAAA,cACrD,GACF;AAAA,cACA,qBAAC,iBACC;AAAA,oCAAC,cAAW,OAAM,eACf,YAAE,oCAAoC,GACzC;AAAA,gBACC,aAAa,IAAI,CAAC,WACjB,oBAAC,cAA8B,OAAO,OAAO,OAC1C,iBAAO,SADO,OAAO,KAExB,CACD;AAAA,iBACH;AAAA;AAAA;AAAA,QACF;AAAA,SACF;AAAA,MACA,qBAAC,iBAAiB,OAAjB,EAAuB,WAAU,UAChC;AAAA,4BAAC,iBAAiB,YAAjB,EACE,YAAE,sCAAsC,GAC3C;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,eAAe,CAAC,UACd,QAAQ,GAAG,MAAM,eAAe,KAAK;AAAA,YAGvC;AAAA,kCAAC,iBAAiB,eAAjB,EAA+B,SAAQ,WACtC;AAAA,gBAAC;AAAA;AAAA,kBACC,aAAa,EAAE,oCAAoC;AAAA;AAAA,cACrD,GACF;AAAA,cACA,qBAAC,iBACC;AAAA,oCAAC,cAAW,OAAM,eACf,YAAE,oCAAoC,GACzC;AAAA,gBACC,aAAa,IAAI,CAAC,WACjB,oBAAC,cAA8B,OAAO,OAAO,OAC1C,iBAAO,SADO,OAAO,KAExB,CACD;AAAA,iBACH;AAAA;AAAA;AAAA,QACF;AAAA,SACF;AAAA,OACF;AAAA,IAEC,gBAAgB,cACf;AAAA,MAAC,iBAAiB;AAAA,MAAjB;AAAA,QACC,WAAU;AAAA,QACV,OACE,YACI,EAAE,0CAA0C,IAC5C,EAAE,0CAA0C;AAAA,QAGjD;AAAA,sBACC,oBAAC,gBAAa,WAAU,uBAAsB,eAAW,MAAC,IAE1D,oBAAC,iBAAc,WAAU,yBAAwB,eAAW,MAAC;AAAA,UAE/D,oBAAC,UAAK,WAAU,WACb,sBACG,EAAE,0CAA0C,IAC5C,EAAE,0CAA0C,GAClD;AAAA;AAAA;AAAA,IACF;AAAA,KAEJ;AAEJ;","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OrchestratorView — the single GUI/XR/TUI data wrapper for the Orchestrator
|
|
3
|
+
* surface.
|
|
4
|
+
*
|
|
5
|
+
* It owns a focused live subset of the workbench's data (orchestrator status +
|
|
6
|
+
* the task-thread page on a 5s poll, plus the open thread's detail) and renders
|
|
7
|
+
* the one presentational {@link OrchestratorSpatialView} inside a
|
|
8
|
+
* {@link SpatialSurface}. Omitting the `modality` prop lets `SpatialSurface`
|
|
9
|
+
* auto-detect GUI vs XR via `window.__elizaXRContext`, so the SAME component
|
|
10
|
+
* serves both surfaces. The TUI surface renders the same `OrchestratorSpatialView`
|
|
11
|
+
* through the terminal registry (see `register-terminal-view.tsx`).
|
|
12
|
+
*
|
|
13
|
+
* The rich GUI route (`/orchestrator`, {@link OrchestratorWorkbench}) keeps the
|
|
14
|
+
* full mutation/SSE/inspector surface — this wrapper is the cross-modality
|
|
15
|
+
* dashboard, not a replacement for it. `onAction` maps each spatial affordance
|
|
16
|
+
* 1:1 to a client method (or, for richer flows like adding an agent, navigates
|
|
17
|
+
* to the workbench).
|
|
18
|
+
*/
|
|
19
|
+
export declare function OrchestratorView(): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
//# sourceMappingURL=OrchestratorView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrchestratorView.d.ts","sourceRoot":"","sources":["../src/OrchestratorView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAuFH,wBAAgB,gBAAgB,4CAmM/B"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import {
|
|
3
|
+
client
|
|
4
|
+
} from "@elizaos/ui";
|
|
5
|
+
import { SpatialSurface } from "@elizaos/ui/spatial";
|
|
6
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
7
|
+
import {
|
|
8
|
+
OrchestratorSpatialView
|
|
9
|
+
} from "./components/OrchestratorSpatialView.js";
|
|
10
|
+
const TASK_LIST_LIMIT = 30;
|
|
11
|
+
function derivePlanSteps(plan) {
|
|
12
|
+
if (!plan) return [];
|
|
13
|
+
const rawSteps = Array.isArray(plan.steps) ? plan.steps : [];
|
|
14
|
+
const steps = [];
|
|
15
|
+
for (const raw of rawSteps) {
|
|
16
|
+
if (typeof raw === "string" && raw.trim()) {
|
|
17
|
+
steps.push({
|
|
18
|
+
id: `step-${steps.length}`,
|
|
19
|
+
label: raw.trim(),
|
|
20
|
+
state: "pending"
|
|
21
|
+
});
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
if (raw && typeof raw === "object") {
|
|
25
|
+
const obj = raw;
|
|
26
|
+
const label = typeof obj.title === "string" && obj.title || typeof obj.label === "string" && obj.label || typeof obj.description === "string" && obj.description || null;
|
|
27
|
+
if (!label) continue;
|
|
28
|
+
const status = typeof obj.status === "string" ? obj.status : "";
|
|
29
|
+
steps.push({
|
|
30
|
+
id: `step-${steps.length}`,
|
|
31
|
+
label,
|
|
32
|
+
state: status === "done" || status === "complete" || status === "completed" ? "done" : status === "active" || status === "in_progress" || status === "running" ? "active" : status === "blocked" || status === "failed" ? "blocked" : "pending"
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return steps;
|
|
37
|
+
}
|
|
38
|
+
function errorMessage(error) {
|
|
39
|
+
return error instanceof Error ? error.message : String(error);
|
|
40
|
+
}
|
|
41
|
+
function openWorkbench() {
|
|
42
|
+
if (typeof window === "undefined") return;
|
|
43
|
+
window.dispatchEvent(
|
|
44
|
+
new CustomEvent("eliza:navigate:view", {
|
|
45
|
+
detail: { viewId: "orchestrator", viewPath: "/orchestrator" }
|
|
46
|
+
})
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
function copyTaskLink(taskId) {
|
|
50
|
+
if (typeof window === "undefined") return;
|
|
51
|
+
const url = `${window.location.origin}/orchestrator?task=${encodeURIComponent(taskId)}`;
|
|
52
|
+
void navigator.clipboard?.writeText(url).catch(() => {
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
function OrchestratorView() {
|
|
56
|
+
const [status, setStatus] = useState(null);
|
|
57
|
+
const [threads, setThreads] = useState([]);
|
|
58
|
+
const [hasMore, setHasMore] = useState(false);
|
|
59
|
+
const [selectedTaskId, setSelectedTaskId] = useState(null);
|
|
60
|
+
const [detail, setDetail] = useState(null);
|
|
61
|
+
const [loading, setLoading] = useState(false);
|
|
62
|
+
const [error, setError] = useState(null);
|
|
63
|
+
const refreshList = useCallback(
|
|
64
|
+
async (silent = false) => {
|
|
65
|
+
if (!silent) setLoading(true);
|
|
66
|
+
try {
|
|
67
|
+
const [nextStatus, nextThreads] = await Promise.all([
|
|
68
|
+
client.getOrchestratorStatus(),
|
|
69
|
+
client.listCodingAgentTaskThreads({ limit: TASK_LIST_LIMIT })
|
|
70
|
+
]);
|
|
71
|
+
setStatus(nextStatus);
|
|
72
|
+
setThreads(nextThreads);
|
|
73
|
+
setHasMore(nextThreads.length >= TASK_LIST_LIMIT);
|
|
74
|
+
setError(null);
|
|
75
|
+
} catch (err) {
|
|
76
|
+
if (!silent) {
|
|
77
|
+
setError(errorMessage(err));
|
|
78
|
+
setStatus(null);
|
|
79
|
+
setThreads([]);
|
|
80
|
+
setHasMore(false);
|
|
81
|
+
}
|
|
82
|
+
} finally {
|
|
83
|
+
if (!silent) setLoading(false);
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
[]
|
|
87
|
+
);
|
|
88
|
+
const loadDetail = useCallback(async (taskId) => {
|
|
89
|
+
try {
|
|
90
|
+
const next = await client.getCodingAgentTaskThread(taskId);
|
|
91
|
+
setDetail(next);
|
|
92
|
+
setError(null);
|
|
93
|
+
} catch (err) {
|
|
94
|
+
setError(errorMessage(err));
|
|
95
|
+
setDetail(null);
|
|
96
|
+
}
|
|
97
|
+
}, []);
|
|
98
|
+
const autoLoadedRef = useRef(false);
|
|
99
|
+
useEffect(() => {
|
|
100
|
+
if (!autoLoadedRef.current) {
|
|
101
|
+
autoLoadedRef.current = true;
|
|
102
|
+
void refreshList(false);
|
|
103
|
+
}
|
|
104
|
+
const interval = setInterval(() => {
|
|
105
|
+
void refreshList(true);
|
|
106
|
+
if (selectedTaskId) void loadDetail(selectedTaskId);
|
|
107
|
+
}, 5e3);
|
|
108
|
+
return () => clearInterval(interval);
|
|
109
|
+
}, [refreshList, loadDetail, selectedTaskId]);
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
if (!selectedTaskId) {
|
|
112
|
+
setDetail(null);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
void loadDetail(selectedTaskId);
|
|
116
|
+
}, [selectedTaskId, loadDetail]);
|
|
117
|
+
const runMutation = useCallback(
|
|
118
|
+
async (mutate) => {
|
|
119
|
+
try {
|
|
120
|
+
await mutate();
|
|
121
|
+
await refreshList(true);
|
|
122
|
+
if (selectedTaskId) await loadDetail(selectedTaskId);
|
|
123
|
+
} catch (err) {
|
|
124
|
+
setError(errorMessage(err));
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
[refreshList, loadDetail, selectedTaskId]
|
|
128
|
+
);
|
|
129
|
+
const onAction = useCallback(
|
|
130
|
+
(action) => {
|
|
131
|
+
if (action.startsWith("open:")) {
|
|
132
|
+
setSelectedTaskId(action.slice("open:".length));
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (action.startsWith("stop-session:")) {
|
|
136
|
+
const sessionId = action.slice("stop-session:".length);
|
|
137
|
+
if (selectedTaskId) {
|
|
138
|
+
void runMutation(
|
|
139
|
+
() => client.stopOrchestratorAgent(selectedTaskId, sessionId)
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
if (action.startsWith("priority:")) {
|
|
145
|
+
const priority = action.slice("priority:".length);
|
|
146
|
+
if (selectedTaskId && (priority === "low" || priority === "normal" || priority === "high" || priority === "urgent")) {
|
|
147
|
+
void runMutation(
|
|
148
|
+
() => client.updateOrchestratorTask(selectedTaskId, { priority })
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
switch (action) {
|
|
154
|
+
case "refresh":
|
|
155
|
+
void refreshList(false);
|
|
156
|
+
return;
|
|
157
|
+
case "pause-all":
|
|
158
|
+
void runMutation(() => client.pauseAllOrchestratorTasks());
|
|
159
|
+
return;
|
|
160
|
+
case "resume-all":
|
|
161
|
+
void runMutation(() => client.resumeAllOrchestratorTasks());
|
|
162
|
+
return;
|
|
163
|
+
case "back":
|
|
164
|
+
setSelectedTaskId(null);
|
|
165
|
+
return;
|
|
166
|
+
case "add-agent":
|
|
167
|
+
openWorkbench();
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
if (!selectedTaskId) return;
|
|
171
|
+
switch (action) {
|
|
172
|
+
case "pause":
|
|
173
|
+
void runMutation(() => client.pauseOrchestratorTask(selectedTaskId));
|
|
174
|
+
return;
|
|
175
|
+
case "resume":
|
|
176
|
+
void runMutation(() => client.resumeOrchestratorTask(selectedTaskId));
|
|
177
|
+
return;
|
|
178
|
+
case "validate":
|
|
179
|
+
void runMutation(
|
|
180
|
+
() => client.validateOrchestratorTask(selectedTaskId, { passed: true })
|
|
181
|
+
);
|
|
182
|
+
return;
|
|
183
|
+
case "fork":
|
|
184
|
+
void runMutation(() => client.forkOrchestratorTask(selectedTaskId));
|
|
185
|
+
return;
|
|
186
|
+
case "restart":
|
|
187
|
+
void runMutation(
|
|
188
|
+
() => client.restartOrchestratorTask(selectedTaskId)
|
|
189
|
+
);
|
|
190
|
+
return;
|
|
191
|
+
case "delete":
|
|
192
|
+
void runMutation(async () => {
|
|
193
|
+
await client.deleteOrchestratorTask(selectedTaskId);
|
|
194
|
+
setSelectedTaskId(null);
|
|
195
|
+
});
|
|
196
|
+
return;
|
|
197
|
+
case "archive":
|
|
198
|
+
void runMutation(async () => {
|
|
199
|
+
await client.archiveCodingAgentTaskThread(selectedTaskId);
|
|
200
|
+
setSelectedTaskId(null);
|
|
201
|
+
});
|
|
202
|
+
return;
|
|
203
|
+
case "reopen":
|
|
204
|
+
void runMutation(
|
|
205
|
+
() => client.reopenCodingAgentTaskThread(selectedTaskId)
|
|
206
|
+
);
|
|
207
|
+
return;
|
|
208
|
+
case "copy-link":
|
|
209
|
+
copyTaskLink(selectedTaskId);
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
[refreshList, runMutation, selectedTaskId]
|
|
214
|
+
);
|
|
215
|
+
const pendingInputs = detail?.pendingDecisions ?? [];
|
|
216
|
+
const snapshot = {
|
|
217
|
+
status,
|
|
218
|
+
threads,
|
|
219
|
+
hasMore,
|
|
220
|
+
detail,
|
|
221
|
+
planSteps: detail ? derivePlanSteps(detail.currentPlan) : [],
|
|
222
|
+
pendingInputs,
|
|
223
|
+
loading,
|
|
224
|
+
error
|
|
225
|
+
};
|
|
226
|
+
return /* @__PURE__ */ jsx(SpatialSurface, { children: /* @__PURE__ */ jsx(OrchestratorSpatialView, { snapshot, onAction }) });
|
|
227
|
+
}
|
|
228
|
+
export {
|
|
229
|
+
OrchestratorView
|
|
230
|
+
};
|
|
231
|
+
//# sourceMappingURL=OrchestratorView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/OrchestratorView.tsx"],"sourcesContent":["/**\n * OrchestratorView — the single GUI/XR/TUI data wrapper for the Orchestrator\n * surface.\n *\n * It owns a focused live subset of the workbench's data (orchestrator status +\n * the task-thread page on a 5s poll, plus the open thread's detail) and renders\n * the one presentational {@link OrchestratorSpatialView} inside a\n * {@link SpatialSurface}. Omitting the `modality` prop lets `SpatialSurface`\n * auto-detect GUI vs XR via `window.__elizaXRContext`, so the SAME component\n * serves both surfaces. The TUI surface renders the same `OrchestratorSpatialView`\n * through the terminal registry (see `register-terminal-view.tsx`).\n *\n * The rich GUI route (`/orchestrator`, {@link OrchestratorWorkbench}) keeps the\n * full mutation/SSE/inspector surface — this wrapper is the cross-modality\n * dashboard, not a replacement for it. `onAction` maps each spatial affordance\n * 1:1 to a client method (or, for richer flows like adding an agent, navigates\n * to the workbench).\n */\n\nimport {\n type CodingAgentOrchestratorStatus,\n type CodingAgentPendingDecisionRecord,\n type CodingAgentTaskThread,\n type CodingAgentTaskThreadDetail,\n client,\n} from \"@elizaos/ui\";\nimport { SpatialSurface } from \"@elizaos/ui/spatial\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport {\n type OrchestratorPlanStep,\n type OrchestratorSnapshot,\n OrchestratorSpatialView,\n} from \"./components/OrchestratorSpatialView.js\";\n\nconst TASK_LIST_LIMIT = 30;\n\n/** Map the free-form `currentPlan` record into the renderable plan-step shape. */\nfunction derivePlanSteps(\n plan: Record<string, unknown> | null | undefined,\n): OrchestratorPlanStep[] {\n if (!plan) return [];\n const rawSteps = Array.isArray(plan.steps) ? plan.steps : [];\n const steps: OrchestratorPlanStep[] = [];\n for (const raw of rawSteps) {\n if (typeof raw === \"string\" && raw.trim()) {\n steps.push({\n id: `step-${steps.length}`,\n label: raw.trim(),\n state: \"pending\",\n });\n continue;\n }\n if (raw && typeof raw === \"object\") {\n const obj = raw as Record<string, unknown>;\n const label =\n (typeof obj.title === \"string\" && obj.title) ||\n (typeof obj.label === \"string\" && obj.label) ||\n (typeof obj.description === \"string\" && obj.description) ||\n null;\n if (!label) continue;\n const status = typeof obj.status === \"string\" ? obj.status : \"\";\n steps.push({\n id: `step-${steps.length}`,\n label,\n state:\n status === \"done\" || status === \"complete\" || status === \"completed\"\n ? \"done\"\n : status === \"active\" ||\n status === \"in_progress\" ||\n status === \"running\"\n ? \"active\"\n : status === \"blocked\" || status === \"failed\"\n ? \"blocked\"\n : \"pending\",\n });\n }\n }\n return steps;\n}\n\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\n/** Open the rich Orchestrator workbench route via the navigation bus. */\nfunction openWorkbench(): void {\n if (typeof window === \"undefined\") return;\n window.dispatchEvent(\n new CustomEvent(\"eliza:navigate:view\", {\n detail: { viewId: \"orchestrator\", viewPath: \"/orchestrator\" },\n }),\n );\n}\n\n/** Copy a deep link to the open task to the clipboard. */\nfunction copyTaskLink(taskId: string): void {\n if (typeof window === \"undefined\") return;\n const url = `${window.location.origin}/orchestrator?task=${encodeURIComponent(taskId)}`;\n void navigator.clipboard?.writeText(url).catch(() => {\n // Clipboard access is best-effort; a denied permission is not an error\n // worth surfacing in the dashboard.\n });\n}\n\nexport function OrchestratorView() {\n const [status, setStatus] =\n useState<CodingAgentOrchestratorStatus | null>(null);\n const [threads, setThreads] = useState<CodingAgentTaskThread[]>([]);\n const [hasMore, setHasMore] = useState(false);\n const [selectedTaskId, setSelectedTaskId] = useState<string | null>(null);\n const [detail, setDetail] = useState<CodingAgentTaskThreadDetail | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const refreshList = useCallback(\n async (silent = false) => {\n if (!silent) setLoading(true);\n try {\n const [nextStatus, nextThreads] = await Promise.all([\n client.getOrchestratorStatus(),\n client.listCodingAgentTaskThreads({ limit: TASK_LIST_LIMIT }),\n ]);\n setStatus(nextStatus);\n setThreads(nextThreads);\n setHasMore(nextThreads.length >= TASK_LIST_LIMIT);\n setError(null);\n } catch (err) {\n if (!silent) {\n setError(errorMessage(err));\n setStatus(null);\n setThreads([]);\n setHasMore(false);\n }\n } finally {\n if (!silent) setLoading(false);\n }\n },\n [],\n );\n\n const loadDetail = useCallback(async (taskId: string) => {\n try {\n const next = await client.getCodingAgentTaskThread(taskId);\n setDetail(next);\n setError(null);\n } catch (err) {\n setError(errorMessage(err));\n setDetail(null);\n }\n }, []);\n\n // Load the task list on mount, then keep it fresh with a quiet 5s poll.\n const autoLoadedRef = useRef(false);\n useEffect(() => {\n if (!autoLoadedRef.current) {\n autoLoadedRef.current = true;\n void refreshList(false);\n }\n const interval = setInterval(() => {\n void refreshList(true);\n if (selectedTaskId) void loadDetail(selectedTaskId);\n }, 5_000);\n return () => clearInterval(interval);\n }, [refreshList, loadDetail, selectedTaskId]);\n\n // Load the open thread's detail whenever the selection changes.\n useEffect(() => {\n if (!selectedTaskId) {\n setDetail(null);\n return;\n }\n void loadDetail(selectedTaskId);\n }, [selectedTaskId, loadDetail]);\n\n const runMutation = useCallback(\n async (mutate: () => Promise<unknown>) => {\n try {\n await mutate();\n await refreshList(true);\n if (selectedTaskId) await loadDetail(selectedTaskId);\n } catch (err) {\n setError(errorMessage(err));\n }\n },\n [refreshList, loadDetail, selectedTaskId],\n );\n\n const onAction = useCallback(\n (action: string) => {\n if (action.startsWith(\"open:\")) {\n setSelectedTaskId(action.slice(\"open:\".length));\n return;\n }\n if (action.startsWith(\"stop-session:\")) {\n const sessionId = action.slice(\"stop-session:\".length);\n if (selectedTaskId) {\n void runMutation(() =>\n client.stopOrchestratorAgent(selectedTaskId, sessionId),\n );\n }\n return;\n }\n if (action.startsWith(\"priority:\")) {\n const priority = action.slice(\"priority:\".length);\n if (\n selectedTaskId &&\n (priority === \"low\" ||\n priority === \"normal\" ||\n priority === \"high\" ||\n priority === \"urgent\")\n ) {\n void runMutation(() =>\n client.updateOrchestratorTask(selectedTaskId, { priority }),\n );\n }\n return;\n }\n switch (action) {\n case \"refresh\":\n void refreshList(false);\n return;\n case \"pause-all\":\n void runMutation(() => client.pauseAllOrchestratorTasks());\n return;\n case \"resume-all\":\n void runMutation(() => client.resumeAllOrchestratorTasks());\n return;\n case \"back\":\n setSelectedTaskId(null);\n return;\n case \"add-agent\":\n openWorkbench();\n return;\n }\n if (!selectedTaskId) return;\n switch (action) {\n case \"pause\":\n void runMutation(() => client.pauseOrchestratorTask(selectedTaskId));\n return;\n case \"resume\":\n void runMutation(() => client.resumeOrchestratorTask(selectedTaskId));\n return;\n case \"validate\":\n void runMutation(() =>\n client.validateOrchestratorTask(selectedTaskId, { passed: true }),\n );\n return;\n case \"fork\":\n void runMutation(() => client.forkOrchestratorTask(selectedTaskId));\n return;\n case \"restart\":\n void runMutation(() =>\n client.restartOrchestratorTask(selectedTaskId),\n );\n return;\n case \"delete\":\n void runMutation(async () => {\n await client.deleteOrchestratorTask(selectedTaskId);\n setSelectedTaskId(null);\n });\n return;\n case \"archive\":\n void runMutation(async () => {\n await client.archiveCodingAgentTaskThread(selectedTaskId);\n setSelectedTaskId(null);\n });\n return;\n case \"reopen\":\n void runMutation(() =>\n client.reopenCodingAgentTaskThread(selectedTaskId),\n );\n return;\n case \"copy-link\":\n copyTaskLink(selectedTaskId);\n return;\n }\n },\n [refreshList, runMutation, selectedTaskId],\n );\n\n const pendingInputs: CodingAgentPendingDecisionRecord[] =\n detail?.pendingDecisions ?? [];\n\n const snapshot: OrchestratorSnapshot = {\n status,\n threads,\n hasMore,\n detail,\n planSteps: detail ? derivePlanSteps(detail.currentPlan) : [],\n pendingInputs,\n loading,\n error,\n };\n\n return (\n <SpatialSurface>\n <OrchestratorSpatialView snapshot={snapshot} onAction={onAction} />\n </SpatialSurface>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type CodingAgentAddAgentInput, type CodingAgentRestartWithEditedPlanInput, type CodingAgentTaskThreadDetail } from "@elizaos/ui";
|
|
2
|
+
import { type CSSProperties } from "react";
|
|
3
|
+
import { type TaskPriority } from "./orchestrator-params";
|
|
4
|
+
type Translate = (key: string, vars?: Record<string, unknown>) => string;
|
|
5
|
+
export declare function TaskInspector({ detail, className, style, onClose, busy, addAgentOpen, onPause, onResume, onArchive, onReopen, onDelete, onFork, onRestart, onRestartWithEditedPlan, onValidate, onSetPriority, onToggleAddAgent, onAddAgent, onInspectSession, onStopAgent, onCopyLink, t, locale, }: {
|
|
6
|
+
detail: CodingAgentTaskThreadDetail;
|
|
7
|
+
className?: string;
|
|
8
|
+
style?: CSSProperties;
|
|
9
|
+
onClose?: () => void;
|
|
10
|
+
busy: boolean;
|
|
11
|
+
addAgentOpen: boolean;
|
|
12
|
+
onPause: () => void;
|
|
13
|
+
onResume: () => void;
|
|
14
|
+
onArchive: () => void;
|
|
15
|
+
onReopen: () => void;
|
|
16
|
+
onDelete: () => void;
|
|
17
|
+
onFork: () => void;
|
|
18
|
+
onRestart: () => void;
|
|
19
|
+
onRestartWithEditedPlan: (input: CodingAgentRestartWithEditedPlanInput) => void;
|
|
20
|
+
onValidate: (passed: boolean) => void;
|
|
21
|
+
onSetPriority: (priority: TaskPriority) => void;
|
|
22
|
+
onToggleAddAgent: () => void;
|
|
23
|
+
onAddAgent: (input: CodingAgentAddAgentInput) => void;
|
|
24
|
+
onInspectSession: (sessionId: string) => void;
|
|
25
|
+
onStopAgent: (sessionId: string) => void;
|
|
26
|
+
onCopyLink: () => void;
|
|
27
|
+
t: Translate;
|
|
28
|
+
locale?: string;
|
|
29
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export declare function OrchestratorWorkbench(): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=OrchestratorWorkbench.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrchestratorWorkbench.d.ts","sourceRoot":"","sources":["../src/OrchestratorWorkbench.tsx"],"names":[],"mappings":"AAAA,OAAO,EAYL,KAAK,wBAAwB,EAG7B,KAAK,qCAAqC,EAO1C,KAAK,2BAA2B,EAMjC,MAAM,aAAa,CAAC;AAuCrB,OAAO,EACL,KAAK,aAAa,EASnB,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAyB/B,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAy/CzE,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,SAAS,EACT,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,CAAC,EACD,MAAM,GACP,EAAE;IACD,MAAM,EAAE,2BAA2B,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,uBAAuB,EAAE,CACvB,KAAK,EAAE,qCAAqC,KACzC,IAAI,CAAC;IACV,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,aAAa,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,UAAU,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACtD,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,CAAC,EAAE,SAAS,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,2CAiWA;AA09BD,wBAAgB,qBAAqB,4CA82BpC"}
|