@elizaos/plugin-agent-orchestrator 2.0.0-beta.1 → 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.
- package/CHANGELOG.md +6 -8
- package/README.md +102 -30
- package/dist/cjs/index.node.cjs +17539 -17068
- package/dist/cjs/index.node.js.map +71 -61
- package/dist/node/index.node.js +17545 -17070
- package/dist/node/index.node.js.map +71 -61
- package/dist/node/src/actions/common.d.ts +62 -4
- package/dist/node/src/actions/common.d.ts.map +1 -1
- package/dist/node/src/actions/elizaos-capability.d.ts +3 -0
- package/dist/node/src/actions/elizaos-capability.d.ts.map +1 -0
- package/dist/node/src/actions/sandbox-stub.d.ts +9 -5
- package/dist/node/src/actions/sandbox-stub.d.ts.map +1 -1
- package/dist/node/src/actions/tasks.d.ts +22 -2
- package/dist/node/src/actions/tasks.d.ts.map +1 -1
- package/dist/node/src/api/agent-routes.d.ts +1 -1
- package/dist/node/src/api/agent-routes.d.ts.map +1 -1
- package/dist/node/src/api/bridge-routes.d.ts +57 -19
- package/dist/node/src/api/bridge-routes.d.ts.map +1 -1
- package/dist/node/src/api/credential-prompt.d.ts +38 -0
- package/dist/node/src/api/credential-prompt.d.ts.map +1 -0
- package/dist/node/src/api/orchestrator-routes.d.ts +25 -0
- package/dist/node/src/api/orchestrator-routes.d.ts.map +1 -0
- package/dist/node/src/api/parent-context-routes.d.ts.map +1 -1
- package/dist/node/src/api/route-utils.d.ts +23 -7
- package/dist/node/src/api/route-utils.d.ts.map +1 -1
- package/dist/node/src/api/routes.d.ts +1 -2
- package/dist/node/src/api/routes.d.ts.map +1 -1
- package/dist/node/src/evaluators/sub-agent-completion.d.ts +3 -0
- package/dist/node/src/evaluators/sub-agent-completion.d.ts.map +1 -0
- package/dist/node/src/index.d.ts +33 -8
- package/dist/node/src/index.d.ts.map +1 -1
- package/dist/node/src/providers/action-examples.d.ts.map +1 -1
- package/dist/node/src/providers/active-sub-agents.d.ts.map +1 -1
- package/dist/node/src/providers/active-workspace-context.d.ts +2 -2
- package/dist/node/src/providers/active-workspace-context.d.ts.map +1 -1
- package/dist/node/src/providers/available-agents.d.ts.map +1 -1
- package/dist/node/src/providers/coding-session-changes.d.ts +17 -0
- package/dist/node/src/providers/coding-session-changes.d.ts.map +1 -0
- package/dist/node/src/register-routes.d.ts +21 -1
- package/dist/node/src/register-routes.d.ts.map +1 -1
- package/dist/node/src/services/acceptance-criteria.d.ts +84 -0
- package/dist/node/src/services/acceptance-criteria.d.ts.map +1 -0
- package/dist/node/src/services/acp-native-transport.d.ts +111 -0
- package/dist/node/src/services/acp-native-transport.d.ts.map +1 -0
- package/dist/node/src/services/acp-service.d.ts +169 -4
- package/dist/node/src/services/acp-service.d.ts.map +1 -1
- package/dist/node/src/services/active-session-forward.d.ts +31 -0
- package/dist/node/src/services/active-session-forward.d.ts.map +1 -0
- package/dist/node/src/services/agent-name-assignment.d.ts +50 -0
- package/dist/node/src/services/agent-name-assignment.d.ts.map +1 -0
- package/dist/node/src/services/ansi-utils.d.ts +1 -1
- package/dist/node/src/services/app-deploy-guidance.d.ts +52 -0
- package/dist/node/src/services/app-deploy-guidance.d.ts.map +1 -0
- package/dist/node/src/services/audit.d.ts +18 -0
- package/dist/node/src/services/audit.d.ts.map +1 -0
- package/dist/node/src/services/coding-account-selection.d.ts +79 -0
- package/dist/node/src/services/coding-account-selection.d.ts.map +1 -0
- package/dist/node/src/services/completion-envelope.d.ts +63 -0
- package/dist/node/src/services/completion-envelope.d.ts.map +1 -0
- package/dist/node/src/services/completion-evidence.d.ts +144 -0
- package/dist/node/src/services/completion-evidence.d.ts.map +1 -0
- package/dist/node/src/services/config-env.d.ts +11 -7
- package/dist/node/src/services/config-env.d.ts.map +1 -1
- package/dist/node/src/services/goal-contract.d.ts +25 -0
- package/dist/node/src/services/goal-contract.d.ts.map +1 -0
- package/dist/node/src/services/goal-llm-verifier.d.ts +157 -0
- package/dist/node/src/services/goal-llm-verifier.d.ts.map +1 -0
- package/dist/node/src/services/goal-prompt.d.ts +82 -0
- package/dist/node/src/services/goal-prompt.d.ts.map +1 -0
- package/dist/node/src/services/independent-verifier.d.ts +58 -0
- package/dist/node/src/services/independent-verifier.d.ts.map +1 -0
- package/dist/node/src/services/interruption-decider.d.ts +43 -0
- package/dist/node/src/services/interruption-decider.d.ts.map +1 -0
- package/dist/node/src/services/opencode-config.d.ts +21 -0
- package/dist/node/src/services/opencode-config.d.ts.map +1 -0
- package/dist/node/src/services/orchestrator-device-support-matrix.d.ts +46 -0
- package/dist/node/src/services/orchestrator-device-support-matrix.d.ts.map +1 -0
- package/dist/node/src/services/orchestrator-task-mapper.d.ts +192 -0
- package/dist/node/src/services/orchestrator-task-mapper.d.ts.map +1 -0
- package/dist/node/src/services/orchestrator-task-service.d.ts +370 -0
- package/dist/node/src/services/orchestrator-task-service.d.ts.map +1 -0
- package/dist/node/src/services/orchestrator-task-store.d.ts +156 -0
- package/dist/node/src/services/orchestrator-task-store.d.ts.map +1 -0
- package/dist/node/src/services/orchestrator-task-types.d.ts +334 -0
- package/dist/node/src/services/orchestrator-task-types.d.ts.map +1 -0
- package/dist/node/src/services/parent-agent-broker.d.ts +5 -3
- package/dist/node/src/services/parent-agent-broker.d.ts.map +1 -1
- package/dist/node/src/services/parent-agent-dispatch.d.ts +62 -0
- package/dist/node/src/services/parent-agent-dispatch.d.ts.map +1 -0
- package/dist/node/src/services/screenshot-delivery.d.ts +38 -0
- package/dist/node/src/services/screenshot-delivery.d.ts.map +1 -0
- package/dist/node/src/services/session-event-queue.d.ts +1 -8
- package/dist/node/src/services/session-event-queue.d.ts.map +1 -1
- package/dist/node/src/services/session-store.d.ts +2 -1
- package/dist/node/src/services/session-store.d.ts.map +1 -1
- package/dist/node/src/services/skill-lifeops-context-broker.d.ts +1 -1
- package/dist/node/src/services/skill-lifeops-context-broker.d.ts.map +1 -1
- package/dist/node/src/services/skill-manifest.d.ts +1 -1
- package/dist/node/src/services/skill-recommender.d.ts +2 -0
- package/dist/node/src/services/skill-recommender.d.ts.map +1 -1
- package/dist/node/src/services/smithers-task-executor.d.ts +73 -0
- package/dist/node/src/services/smithers-task-executor.d.ts.map +1 -0
- package/dist/node/src/services/smithers-task-integration.d.ts +52 -0
- package/dist/node/src/services/smithers-task-integration.d.ts.map +1 -0
- package/dist/node/src/services/smithers-task-runner.d.ts +27 -0
- package/dist/node/src/services/smithers-task-runner.d.ts.map +1 -0
- package/dist/node/src/services/smithers-task-types.d.ts +96 -0
- package/dist/node/src/services/smithers-task-types.d.ts.map +1 -0
- package/dist/node/src/services/spawn-trajectory.d.ts +2 -2
- package/dist/node/src/services/spawn-trajectory.d.ts.map +1 -1
- package/dist/node/src/services/spend-allowance.d.ts +143 -0
- package/dist/node/src/services/spend-allowance.d.ts.map +1 -0
- package/dist/node/src/services/ssrf-guard.d.ts +66 -0
- package/dist/node/src/services/ssrf-guard.d.ts.map +1 -0
- package/dist/node/src/services/sub-agent-identity.d.ts +27 -0
- package/dist/node/src/services/sub-agent-identity.d.ts.map +1 -0
- package/dist/node/src/services/sub-agent-inbox.d.ts +26 -0
- package/dist/node/src/services/sub-agent-inbox.d.ts.map +1 -0
- package/dist/node/src/services/sub-agent-router.d.ts +142 -2
- package/dist/node/src/services/sub-agent-router.d.ts.map +1 -1
- package/dist/node/src/services/task-agent-frameworks.d.ts +21 -8
- package/dist/node/src/services/task-agent-frameworks.d.ts.map +1 -1
- package/dist/node/src/services/task-agent-routing.d.ts +33 -0
- package/dist/node/src/services/task-agent-routing.d.ts.map +1 -0
- package/dist/node/src/services/task-supervisor-service.d.ts +65 -0
- package/dist/node/src/services/task-supervisor-service.d.ts.map +1 -0
- package/dist/node/src/services/task-watchdog-service.d.ts +50 -0
- package/dist/node/src/services/task-watchdog-service.d.ts.map +1 -0
- package/dist/node/src/services/terminal-capabilities.d.ts +48 -0
- package/dist/node/src/services/terminal-capabilities.d.ts.map +1 -0
- package/dist/node/src/services/trajectory-context.d.ts +4 -8
- package/dist/node/src/services/trajectory-context.d.ts.map +1 -1
- package/dist/node/src/services/trajectory-feedback.d.ts +1 -1
- package/dist/node/src/services/types.d.ts +38 -2
- package/dist/node/src/services/types.d.ts.map +1 -1
- package/dist/node/src/services/view-deploy-guidance.d.ts +14 -0
- package/dist/node/src/services/view-deploy-guidance.d.ts.map +1 -0
- package/dist/node/src/services/workdir-validation.d.ts +10 -0
- package/dist/node/src/services/workdir-validation.d.ts.map +1 -0
- package/dist/node/src/services/workspace-diff.d.ts +50 -0
- package/dist/node/src/services/workspace-diff.d.ts.map +1 -0
- package/dist/node/src/services/workspace-git-ops.d.ts +2 -2
- package/dist/node/src/services/workspace-git-ops.d.ts.map +1 -1
- package/dist/node/src/services/workspace-github.d.ts +7 -7
- package/dist/node/src/services/workspace-github.d.ts.map +1 -1
- package/dist/node/src/services/workspace-lifecycle.d.ts +2 -15
- package/dist/node/src/services/workspace-lifecycle.d.ts.map +1 -1
- package/dist/node/src/services/workspace-service.d.ts +6 -2
- package/dist/node/src/services/workspace-service.d.ts.map +1 -1
- package/dist/node/src/setup-routes.d.ts.map +1 -1
- package/docs/SUBAGENT_FLOW_AND_PARITY.md +138 -0
- package/docs/default-eliza-skills-and-agent-bridge-plan.md +9 -15
- package/docs/economics-goal-runbook.md +140 -0
- package/docs/multi-account-orchestration.md +76 -0
- package/docs/orchestrator-buildout-followups.md +124 -0
- package/docs/orchestrator-dashboard-task-widget-secrets-assessment.md +174 -0
- package/docs/orchestrator-dashboard-task-widget-secrets-design.md +301 -0
- package/docs/research/orchestrator-view-research-report.md +273 -0
- package/docs/sub-agent-routing.md +53 -23
- package/package.json +111 -25
- package/PROJECT.md +0 -119
- package/dist/browser/index.browser.js +0 -21051
- package/dist/browser/index.browser.js.map +0 -29
- package/dist/browser/index.d.ts +0 -2
- package/dist/node/index.browser.d.ts +0 -3
- package/dist/node/index.browser.d.ts.map +0 -1
- package/dist/node/src/actions/cancel-task.d.ts +0 -3
- package/dist/node/src/actions/cancel-task.d.ts.map +0 -1
- package/dist/node/src/actions/coding-task-handlers.d.ts +0 -69
- package/dist/node/src/actions/coding-task-handlers.d.ts.map +0 -1
- package/dist/node/src/actions/coding-task-helpers.d.ts +0 -35
- package/dist/node/src/actions/coding-task-helpers.d.ts.map +0 -1
- package/dist/node/src/actions/create-task.d.ts +0 -8
- package/dist/node/src/actions/create-task.d.ts.map +0 -1
- package/dist/node/src/actions/eval-metadata.d.ts +0 -11
- package/dist/node/src/actions/eval-metadata.d.ts.map +0 -1
- package/dist/node/src/actions/finalize-workspace.d.ts +0 -11
- package/dist/node/src/actions/finalize-workspace.d.ts.map +0 -1
- package/dist/node/src/actions/list-agents.d.ts +0 -4
- package/dist/node/src/actions/list-agents.d.ts.map +0 -1
- package/dist/node/src/actions/manage-issues.d.ts +0 -11
- package/dist/node/src/actions/manage-issues.d.ts.map +0 -1
- package/dist/node/src/actions/provision-workspace.d.ts +0 -11
- package/dist/node/src/actions/provision-workspace.d.ts.map +0 -1
- package/dist/node/src/actions/send-to-agent.d.ts +0 -4
- package/dist/node/src/actions/send-to-agent.d.ts.map +0 -1
- package/dist/node/src/actions/spawn-agent.d.ts +0 -8
- package/dist/node/src/actions/spawn-agent.d.ts.map +0 -1
- package/dist/node/src/actions/stop-agent.d.ts +0 -4
- package/dist/node/src/actions/stop-agent.d.ts.map +0 -1
- package/dist/node/src/actions/task-control.d.ts +0 -3
- package/dist/node/src/actions/task-control.d.ts.map +0 -1
- package/dist/node/src/actions/task-history.d.ts +0 -3
- package/dist/node/src/actions/task-history.d.ts.map +0 -1
- package/dist/node/src/actions/task-share.d.ts +0 -3
- package/dist/node/src/actions/task-share.d.ts.map +0 -1
- package/dist/node/src/actions/task-thread-target.d.ts +0 -11
- package/dist/node/src/actions/task-thread-target.d.ts.map +0 -1
- package/dist/node/src/api/coordinator-routes.d.ts +0 -22
- package/dist/node/src/api/coordinator-routes.d.ts.map +0 -1
- package/dist/node/src/api/hook-routes.d.ts +0 -18
- package/dist/node/src/api/hook-routes.d.ts.map +0 -1
- package/dist/node/src/routes/coding-agents-fallback-routes.d.ts +0 -19
- package/dist/node/src/routes/coding-agents-fallback-routes.d.ts.map +0 -1
- package/dist/node/src/services/acpx-subprocess.d.ts +0 -3
- package/dist/node/src/services/acpx-subprocess.d.ts.map +0 -1
- package/dist/node/src/services/agent-credentials.d.ts +0 -23
- package/dist/node/src/services/agent-credentials.d.ts.map +0 -1
- package/dist/node/src/services/agent-metrics.d.ts +0 -30
- package/dist/node/src/services/agent-metrics.d.ts.map +0 -1
- package/dist/node/src/services/agent-selection.d.ts +0 -53
- package/dist/node/src/services/agent-selection.d.ts.map +0 -1
- package/dist/node/src/services/claude-code-skill-installer.d.ts +0 -33
- package/dist/node/src/services/claude-code-skill-installer.d.ts.map +0 -1
- package/dist/node/src/services/coordinator-event-normalizer.d.ts +0 -50
- package/dist/node/src/services/coordinator-event-normalizer.d.ts.map +0 -1
- package/dist/node/src/services/custom-validator-runner.d.ts +0 -66
- package/dist/node/src/services/custom-validator-runner.d.ts.map +0 -1
- package/dist/node/src/services/debug-capture.d.ts +0 -38
- package/dist/node/src/services/debug-capture.d.ts.map +0 -1
- package/dist/node/src/services/pty-auto-response.d.ts +0 -30
- package/dist/node/src/services/pty-auto-response.d.ts.map +0 -1
- package/dist/node/src/services/pty-init.d.ts +0 -55
- package/dist/node/src/services/pty-init.d.ts.map +0 -1
- package/dist/node/src/services/pty-service.d.ts +0 -218
- package/dist/node/src/services/pty-service.d.ts.map +0 -1
- package/dist/node/src/services/pty-session-io.d.ts +0 -49
- package/dist/node/src/services/pty-session-io.d.ts.map +0 -1
- package/dist/node/src/services/pty-spawn.d.ts +0 -104
- package/dist/node/src/services/pty-spawn.d.ts.map +0 -1
- package/dist/node/src/services/pty-types.d.ts +0 -94
- package/dist/node/src/services/pty-types.d.ts.map +0 -1
- package/dist/node/src/services/skill-callback-bridge.d.ts +0 -78
- package/dist/node/src/services/skill-callback-bridge.d.ts.map +0 -1
- package/dist/node/src/services/skill-essentials.d.ts +0 -16
- package/dist/node/src/services/skill-essentials.d.ts.map +0 -1
- package/dist/node/src/services/stall-classifier.d.ts +0 -69
- package/dist/node/src/services/stall-classifier.d.ts.map +0 -1
- package/dist/node/src/services/structured-proof-bridge.d.ts +0 -99
- package/dist/node/src/services/structured-proof-bridge.d.ts.map +0 -1
- package/dist/node/src/services/swarm-coordinator-prompts.d.ts +0 -93
- package/dist/node/src/services/swarm-coordinator-prompts.d.ts.map +0 -1
- package/dist/node/src/services/swarm-coordinator.d.ts +0 -473
- package/dist/node/src/services/swarm-coordinator.d.ts.map +0 -1
- package/dist/node/src/services/swarm-decision-loop.d.ts +0 -69
- package/dist/node/src/services/swarm-decision-loop.d.ts.map +0 -1
- package/dist/node/src/services/swarm-event-triage.d.ts +0 -49
- package/dist/node/src/services/swarm-event-triage.d.ts.map +0 -1
- package/dist/node/src/services/swarm-history.d.ts +0 -27
- package/dist/node/src/services/swarm-history.d.ts.map +0 -1
- package/dist/node/src/services/swarm-idle-watchdog.d.ts +0 -22
- package/dist/node/src/services/swarm-idle-watchdog.d.ts.map +0 -1
- package/dist/node/src/services/task-acceptance.d.ts +0 -8
- package/dist/node/src/services/task-acceptance.d.ts.map +0 -1
- package/dist/node/src/services/task-agent-auth.d.ts +0 -69
- package/dist/node/src/services/task-agent-auth.d.ts.map +0 -1
- package/dist/node/src/services/task-kind.d.ts +0 -3
- package/dist/node/src/services/task-kind.d.ts.map +0 -1
- package/dist/node/src/services/task-registry.d.ts +0 -550
- package/dist/node/src/services/task-registry.d.ts.map +0 -1
- package/dist/node/src/services/task-share.d.ts +0 -18
- package/dist/node/src/services/task-share.d.ts.map +0 -1
- package/dist/node/src/services/task-validation.d.ts +0 -69
- package/dist/node/src/services/task-validation.d.ts.map +0 -1
- package/dist/node/src/services/task-verifier-runner.d.ts +0 -5
- package/dist/node/src/services/task-verifier-runner.d.ts.map +0 -1
- package/dist/node/vitest.config.d.ts +0 -3
- package/dist/node/vitest.config.d.ts.map +0 -1
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared types and helpers for the PTY service layer.
|
|
3
|
-
*
|
|
4
|
-
* Extracted from pty-service.ts to keep that module lean and allow
|
|
5
|
-
* other modules (pty-spawn, pty-init, actions) to import lightweight
|
|
6
|
-
* type-only dependencies without pulling in the full PTYService class.
|
|
7
|
-
*
|
|
8
|
-
* @module services/pty-types
|
|
9
|
-
*/
|
|
10
|
-
import type { AdapterType, AgentCredentials, ApprovalPreset } from "coding-agent-adapters";
|
|
11
|
-
import type { SessionHandle } from "pty-manager";
|
|
12
|
-
export interface PTYServiceConfig {
|
|
13
|
-
/** Maximum output lines to keep per session (default: 1000) */
|
|
14
|
-
maxLogLines?: number;
|
|
15
|
-
/** Enable debug logging */
|
|
16
|
-
debug?: boolean;
|
|
17
|
-
/** Auto-register task-agent adapters (default: true) */
|
|
18
|
-
registerCodingAdapters?: boolean;
|
|
19
|
-
/** Maximum concurrent PTY sessions (default: 8) */
|
|
20
|
-
maxConcurrentSessions?: number;
|
|
21
|
-
/**
|
|
22
|
-
* Default approval preset for task agents when not specified per-spawn.
|
|
23
|
-
* Controls what tools the agent can use without asking for permission.
|
|
24
|
-
* - "readonly" — Read-only tools only
|
|
25
|
-
* - "standard" — Read + write, asks for shell/network
|
|
26
|
-
* - "permissive" — Most tools auto-approved, asks for destructive ops
|
|
27
|
-
* - "autonomous" — All tools auto-approved (yolo mode)
|
|
28
|
-
* Default: "autonomous"
|
|
29
|
-
*/
|
|
30
|
-
defaultApprovalPreset?: ApprovalPreset;
|
|
31
|
-
}
|
|
32
|
-
/** Available task-agent types */
|
|
33
|
-
export type CodingAgentType = "shell" | "pi" | "opencode" | AdapterType;
|
|
34
|
-
/** True when the user requested the Pi coding agent. */
|
|
35
|
-
export declare const isPiAgentType: (input: string | undefined | null) => boolean;
|
|
36
|
-
/** True when the user requested the OpenCode agent. */
|
|
37
|
-
export declare const isOpencodeAgentType: (input: string | undefined | null) => boolean;
|
|
38
|
-
/** Normalize user-provided agent type string to a valid CodingAgentType */
|
|
39
|
-
export declare const normalizeAgentType: (input: string) => CodingAgentType;
|
|
40
|
-
/** Build the initial shell command for Pi agent sessions. */
|
|
41
|
-
export declare const toPiCommand: (task: string | undefined) => string;
|
|
42
|
-
/**
|
|
43
|
-
* Build the initial shell command for OpenCode agent sessions.
|
|
44
|
-
*
|
|
45
|
-
* `--dangerously-skip-permissions` is a flag of the `run` subcommand
|
|
46
|
-
* (NOT the top-level opencode command), so it must come AFTER `run` —
|
|
47
|
-
* verified live with opencode 1.14.33 + an OpenAI-compatible Eliza-1 endpoint.
|
|
48
|
-
*
|
|
49
|
-
* Model + provider selection comes from the OPENCODE_CONFIG_CONTENT env
|
|
50
|
-
* var that the spawn pipeline injects — see buildOpencodeSpawnConfig in
|
|
51
|
-
* `agent-credentials.ts`.
|
|
52
|
-
*/
|
|
53
|
-
export declare const toOpencodeCommand: (task: string | undefined) => string;
|
|
54
|
-
export interface SpawnSessionOptions {
|
|
55
|
-
/** Human-readable session name */
|
|
56
|
-
name: string;
|
|
57
|
-
/** Adapter type: "shell" | "pi" | "opencode" | "claude" | "gemini" | "codex" | "aider" */
|
|
58
|
-
agentType: CodingAgentType;
|
|
59
|
-
/** Working directory for the session */
|
|
60
|
-
workdir?: string;
|
|
61
|
-
/** Initial command/task to send */
|
|
62
|
-
initialTask?: string;
|
|
63
|
-
/** Environment variables */
|
|
64
|
-
env?: Record<string, string>;
|
|
65
|
-
/** Session metadata for tracking */
|
|
66
|
-
metadata?: Record<string, unknown>;
|
|
67
|
-
/** Credentials for coding agents (API keys, tokens) */
|
|
68
|
-
credentials?: AgentCredentials;
|
|
69
|
-
/** Memory/instructions content to write to the agent's memory file before spawning */
|
|
70
|
-
memoryContent?: string;
|
|
71
|
-
/** Approval preset controlling tool permissions (readonly, standard, permissive, autonomous) */
|
|
72
|
-
approvalPreset?: ApprovalPreset;
|
|
73
|
-
/** Custom credentials for MCP servers or other integrations */
|
|
74
|
-
customCredentials?: Record<string, string>;
|
|
75
|
-
/** When true, adapter-level blocking prompts (tool permissions, file access)
|
|
76
|
-
* are emitted with autoResponded=false instead of being auto-handled.
|
|
77
|
-
* Used by the swarm coordinator to route decisions through its LLM loop. */
|
|
78
|
-
skipAdapterAutoResponse?: boolean;
|
|
79
|
-
}
|
|
80
|
-
export interface SessionInfo {
|
|
81
|
-
id: string;
|
|
82
|
-
name: string;
|
|
83
|
-
agentType: string;
|
|
84
|
-
workdir: string;
|
|
85
|
-
status: SessionHandle["status"];
|
|
86
|
-
createdAt: Date;
|
|
87
|
-
lastActivityAt: Date;
|
|
88
|
-
metadata?: Record<string, unknown>;
|
|
89
|
-
}
|
|
90
|
-
/** Known event names emitted by the PTY layer. */
|
|
91
|
-
export type SessionEventName = "ready" | "blocked" | "login_required" | "task_complete" | "tool_running" | "stopped" | "error" | "message";
|
|
92
|
-
type SessionEventCallback = (sessionId: string, event: string, data: unknown) => void;
|
|
93
|
-
export type { SessionEventCallback };
|
|
94
|
-
//# sourceMappingURL=pty-types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pty-types.d.ts","sourceRoot":"","sources":["../../../../src/services/pty-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mDAAmD;IACnD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,cAAc,CAAC;CACxC;AAED,iCAAiC;AACjC,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,WAAW,CAAC;AASxE,wDAAwD;AACxD,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,GAAG,SAAS,GAAG,IAAI,KAAG,OAGhE,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,GAAG,SAAS,GAAG,IAAI,KAC/B,OAGF,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,eAwBlD,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,MAKtD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,MAK5D,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,0FAA0F;IAC1F,SAAS,EAAE,eAAe,CAAC;IAC3B,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,uDAAuD;IACvD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gGAAgG;IAChG,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C;;iFAE6E;IAC7E,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,kDAAkD;AAClD,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,cAAc,GACd,SAAS,GACT,OAAO,GACP,SAAS,CAAC;AAEd,KAAK,oBAAoB,GAAG,CAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,KACV,IAAI,CAAC;AAEV,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skill callback bridge — child→parent USE_SKILL routing.
|
|
3
|
-
*
|
|
4
|
-
* Spawned task agents (Claude Code, Codex, Gemini CLI, etc.) cannot directly
|
|
5
|
-
* invoke parent skills. The bridge listens to PTY session output and, when
|
|
6
|
-
* the child emits a directive of the form
|
|
7
|
-
*
|
|
8
|
-
* USE_SKILL <slug> <json_args>
|
|
9
|
-
*
|
|
10
|
-
* dispatches to the parent's USE_SKILL action and pipes the result back into
|
|
11
|
-
* the same session via `ptyService.sendToSession`.
|
|
12
|
-
*
|
|
13
|
-
* Default-on per the Hermes-style project direction. Disable by setting
|
|
14
|
-
* `ELIZA_ENABLE_CHILD_SKILL_CALLBACK=0`.
|
|
15
|
-
*
|
|
16
|
-
* @module services/skill-callback-bridge
|
|
17
|
-
*/
|
|
18
|
-
import type { IAgentRuntime } from "@elizaos/core";
|
|
19
|
-
import type { PTYService } from "./pty-service.js";
|
|
20
|
-
interface SkillCallbackInvocation {
|
|
21
|
-
slug: string;
|
|
22
|
-
args: unknown;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Parse the first USE_SKILL directive in a chunk of agent output, if any.
|
|
26
|
-
* The directive must be on its own line (after optional whitespace).
|
|
27
|
-
*/
|
|
28
|
-
export declare function parseUseSkillDirective(text: string): SkillCallbackInvocation | null;
|
|
29
|
-
interface BridgeDeps {
|
|
30
|
-
runtime: IAgentRuntime;
|
|
31
|
-
ptyService: PTYService;
|
|
32
|
-
/**
|
|
33
|
-
* Optional: per-session allow-list of skill slugs. The bridge consults the
|
|
34
|
-
* registry below when dispatching a child USE_SKILL directive. A directive
|
|
35
|
-
* whose slug is not on the session's allow-list is rejected back into the
|
|
36
|
-
* child with an error message listing the slugs that were rendered into that
|
|
37
|
-
* session's SKILLS.md.
|
|
38
|
-
*
|
|
39
|
-
* If omitted (or no entry is registered for the session), the bridge falls
|
|
40
|
-
* back to permissive behavior — any enabled skill may be invoked. This
|
|
41
|
-
* preserves backwards-compatible behavior for callers that do not yet wire
|
|
42
|
-
* per-spawn manifests.
|
|
43
|
-
*/
|
|
44
|
-
sessionAllowList?: SkillSessionAllowList;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Session-scoped allow-list registry. Callers register a session's allow-list
|
|
48
|
-
* at spawn time from the generated SKILLS.md manifest. The bridge reads the
|
|
49
|
-
* entry when a USE_SKILL directive arrives.
|
|
50
|
-
*
|
|
51
|
-
* Using a plain Map instead of a WeakMap — the key is the PTY sessionId
|
|
52
|
-
* string assigned at spawn time, which we must explicitly clear on session
|
|
53
|
-
* teardown to avoid leaks.
|
|
54
|
-
*/
|
|
55
|
-
export interface SkillSessionAllowList {
|
|
56
|
-
register: (sessionId: string, slugs: readonly string[]) => void;
|
|
57
|
-
clear: (sessionId: string) => void;
|
|
58
|
-
get: (sessionId: string) => readonly string[] | undefined;
|
|
59
|
-
}
|
|
60
|
-
export declare function createSkillSessionAllowList(): SkillSessionAllowList;
|
|
61
|
-
/**
|
|
62
|
-
* Ensure the bridge is installed exactly once for this runtime+PTY pair.
|
|
63
|
-
* Safe to call from every task spawn — subsequent calls are no-ops. The
|
|
64
|
-
* session allow-list registry, when supplied, is attached on the first
|
|
65
|
-
* install and reused thereafter; callers can look up the registry they
|
|
66
|
-
* passed in to register per-session slugs.
|
|
67
|
-
*/
|
|
68
|
-
export declare function ensureSkillCallbackBridge(deps: BridgeDeps): void;
|
|
69
|
-
/**
|
|
70
|
-
* Install the child→parent USE_SKILL bridge for the given PTY service. Safe
|
|
71
|
-
* to call multiple times — duplicate listeners are idempotent because the
|
|
72
|
-
* unsubscribe handle is returned to the caller.
|
|
73
|
-
*
|
|
74
|
-
* Returns a teardown function. Call it on shutdown to remove the listener.
|
|
75
|
-
*/
|
|
76
|
-
export declare function installSkillCallbackBridge(deps: BridgeDeps): () => void;
|
|
77
|
-
export {};
|
|
78
|
-
//# sourceMappingURL=skill-callback-bridge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skill-callback-bridge.d.ts","sourceRoot":"","sources":["../../../../src/services/skill-callback-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAU,aAAa,EAAU,MAAM,eAAe,CAAC;AAKnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAqBnD,UAAU,uBAAuB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAsBD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,GACX,uBAAuB,GAAG,IAAI,CAmBhC;AAkCD,UAAU,UAAU;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;IAChE,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CAC3D;AAED,wBAAgB,2BAA2B,IAAI,qBAAqB,CAWnE;AASD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAKhE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,IAAI,CA+KvE"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auto-injected subset of `assets/claude-code-skills/eliza-runtime/SKILL.md`
|
|
3
|
-
* that ships verbatim in the workspace-lock brief for claude sub-agents.
|
|
4
|
-
*
|
|
5
|
-
* Why a separate constant (and not just a Read of SKILL.md at runtime):
|
|
6
|
-
* sub-agents on the Claude.ai consumer-tier OAuth do not have the `Skill`
|
|
7
|
-
* tool, so the skill auto-load mechanism is unavailable to them. Inlining
|
|
8
|
-
* the must-have sections into the spawn brief gives them the operating
|
|
9
|
-
* manual upfront with zero file I/O.
|
|
10
|
-
*
|
|
11
|
-
* Keep this in sync with SKILL.md: when you edit one, edit both. SKILL.md
|
|
12
|
-
* remains the canonical / extended manual (spawn-variants table, helper
|
|
13
|
-
* scripts, references). This constant is the always-injected minimum.
|
|
14
|
-
*/
|
|
15
|
-
export declare const CLAUDE_SKILL_ESSENTIALS = "Tool availability varies by Claude Code build and account tier \u2014 enumerate your actual tools (read `.claude/settings.json`'s `permissions.allow`, or use `ToolSearch` if present) before deciding you can't do a thing.\n\n# DECISION protocol\n\nThe orchestrator greps your stdout for lines starting with `DECISION:`. Use them when you make an architectural choice not covered by the brief, or when reporting a hard limitation. Examples:\n\n```\nDECISION: chose /api/v1/messages/ over /messages/ to match existing eliza-cloud route prefix.\nDECISION: cannot run shell commands \u2014 this session has Read/Grep/Glob but no Bash, Monitor, or run_shell_command. Reported what I could find statically.\n```\n\nALWAYS-on, no shell tool required \u2014 just print the line.\n\n# What you should NEVER do\n\n- Refuse a task as \"no shell available\" without first enumerating your actual tool list (settings.json + ToolSearch). Different tiers ship different shell tools \u2014 `Bash`, `Monitor`, `run_shell_command` \u2014 at least one is usually present.\n- Say \"use the `!` prefix\" or \"run this in your terminal\" \u2014 there is no terminal in your face.\n- Ask the human to clarify or provide input \u2014 there is no human in your session.\n- Push to remotes, write outside workdir, print env tokens.\n- Treat partial information as a blocker \u2014 produce the best output you can with what you have.\n\n# Bridge endpoints (parent state, read-only)\n\nWhen HTTP hooks are wired (variants `swarm` and `repo`), GET these to query parent state:\n- `http://localhost:${ELIZA_HOOK_PORT:-2138}/api/coding-agents/$PARALLAX_SESSION_ID/parent-context` \u2014 agent character, originating room, original task\n- `.../memory?q=<query>&limit=<N>` \u2014 recent messages from the originating room\n- `.../active-workspaces` \u2014 sibling sub-agents (swarm only)\n\nAuth is the path-embedded session id. Loopback-only, GET-only, read-only.\n\n# Constraints\n\n- Sealed env: only an allowlist of vars is forwarded (PATH, HOME, USER, SHELL, ANTHROPIC_MODEL, GITHUB_TOKEN, PARALLAX_SESSION_ID, ELIZA_HOOK_PORT, etc.).\n- Workspace-only writes: write only inside your workdir.\n- Don't push to git remotes \u2014 Eliza handles git push, PR creation, cross-repo coordination.\n- Don't print secrets \u2014 PTY output is captured. Reference secrets by env-var name.\n\nFor deeper context (spawn-variants table, helper scripts, references) see `~/.claude/skills/eliza-runtime/SKILL.md`.";
|
|
16
|
-
//# sourceMappingURL=skill-essentials.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,69 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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;AAG9D,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,CAoIrC;AAID,yDAAyD;AACzD,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,WAAW,EAAE,kBAAkB,CAAC;IAChC,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC1C;AAgCD;;;;;;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,CAiKrC"}
|
|
@@ -1,99 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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;AAiHtE;;;;;;;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"}
|
|
@@ -1,93 +0,0 @@
|
|
|
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 JSON action object 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
|
-
export declare function parseCoordinationResponse(llmOutput: string): CoordinationLLMResponse | null;
|
|
93
|
-
//# sourceMappingURL=swarm-coordinator-prompts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"swarm-coordinator-prompts.d.ts","sourceRoot":"","sources":["../../../../src/services/swarm-coordinator-prompts.ts"],"names":[],"mappings":"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"}
|