feat(runner): provide shared local flow runtime deps#1374
feat(runner): provide shared local flow runtime deps#1374Mateus Zitelli (MateusZitelli) wants to merge 4 commits into
Conversation
|
Caution Review failedAn error occurred during the review process. Please try again later. WalkthroughThis PR introduces Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Re-apply flowRuntimeDeps/getInbox wiring onto main's runStagedFlows + buildFlowsRunDeps architecture (main refactored the inline run path away).
- await async createFlowRuntimeDeps in flowRuntimeDeps tests - add createFlowRuntimeDeps to runStagedFlows mock fixture - restore dropped describe brace in runAndroidFlow tests - update envVarDeps test to main's quote/round-trip dotenv contract - use type-only import for createFlowRuntimeDeps in runStagedFlows (lint)
|
Tested against node and binary versions only one addition needed is that some flows will call |
Summary
Stacked on #1372.
FlowRuntimeDeps.env-backed local implementations for:setEnvironmentVariablefetchLatestEnvironmentVariablesgetInboxsupport using either:EMAILER_URL, orflows run --env, and worker subprocessesWhy
Local flows need the same runtime capabilities regardless of architecture. Email inbox access should work for Android and web flows, and should not eagerly load/configure email dependencies unless a flow actually calls
getInbox.Stack
Tests
bun run lintbun run typecheckbun run test src/commands/flows/flowRuntimeDeps.test.ts src/commands/flows/envVarDeps.test.ts src/domains/runner/runWebFlow.test.ts src/domains/runner/runAndroidFlow.test.ts src/commands/flows/runDefaults.handle.test.ts src/commands/flows/hybridRun.test.ts src/commands/flows/runDefaults.reporterWiring.test.ts