Skip to content

Comments

AgentRuntime Foundation 1/4#3

Closed
dgarson wants to merge 5 commits intomainfrom
claude/agent-runtime-foundation-jbtZF
Closed

AgentRuntime Foundation 1/4#3
dgarson wants to merge 5 commits intomainfrom
claude/agent-runtime-foundation-jbtZF

Conversation

@dgarson
Copy link
Owner

@dgarson dgarson commented Jan 31, 2026

No description provided.

dgarson and others added 5 commits January 26, 2026 18:12
Introduces the AgentRuntime foundation for supporting multiple runtime
backends (Pi Agent, Claude Agent SDK):

Core abstraction:
- agent-runtime.ts: AgentRuntime interface and AgentRuntimeRunParams type
- runtime-result-types.ts: Shared result types (AgentRunResult, AgentRunMeta)

Pi runtime wrapper:
- pi-agent-runtime.ts: Wraps runEmbeddedPiAgent to AgentRuntime interface

Runtime factory and resolution:
- main-agent-runtime-factory.ts: Runtime resolution based on config
- Supports per-agent and default runtime configuration

Unified failover:
- unified-agent-runner.ts: Runtime-outer, model-inner failover composition
- unified-runtime-adapter.ts: Cross-runtime failover with auth profile rotation

Session adapters (Pi-only):
- sessions/types.ts: Normalized session message types
- sessions/session-adapter.ts: Abstract SessionAdapter interface
- sessions/pi-session-adapter.ts: Pi-Agent SessionManager wrapper

Config types:
- AgentRuntimeKind type ("pi" | "ccsdk")
- AgentCcSdkConfig and CcSdkModelTiers for CCSDK configuration
- runtime and ccsdk fields on AgentConfig

Includes test coverage for new components.

https://claude.ai/code/session_01DC8i6Tf7a7obzpXGLb3hm9
…ce design

Remove the src/agents/sessions/ directory and its session adapter abstraction.

The session adapters were solving the wrong problem. Session reading is not
needed because:

1. Pi-Agent: The @mariozechner/pi-coding-agent library internally manages
   session persistence via SessionManager.appendMessage(). Moltbot passes
   the sessionFile path, and the library handles writing.

2. CCSDK: When implemented, the runtime wrapper will write to Moltbot's
   session format directly (translating SDK events to SessionManager calls),
   not reading from CCSDK's internal session storage.

The callbacks (onBlockReply, onToolResult, etc.) are for streaming output
to messaging channels, NOT for session persistence.

Updated agent-runtime.ts with documentation explaining the session
persistence design for both runtimes.

https://claude.ai/code/session_01DC8i6Tf7a7obzpXGLb3hm9
dgarson added a commit that referenced this pull request Feb 2, 2026
chore: more touchup finishing the work
dgarson added a commit that referenced this pull request Feb 7, 2026
…#208)

* feat: added work-queue workflow workers and a worker manager, integrate w/cron

* fix: address 12 logic flaws in workflow engine, adapter, phases, and cron types

- engine: capture phase before clobbering in catch handler (#1)
- engine: remove dead `state.plan ?? plan` fallback (#2)
- engine: mark workflow failed when all execution nodes fail (#6)
- adapter: fix retry count off-by-one (attemptNumber vs retryCount) (#3)
- adapter: clean up abort listener in sleep on timeout (#10)
- discover: fix batch/entries index mismatch when spawns fail (#4)
- execute: add cycle detection to topological sort (#5)
- review: add autoApproved flag to distinguish fallback approvals (#7)
- plan: add comment clarifying sessionKey reuse across repair attempts (#8)
- decompose: remove unused model/maxPhases/maxTasksPerPhase/maxSubtasksPerTask opts (#9)
- types: add autoApproved to ReviewIteration (#7)
- cron/state: use discriminated union for CronEvent (CronJobEvent | CronHealthEvent) (#12)
- tests: add WorkflowWorkerAdapter test suite (8 tests) (#11)

https://claude.ai/code/session_01L8kquwpmUh5zmU9S4MHgPu

---------

Co-authored-by: Claude <[email protected]>
dgarson added a commit that referenced this pull request Feb 7, 2026
…cron types (openclaw#217)

- engine: capture phase before clobbering in catch handler (#1)
- engine: remove dead `state.plan ?? plan` fallback (#2)
- engine: mark workflow failed when all execution nodes fail (#6)
- adapter: fix retry count off-by-one (attemptNumber vs retryCount) (#3)
- adapter: clean up abort listener in sleep on timeout (#10)
- discover: fix batch/entries index mismatch when spawns fail (#4)
- execute: add cycle detection to topological sort (#5)
- review: add autoApproved flag to distinguish fallback approvals (#7)
- plan: add comment clarifying sessionKey reuse across repair attempts (#8)
- decompose: remove unused model/maxPhases/maxTasksPerPhase/maxSubtasksPerTask opts (#9)
- types: add autoApproved to ReviewIteration (#7)
- cron/state: use discriminated union for CronEvent (CronJobEvent | CronHealthEvent) (#12)
- tests: add WorkflowWorkerAdapter test suite (8 tests) (#11)

https://claude.ai/code/session_01L8kquwpmUh5zmU9S4MHgPu

Co-authored-by: Claude <[email protected]>
@dgarson
Copy link
Owner Author

dgarson commented Feb 7, 2026

Superseded by completed AgentRuntime/ExecutionKernel refactor (Phases 1-9 all merged).

@dgarson dgarson closed this Feb 7, 2026
dgarson added a commit that referenced this pull request Feb 9, 2026
… calls (openclaw#260)

The gateway's exec.approvals.set and exec.approvals.node.set RPCs expect
the parameter to be named 'baseHash' but apps/web was sending 'hash'.
This caused the RPC to fail with a validation error.

Fixes parity report item #3.
dgarson added a commit that referenced this pull request Feb 9, 2026
… calls (openclaw#268)

The gateway's exec.approvals.set and exec.approvals.node.set RPCs expect
the parameter to be named 'baseHash' but apps/web was sending 'hash'.
This caused the RPC to fail with a validation error.

Fixes parity report item #3.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants