@elizaos/plugin-agent-orchestrator 2.0.0-alpha.4 → 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 +19824 -3408
  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 -33
  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 @@
1
+ {"version":3,"file":"skill-essentials.d.ts","sourceRoot":"","sources":["../../src/services/skill-essentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,46EAqCmF,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { ActionResult, IAgentRuntime } from "@elizaos/core";
2
+ import type { SessionInfo } from "./pty-types.js";
3
+ import type { RecommendedSkill } from "./skill-recommender.js";
4
+ export declare const LIFEOPS_CONTEXT_BROKER_SLUG = "lifeops-context";
5
+ export declare const LIFEOPS_CONTEXT_BROKER_MANIFEST_ENTRY: {
6
+ readonly slug: "lifeops-context";
7
+ readonly name: "LifeOps Context Broker";
8
+ readonly description: "Task-scoped parent broker for owner LifeOps context. Supports email, calendar, inbox/priority, contacts, scratchpad when available, and generic cross-channel search/context.";
9
+ readonly guidance: "Use only when task-relevant personal context is needed. Example: `USE_SKILL lifeops-context {\"category\":\"email\",\"query\":\"contract from Alex\",\"limit\":5}`. Categories: email, calendar, inbox, priority, contacts, scratchpad, search, context.";
10
+ };
11
+ export interface LifeOpsContextBrokerRequest {
12
+ runtime: IAgentRuntime;
13
+ sessionId: string;
14
+ session?: SessionInfo;
15
+ args: unknown;
16
+ }
17
+ export declare function runLifeOpsContextBroker(request: LifeOpsContextBrokerRequest): Promise<ActionResult>;
18
+ export declare function shouldRecommendLifeOpsContextBroker(taskText: string): boolean;
19
+ export declare function withLifeOpsContextBrokerRecommendation(taskText: string, recommendations: readonly RecommendedSkill[]): RecommendedSkill[];
20
+ //# sourceMappingURL=skill-lifeops-context-broker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-lifeops-context-broker.d.ts","sourceRoot":"","sources":["../../src/services/skill-lifeops-context-broker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,YAAY,EAGZ,aAAa,EAId,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,eAAO,MAAM,2BAA2B,oBAAoB,CAAC;AAE7D,eAAO,MAAM,qCAAqC;;;;;CAOxC,CAAC;AAuBX,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACf;AAuVD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,YAAY,CAAC,CAyHvB;AAWD,wBAAgB,mCAAmC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAc7E;AAED,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,SAAS,gBAAgB,EAAE,GAC3C,gBAAgB,EAAE,CAmBpB"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Skill manifest builder.
3
+ *
4
+ * Renders a Markdown SKILLS.md document for spawned task agents so they have
5
+ * full visibility into the skills installed in the parent runtime. The parent
6
+ * agent owns skill execution; spawned agents request skill invocation by
7
+ * calling back to the parent (see skill callback bridge in send-to-agent.ts
8
+ * when ELIZA_ENABLE_CHILD_SKILL_CALLBACK is enabled).
9
+ *
10
+ * Source of truth is the AGENT_SKILLS_SERVICE (`@elizaos/plugin-agent-skills`).
11
+ *
12
+ * @module services/skill-manifest
13
+ */
14
+ import type { IAgentRuntime } from "@elizaos/core";
15
+ export interface ManifestSkillEntry {
16
+ slug: string;
17
+ name: string;
18
+ description: string;
19
+ /** Task-scoped invocation guidance for virtual broker skills. */
20
+ guidance?: string;
21
+ }
22
+ export interface BuildSkillsManifestOptions {
23
+ /** Restrict the "All available skills" section to eligible-and-enabled skills. */
24
+ onlyEligible?: boolean;
25
+ /**
26
+ * Slugs to highlight in a dedicated "Recommended for this task" section.
27
+ * Slugs not present in the eligible/enabled set are silently dropped — the
28
+ * recommender does not guarantee installed status.
29
+ */
30
+ recommendedSlugs?: string[];
31
+ /** Additional task-scoped skills handled by the orchestrator bridge. */
32
+ virtualSkills?: ManifestSkillEntry[];
33
+ }
34
+ export interface SkillsManifestResult {
35
+ /** Markdown document suitable for writing to SKILLS.md inside a workspace. */
36
+ markdown: string;
37
+ /** Slugs that the spawned agent can actually request via USE_SKILL. */
38
+ slugs: string[];
39
+ }
40
+ /**
41
+ * Build a SKILLS.md markdown document plus the canonical slug list.
42
+ *
43
+ * The slug list is the deduplicated union of recommended + available slugs,
44
+ * so callers can persist it for trajectory annotation or programmatic checks
45
+ * without re-resolving against the service.
46
+ */
47
+ export declare function buildSkillsManifest(runtime: IAgentRuntime, opts?: BuildSkillsManifestOptions): Promise<SkillsManifestResult>;
48
+ //# sourceMappingURL=skill-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-manifest.d.ts","sourceRoot":"","sources":["../../src/services/skill-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAU,MAAM,eAAe,CAAC;AAK3D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAcD,MAAM,WAAW,0BAA0B;IACzC,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,wEAAwE;IACxE,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAuED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,EACtB,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,oBAAoB,CAAC,CAsE/B"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Skill recommender — suggests relevant skills for a task description.
3
+ *
4
+ * Two-pass strategy:
5
+ * 1. Cheap keyword/category match against installed skill metadata. Returns
6
+ * up to 10 candidate slugs sorted by overlap score.
7
+ * 2. Optional LLM scoring pass over the surviving candidates that returns a
8
+ * small JSON array of {slug, score, reason}. Skipped when any keyword
9
+ * match already scores ≥ 0.9 (no need to spend a model call) or when the
10
+ * runtime model is unavailable.
11
+ *
12
+ * The output is task-aware ranking: the orchestrator can then write the top
13
+ * N into SKILLS.md and reference them in the spawned agent's initial prompt.
14
+ *
15
+ * @module services/skill-recommender
16
+ */
17
+ import { type IAgentRuntime } from "@elizaos/core";
18
+ export interface RecommendedSkill {
19
+ slug: string;
20
+ name: string;
21
+ /** Score in [0, 1]. 0 = irrelevant, 1 = perfect fit. */
22
+ score: number;
23
+ /** Short, human-readable justification (≤ 1 line). */
24
+ reason: string;
25
+ }
26
+ export interface RecommendSkillsOptions {
27
+ /** Optional task kind classification (coding | research | planning | ops | mixed). */
28
+ taskKind?: string;
29
+ /** Free-form task description provided by the user or planner. */
30
+ taskText: string;
31
+ /** Optional repo/language context — used to bias toward language-specific skills. */
32
+ repoContext?: {
33
+ language?: string;
34
+ framework?: string;
35
+ };
36
+ /** Maximum number of recommendations to return. Defaults to 5. */
37
+ max?: number;
38
+ /**
39
+ * Force-disable the LLM scoring pass. Defaults to false; when omitted the
40
+ * recommender runs the LLM pass unless a keyword match already scores ≥ 0.9.
41
+ */
42
+ disableLlmPass?: boolean;
43
+ }
44
+ /**
45
+ * Recommend skills relevant to a task.
46
+ *
47
+ * Always returns the top `max` (default 5) candidates ranked by score.
48
+ * Returns an empty array if no skills are eligible/enabled.
49
+ */
50
+ export declare function recommendSkillsForTask(runtime: IAgentRuntime, opts: RecommendSkillsOptions): Promise<RecommendedSkill[]>;
51
+ //# sourceMappingURL=skill-recommender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-recommender.d.ts","sourceRoot":"","sources":["../../src/services/skill-recommender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,eAAe,CAAC;AAmD3E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAwMD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAoJ7B"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Stall classification subsystem — determines what a "stalled" task agent
3
+ * session is doing (finished, waiting for input, still working, or errored).
4
+ *
5
+ * Extracted as standalone functions that receive dependencies as parameters,
6
+ * making them easy to test without coupling to PTYService.
7
+ *
8
+ * @module services/stall-classifier
9
+ */
10
+ import { type IAgentRuntime } from "@elizaos/core";
11
+ import { type StallClassification } from "pty-manager";
12
+ import type { AgentMetricsTracker } from "./agent-metrics.js";
13
+ import type { DecisionHistoryEntry, TaskContextSummary } from "./swarm-coordinator-prompts.js";
14
+ /** Everything the classifier needs, passed in from PTYService. */
15
+ export interface StallClassifierContext {
16
+ sessionId: string;
17
+ recentOutput: string;
18
+ agentType: string;
19
+ buffers: Map<string, string[]>;
20
+ traceEntries: Array<string | Record<string, unknown>>;
21
+ runtime: IAgentRuntime;
22
+ manager: {
23
+ get(id: string): {
24
+ startedAt?: string | Date;
25
+ } | null | undefined;
26
+ } | null;
27
+ metricsTracker: AgentMetricsTracker;
28
+ /** Write debug snapshots to ~/.eliza/debug/ on stall (default: false) */
29
+ debugSnapshots?: boolean;
30
+ /** Most recent text input sent into the session, used to ignore echoed prompts. */
31
+ lastSentInput?: string;
32
+ log: (msg: string) => void;
33
+ }
34
+ /**
35
+ * Build the LLM system prompt used to classify stalled output.
36
+ */
37
+ export declare function buildStallClassificationPrompt(agentType: string, sessionId: string, output: string): string;
38
+ /**
39
+ * Write a debug snapshot to ~/.eliza/debug/ for offline stall analysis.
40
+ */
41
+ export declare function writeStallSnapshot(sessionId: string, agentType: string, recentOutput: string, effectiveOutput: string, buffers: Map<string, string[]>, traceEntries: Array<string | Record<string, unknown>>, log: (msg: string) => void): Promise<void>;
42
+ /**
43
+ * Main stall classification logic. Determines what a stalled session is doing
44
+ * by checking the buffer, building a prompt, and asking the LLM.
45
+ */
46
+ export declare function classifyStallOutput(ctx: StallClassifierContext): Promise<StallClassification | null>;
47
+ /** Context for the combined classify-and-decide call. */
48
+ export interface CoordinatorClassifyContext extends StallClassifierContext {
49
+ taskContext: TaskContextSummary;
50
+ decisionHistory?: DecisionHistoryEntry[];
51
+ }
52
+ /**
53
+ * Build a combined prompt that classifies the stall AND decides how to respond,
54
+ * merging stall classification with coordinator decision guidelines.
55
+ *
56
+ * Used for coordinator-managed sessions in autonomous mode to eliminate the
57
+ * redundant second LLM call in the coordinator's handleBlocked path.
58
+ */
59
+ export declare function buildCombinedClassifyDecidePrompt(agentType: string, sessionId: string, output: string, taskContext: TaskContextSummary, decisionHistory: DecisionHistoryEntry[]): string;
60
+ /**
61
+ * Combined classify-and-decide for coordinator-managed autonomous sessions.
62
+ *
63
+ * Performs classification AND coordinator-quality response decision in a single
64
+ * LLM call. The suggestedResponse is kept intact (not stripped), so pty-manager
65
+ * auto-responds and the coordinator receives autoResponded: true — skipping
66
+ * the second LLM call in handleBlocked().
67
+ */
68
+ export declare function classifyAndDecideForCoordinator(ctx: CoordinatorClassifyContext): Promise<StallClassification | null>;
69
+ //# sourceMappingURL=stall-classifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stall-classifier.d.ts","sourceRoot":"","sources":["../../src/services/stall-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAa,MAAM,eAAe,CAAC;AAC9D,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAGxC,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/B,YAAY,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE;QACP,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG;YAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,GAAG,SAAS,CAAC;KACnE,GAAG,IAAI,CAAC;IACT,cAAc,EAAE,mBAAmB,CAAC;IACpC,yEAAyE;IACzE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAiGD;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,MAAM,CAqCR;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAC9B,YAAY,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACrD,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAkJrC;AAID,yDAAyD;AACzD,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,WAAW,EAAE,kBAAkB,CAAC;IAChC,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAC/B,eAAe,EAAE,oBAAoB,EAAE,GACtC,MAAM,CAgDR;AAED;;;;;;;GAOG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,0BAA0B,GAC9B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA8KrC"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Structured proof bridge — captures `APP_CREATE_DONE` / `PLUGIN_CREATE_DONE`
3
+ * sentinels emitted by spawned task agents and persists the structured claim
4
+ * onto the owning task's session metadata so the custom validator can
5
+ * cross-check the claim against actual disk state.
6
+ *
7
+ * Sibling to `skill-callback-bridge.ts`. Unlike the skill bridge, this bridge
8
+ * never dispatches anything back into the runtime — it only records the
9
+ * proof and echoes a brief acknowledgement to the PTY so the agent knows
10
+ * the orchestrator saw it.
11
+ *
12
+ * Sentinel grammar (one per session, on its own line):
13
+ *
14
+ * APP_CREATE_DONE {"appName":"foo","files":[...],"tests":{"passed":N,"failed":0},"lint":"ok","typecheck":"ok"}
15
+ * PLUGIN_CREATE_DONE {"pluginName":"plugin-bar","files":[...],"tests":{"passed":N,"failed":0},"lint":"ok","typecheck":"ok"}
16
+ *
17
+ * @module services/structured-proof-bridge
18
+ */
19
+ import type { IAgentRuntime } from "@elizaos/core";
20
+ import type { PTYService } from "./pty-service.js";
21
+ import type { TaskRegistry } from "./task-registry.js";
22
+ export type StructuredProofKind = "APP_CREATE_DONE" | "PLUGIN_CREATE_DONE";
23
+ export type StructuredProofStatus = "ok";
24
+ export interface StructuredProofTests {
25
+ passed: number;
26
+ failed: number;
27
+ }
28
+ interface BaseStructuredProofClaim {
29
+ /** Kind of completion sentinel emitted by the child. */
30
+ kind: StructuredProofKind;
31
+ /** Relative paths the child claims to have created/modified. Required. */
32
+ files: string[];
33
+ /** Test result summary from the child verification run. */
34
+ tests: StructuredProofTests;
35
+ /** Lint status. Completion proofs only accept "ok". */
36
+ lint: StructuredProofStatus;
37
+ /** Typecheck status. Completion proofs only accept "ok". */
38
+ typecheck: StructuredProofStatus;
39
+ /** Wall-clock timestamp when this proof was recorded. */
40
+ recordedAt: number;
41
+ /** Any other JSON fields the child included. */
42
+ extra?: Record<string, unknown>;
43
+ }
44
+ export interface AppStructuredProofClaim extends BaseStructuredProofClaim {
45
+ kind: "APP_CREATE_DONE";
46
+ appName: string;
47
+ }
48
+ export interface PluginStructuredProofClaim extends BaseStructuredProofClaim {
49
+ kind: "PLUGIN_CREATE_DONE";
50
+ pluginName: string;
51
+ }
52
+ export type StructuredProofClaim = AppStructuredProofClaim | PluginStructuredProofClaim;
53
+ type ParsedStructuredProof = {
54
+ kind: "APP_CREATE_DONE";
55
+ claim: AppStructuredProofClaim;
56
+ } | {
57
+ kind: "PLUGIN_CREATE_DONE";
58
+ claim: PluginStructuredProofClaim;
59
+ };
60
+ /**
61
+ * Parse the first APP_CREATE_DONE / PLUGIN_CREATE_DONE directive in a chunk
62
+ * of agent output, if any. The directive must be on its own line (after
63
+ * optional whitespace) and the JSON must include all required fields:
64
+ * `appName`/`pluginName`, `files`, `tests`, `lint`, and `typecheck`.
65
+ * Anything missing returns a structured "invalid" result so the bridge can
66
+ * log without persisting.
67
+ */
68
+ export declare function parseStructuredProofDirective(text: string): {
69
+ ok: true;
70
+ parsed: ParsedStructuredProof;
71
+ } | {
72
+ ok: false;
73
+ reason: string;
74
+ } | null;
75
+ interface BridgeDeps {
76
+ runtime: IAgentRuntime;
77
+ ptyService: PTYService;
78
+ /** Optional override for tests / non-default registries. */
79
+ taskRegistry?: TaskRegistry;
80
+ }
81
+ /**
82
+ * Reset per-session state. Tests use this to assert idempotency cleanly.
83
+ * Production callers can call this when a session is recycled, but the
84
+ * bridge is robust either way — duplicates are just logged.
85
+ */
86
+ export declare function _resetStructuredProofBridge(): void;
87
+ /**
88
+ * Ensure the bridge is installed exactly once for this runtime+PTY pair.
89
+ * Safe to call from PTYService.start() and from every task spawn.
90
+ */
91
+ export declare function ensureStructuredProofBridge(runtime: IAgentRuntime, ptyService: PTYService): void;
92
+ /**
93
+ * Install the structured-proof bridge. Returns a teardown function. Safe to
94
+ * call multiple times — the caller is responsible for deduplication via
95
+ * `ensureStructuredProofBridge` (or by tracking the returned teardown).
96
+ */
97
+ export declare function installStructuredProofBridge(deps: BridgeDeps): () => void;
98
+ export {};
99
+ //# sourceMappingURL=structured-proof-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structured-proof-bridge.d.ts","sourceRoot":"","sources":["../../src/services/structured-proof-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAU,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQvD,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAC3E,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAEzC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,wBAAwB;IAChC,wDAAwD;IACxD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,0EAA0E;IAC1E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2DAA2D;IAC3D,KAAK,EAAE,oBAAoB,CAAC;IAC5B,uDAAuD;IACvD,IAAI,EAAE,qBAAqB,CAAC;IAC5B,4DAA4D;IAC5D,SAAS,EAAE,qBAAqB,CAAC;IACjC,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA2B,SAAQ,wBAAwB;IAC1E,IAAI,EAAE,oBAAoB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAC5B,uBAAuB,GACvB,0BAA0B,CAAC;AAE/B,KAAK,qBAAqB,GACtB;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,uBAAuB,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,KAAK,EAAE,0BAA0B,CAAA;CAAE,CAAC;AAkHtE;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,GAEV;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,GAC3C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7B,IAAI,CAyEP;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAgBD;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAQD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,UAAU,GACrB,IAAI,CAKN;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,IAAI,CAqFzE"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Prompt construction and response parsing for the Swarm Coordinator's
3
+ * LLM-driven coordination decisions.
4
+ *
5
+ * Pure functions — no side effects, easy to test.
6
+ * Pattern follows stall-classifier.ts:buildStallClassificationPrompt().
7
+ *
8
+ * @module services/swarm-coordinator-prompts
9
+ */
10
+ /** Per-session task context provided to the LLM for decision-making. */
11
+ export interface TaskContextSummary {
12
+ sessionId: string;
13
+ agentType: string;
14
+ label: string;
15
+ originalTask: string;
16
+ workdir: string;
17
+ repo?: string;
18
+ }
19
+ /** A previous coordination decision, included for context continuity. */
20
+ export interface DecisionHistoryEntry {
21
+ event: string;
22
+ promptText: string;
23
+ action: string;
24
+ response?: string;
25
+ reasoning: string;
26
+ }
27
+ /** Summary of a sibling task in the same swarm — for cross-task context. */
28
+ export interface SiblingTaskSummary {
29
+ label: string;
30
+ agentType: string;
31
+ originalTask: string;
32
+ status: string;
33
+ /** Last significant decision or action taken by this sibling. */
34
+ lastKeyDecision?: string;
35
+ /** Summary of what the sibling accomplished (populated on completion). */
36
+ completionSummary?: string;
37
+ }
38
+ /** A significant creative or architectural decision made by an agent in the swarm. */
39
+ export interface SharedDecision {
40
+ /** Which agent made this decision. */
41
+ agentLabel: string;
42
+ /** Brief description of the decision. */
43
+ summary: string;
44
+ /** When it was recorded. */
45
+ timestamp: number;
46
+ }
47
+ /** Parsed LLM response for a coordination decision. */
48
+ export interface CoordinationLLMResponse {
49
+ action: "respond" | "escalate" | "ignore" | "complete";
50
+ /** Text to send (for action=respond with plain text input). */
51
+ response?: string;
52
+ /** Whether to use sendKeysToSession instead of sendToSession. */
53
+ useKeys?: boolean;
54
+ /** Key sequence to send (for TUI interactions). e.g. ["enter"] or ["down","enter"]. */
55
+ keys?: string[];
56
+ /** LLM's reasoning for the decision. */
57
+ reasoning: string;
58
+ /** Brief summary of a significant creative/architectural decision the agent made, if any. */
59
+ keyDecision?: string;
60
+ }
61
+ /**
62
+ * Build the LLM prompt for making a coordination decision about a blocked agent.
63
+ */
64
+ export declare function buildCoordinationPrompt(taskCtx: TaskContextSummary, promptText: string, recentOutput: string, decisionHistory: DecisionHistoryEntry[], siblingTasks?: SiblingTaskSummary[], sharedDecisions?: SharedDecision[], swarmContext?: string): string;
65
+ /**
66
+ * Build the LLM prompt for checking on an idle session that hasn't
67
+ * produced any events for a while.
68
+ */
69
+ export declare function buildIdleCheckPrompt(taskCtx: TaskContextSummary, recentOutput: string, idleMinutes: number, idleCheckNumber: number, maxIdleChecks: number, decisionHistory: DecisionHistoryEntry[], siblingTasks?: SiblingTaskSummary[], sharedDecisions?: SharedDecision[], swarmContext?: string): string;
70
+ /**
71
+ * Build the LLM prompt for assessing whether a completed turn means the
72
+ * overall task is done, or if the agent needs more turns.
73
+ *
74
+ * Called when the adapter detects "task_complete" (agent finished a turn and
75
+ * returned to the idle prompt). The LLM decides whether to stop the session
76
+ * or send a follow-up instruction.
77
+ */
78
+ export declare function buildTurnCompletePrompt(taskCtx: TaskContextSummary, turnOutput: string, decisionHistory: DecisionHistoryEntry[], siblingTasks?: SiblingTaskSummary[], sharedDecisions?: SharedDecision[], swarmContext?: string): string;
79
+ /**
80
+ * Build a natural language event message describing a blocked agent, intended
81
+ * to be processed by Eliza's full ElizaOS pipeline (with conversation memory,
82
+ * personality, and actions). Unlike buildCoordinationPrompt(), this omits the
83
+ * "You are Eliza" preamble (she already IS Eliza in the pipeline) and asks
84
+ * for a fenced JSON action block at the end of her response.
85
+ */
86
+ export declare function buildBlockedEventMessage(taskCtx: TaskContextSummary, promptText: string, recentOutput: string, decisionHistory: DecisionHistoryEntry[], siblingTasks?: SiblingTaskSummary[], sharedDecisions?: SharedDecision[], swarmContext?: string): string;
87
+ /**
88
+ * Build a natural language event message describing a turn completion, intended
89
+ * to be processed by Eliza's full ElizaOS pipeline.
90
+ */
91
+ export declare function buildTurnCompleteEventMessage(taskCtx: TaskContextSummary, turnOutput: string, decisionHistory: DecisionHistoryEntry[], siblingTasks?: SiblingTaskSummary[], sharedDecisions?: SharedDecision[], swarmContext?: string): string;
92
+ /**
93
+ * Parse the LLM's coordination response from raw text output.
94
+ * Returns null if the response is invalid or unparseable.
95
+ */
96
+ export declare function parseCoordinationResponse(llmOutput: string): CoordinationLLMResponse | null;
97
+ //# sourceMappingURL=swarm-coordinator-prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swarm-coordinator-prompts.d.ts","sourceRoot":"","sources":["../../src/services/swarm-coordinator-prompts.ts"],"names":[],"mappings":"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"}