mirror of
https://github.com/joelhooks/joelclaw.git
synced 2026-09-19 01:24:04 +08:00
29edbdb5e7
Story 1: Define shared sandbox execution contract Created new workspace package @joelclaw/agent-execution to unify ad-hoc types between Restate workflows and system-bus Inngest functions. Contract types defined: - SandboxExecutionRequest: workflow ID, request ID, story ID, task, agent identity, sandbox profile, base SHA, verification commands - SandboxExecutionResult: request ID, execution state, timestamps, duration, artifacts, error - ExecutionArtifacts: head SHA, touched files, patch, verification summary, log references - AgentIdentity: name, variant, model, program - StoryPlan, WavePlan, PrdExecutionPlan: PRD structure types - Lifecycle states: pending, running, completed, failed, cancelled - Sandbox profiles: workspace-write, danger-full-access - InboxResult: legacy format for backward compatibility Runtime validation: - Type guards for all contract shapes (isSandboxExecutionRequest, etc.) - JSON serialization round-trip tests - Schema validators with comprehensive test coverage Integration: - Restate prd-types.ts now re-exports from @joelclaw/agent-execution - system-bus agent-dispatch.ts imports InboxResult from shared package - system-bus serve.ts annotated with contract location comment - docs/architecture.md created with full system architecture overview Verification: - 31 tests pass (contract invariants, serialization, validation) - TypeScript compilation: clean - Biome formatting: applied This package provides the stable contract foundation for Story 2 (Restate wrapper), Story 3 (k8s Job launcher), and Story 4 (dispatch routing).
21 lines
385 B
JSON
21 lines
385 B
JSON
{
|
|
"name": "@joelclaw/agent-execution",
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"exports": {
|
|
".": "./src/index.ts",
|
|
"./types": "./src/types.ts",
|
|
"./schema": "./src/schema.ts"
|
|
},
|
|
"scripts": {
|
|
"test": "bun test",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bun": "latest"
|
|
},
|
|
"peerDependencies": {
|
|
"typescript": "^5.0.0"
|
|
}
|
|
}
|