@elizaos/plugin-agent-orchestrator 2.0.0-alpha.9 → 2.0.3-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/LICENSE +21 -0
  3. package/README.md +232 -0
  4. package/docs/SUBAGENT_FLOW_AND_PARITY.md +138 -0
  5. package/docs/default-eliza-skills-and-agent-bridge-plan.md +225 -0
  6. package/docs/economics-goal-runbook.md +140 -0
  7. package/docs/multi-account-orchestration.md +76 -0
  8. package/docs/orchestrator-buildout-followups.md +124 -0
  9. package/docs/orchestrator-dashboard-task-widget-secrets-assessment.md +174 -0
  10. package/docs/orchestrator-dashboard-task-widget-secrets-design.md +301 -0
  11. package/docs/research/orchestrator-view-research-report.md +273 -0
  12. package/docs/sub-agent-routing.md +227 -0
  13. package/package.json +197 -38
  14. package/dist/index.d.ts +0 -21
  15. package/dist/index.d.ts.map +0 -1
  16. package/dist/index.js +0 -21120
  17. package/dist/index.js.map +0 -109
  18. package/dist/src/actions/messaging.d.ts +0 -24
  19. package/dist/src/actions/messaging.d.ts.map +0 -1
  20. package/dist/src/actions/peek-subagent.d.ts +0 -3
  21. package/dist/src/actions/peek-subagent.d.ts.map +0 -1
  22. package/dist/src/actions/subagent-management.d.ts +0 -7
  23. package/dist/src/actions/subagent-management.d.ts.map +0 -1
  24. package/dist/src/actions/task-management.d.ts +0 -9
  25. package/dist/src/actions/task-management.d.ts.map +0 -1
  26. package/dist/src/config.d.ts +0 -4
  27. package/dist/src/config.d.ts.map +0 -1
  28. package/dist/src/providers/orchestrator-config.d.ts +0 -80
  29. package/dist/src/providers/orchestrator-config.d.ts.map +0 -1
  30. package/dist/src/providers/task-context.d.ts +0 -3
  31. package/dist/src/providers/task-context.d.ts.map +0 -1
  32. package/dist/src/services/agent-orchestrator-service.d.ts +0 -59
  33. package/dist/src/services/agent-orchestrator-service.d.ts.map +0 -1
  34. package/dist/src/services/messaging-service.d.ts +0 -111
  35. package/dist/src/services/messaging-service.d.ts.map +0 -1
  36. package/dist/src/services/sandbox-service.d.ts +0 -103
  37. package/dist/src/services/sandbox-service.d.ts.map +0 -1
  38. package/dist/src/services/subagent-service.d.ts +0 -140
  39. package/dist/src/services/subagent-service.d.ts.map +0 -1
  40. package/dist/src/sub-agents/adapter.d.ts +0 -13
  41. package/dist/src/sub-agents/adapter.d.ts.map +0 -1
  42. package/dist/src/sub-agents/claude-agent-sdk-sub-agent.d.ts +0 -18
  43. package/dist/src/sub-agents/claude-agent-sdk-sub-agent.d.ts.map +0 -1
  44. package/dist/src/sub-agents/codex-sdk-sub-agent.d.ts +0 -18
  45. package/dist/src/sub-agents/codex-sdk-sub-agent.d.ts.map +0 -1
  46. package/dist/src/sub-agents/eliza-sub-agent.d.ts +0 -27
  47. package/dist/src/sub-agents/eliza-sub-agent.d.ts.map +0 -1
  48. package/dist/src/sub-agents/elizaos-native-sub-agent.d.ts +0 -61
  49. package/dist/src/sub-agents/elizaos-native-sub-agent.d.ts.map +0 -1
  50. package/dist/src/sub-agents/index.d.ts +0 -10
  51. package/dist/src/sub-agents/index.d.ts.map +0 -1
  52. package/dist/src/sub-agents/opencode-sub-agent.d.ts +0 -44
  53. package/dist/src/sub-agents/opencode-sub-agent.d.ts.map +0 -1
  54. package/dist/src/sub-agents/registry.d.ts +0 -3
  55. package/dist/src/sub-agents/registry.d.ts.map +0 -1
  56. package/dist/src/sub-agents/sweagent-sub-agent.d.ts +0 -19
  57. package/dist/src/sub-agents/sweagent-sub-agent.d.ts.map +0 -1
  58. package/dist/src/sub-agents/tools.d.ts +0 -15
  59. package/dist/src/sub-agents/tools.d.ts.map +0 -1
  60. package/dist/src/sub-agents/types.d.ts +0 -170
  61. package/dist/src/sub-agents/types.d.ts.map +0 -1
  62. package/dist/src/types/index.d.ts +0 -12
  63. package/dist/src/types/index.d.ts.map +0 -1
  64. package/dist/src/types/messaging.d.ts +0 -202
  65. package/dist/src/types/messaging.d.ts.map +0 -1
  66. package/dist/src/types/sandbox.d.ts +0 -228
  67. package/dist/src/types/sandbox.d.ts.map +0 -1
  68. package/dist/src/types/subagent.d.ts +0 -232
  69. package/dist/src/types/subagent.d.ts.map +0 -1
  70. package/dist/src/types.d.ts +0 -138
  71. package/dist/src/types.d.ts.map +0 -1
  72. package/dist/src/utils/index.d.ts +0 -7
  73. package/dist/src/utils/index.d.ts.map +0 -1
  74. package/dist/src/utils/session.d.ts +0 -184
  75. package/dist/src/utils/session.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,75 +1,234 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-agent-orchestrator",
3
- "description": "Agent orchestration plugin for ElizaOS (task lifecycle + agent providers)",
4
- "version": "2.0.0-alpha.9",
3
+ "version": "2.0.3-beta.2",
4
+ "description": "Canonical ElizaOS plugin for spawning and orchestrating coding agents via native Agent Client Protocol transports — combined with workspace lifecycle, GitHub integration, task share, runtime-driven sub-agent routing, and supporting services.",
5
5
  "type": "module",
6
- "main": "dist/index.js",
7
- "module": "dist/index.js",
6
+ "main": "dist/node/index.node.js",
7
+ "module": "dist/node/index.node.js",
8
8
  "types": "dist/index.d.ts",
9
- "packageType": "plugin",
10
- "platform": "node",
11
- "license": "MIT",
12
- "keywords": [
13
- "plugin",
14
- "elizaos",
15
- "orchestrator",
16
- "agents",
17
- "tasks",
18
- "multi-agent"
19
- ],
20
9
  "repository": {
21
10
  "type": "git",
22
- "url": "https://github.com/elizaos/eliza"
11
+ "url": "git+https://github.com/elizaos/eliza.git",
12
+ "directory": "plugins/plugin-agent-orchestrator"
23
13
  },
24
14
  "exports": {
25
15
  "./package.json": "./package.json",
26
16
  ".": {
27
- "import": {
28
- "types": "./dist/index.d.ts",
29
- "default": "./dist/index.js"
30
- }
17
+ "types": "./dist/index.d.ts",
18
+ "eliza-source": {
19
+ "types": "./src/index.ts",
20
+ "import": "./src/index.ts",
21
+ "default": "./src/index.ts"
22
+ },
23
+ "node": {
24
+ "types": "./dist/node/index.d.ts",
25
+ "import": "./dist/node/index.node.js",
26
+ "default": "./dist/node/index.node.js"
27
+ },
28
+ "bun": {
29
+ "types": "./dist/node/index.d.ts",
30
+ "default": "./dist/node/index.node.js"
31
+ },
32
+ "require": "./dist/cjs/index.node.cjs",
33
+ "default": "./dist/node/index.node.js"
34
+ },
35
+ "./*.css": "./dist/*.css",
36
+ "./*": {
37
+ "types": "./dist/*.d.ts",
38
+ "import": "./dist/*.js",
39
+ "default": "./dist/*.js"
31
40
  }
32
41
  },
33
42
  "files": [
34
43
  "dist",
35
44
  "README.md",
36
- "package.json"
45
+ "CHANGELOG.md",
46
+ "PROJECT.md",
47
+ "LICENSE",
48
+ "docs"
37
49
  ],
38
- "dependencies": {
39
- "uuid": "^13.0.0",
40
- "@anthropic-ai/claude-agent-sdk": "^0.2.5",
41
- "@openai/codex-sdk": "^0.80.0"
50
+ "sideEffects": [
51
+ "./src/register-routes.ts",
52
+ "./src/register-routes.js",
53
+ "./dist/node/index.node.js",
54
+ "./dist/cjs/index.node.cjs"
55
+ ],
56
+ "keywords": [
57
+ "elizaos",
58
+ "plugin",
59
+ "agent-client-protocol",
60
+ "coding-agent",
61
+ "subagent",
62
+ "task"
63
+ ],
64
+ "author": "@stwd / 0xSolace",
65
+ "license": "MIT",
66
+ "engines": {
67
+ "node": ">=24"
42
68
  },
43
69
  "peerDependencies": {
44
- "@elizaos/core": "2.0.0-alpha.3"
70
+ "@elizaos/core": "2.0.3-beta.2",
71
+ "git-workspace-service": "0.4.5"
72
+ },
73
+ "dependencies": {
74
+ "@octokit/rest": "^22.0.0",
75
+ "coding-agent-adapters": "0.16.3",
76
+ "drizzle-orm": "^0.45.1",
77
+ "effect": "^3.21.1",
78
+ "smithers-orchestrator": "0.22.0"
45
79
  },
46
80
  "devDependencies": {
47
- "@biomejs/biome": "^2.3.11",
48
- "typescript": "^5.9.3"
81
+ "@biomejs/biome": "^2.4.14",
82
+ "@electric-sql/pglite": "^0.4.0",
83
+ "@elizaos/core": "2.0.3-beta.2",
84
+ "@types/bun": "^1.3.9",
85
+ "@types/node": "^25.2.3",
86
+ "bun-types": "1.3.14",
87
+ "git-workspace-service": "0.4.5",
88
+ "typescript": "^6.0.3",
89
+ "vitest": "^4.0.0"
49
90
  },
50
91
  "scripts": {
51
- "dev": "bun --hot build.ts",
52
- "test": "vitest run --passWithNoTests",
92
+ "dev": "bun run build.ts --watch",
93
+ "clean": "rm -rf dist .turbo .turbo-tsconfig.json tsconfig.tsbuildinfo tsconfig.build.tsbuildinfo",
94
+ "format": "bunx @biomejs/biome format --write .",
95
+ "format:check": "bunx @biomejs/biome format .",
53
96
  "lint": "bunx @biomejs/biome check --write --unsafe .",
54
- "typecheck": "tsc --noEmit",
55
- "clean": "rm -rf dist .turbo",
56
97
  "lint:check": "bunx @biomejs/biome check . --no-errors-on-unmatched",
98
+ "typecheck": "tsgo --noEmit -p tsconfig.json",
99
+ "test": "bunx vitest run --config vitest.config.ts",
100
+ "test:unit": "bunx vitest run --config vitest.config.ts __tests__/unit",
101
+ "test:e2e:manual": "node tests/e2e/acp-codex-smoke.mjs",
102
+ "test:e2e:multi-account": "bun --conditions=eliza-source scripts/compose-multi-account-e2e.ts",
103
+ "test:watch": "bunx vitest --config vitest.config.ts",
57
104
  "build": "bun run build.ts",
58
- "build:ts": "bun run build.ts",
59
- "format": "bunx @biomejs/biome format --write .",
60
- "format:check": "bunx @biomejs/biome format ."
105
+ "build:ts": "bun run build.ts"
61
106
  },
62
107
  "publishConfig": {
63
108
  "access": "public"
64
109
  },
65
110
  "agentConfig": {
111
+ "pluginType": "elizaos:plugin:1.0.0",
66
112
  "pluginParameters": {
67
- "ORCHESTRATOR_ACTIVE_PROVIDER": {
113
+ "ELIZA_ACP_CLI": {
114
+ "type": "string",
115
+ "description": "Path or command name for the legacy acpx command-wrapper transport when ELIZA_ACP_TRANSPORT=cli.",
116
+ "required": false,
117
+ "default": "acpx",
118
+ "sensitive": false
119
+ },
120
+ "ELIZA_ACP_TRANSPORT": {
121
+ "type": "string",
122
+ "description": "ACP transport mode. Native/direct uses the embedded TypeScript ACP client; cli/acpx keeps the legacy command-wrapper transport.",
123
+ "required": false,
124
+ "default": "native",
125
+ "sensitive": false
126
+ },
127
+ "ELIZA_ACP_DEFAULT_AGENT": {
128
+ "type": "string",
129
+ "description": "Default coding agent adapter for TASKS create/spawn_agent when the user or planner does not choose one. Supported defaults include elizaos, pi-agent, and opencode.",
130
+ "required": false,
131
+ "default": "elizaos",
132
+ "sensitive": false
133
+ },
134
+ "ELIZA_DEFAULT_AGENT_TYPE": {
135
+ "type": "string",
136
+ "description": "Compatibility alias for the default coding agent adapter. Use elizaos, pi-agent, or opencode to switch the default code agent from settings.",
137
+ "required": false,
138
+ "default": "elizaos",
139
+ "sensitive": false
140
+ },
141
+ "ELIZA_AGENT_SELECTION_STRATEGY": {
142
+ "type": "string",
143
+ "description": "Task-agent selection policy. fixed makes the configured default adapter authoritative; dynamic allows runtime selection when implemented.",
144
+ "required": false,
145
+ "default": "fixed",
146
+ "sensitive": false
147
+ },
148
+ "ELIZA_ELIZAOS_ACP_COMMAND": {
149
+ "type": "string",
150
+ "description": "Native ACP command used for ElizaOS coding-agent sessions when ELIZA_ACP_TRANSPORT=native.",
151
+ "required": false,
152
+ "default": "elizaos",
153
+ "sensitive": false
154
+ },
155
+ "ELIZA_PI_AGENT_ACP_COMMAND": {
156
+ "type": "string",
157
+ "description": "Native ACP command used for Pi Agent sessions when ELIZA_ACP_TRANSPORT=native.",
158
+ "required": false,
159
+ "default": "pi-agent",
160
+ "sensitive": false
161
+ },
162
+ "ELIZA_CODEX_ACP_COMMAND": {
163
+ "type": "string",
164
+ "description": "Native ACP command used for Codex sessions when ELIZA_ACP_TRANSPORT=native. Pin this in production to avoid implicit package upgrades.",
165
+ "required": false,
166
+ "default": "npx -y @zed-industries/codex-acp@0.14.0",
167
+ "sensitive": false
168
+ },
169
+ "ELIZA_CLAUDE_ACP_COMMAND": {
170
+ "type": "string",
171
+ "description": "Native ACP command used for Claude sessions when ELIZA_ACP_TRANSPORT=native. Pin this in production to avoid implicit package upgrades.",
172
+ "required": false,
173
+ "default": "npx -y @agentclientprotocol/claude-agent-acp@0.34.0",
174
+ "sensitive": false
175
+ },
176
+ "ELIZA_OPENCODE_ACP_COMMAND": {
177
+ "type": "string",
178
+ "description": "Native ACP command used for OpenCode sessions when ELIZA_ACP_TRANSPORT=native. Defaults to the bundled OpenCode shim when available, otherwise opencode acp.",
179
+ "required": false,
180
+ "sensitive": false
181
+ },
182
+ "ELIZA_ACP_FORMAT": {
68
183
  "type": "string",
69
- "description": "Provider selection",
184
+ "description": "Agent Client Protocol event format expected from legacy transports.",
185
+ "required": false,
186
+ "default": "json",
187
+ "sensitive": false
188
+ },
189
+ "ACPX_DEFAULT_TIMEOUT_MS": {
190
+ "type": "number",
191
+ "description": "Default timeout in milliseconds for ACP prompt/session calls when an action does not provide a timeout.",
192
+ "required": false,
193
+ "sensitive": false
194
+ },
195
+ "ACPX_APPROVE_ALL": {
196
+ "type": "boolean",
197
+ "description": "When true, defaults ACP sessions to the approve-all approval preset unless an action overrides approvalPreset.",
198
+ "required": false,
199
+ "default": false,
200
+ "sensitive": false
201
+ },
202
+ "ACPX_FORMAT": {
203
+ "type": "string",
204
+ "description": "Deprecated alias for ELIZA_ACP_FORMAT.",
205
+ "required": false,
206
+ "default": "json",
207
+ "sensitive": false
208
+ },
209
+ "ACPX_NO_TERMINAL": {
210
+ "type": "boolean",
211
+ "description": "When true, passes --no-terminal so coding agents communicate through ACP events rather than terminal UI.",
212
+ "required": false,
213
+ "default": true,
214
+ "sensitive": false
215
+ },
216
+ "ACPX_DEFAULT_CWD": {
217
+ "type": "string",
218
+ "description": "Default working directory for ACP sessions when an action does not provide workdir.",
70
219
  "required": false,
71
220
  "sensitive": false
72
221
  }
73
222
  }
74
- }
223
+ },
224
+ "eliza": {
225
+ "platforms": [
226
+ "node"
227
+ ],
228
+ "runtime": "node",
229
+ "platformDetails": {
230
+ "node": "Node.js subprocess integration available via exports.node; browser export is a compatibility shim for package resolution."
231
+ }
232
+ },
233
+ "gitHead": "82fe0f44215954c2417328203f5bd6510985c1fc"
75
234
  }
package/dist/index.d.ts DELETED
@@ -1,21 +0,0 @@
1
- import type { Plugin } from "@elizaos/core";
2
- import { configureAgentOrchestratorPlugin, getConfiguredAgentOrchestratorOptions } from "./src/config.js";
3
- export { configureAgentOrchestratorPlugin, getConfiguredAgentOrchestratorOptions, };
4
- export declare const agentOrchestratorPlugin: Plugin;
5
- export default agentOrchestratorPlugin;
6
- export { listMessagingChannelsAction, sendCrossPlatformMessageAction, sendToDeliveryContextAction, sendToRoomAction, sendToSessionMessageAction, } from "./src/actions/messaging.js";
7
- export { peekSubagentAction } from "./src/actions/peek-subagent.js";
8
- export { cancelSubagentAction, getSubagentStatusAction, listSubagentsAction, sendToSessionAction, spawnSubagentAction, } from "./src/actions/subagent-management.js";
9
- export { cancelTaskAction, createTaskAction, listTasksAction, pauseTaskAction, resumeTaskAction, searchTasksAction, switchTaskAction, } from "./src/actions/task-management.js";
10
- export { getOrchestratorConfig, type OrchestratorConfig, orchestratorConfigProvider, } from "./src/providers/orchestrator-config.js";
11
- export { AgentOrchestratorService } from "./src/services/agent-orchestrator-service.js";
12
- export { MessagingService } from "./src/services/messaging-service.js";
13
- export { SandboxService } from "./src/services/sandbox-service.js";
14
- export { SubagentService } from "./src/services/subagent-service.js";
15
- export { createSubAgentProvider, SubAgentProvider, } from "./src/sub-agents/adapter.js";
16
- export { createSubAgent } from "./src/sub-agents/registry.js";
17
- export type { AgentToAgentPolicy, DeliveryContext, DeliveryStatus, MessageAttachment, MessageButton, MessageContent, MessageEmbed, MessageTarget, MessagingAdapter, MessagingChannel, MessagingEventPayload, MessagingRoomMetadata, ParsedSessionKey, SandboxBrowserConfig, SandboxBrowserContext, SandboxConfig, SandboxContext, SandboxDockerConfig, SandboxEventPayload, SandboxExecuteParams, SandboxExecutionResult, SandboxMode, SandboxPruneConfig, SandboxScope, SandboxToolPolicy, SandboxWorkspaceAccess, SandboxWorkspaceInfo, SendMessageParams, SendMessageResult, SendToAgentParams, SendToAgentResult, SpawnSubagentParams, SpawnSubagentResult, SubagentConfig, SubagentEventPayload, SubagentRoomMetadata, SubagentRunOutcome, SubagentRunRecord, } from "./src/types/index.js";
18
- export { MessagingEventType, SandboxEventType, SubagentEventType, } from "./src/types/index.js";
19
- export type { AgentOrchestratorPluginOptions, AgentProvider, AgentProviderId, OrchestratedTask, OrchestratedTaskMetadata, ProviderTaskExecutionContext, TaskEvent, TaskEventType, TaskResult, TaskStatus, TaskStep, TaskUserStatus, } from "./src/types.js";
20
- export { buildAcpSessionKey, buildAgentMainSessionKey, buildAgentPeerSessionKey, buildAgentSessionKey, buildGroupHistoryKey, buildSessionKey, buildSubagentSessionKey, createSendPolicyProvider, createSessionEntry, createSessionProvider, createSessionSkillsProvider, createSubagentSessionKey, deleteSessionEntry, extractAgentIdFromSessionKey, extractSessionContext, formatDurationShort, formatTokenCount, getSessionEntry, getSessionProviders, hashToUUID, isAcpSessionKey, isCoreSubagentSessionKey, isSubagentSessionKey, isValidSessionEntry, listSessionKeys, loadSessionStore, mergeDeliveryContext, mergeSessionEntry, normalizeAccountId, normalizeAgentId, normalizeCoreAgentId, normalizeDeliveryContext, normalizeMainKey, normalizeSessionKey, parseAgentSessionKey, parseSessionKey, resolveAgentIdFromSessionKey, resolveAgentSessionsDir, resolveDefaultSessionStorePath, resolveSessionTranscriptPath, resolveStateDir, resolveStorePath, resolveThreadParentSessionKey, resolveThreadSessionKeys, type SessionDeliveryContext, type SessionEntry, type SessionResolution, SessionStateManager, type SessionStore, saveSessionStore, sessionKeyToRoomId, toAgentRequestSessionKey, toAgentStoreSessionKey, updateSessionStore, updateSessionStoreEntry, upsertSessionEntry, } from "./src/utils/index.js";
21
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}