feat(replay): add ReplayInterceptor for recorded tool replay#183
feat(replay): add ReplayInterceptor for recorded tool replay#183dgarson merged 16 commits intodgarson/forkfrom
Conversation
…elpers Add session-level replay manifest types distinct from the replay bundle format in src/replay/types.ts (Nate's work in PR #92). - ReplaySessionManifest: session metadata for replay-capable sessions - ReplaySessionEvent: session-level events in the replay lifecycle - ReplaySessionEventLog: collection of session events - Serialization helpers: parse/serialize functions - Factory functions: createReplaySessionId, createReplaySessionManifest, createReplaySessionEvent - exportSessionManifest stub: placeholder for future storage integration Add 43 focused tests covering: - Schema validation for all types - Serialization round-trips - Factory function behavior - Edge cases and error handling
…elpers (#98) Add session-level replay manifest types distinct from the replay bundle format in src/replay/types.ts (Nate's work in PR #92). - ReplaySessionManifest: session metadata for replay-capable sessions - ReplaySessionEvent: session-level events in the replay lifecycle - ReplaySessionEventLog: collection of session events - Serialization helpers: parse/serialize functions - Factory functions: createReplaySessionId, createReplaySessionManifest, createReplaySessionEvent - exportSessionManifest stub: placeholder for future storage integration Add 43 focused tests covering: - Schema validation for all types - Serialization round-trips - Factory function behavior - Edge cases and error handling
…elpers Add session-level replay manifest types distinct from the replay bundle format in src/replay/types.ts (Nate's work in PR #92). - ReplaySessionManifest: session metadata for replay-capable sessions - ReplaySessionEvent: session-level events in the replay lifecycle - ReplaySessionEventLog: collection of session events - Serialization helpers: parse/serialize functions - Factory functions: createReplaySessionId, createReplaySessionManifest, createReplaySessionEvent - exportSessionManifest stub: placeholder for future storage integration Add 43 focused tests covering: - Schema validation for all types - Serialization round-trips - Factory function behavior - Edge cases and error handling
…elpers (#98) Add session-level replay manifest types distinct from the replay bundle format in src/replay/types.ts (Nate's work in PR #92). - ReplaySessionManifest: session metadata for replay-capable sessions - ReplaySessionEvent: session-level events in the replay lifecycle - ReplaySessionEventLog: collection of session events - Serialization helpers: parse/serialize functions - Factory functions: createReplaySessionId, createReplaySessionManifest, createReplaySessionEvent - exportSessionManifest stub: placeholder for future storage integration Add 43 focused tests covering: - Schema validation for all types - Serialization round-trips - Factory function behavior - Edge cases and error handling
…ot into feat/deterministic-replay
|
Merged latest Validation run on branch head
This PR is now code-mergeable from a branch-content perspective. Remaining gate is CI/check completion on this new head commit. |
|
Follow-up check on head
Blocker: GitHub Actions Labeler workflow jobs ( Owner: Repo CI/Actions infrastructure (runner/queue availability for |
|
Merge-readiness follow-up (Deterministic Replay):
Blockers:
|
|
Final merge-readiness check (Deterministic Replay):
Conclusion: deterministic replay changes are validated and merged; no remaining code-side blockers. Pending Labeler jobs are non-blocking metadata automation. |
Summary
ReplayInterceptorwithoff|capture|replaymodes for deterministic tool-call capture/replaytool.callevents (including outcomes/errors) and support optional redaction of captured payloadscreateOpenClawCodingToolsvia optionalreplayInterceptorValidation
pnpm vitest run src/replay/interceptor.test.ts src/agents/pi-tools.replay.test.tspnpm oxlint --type-aware src/replay/interceptor.ts src/replay/interceptor.test.ts src/agents/pi-tools.replay.ts src/agents/pi-tools.replay.test.ts src/agents/pi-tools.ts src/replay/index.ts