@elizaos/plugin-agent-orchestrator 2.0.0-alpha.5 → 2.0.0-alpha.537

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 (190) hide show
  1. package/README.md +233 -0
  2. package/assets/claude-code-skills/eliza-runtime/SKILL.md +123 -0
  3. package/assets/claude-code-skills/eliza-runtime/references/hooks.md +82 -0
  4. package/assets/claude-code-skills/eliza-runtime/references/orchestration.md +68 -0
  5. package/assets/claude-code-skills/eliza-runtime/references/synthesis.md +84 -0
  6. package/assets/claude-code-skills/eliza-runtime/scripts/eliza-context.sh +103 -0
  7. package/assets/claude-code-skills/eliza-runtime/scripts/eliza-decision.sh +48 -0
  8. package/assets/claude-code-skills/eliza-runtime/scripts/eliza-parent.sh +143 -0
  9. package/dist/actions/coding-task-handlers.d.ts +64 -0
  10. package/dist/actions/coding-task-handlers.d.ts.map +1 -0
  11. package/dist/actions/coding-task-helpers.d.ts +35 -0
  12. package/dist/actions/coding-task-helpers.d.ts.map +1 -0
  13. package/dist/actions/eval-metadata.d.ts +11 -0
  14. package/dist/actions/eval-metadata.d.ts.map +1 -0
  15. package/dist/actions/finalize-workspace.d.ts +11 -0
  16. package/dist/actions/finalize-workspace.d.ts.map +1 -0
  17. package/dist/actions/list-agents.d.ts +13 -0
  18. package/dist/actions/list-agents.d.ts.map +1 -0
  19. package/dist/actions/manage-issues.d.ts +11 -0
  20. package/dist/actions/manage-issues.d.ts.map +1 -0
  21. package/dist/actions/provision-workspace.d.ts +11 -0
  22. package/dist/actions/provision-workspace.d.ts.map +1 -0
  23. package/dist/actions/send-to-agent.d.ts +12 -0
  24. package/dist/actions/send-to-agent.d.ts.map +1 -0
  25. package/dist/actions/spawn-agent.d.ts +12 -0
  26. package/dist/actions/spawn-agent.d.ts.map +1 -0
  27. package/dist/actions/start-coding-task.d.ts +69 -0
  28. package/dist/actions/start-coding-task.d.ts.map +1 -0
  29. package/dist/actions/stop-agent.d.ts +12 -0
  30. package/dist/actions/stop-agent.d.ts.map +1 -0
  31. package/dist/actions/task-control.d.ts +3 -0
  32. package/dist/actions/task-control.d.ts.map +1 -0
  33. package/dist/actions/task-history.d.ts +3 -0
  34. package/dist/actions/task-history.d.ts.map +1 -0
  35. package/dist/actions/task-share.d.ts +3 -0
  36. package/dist/actions/task-share.d.ts.map +1 -0
  37. package/dist/actions/task-thread-target.d.ts +11 -0
  38. package/dist/actions/task-thread-target.d.ts.map +1 -0
  39. package/dist/api/agent-routes.d.ts +18 -0
  40. package/dist/api/agent-routes.d.ts.map +1 -0
  41. package/dist/api/bridge-routes.d.ts +32 -0
  42. package/dist/api/bridge-routes.d.ts.map +1 -0
  43. package/dist/api/coordinator-routes.d.ts +22 -0
  44. package/dist/api/coordinator-routes.d.ts.map +1 -0
  45. package/dist/api/hook-routes.d.ts +18 -0
  46. package/dist/api/hook-routes.d.ts.map +1 -0
  47. package/dist/api/issue-routes.d.ts +17 -0
  48. package/dist/api/issue-routes.d.ts.map +1 -0
  49. package/dist/api/parent-context-routes.d.ts +17 -0
  50. package/dist/api/parent-context-routes.d.ts.map +1 -0
  51. package/dist/api/routes.d.ts +37 -0
  52. package/dist/api/routes.d.ts.map +1 -0
  53. package/dist/api/workspace-routes.d.ts +17 -0
  54. package/dist/api/workspace-routes.d.ts.map +1 -0
  55. package/dist/index.d.ts +36 -15
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +19823 -3387
  58. package/dist/index.js.map +72 -22
  59. package/dist/providers/action-examples.d.ts +14 -0
  60. package/dist/providers/action-examples.d.ts.map +1 -0
  61. package/dist/providers/active-workspace-context.d.ts +13 -0
  62. package/dist/providers/active-workspace-context.d.ts.map +1 -0
  63. package/dist/services/agent-credentials.d.ts +23 -0
  64. package/dist/services/agent-credentials.d.ts.map +1 -0
  65. package/dist/services/agent-metrics.d.ts +30 -0
  66. package/dist/services/agent-metrics.d.ts.map +1 -0
  67. package/dist/services/agent-selection.d.ts +53 -0
  68. package/dist/services/agent-selection.d.ts.map +1 -0
  69. package/dist/services/ansi-utils.d.ts +61 -0
  70. package/dist/services/ansi-utils.d.ts.map +1 -0
  71. package/dist/services/claude-code-skill-installer.d.ts +33 -0
  72. package/dist/services/claude-code-skill-installer.d.ts.map +1 -0
  73. package/dist/services/config-env.d.ts +23 -0
  74. package/dist/services/config-env.d.ts.map +1 -0
  75. package/dist/services/coordinator-event-normalizer.d.ts +50 -0
  76. package/dist/services/coordinator-event-normalizer.d.ts.map +1 -0
  77. package/dist/services/custom-validator-runner.d.ts +66 -0
  78. package/dist/services/custom-validator-runner.d.ts.map +1 -0
  79. package/dist/services/debug-capture.d.ts +38 -0
  80. package/dist/services/debug-capture.d.ts.map +1 -0
  81. package/dist/services/pty-auto-response.d.ts +30 -0
  82. package/dist/services/pty-auto-response.d.ts.map +1 -0
  83. package/dist/services/pty-init.d.ts +54 -0
  84. package/dist/services/pty-init.d.ts.map +1 -0
  85. package/dist/services/pty-service.d.ts +206 -0
  86. package/dist/services/pty-service.d.ts.map +1 -0
  87. package/dist/services/pty-session-io.d.ts +49 -0
  88. package/dist/services/pty-session-io.d.ts.map +1 -0
  89. package/dist/services/pty-spawn.d.ts +113 -0
  90. package/dist/services/pty-spawn.d.ts.map +1 -0
  91. package/dist/services/pty-types.d.ts +94 -0
  92. package/dist/services/pty-types.d.ts.map +1 -0
  93. package/dist/services/repo-input.d.ts +16 -0
  94. package/dist/services/repo-input.d.ts.map +1 -0
  95. package/dist/services/session-event-queue.d.ts +25 -0
  96. package/dist/services/session-event-queue.d.ts.map +1 -0
  97. package/dist/services/skill-callback-bridge.d.ts +78 -0
  98. package/dist/services/skill-callback-bridge.d.ts.map +1 -0
  99. package/dist/services/skill-essentials.d.ts +16 -0
  100. package/dist/services/skill-essentials.d.ts.map +1 -0
  101. package/dist/services/skill-lifeops-context-broker.d.ts +20 -0
  102. package/dist/services/skill-lifeops-context-broker.d.ts.map +1 -0
  103. package/dist/services/skill-manifest.d.ts +48 -0
  104. package/dist/services/skill-manifest.d.ts.map +1 -0
  105. package/dist/services/skill-recommender.d.ts +51 -0
  106. package/dist/services/skill-recommender.d.ts.map +1 -0
  107. package/dist/services/stall-classifier.d.ts +69 -0
  108. package/dist/services/stall-classifier.d.ts.map +1 -0
  109. package/dist/services/structured-proof-bridge.d.ts +99 -0
  110. package/dist/services/structured-proof-bridge.d.ts.map +1 -0
  111. package/dist/services/swarm-coordinator-prompts.d.ts +97 -0
  112. package/dist/services/swarm-coordinator-prompts.d.ts.map +1 -0
  113. package/dist/services/swarm-coordinator.d.ts +471 -0
  114. package/dist/services/swarm-coordinator.d.ts.map +1 -0
  115. package/dist/services/swarm-decision-loop.d.ts +52 -0
  116. package/dist/services/swarm-decision-loop.d.ts.map +1 -0
  117. package/dist/services/swarm-event-triage.d.ts +49 -0
  118. package/dist/services/swarm-event-triage.d.ts.map +1 -0
  119. package/dist/services/swarm-history.d.ts +27 -0
  120. package/dist/services/swarm-history.d.ts.map +1 -0
  121. package/dist/services/swarm-idle-watchdog.d.ts +22 -0
  122. package/dist/services/swarm-idle-watchdog.d.ts.map +1 -0
  123. package/dist/services/task-acceptance.d.ts +8 -0
  124. package/dist/services/task-acceptance.d.ts.map +1 -0
  125. package/dist/services/task-agent-auth.d.ts +69 -0
  126. package/dist/services/task-agent-auth.d.ts.map +1 -0
  127. package/dist/services/task-agent-frameworks.d.ts +90 -0
  128. package/dist/services/task-agent-frameworks.d.ts.map +1 -0
  129. package/dist/services/task-kind.d.ts +3 -0
  130. package/dist/services/task-kind.d.ts.map +1 -0
  131. package/dist/services/task-policy.d.ts +17 -0
  132. package/dist/services/task-policy.d.ts.map +1 -0
  133. package/dist/services/task-registry.d.ts +550 -0
  134. package/dist/services/task-registry.d.ts.map +1 -0
  135. package/dist/services/task-share.d.ts +18 -0
  136. package/dist/services/task-share.d.ts.map +1 -0
  137. package/dist/services/task-validation.d.ts +69 -0
  138. package/dist/services/task-validation.d.ts.map +1 -0
  139. package/dist/services/task-verifier-runner.d.ts +5 -0
  140. package/dist/services/task-verifier-runner.d.ts.map +1 -0
  141. package/dist/services/trajectory-context.d.ts +73 -0
  142. package/dist/services/trajectory-context.d.ts.map +1 -0
  143. package/dist/services/trajectory-feedback.d.ts +53 -0
  144. package/dist/services/trajectory-feedback.d.ts.map +1 -0
  145. package/dist/services/workspace-git-ops.d.ts +28 -0
  146. package/dist/services/workspace-git-ops.d.ts.map +1 -0
  147. package/dist/services/workspace-github.d.ts +60 -0
  148. package/dist/services/workspace-github.d.ts.map +1 -0
  149. package/dist/services/workspace-lifecycle.d.ts +18 -0
  150. package/dist/services/workspace-lifecycle.d.ts.map +1 -0
  151. package/dist/services/workspace-service.d.ts +121 -0
  152. package/dist/services/workspace-service.d.ts.map +1 -0
  153. package/dist/services/workspace-types.d.ts +81 -0
  154. package/dist/services/workspace-types.d.ts.map +1 -0
  155. package/package.json +28 -43
  156. package/scripts/ensure-node-pty.mjs +100 -0
  157. package/dist/src/actions/messaging.d.ts +0 -24
  158. package/dist/src/actions/messaging.d.ts.map +0 -1
  159. package/dist/src/actions/subagent-management.d.ts +0 -7
  160. package/dist/src/actions/subagent-management.d.ts.map +0 -1
  161. package/dist/src/actions/task-management.d.ts +0 -9
  162. package/dist/src/actions/task-management.d.ts.map +0 -1
  163. package/dist/src/config.d.ts +0 -4
  164. package/dist/src/config.d.ts.map +0 -1
  165. package/dist/src/providers/orchestrator-config.d.ts +0 -80
  166. package/dist/src/providers/orchestrator-config.d.ts.map +0 -1
  167. package/dist/src/providers/task-context.d.ts +0 -3
  168. package/dist/src/providers/task-context.d.ts.map +0 -1
  169. package/dist/src/services/agent-orchestrator-service.d.ts +0 -59
  170. package/dist/src/services/agent-orchestrator-service.d.ts.map +0 -1
  171. package/dist/src/services/messaging-service.d.ts +0 -111
  172. package/dist/src/services/messaging-service.d.ts.map +0 -1
  173. package/dist/src/services/sandbox-service.d.ts +0 -103
  174. package/dist/src/services/sandbox-service.d.ts.map +0 -1
  175. package/dist/src/services/subagent-service.d.ts +0 -110
  176. package/dist/src/services/subagent-service.d.ts.map +0 -1
  177. package/dist/src/types/index.d.ts +0 -12
  178. package/dist/src/types/index.d.ts.map +0 -1
  179. package/dist/src/types/messaging.d.ts +0 -202
  180. package/dist/src/types/messaging.d.ts.map +0 -1
  181. package/dist/src/types/sandbox.d.ts +0 -228
  182. package/dist/src/types/sandbox.d.ts.map +0 -1
  183. package/dist/src/types/subagent.d.ts +0 -224
  184. package/dist/src/types/subagent.d.ts.map +0 -1
  185. package/dist/src/types.d.ts +0 -113
  186. package/dist/src/types.d.ts.map +0 -1
  187. package/dist/src/utils/index.d.ts +0 -7
  188. package/dist/src/utils/index.d.ts.map +0 -1
  189. package/dist/src/utils/session.d.ts +0 -106
  190. package/dist/src/utils/session.d.ts.map +0 -1
@@ -0,0 +1,100 @@
1
+ #!/usr/bin/env node
2
+ import { execSync } from "node:child_process";
3
+ /**
4
+ * Ensures node-pty's native addon is available and spawn-helper is executable.
5
+ *
6
+ * node-pty >=1.0 ships prebuilt binaries under `prebuilds/<platform>-<arch>/`.
7
+ * `bun install` extracts tarballs but can strip execute permissions from the
8
+ * `spawn-helper` Mach-O executable, causing `posix_spawnp failed` at runtime.
9
+ *
10
+ * This script:
11
+ * 1. Looks for prebuilt binaries first (node-pty >=1.0).
12
+ * 2. Falls back to checking for a node-gyp compiled binary (older versions).
13
+ * 3. Ensures `spawn-helper` has execute permissions on Unix platforms.
14
+ */
15
+ import { chmodSync, existsSync, readdirSync } from "node:fs";
16
+ import { dirname, join, resolve } from "node:path";
17
+ import { fileURLToPath } from "node:url";
18
+
19
+ const __dirname = dirname(fileURLToPath(import.meta.url));
20
+ const root = resolve(__dirname, "..");
21
+
22
+ // Check both direct and nested (inside pty-manager) locations
23
+ const candidates = [
24
+ resolve(root, "node_modules", "node-pty"),
25
+ resolve(root, "node_modules", "pty-manager", "node_modules", "node-pty"),
26
+ ];
27
+
28
+ /** Ensure all spawn-helper binaries under prebuilds/ are executable. */
29
+ function fixSpawnHelperPermissions(ptyDir) {
30
+ const prebuildsDir = resolve(ptyDir, "prebuilds");
31
+ if (!existsSync(prebuildsDir)) return;
32
+
33
+ let fixed = 0;
34
+ for (const platform of readdirSync(prebuildsDir)) {
35
+ const helper = join(prebuildsDir, platform, "spawn-helper");
36
+ if (existsSync(helper)) {
37
+ try {
38
+ chmodSync(helper, 0o755);
39
+ fixed++;
40
+ } catch {
41
+ // Ignore permission errors (e.g. read-only filesystem)
42
+ }
43
+ }
44
+ }
45
+ if (fixed > 0) {
46
+ console.log(
47
+ `[ensure-node-pty] Fixed spawn-helper permissions (${fixed} platform(s)) at ${ptyDir}`,
48
+ );
49
+ }
50
+ }
51
+
52
+ for (const ptyDir of candidates) {
53
+ if (!existsSync(ptyDir)) continue;
54
+
55
+ // node-pty >=1.0: prebuilds
56
+ const arch = process.arch;
57
+ const platform = process.platform;
58
+ const prebuildBinary = resolve(
59
+ ptyDir,
60
+ "prebuilds",
61
+ `${platform}-${arch}`,
62
+ "pty.node",
63
+ );
64
+
65
+ if (existsSync(prebuildBinary)) {
66
+ console.log(
67
+ `[ensure-node-pty] Prebuild binary found at ${ptyDir} (${platform}-${arch})`,
68
+ );
69
+ fixSpawnHelperPermissions(ptyDir);
70
+ continue;
71
+ }
72
+
73
+ // Older node-pty: node-gyp compiled binary
74
+ const gypBinary = resolve(ptyDir, "build", "Release", "pty.node");
75
+ if (existsSync(gypBinary)) {
76
+ console.log(`[ensure-node-pty] Native addon already built at ${ptyDir}`);
77
+ fixSpawnHelperPermissions(ptyDir);
78
+ continue;
79
+ }
80
+
81
+ // No binary found — try node-gyp rebuild
82
+ console.log(`[ensure-node-pty] Building native addon at ${ptyDir}...`);
83
+ try {
84
+ execSync("node-gyp rebuild", {
85
+ cwd: ptyDir,
86
+ stdio: "inherit",
87
+ timeout: 120_000,
88
+ });
89
+ console.log("[ensure-node-pty] Build complete.");
90
+ } catch (err) {
91
+ console.error(
92
+ "[ensure-node-pty] Failed to build node-pty native addon.",
93
+ "PTY-based coding agents will not work.",
94
+ err.message,
95
+ );
96
+ }
97
+
98
+ // Fix permissions even after rebuild
99
+ fixSpawnHelperPermissions(ptyDir);
100
+ }
@@ -1,24 +0,0 @@
1
- import type { Action } from "@elizaos/core";
2
- /**
3
- * SEND_CROSS_PLATFORM_MESSAGE action allows agents to send messages
4
- * to any supported platform (Discord, Telegram, Slack, etc.).
5
- */
6
- export declare const sendCrossPlatformMessageAction: Action;
7
- /**
8
- * SEND_TO_DELIVERY_CONTEXT action sends a message using a delivery context
9
- * (typically from the subagent system).
10
- */
11
- export declare const sendToDeliveryContextAction: Action;
12
- /**
13
- * SEND_TO_ROOM action sends a message to an Eliza room.
14
- */
15
- export declare const sendToRoomAction: Action;
16
- /**
17
- * SEND_TO_SESSION action sends a message to a session by its key.
18
- */
19
- export declare const sendToSessionMessageAction: Action;
20
- /**
21
- * LIST_MESSAGING_CHANNELS action lists available messaging channels.
22
- */
23
- export declare const listMessagingChannelsAction: Action;
24
- //# sourceMappingURL=messaging.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../../src/actions/messaging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAWP,MAAM,eAAe,CAAC;AAsDvB;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,MAyK5C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAsHzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MA8G9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,MA8GxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAqEzC,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { Action } from "@elizaos/core";
2
- export declare const spawnSubagentAction: Action;
3
- export declare const sendToSessionAction: Action;
4
- export declare const listSubagentsAction: Action;
5
- export declare const cancelSubagentAction: Action;
6
- export declare const getSubagentStatusAction: Action;
7
- //# sourceMappingURL=subagent-management.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subagent-management.d.ts","sourceRoot":"","sources":["../../../src/actions/subagent-management.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAQP,MAAM,eAAe,CAAC;AA6BvB,eAAO,MAAM,mBAAmB,EAAE,MAyFjC,CAAC;AAMF,eAAO,MAAM,mBAAmB,EAAE,MAiGjC,CAAC;AAMF,eAAO,MAAM,mBAAmB,EAAE,MA0DjC,CAAC;AAMF,eAAO,MAAM,oBAAoB,EAAE,MAgDlC,CAAC;AAMF,eAAO,MAAM,uBAAuB,EAAE,MAkErC,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { Action } from "@elizaos/core";
2
- export declare const createTaskAction: Action;
3
- export declare const listTasksAction: Action;
4
- export declare const switchTaskAction: Action;
5
- export declare const searchTasksAction: Action;
6
- export declare const pauseTaskAction: Action;
7
- export declare const resumeTaskAction: Action;
8
- export declare const cancelTaskAction: Action;
9
- //# sourceMappingURL=task-management.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-management.d.ts","sourceRoot":"","sources":["../../../src/actions/task-management.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAOP,MAAM,eAAe,CAAC;AA4BvB,eAAO,MAAM,gBAAgB,EAAE,MAmE9B,CAAC;AAMF,eAAO,MAAM,eAAe,EAAE,MAwC7B,CAAC;AAMF,eAAO,MAAM,gBAAgB,EAAE,MA4C9B,CAAC;AAMF,eAAO,MAAM,iBAAiB,EAAE,MA2C/B,CAAC;AAMF,eAAO,MAAM,eAAe,EAAE,MAkC7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MA2C9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAoC9B,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { AgentOrchestratorPluginOptions } from "./types.js";
2
- export declare function configureAgentOrchestratorPlugin(options: AgentOrchestratorPluginOptions): void;
3
- export declare function getConfiguredAgentOrchestratorOptions(): AgentOrchestratorPluginOptions | null;
4
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAIjE,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,8BAA8B,GAAG,IAAI,CAE9F;AAED,wBAAgB,qCAAqC,IAAI,8BAA8B,GAAG,IAAI,CAE7F"}
@@ -1,80 +0,0 @@
1
- import type { IAgentRuntime, Provider } from "@elizaos/core";
2
- import type { SandboxConfig } from "../types/sandbox.js";
3
- import type { SubagentConfig } from "../types/subagent.js";
4
- /**
5
- * Configuration schema for the agent orchestrator plugin.
6
- *
7
- * This configuration is read from Character.settings and provides
8
- * the settings for subagent spawning, sandboxed execution, and
9
- * agent-to-agent communication.
10
- *
11
- * Example Character configuration:
12
- *
13
- * ```json
14
- * {
15
- * "name": "MyAgent",
16
- * "settings": {
17
- * "subagents": {
18
- * "enabled": true,
19
- * "model": "anthropic/claude-3-sonnet",
20
- * "thinking": "medium",
21
- * "timeoutSeconds": 300,
22
- * "allowAgents": ["*"],
23
- * "archiveAfterMinutes": 60
24
- * },
25
- * "agentToAgent": {
26
- * "enabled": true,
27
- * "allow": [
28
- * { "source": "*", "target": "*" }
29
- * ]
30
- * },
31
- * "sandbox": {
32
- * "mode": "non-main",
33
- * "scope": "session",
34
- * "workspaceAccess": "rw",
35
- * "workspaceRoot": "~/.eliza/sandboxes",
36
- * "docker": {
37
- * "image": "ubuntu:22.04",
38
- * "memoryLimit": "2g",
39
- * "cpuLimit": "2",
40
- * "network": "none"
41
- * },
42
- * "browser": {
43
- * "enabled": false
44
- * },
45
- * "tools": {
46
- * "allow": ["*"],
47
- * "deny": ["rm -rf /*"]
48
- * }
49
- * }
50
- * }
51
- * }
52
- * ```
53
- */
54
- export interface OrchestratorConfig {
55
- /** Subagent spawning configuration */
56
- subagents: SubagentConfig;
57
- /** Agent-to-agent communication configuration */
58
- agentToAgent: {
59
- /** Whether A2A messaging is enabled */
60
- enabled: boolean;
61
- /** Allow rules for cross-agent communication */
62
- allow: Array<{
63
- /** Source agent pattern (* = any) */
64
- source: string;
65
- /** Target agent pattern (* = any) */
66
- target: string;
67
- }>;
68
- };
69
- /** Sandbox execution configuration */
70
- sandbox: Partial<SandboxConfig>;
71
- }
72
- /**
73
- * Reads the orchestrator configuration from Character settings.
74
- */
75
- export declare function getOrchestratorConfig(runtime: IAgentRuntime): OrchestratorConfig;
76
- /**
77
- * Provider that exposes orchestrator configuration to the agent context.
78
- */
79
- export declare const orchestratorConfigProvider: Provider;
80
- //# sourceMappingURL=orchestrator-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestrator-config.d.ts","sourceRoot":"","sources":["../../../src/providers/orchestrator-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAU,QAAQ,EAAyB,MAAM,eAAe,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,SAAS,EAAE,cAAc,CAAC;IAE1B,iDAAiD;IACjD,YAAY,EAAE;QACZ,uCAAuC;QACvC,OAAO,EAAE,OAAO,CAAC;QACjB,gDAAgD;QAChD,KAAK,EAAE,KAAK,CAAC;YACX,qCAAqC;YACrC,MAAM,EAAE,MAAM,CAAC;YACf,qCAAqC;YACrC,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC,CAAC;KACJ,CAAC;IAEF,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACjC;AAuBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,kBAAkB,CAgChF;AA6CD;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAWxC,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Provider } from "@elizaos/core";
2
- export declare const taskContextProvider: Provider;
3
- //# sourceMappingURL=task-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-context.d.ts","sourceRoot":"","sources":["../../../src/providers/task-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,QAAQ,EAAyB,MAAM,eAAe,CAAC;AA0B5F,eAAO,MAAM,mBAAmB,EAAE,QAyCjC,CAAC"}
@@ -1,59 +0,0 @@
1
- import { type IAgentRuntime, Service, type UUID } from "@elizaos/core";
2
- import type { AgentProviderId, OrchestratedTask, TaskEvent, TaskEventType, TaskResult, TaskStatus, TaskStep, TaskUserStatus } from "../types.js";
3
- export declare class AgentOrchestratorService extends Service {
4
- static serviceType: string;
5
- capabilityDescription: string;
6
- private currentTaskId;
7
- private readonly emitter;
8
- private readonly controlStates;
9
- private readonly executions;
10
- static start(runtime: IAgentRuntime): Promise<Service>;
11
- private getOptions;
12
- private getActiveProviderId;
13
- private getProviderById;
14
- getCurrentTaskId(): string | null;
15
- setCurrentTask(taskId: string | null): void;
16
- getCurrentTask(): Promise<OrchestratedTask | null>;
17
- createTask(name: string, description: string, roomId?: UUID, providerId?: AgentProviderId): Promise<OrchestratedTask>;
18
- private resolveWorldId;
19
- getTask(taskId: string): Promise<OrchestratedTask | null>;
20
- getTasks(): Promise<OrchestratedTask[]>;
21
- getRecentTasks(limit?: number): Promise<OrchestratedTask[]>;
22
- getTasksByStatus(status: TaskStatus): Promise<OrchestratedTask[]>;
23
- searchTasks(query: string): Promise<OrchestratedTask[]>;
24
- updateTaskStatus(taskId: string, status: TaskStatus): Promise<void>;
25
- updateTaskProgress(taskId: string, progress: number): Promise<void>;
26
- renameTask(taskId: string, name: string): Promise<void>;
27
- appendOutput(taskId: string, output: string): Promise<void>;
28
- addStep(taskId: string, description: string): Promise<TaskStep>;
29
- updateStep(taskId: string, stepId: string, status: TaskStatus, output?: string): Promise<void>;
30
- setTaskResult(taskId: string, result: TaskResult): Promise<void>;
31
- setTaskError(taskId: string, error: string): Promise<void>;
32
- setUserStatus(taskId: string, userStatus: TaskUserStatus): Promise<void>;
33
- setTaskSubAgentType(taskId: string, nextProviderId: string): Promise<void>;
34
- pauseTask(taskId: string): Promise<void>;
35
- resumeTask(taskId: string): Promise<void>;
36
- cancelTask(taskId: string): Promise<void>;
37
- deleteTask(taskId: string): Promise<void>;
38
- isTaskCancelled(taskId: string): boolean;
39
- isTaskPaused(taskId: string): boolean;
40
- private setControl;
41
- private clearControl;
42
- startTaskExecution(taskId: string): Promise<void>;
43
- /**
44
- * Compatibility: `examples/code` expects to pause tasks that were left "running"
45
- * after a restart (fresh process).
46
- */
47
- detectAndPauseInterruptedTasks(): Promise<OrchestratedTask[]>;
48
- /**
49
- * Compatibility alias for `examples/code` naming.
50
- */
51
- createCodeTask(name: string, description: string, roomId?: UUID, subAgentType?: string): Promise<OrchestratedTask>;
52
- private runTaskExecution;
53
- on(event: TaskEventType | "task", handler: (e: TaskEvent) => void): void;
54
- off(event: TaskEventType | "task", handler: (e: TaskEvent) => void): void;
55
- private emit;
56
- stop(): Promise<void>;
57
- getTaskContext(): Promise<string>;
58
- }
59
- //# sourceMappingURL=agent-orchestrator-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-orchestrator-service.d.ts","sourceRoot":"","sources":["../../../src/services/agent-orchestrator-service.ts"],"names":[],"mappings":"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"}
@@ -1,111 +0,0 @@
1
- import { type IAgentRuntime, Service, type UUID } from "@elizaos/core";
2
- import type { MessageContent, MessagingAdapter, MessagingChannel, MessagingEventPayload, MessagingEventType, SendMessageParams, SendMessageResult } from "../types/messaging.js";
3
- import type { DeliveryContext } from "../types/subagent.js";
4
- type InternalEventType = "messaging" | MessagingEventType;
5
- /**
6
- * MessagingService provides a unified interface for sending messages
7
- * across different platforms (Discord, Telegram, Slack, etc.).
8
- *
9
- * It works by delegating to platform-specific services registered
10
- * in the runtime, providing a consistent API for the orchestrator.
11
- */
12
- export declare class MessagingService extends Service {
13
- static serviceType: string;
14
- capabilityDescription: string;
15
- private readonly emitter;
16
- private readonly adapters;
17
- private readonly pendingDeliveries;
18
- private initialized;
19
- static start(runtime: IAgentRuntime): Promise<Service>;
20
- initialize(): Promise<void>;
21
- /**
22
- * Registers built-in adapters for known platform services.
23
- *
24
- * Note: Service names are lowercase as defined in each plugin:
25
- * - Discord: "DISCORD" (uppercase, from plugin-discord)
26
- * - Telegram: "TELEGRAM" (uppercase, from plugin-telegram)
27
- * - Slack: "slack" (lowercase, from plugin-slack)
28
- * - WhatsApp: "whatsapp" (lowercase, from plugin-whatsapp)
29
- * - Twitch: "twitch" (lowercase, from plugin-twitch)
30
- */
31
- private registerBuiltInAdapters;
32
- /**
33
- * Registers a custom messaging adapter.
34
- */
35
- registerAdapter(adapter: MessagingAdapter): void;
36
- /**
37
- * Gets a registered adapter by channel.
38
- */
39
- getAdapter(channel: MessagingChannel): MessagingAdapter | undefined;
40
- /**
41
- * Lists available messaging channels.
42
- */
43
- getAvailableChannels(): MessagingChannel[];
44
- /**
45
- * Sends a message to a target.
46
- */
47
- send(params: SendMessageParams): Promise<SendMessageResult>;
48
- /**
49
- * Sends a message using delivery context from subagent system.
50
- */
51
- sendToDeliveryContext(deliveryContext: DeliveryContext, content: MessageContent, options?: {
52
- idempotencyKey?: string;
53
- timeoutMs?: number;
54
- }): Promise<SendMessageResult>;
55
- /**
56
- * Sends a message to a room based on its metadata.
57
- */
58
- sendToRoom(roomId: UUID, content: MessageContent, options?: {
59
- idempotencyKey?: string;
60
- timeoutMs?: number;
61
- }): Promise<SendMessageResult>;
62
- /**
63
- * Sends a message to a session by its key.
64
- */
65
- sendToSession(sessionKey: string, content: MessageContent, options?: {
66
- idempotencyKey?: string;
67
- timeoutMs?: number;
68
- }): Promise<SendMessageResult>;
69
- /**
70
- * Sends via Discord.
71
- */
72
- private sendViaDiscord;
73
- /**
74
- * Sends via Telegram.
75
- */
76
- private sendViaTelegram;
77
- /**
78
- * Sends via Slack.
79
- *
80
- * Uses SlackService.sendMessage(channelId, text, options) which returns { ts, channelId }.
81
- */
82
- private sendViaSlack;
83
- /**
84
- * Sends via WhatsApp.
85
- *
86
- * Uses WhatsAppService.sendText(to, text) which returns WhatsAppMessageResponse.
87
- * The response contains { messages: [{ id: string }], messaging_product: "whatsapp" }.
88
- */
89
- private sendViaWhatsApp;
90
- /**
91
- * Sends via Twitch.
92
- *
93
- * Uses TwitchService.sendMessage(text, options) where options.channel specifies the channel.
94
- * Returns TwitchSendResult { success: boolean; messageId?: string }.
95
- */
96
- private sendViaTwitch;
97
- /**
98
- * Sends via internal Eliza events (agent-to-agent).
99
- */
100
- private sendViaInternal;
101
- /**
102
- * Normalizes a channel string to a known channel type.
103
- */
104
- private normalizeChannel;
105
- on(event: InternalEventType, handler: (payload: MessagingEventPayload) => void): void;
106
- off(event: InternalEventType, handler: (payload: MessagingEventPayload) => void): void;
107
- private emitMessagingEvent;
108
- stop(): Promise<void>;
109
- }
110
- export {};
111
- //# sourceMappingURL=messaging-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messaging-service.d.ts","sourceRoot":"","sources":["../../../src/services/messaging-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,aAAa,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,KAAK,EAEV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAElB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,KAAK,iBAAiB,GAAG,WAAW,GAAG,kBAAkB,CAAC;AAE1D;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,OAAO;IAC3C,MAAM,CAAC,WAAW,SAAe;IACjC,qBAAqB,SAC8D;IAEnF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiD;IAC1E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAG9B;IACJ,OAAO,CAAC,WAAW,CAAS;WAEf,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAMtD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IA2D/B;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAIhD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,SAAS;IAInE;;OAEG;IACH,oBAAoB,IAAI,gBAAgB,EAAE;IAc1C;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsIjE;;OAEG;IACG,qBAAqB,CACzB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACxD,OAAO,CAAC,iBAAiB,CAAC;IA0B7B;;OAEG;IACG,UAAU,CACd,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACxD,OAAO,CAAC,iBAAiB,CAAC;IAuC7B;;OAEG;IACG,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACxD,OAAO,CAAC,iBAAiB,CAAC;IAU7B;;OAEG;YACW,cAAc;IAqD5B;;OAEG;YACW,eAAe;IAsD7B;;;;OAIG;YACW,YAAY;IA2C1B;;;;;OAKG;YACW,eAAe;IAsC7B;;;;;OAKG;YACW,aAAa;IA0C3B;;OAEG;YACW,eAAe;IAmD7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoCxB,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,GAAG,IAAI;IAIrF,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,GAAG,IAAI;IAItF,OAAO,CAAC,kBAAkB;IAKpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAI5B"}
@@ -1,103 +0,0 @@
1
- import { type IAgentRuntime, Service, type UUID } from "@elizaos/core";
2
- import type { SandboxBrowserContext, SandboxConfig, SandboxContext, SandboxEventPayload, SandboxEventType, SandboxExecuteParams, SandboxExecutionResult, SandboxToolPolicy } from "../types/sandbox.js";
3
- type InternalEventType = "sandbox" | SandboxEventType;
4
- /**
5
- * SandboxService manages isolated execution environments for agent tools.
6
- *
7
- * This replaces Otto's sandbox system with a native Eliza service
8
- * that uses Docker containers for isolation.
9
- */
10
- export declare class SandboxService extends Service {
11
- static serviceType: string;
12
- capabilityDescription: string;
13
- private readonly emitter;
14
- private readonly contexts;
15
- private readonly activeContainers;
16
- private readonly containerLocks;
17
- private sweeper;
18
- private initialized;
19
- static start(runtime: IAgentRuntime): Promise<Service>;
20
- initialize(): Promise<void>;
21
- /**
22
- * Gets the sandbox configuration from character settings.
23
- */
24
- getConfig(): SandboxConfig;
25
- /**
26
- * Checks if sandboxing should be enabled for a session.
27
- */
28
- shouldSandbox(sessionKey: string): boolean;
29
- /**
30
- * Checks if a tool is allowed in the sandbox.
31
- */
32
- isToolAllowed(toolName: string, policy?: SandboxToolPolicy): boolean;
33
- /**
34
- * Gets or creates a sandbox context for a session.
35
- */
36
- getSandboxContext(sessionKey: string, options?: {
37
- workspaceDir?: string;
38
- roomId?: UUID;
39
- }): Promise<SandboxContext | null>;
40
- /**
41
- * Resolves the scope key for a session.
42
- */
43
- private resolveScopeKey;
44
- /**
45
- * Destroys a sandbox context and its resources.
46
- */
47
- destroySandbox(sessionKey: string): Promise<void>;
48
- /**
49
- * Executes a command in a sandbox container.
50
- */
51
- execute(sessionKey: string, params: SandboxExecuteParams): Promise<SandboxExecutionResult>;
52
- /**
53
- * Executes a command locally (no sandbox).
54
- *
55
- * IMPORTANT: This method uses shell: true for user-provided commands
56
- * but should use executeDockerCommand for Docker operations to avoid injection.
57
- */
58
- private executeLocal;
59
- /**
60
- * Executes a Docker command safely without shell interpolation.
61
- * Uses spawn directly with args array to prevent command injection.
62
- */
63
- private executeDockerCommand;
64
- /**
65
- * Executes a command inside a Docker container.
66
- *
67
- * Note: The command is intentionally passed through `sh -c` inside the container
68
- * because sandbox execution is designed to run arbitrary user/agent commands.
69
- * The security boundary is the container itself, not command sanitization.
70
- */
71
- private executeInContainer;
72
- /**
73
- * Ensures a container exists for the sandbox.
74
- * Uses executeDockerCommand to prevent shell injection.
75
- * Uses locking to prevent race conditions when multiple calls try to create the same container.
76
- */
77
- private ensureContainer;
78
- /**
79
- * Internal implementation of ensureContainer, called under lock.
80
- */
81
- private ensureContainerInternal;
82
- /**
83
- * Stops a container.
84
- * Uses executeDockerCommand to prevent shell injection.
85
- */
86
- private stopContainer;
87
- /**
88
- * Starts a sandboxed browser for a session.
89
- */
90
- startBrowser(sessionKey: string): Promise<SandboxBrowserContext | null>;
91
- /**
92
- * Stops a sandboxed browser.
93
- */
94
- stopBrowser(sessionKey: string): Promise<void>;
95
- private startSweeper;
96
- private sweepIdleSandboxes;
97
- on(event: InternalEventType, handler: (payload: SandboxEventPayload) => void): void;
98
- off(event: InternalEventType, handler: (payload: SandboxEventPayload) => void): void;
99
- private emitSandboxEvent;
100
- stop(): Promise<void>;
101
- }
102
- export {};
103
- //# sourceMappingURL=sandbox-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sandbox-service.d.ts","sourceRoot":"","sources":["../../../src/services/sandbox-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,aAAa,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,KAAK,EAEV,qBAAqB,EACrB,aAAa,EACb,cAAc,EAEd,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EAItB,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAQ7B,KAAK,iBAAiB,GAAG,SAAS,GAAG,gBAAgB,CAAC;AA2CtD;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,OAAO;IACzC,MAAM,CAAC,WAAW,SAAa;IAC/B,qBAAqB,SAAwE;IAE7F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoC;IACnE,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,WAAW,CAAS;WAEf,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAMtD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC;;OAEG;IACH,SAAS,IAAI,aAAa;IAgB1B;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IA2B1C;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO;IAwCpE;;OAEG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,IAAI,CAAA;KAAE,GACjD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA+DjC;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BvD;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAsDhG;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IA8DpB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA2D5B;;;;;;OAMG;YACW,kBAAkB;IA0FhC;;;;OAIG;YACW,eAAe;IAuB7B;;OAEG;YACW,uBAAuB;IAwErC;;;OAGG;YACW,aAAa;IAU3B;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAkE7E;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBpD,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,kBAAkB;IA4B1B,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,GAAG,IAAI;IAInF,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,GAAG,IAAI;IAIpF,OAAO,CAAC,gBAAgB;IAKlB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAa5B"}
@@ -1,110 +0,0 @@
1
- import { type IAgentRuntime, Service, type UUID } from "@elizaos/core";
2
- import type { AgentToAgentPolicy, DeliveryContext, SendToAgentParams, SendToAgentResult, SpawnSubagentParams, SpawnSubagentResult, SubagentConfig, SubagentEventPayload, SubagentEventType, SubagentRunRecord } from "../types/subagent.js";
3
- type InternalEventType = "task" | SubagentEventType;
4
- /**
5
- * SubagentService manages subagent lifecycles within the Eliza framework.
6
- *
7
- * This replaces Otto's gateway-based subagent system with native Eliza
8
- * events and services. Subagents are represented as rooms with special metadata.
9
- */
10
- export declare class SubagentService extends Service {
11
- static serviceType: string;
12
- capabilityDescription: string;
13
- private readonly emitter;
14
- private readonly subagentRuns;
15
- private readonly activeRuns;
16
- private sweeper;
17
- private initialized;
18
- static start(runtime: IAgentRuntime): Promise<Service>;
19
- initialize(): Promise<void>;
20
- /**
21
- * Gets the subagent configuration from character settings.
22
- */
23
- getConfig(): SubagentConfig;
24
- /**
25
- * Gets the agent-to-agent communication policy.
26
- */
27
- getAgentToAgentPolicy(): AgentToAgentPolicy;
28
- /**
29
- * Spawns a new subagent to execute a task.
30
- *
31
- * Instead of calling the gateway, this creates an Eliza room with special
32
- * metadata and triggers message processing.
33
- */
34
- spawnSubagent(params: SpawnSubagentParams, requesterContext: {
35
- sessionKey?: string;
36
- roomId?: UUID;
37
- origin?: DeliveryContext;
38
- }): Promise<SpawnSubagentResult>;
39
- /**
40
- * Executes a subagent run with timeout handling.
41
- */
42
- private executeSubagentRun;
43
- /**
44
- * Waits for a subagent run to complete.
45
- */
46
- private waitForCompletion;
47
- /**
48
- * Handles subagent timeout.
49
- */
50
- private handleSubagentTimeout;
51
- /**
52
- * Handles subagent error.
53
- */
54
- private handleSubagentError;
55
- /**
56
- * Handles the RUN_ENDED event to update subagent records.
57
- */
58
- private handleRunEnded;
59
- /**
60
- * Handles the RUN_TIMEOUT event.
61
- */
62
- private handleRunTimeout;
63
- /**
64
- * Announces a subagent's result to the requester.
65
- */
66
- private announceSubagentResult;
67
- /**
68
- * Builds the system prompt for a subagent.
69
- */
70
- private buildSubagentSystemPrompt;
71
- /**
72
- * Sends a message to another agent's session.
73
- */
74
- sendToAgent(params: SendToAgentParams, requesterContext: {
75
- sessionKey?: string;
76
- roomId?: UUID;
77
- }): Promise<SendToAgentResult>;
78
- /**
79
- * Builds context for agent-to-agent communication.
80
- */
81
- private buildAgentToAgentContext;
82
- /**
83
- * Gets a subagent run record by ID.
84
- */
85
- getSubagentRun(runId: string): SubagentRunRecord | undefined;
86
- /**
87
- * Finds a subagent run by its label.
88
- *
89
- * @param label - The label to search for (case-insensitive)
90
- * @param agentId - Optional agent ID to filter by
91
- * @returns The matching run record, or undefined if not found
92
- */
93
- findSubagentRunByLabel(label: string, agentId?: string): SubagentRunRecord | undefined;
94
- /**
95
- * Lists subagent runs for a requester.
96
- */
97
- listSubagentRuns(requesterSessionKey?: string): SubagentRunRecord[];
98
- /**
99
- * Cancels a running subagent.
100
- */
101
- cancelSubagentRun(runId: string): boolean;
102
- on(event: InternalEventType, handler: (payload: SubagentEventPayload) => void): void;
103
- off(event: InternalEventType, handler: (payload: SubagentEventPayload) => void): void;
104
- private emitSubagentEvent;
105
- private startSweeper;
106
- private sweepOldRuns;
107
- stop(): Promise<void>;
108
- }
109
- export {};
110
- //# sourceMappingURL=subagent-service.d.ts.map