@elizaos/plugin-agent-orchestrator 2.0.3-beta.2 → 2.0.3-beta.3

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 (176) hide show
  1. package/dist/cjs/index.d.ts +2 -0
  2. package/dist/cjs/index.node.cjs +20962 -0
  3. package/dist/cjs/index.node.js.map +82 -0
  4. package/dist/index.d.ts +2 -0
  5. package/dist/node/index.d.ts +2 -0
  6. package/dist/node/index.d.ts.map +1 -0
  7. package/dist/node/index.node.d.ts +4 -0
  8. package/dist/node/index.node.d.ts.map +1 -0
  9. package/dist/node/index.node.js +20946 -0
  10. package/dist/node/index.node.js.map +82 -0
  11. package/dist/node/src/actions/common.d.ts +114 -0
  12. package/dist/node/src/actions/common.d.ts.map +1 -0
  13. package/dist/node/src/actions/elizaos-capability.d.ts +3 -0
  14. package/dist/node/src/actions/elizaos-capability.d.ts.map +1 -0
  15. package/dist/node/src/actions/sandbox-stub.d.ts +25 -0
  16. package/dist/node/src/actions/sandbox-stub.d.ts.map +1 -0
  17. package/dist/node/src/actions/tasks.d.ts +108 -0
  18. package/dist/node/src/actions/tasks.d.ts.map +1 -0
  19. package/dist/node/src/api/agent-routes.d.ts +18 -0
  20. package/dist/node/src/api/agent-routes.d.ts.map +1 -0
  21. package/dist/node/src/api/bridge-routes.d.ts +70 -0
  22. package/dist/node/src/api/bridge-routes.d.ts.map +1 -0
  23. package/dist/node/src/api/credential-prompt.d.ts +38 -0
  24. package/dist/node/src/api/credential-prompt.d.ts.map +1 -0
  25. package/dist/node/src/api/issue-routes.d.ts +17 -0
  26. package/dist/node/src/api/issue-routes.d.ts.map +1 -0
  27. package/dist/node/src/api/orchestrator-routes.d.ts +25 -0
  28. package/dist/node/src/api/orchestrator-routes.d.ts.map +1 -0
  29. package/dist/node/src/api/parent-context-routes.d.ts +17 -0
  30. package/dist/node/src/api/parent-context-routes.d.ts.map +1 -0
  31. package/dist/node/src/api/route-utils.d.ts +34 -0
  32. package/dist/node/src/api/route-utils.d.ts.map +1 -0
  33. package/dist/node/src/api/routes.d.ts +22 -0
  34. package/dist/node/src/api/routes.d.ts.map +1 -0
  35. package/dist/node/src/api/workspace-routes.d.ts +17 -0
  36. package/dist/node/src/api/workspace-routes.d.ts.map +1 -0
  37. package/dist/node/src/evaluators/sub-agent-completion.d.ts +3 -0
  38. package/dist/node/src/evaluators/sub-agent-completion.d.ts.map +1 -0
  39. package/dist/node/src/index.d.ts +57 -0
  40. package/dist/node/src/index.d.ts.map +1 -0
  41. package/dist/node/src/providers/action-examples.d.ts +14 -0
  42. package/dist/node/src/providers/action-examples.d.ts.map +1 -0
  43. package/dist/node/src/providers/active-sub-agents.d.ts +15 -0
  44. package/dist/node/src/providers/active-sub-agents.d.ts.map +1 -0
  45. package/dist/node/src/providers/active-workspace-context.d.ts +13 -0
  46. package/dist/node/src/providers/active-workspace-context.d.ts.map +1 -0
  47. package/dist/node/src/providers/available-agents.d.ts +4 -0
  48. package/dist/node/src/providers/available-agents.d.ts.map +1 -0
  49. package/dist/node/src/providers/coding-session-changes.d.ts +17 -0
  50. package/dist/node/src/providers/coding-session-changes.d.ts.map +1 -0
  51. package/dist/node/src/register-routes.d.ts +31 -0
  52. package/dist/node/src/register-routes.d.ts.map +1 -0
  53. package/dist/node/src/services/acceptance-criteria.d.ts +84 -0
  54. package/dist/node/src/services/acceptance-criteria.d.ts.map +1 -0
  55. package/dist/node/src/services/acp-native-transport.d.ts +111 -0
  56. package/dist/node/src/services/acp-native-transport.d.ts.map +1 -0
  57. package/dist/node/src/services/acp-service.d.ts +226 -0
  58. package/dist/node/src/services/acp-service.d.ts.map +1 -0
  59. package/dist/node/src/services/active-session-forward.d.ts +31 -0
  60. package/dist/node/src/services/active-session-forward.d.ts.map +1 -0
  61. package/dist/node/src/services/agent-name-assignment.d.ts +50 -0
  62. package/dist/node/src/services/agent-name-assignment.d.ts.map +1 -0
  63. package/dist/node/src/services/ansi-utils.d.ts +64 -0
  64. package/dist/node/src/services/ansi-utils.d.ts.map +1 -0
  65. package/dist/node/src/services/app-deploy-guidance.d.ts +52 -0
  66. package/dist/node/src/services/app-deploy-guidance.d.ts.map +1 -0
  67. package/dist/node/src/services/audit.d.ts +18 -0
  68. package/dist/node/src/services/audit.d.ts.map +1 -0
  69. package/dist/node/src/services/coding-account-selection.d.ts +79 -0
  70. package/dist/node/src/services/coding-account-selection.d.ts.map +1 -0
  71. package/dist/node/src/services/completion-envelope.d.ts +63 -0
  72. package/dist/node/src/services/completion-envelope.d.ts.map +1 -0
  73. package/dist/node/src/services/completion-evidence.d.ts +144 -0
  74. package/dist/node/src/services/completion-evidence.d.ts.map +1 -0
  75. package/dist/node/src/services/config-env.d.ts +27 -0
  76. package/dist/node/src/services/config-env.d.ts.map +1 -0
  77. package/dist/node/src/services/goal-contract.d.ts +25 -0
  78. package/dist/node/src/services/goal-contract.d.ts.map +1 -0
  79. package/dist/node/src/services/goal-llm-verifier.d.ts +157 -0
  80. package/dist/node/src/services/goal-llm-verifier.d.ts.map +1 -0
  81. package/dist/node/src/services/goal-prompt.d.ts +82 -0
  82. package/dist/node/src/services/goal-prompt.d.ts.map +1 -0
  83. package/dist/node/src/services/independent-verifier.d.ts +58 -0
  84. package/dist/node/src/services/independent-verifier.d.ts.map +1 -0
  85. package/dist/node/src/services/interruption-decider.d.ts +43 -0
  86. package/dist/node/src/services/interruption-decider.d.ts.map +1 -0
  87. package/dist/node/src/services/json-model-output.d.ts +2 -0
  88. package/dist/node/src/services/json-model-output.d.ts.map +1 -0
  89. package/dist/node/src/services/opencode-config.d.ts +21 -0
  90. package/dist/node/src/services/opencode-config.d.ts.map +1 -0
  91. package/dist/node/src/services/orchestrator-device-support-matrix.d.ts +46 -0
  92. package/dist/node/src/services/orchestrator-device-support-matrix.d.ts.map +1 -0
  93. package/dist/node/src/services/orchestrator-task-mapper.d.ts +192 -0
  94. package/dist/node/src/services/orchestrator-task-mapper.d.ts.map +1 -0
  95. package/dist/node/src/services/orchestrator-task-service.d.ts +370 -0
  96. package/dist/node/src/services/orchestrator-task-service.d.ts.map +1 -0
  97. package/dist/node/src/services/orchestrator-task-store.d.ts +156 -0
  98. package/dist/node/src/services/orchestrator-task-store.d.ts.map +1 -0
  99. package/dist/node/src/services/orchestrator-task-types.d.ts +334 -0
  100. package/dist/node/src/services/orchestrator-task-types.d.ts.map +1 -0
  101. package/dist/node/src/services/parent-agent-broker.d.ts +23 -0
  102. package/dist/node/src/services/parent-agent-broker.d.ts.map +1 -0
  103. package/dist/node/src/services/parent-agent-dispatch.d.ts +62 -0
  104. package/dist/node/src/services/parent-agent-dispatch.d.ts.map +1 -0
  105. package/dist/node/src/services/repo-input.d.ts +16 -0
  106. package/dist/node/src/services/repo-input.d.ts.map +1 -0
  107. package/dist/node/src/services/screenshot-delivery.d.ts +38 -0
  108. package/dist/node/src/services/screenshot-delivery.d.ts.map +1 -0
  109. package/dist/node/src/services/session-event-queue.d.ts +18 -0
  110. package/dist/node/src/services/session-event-queue.d.ts.map +1 -0
  111. package/dist/node/src/services/session-store.d.ts +108 -0
  112. package/dist/node/src/services/session-store.d.ts.map +1 -0
  113. package/dist/node/src/services/skill-lifeops-context-broker.d.ts +20 -0
  114. package/dist/node/src/services/skill-lifeops-context-broker.d.ts.map +1 -0
  115. package/dist/node/src/services/skill-manifest.d.ts +48 -0
  116. package/dist/node/src/services/skill-manifest.d.ts.map +1 -0
  117. package/dist/node/src/services/skill-recommender.d.ts +53 -0
  118. package/dist/node/src/services/skill-recommender.d.ts.map +1 -0
  119. package/dist/node/src/services/smithers-task-executor.d.ts +73 -0
  120. package/dist/node/src/services/smithers-task-executor.d.ts.map +1 -0
  121. package/dist/node/src/services/smithers-task-integration.d.ts +52 -0
  122. package/dist/node/src/services/smithers-task-integration.d.ts.map +1 -0
  123. package/dist/node/src/services/smithers-task-runner.d.ts +27 -0
  124. package/dist/node/src/services/smithers-task-runner.d.ts.map +1 -0
  125. package/dist/node/src/services/smithers-task-types.d.ts +96 -0
  126. package/dist/node/src/services/smithers-task-types.d.ts.map +1 -0
  127. package/dist/node/src/services/spawn-trajectory.d.ts +23 -0
  128. package/dist/node/src/services/spawn-trajectory.d.ts.map +1 -0
  129. package/dist/node/src/services/spend-allowance.d.ts +143 -0
  130. package/dist/node/src/services/spend-allowance.d.ts.map +1 -0
  131. package/dist/node/src/services/ssrf-guard.d.ts +66 -0
  132. package/dist/node/src/services/ssrf-guard.d.ts.map +1 -0
  133. package/dist/node/src/services/sub-agent-identity.d.ts +27 -0
  134. package/dist/node/src/services/sub-agent-identity.d.ts.map +1 -0
  135. package/dist/node/src/services/sub-agent-inbox.d.ts +26 -0
  136. package/dist/node/src/services/sub-agent-inbox.d.ts.map +1 -0
  137. package/dist/node/src/services/sub-agent-router.d.ts +178 -0
  138. package/dist/node/src/services/sub-agent-router.d.ts.map +1 -0
  139. package/dist/node/src/services/task-agent-frameworks.d.ts +103 -0
  140. package/dist/node/src/services/task-agent-frameworks.d.ts.map +1 -0
  141. package/dist/node/src/services/task-agent-routing.d.ts +33 -0
  142. package/dist/node/src/services/task-agent-routing.d.ts.map +1 -0
  143. package/dist/node/src/services/task-policy.d.ts +17 -0
  144. package/dist/node/src/services/task-policy.d.ts.map +1 -0
  145. package/dist/node/src/services/task-supervisor-service.d.ts +65 -0
  146. package/dist/node/src/services/task-supervisor-service.d.ts.map +1 -0
  147. package/dist/node/src/services/task-watchdog-service.d.ts +50 -0
  148. package/dist/node/src/services/task-watchdog-service.d.ts.map +1 -0
  149. package/dist/node/src/services/terminal-capabilities.d.ts +48 -0
  150. package/dist/node/src/services/terminal-capabilities.d.ts.map +1 -0
  151. package/dist/node/src/services/trajectory-context.d.ts +69 -0
  152. package/dist/node/src/services/trajectory-context.d.ts.map +1 -0
  153. package/dist/node/src/services/trajectory-feedback.d.ts +53 -0
  154. package/dist/node/src/services/trajectory-feedback.d.ts.map +1 -0
  155. package/dist/node/src/services/types.d.ts +188 -0
  156. package/dist/node/src/services/types.d.ts.map +1 -0
  157. package/dist/node/src/services/view-deploy-guidance.d.ts +14 -0
  158. package/dist/node/src/services/view-deploy-guidance.d.ts.map +1 -0
  159. package/dist/node/src/services/workdir-validation.d.ts +10 -0
  160. package/dist/node/src/services/workdir-validation.d.ts.map +1 -0
  161. package/dist/node/src/services/workspace-diff.d.ts +50 -0
  162. package/dist/node/src/services/workspace-diff.d.ts.map +1 -0
  163. package/dist/node/src/services/workspace-git-ops.d.ts +28 -0
  164. package/dist/node/src/services/workspace-git-ops.d.ts.map +1 -0
  165. package/dist/node/src/services/workspace-github.d.ts +60 -0
  166. package/dist/node/src/services/workspace-github.d.ts.map +1 -0
  167. package/dist/node/src/services/workspace-lifecycle.d.ts +5 -0
  168. package/dist/node/src/services/workspace-lifecycle.d.ts.map +1 -0
  169. package/dist/node/src/services/workspace-service.d.ts +126 -0
  170. package/dist/node/src/services/workspace-service.d.ts.map +1 -0
  171. package/dist/node/src/services/workspace-types.d.ts +81 -0
  172. package/dist/node/src/services/workspace-types.d.ts.map +1 -0
  173. package/dist/node/src/setup-routes.d.ts +9 -0
  174. package/dist/node/src/setup-routes.d.ts.map +1 -0
  175. package/docs/multi-account-orchestration.md +1 -1
  176. package/package.json +7 -4
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Coding Workspace Service - Manages git workspaces for coding tasks
3
+ *
4
+ * Delegates to:
5
+ * - workspace-github.ts (issue management, OAuth, PAT auth)
6
+ * - workspace-git-ops.ts (status, commit, push, PR creation)
7
+ * - workspace-lifecycle.ts (GC, scratch dir cleanup)
8
+ * - workspace-types.ts (shared interface definitions)
9
+ *
10
+ * @module services/workspace-service
11
+ */
12
+ import type { IAgentRuntime } from "@elizaos/core";
13
+ import type { CreateIssueOptions, IssueComment, IssueInfo, IssueState, PullRequestInfo, WorkspaceEvent } from "git-workspace-service";
14
+ import type { AuthPromptCallback } from "./workspace-github.js";
15
+ export type { AuthPromptCallback } from "./workspace-github.js";
16
+ export type { CodingWorkspaceConfig, CommitOptions, PROptions, ProvisionWorkspaceOptions, PushOptions, WorkspaceResult, WorkspaceStatusResult, } from "./workspace-types.js";
17
+ import type { CodingWorkspaceConfig, CommitOptions, PROptions, ProvisionWorkspaceOptions, PushOptions, WorkspaceResult, WorkspaceStatusResult } from "./workspace-types.js";
18
+ type WorkspaceEventCallback = (event: WorkspaceEvent) => void;
19
+ type ScratchTerminalEvent = "stopped" | "task_complete" | "error";
20
+ export interface ScratchWorkspaceRecord {
21
+ sessionId: string;
22
+ label: string;
23
+ path: string;
24
+ status: "pending_decision" | "kept" | "promoted";
25
+ createdAt: number;
26
+ terminalAt: number;
27
+ terminalEvent: ScratchTerminalEvent;
28
+ expiresAt?: number;
29
+ }
30
+ export declare function resolveDefaultBranch(repoUrl: string, token?: string): Promise<string>;
31
+ /** Test hook: drop the per-repo cache so each test starts clean. */
32
+ export declare function _clearDefaultBranchCache(): void;
33
+ export declare function getCodingWorkspaceService(runtime: IAgentRuntime): CodingWorkspaceService | null;
34
+ export declare class CodingWorkspaceService {
35
+ static serviceType: string;
36
+ capabilityDescription: string;
37
+ private runtime;
38
+ private workspaceService;
39
+ private credentialService;
40
+ private githubClient;
41
+ private githubAuthInProgress;
42
+ private serviceConfig;
43
+ private workspaces;
44
+ private ambientCredentialWorkspaceIds;
45
+ private labels;
46
+ private scratchBySession;
47
+ private scratchCleanupTimers;
48
+ private eventCallbacks;
49
+ private authPromptCallback;
50
+ /** Callback fired when a scratch workspace enters pending_decision state. */
51
+ private scratchDecisionCallback;
52
+ constructor(runtime: IAgentRuntime, config?: CodingWorkspaceConfig);
53
+ static start(runtime: IAgentRuntime): Promise<CodingWorkspaceService>;
54
+ static stopRuntime(runtime: IAgentRuntime): Promise<void>;
55
+ private initialize;
56
+ private installCredentialSafeClone;
57
+ stop(): Promise<void>;
58
+ /** Provision a new workspace */
59
+ provisionWorkspace(options: ProvisionWorkspaceOptions): Promise<WorkspaceResult>;
60
+ getWorkspace(id: string): WorkspaceResult | undefined;
61
+ listWorkspaces(): WorkspaceResult[];
62
+ /**
63
+ * Assign a semantic label to a workspace (e.g. "auth-bugfix").
64
+ * If the label already exists, it is reassigned to the new workspace.
65
+ */
66
+ setLabel(workspaceId: string, label: string): void;
67
+ getWorkspaceByLabel(label: string): WorkspaceResult | undefined;
68
+ /** Resolve a workspace by label or ID. */
69
+ resolveWorkspace(labelOrId: string): WorkspaceResult | undefined;
70
+ getStatus(workspaceId: string): Promise<WorkspaceStatusResult>;
71
+ commit(workspaceId: string, options: CommitOptions): Promise<string>;
72
+ push(workspaceId: string, options?: PushOptions): Promise<void>;
73
+ createPR(workspaceId: string, options: PROptions): Promise<PullRequestInfo>;
74
+ private getGitHubContext;
75
+ /** Set a callback to surface OAuth auth prompts to the user. */
76
+ setAuthPromptCallback(callback: AuthPromptCallback): void;
77
+ /**
78
+ * Register a callback fired when a scratch workspace enters pending_decision.
79
+ * Used to prompt the user via chat: "Want to keep this code?"
80
+ */
81
+ setScratchDecisionCallback(callback: (record: ScratchWorkspaceRecord) => Promise<void>): void;
82
+ createIssue(repo: string, options: CreateIssueOptions): Promise<IssueInfo>;
83
+ getIssue(repo: string, issueNumber: number): Promise<IssueInfo>;
84
+ listIssues(repo: string, options?: {
85
+ state?: IssueState | "all";
86
+ labels?: string[];
87
+ assignee?: string;
88
+ }): Promise<IssueInfo[]>;
89
+ updateIssue(repo: string, issueNumber: number, options: {
90
+ title?: string;
91
+ body?: string;
92
+ state?: IssueState;
93
+ labels?: string[];
94
+ assignees?: string[];
95
+ }): Promise<IssueInfo>;
96
+ addComment(repo: string, issueNumber: number, body: string): Promise<IssueComment>;
97
+ listComments(repo: string, issueNumber: number): Promise<IssueComment[]>;
98
+ closeIssue(repo: string, issueNumber: number): Promise<IssueInfo>;
99
+ reopenIssue(repo: string, issueNumber: number): Promise<IssueInfo>;
100
+ addLabels(repo: string, issueNumber: number, labels: string[]): Promise<void>;
101
+ removeWorkspace(workspaceId: string): Promise<void>;
102
+ onEvent(callback: WorkspaceEventCallback): () => void;
103
+ private emitEvent;
104
+ /** Remove a scratch directory — allowed under base dir or user coding directory. */
105
+ removeScratchDir(dirPath: string): Promise<void>;
106
+ listScratchWorkspaces(): ScratchWorkspaceRecord[];
107
+ registerScratchWorkspace(sessionId: string, dirPath: string, label: string, terminalEvent: ScratchTerminalEvent): Promise<ScratchWorkspaceRecord | null>;
108
+ keepScratchWorkspace(sessionId: string): Promise<ScratchWorkspaceRecord>;
109
+ deleteScratchWorkspace(sessionId: string): Promise<void>;
110
+ promoteScratchWorkspace(sessionId: string, name?: string): Promise<ScratchWorkspaceRecord>;
111
+ /** GC orphaned workspace directories older than workspaceTtlMs. */
112
+ private gcOrphanedWorkspaces;
113
+ private log;
114
+ private resolveUserCredentials;
115
+ private removeAmbientCredentialHelper;
116
+ /** Read a key from the config file's env section (live, no restart needed). */
117
+ private readConfigEnvKey;
118
+ private getScratchRetentionPolicy;
119
+ private getScratchDecisionTtlMs;
120
+ private requireScratchWorkspace;
121
+ private clearScratchCleanupTimer;
122
+ private scheduleScratchCleanup;
123
+ private sanitizeWorkspaceName;
124
+ private allocatePromotedPath;
125
+ }
126
+ //# sourceMappingURL=workspace-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-service.d.ts","sourceRoot":"","sources":["../../../../src/services/workspace-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Type definitions for the Coding Workspace Service.
3
+ *
4
+ * Extracted from workspace-service.ts to reduce module size.
5
+ *
6
+ * @module services/workspace-types
7
+ */
8
+ import type { WorkspaceStatus } from "git-workspace-service";
9
+ export interface CodingWorkspaceConfig {
10
+ /** Base directory for workspaces (default: ~/.eliza/workspaces) */
11
+ baseDir?: string;
12
+ /** Branch prefix (default: "eliza") */
13
+ branchPrefix?: string;
14
+ /** Enable debug logging */
15
+ debug?: boolean;
16
+ /** Max age for orphaned workspace directories in ms (default: 24 hours). Set to 0 to disable GC. */
17
+ workspaceTtlMs?: number;
18
+ }
19
+ export interface ProvisionWorkspaceOptions {
20
+ /** Git repository URL */
21
+ repo: string;
22
+ /** Base branch to create from (default: "main") */
23
+ baseBranch?: string;
24
+ /** Exact branch name to use (overrides auto-generated name) */
25
+ branchName?: string;
26
+ /** Use worktree instead of clone */
27
+ useWorktree?: boolean;
28
+ /** Parent workspace ID for worktree */
29
+ parentWorkspaceId?: string;
30
+ /** Execution context */
31
+ execution?: {
32
+ id: string;
33
+ patternName: string;
34
+ };
35
+ /** Task context */
36
+ task?: {
37
+ id: string;
38
+ role: string;
39
+ slug?: string;
40
+ };
41
+ /** User-provided credentials */
42
+ userCredentials?: {
43
+ type: "pat" | "oauth" | "ssh";
44
+ token?: string;
45
+ };
46
+ }
47
+ export interface WorkspaceResult {
48
+ id: string;
49
+ path: string;
50
+ branch: string;
51
+ baseBranch: string;
52
+ isWorktree: boolean;
53
+ repo: string;
54
+ status: WorkspaceStatus;
55
+ /** Semantic label for referencing this workspace (e.g. "auth-bugfix", "api-tests") */
56
+ label?: string;
57
+ }
58
+ export interface CommitOptions {
59
+ message: string;
60
+ all?: boolean;
61
+ }
62
+ export interface PushOptions {
63
+ setUpstream?: boolean;
64
+ force?: boolean;
65
+ }
66
+ export interface PROptions {
67
+ title: string;
68
+ body: string;
69
+ base?: string;
70
+ draft?: boolean;
71
+ labels?: string[];
72
+ reviewers?: string[];
73
+ }
74
+ export interface WorkspaceStatusResult {
75
+ branch: string;
76
+ clean: boolean;
77
+ modified: string[];
78
+ staged: string[];
79
+ untracked: string[];
80
+ }
81
+ //# sourceMappingURL=workspace-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-types.d.ts","sourceRoot":"","sources":["../../../../src/services/workspace-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oGAAoG;IACpG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB;IACxB,SAAS,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,mBAAmB;IACnB,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,gCAAgC;IAChC,eAAe,CAAC,EAAE;QAAE,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrE;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Coding-agent orchestrator HTTP routes — Plugin route registration.
3
+ *
4
+ * Mounts `/api/coding-agents/*`, `/api/workspace/*`, and `/api/issues/*`
5
+ * through `Plugin.routes` with `rawPath: true`.
6
+ */
7
+ import type { Plugin } from "@elizaos/core";
8
+ export declare const codingAgentRoutePlugin: Plugin;
9
+ //# sourceMappingURL=setup-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-routes.d.ts","sourceRoot":"","sources":["../../../src/setup-routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAGV,MAAM,EAIP,MAAM,eAAe,CAAC;AAgJvB,eAAO,MAAM,sBAAsB,EAAE,MAMpC,CAAC"}
@@ -60,7 +60,7 @@ bridge**.
60
60
  - [x] Mock account fixtures (multi-account, multi-provider) + an in-memory pool for unit tests.
61
61
  - [x] Unit tests: selection strategy, per-agent env injection + API-key drop (Claude & Codex), intra-provider retry, usage attribution, interruption decider, route registration.
62
62
  - [x] Live E2E (gated `ORCHESTRATOR_LIVE_MULTI_ACCOUNT=1`): validates the selector bridge + usage probe against ≥2 **real** linked accounts (distinct-account rotation via the exclude set; live session/weekly usage).
63
- - [x] **Composed offline E2E** (`bun run --cwd plugins/plugin-agent-orchestrator test:e2e:multi-account`): real app-core `AccountPool` (real-format mock accounts in a temp state dir) → installed selector bridge → orchestrator `AcpService.spawnSession` → a REAL spawned subprocess (a fake "acpx" standing in for the subscription CLI). Asserts 10/10: two Claude spawns pick **distinct** accounts (least-used round-robin), each subprocess receives its account's `CLAUDE_CODE_OAUTH_TOKEN`, the parent `ANTHROPIC_API_KEY`/`OPENAI_API_KEY` are dropped, Codex gets a per-account `CODEX_HOME/auth.json` with the right token+account_id. Point `ELIZA_ACP_CLI` at the real binary + connect real accounts for true live-key validation. (This harness caught a real cli-transport bug: `runAcpx` rebuilt the env without `agentType`, re-adding the parent keys — now fixed.)
63
+ - [x] **Composed offline E2E** (`bun run --cwd plugins/plugin-agent-orchestrator test:e2e:multi-account`): real app-core `AccountPool` (real-format mock accounts in a temp state dir) → installed selector bridge → orchestrator `AcpService.spawnSession` / `sendToSession` → a REAL spawned subprocess (a fake "acpx" standing in for the subscription CLI). Asserts 11/11: two Claude spawns pick **distinct** accounts (least-used round-robin), each subprocess receives its account's `CLAUDE_CODE_OAUTH_TOKEN`, a follow-up prompt for the first Claude session reuses that session's selected account token, the parent `ANTHROPIC_API_KEY`/`OPENAI_API_KEY` are dropped, Codex gets a per-account `CODEX_HOME/auth.json` with the right token+account_id. Point `ELIZA_ACP_CLI` at the real binary + connect real accounts for true live-key validation. (This harness caught a real cli-transport bug: `runAcpx` rebuilt the env without `agentType`, re-adding the parent keys — now fixed.)
64
64
 
65
65
  ### P4 — Connect-accounts window
66
66
  - [x] The connect-accounts window (Settings → Accounts: `AddAccountDialog` OAuth / API-key / coding-plan-key flows, `AccountList`, `RotationStrategyPicker`) pre-exists and is the surface for linking multiple accounts of each type.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-agent-orchestrator",
3
- "version": "2.0.3-beta.2",
3
+ "version": "2.0.3-beta.3",
4
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
6
  "main": "dist/node/index.node.js",
@@ -67,7 +67,7 @@
67
67
  "node": ">=24"
68
68
  },
69
69
  "peerDependencies": {
70
- "@elizaos/core": "2.0.3-beta.2",
70
+ "@elizaos/core": "2.0.3-beta.3",
71
71
  "git-workspace-service": "0.4.5"
72
72
  },
73
73
  "dependencies": {
@@ -80,7 +80,8 @@
80
80
  "devDependencies": {
81
81
  "@biomejs/biome": "^2.4.14",
82
82
  "@electric-sql/pglite": "^0.4.0",
83
- "@elizaos/core": "2.0.3-beta.2",
83
+ "@elizaos/core": "2.0.3-beta.3",
84
+ "@elizaos/shared": "2.0.3-beta.3",
84
85
  "@types/bun": "^1.3.9",
85
86
  "@types/node": "^25.2.3",
86
87
  "bun-types": "1.3.14",
@@ -100,6 +101,8 @@
100
101
  "test:unit": "bunx vitest run --config vitest.config.ts __tests__/unit",
101
102
  "test:e2e:manual": "node tests/e2e/acp-codex-smoke.mjs",
102
103
  "test:e2e:multi-account": "bun --conditions=eliza-source scripts/compose-multi-account-e2e.ts",
104
+ "test:scenarios": "bun --conditions=eliza-source ../../packages/scenario-runner/src/cli.ts run test/scenarios --lane pr-deterministic",
105
+ "test:scenarios:live": "bun --conditions=eliza-source ../../packages/scenario-runner/src/cli.ts run test/scenarios --lane live-only",
103
106
  "test:watch": "bunx vitest --config vitest.config.ts",
104
107
  "build": "bun run build.ts",
105
108
  "build:ts": "bun run build.ts"
@@ -230,5 +233,5 @@
230
233
  "node": "Node.js subprocess integration available via exports.node; browser export is a compatibility shim for package resolution."
231
234
  }
232
235
  },
233
- "gitHead": "82fe0f44215954c2417328203f5bd6510985c1fc"
236
+ "gitHead": "f54b0f4eaed317d59fa7dbcdce20f4cdb0734420"
234
237
  }